Ricerca Operativa e Logistica



Похожие документы
Problema della produzione dei monitor

Gestione Impresa. Mese Unità richieste

Modelli di Programmazione Lineare Intera

Ricerca Operativa e Logistica

Ai fini economici i costi di un impresa sono distinti principalmente in due gruppi: costi fissi e costi variabili. Vale ovviamente la relazione:

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili

mese richiesta

Pianificazione di Produzione in DEC

Modelli di Programmazione Lineare e Programmazione Lineare Intera

Luigi De Giovanni Esercizi di modellazione matematica Ricerca Operativa

Capitolo 13: L offerta dell impresa e il surplus del produttore

Ricerca Operativa (Compito A) Appello del 18/06/2013 Andrea Scozzari

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

1 Breve introduzione ad AMPL

Modelli con vincoli di tipo logico

Ricerca Operativa A.A. 2008/2009

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Introduzione

Esempi di modelli di programmazione lineare (intera) 2014

Capitolo 10 Costi. Robert H. Frank Microeconomia - 4 a Edizione Copyright The McGraw-Hill Companies, srl

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

Modelli di PL: allocazione ottima di risorse. Un esempio Modelli a risorse condivise Modelli a risorse alternative Modelli multi-periodo

Prodotto Disponibilità Costo e rispettando le seguenti regole di composizione delle benzine:

SOLUZIONE DEL PROBLEMA 1 TEMA DI MATEMATICA ESAME DI STATO 2015

PROGRAMMAZIONE LINEARE IN DUE VARIABILI

La teoria dell offerta

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Localizzazione

INTRODUZIONE. Cplex è un software per la risoluzione di Problemi di Programmazione Lineare e Lineare Intera;

Ricerca Operativa Esercizio 1

I ricavi ed i costi di produzione

Università del Salento

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007

Modelli per la gestione delle scorte

La Minimizzazione dei costi

1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema.

Modello matematico PROGRAMMAZIONE LINEARE PROGRAMMAZIONE LINEARE

1. Considerazioni preliminari

Produzione e forza lavoro

Università Ca Foscari Venezia

Istituzioni di Economia

ESEMPI DI DOMANDE per la prova scritta dell esame di Istituzioni di Economia.

Creare una nuova spedizione personalizzata.

Ogni azienda ha la necessità di conoscere il proprio sistema dei costi sia per controllare la situazione esistente che per verificare il

Esercizio. almeno una tenuta lasci 200 ettari di terreno incolto, e

Algoritmi e Strutture Dati

Esempi di sensitivity analisys

Ottimizzazione Multi Obiettivo

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Problemi di localizzazione impianti

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 13. Docente: Laura Palagi

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Uso di Excel nella Programmazione Matematica

REGOLAZIONE (E TASSAZIONE OTTIMALE) DI UN MONOPOLIO CON PIÙ LINEE DI PRODUZIONE

Appello di Ricerca Operativa A.A (29/3/2007)

N.B.: Gli esercizi di OFFICE vanno risolti prima dell esercizio sulla PL

Istituzioni di Economia Laurea Triennale in Ingegneria Gestionale Lezione 16 Offerta dell impresa

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs

4. Operazioni elementari per righe e colonne

SIMULAZIONE ESAME di OTTIMIZZAZIONE Corso di Laurea in Ingegneria Gestionale 2 o anno

Capitolo 7. F. Barigozzi Microeconomia CLEC 1

LA COMBINAZIONE DEI FATTORI PRODUTTIVI CAP. 5

Modelli di Ottimizzazione

Raggruppamenti Conti Movimenti

Esercitazione 23 maggio 2016

Strumenti per la costruzione di modelli economici in Excel. Parte 3. Strumenti di Ottimizzazione

Domande a scelta multipla 1

Lezione 4. Controllo di gestione. Il controllo direzionale

TSP con eliminazione di sottocicli

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 19. Docente: Laura Palagi

La gestione delle scorte

Codifica binaria dei numeri relativi

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

Produzione Concetti chiave Funzione di produzione. Isoquanti SMST. Rendimenti di scala

Chi non risolve esercizi non impara la matematica.

Produzione Concetti chiave Funzione di produzione. Isoquanti. Rendimenti di scala. Prodotto totale, marginale Rendimenti marginali dei singoli fattori

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Linguaggi di modellizzazione

