Appendice 2
2.1 L’operativo voli di venerdì 20 Aprile
FLIGHT
STND
GATE
STA
STD
FREQ
A/M
FROM
TO
ADH-AP 0105
6
0220
23456
734-162
VBS
SOS
RYR-FR 9931
4
3
0620
0620
15
738-189
SOS
CAG
RYR-FR 9986
3
1
0625
0625
1357
738-189
SOS
TPS
RYR-FR 0567
2
22
0630
0630
1357
738-189
SOS
DSA
RYR-FR 0587
5
24
0640
0640
12345
738-189
SOS
STN
AZA-AZ 1650
45
8
0645
0645
DAILY
A72-066
SOS
MXP
ADH-AP 6165
6
4
0700
0700
DAILY
734-162
SOS
FCO
FDX-FX 8045
30
0710
5
AT4-PL0
MXP
SOS
CLI-XG 1073/1072
4
3
0715
0800
DAILY
320-180
BCN
BCN
AZA-AZ 1662
41
1
0720
0720
DAILY
A72-066
SOS
FCO
DHL-ER 7482
1
0750
2345
AB3-PL0
BGY
SOS
DLH-LH 4049
44
5
0815
0815
123457
A72-038
SOS
MUC
AFR-AF 1566/1567
45
8
0910
1035
DAILY
E14-050
CDG
CDG
RYR-FR 9932/9995
4
3
0935
1000
15
738-189
CAG
ALC
ADH-AP 6164/6890
6
4
0935
1020
123457
CRJ-090
ROM
CTA
RYR-FR 9987/3595
3
1
0940
1005
1357
738-189
TPS
LBC
RYR-FR 0584/0585
2
22
0945
1010
DAILY
738-189
STN
STN
RYR-FR 9626/9627
5
24
0950
1015
1357
738-189
LPL
LPL
AZA-AZ 1665/1666
41
8
1025
1105
DAILY
A72-066
FCO
FCO
DLH-LH 4044/4045
2
6
1040
1110
DAILY
A72-056
MUC
MUC
RYR-FR 7846/7847
5
24
1055
1120
5
738-189
PIK
PIK
BAW-BA 2600/2601
4
21
1110
1155
DAILY
734-147
LGW
LGW
RYR-FR 0586/9926
3
1
1135
1200
12345
738-189
STN
AHO
AZA-AZ 1653/1656
41
8
1140
1215
DAILY
A72-066
MXP
MXP
HLX-X3 1170/1171
2
5
1145
1210
5
73G-148
CGN
CGN
RYR-FR 0568/9923
4
3
1210
1235
1357
738-189
DSA
EIN
IBE-IB 8824/8823
6
1
1215
1300
12345
CRJ-090
MAD
MAD
NAX-DY 1822/1823
3
3
1245
1315
135
733-148
OSL
OSL
TRA-HV 5423/5424
2
8
1355
1435
235
73G-149
AMS
AMS
JET-IV 0542/0541
6
5
1405
1500
123457
320-180
CTA
CTA
AZA-AZ 1667/1668
7
8
1425
1500
DAILY
EM4-048
FCO
FCO
RYR-FR 3596/9315
47
3
1430
1520
1357
738-189
LBC
FKB
RYR-FR 9927/9325
3
1
1440
1525
12345
738-189
AHO
VLC
RYR-FR 9996/9997
4
5
1450
1540
15
738-189
ALC
PMI
EZY-U2 4575/4576
2
6
1455
1525
15
319-156
SXF
SXF
BAW-BA 2602/2603
5
24
1505
1550
DAILY
734-147
LGW
LGW
AFR-AF 2166/2167
41
7
1505
1600
DAILY
E14-050
CDG
CDG
RYR-FR 1234/1235
4
3
1610
1635
DAILY
738-189
HHN
HHN
AZA-AZ 1655/1658
2
8
1635
1715
DAILY
A72-066
MXP
MXP
RYR-FR 9924/9907
5
24
1645
1755
1357
738-189
EIN
DUB
EZY-U2 5233/5234
4
21
1720
1745
12345
319-156
LGW
LGW
DLH-LH 4046/4047
41
7
1720
1825
123456
A72-038
MUC
MUC
FLIGHT
STND
GATE
STA
STD
FREQ
A/M
FROM
TO
RYR-FR 9316/9331
3
1
1845
1910
1357
738-189
FKB
BLL
AZA-AZ 1669/1670
2
5
1855
1940
DAILY
M80-141
FCO
FCO
BAW-BA 2618/2619
5
24
1900
2005
15
734-147
LGW
LGW
RYR-FR 9998/3746
4
3
1935
2000
1357
738-189
PMI
CRL
RYR-FR 9326/9242
3
1
1950
2015
DAILY
738-189
VLC
GRO
AFR-AF 1066/1067
6
8
2005
2040
DAILY
E14-050
CDG
CDG
EZY-U2 4213/4214
4
4
2025
2050
123457
319-156
ORY
ORY
RYR-FR 3747/3748
3
1
2040
2105
157
738-189
CRL
CRL
DHL-ER 7413
1
2050
2050
2345
AB3-PL0
SOS
BGY
ADH-AP 6170
6
2135
DAILY
CRJ-090
ROM
SOS
AZA-AZ 1659
2200
DAILY
A72-066
MXP
SOS
BAW-BA 2604/2605
4
21
2200
2250
DAILY
734-147
LGW
LGW
RYR-FR 0582/0583
3
22
2215
2240
1357
738-189
STN
STN
AZA-AZ 1673
2220
DAILY
A72-066
ROM
SOS
DLH-LH 4048
44
2240
DAILY
A72-038
MUC
SOS
ADH-AP 0104
6
2305
2305
12345
734-162
SOS
VBS
RYR-FR 9241
2330
DAILY
738-189
GRO
SOS
RYR-FR 9908
2350
1357
738-189
DUB
SOS
RYR-FR 3745
2355
1357
738-189
CRL
SOS
2.2 Il modello e i dati nell’organizzazione attuale
airside_attuale.mod
#DICHIARAZIONE DEGLI INSIEMI
set voli;
set stand;
set operai;
set op_spec within operai;
set op_com within operai;
set op_bus within operai;
#DICHIARAZIONE DEI PARAMETRI
param costi{operai};
param DS{v in voli};
#indica in ogni turnaround la richiesta di operatori specializzati
param DC{v in voli};
#indica in ogni turnaround la richiesta di operatori comuni
param DB{s in stand};
#indica quali stand necessitano di bus
param accogl_stand{v in voli, s in stand};
#matrice che indica quali stand possono accogliere quali voli
param sim{vi in voli, vj in voli}; #indica quali voli sono simultanei
#DICHIARAZIONE DELLE VARIABILI
var x{o in operai, v in voli},>=0, binary;
#vale 1 se un operaio o è assegnato ad un volo v, 0 altrimenti
var z{s in stand, v in voli},>=0, binary;
#vale 1 se un volo v è assegnato ad uno stand s, 0 altrimenti
var w{o in operai},>=0, binary;
#vale 1 se l'operio o è stato assegnato almeno ad un volo
#DICHIARAZIONE DELLA FUNZIONE OBIETTIVO
minimize numero_super_operai:
sum{o in operai} costi[o]*w[o] + sum{o in operai, v in voli} x[o,v];
#DICHIARAZIONE DEI VINCOLI
#(1)
subject to num_op_spec {v in voli: DS[v]>=1}: sum{o in op_spec} x[o,v] >= DS[v];
subject to num_op_com {v in voli: DC[v]>=1}:
subject to num_op_bus{v in voli, s in stand: DB[s]=1}: sum{o in op_bus} x[o,v] >= z[s,v];
#(2)
subject to assegnamento_voli_stand {v in voli}: sum{s in stand} accogl_stand[v,s]*z[s,v]=1;
#(3)
subject to assegnamento_richiesta_op {o in operai}: sum{v in voli} x[o,v] <= w[o]*card(voli);
#(4)
subject to assegn_stand {s in stand, vi in voli, vj in voli: vi <> vj and sim[vi,vj]=1}: z[s,vi]+z[s,vj]<=1;
#(5)
subject to assegn_operai{o in operai, vi in voli, vj in voli: vi <> vj and sim[vi,vj]=1}: x[o,vi] + x[o,vj] <=1;
Gruppo1attuale.dat
set voli:= v1, v2, v3, v4, v5, v6; set stand:= s3, s4, s5;
set operai:= oc1, oc2, oc3, oc4, os1, os2, os3, os4, ob1, ob2; set op_spec:= os1, os2, os3, os4;
set op_com:= oc1, oc2, oc3, oc4; set op_bus:= ob1, ob2;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 ob1 1 ob2 1; param accogl_stand: s3 s4 s5:= v1 1 1 1 v2 1 1 1 v3 1 1 1 v4 1 1 1 v5 1 1 1 v6 1 1 1 ;
param sim: v1 v2 v3 v4 v5 v6:= v1 1 1 1 0 0 0 v2 1 1 1 1 0 0 v3 1 1 1 1 0 0 v4 0 1 1 1 1 1 v5 0 0 0 1 1 1 v6 0 0 0 1 1 1 ; param DB:= s3 0 s4 0 s5 1 ; param DC:= v1 1 v2 1 v3 1 v4 1 v5 1 v6 1 ; param DS:= v1 1 v2 1 v3 1 v4 1 v5 1 v6 1 ;
Gruppo2attuale.dat
set voli:= v7, v8, v9, v10, v11, v12; set stand:= s2, s3, s4, s5, s6, s7;set operai:= oc1, oc2, oc3, oc4, oc5, oc6, os1, os2, os3, os4, os5, os6,os7,os8, ob1, ob2, ob3;
set op_spec:= os1, os2, os3, os4, os5, os6, os7, os8; set op_com:= oc1, oc2, oc3, oc4, oc5, oc6;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 oc5 1 oc6 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 os6 1.5 os7 1.5 os8 1.5 ob1 1 ob2 1 ob3 1; param DB:= s2 1 s3 0 s4 0 s5 1 s6 1 s7 1; param accogl_stand: s2 s3 s4 s5 s6 s7:= v7 1 1 1 1 1 1 v8 1 1 1 1 1 1 v9 1 1 1 1 1 1 v10 1 1 1 1 1 1 v11 1 1 1 1 1 1 v12 1 1 1 1 1 1; param sim: v7 v8 v9 v10 v11 v12:= v7 1 0 0 0 0 0 v8 0 1 1 1 1 1 v9 0 1 1 1 1 1 v10 0 1 1 1 1 1 v11 0 1 1 1 1 1 v12 0 1 1 1 1 1 ; param DC:= v7 1 v8 1 v9 1 v10 1 v11 1 v12 1;
param DS:= v7 1 v8 1 v9 1 v10 1 v11 1 v12 1;
Gruppo3attuale.dat
set voli:= v13, v14, v15, v16, v17, v18, v19, v20, v21; set stand:= s2, s3, s4, s5, s6;set operai:= oc1, oc2, oc3, oc4, oc5, oc6, os1, os2, os3, os4, os5, os6,os7,os8,os9, ob1, ob2, ob3, ob4;
set op_spec:= os1, os2, os3, os4, os5, os6, os7,os8, os9; set op_com:= oc1, oc2, oc3, oc4, oc5, oc6;
set op_bus:= ob1, ob2, ob3,ob4;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 oc5 1 oc6 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 os6 1.5 os7 1.5 os8 1.5 os9 1.5 ob1 1 ob2 1 ob3 1 ob4 1; param DB:= s2 1 s3 0 s4 0 s5 1 s6 1;
param accogl_stand: s2 s3 s4 s5 s6:= v13 1 1 1 1 1 v14 1 1 1 1 1 v15 1 1 1 1 1 v16 1 1 1 1 1 v17 1 1 1 1 1 v18 1 1 1 1 1 v19 1 1 1 1 1 v20 1 1 1 1 1 v21 1 1 1 1 1; param sim: v13 v14 v15 v16 v17 v18 v19 v20 v21:= v13 1 1 0 0 0 0 0 0 0 v14 1 1 1 0 0 0 0 0 0 v15 0 1 1 1 1 1 0 0 0 v16 0 0 1 1 1 1 1 1 1 v17 0 0 1 1 1 1 1 1 0 v18 0 0 1 1 1 1 1 1 1 v19 0 0 0 1 1 1 1 1 1 v20 0 0 0 1 1 1 1 1 1 v21 0 0 0 1 0 1 1 1 1; param DC:= v13 1 v14 1 v15 2 v16 1 v17 1 v18 1 v19 1 v20 1 v21 1; param DS:= v13 1 v14 1 v15 1 v16 1 v17 1 v18 1 v19 1 v20 1 v21 1;
Gruppo4attuale.dat
set voli:= v22, v23, v24, v25, v26, v27, v28, v29; set stand:= s2, s3, s4, s5, s6, s7, s8, s44, s45;
set operai:= oc1, oc2, oc3, oc4, oc5, oc6, oc7, oc8, oc9, oc10, oc11, oc12, oc13, oc14, oc15, oc16, os1, os2, os3, os4, os5, os6, os7, os8, os9, os10, os11, os12, os13, os14, os15, os16, ob1, ob2, ob3, ob4, ob5, ob6;
set op_spec:= os1, os2, os3, os4, os5, os6, os7,os8, os9, os10, os11, os12, os13, os14, os15, os16;
set op_com:= oc1, oc2, oc3, oc4, oc5, oc6, oc7, oc8, oc9, oc10, oc11, oc12, oc13, oc14, oc15, oc16;
set op_bus:= ob1, ob2, ob3, ob4, ob5, ob6;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 oc5 1 oc6 1 oc7 1 oc8 1 oc9 1 oc10 1 oc11 1 oc12 1 oc13 1 oc14 1 oc15 1 oc16 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 os6 1.5 os7 1.5 os8 1.5 os9 1.5 os10 1.5 os11 1.5 os12 1.5 os13 1.5 os14 1.5 os15 1.5 os16 1.5 ob1 1 ob2 1 ob3 1 ob4 1 ob5 1 ob6 1;
param DB:= s2 1 s3 0 s4 0 s5 1 s6 1 s7 1 s8 1 s44 1 s45 1; param accogl_stand: s2 s3 s4 s5 s6 s7 s8 s44 s45:= v22 1 1 1 1 1 1 0 1 1 v23 1 1 1 1 1 1 0 1 1 v24 1 1 1 1 1 1 1 1 1 v25 1 1 1 1 1 1 0 1 1 v26 1 1 1 1 1 1 0 1 1 v27 1 1 1 1 1 1 0 1 1 v28 1 1 1 1 1 1 0 1 1 v29 1 1 1 1 1 1 1 1 1; param sim: v22 v23 v24 v25 v26 v27 v28 v29:= v22 1 1 1 1 1 1 1 1 v23 1 1 1 1 1 1 0 0 v24 1 1 1 1 1 1 1 1 v25 1 1 1 1 1 1 1 1 v26 1 1 1 1 1 1 1 1 v27 1 1 1 1 1 1 1 1 v28 1 0 1 1 1 1 1 1 v29 1 0 1 1 1 1 1 1 ; param DC:= v22 1 v23 2 v24 1 v25 1 v26 1 v27 1 v28 2 v29 1; param DS:= v22 1 v23 1 v24 1 v25 1 v26 1 v27 1 v28 1 v29 1;
Gruppo5attuale.dat
set voli:= v30, v31, v32, v33, v34; set stand:= s2, s3, s4, s5;
set operai:= oc1, oc2, oc3, oc4, oc5,os1, os2, os3, os4, os5, ob1, ob2; set op_spec:= os1, os2, os3, os4, os5;
set op_com:= oc1, oc2, oc3, oc4, oc5; set op_bus:= ob1, ob2;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 oc5 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 ob1 1 ob2 1; param DB:= s2 1 s3 0 s4 0 s5 1; param accogl_stand: s2 s3 s4 s5 := v30 1 1 1 1 v31 1 1 1 1 v32 1 1 1 1 v33 1 1 1 1 v34 1 1 1 1 ; param sim: v30 v31 v32 v33 v34:= v30 1 1 1 0 0 v31 1 1 1 0 0 v32 1 1 1 1 1 v33 0 0 1 1 1 v34 0 0 1 1 1 ; param DC:= v30 1 v31 1 v32 1 v33 1 v34 1;
param DS:= v30 1 v31 1 v32 1 v33 1 v34 1;
Gruppo6attuale.dat
set voli:= v35, v36, v37, v38, v39, v40, v41; set stand:= s2, s3, s4, s5, s6, s7, s8, s44, s45;set operai:= oc1, oc2, oc3, oc4, oc5, oc6, oc7, oc8, oc9, oc10, oc11, oc12, oc13, oc14, oc15, oc16, os1, os2, os3, os4, os5, os6, os7, os8, os9, os10, os11, os12, os13, os14, os15, os16, ob1, ob2, ob3, ob4, ob5, ob6;
set op_spec:= os1, os2, os3, os4, os5, os6, os7, os8, os9, os10, os11, os12, os13, os14, os15, os16;
set op_com:= oc1, oc2, oc3, oc4, oc5, oc6, oc7, oc8, oc9, oc10, oc11, oc12, oc13, oc14, oc15, oc16;
set op_bus:= ob1, ob2, ob3, ob4, ob5, ob6;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 oc5 1 oc6 1 oc7 1 oc8 1 oc9 1 oc10 1 oc11 1 oc12 1 oc13 1 oc14 1 oc15 1 oc16 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 os6 1.5 os7 1.5 os8 1.5 os9 1.5 os10 1.5 os11 1.5 os12 1.5 os13 1.5 os14 1.5
os15 1.5 os16 1.5 ob1 1 ob2 1 ob3 1 ob4 1 ob5 1 ob6 1; param DB:= s2 1 s3 0 s4 0 s5 1 s6 1 s7 1 s8 1 s44 1 s45 1; param accogl_stand: s2 s3 s4 s5 s6 s7 s8 s44 s45:= v35 1 1 1 1 1 1 1 1 1 v36 1 1 1 1 1 1 0 1 1 v37 1 1 1 1 1 1 0 1 1 v38 1 1 1 1 1 1 0 1 1 v39 1 1 1 1 1 1 0 1 1 v40 1 1 1 1 1 1 1 1 1 v41 1 1 1 1 1 1 0 1 1; param sim: v35 v36 v37 v38 v39 v40 v41:= v35 1 1 1 1 0 0 0 v36 1 1 1 1 1 1 1 v37 1 1 1 1 1 0 0 v38 1 1 1 1 1 0 0 v39 0 1 1 1 1 1 1 v40 0 1 0 0 1 1 1 v41 0 1 0 0 1 1 1 ; param DC:= v35 1 v36 1 v37 2 v38 2 v39 1 v40 1 v41 1;
param DS:= v35 1 v36 1 v37 1 v38 1 v39 1 v40 1 v41 1;
2.3 Il modello e i dati nell’organizzazione a squadre
airside_squadre.mod
#DICHIARAZIONE DEGLI INSIEMI
set voli; set stand; set timeslot; set operai;
set op_spec within operai; set op_com within operai; set op_bus within operai;
#DICHIARAZIONE DEI PARAMETRI
param costi{operai};
param DS{v in voli, t in timeslot};
#indica in quali timeslot del turnaround c'è richiesta di operatori specializzati
param DC{v in voli, t in timeslot};
#indica in quali timeslot del turnaround c'è richiesta di operatori comuni
param BS{v in voli, t in timeslot};
#indica in quali timeslot del turnaround c'è richiesta di operatori bus per sbarcare
param BI{v in voli, t in timeslot};
#indica in quali timeslot del turnaround c'è richiesta di operatori bus per imbarcare
param CNT{v in voli, t in timeslot};
#indica in quali timeslot del turnaround ci può essere operatori specializzati per i
controlli
param tscnt{v in voli};
#indica per ogni volo quanti timeslot sono dedicati al controllo
param accogl_stand{v in voli, s in stand};
#matrice che indica quali stand possono accogliere quali voli
param num_op{v in voli};
#indica quanti operatori devo associare per ogni volo
param sim{vi in voli, vj in voli}; #indica quali voli sono simultanei
param cond{si in stand, sj in stand};
#indica quali stand possono condividere uno stesso operatore
param bussb{s in stand};
param busimb{s in stand};
#indica quali stand necessitano di bus per l'imbarco passeggeri
param copertura{tur in turni,t in timeslot};
#indica, su tutti i turni, quali timeslot sono coperti da un turno
#DICHIARAZIONE DELLE VARIABILI
var x{o in operai, v in voli},>=0, binary;
#vale 1 se un operaio o è assegnato ad un volo v, 0 altrimenti
var z{s in stand, v in voli},>=0, binary;
#vale 1 se un volo v è assegnato ad uno stand s, 0 altrimenti
var yc{o in op_com, v in voli, t in timeslot: DC[v,t]>=1},>=0, binary;
#vale 1 se un operaio comune o è occupato in un timeslot t per un volo v, 0 altrimenti
var ys{o in op_spec, v in voli, t in timeslot: DC[v,t]+DS[v,t]+CNT[v,t]>=1},>=0, binary; #vale 1 se un operaio specializzato o è occupato in un timeslot t per un volo v, 0
altrimenti
var yb{o in op_bus, v in voli, t in timeslot: BS[v,t]+BI[v,t]>=1},>=0, binary; #vale 1 se un operaio bus o è occupato in un timeslot t per un volo v, 0 altrimenti
var w{o in operai},>=0, binary;
#vale 1 se l'operio o è stato assegnato almeno ad un volo
#DICHIARAZIONE DELLA FUNZIONE OBIETTIVO
minimize numero_super_operai: sum{o in operai}costi[o]*w[o]
+ sum{o in op_com, v in voli, t in timeslot: DC[v,t]>=1} yc[o,v,t]
+ sum{o in op_spec, v in voli, t in timeslot: DC[v,t]+DS[v,t]+CNT[v,t]>=1} ys[o,v,t] + sum{o in op_bus, v in voli, t in timeslot: BS[v,t]+BI[v,t]>=1} yb[o,v,t]
+ sum{o in operai, v in voli} x[o,v] ;
#DICHIARAZIONE DEI VINCOLI
#(1)
subject to occupazione_assegnamento_c{o in op_com, v in voli}: sum{t in timeslot: DC[v,t]>=1} yc[o,v,t] <= 12*x[o,v] ;
subject to occupazione_assegnamento_s{o in op_spec, v in voli}:
sum{t in timeslot: DC[v,t]+DS[v,t]+CNT[v,t]>=1} ys[o,v,t] <= 12*x[o,v] ;
subject to occupazione_assegnamento_b{o in op_bus, v in voli}: sum{t in timeslot: BS[v,t]+BI[v,t]>=1} yb[o,v,t] <= 12*x[o,v] ;
#(2)
subject to occupazione_un_timeslot_c{t in timeslot, o in op_com}: sum{v in voli: DC[v,t]>=1} yc[o,v,t] <=1;
subject to occupazione_un_timeslot_s{t in timeslot, o in op_spec}: sum{v in voli: DC[v,t]+DS[v,t]+CNT[v,t]>=1} ys[o,v,t] <= 1;
subject to occupazione_un_timeslot_b{t in timeslot, o in op_bus}: sum{v in voli: BS[v,t]+BI[v,t]>=1} yb[o,v,t] <= 1;
#(3)
subject to num_op_spec{v in voli, t in timeslot: DS[v,t]>=1}: sum{o in op_spec} ys[o,v,t] >= DS[v,t];
#(4)
subject to num_op_com{v in voli, t in timeslot: DC[v,t]>=1}:
sum{o in op_com} yc[o,v,t] + sum{o in op_spec} ys[o,v,t] >= DC[v,t]+DS[v,t];
#(5)
subject to op_bus_sbarco{v in voli, t in timeslot, s in stand: (BS[v,t]=1 and bussb[s]=1)}: sum{o in op_bus} yb[o,v,t] >= z[s,v];
#(6)
subject to op_bus_imbarco{v in voli, t in timeslot, s in stand: (BI[v,t]=1 and busimb[s]=1)}:
sum{o in op_bus} yb[o,v,t] >= z[s,v];
#(7)
subject to assegnamento_controlli{v in voli}:
sum{t in timeslot, o in op_spec: CNT[v,t]>=1} ys[o,v,t] >= tscnt[v] ;
#(8)
subject to assegnamento_voli_stand{v in voli}: sum{s in stand}accogl_stand[v,s]*z[s,v]=1;
#(9)
subject to condivisione{vi in voli, vj in voli, si in stand, sj in stand, o in op_spec union op_com: vi <> vj and sim[vi,vj]=1 and si <> sj and cond[si,sj]=0}:
x[o,vi]+x[o,vj]+z[si,vi]+z[sj,vj]<=3;
#(10)
subject to assegnamento_richiesta_op{o in operai}: sum{v in voli}x[o,v]<=w[o]*card(voli);
#(11)
subject to assegn_stand{s in stand, vi in voli, vj in voli: vi <> vj and sim[vi,vj]=1}: z[s,vi]+z[s,vj]<=1;
Gruppo1squadre.dat
set voli:= v1, v2, v3, v4, v5, v6; set stand:= s2, s3, s4, s5;
set timeslot:= 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26; set operai:= oc1, oc2, oc3, oc4, oc5, oc6, os1, os2, os3, os4, os5, os6, ob1, ob2, ob3; set op_spec:= os1, os2, os3, os4, os5, os6;
set op_com:= oc1, oc2, oc3, oc4, oc5, oc6; set op_bus:= ob1, ob2, ob3;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 oc5 1 oc6 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 os6 1.5 ob1 1 ob2 1 ob3 1; param tscnt:= v1 1 v2 1 v3 1 v4 1 v5 1 v6 1;
param: bussb busimb:= s2 0 1 s3 0 0 s4 0 0 s5 1 1; param accogl_stand: s2 s3 s4 s5:= v1 1 1 1 1 v2 1 1 1 1 v3 1 1 1 1 v4 1 1 1 1 v5 1 1 1 1 v6 1 1 1 1; param sim: v1 v2 v3 v4 v5 v6:= v1 1 1 1 0 0 0 v2 1 1 1 1 0 0 v3 1 1 1 1 0 0 v4 0 1 1 1 0 1 v5 0 0 0 0 1 0 v6 0 0 0 1 0 1 ; param cond: s2 s3 s4 s5:= s2 0 1 0 0 s3 1 0 1 0 s4 0 1 0 1 s5 0 0 1 0 ;
param DC: 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26:= v1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v2 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 v3 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 v4 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 v5 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 v6 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 ; param DS: 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26:= v1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 v2 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 v3 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 v4 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 v5 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 v6 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 ; param BI: 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26:= v1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v2 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 v3 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 v4 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 v5 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 v6 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 ; param BS: 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26:= v1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v5 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 v6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; param CNT: 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26:= v1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 v3 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 v4 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 v5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 v6 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ;
Gruppo2squadre.dat
set voli:= v7, v8, v9, v10, v11, v12; set stand:= s2, s3, s4, s5, s6, s7, s8; set timeslot:= 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,58;set operai:= oc1, oc2, oc3, oc4, os1, os2, os3, os4, os5, ob1, ob2, ob3; set op_spec:= os1, os2, os3, os4, os5;
set op_com:= oc1, oc2, oc3, oc4; set op_bus:= ob1, ob2, ob3;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 ob1 1 ob2 1 ob3 1; param tscnt:= v7 1 v8 1 v9 1 v10 1 v11 1 v12 1;
param: bussb busimb:= s2 0 1 s3 0 0 s4 0 0 s5 1 1 s6 1 1 s7 1 1 s8 1 1; param accogl_stand: s2 s3 s4 s5 s6 s7 s8:= v7 1 1 1 1 1 1 1 v8 1 1 1 1 1 1 1 v9 1 1 1 1 1 1 1 v10 1 1 1 1 1 1 0 v11 1 1 1 1 1 1 0 v12 1 1 1 1 1 1 0; param sim: v7 v8 v9 v10 v11 v12:= v7 1 0 0 0 0 0 v8 0 1 1 1 1 1 v9 0 1 1 1 1 1 v10 0 1 1 1 1 1 v11 0 1 1 1 1 1 v12 0 1 1 1 1 1 ;
param cond: s2 s3 s4 s5 s6 s7 s8:= s2 0 1 0 0 0 0 0 s3 1 0 1 0 0 0 0 s4 0 1 0 1 0 0 0 s5 0 0 1 0 0 0 0 s6 0 0 0 0 0 1 0 s7 0 0 0 0 1 0 1 s8 0 0 0 0 0 1 0; param DC: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58:= v7 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v8 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 v9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 v10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 v11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 v12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0; param DS: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58:= v7 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v8 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 v9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 v10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 v11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 v12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1; param BI: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58:= v7 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 v9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 v10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 v11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 v12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0; param BS: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58:= v7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 v9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 v10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 v11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 v12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0;
param CNT: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58:= v7 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 v9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 v10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 v11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 v12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0;
Gruppo3squadre.dat
set voli:= v13, v14, v15, v16, v17, v18, v19, v20, v21; set stand:= s2, s3, s4, s5, s6; set timeslot:= 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93;set operai:= oc1, oc2, oc3, oc4, os1, os2, os3, os4, os5, ob1, ob2, ob3; set op_spec:= os1, os2, os3, os4, os5;
set op_com:= oc1, oc2, oc3, oc4; set op_bus:= ob1, ob2, ob3;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 ob1 1 ob2 1 ob3 1; param tscnt:= v13 1 v14 1 v15 2 v16 1 v17 1 v18 1 v19 1 v20 1 v21 1;
param: bussb busimb:= s2 0 1
s3 0 0 s4 0 0 s5 1 1 s6 1 1;
param accogl_stand: s2 s3 s4 s5 s6:= v13 1 1 1 1 1 v14 1 1 1 1 1 v15 1 1 1 1 1 v16 1 1 1 1 1 v17 1 1 1 1 1 v18 1 1 1 1 1 v19 1 1 1 1 1 v20 1 1 1 1 1 v21 1 1 1 1 1; param sim: v13 v14 v15 v16 v17 v18 v19 v20 v21:= v13 1 1 0 0 0 0 0 0 0 v14 1 1 1 0 0 0 0 0 0 v15 0 1 1 1 1 1 0 0 0 v16 0 0 1 1 1 1 1 1 1 v17 0 0 1 1 1 1 1 1 0 v18 0 0 1 1 1 1 1 1 1 v19 0 0 0 1 1 1 1 1 1 v20 0 0 0 1 1 1 1 1 1 v21 0 0 0 1 0 1 1 1 1; param cond: s2 s3 s4 s5 s6:= s2 0 1 0 0 0 s3 1 0 1 0 0 s4 0 1 0 1 0 s5 0 0 1 0 0 s6 0 0 0 0 0; param DC: 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93:= v13 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v14 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v15 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 v20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 v21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0;
param DS: 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93:= v13 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v14 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v15 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 v18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 v19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 v20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 v21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1; param BI: 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93:= v13 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v14 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 v20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 v21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 ; param BS: 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93:= v13 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v14 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v15 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 v20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 v21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 ; param CNT: 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93:= v13 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v15 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 v20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
Gruppo4squadre.dat
set voli:= v22, v23, v24, v25, v26, v27, v28, v29; set stand:= s2,s3, s4, s5,s6,s7,s8, s44,s45;
set timeslot:= 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125;
set operai:= oc1, oc2, oc3, oc4, oc5, os1, os2, os3, os4, os5, os6, os7, ob1, ob2, ob3; set op_spec:= os1, os2, os3, os4, os5, os6, os7;
set op_com:= oc1, oc2, oc3, oc4, oc5; set op_bus:= ob1, ob2, ob3;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 oc5 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 os6 1.5 os7 1.5 ob1 1 ob2 1 ob3 1; param tscnt:= v22 1 v23 2 v24 1 v25 1 v26 1 v27 1 v28 2 v29 1;
param: bussb busimb:= s2 0 1 s3 0 0 s4 0 0 s5 1 1 s6 1 1 s7 1 1 s8 1 1 s44 1 1 s45 1 1;
param accogl_stand: s2 s3 s4 s5 s6 s7 s8 s44 s45:= v22 1 1 1 1 1 1 1 1 1 v23 1 1 1 1 1 1 1 1 1 v24 1 1 1 1 1 1 0 1 1 v25 1 1 1 1 1 1 1 1 1 v26 1 1 1 1 1 1 1 1 1 v27 1 1 1 1 1 1 1 1 1 v28 1 1 1 1 1 1 1 1 1 v29 1 1 1 1 1 1 0 1 1; param sim: v22 v23 v24 v25 v26 v27 v28 v29:= v22 1 1 1 1 1 1 1 1 v23 1 1 1 1 1 1 0 0 v24 1 1 1 1 1 1 1 1 v25 1 1 1 1 1 1 1 1 v26 1 1 1 1 1 1 1 1 v27 1 1 1 1 1 1 1 1 v28 1 0 1 1 1 1 1 1 v29 1 0 1 1 1 1 1 1 ; param cond: s2 s3 s4 s5 s6 s7 s8 s44 s45:= s2 0 1 0 0 0 0 0 0 0 s3 1 0 1 0 0 0 0 0 0 s4 0 1 0 1 0 0 0 0 0 s5 0 0 1 0 0 0 0 0 0 s6 0 0 0 0 0 1 0 0 0 s7 0 0 0 0 1 0 1 0 0 s8 0 0 0 0 0 1 0 0 0 s44 0 0 0 0 0 0 0 0 1 s45 0 0 0 0 0 0 0 1 0; param DC: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125:= v22 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v23 0 0 2 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v24 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 v25 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 v26 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 v27 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 v28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 2 0 0 v29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 ;
param DS: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125:= v22 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v23 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 v24 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 v25 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 v26 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 v27 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 v28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 v29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 ; param BI: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125:= v22 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v23 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v24 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 v25 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 v26 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 v27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 v28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 v29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 ; param BS: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125:= v22 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v23 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v24 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v25 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v26 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v27 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 v28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 v29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 ; param CNT: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125:= v22 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v23 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v24 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v25 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 v26 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 v27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 v28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 v29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 ;
Gruppo5squadre.dat
set voli:= v30, v31, v32, v33, v34; set stand:= s2, s3, s4, s5, s6;
set timeslot:= 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148;
set operai:= oc1, oc2, oc3, oc4, oc5, oc6, os1, os2, os3, os4, os5, os6, os7, os8, os9, ob1, ob2, ob3, ob4;
set op_spec:= os1, os2, os3, os4, os5, os6, os7,os8, os9; set op_com:= oc1, oc2, oc3, oc4, oc5, oc6;
set op_bus:= ob1, ob2, ob3, ob4;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 oc5 1 oc6 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 os6 1.5 os7 1.5 os8 1.5 os9 1.5 ob1 1 ob2 1 ob3 1 ob4 1; param tscnt:= v30 1 v31 1 v32 1 v33 1 v34 1;
param: bussb busimb:= s2 0 1
s3 0 0 s4 0 0 s5 1 1 s6 1 1;
param accogl_stand: s2 s3 s4 s5 s6:= v30 1 1 1 1 1 v31 1 1 1 1 1 v32 1 1 1 1 1 v33 1 1 1 1 1 v34 1 1 1 1 1 ; param sim: v30 v31 v32 v33 v34:= v30 1 1 1 1 1 v31 1 1 1 0 0 v32 1 1 1 1 1 v33 1 0 1 1 1 v34 1 0 1 1 1 ; param cond: s2 s3 s4 s5 s6:= s2 0 1 0 0 0 s3 1 0 1 0 0 s4 0 1 0 1 0 s5 0 0 1 0 0 s6 0 0 0 0 0; param DC: 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148:= v30 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v31 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 v32 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 v33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 v34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 ; param DS: 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148:= v30 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v31 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 v32 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 v33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 v34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 ; param BI: 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148:= v30 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v31 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 v32 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 v33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 v34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 ; param BS: 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148:= v30 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v31 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v32 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 v33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 v34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0;
param CNT: 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148:= v30 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v31 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 v32 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 v33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 v34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ;
Gruppo6squadre.dat
set voli:= v35, v36, v37, v38, v39, v40, v41; set stand:= s2, s3, s4, s5, s6, s7, s8, s44, s45; set timeslot:= 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185;set operai:= oc1, oc2, oc3, oc4, os1, os2, os3, os4, os5, ob1, ob2; set op_spec:= os1, os2, os3, os4, os5;
set op_com:= oc1, oc2, oc3, oc4; set op_bus:= ob1, ob2;
param costi:= oc1 1 oc2 1 oc3 1 oc4 1 os1 1.5 os2 1.5 os3 1.5 os4 1.5 os5 1.5 ob1 1 ob2 1; param tscnt:= v35 1 v36 1 v37 2 v38 2 v39 1 v40 1 v41 1;
param: bussb busimb:= s2 0 1 s3 0 0 s4 0 0 s5 1 1 s6 1 1 s7 1 1 s8 1 1 s44 1 1 s45 1 1;
param accogl_stand: s2 s3 s4 s5 s6 s7 s8 s44 s45:= v35 1 1 1 1 1 1 1 1 1 v36 1 1 1 1 1 1 0 1 1 v37 1 1 1 1 1 1 0 1 1 v38 1 1 1 1 1 1 0 1 1 v39 1 1 1 1 1 1 0 1 1 v40 1 1 1 1 1 1 1 1 1 v41 1 1 1 1 1 1 0 1 1; param sim: v35 v36 v37 v38 v39 v40 v41:= v35 1 1 1 1 0 0 0 v36 1 1 1 1 1 1 1 v37 1 1 1 1 1 0 0 v38 1 1 1 1 1 0 0 v39 0 1 1 1 1 1 1 v40 0 1 0 0 1 1 1 v41 0 1 0 0 1 1 1 ; param cond: s2 s3 s4 s5 s6 s7 s8 s44 s45:= s2 0 1 0 0 0 0 0 0 0 s3 1 0 1 0 0 0 0 0 0 s4 0 1 0 1 0 0 0 0 0 s5 0 0 1 0 0 0 0 0 0 s6 0 0 0 0 0 1 0 0 0 s7 0 0 0 0 1 0 1 0 0 s8 0 0 0 0 0 1 0 0 0 s44 0 0 0 0 0 0 0 0 1 s45 0 0 0 0 0 0 0 1 0; param DC: 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185:= v35 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v36 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v37 0 0 0 0 0 2 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v38 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 v40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 v41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 ; param DS: 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185:= v35 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v36 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v37 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v38 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 v39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 v40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 v41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 ;
param BI: 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185:= v35 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v36 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v37 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v38 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 v40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 v41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 ; param BS: 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185:= v35 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v36 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v37 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v38 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 v40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 v41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 ; param CNT: 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185:= v35 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v36 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v37 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v38 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 v39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 v40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 v41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ;