Union Airways



   {  Exmpl3.4-5_UnionAirways.mpl  }

   {  Hillier and Lieberman, Introduction to Operations Research, 9th ed.  }

   {  Chapter 3.4,  Example 5,  Work Scheduling,  Size: 10x5,  Page 55  }


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



Back To Top | Maximal Home Page | List of Models | Previous Page | Next Page