TSP con eliminazione di sottocicli

Capitolo 10 Costi. Robert H. Frank Microeconomia - 5 a Edizione Copyright The McGraw-Hill Companies, srl

I Esonero di Metodi di Ottimizzazione (Laurea in Ingegneria Gestionale-Corso B) Traccia A

Basi di matematica per il corso di micro

190 LA DUALITÀ NELLA PROGRAMMAZIONE LINEARE 7.2 INTERPRETAZIONE DELLA DUALITÀ

Calcolo del Valore Attuale Netto (VAN)

Calcolare il costo dei prodotti

Gestione Turni. Introduzione

Ricerca Operativa A.A. 2007/ Dualità in Programmazione Lineare

Paperone e Rockerduck: a cosa serve l antitrust?

Un modello matematico di investimento ottimale

Economia, Corso di Laurea Magistrale in Ing. Elettrotecnica, A.A Prof. R. Sestini SCHEMA DELLE LEZIONI DELLA QUARTA SETTIMANA

E naturale chiedersi alcune cose sulla media campionaria x n

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ

risulta (x) = 1 se x < 0.

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

METODI per effettuare previsioni con analisi di tipo WHAT-IF

Determinare il livello produttivo che consente di rendere minimo il costo medio, nonché il suo valore corrispondente.

PROBLEMI DI SCELTA IN CONDIZIONI DI CERTEZZA dipendenti da una sola variabile di scelta con effetti immediati

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

Un investimento è un operazione che dà luogo a costi immediati in vista di ricavi attesi.

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4

Транскрипт:

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: Costi fissi In diversi problemi reali, la produzione di un bene comporta: Ø Un costo proporzionale alla produzione del bene; Ø Un costo fisso di avvio della produzione; Il contributo al costo totale dovuto alla decisione di produrre unità di un dato bene è modellato come segue: costo f()= p+c se >0 0 se =0 p p+c Come modellare una funzione obiettivo di questo tipo?

Funzioni obiettivo non lineari: Costi fissi ) Introduciamo una variabile binaria per indicare quando il costo fisso deve essere considerato: y = se >0 0 se =0 2) aggiungo i vincoli logici: My e y (supponiamo intera. Il secondo vincolo è inutile se la funzione obiettivo è di minimo) 3) la funzione obiettivo viene riscritta come: py+c

Esempio: Processo produttivo con costi fissi Una fabbrica di automobili produce tre tipi di auto A, A2 e A3. La fabbrica ha a disposizione cinque catene di montaggio M,,M5 per la produzione di questi tre modelli. La seguente tabella mostra quante ore sono richieste per produrre un tipo di auto su ogni catena e per quante ore settimanalmente una catena può lavorare. A A2 A3 Ore totali Costo fisso M 2 0 7 40 29000 M2 9 7 5 05 6500 M3 4 5 8 80 7500 M4 2 0 3 20500 M5 5 8 3 96 9000 Il profitto per la vendita delle tre auto è rispettivamente di 29000 Euro per una A, 22000 euro per una A2 e 5000 euro per una A3. Vincoli di produzione aggiuntivi impongono di produrre almeno 5 auto A, almeno 0 A2 e almeno 5 A3. A causa di uno sciopero degli operai però è possibile far funzionare al più tre catene simultaneamente. Si vuole determinare il piano di produzione che massimizzi i profitti.

5 ma 29000! j + 22000! 2 j +5000! 3 j " 29000y "6500y 2 " 7500y 3 " 20500y 4 "900y 5 j= 2 +0 2 + 7 3 #40 9 2 + 7 22 + 5 32 #05 4 + 5 2 +8 3 # 80 +2 2 +0 3 #3 5 +8 2 +3 3 # 96 5! j $ 5 j= 5! 2 j $0 j= 5! 3 j $5 j= 5 j= j + 2 j + 3 j # My j j % {,...,5} y j # j + 2 j + 3 j j % {,...,5} 5! y j # 3 j= Processo produttivo (doppio indice) X ij = numero di macchine Ai prodotte sulla catena di montaggio j se la catena di montaggio Mi viene utilizzata y i = 0 altrimenti ij integer, i % {,2,3}, j % {,...,5}, y j binaria, j %,...,5 5 j= { } Rimuovendo i costi fissi il piano di produzione cambia?

