La Ricerca Operativa ha lo scopo di fornire un supporto scientifico alle decisioni che si può sintetizzare nei seguenti passi fondamentali:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La Ricerca Operativa ha lo scopo di fornire un supporto scientifico alle decisioni che si può sintetizzare nei seguenti passi fondamentali:"

Transcript

1 Ricerca Operativa La Ricerca Operativa ha lo scopo di fornire un supporto scientifico alle decisioni che si può sintetizzare nei seguenti passi fondamentali: 1 Definizione del problema: c è un sistema che si può migliorare? 2 Osservazione e raccolta dati: quali sono le caratteristiche importanti di questo sistema? È possibile quantificarle? 3 Formulazione di un modello: come si possono tradurre queste informazioni in un problema matematico in modo da poter ottenere i risultati che si vogliono? 4 Scelta di un alternativa: qual è la soluzione di questo problema? 5 Analisi dei risultati: perché la soluzione trovata migliora il sistema? 6 Implementazione della decisione scelta: come si mette in pratica tutto questo? S. Sagratella (DIAG) March 4, / 23

2 Soluzione analitica VS soluzione numerica AMPL è un valido strumento per risolvere numericamente i modelli. PROBLEMA MODELLO AMPL SOLUZIONE Analitica SOLUTORE Analisi RISULTATO SOLUZIONE Numerica S. Sagratella (DIAG) March 4, / 23

3 Esempio 1 - Problema Una fabbrica metallurgica utilizza un laminatoio che prende delle lastre di acciaio e le trasforma in due tipologie di prodotti semi-lavorati: barre e bobine. Questi semi-lavorati vengono prodotti a differenti ritmi di produzione e vengono venduti a prezzi di mercato differenti: ritmi (ton / ora) prezzi ($) Barre Bobine Questa settimana la fabbrica deve decidere quante tonnellate di barre e di bobine produrre, in modo da non superare le 40 ore di attività, non superare la domanda di 6000 tonnellate di barre e 4000 tonnellate di bobine, e da ottenere il massimo profitto. S. Sagratella (DIAG) March 4, / 23

4 Esempio 1 - Modello Si indica con x il numero di tonnellate di barre prodotte e con y il numero di tonnellate di bobine prodotte: max 25x + 30y x y 40 0 x y 4000 S. Sagratella (DIAG) March 4, / 23

5 Esempio 1 - Soluzione Analitica La soluzione di questo problema di programmazione lineare è facile da individuare per via grafica ed è pari a (6000,1400) S. Sagratella (DIAG) March 4, / 23

6 Esempio 1 - Soluzione Numerica Nel prompt AMPL: ampl: var x; ampl: var y; ampl: maximize profitto: 25*x + 30*y; ampl: subject to tempo: (1/200)*x + (1/140)*y <= 40; ampl: subject to limite_barre: 0 <= x <= 6000; ampl: subject to limite_bobine: 0 <= y <= 4000; ampl: solve; MINOS 5.51: optimal solution found. 2 iterations, objective ampl: display x, y; x = 6000 y = 1400 ampl: quit; S. Sagratella (DIAG) March 4, / 23

7 Esempio 2 - Modello Supponiamo di considerare un problema il cui modello sia il seguente: min (x 1) 2 + y 2 x 2 y 1 Questo è un problema di ottimizzazione non lineare con funzione obiettivo quadratica e un vincolo quadratico. S. Sagratella (DIAG) March 4, / 23

8 Esempio 2 - Soluzione Analitica La soluzione di questo problema di programmazione non lineare è facile da individuare per via grafica ed è pari a (1,0) S. Sagratella (DIAG) March 4, / 23

9 Esempio 2 - Soluzione Numerica Con AMPL otteniamo una soluzione da interpretare: ampl: var x; ampl: var y; ampl: minimize obiettivo: (x-1)^2 + y^2; ampl: subject to vincolo: x^2 - y >= 1; ampl: solve; MINOS 5.51: optimal solution found. 14 iterations, objective e-13 Nonlin evals: obj = 39, grad = 38, constrs = 39, Jac = 38. ampl: display x, y; x = 1 y = e-07 ampl: quit; S. Sagratella (DIAG) March 4, / 23

10 Funzionamento di un solutore Un solutore comunica con AMPL, ricevendo in input il problema di ottimizzazione e i settaggi e restituendo in output tutto quello che riguarda la soluzione che ha trovato. AMPL dati iniziali: x SI x è suff. ottimo? NO scelta metodo Metodo 1 Metodo 2 Metodo 3 nuovo punto: x S. Sagratella (DIAG) March 4, / 23

11 Esempio 3 - Modello Supponiamo di considerare un problema il cui modello sia il seguente: min (x 1) 3 + y 3 x 3 6y 2 1 3x 4 2y 2 7 Questo è un problema di ottimizzazione non lineare, per cui è complessa una risoluzione analitica. S. Sagratella (DIAG) March 4, / 23

12 Esempio 3 - Soluzione Numerica Con AMPL inizialmente non otteniamo una soluzione: ampl: var x; ampl: var y; ampl: minimize obiettivo: -(x-1)^3 + y^3; ampl: subject to vincolo1: x^3-6*y^2 <= 1; ampl: subject to vincolo2: 3*x^4-2*y^2 >= 7; ampl: solve; MINOS 5.51: infeasible problem (or bad starting guess). 32 iterations Nonlin evals: obj = 80, grad = 80, constrs = 80, Jac = 80. S. Sagratella (DIAG) March 4, / 23

13 Esempio 3 - Soluzione Numerica Il solutore MINOS ci suggerisce che la difficoltà potrebbe essere data dal punto iniziale scelto. Di default il punto iniziale è (0,0) che per questo problema non è ammissibile. Proviamo a cambiarlo impostando un punto ammissibile: ampl: let x:= 2; ampl: let y:= 2; ampl: solve; MINOS 5.51: optimal solution found. 31 iterations, objective Nonlin evals: obj = 95, grad = 94, constrs = 95, Jac = 94. ampl: display x, y; x = y = S. Sagratella (DIAG) March 4, / 23

14 Insiemi Sintassi AMPL Gli insiemi definiscono gli elementi in base ai quali si indicizzano variabili, parametri e vincoli del modello. È necessario distinguere tra dichiarazione e assegnazione di un insieme 1 dichiarazione(file.mod): set NomeInsieme; 2 assegnazione(file.dat): set NomeInsieme:= e1 e2... em; Esistono diversi tipi di insiemi 1 insiemi non ordinati 2 insiemi numerici 3 insiemi ordinati 4 insiemi ordinati e ciclici S. Sagratella (DIAG) March 4, / 23

15 Sintassi AMPL Dichiarazione Insiemi 1 insieme non ordinato: set NomeInsieme; 2 insieme numerico: set NomeInsieme:= inizio.. fine by intervallo; 3 insieme ordinato: set NomeInsieme ordered; 4 insieme ordinato e ciclico: set NomeInsieme circular; N.B.: gli insiemi numerici non hanno bisogno di un assegnazione S. Sagratella (DIAG) March 4, / 23

16 Operazioni su Insiemi Sintassi AMPL Operatori e funzioni su insiemi generici funzione A union B A inter B A diff B A symdiff B card(a) risultato insieme di elementi che stanno in A o B insieme di elementi che stanno sia in A che in B insieme di elementi che stanno in A ma non in B insieme di elementi che stanno in A on in B ma non in entrambi numero di elementi che stanno in A Operatori e funzioni su insiemi ordinati funzione risultato first(a) primo elemento di A last(a) ultimo elemento di A next(a,a) elemento di A dopo di a prev(a,a) elemento di A prima di a next(a,a,k) k-esimo elemento di A dopo di a prev(a,a,k) k-esimo elemento di A prima di a ord(a,a) posizione di a in A ord0(a,a) come ord(a,a), ma restituisce 0 se a non è in A member(k,a) elemento di A in k-esima posizione S. Sagratella (DIAG) March 4, / 23

17 Sintassi AMPL Insiemi impliciti Espressioni di indicizzazione permettono di definire insieme impliciti ad-hoc utili nella definizione di parametri, di vincoli, della funzione obiettivo e di altri insiemi, senza dover dare un nome esplicito all insieme. coppie ordinate di elementi, tratti rispettivamente da A e da B {A,B} {i in A, j in B} coppie ordinate di elementi, entrambi da A {i in A,j in A} elementi di A tali che il valore associato nel vettore costi >= 10 {i in A: costi[i] >= 10} S. Sagratella (DIAG) March 4, / 23

18 Parametri Sintassi AMPL I parametri rappresentano i dati del problema. I valori numerici non vengono modificati dal solutore. Ovviamente a monte e a valle del processo di risoluzione é possibile modificare esplicitamente tali valori. dichiarazione(file.mod): set PROD; set ZONA; param T; param costi{prod}; param prezzo{prod,zona}; param domanda{prod,zona,1..t}; uso:...t..;...costi[p]...;# p in PROD...prezzo[p,z]...;# p in PROD e z in ZONA...domanda[p,z,t]...;# " " t in 1..T S. Sagratella (DIAG) March 4, / 23

