MPL Model Library
Crew Assignments, Example 12.4-3, Hillier and Lieberman
{ Exmpl12.4-3_CrewAssign.mpl }
{ Hillier and Lieberman, Introduction to Operations Research, 7th ed. }
{ Chapter 12.4, Example 3, Set Covering, Size 12x12, Page 598 }
TITLE
CrewAssignments;
INDEX
j := 1..12;
flights := 1..11;
DATA
Cost[j] := (2, 3, 4, 6, 7, 5, 7, 8, 9, 9, 8, 9);
Feas[flights,j] :=
(1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,
0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1,
1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0,
0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1,
0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1);
BINARY VARIABLE
x[j];
MODEL
MIN TotCost = SUM(j: Cost*x);
SUBJECT TO
Sched[flights] : SUM(j: Feas*x) >=1;
Numb : SUM(j: x) =3;
END
Return to MPL Model Library