Esempio: Localizzazione di impianti Sia C un insieme di n clienti che devono essere serviti e L un insieme delle possibili localizzazioni dove aprire k impianti. Il costo di servizio del cliente i da parte dell impianto nella locazione j è pari a c ij. Quando un impianto viene attivato si devono sostenere dei costi fissi di apertura pari a p j. Si vogliono localizzare k impianti in modo tale che:. tutti i clienti siano serviti 2. ogni cliente sia servito da non più di un impianto 3. i costi totali siano minimizzati

Esempio: Localizzazione di impianti min" c ij ij + p j y j i!n " j!l " j!l " ij = # i! N j!l " ij $ My j # j! L i!n " j!l y j = k y j! 0, { } #j! L ij! { 0,} #j! L #i! N

Funzioni obiettivo non lineari: lineari a tratti Un altro tipo di funzione non lineare che può essere rappresentata tramite le variabili intere sono le funzioni lineari a tratti. f ( ) c = c c 2 3 se 0 4 se 4 < 0 se0 < 5 c c 2 c 3 0 4 0 5 Come modellare una funzione obiettivo di questo tipo?

Funzioni obiettivo non lineari: lineari a tratti f ( ) c = c c 2 3 se 0 4 se 4 < 0 se0 < 5 c c 2 c 3 Come modellare una funzione obiettivo di questo tipo? 0 2 3 4 0 5 L idea è di gestire separatamente i tre intervalli in cui varia la introducendo 3 variabili decisionali, 2 e 3 associate ai tre intervalli e tali che = + 2 + 3. Le i assumono il seguente significato: = indica di quanto supera il valore 0, senza eccedere 4. (0 4) 2 = indica di quanto supera il valore 4 senza eccedere 0. (0 2 6) 3 = indica di quanto supera il valore 0 senza eccedere 5. (0 3 5)

Funzioni obiettivo non lineari: lineari a tratti f ( ) = c c c 2 3 se 0 4 se 4 < 0 se0 < 5 c c 2 c 3 Come modellare una funzione obiettivo di questo tipo? 0 2 3 4 0 5 Affinchè sia rispettato il significato dato alle i nel punto è necessario garantire che: 2 >0 =4 e che 3 >0 2 =6. A tal fine introduciamo le seguenti variabili logiche:! y = se = 4 " # 0 altrimenti Ed inseriamo i seguenti vincoli:! y 2 = se = 6 2 " # 0 altrimenti 4y!! 4 6y 2! 2! 6y 0! 3! 5y 2

Funzioni obiettivo non lineari: lineari a tratti Il modello finale è: minc + c 2 2 + c 3 3 = + 2 + 3 4y!! 4 6y 2! 2! 6y 0! 3! 5y 2 i " 0, y i # {0,} Verifichiamo quali valori assumono le i al variare delle variabili logiche y j Consideriamo le possibili combinazioni di valori di y e y 2: y =0 e y 2 =0 0 4, 2 = 3 =0 0 4 y =0 e y 2 = non si può verificare y = e y 2 =0 X =4, 0 2 6, 3 =0 4 0 y = e y 2 = =4, 2 =6, 0 3 5 0 5 In generale se si hanno k segmenti la tipologia di vincoli da definire è del tipo: L j y j j L j y j- dove L j è la lunghezza del j-esimo segmento

Esempio (naive): Acquisto dvd Il signor Rossi ha bisogno di acquistare 80 DVD e, a tal fine, si reca in un centro commerciale dove c è un eccezionale offerta proprio sull acquisto di DVD. L offerta consiste nell applicare un prezzo via via decrescente al crescere del numero di dvd acquistati in accordo alle seguenti fasce: costo = 60. 30. 0. 30 per i primi00 dvd per i successivi dvd tra 0e 400 per i successivi dvd tra 400 e000 Esempio: acquistando 420 dvd si pagherebbero.60*00+300*.30+20*0.30=556 euro. Per permettere a più consumatori di usufruire dell offerta, non è possibile acquistare più di 000 dvd. L obiettivo è portare a casa almeno 80 dvd minimizzando la spesa totale.

