Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear...

27
Il modello matematico Ricerca Operativa per i corsi di Laurea della Facolt` a ICI Un modello di assegnamento Laura Palagi http://www.dis.uniroma1.it/palagi Dipartimento di Ingegneria informatica automatica e gestionale A. Ruberti Sapienza Universit ` a di Roma Via Ariosto 25 1 a lezione RO L. Palagi

Transcript of Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear...

Page 1: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Ricerca Operativaper i corsi di Laurea della Facolta ICI

Un modello di assegnamento

Laura Palagihttp://www.dis.uniroma1.it/∼palagi

Dipartimento di Ingegneria informatica automatica e gestionale A. RubertiSapienza Universita di Roma

Via Ariosto 25

1a lezione RO L. Palagi

Page 2: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Approccio modellistico ai problemi di decisione

I Descrizione e Analisi del problemaI Costruzione del modello

I individuazione delle variabili decisionaliI definizione dell’obiettivo

I definizione delle relazioni di vincolo

I Analisi del modelloI Selezione di “buone” soluzioniI Validazione del modello

1a lezione RO L. Palagi

Page 3: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Approccio modellistico ai problemi di decisione

I Descrizione e Analisi del problemaI Costruzione del modello

I individuazione delle variabili decisionaliI definizione dell’obiettivo

I definizione delle relazioni di vincolo

I Analisi del modelloI Selezione di “buone” soluzioniI Validazione del modello

1a lezione RO L. Palagi

Page 4: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Descrizione del problemaG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

and comments about where its many mathematical programming extensions may be headed in History of

Mathematical programming - a collection of personal reminiscences, J.K. Lenstra, A.H.G. Rinnooy Kan and A.

Schrijver eds., NorthHolland (1991).

Un’azienda deve decidere come assegnare i suoi 70 dipendentia 70 differenti mansioni da svolgere.

OvviamenteI ciascun dipendente deve essere assegnato ad un solo

lavoroI ciascuna lavoro deve essere svolta esattamente da un

dipendenteAd ogni possibile coppia (dipendente-mansione) e associato unvalore cij che ne quantifica il valore. Si vuole effettuare la sceltache massimizza il valore totale.

1a lezione RO L. Palagi

Page 5: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Descrizione del problemaG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

and comments about where its many mathematical programming extensions may be headed in History of

Mathematical programming - a collection of personal reminiscences, J.K. Lenstra, A.H.G. Rinnooy Kan and A.

Schrijver eds., NorthHolland (1991).

Un’azienda deve decidere come assegnare i suoi 70 dipendentia 70 differenti mansioni da svolgere.Ovviamente

I ciascun dipendente deve essere assegnato ad un sololavoro

I ciascuna lavoro deve essere svolta esattamente da undipendente

Ad ogni possibile coppia (dipendente-mansione) e associato unvalore cij che ne quantifica il valore. Si vuole effettuare la sceltache massimizza il valore totale.

1a lezione RO L. Palagi

Page 6: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Analisi del problemaI un insieme D di n = 70 dipendenti {1,2, . . . ,n},I un insieme A di n = 70 attivita {1,2, . . . ,n},I ad ogni coppia (dipendente]i , attivita ]j) e associato un

valore cij > 0 (una quantificazione del beneficio che siottiene assegnando la persona i-esima alla mansionej-esimo);

Ad esempio

cij =

{1 se i gradisce la j< 1 diversamente

La soluzione ideale sarebbe un assegnamento di dipendentialle attivita di valore pari a 70, ma non sempre e possibile.

”migliore” = massimo guadagno medio

1a lezione RO L. Palagi

Page 7: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 8: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)},

{(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 9: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)},

{(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 10: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},

{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 11: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)},

{(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 12: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)},

