Modello di Ottimizzazione per la Schedulazione del Personale … · organizzazione dei cicli...

58
Descrizione del problema Modellizzazione Implementazione e risultati Modello di Ottimizzazione per la Schedulazione del Personale Infermieristico di una Residenza Assistita Candidata: Serena Cortopassi Relatori: Prof. Frangioni, Prof. Scutell` a Universit` a di Pisa Tesi di Laurea Triennale 11 aprile 2014 Serena Cortopassi (Universit` a di Pisa) 11 aprile 2014 1 / 28

Transcript of Modello di Ottimizzazione per la Schedulazione del Personale … · organizzazione dei cicli...

Descrizione del problema Modellizzazione Implementazione e risultati

Modello di Ottimizzazione per la Schedulazione delPersonale Infermieristico di una Residenza Assistita

Candidata: Serena CortopassiRelatori: Prof. Frangioni, Prof. Scutella

Universita di Pisa

Tesi di Laurea Triennale11 aprile 2014

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 1 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Modelli di ottimizzazione matematica

Allocare le risorse disponibili in un certo arco di tempo al fine disvolgere una serie di compiti assegnati.

Ottimizzare il risultato, in termini di

minimizzazione di tempi e costimassimizzazione dei profitti

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 2 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Modelli di ottimizzazione matematica

Allocare le risorse disponibili in un certo arco di tempo al fine disvolgere una serie di compiti assegnati.

Ottimizzare il risultato, in termini di

minimizzazione di tempi e costimassimizzazione dei profitti

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 2 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Modelli di ottimizzazione matematica

Allocare le risorse disponibili in un certo arco di tempo al fine disvolgere una serie di compiti assegnati.

Ottimizzare il risultato, in termini di

minimizzazione di tempi e costimassimizzazione dei profitti

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 2 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Modelli di ottimizzazione matematica

Allocare le risorse disponibili in un certo arco di tempo al fine disvolgere una serie di compiti assegnati.

Ottimizzare il risultato, in termini di

minimizzazione di tempi e costimassimizzazione dei profitti

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 2 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Problemi di scheduling

Modelli decisionali e algoritmi per la pianificazione di molte attivita:

organizzazione dei cicli produttivi industriali;

generazione di turni lavorativi e orari scolastici;

gestione del traffico e degli orari dei servizi di trasporto.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 3 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Problema reale: staff scheduling

Problema

Ottimizzazione della programmazione degli orari di lavoro del personaledella struttura “Il Gignoro” della Diaconia Valdese Fiorentina.

Obiettivo

Assegnare un turno a ogni dipendente per ogni giorno dell’orizzonte dipianificazione considerato.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 4 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Problema reale: staff scheduling

Problema

Ottimizzazione della programmazione degli orari di lavoro del personaledella struttura “Il Gignoro” della Diaconia Valdese Fiorentina.

Obiettivo

Assegnare un turno a ogni dipendente per ogni giorno dell’orizzonte dipianificazione considerato.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 4 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Quattro fasi:

1 Raccolta delle specifiche del problema e delle richieste dell’utente

2 Raccolta dei dati in input

3 Formulazione del modello matematico

4 Implementazione dell’algoritmo e test su dati reali

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 5 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Quattro fasi:

1 Raccolta delle specifiche del problema e delle richieste dell’utente

2 Raccolta dei dati in input

3 Formulazione del modello matematico

4 Implementazione dell’algoritmo e test su dati reali

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 5 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Quattro fasi:

1 Raccolta delle specifiche del problema e delle richieste dell’utente

2 Raccolta dei dati in input

3 Formulazione del modello matematico

4 Implementazione dell’algoritmo e test su dati reali

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 5 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Quattro fasi:

1 Raccolta delle specifiche del problema e delle richieste dell’utente

2 Raccolta dei dati in input

3 Formulazione del modello matematico

4 Implementazione dell’algoritmo e test su dati reali

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 5 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Specifiche del problema

Orizzonte di programmazione: mensile.

La struttura e organizzata per moduli.

A ciascun modulo sono associati operatori e domande di copertura.

Tipi di orario: definiti da una fascia oraria, un modulo e una qualifica.

Turni: combinazioni ammissibili di tipi di orario.

Ciascun tipo di orario richiede giornalmente un certo numero dioperatori.

Ciascuna coppia operatore-turno ha un costo di ammissibilita.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 6 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Specifiche del problema

Orizzonte di programmazione: mensile.

La struttura e organizzata per moduli.

A ciascun modulo sono associati operatori e domande di copertura.

Tipi di orario: definiti da una fascia oraria, un modulo e una qualifica.

Turni: combinazioni ammissibili di tipi di orario.

Ciascun tipo di orario richiede giornalmente un certo numero dioperatori.

Ciascuna coppia operatore-turno ha un costo di ammissibilita.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 6 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Specifiche del problema

Orizzonte di programmazione: mensile.

La struttura e organizzata per moduli.

A ciascun modulo sono associati operatori e domande di copertura.

Tipi di orario: definiti da una fascia oraria, un modulo e una qualifica.

Turni: combinazioni ammissibili di tipi di orario.

Ciascun tipo di orario richiede giornalmente un certo numero dioperatori.

Ciascuna coppia operatore-turno ha un costo di ammissibilita.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 6 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Rassegna bibliografica

Purnomo H.W., Bard J.F., Cyclic preference scheduling for nursesusing branch and price, 2007

Caprara A., Monaci M., Toth P., Models and algorithms for a staffscheduling problem, 2003

Brucker P., Qu R., Burke E., Personnel Scheduling: Models andComplexity, 2011

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 7 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

orizzonte di pianificazione: insieme D dei giorni del mese,D = {1, ..., d};operatori: insieme P = {1, ..., p};tipi di orario: insieme Z = {1, ..., z};turni: insieme T = {0, ..., t};ore previste per il turno s: hs ∈ R, ∀s ∈ T ;

turni ammissibili ogni operatore: insieme T (x) ⊆ T , ∀x ∈ P.Il turno s e ammissibile per l’operatore x ⇔ gx ,s ≥ 0;

domande di copertura: rk,u ∈ N numero di operatori richiesti per ilgiorno k ∈ D per il tipo di orario u ∈ Z ;

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 8 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

orizzonte di pianificazione: insieme D dei giorni del mese,D = {1, ..., d};operatori: insieme P = {1, ..., p};tipi di orario: insieme Z = {1, ..., z};turni: insieme T = {0, ..., t};ore previste per il turno s: hs ∈ R, ∀s ∈ T ;

turni ammissibili ogni operatore: insieme T (x) ⊆ T , ∀x ∈ P.Il turno s e ammissibile per l’operatore x ⇔ gx ,s ≥ 0;

domande di copertura: rk,u ∈ N numero di operatori richiesti per ilgiorno k ∈ D per il tipo di orario u ∈ Z ;

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 8 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

orizzonte di pianificazione: insieme D dei giorni del mese,D = {1, ..., d};operatori: insieme P = {1, ..., p};tipi di orario: insieme Z = {1, ..., z};turni: insieme T = {0, ..., t};ore previste per il turno s: hs ∈ R, ∀s ∈ T ;

turni ammissibili ogni operatore: insieme T (x) ⊆ T , ∀x ∈ P.Il turno s e ammissibile per l’operatore x ⇔ gx ,s ≥ 0;

domande di copertura: rk,u ∈ N numero di operatori richiesti per ilgiorno k ∈ D per il tipo di orario u ∈ Z ;

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 8 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

orizzonte di pianificazione: insieme D dei giorni del mese,D = {1, ..., d};operatori: insieme P = {1, ..., p};tipi di orario: insieme Z = {1, ..., z};turni: insieme T = {0, ..., t};ore previste per il turno s: hs ∈ R, ∀s ∈ T ;

turni ammissibili ogni operatore: insieme T (x) ⊆ T , ∀x ∈ P.Il turno s e ammissibile per l’operatore x ⇔ gx ,s ≥ 0;

domande di copertura: rk,u ∈ N numero di operatori richiesti per ilgiorno k ∈ D per il tipo di orario u ∈ Z ;

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 8 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

orizzonte di pianificazione: insieme D dei giorni del mese,D = {1, ..., d};operatori: insieme P = {1, ..., p};tipi di orario: insieme Z = {1, ..., z};turni: insieme T = {0, ..., t};ore previste per il turno s: hs ∈ R, ∀s ∈ T ;

turni ammissibili ogni operatore: insieme T (x) ⊆ T , ∀x ∈ P.Il turno s e ammissibile per l’operatore x ⇔ gx ,s ≥ 0;

domande di copertura: rk,u ∈ N numero di operatori richiesti per ilgiorno k ∈ D per il tipo di orario u ∈ Z ;

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 8 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

orizzonte di pianificazione: insieme D dei giorni del mese,D = {1, ..., d};operatori: insieme P = {1, ..., p};tipi di orario: insieme Z = {1, ..., z};turni: insieme T = {0, ..., t};ore previste per il turno s: hs ∈ R, ∀s ∈ T ;

turni ammissibili ogni operatore: insieme T (x) ⊆ T , ∀x ∈ P.Il turno s e ammissibile per l’operatore x ⇔ gx ,s ≥ 0;

domande di copertura: rk,u ∈ N numero di operatori richiesti per ilgiorno k ∈ D per il tipo di orario u ∈ Z ;

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 8 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

orizzonte di pianificazione: insieme D dei giorni del mese,D = {1, ..., d};operatori: insieme P = {1, ..., p};tipi di orario: insieme Z = {1, ..., z};turni: insieme T = {0, ..., t};ore previste per il turno s: hs ∈ R, ∀s ∈ T ;

turni ammissibili ogni operatore: insieme T (x) ⊆ T , ∀x ∈ P.Il turno s e ammissibile per l’operatore x ⇔ gx ,s ≥ 0;

domande di copertura: rk,u ∈ N numero di operatori richiesti per ilgiorno k ∈ D per il tipo di orario u ∈ Z ;

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 8 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

assegnamenti programmati: B = {(x , s, k) : x ∈ P, s ∈ T (x), k ∈ D};matrice di incidenza turni-orari: matrice A tale che

as,u =

{1 se il turno s copre il tipo di orario u

0 altrimenti,

con s ∈ T e u ∈ Z ;

scostamento dal budget orario: vx =

y−1∑f =1

vx ,f , ∀x ∈ P, con y mese

considerato in programmazione e vx ,f ∈ R scostamento registrato nelmese f ∈ {1, ..., y − 1};coefficienti di penalita: η1 > ... > η11 ∈ R.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 9 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

assegnamenti programmati: B = {(x , s, k) : x ∈ P, s ∈ T (x), k ∈ D};matrice di incidenza turni-orari: matrice A tale che

as,u =

{1 se il turno s copre il tipo di orario u

0 altrimenti,

con s ∈ T e u ∈ Z ;

scostamento dal budget orario: vx =

y−1∑f =1

vx ,f , ∀x ∈ P, con y mese

considerato in programmazione e vx ,f ∈ R scostamento registrato nelmese f ∈ {1, ..., y − 1};coefficienti di penalita: η1 > ... > η11 ∈ R.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 9 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

assegnamenti programmati: B = {(x , s, k) : x ∈ P, s ∈ T (x), k ∈ D};matrice di incidenza turni-orari: matrice A tale che

as,u =

{1 se il turno s copre il tipo di orario u

0 altrimenti,

con s ∈ T e u ∈ Z ;

scostamento dal budget orario: vx =

y−1∑f =1

vx ,f , ∀x ∈ P, con y mese

considerato in programmazione e vx ,f ∈ R scostamento registrato nelmese f ∈ {1, ..., y − 1};coefficienti di penalita: η1 > ... > η11 ∈ R.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 9 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Dati in input

assegnamenti programmati: B = {(x , s, k) : x ∈ P, s ∈ T (x), k ∈ D};matrice di incidenza turni-orari: matrice A tale che

as,u =

{1 se il turno s copre il tipo di orario u

0 altrimenti,

con s ∈ T e u ∈ Z ;

scostamento dal budget orario: vx =

y−1∑f =1

vx ,f , ∀x ∈ P, con y mese

considerato in programmazione e vx ,f ∈ R scostamento registrato nelmese f ∈ {1, ..., y − 1};coefficienti di penalita: η1 > ... > η11 ∈ R.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 9 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Descrizione dei dati

Variabili decisionali

αx ,s,k , ∀x ∈ P, s ∈ T (x), k ∈ D:

αx ,s,k =

{1 se l’operatore x e assegnato al turno s nel giorno k

0 altrimenti

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 10 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli hard

assegnare esattamente un turno ad ogni operatore per ogni giornodell’orizzonte di programmazione:∑

s∈T (x)

αx ,s,k = 1 ∀x ∈ P, k ∈ D

rispettare i preassegnamenti:

αx ,s,k = 1 ∀(x , s, k) ∈ B

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 11 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli hard

assegnare esattamente un turno ad ogni operatore per ogni giornodell’orizzonte di programmazione:∑

s∈T (x)

αx ,s,k = 1 ∀x ∈ P, k ∈ D

rispettare i preassegnamenti:

αx ,s,k = 1 ∀(x , s, k) ∈ B

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 11 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli soft

distribuire uniformemente i riposi agli operatori:

due in ciascuna meta del mese:∑k∈Dh

αx,1,k + γx,h ≥ 2 ∀x ∈ P, h ∈ {1, 2}

γx,h ≥ 0 ∀x ∈ P, h ∈ {1, 2}

uno in ciascuna delle quattro settimane del mese:∑k∈Sj

αx,1,k + δx,j ≥ 1 ∀x ∈ P, j ∈ {1, ..., 4}

δx,j ≥ 0 ∀x ∈ P, j ∈ {1, ..., 4}

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 12 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli soft

distribuire uniformemente i riposi agli operatori:

due in ciascuna meta del mese:∑k∈Dh

αx,1,k + γx,h ≥ 2 ∀x ∈ P, h ∈ {1, 2}

γx,h ≥ 0 ∀x ∈ P, h ∈ {1, 2}

uno in ciascuna delle quattro settimane del mese:∑k∈Sj

αx,1,k + δx,j ≥ 1 ∀x ∈ P, j ∈ {1, ..., 4}

δx,j ≥ 0 ∀x ∈ P, j ∈ {1, ..., 4}

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 12 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli soft

distribuire uniformemente i riposi agli operatori:

due in ciascuna meta del mese:∑k∈Dh

αx,1,k + γx,h ≥ 2 ∀x ∈ P, h ∈ {1, 2}

γx,h ≥ 0 ∀x ∈ P, h ∈ {1, 2}

uno in ciascuna delle quattro settimane del mese:∑k∈Sj

αx,1,k + δx,j ≥ 1 ∀x ∈ P, j ∈ {1, ..., 4}

δx,j ≥ 0 ∀x ∈ P, j ∈ {1, ..., 4}

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 12 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli soft

soddisfare le richieste di copertura dei moduli:∑x∈P

∑s∈T (x):as,u=1,

as,u∈A

αx ,s,k + θ+k,u − θ

−k,u = rk,u ∀k ∈ D, u ∈ Z

θ+k,u ≥ 0, θ−k,u ≥ 0 ∀k ∈ D, u ∈ Z

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 13 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli soft

prevedere 37 ore di lavoro settimanali per ogni operatore:∑s∈T (x)

∑k∈Sj

hs · αx ,s,k + ε+x ,j − ε

−x ,j = 37 ∀x ∈ P, j ∈ {1, ..., 4}

ε+x ,j ≥ 0, ε−x ,j ≥ 0 ∀x ∈ P, j ∈ {1, ..., 4}

prevedere 376 × n ore di lavoro mensili per ogni operatore, con n

numero di giorni lavorativi del mese considerato in programmazione:∑s∈T (x)

∑k∈D

hs · αx ,s,k + λ+x − λ−x =

37

6× n ∀x ∈ P

λ+x ≥ 0, λ−x ≥ 0 ∀x ∈ P

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 14 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli soft

prevedere 37 ore di lavoro settimanali per ogni operatore:∑s∈T (x)

∑k∈Sj

hs · αx ,s,k + ε+x ,j − ε

−x ,j = 37 ∀x ∈ P, j ∈ {1, ..., 4}

ε+x ,j ≥ 0, ε−x ,j ≥ 0 ∀x ∈ P, j ∈ {1, ..., 4}

prevedere 376 × n ore di lavoro mensili per ogni operatore, con n

numero di giorni lavorativi del mese considerato in programmazione:∑s∈T (x)

∑k∈D

hs · αx ,s,k + λ+x − λ−x =

37

6× n ∀x ∈ P

λ+x ≥ 0, λ−x ≥ 0 ∀x ∈ P

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 14 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Vincoli

Vincoli soft

tenere conto dello scostamento (in eccesso e in difetto) accumulatomese dopo mese da ciascun operatore rispetto al budget orarioprevisto. Viene considerato anche il mese in programmazione, inprevisione dello scostamento che si registrera alla fine dell’anno.

β+x − β−x = vx + λ+

x − λ−x ∀x ∈ P

β+x ≥ 0, β−x ≥ 0 ∀x ∈ P

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 15 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

richieste di copertura non soddisfatte:

f1 =∑k∈D

∑u∈Z

θ+k,u

scostamento in eccesso e in difetto accumulato fino al meseconsiderato in programmazione:

f2 =∑x∈P

β+x

f3 =∑x∈P

β−x

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 16 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

richieste di copertura non soddisfatte:

f1 =∑k∈D

∑u∈Z

θ+k,u

scostamento in eccesso e in difetto accumulato fino al meseconsiderato in programmazione:

f2 =∑x∈P

β+x

f3 =∑x∈P

β−x

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 16 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

scostamento in eccesso e in difetto registrato nel mese considerato inprogrammazione:

f4 =∑x∈P

λ+x

f5 =∑x∈P

λ−x

scostamento in eccesso e in difetto registrato ogni settimana del meseconsiderato:

f6 =∑x∈P

∑j∈{1,...,4}

ε+x ,j

f7 =∑x∈P

∑j∈{1,...,4}

ε−x ,j

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 17 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

scostamento in eccesso e in difetto registrato nel mese considerato inprogrammazione:

f4 =∑x∈P

λ+x

f5 =∑x∈P

λ−x

scostamento in eccesso e in difetto registrato ogni settimana del meseconsiderato:

f6 =∑x∈P

∑j∈{1,...,4}

ε+x ,j

f7 =∑x∈P

∑j∈{1,...,4}

ε−x ,j

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 17 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

riposi non assegnati in ciascuna meta del mese:

f8 =∑x∈P

∑h∈{1,2}

γx ,h

riposi non assegnati settimanalmente:

f9 =∑x∈P

∑j∈{1,...,4}

δx ,j

indice di sgradimento dei turni assegnati:

f10 =∑x∈P

∑s∈T (x)

gx ,s∑k∈D

αx ,s,k

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 18 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

riposi non assegnati in ciascuna meta del mese:

f8 =∑x∈P

∑h∈{1,2}

γx ,h

riposi non assegnati settimanalmente:

f9 =∑x∈P

∑j∈{1,...,4}

δx ,j

indice di sgradimento dei turni assegnati:

f10 =∑x∈P

∑s∈T (x)

gx ,s∑k∈D

αx ,s,k

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 18 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

riposi non assegnati in ciascuna meta del mese:

f8 =∑x∈P

∑h∈{1,2}

γx ,h

riposi non assegnati settimanalmente:

f9 =∑x∈P

∑j∈{1,...,4}

δx ,j

indice di sgradimento dei turni assegnati:

f10 =∑x∈P

∑s∈T (x)

gx ,s∑k∈D

αx ,s,k

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 18 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

operatori in sovrannumero rispetto alle richieste di copertura fatte:

f11 =∑k∈D

∑u∈Z

θ−k,u

La funzione obiettivo del modello, da minimizzare, e la somma dei terminilineari descritti:

min11∑i=1

ηi · fi

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 19 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Funzione obiettivo

Termini della funzione obiettivo

operatori in sovrannumero rispetto alle richieste di copertura fatte:

f11 =∑k∈D

∑u∈Z

θ−k,u

La funzione obiettivo del modello, da minimizzare, e la somma dei terminilineari descritti:

min11∑i=1

ηi · fi

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 19 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Strumenti implementativi

Implementazione dell’algoritmo: linguaggio C++

Strumenti utilizzati:

librerie sviluppate da COIN-OR

interfaccia OSI

solutori per PLI: Cbc, GLPK e CPLEX

linguaggio di modellazione algebrico FlopC++

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 20 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Risultati ottenuti

Versione semplificata dell’istanza

Il solutore commerciale CPLEX e stato testato su quattro diversi insiemi dicoefficienti di penalita e tre diversi tempi limite (5, 30 e 60 minuti). Tutti itest garantiscono una soluzione ammissibile intera.

Il solutore open-source Cbc testato sul primo set di coefficienti impiega 3ore per trovare la prima soluzione ammissibile intera.

Il solutore open-source GLPK testato sul primo set di coefficienti dopo 3ore ancora non fornisce una soluzione ammissibile intera.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 21 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Risultati ottenuti

Versione semplificata dell’istanza

Il solutore commerciale CPLEX e stato testato su quattro diversi insiemi dicoefficienti di penalita e tre diversi tempi limite (5, 30 e 60 minuti). Tutti itest garantiscono una soluzione ammissibile intera.

Il solutore open-source Cbc testato sul primo set di coefficienti impiega 3ore per trovare la prima soluzione ammissibile intera.

Il solutore open-source GLPK testato sul primo set di coefficienti dopo 3ore ancora non fornisce una soluzione ammissibile intera.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 21 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Risultati ottenuti

Versione semplificata dell’istanza

Il solutore commerciale CPLEX e stato testato su quattro diversi insiemi dicoefficienti di penalita e tre diversi tempi limite (5, 30 e 60 minuti). Tutti itest garantiscono una soluzione ammissibile intera.

Il solutore open-source Cbc testato sul primo set di coefficienti impiega 3ore per trovare la prima soluzione ammissibile intera.

Il solutore open-source GLPK testato sul primo set di coefficienti dopo 3ore ancora non fornisce una soluzione ammissibile intera.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 21 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Qualita dei risultati - Versione semplificata

Non si registrano violazioni per:

la copertura delle richiestela distribuzione uniforme dei riposi (bisettimanale e settimanale)

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 22 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Risultati ottenuti

Versione completa dell’istanza

Il solutore commerciale CPLEX e stato testato sui quattro diversi insiemidi coefficienti di penalita e tre diversi tempi limite (5, 30 e 60 minuti).Tutti i test garantiscono una soluzione ammissibile intera.Il primo e il quarto set di coefficienti risolvono il problema all’ottimo.

I solutori open-source Cbc e GLPK testati sul primo e sul quarto set dicoefficienti dopo 3 ore ancora non forniscono una soluzione ammissibileintera.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 23 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Risultati ottenuti

Versione completa dell’istanza

Il solutore commerciale CPLEX e stato testato sui quattro diversi insiemidi coefficienti di penalita e tre diversi tempi limite (5, 30 e 60 minuti).Tutti i test garantiscono una soluzione ammissibile intera.Il primo e il quarto set di coefficienti risolvono il problema all’ottimo.

I solutori open-source Cbc e GLPK testati sul primo e sul quarto set dicoefficienti dopo 3 ore ancora non forniscono una soluzione ammissibileintera.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 23 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Qualita dei risultati - Versione completa

Non si registrano violazioni per:

lo scostamento mensile in eccesso

la distribuzione uniforme dei riposi (bisettimanale e settimanale)

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 24 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Qualita dei risultati - Versione completa

Non si registrano violazioni per:

la distribuzione uniforme dei riposi (bisettimanale e settimanale)

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 25 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Qualita dei risultati - Versione completa

Non si registrano violazioni per:

la distribuzione uniforme dei riposi (bisettimanale e settimanale)

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 26 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Qualita dei risultati - Versione completa

Non si registrano violazioni per:

lo scostamento mensile in eccesso

la distribuzione uniforme dei riposi (bisettimanale e settimanale)

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 27 / 28

Descrizione del problema Modellizzazione Implementazione e risultati

Grazie per l’attenzione.

Serena Cortopassi (Universita di Pisa) 11 aprile 2014 28 / 28