Esempio (naive): Acquisto dvd costo = 60. 30. 0. 30 per i primi00 dvd per i successivi dvd tra 0e 400 per i successivi dvd tra 400 e000. Definiamo le variabili decisionali associate agli intervalli: = il numero di dvd acquistati a.60 euro 0 00 2 = il numero di dvd acquistati a.30 euro 0 2 300 3 = il numero di dvd acquistati a 0.30 euro 0 3 600 2. Introduciamo le variabili logiche y e y2 tali che:! y = se =00 " # 0 altrimenti! y 2 = se 2 = 300 " # 0 altrimenti 3. Ed inseriamo i seguenti vincoli: 00y!!00 300y 2! 2! 300y 0! 3! 600y 2

Esempio (naive): Acquisto dvd Il modello matematico è: fo : min.60 +.30 2 + 0.30 3 = + 2 + 3 00y!!00 300y 2! 2! 300y 0! 3! 600y 2!000 " 80 i " 0, y i # {0,} E banale verificare che la soluzione ottima consiste nell acquistare esattamente i 80 dvd richiesti. Ciò implica che all ottimo =80, 2=3=0. ed il valore della funzione obiettivo è: 28 euro. Vedremo in seguito come una modifica su questo problema lo renda più interessante.

Un azienda di trasporto pubblico ha a disposizione un budget di 00.000 Euro per pubblicizzare una sua iniziativa attraverso televisione e carta stampata. Un annuncio sui giornali costa 000 Euro e si possono fare al massimo 30 annunci di questo tipo. Uno spot televisivo costa 0.000 Euro e si possono fare al più 5 spot in totale. Il numero di nuovi utenti che si possono raggiungere con i due media decresce con il numero di annunci secondo la seguente tabella: Tipo Pubblicità Fascia Nuovi contatti Giornali Televisione Esempio : Annunci pubblicitari -0-20 2-30 -5 6-0 -5 900 600 300 0.000 5.000 2.000 Per esempio, decidendo di fare 2 annunci sui giornali ed 8 spot televisivi si raggiungono 75.200 nuovi utenti (9.000+.200 giornali; 50.000+5.000 televisione), con una spesa complessiva di 2.000+80.000=92.000 Euro. Si vuole massimizzare il numero di contatti, rispettando il vincolo di budget complessivo.

= # annunci su giornale che garantiscono 900 contatti (0 0) 2 = # annunci su giornale che garantiscono 600 contatti (0 2 0) 3 = # annunci su giornale che garantiscono 300 contatti (0 3 0) w = # di spot che garantiscono 900 contatti (0 w 5) w 2 = # di spot garantiscono 600 contatti (0 w 2 5) w 3 = # di spot che garantiscono 300 contatti (0 w 3 5) E 4 variabili binarie: Esempio : Acquisto dvd Per prima cosa definisco due triple (ognuna associata ad una tipologia di annuncio) di variabili decisionali, 2, 3 e che rappresentano rispettivamente:! y i = se i =0 " # 0 altrimenti con i=,2;! u i = se w i = 5 " # 0 altrimenti

Esempio : Annunci pubblicitari ma900 + 600 2 +300 3 +0000w + 5000w 2 + 2000w 3 + 2 + 3! 30 w + w 2 + w 3!5 000( + 2 + 3 )+0000(w + w 2 + w 3 )!00000 0y!!0 0y 2! 2!0y 0! 3!0y 2 5u! w! 5 5u 2! w 2! 5u 0! w 3! 5u 2 i, w i, intere "i =, 2,3 y i, u i binarie "i =, 2

Esempio : Annunci pubblicitari param num_fasce; set FASCE:=..num_fasce; set NUM_VAR_LOGICHE:=..num_fasce-; set TIPO_PUB; param budget; param costi{tipo_pub}; param contatti{tipo_pub,fasce}; param limit{tipo_pub,fasce}; param ma_annunci{tipo_pub}; var {TIPO_PUB,FASCE} >=0,integer; var y{tipo_pub,num_var_logiche} binary; maimize contatti_tot: sum{i in TIPO_PUB, j in FASCE} contatti[i,j]*[i,j]; s.t. v_ma_annunci{i in TIPO_PUB}: sum{j in FASCE} [i,j] <=ma_annunci[i]; s.t. vincolo_budget: sum{i in TIPO_PUB,j in FASCE} costi[i]*[i,j] <=budget; s.t. maval_i_first {i in TIPO_PUB}: [i,]<=limit[i,]; s.t. maval_i_first2 {i in TIPO_PUB}: [i,]>=y[i,]*limit[i,]; (.dat) param num_fasce:=3; set TIPO_PUB:= giornali tv; param budget:=00000; param costi:= giornali 000 tv 0000; param contatti: 2 3:= giornali 900 600 300 tv 0000 5000 2000; param limit: 2 3:= giornali 0 20 30 tv 5 0 5; param ma_annunci:= giornali 30 tv 5; s.t. maval_i_middle {i in TIPO_PUB,j in FASCE:j>}: [i,j]<=y[i,j-]*(limit[i,j]-limit[i,j-]); s.t. maval_i_middle2 {i in TIPO_PUB,j in FASCE:j> &&j<card(fasce)}: [i,j]>=y[i,j]*(limit[i,j]-limit[i,j-]);