19 Parametri Sintassi AMPL assegnazione(file.dat): set PROD:= p1 p2; set Zona:= z1 z2; param T:=2; param costi:= p1 5 p2 4 ; param prezzo: z1 z2:= p1 3 5 p2 6 4; param domanda:= [*,*,1]: z1 z2:= p p [*,*,2]: z1 z2:= p p ; S. Sagratella (DIAG) March 4, / 23

20 Variabili Sintassi AMPL Le variabili rappresentano le incognite del modello, i cui valori numerici vengono determinati dal solutore su una particolare istanza del modello. dichiarazione(file.mod): set PROD; set OPERAI; param dom{prod}; var Tempo; var Num{PROD}integer; var Ass{PROD,OPERAI} binary; var Quantita{p in PROD}>=0, <=dom[p]; uso: come per i parametri assegnazione (opzionale)(file.dat e file.run): let Tempo:=6; blocco/sblocco(opzionale)(file.dat e file.run): fix Tempo:=4; unfix Tempo; S. Sagratella (DIAG) March 4, / 23

21 Sintassi AMPL Espressioni 1 Le espressioni sono fondamentali nella costruzione della funzione obiettivo e dei vincoli, come anche per imporre condizioni aggiuntive sui parametri e sulle variabili. operatori simbolo tipo operandi tipo risultato + - * / div ^ mod numerico numerico < <= ==!= > >= numerico logico if-then-else logico numerico or and not logico logico S. Sagratella (DIAG) March 4, / 23

22 Espressioni 2 Sintassi AMPL funzioni funzione abs(x) floor(x) ceil(x) sqrt(x) log(x) exp(x) risultato valore assoluto di x approssimazione intera per difetto di x approssimazione intera per eccesso di x radice quadrata x logaritmo naturale di x esponeziale di x funzioni indicizzate funzione sum{a in A}... prod{a in A}... min{a in A}... max{a in A}... risultato somma estesa ai soli elementi in A produttoria estesa ai soli elementi in A minimo esteso ai soli elementi in A massimo esteso ai soli elementi in A S. Sagratella (DIAG) March 4, / 23

23 Sintassi AMPL Vincoli e funzione obiettivo 1 Vincoli I vincoli del modello definiscono le carattestiche che una possibile soluzione deve soddisfare dichiarazione vincolo subject to nomevincolo: espressione_logica; 2 Funzione obiettivo La funzione obiettivo definisce un ranking delle soluzioni ammissibili dichiarazione(file.mod): minimize obj1: espressione_aritmetica; maximize obj2: espressione_aritmetica; scelta obiettivo(se più obiettivi)(file.dat e file.run): objective obj2; S. Sagratella (DIAG) March 4, / 23

AMPL Sintassi ed Esempi

AMPL Sintassi ed Esempi Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Sintassi Elementi di un problema Insiemi Parametri Variabili Funzione Obiettivo Vincoli Dati Insiemi Gli insiemi definiscono

Dettagli

AMPL Sintassi ed Esempi

AMPL Sintassi ed Esempi Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Sintassi Elementi di un problema Insiemi Parametri Variabili Funzione Obiettivo Vincoli Dati Insiemi Gli insiemi definiscono

Dettagli

Gli insiemi e i parametri in AMPL

Gli insiemi e i parametri in AMPL 2 Gli insiemi e i parametri in AMPL Come abbiamo visto nel capitolo precedente, è molto utilie scrivere il modello in forma parametrica. Questo, nella sostanza, significa scrivere il modello nel file.mod

Dettagli

Scopo del laboratorio

Scopo del laboratorio p. 1/1 Scopo del laboratorio Imparare ad usare programmi che implementino metodi di ottimizzazione: simplesso, branch and bound ecc. utilizzarli per risolvere un problema proposto Modellatori Solver p.

Dettagli

Miscelazione di benzine

Miscelazione di benzine Miscelazione di benzine Una raffineria deve miscelare 4 tipi di petrolio grezzo per ottenere 3 tipi di benzina. La tabella seguente mostra la massima quantità disponibile per ogni tipo di petrolio grezzo

Dettagli

Ottimizzazione Combinatoria

Ottimizzazione Combinatoria Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2-22 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università i di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

Robert Fourer, David M. Gay, Brian W. Kernighan. AMPL A Modeling Language For Mathematical Programming, Second Edition, Duxbury Thomson, 2003

