15
Programmazione lineare con LINDO Simone Tino Tiziana Spata Università degli Studi di Catania Corso di Metodi Matematici per l’Ottimizzazione, 12 CFU 4/06/2013 1 Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

LINDO: Optimization Software

Embed Size (px)

Citation preview

Page 1: LINDO: Optimization Software

Programmazione lineare con LINDO

Simone TinoTiziana Spata

Università degli Studi di Catania

Corso di Metodi Matematici per l’Ottimizzazione, 12 CFU

4/06/2013

1

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

Page 2: LINDO: Optimization Software

LINDO: programmazione lineare

2

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

Diverse modalità d’accesso

Strumenti avanzati

Semplice ed intuitivo

Risoluzione passo per passo

Report completi

Lindo API integrabili con altri software (es: Excel)

Maggiori informazioni: http://www.lindo.com/

Page 3: LINDO: Optimization Software

3

Ogni funzionalità è implementata all’interno di una specifica SDI (Single Document Interface):

• Formulazione

• Report

• Altro...

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

Software di tipo MDI (Multiple Document Interface)

Page 4: LINDO: Optimization Software

Imparare ad usare LINDO

(Linear, INteractive, and Discrete Optimizer)

“<” “<=” (lo stesso per “>=”)

Nomi di variabile:- Alfanumerici- Limite di 8 caratteri- Il primo carattere deve essere una lettera

I vincoli possono essere rinominati

Interpretazione delle espressioni:- Da sinistra verso destra- Non esistono le parentesi

Possibilità di introdurre commenti: “!” tag

Linguaggio non case-sensitive

Vincoli: a sinistra solo variabili, a destra solo costanti

Se non specificato, le variabili sono intese tutte continue

4

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

Page 5: LINDO: Optimization Software

Passi Esempio

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

1. Funzione oggetto

2. “SUBJECT TO” inizia la formulazione dei vincoli

3. Vincoli

4. “END” termina la formulazione dei vincoli

5. Tipo di variabili

MAX 7 X1 + 6.2 X2

SUBJECT TO

5 X1 + 4 x2 < 80

4 X1 + 5 X2 < 80

END

5

Formulazione del problema

Page 6: LINDO: Optimization Software

LINDO: Windows (1)

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

6

Page 7: LINDO: Optimization Software

LINDO: Windows (2)

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

7

Page 8: LINDO: Optimization Software

Programmazione lineare: Esercizio 1

Un’azienda produce componenti percomputer. Le varie componenti possonoessere raggruppate in 5 tipi, ognuno dellequali richiede un certo tempo dilavorazione su vari macchinari. Il tempo(in ore) richiesto da ciascun pezzo suciascuna macchina, il prodotto (in €)derivante dalla produzione di ciascunpezzo e il tempo macchina disponibile nelprossimo mese sono indicati in tabella:

1 2 3 4 5 Ore disponibili

Foratura 2 1,5 1 1 2 200

Taglio 1 2 2,5 2 1 80

Saldatura 2 1 2 1,5 1,5 100

Profitto unitario

100 60 90 80 60

4/06/2013

8

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

Page 9: LINDO: Optimization Software

Meno user-friendly.

Più immediata.

Unica interfaccia utente se non si dispone di un sistema operativo Windows.

LOOK ALL

ALTER

GO

PIVOT

TABLEU

SAVE

RETR

9

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

Stampa il modello in memoria

Modifica il modello in memoria

Risolve il modello in memoria

Risolve un solo passo del modello in memoria

Stampa l’ultima tabella

Salva il modello in memoria

Lavorare con la Linea di Comando

Carica un modello in memoria

Page 10: LINDO: Optimization Software

LINDO: Command-line (1)

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

10

Page 11: LINDO: Optimization Software

LINDO: Command-line (2)

4/06/2013Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

11

Page 12: LINDO: Optimization Software

Programmazione lineare intera: Esercizio 2

4/06/2013

12

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

MAX 2 X + 3 Y

SUBJECT TO

-1.3 X + 3 Y < 9

3 X + 0.9 Y < 18

END

GINT X

GINT Y

Page 13: LINDO: Optimization Software

Programmazione lineare intera: Esercizio 3

4/06/2013

13

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

MAX 7 X1 + 6.2 X2

SUBJECT TO

5 X1 + 4 x2 < 80

4 X1 + 5 X2 < 80

END

GINT X1

GINT X2

Page 14: LINDO: Optimization Software

Programmazione lineare intera 0-1: Esercizio 4

4/06/2013

14

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO

MAX 24 X1 + 21 X2 + 12

X3 + 21 X4 + 33 X5 +

18 X6 + 9 X7

SUBJECT TO

10 X1 + 10 x2 +

6 X3 + 12 X4 + 24 X5

+ 18 X6 + 10 X7 < 51

END

INT X1

INT X2

INT X3

INT X4

INT X5

INT X6

INT X7

Page 15: LINDO: Optimization Software

R I F E R I M E N T I

H T T P : / / W W W . L I N D O . C O M / I N D E X . P H P ? O P T I O N= C O M _ C O N T E N T & V I E W = A R T I C L E & I D = 2 4 & I T E M

I D = 1 2

H T T P : / / W W W . L I N D O . C O M / I N D E X . P H P ? O P T I O N= C O M _ C O N T E N T & V I E W = A R T I C L E & I D = 3 4 & I T E M

I D = 1 5

H T T P : / / W W W . L I N D O . C O M / I N D E X . P H P ? O P T I O N= C O M _ C O N T E N T & V I E W = A R T I C L E & I D = 1 4 7 & I T E

M I D = 6 9

Grazie dell’attenzione

4/06/2013

15

Simone Tino, Tiziana Spata: Programmazione lineare con LINDO