Miscelazione di benzine



Похожие документы
Pianificazione Multiperiodo

Problema del Trasporto

Uso avanzato di AMPL. Renato Bruni. prendendo come esempio il problema di Localizzazione di Impianti.

Problema del Trasporto. Container vuoti Verona 10 Perugia 12 Roma 20 Pescara 24 Taranto 18 Lamezia 40

AMPL: Risoluzione di Problemi Nonlineari Parte 2

Problema del Set Covering (PLI)

Ottimizzazione Combinatoria

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

126 APPROFONDIMENTI SUI PARAMETRI. SCRIPT IN AMPL

Risoluzione del rilassamento continuo del problema del commesso viaggiatore

AMPL: Esempi e Comandi Avanzati

Progetto e ottimizzazione di reti 2

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

Pianificazione di Produzione in DEC

Prova di Ricerca Operativa - canale (A-L)

Gestione Impresa. Mese Unità richieste

Problemi di Localizzazione Impianti

Appunti delle Esercitazione di Ricerca Operativa AMPL Plus v1.6

TSP con eliminazione di sottocicli

Ricerca Operativa e Logistica

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

Modello di miscelazione per il corso di Laboratorio di Ricerca Operativa

Modellazione GAMS. Sintassi di Base, Esempi. Domenico Salvagnin

Risoluzione del rilassamento continuo del problema del commesso viaggiatore

Uso del linguaggio di modellazione AMPL

Esame di Ricerca Operativa del 03/09/2015

TSP con eliminazione di sottocicli

Ottimizzazione Combinatoria

AMPL Sintassi ed Esempi

Ricerca Operativa e Logistica

Ricerca Operativa. Analisi della sensitività in AMPL. Andrea Raiconi

Linguaggi di modellizzazione

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

Un esempio di applicazione della programmazione lineare intera: il Sudoku

Problema della produzione dei monitor

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs

Altri esempi e introduzione alla Programmazione Lineare Intera

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

Esercizio 1. Soluzione

Un esempio di applicazione della PLI: il Sudoku

LINGO -

Progetto e ottimizzazione di reti 2

Facoltà di Ingegneria dell Informazione, Informatica e Statistica. Corso di Laurea in Ingegneria Informatica e Automatica. Esercizi svolti di

Esercitazione R.O. 2. Andrea Raiconi A.A

Elementi di un modello di Programmazione Matematica

Problemi di localizzazione di servizi (Facility Location Problems)

AMPL Sintassi ed Esempi

Problema Determinare la miscelazione ottimale delle materie prime in modo da massimizzare il profitto complessivo

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: analisi di sensitività

Introduzione all uso di FICO Xpress. Metodi di Ottimizzazione per la Logistica e la Produzione

Data Science A.A. 2018/2019

Транскрипт:

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 (in barili) e il corrispondente costo (Euro/barile). Tipo di petrolio Disponibilità Costo 1 5000 9 2 2400 7 3 4000 12 4 1500 6 La specificazione tecnica di ogni tipo di benzina, vincola la quantità usata di ogni petrolio per la sua produzione. La tabella seguente mostra questo vincolo di miscelazione insieme al rispettivo prezzo di vendita (Euro/barile). Tipo di benzina Petrolio richiesto Prezzo A almeno 20% di tipo 2 12 al massimo 30% di tipo 3 B almeno 40% di tipo 3 18 C al massimo 50% di tipo 2 10 Formulare in termini di programmazione lineare il problema di determinare come la raffineria deve miscelare i diversi olii in modo tale da massimizzare il profitto. Documento preparato da G. Carello, B. Addis e C. Iuliano 1

Schema del modello in AMPL (file miscelazione.mod) # SETS set I set J # PARAMS param c{i} param b{i} param r{j} param q_max{i,j} default 1 param q_min{i,j} default 0 data Dati (file miscelazione.dat), valore ottimo: 96000 set I := 1 2 3 4 set J := A B C param c := 1 9 2 7 3 12 4 6 param b := 1 5000 2 2400 3 4000 4 1500 param r := A 12 B 18 C 10 param q_max := 3 A 0.3 2 C 0.5 param q_min := 2 A 0.2 3 B 0.4 Documento preparato da G. Carello, B. Addis e C. Iuliano 2