Esempio : Annunci pubblicitari IBM ILOG License Manager: "IBM ILOG Optimization Suite for Academic Initiative" is accessing CPLEX 2 with option(s): "e m b q ". CPLEX 2.2.0.0: timing= Times (seconds): Input = 0.0045 Solve = 0.00795 Output = 0.000492 CPLEX 2.2.0.0: optimal integer solution; objective 80000 MIP simple iterations 0 branch-and-bound nodes solve_result = solved [*,*] : 2 3 := giornali 0 0 0 tv 5 3 0; y [*,*] : 2 := giornali tv 0;

Modellazione delle funzioni lineari a tratti con ampl (.dat) param num_fasce; set FASCE:=..num_fasce; set NUM_VAR_LOGICHE:=..num_fasce-; set TIPO_PUB; param budget; param costi{tipo_pub}; param contatti{tipo_pub,fasce}; param limit{tipo_pub,fasce}; param ma_annunci{tipo_pub}; var {TIPO_PUB} >=0,integer; maimize contatti_tot: sum{i in TIPO_PUB} <<{j in FASCE:j<card(FASCE)} limit[i,j]; {j in FASCE} contatti[i,j]>> [i]; s.t. v_ma_annunci{i in TIPO_PUB}: [i] <=ma_annunci[i]; s.t. vincolo_budget: sum{i in TIPO_PUB} costi[i]*[i] <=budget; param num_fasce:=3; set TIPO_PUB:= giornali tv; param budget:=00000; param costi:= giornali 000 tv 0000; param contatti: 2 3:= giornali 900 600 300 tv 0000 5000 2000; param limit: 2 3:= giornali 0 20 30 tv 5 0 5; param ma_annunci:= giornali 30 tv 5;

Funzioni lineari a tratti concave e convesse Ma è sempre necessario introdurre le variabili logiche per gestire le funzioni lineari a tratti? c 3 c 3 c 2 c 2 c 0 c 0 No, infatti queste variabili non sono necessarie qualora la funzione sia convessa (figura a sinistra) ed il problema è di minimo oppure quando la funzione è concava (figura a destra) ed il problema è di massimo. Affinchè f sia convessa (concava) devono essere verificate due condizioni: Ø f deve essere continua, ossia c i+ a i+ = c i a i+ per i =,...,n dove a i+ è l estremo destro dell intervallo i-esimo (sinistro dell intervallo i+-esimo); Ø la derivata di f, nei tratti lineari, deve essere non decrescente (non crescente), ossia c i+ c i (c i+ c i ) per i=,...,n.

Funzioni lineari a tratti concave e convesse In base a quanto appena visto, per quale dei due esempi (acquisto dvd e annunci pubblicitari) è possibile modificare il modello matematico eliminando le variabili logiche? min.60 +.30 2 + 0.30 3 ma900 + 600 2 +300 3 +0000w + 5000w 2 + 2000w 3 = + 2 + 3 00y!!00 300y 2! 2! 300y 0! 3! 600y 2!000 "20 i " 0, y i # {0,} NO! + 2 + 3! 30 w + w 2 + w 3!5 000( + 2 + 3 )+0000(w + w 2 + w 3 )!00000 0y!!0 0y 2! 2!0y 0! 3!0y 2 5u! w! 5 5u 2! w 2! 5u 0! w 3! 5u 2 SI! i, w i, intere "i =, 2,3 y i, u i binarie "i =, 2