{(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 13: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 14: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 15: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 16: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il caso con n =3 dipendenti e n =3 attivitadipendente #1

dipendente #2

dipendente #3

attivita #1

attivita #2

attivita #3

{(1,1), (2,2), (3,3)}, {(1,1), (2,3), (3,2)}, {(1,2), (2,1), (3,3)},{(1,2), (2,3), (3,1)}, {(1,3), (2,2), (3,1)}, {(1,3), (2,1), (3,2)}.

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

1a lezione RO L. Palagi

Page 17: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

dipendenti att]1 att]2 att]3dip]1 c11 c12 c13

dip]2 c21 c22 c23

dip]3 c31 c32 c33

Calcoliamo il valore delle diverse possibilita .

{(1,1), (2,2), (3,3)}, c11 + c22 + c33 = 0,9 + 0,5 + 1 = 2,4{(1,1), (2,3), (3,2)}, c11 + c23 + c32 = 0,9 + 1 + 0,4 = 2,3{(1,2), (2,1), (3,3)}, c12 + c21 + c33 = 2,5{(1,2), (2,3), (3,1)}, c12 + c23 + c31 = 2,6{(1,3), (2,2), (3,1)}, , c13 + c22 + c31 = 2,4{(1,3), (2,1), (3,2)}, c13 + c21 + c32 = 2,3

1a lezione RO L. Palagi

Page 18: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

dipendenti att]1 att]2 att]3dip]1 c11 c12 c13

dip]2 c21 c22 c23

dip]3 c31 c32 c33

Calcoliamo il valore delle diverse possibilita .{(1,1), (2,2), (3,3)}, c11 + c22 + c33 = 0,9 + 0,5 + 1 = 2,4

{(1,1), (2,3), (3,2)}, c11 + c23 + c32 = 0,9 + 1 + 0,4 = 2,3{(1,2), (2,1), (3,3)}, c12 + c21 + c33 = 2,5{(1,2), (2,3), (3,1)}, c12 + c23 + c31 = 2,6{(1,3), (2,2), (3,1)}, , c13 + c22 + c31 = 2,4{(1,3), (2,1), (3,2)}, c13 + c21 + c32 = 2,3

1a lezione RO L. Palagi

Page 19: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

dipendenti att]1 att]2 att]3dip]1 c11 c12 c13

dip]2 c21 c22 c23

dip]3 c31 c32 c33

Calcoliamo il valore delle diverse possibilita .{(1,1), (2,2), (3,3)}, c11 + c22 + c33 = 0,9 + 0,5 + 1 = 2,4{(1,1), (2,3), (3,2)}, c11 + c23 + c32 = 0,9 + 1 + 0,4 = 2,3

{(1,2), (2,1), (3,3)}, c12 + c21 + c33 = 2,5{(1,2), (2,3), (3,1)}, c12 + c23 + c31 = 2,6{(1,3), (2,2), (3,1)}, , c13 + c22 + c31 = 2,4{(1,3), (2,1), (3,2)}, c13 + c21 + c32 = 2,3

1a lezione RO L. Palagi

Page 20: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

dipendenti att]1 att]2 att]3dip]1 c11 c12 c13

dip]2 c21 c22 c23

dip]3 c31 c32 c33

Calcoliamo il valore delle diverse possibilita .{(1,1), (2,2), (3,3)}, c11 + c22 + c33 = 0,9 + 0,5 + 1 = 2,4{(1,1), (2,3), (3,2)}, c11 + c23 + c32 = 0,9 + 1 + 0,4 = 2,3{(1,2), (2,1), (3,3)}, c12 + c21 + c33 = 2,5

{(1,2), (2,3), (3,1)}, c12 + c23 + c31 = 2,6{(1,3), (2,2), (3,1)}, , c13 + c22 + c31 = 2,4{(1,3), (2,1), (3,2)}, c13 + c21 + c32 = 2,3

1a lezione RO L. Palagi

Page 21: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

dipendenti att]1 att]2 att]3dip]1 c11 c12 c13

dip]2 c21 c22 c23

dip]3 c31 c32 c33