Soluzione Formulazione Insiemi I: petroli J: benzine Parametri c i : costo per barile dell i esimo tipo di petrolio, con i I b i : massima disponibilità dell i-esimo tipo di petrolio, con i I r j : prezzo di vendita per barile del j esimo tipo di benzina, con j J qij max : massima quantità (in percentuale) dell i-esimo tipo di petrolio per il j-esimo tipo di benzina, con i I e j J qij min : minima quantità (in percentuale) dell i-esimo tipo di petrolio per il j-esimo tipo di benzina, con i I e j J Variabili decisionali x ij : quantità dell i-esimo tipo di petrolio nel j-esimo tipo di benzina, con i I e j J y j : quantità venduta del j-esimo tipo di benzina, con j J Modello min s.t. r j y j j J i I,j J c i x ij (profitto) x ij b i i I (disponibilità) j J y j = x ij i I j J (conservazione) x ij qij max y j i I, j J (quantità massima) x ij qij min y j i I, j J (quantità minima) x ij, y j 0 i I, j J (variabili non negative) Documento preparato da G. Carello, B. Addis e C. Iuliano 3

Effettuando la sostituzione delle variabili y j, con j J, si ottiene il modello alternativo: Modello min s.t. i I,j J (r j c i )y j (profitto) x ij b i i I (disponibilità) j J x ij q max ij x ij q min ij x i j i I, j J (quantità massima) i I x i j i I, j J (quantità minima) i I x ij, y j 0 i I, j J (var. non negative) Notare il differente indice nella sommatoria dei vincoli di blending. Documento preparato da G. Carello, B. Addis e C. Iuliano 4

Modello in AMPL (file miscelazione.mod) # SETS set I set J # PARAMS param c{i} param b{i} param r{j} param q_max{i,j} default 1 param q_min{i,j} default 0 # VARS var x{i,j} >= 0 var y{j} >= 0 # OBJECTIVE FUNCTION maximize profitto: sum{j in J} r[j] * y[j] - sum{i in I, j in J} c[i] * x[i,j] # CONSTRAINTS subject to disponibilita{i in I}: sum{j in J} x[i,j] <= b[i] subject to conservazione{j in J}: y[j] = sum{i in I} x[i,j] subject to quantita_max{i in I, j in J}: x[i,j] <= q_max[i,j] * y[j] subject to quantita_min{i in I, j in J}: x[i,j] >= q_min[i,j] * y[j] Esecuzione in AMPL (file miscelazione.run) model miscelazione.mod data miscelazione.dat option display_1col 0 option solver cplex solve display x,y Documento preparato da G. Carello, B. Addis e C. Iuliano 5

Soluzione CPLEX 11.2.0: optimal solution objective 96000 2 dual simplex iterations (0 in phase I) x [*,*] : A B C := 1 2320 2680 0 2 580 1820 0 3 0 4000 0 4 0 1500 0 y [*] := A 2900 B 10000 C 0 Modello alternativo in AMPL (file miscelazione-b.mod) # SETS set I set J # PARAMS param c{i} param b{i} param r{j} param q_max{i,j} default 1 param q_min{i,j} default 0 # VARS var x{i,j} >= 0 # OBJECTIVE FUNCTION maximize profitto: sum{i in I, j in J} (r[j] - c[i]) * x[i,j] # CONSTRAINTS subject to disponibilita{i in I}: sum{j in J} x[i,j] <= b[i] subject to quantita_max{i in I, j in J}: x[i,j] <= q_max[i,j] * sum{i2 in I} x[i2,j] subject to quantita_min{i in I, j in J}: x[i,j] >= q_min[i,j] * sum{i2 in I} x[i2,j] Documento preparato da G. Carello, B. Addis e C. Iuliano 6