Robert Fourer, David M. Gay, Brian W. Kernighan. AMPL A Modeling Language For Mathematical Programming, Second Edition, Duxbury Thomson, 2003 Introduzione ad AMPL Come ampiamente discusso nel capitolo precedente, l approccio modellistico rappresenta un potente strumento per la soluzione di un problema di decisione. In particolare, rappresentare

Dettagli

Progetto e ottimizzazione di reti 2

Progetto e ottimizzazione di reti 2 Progetto e ottimizzazione di reti 2 Esercitazione AMPL A.A. 29-2 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università di Roma La Sapienza Dipartimento di Informatica

Dettagli

Progetto di rete con unica sorgente e costi fissi

Progetto di rete con unica sorgente e costi fissi Progetto di rete con unica sorgente e costi fissi Si consideri la topologia di rete data dal grafo G = (V,E) in figura. Ogni nodo i V = {1...n} rappresenta un router connesso ad una rete fissa ed ogni

Dettagli

AMPL: Esempi e Comandi Avanzati

AMPL: Esempi e Comandi Avanzati AMPL: Esempi e Dipartimento di Matematica Università di Padova Corso di Laurea Matematica AMPL: Esempi e Outline AMPL: Esempi e AMPL: Esempi e Script per Operazioni Complesse Ciclo For for {e in INSIEME}{...}

Dettagli

Ottimizzazione Combinatoria

Ottimizzazione Combinatoria Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2-22 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università i di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

Appunti delle Esercitazioni di Ottimizzazione V.O. AMPL: A Mathematical Programming Language

Appunti delle Esercitazioni di Ottimizzazione V.O. AMPL: A Mathematical Programming Language Appunti delle Esercitazioni di Ottimizzazione V.O. AMPL: A Mathematical Programming Language a cura di G. Liuzzi and V. Piccialli a.a. 2004-2005 liuzzi@dis.uniroma1.it, http://www.dis.uniroma1.it/ liuzzi

Dettagli

AMPL: Esempi e Comandi Avanzati

