MPL Model Library MPL Model Library Union Airways, Example 3.4-5, Hillier and Lieberman { Exmpl_3.4-5_UnionAirways.mpl } { Hillier and Lieberman, Introduction to Operations Research, 7th ed. } { Chapter 3.4, Example 5, Personnel Scheduling, Size: 10x5, Page 57 } TITLE UnionAirwaysPersonnel; INDEX shift := 1..5; period := (AM_6_8, AM_8_10, AM_10_12, PM_12_2, PM_2_4, PM_4_6, PM_6_8, PM_8_10, PM_10_12, AM_12_6); ShiftSchedule[shift, period] := (1, AM_6_8, 1, AM_8_10, 1, AM_10_12, 1, PM_12_2, 2, AM_8_10, 2, AM_10_12, 2, PM_12_2, 2, PM_2_4, 3, PM_12_2, 3, PM_2_4, 3, PM_4_6, 3, PM_6_8, 4, PM_4_6, 4, PM_6_8, 4, PM_8_10, 4, PM_10_12, 5, PM_10_12, 5, AM_12_6); DATA MinAgentsNeeded[period] := (48, 79, 65, 87, 64, 73, 82, 43, 52, 15); DailyCostPerAgent[shift] := (170, 160, 175, 180, 195); VARIABLES AssignAgents[shift] -> Agents; MODEL MIN TotalCost = SUM(shift: DailyCostPerAgent * AssignAgents); SUBJECT TO MeetRequirements[period] -> MeetReq: SUM(shift IN ShiftSchedule: AssignAgents) >= MinAgentsNeeded; END Return to MPL Model Library