Calcoliamo il valore delle diverse possibilita .{(1,1), (2,2), (3,3)}, c11 + c22 + c33 = 0,9 + 0,5 + 1 = 2,4{(1,1), (2,3), (3,2)}, c11 + c23 + c32 = 0,9 + 1 + 0,4 = 2,3{(1,2), (2,1), (3,3)}, c12 + c21 + c33 = 2,5{(1,2), (2,3), (3,1)}, c12 + c23 + c31 = 2,6

{(1,3), (2,2), (3,1)}, , c13 + c22 + c31 = 2,4{(1,3), (2,1), (3,2)}, c13 + c21 + c32 = 2,3

1a lezione RO L. Palagi

Page 22: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

dipendenti att]1 att]2 att]3dip]1 c11 c12 c13

dip]2 c21 c22 c23

dip]3 c31 c32 c33

Calcoliamo il valore delle diverse possibilita .{(1,1), (2,2), (3,3)}, c11 + c22 + c33 = 0,9 + 0,5 + 1 = 2,4{(1,1), (2,3), (3,2)}, c11 + c23 + c32 = 0,9 + 1 + 0,4 = 2,3{(1,2), (2,1), (3,3)}, c12 + c21 + c33 = 2,5{(1,2), (2,3), (3,1)}, c12 + c23 + c31 = 2,6{(1,3), (2,2), (3,1)}, , c13 + c22 + c31 = 2,4

{(1,3), (2,1), (3,2)}, c13 + c21 + c32 = 2,3

1a lezione RO L. Palagi

Page 23: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

dipendenti att]1 att]2 att]3dip]1 0,9 0,8 1dip]2 0,7 0,5 1dip]3 0,8 0,4 1

dipendenti att]1 att]2 att]3dip]1 c11 c12 c13

dip]2 c21 c22 c23

dip]3 c31 c32 c33

Calcoliamo il valore delle diverse possibilita .{(1,1), (2,2), (3,3)}, c11 + c22 + c33 = 0,9 + 0,5 + 1 = 2,4{(1,1), (2,3), (3,2)}, c11 + c23 + c32 = 0,9 + 1 + 0,4 = 2,3{(1,2), (2,1), (3,3)}, c12 + c21 + c33 = 2,5{(1,2), (2,3), (3,1)}, c12 + c23 + c31 = 2,6{(1,3), (2,2), (3,1)}, , c13 + c22 + c31 = 2,4{(1,3), (2,1), (3,2)}, c13 + c21 + c32 = 2,3

1a lezione RO L. Palagi

Page 24: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il modello matematico

I Definizione delle variabili decisionali

xij =

{1 se il dipendente i e assegnato all’attivita j0 diversamente

i , j = 1, . . . , n

I Definizione della funzione obiettivo

massimizzaren∑

i=1

n∑j=1

cijxij

1a lezione RO L. Palagi

Page 25: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il modello matematico - 2

Definizione dei vincoli

I Ad ogni attivita e assegnato un solo dipendente

n∑i=1

xij = 1 per ogni j = 1, . . . ,n

I Ad ogni dipendente e assegnata un solo attivita

n∑j=1

xij = 1 per ogni i = 1, . . . ,n

1a lezione RO L. Palagi

Page 26: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Il modello matematico - 3

maxn∑

i=1

n∑j=1

cijxij

n∑i=1

xij = 1 per ogni j = 1, . . . ,n

n∑j=1

xij = 1 per ogni i = 1, . . . ,n

xij ∈ {0,1} i = 1, . . . ,n j = 1, . . . ,n

1a lezione RO L. Palagi

Page 27: Ricerca Operativa Un modello di assegnamentoor/meccanica/assegnamento.pdfG.B. Dantzig - Linear Programming: the story about it began: some legends, a little about historical significance,

Il modello matematico

Proprieta del modello

I Si tratta di un modello di programmazione matematica incui le funzioni che descrivono la funzione obiettivo e ivincoli sono lineari.

I Le variabili possonon assumere solo valori booleani(vedremo in seguito che questi vincoli pososno essererimossi senza alterare la soluzione)

1a lezione RO L. Palagi