AMPL: Esempi e Comandi Avanzati Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Comandi Avanzati Script per Operazioni Complesse Ciclo For for {e in INSIEME}{... } Ciclo Repeat While (termina se espressione

Dettagli

Pianificazione Multiperiodo

Pianificazione Multiperiodo Pianificazione Multiperiodo Si vuole pianificare la produzione di tre prodotti A 1, A 2, A 3, su un orizzonte temporale di quattro mesi, da Gennaio ad Aprile. La domanda cambia non solo da un prodotto

Dettagli

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Progetto e ottimizzazione di reti 2

Progetto e ottimizzazione di reti 2 Progetto e ottimizzazione di reti 2 Esercitazione AMPL A.A. 2009-2010 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università di Roma La Sapienza Dipartimento di Informatica

Dettagli

Ottimizzazione dei Sistemi Complessi

Ottimizzazione dei Sistemi Complessi 1 Martedì 17 Maggio 2016 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Programmazione con incertezza Una società di autonoleggio dispone (attualmente, oggi) di 50 macchine tutte dislocate

Dettagli

Ottimizzazione Combinatoria

Ottimizzazione Combinatoria Ottimizzazione Combinatoria Esercitazione AMPL A.A. 29-2 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

Introduzione a Matlab

Introduzione a Matlab Matlab è: Abbreviazione di MATrix LABoratory Ambiente di sviluppo per il calcolo numerico (non indicato per il calcolo simbolico) Linguaggio di programmazione interpretato (non compilato) 1 Matlab è inoltre:

Dettagli

Assegnamento generalizzato: generazione di piani di taglio e branch-and-cut

Assegnamento generalizzato: generazione di piani di taglio e branch-and-cut Assegnamento generalizzato: generazione di piani di taglio e branch-and-cut Riprendiamo il problema di assegnamento generalizzato considerato a esercitazione nell esercizio 4.4: max p ij x ij s.t. i I,j

Dettagli

Lezione 4: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive (2p) Venerdì 7 Ottobre 2009

Lezione 4: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive (2p) Venerdì 7 Ottobre 2009 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 2009-2010 Lezione 4: La

Dettagli

Esercitazioni di Progetto di Reti di Telecomunicazioni. Anno Accademico Semestre

Esercitazioni di Progetto di Reti di Telecomunicazioni. Anno Accademico Semestre Esercitazioni di Progetto di Reti di Telecomunicazioni Anno Accademico 2007-2008 2 Semestre Per contattarmi Massimo Tornatore Int. 3691, Ufficio 329 tornator@elet.polimi.it http://networks.cs.ucdavis.edu/~tornatore

Dettagli

Gestione Impresa. Mese 1 2 3 4 5 6 Unità richieste 700 600 500 800 900 800

Gestione Impresa. Mese 1 2 3 4 5 6 Unità richieste 700 600 500 800 900 800 Gestione Impresa Un impresa di produzione produce un solo tipo di merce. Ci sono 40 operai, ciascuno dei quali produce 20 unità di merce al mese. La domanda fluttua nel corso di un semestre secondo la

Dettagli

Problema del Set Covering (PLI)

Problema del Set Covering (PLI) Problema del Set Covering (PLI) Una società deve decidere sulla costruzione di alcuni nuovi impianti per la depurazione di acque in un distretto di 5 città C i, i 1... 5. Ha a disposizione 12 aree A i,

Dettagli

Programmazione Matematica Lineare

Programmazione Matematica Lineare Programmazione Matematica Lineare Problema di Programmazione Matematica (PM) (problema di ottimizzazione) max f(x) s.t. x R n vettore delle variabili decisionali insieme delle soluzioni ammissibili funzione

Dettagli

Il linguaggio di modellizzazione algebrica AMPL

Il linguaggio di modellizzazione algebrica AMPL 4 Il linguaggio di modellizzazione algebrica AMPL Come ampiamente discusso, l approccio modellistico rappresenta un potente strumento per la soluzione di un problema di decisione. In particolare, rappresentare

Dettagli

Modelli di Programmazione Matematica e introduzione ad AMPL

Modelli di Programmazione Matematica e introduzione ad AMPL 1 Modelli di Programmazione Matematica e introduzione ad AMPL Come accennato nell introduzione, all interno della Ricerca Operativa, un ruolo di fondamentale importanza è svolto dalla Programmazione Matematica

Dettagli

Risoluzione del rilassamento continuo del problema del commesso viaggiatore

Risoluzione del rilassamento continuo del problema del commesso viaggiatore Risoluzione del rilassamento continuo del problema del commesso viaggiatore Sia G = (V,E) un grafo orientato completo, con un costo c ij R associato a ciascun arco (i, j) E. Si consideri la seguente formulazione

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Appunti delle Esercitazione di Ricerca Operativa AMPL Plus v1.6

Appunti delle Esercitazione di Ricerca Operativa AMPL Plus v1.6 Appunti delle Esercitazione di Ricerca Operativa AMPL Plus v1.6 acuradig.liuzzi a.a. 2001-2002 1 Uso di variabili e parametri a 3 o più dimensioni: un modello di pianificazione Negli esempi precedenti

Dettagli

Il linguaggio di modellizzazione algebrica AMPL

Il linguaggio di modellizzazione algebrica AMPL Il linguaggio di modellizzazione algebrica AMPL Come ampiamente discusso, l approccio modellistico rappresenta un potente strumento per la soluzione di un problema di decisione. In particolare, rappresentare

Dettagli

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4

Macchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4 Macchine parallele M 1 J 1 J 2 LAVORI M 2 J 3 J 4 M 3 Macchine parallele Scheduling su macchine parallele scorrelate R C max Descrizione del problema n lavori devono essere processati da m macchine diverse

Dettagli

Linguaggi di modellizzazione

Linguaggi di modellizzazione p. 1/5 Linguaggi di modellizzazione Come visto, il primo passo per risolvere un problema di decisione consiste nel formularne il modello matematico. Una volta definito il modello matematico lo dobbiamo

Dettagli

126 APPROFONDIMENTI SUI PARAMETRI. SCRIPT IN AMPL

126 APPROFONDIMENTI SUI PARAMETRI. SCRIPT IN AMPL 126 APPROFONDIMENTI SUI PARAMETRI. SCRIPT IN AMPL Esempio 8.3.2 Una fabbrica produce divani in tessuto acquistando da un magazzino all ingrosso i quantitativi di tessuto che gli occorrono settimanalmente.

Dettagli

Modelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli

Modelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli Ricerca Operativa 2. Modelli di Programmazione Lineare Modelli di programmazione lineare Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli Sotto queste ipotesi (come

Dettagli

Ottimizzazione Combinatoria

Ottimizzazione Combinatoria Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2009-2010 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università di Roma La Sapienza Dipartimento di Informatica e

Dettagli

Laboratorio di Matlab

Laboratorio di Matlab Laboratorio di Matlab Alessandro Formaglio Dipartimento di Ingegneria dell Informazione, Università di Siena alex@dii.unisi.it http://www.dii.unisi.it/ control/matlab/labmatlab.html Martedì 7 Luglio 2009

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

Progetto e ottimizzazione di reti 2

Progetto e ottimizzazione di reti 2 Progetto e ottimizzazione di reti 2 Esercitazione AMPL A.A. 29-2 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma.it Università di Roma La Sapienza Dipartimento di Informatica

Dettagli

AMPL: Esempi. F. Rinaldi. Corso di Laurea Matematica. Dipartimento di Matematica Università di Padova. Esempi di Modellazione in AMPL

AMPL: Esempi. F. Rinaldi. Corso di Laurea Matematica. Dipartimento di Matematica Università di Padova. Esempi di Modellazione in AMPL Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Esempi di Modellazione in AMPL Esempio 2 Problema della Dieta In questo problema é data una lista di cibi, a ciascuno

Dettagli

Ottimizzazione dei Sistemi Complessi

Ottimizzazione dei Sistemi Complessi 1 Lunedì 16 Maggio 2016 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Modalità base 1 Parte scritta, 4 esercizi riguardanti le tematiche trattate nelle lezioni: Metodi senza derivate; Metodi

Dettagli

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem Introduzione al Column Generation Caso di Studio: il Bin Packing Problem November 15, 2014 1 / 26 Introduzione Il column generation è una metodologia che può essere usata per risolvere problemi di ottimizzazione

Dettagli

OTTIMIZZAZIONE in unione con OTTIMIZZAZIONE DISCRETA e COMPLEMENTI DI RICERCA OPERATIVA

OTTIMIZZAZIONE in unione con OTTIMIZZAZIONE DISCRETA e COMPLEMENTI DI RICERCA OPERATIVA Corsi di Laurea in Ingegneria Matematica, Informatica, dell Automazione e Telecomunicazioni OTTIMIZZAZIONE in unione con OTTIMIZZAZIONE DISCRETA e COMPLEMENTI DI RICERCA OPERATIVA Edoardo Amaldi DEIB -

Dettagli

Breve guida all uso di AMPL

Breve guida all uso di AMPL Breve guida all uso di AMPL Renato Bruni AMPL (A Modeling Language for Mathematical Programming) è un linguaggio di modellazione per la programmazione matematica. Serve ad esprimere un problema di ottimizzazione

Dettagli

Sistemi di Elaborazione dell Informazione 170. Caso Non Separabile

Sistemi di Elaborazione dell Informazione 170. Caso Non Separabile Sistemi di Elaborazione dell Informazione 170 Caso Non Separabile La soluzione vista in precedenza per esempi non-linearmente separabili non garantisce usualmente buone prestazioni perchè un iperpiano

Dettagli

1 Modelli di Programmazione Lineare Intera. 2 Variabili intere per rappresentare quantità indivisibili

1 Modelli di Programmazione Lineare Intera. 2 Variabili intere per rappresentare quantità indivisibili 1 Modelli di Programmazione Lineare Intera Quando tutte le variabili di un problema di Programmazione Lineare sono vincolate ad assumere valori interi, si parla di Programmazione Lineare Intera. Moltissimi

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

3.3 Problemi di PLI facili

3.3 Problemi di PLI facili 3.3 Problemi di PLI facili Consideriamo un generico problema di PLI espresso in forma standard min{c t x : Ax = b, x Z n +} (1) dove A Z m n con n m, e b Z m. Supponiamo che A sia di rango pieno. Sia P

Dettagli

Problemi di Localizzazione Impianti

Problemi di Localizzazione Impianti Sapienza Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Problemi di Localizzazione Impianti Renato Bruni bruni@dis.uniroma1.it Il materiale presentato è derivato

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Esercitazioni di Algoritmi e Strutture Dati

Esercitazioni di Algoritmi e Strutture Dati Esercitazioni di Algoritmi e Strutture Dati I esercitazione, 2/03/2016 Tong Liu 1 OBIETTIVI DEGLI ESERCITAZIONI Comprendere meglio i concetti fondamentali Presentare gli argomenti rilevanti Arrivare al

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione

Dettagli

3.4 Metodo di Branch and Bound

3.4 Metodo di Branch and Bound 3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land

Dettagli

Matematica per l economia

Matematica per l economia Matematica per l economia Dott. Alessia Russo 28-29-30 Settembre 2010 Dott. Alessia Russo () Matematica per l economia 28-29-30 Settembre 2010 1 / 10 Terza lezione Equazioni - Equazioni lineari e sistemi

Dettagli

ESAME di OTTIMIZZAZIONE - Compito A Corso di Laurea in Ingegneria Gestionale 2 o anno

ESAME di OTTIMIZZAZIONE - Compito A Corso di Laurea in Ingegneria Gestionale 2 o anno ESAME di OTTIMIZZAZIONE 12 gennaio pomeriggio 2005 ESAME di OTTIMIZZAZIONE - Compito A Corso di Laurea in Ingegneria Gestionale 2 o anno Cognome : Nome : VALUTAZIONE Per gli esercizi 1,2,3,4 le risposte

Dettagli

Ottimizzazione Combinatoria

Ottimizzazione Combinatoria Ottimizzazione Combinatoria Esercitazione AMPL A.A. 2010-20112011 Esercitazione a cura di Silvia Canale contatto e-mail: canale@dis.uniroma1.it Università i di Roma La Sapienza Dipartimento di Informatica

Dettagli

Il linguaggio di modellizzazione algebrica AMPL

Il linguaggio di modellizzazione algebrica AMPL 4 Il linguaggio di modellizzazione algebrica AMPL Come ampiamente discusso, l approccio modellistico rappresenta un potente strumento per la soluzione di un problema di decisione. In particolare, rappresentare

Dettagli

Introduzione. AMPL Introduzione. F. Rinaldi. Dipartimento di Matematica Università di Padova. Corso di Laurea Matematica. F. Rinaldi AMPL Introduzione

Introduzione. AMPL Introduzione. F. Rinaldi. Dipartimento di Matematica Università di Padova. Corso di Laurea Matematica. F. Rinaldi AMPL Introduzione Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Introduzione Utilizzo di un Solver Definizione Un solver (o risolutore) è un software che riceve in input una descrizione

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

p. 1/22 IBM ILOG CPLEX SIMPLEX implementato in C.

p. 1/22 IBM ILOG CPLEX SIMPLEX implementato in C. p. 1/22 IBM ILOG CPLEX SIMPLEX implementato in C. p. 1/22 IBM ILOG CPLEX SIMPLEX implementato in C. Sono implementati anche altri metodi per trattare diversi problemi di ottimizzazione. p. 1/22 IBM ILOG

Dettagli

INTRODUZIONE A LINGO. Dispense a cura di Antonio Tiano

INTRODUZIONE A LINGO. Dispense a cura di Antonio Tiano INTRODUZIONE A LINGO Dispense a cura di Antonio Tiano 1 LINGO (LINear Generalized Optimization) E un software che consente di : Risolvere problemi di ottimizzazione di vario tipo (PL, PQ, PNL) in presenza

Dettagli

3.6 Metodi basati sui piani di taglio

3.6 Metodi basati sui piani di taglio 3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili

Dettagli

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab Metodi di Analisi dei Dati Sperimentali AA /2010 Pier Luca Maffettone Elementi di Matlab Sommario Introduzione Variabili Manipolazione di elementi Creazione di vettori/matrici Operazioni elementari Funzioni

Dettagli

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities L. De Giovanni M. Di Summa In questa lezione introdurremo una classe di disuguaglianze, dette cover inequalities, che permettono di

Dettagli

1 Modelli di Programmazione Lineare Intera. 2 Variabili intere per rappresentare quantità indivisibili

1 Modelli di Programmazione Lineare Intera. 2 Variabili intere per rappresentare quantità indivisibili 1 Modelli di Programmazione Lineare Intera Quando tutte le variabili di un problema di Programmazione Lineare sono vincolate ad assumere valori interi, si parla di Programmazione Lineare Intera. Moltissimi

Dettagli

AMPL: Risoluzione di Problemi Nonlineari

AMPL: Risoluzione di Problemi Nonlineari Dipartimento di Matematica Università di Padova Corso di Laurea Matematica Outline Risoluzione Problemi Non Lineari Generazione Sequenza Randomica investimenti2.run # cancella eventuali dati memorizzati

Dettagli

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++ Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Trasformazione di Problemi Non Lineari

Trasformazione di Problemi Non Lineari Capitolo 2 Trasformazione di Problemi Non Lineari 2.1 Trasformazione in problema di PL In questa sezione, verranno presentati tre classi di problemi di programmazione non lineare che, attraverso l uso

Dettagli

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

Uso avanzato di MATLAB

Uso avanzato di MATLAB Uso avanzato di MATLAB Miscione Giuseppe g.miscione@virgilio.it Indice Funzioni matematiche Funzioni di arrotondamento Disegnare funzioni Creare script Controllo del flusso di esecuzione 1 Funzioni matematiche

Dettagli

Tipi di dato strutturati: Array

Tipi di dato strutturati: Array Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o

Dettagli

Dinamica e Controllo dei Processi Energetici. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Dinamica e Controllo dei Processi Energetici. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab Dinamica e Controllo dei Processi Energetici AA 2009/ Pier Luca Maffettone Elementi di Sommario Introduzione Variabili Manipolazione di elementi Creazione di vettori/matrici Operazioni elementari Funzioni

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 20/202 Lezione 6-8 Rappresentazione di funzioni non lineari: - Costi fissi - Funzioni lineari a tratti Funzioni obiettivo non lineari:

Dettagli

Spesso sono definite anche le seguenti operazioni:

Spesso sono definite anche le seguenti operazioni: Code a priorità Una coda a priorità è una struttura dati astratta che permette di rappresentare un insieme di elementi su cui è definita una relazione d ordine. Sono definite almeno le seguenti operazioni:

Dettagli

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE COMPLESSITÀ DEGLI ALGORITMI L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile In base a quali parametri

Dettagli

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs Lezioni di Ricerca Operativa Dott. F. Carrabs.. 009/00 Lezione 6: - mmissibilità di un vincolo - Vincoli alternativi - Vincoli alternativi a gruppi - Rappresentazione di funzioni non lineari: Costi fissi

Dettagli

Excel: una piattaforma facile per l ottimizzazione. Excel ha un toolbox di ottimizzazione: Risolutore

Excel: una piattaforma facile per l ottimizzazione. Excel ha un toolbox di ottimizzazione: Risolutore Excel: una piattaforma facile per l ottimizzazione Excel ha un toolbox di ottimizzazione: Risolutore Il problema di produzione con Excel Consideriamo il foglio Excel Variabili di decisione reali c8,d8

Dettagli

Risoluzione di problemi ingegneristici con Excel

Risoluzione di problemi ingegneristici con Excel Risoluzione di problemi ingegneristici con Excel Problemi Ingegneristici Calcolare per via numerica le radici di un equazione Trovare l equazione che lega un set di dati ottenuti empiricamente (fitting

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate 5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate Consideriamo il generico problema di PNL min f (x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n dove f e le c i sono di classe

Dettagli

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi

Ottimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi Università degli Studi di Roma La Sapienza Ottimizzazione nella Gestione dei Progetti - Esercitazione : calcolo degli schedule ottimi di FABIO D ANDREAGIOVANNI Dipartimento di Informatica e Sistemistica

Dettagli

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Laboratorio di Programmazione A.A. 2000\2001 La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Editazione a cura di: de Pinto E.

Dettagli

ESERCITAZIONE 1 ELEMENTI DI MATEMATICA

ESERCITAZIONE 1 ELEMENTI DI MATEMATICA ESERCITAZIONE ELEMENTI DI MATEMATICA Potenze e radicali. Potenze: La potenza n-esima di un numero x, x n, si calcola moltiplicando x per se stesso n volte. Ad esempio, elevare alla quinta significa moltiplicare

Dettagli

Uso del linguaggio di modellazione AMPL

Uso del linguaggio di modellazione AMPL Sapienza Sapienza Universitàdi Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Uso del linguaggio di modellazione AMPL Renato Bruni bruni@dis.uniroma1.it www.dis.uniroma1.it/~bruni

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

Dettagli

Universita degli Studi di Siena

Universita degli Studi di Siena Universita degli Studi di Siena Facolta di Ingegneria Dispense del corso di Sistemi di Supporto alle Decisioni I L algoritmo per la risoluzione di problemi di programmazione dinamica Chiara Mocenni Corso

Dettagli

Pianificazione di Produzione in DEC

Pianificazione di Produzione in DEC Pianificazione di Produzione in DEC L esempio considerato qui è un problema reale che la Digital Equipment Corporation (DEC) ha dovuto affrontare nell autunno del 1988 per preparare la pianificazione di

Dettagli

1 Breve introduzione ad AMPL

1 Breve introduzione ad AMPL 1 Breve introduzione ad AMPL Il primo passo per risolvere un problema reale attraverso strumenti matematici consiste nel passare dalla descrizione a parole del problema al modello matematico dello stesso.

Dettagli

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate. min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate. min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n 5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate Consideriamo il generico problema di PNL min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n dove f e le c i sono di classe

Dettagli

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3. COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 x 1 + x 2 2 2x 1 + x 2 x 1 0 x 2 0 Si trasformi questo problema in forma standard e lo si

Dettagli

Ricerca Operativa. Ricerca Operativa p. 1/2

Ricerca Operativa. Ricerca Operativa p. 1/2 Ricerca Operativa Ricerca Operativa p. 1/2 Ricerca Operativa Disciplina basata sulla modellizzazione e la risoluzione tramite strumenti automatici di problemi di decisione complessi. In tali problemi la

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

Dettagli