Esempio : Annunci pubblicitari (no var logiche) Con le variabili logiche y ma900 + 600 2 +300 3 +0000w + 5000w 2 + 2000w 3 Senza le variabili logiche y ma900 + 600 2 +300 3 +0000w + 5000w 2 + 2000w 3 + 2 + 3! 30 w + w 2 + w 3!5 000( + 2 + 3 )+0000(w + w 2 + w 3 )!00000 0y!!0 0y 2! 2!0y 0! 3!0y 2 5u! w! 5 5u 2! w 2! 5u 0! w 3! 5u 2 i, w i, intere "i =, 2,3 y i, u i binarie "i =, 2 + 2 + 3! 30 w + w 2 + w 3!5 000( + 2 + 3 )+0000(w + w 2 + w 3 )!00000 0!!0 0! 2!0 0! 3!0 0! w! 5 0! w 2! 5 0! w 3! 5 i, w i intere "i =, 2,3 Scrivere in ampl questo modello matematico e verificare che la soluzione ottima non cambia pur avendo eliminato le y.

Funzioni lineari a tratti: variante Il signor Rossi ha bisogno di acquistare 80 DVD e, a tal fine, si reca in un centro commerciale dove c è un eccezionale offerta proprio sull acquisto di DVD. L offerta consiste nell applicare un prezzo differente a seconda del numero di dvd acquistato in accordo alle seguenti fasce: costo = 60. 30. 0. 30 se se se 0 00 0 40 400 000 Esempio: acquistare 50 dvd costa 80 euro mentre acquistarne 0 costa 3.3 euro. Per permettere a più consumatori di usufruire dell offerta, non è possibile acquistare più di 000 dvd. L obiettivo è portare a casa almeno 20 dvd minimizzando la spesa totale.

Per prima cosa definisco tre variabili decisionali, 2 e 3 con : 0 00 0 2 400 40 3 000 E tre variabili binarie: Esempio : Acquisto dvd y i = se i > 0 0 altrimenti Ovviamente, solo una delle tre variabili decisionali può assumere un valore diverso da zero e quindi possiamo scrivere che il numero totale di dvd acquistati è pari a + 2 + 3. La funzione obiettivo del problema diventa c +c 2 2 +c 3 3, ossia: min.60 +.30 2 +0.30 3

Esempio : Acquisto dvd E riscrivo questi vincoli: In questo modo: 0 0 40 00 2 3 400 000 0 0y 2 40y 3 00y 2 3 400y 2 000 y 3 con y + y2 + y3 =

Esempio : Acquisto dvd 0 0y 40y y + 2 3 y 00y 2 + 2 3 y 3 400y 000 y = 2 3 Consideriamo le possibili combinazioni di valori di y, y 2 e y 3 : y =, y 2 =0, y 3 =0 0 00, 2 = 3 =0 0 00 y =0, y 2 =, y 3 =0 0 2 400, = 3 =0 0 400 y =0, y 2 =0, y 3 = 40 3 000, = 2 =0 40 000

Esempio : Acquisto dvd min.60 +.302 + 0.303 s. t. + = + 2 3 + 2 + 3 0 0y 2 40y y 3 00y 2 3 + y2 + y3 = 80 400y 2 000 y 3 Qual è la soluzione ottima?

Visualizzare modello caricato in ampl # Visualizza la funzione obiettivo epand {j in.._nobjs} _obj[j]; # Visualizza i vincoli del problema epand {i in.._ncons} _con[i]; maimize contatti_tot: 900*['giornali',] + 600*['giornali',2] + 300*['giornali',3] + 0000*['tv',] + 5000*['tv',2] + 2000*['tv',3]; subject to v_ma_annunci['giornali']: ['giornali',] + ['giornali',2] + ['giornali',3] <= 30; subject to v_ma_annunci['tv']: ['tv',] + ['tv',2] + ['tv',3] <= 5; subject to vincolo_budget: 000*['giornali',] + 000*['giornali',2] + 000*['giornali',3] + 0000*['tv',] + 0000*['tv',2] + 0000*['tv',3] <= e+05; subject to maval_i_first['giornali']: ['giornali',] <= 0; subject to maval_i_first['tv']: ['tv',] <= 5; subject to maval_i_first2['giornali']: ['giornali',] - 0*y['giornali',] >= 0; subject to maval_i_first2['tv']: ['tv',] - 5*y['tv',] >= 0;....