Maximal Logo MPL Model Library


Crashing, Example 10.5-1, Hillier and Lieberman




   {  Exmpl10.5_CriticalPath.mpl  }

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

   {  Chapter 10.5,  Example 1, Crashing,  Size: 18x29,  Page 494  }

TITLE
    CriticalPath;

OPTIONS
   ExcelWorkbook="Exmpl10.5-1_Crashing.xls"
   ExcelSheetName="ReliablesTimeCost"

INDEX
    act := EXCELRANGE("Act");
    act2 := act;

    Path[act,act2] :=EXCELRANGE("Path");
    
DATA
    NormalTime[act] := EXCELRANGE("NormalTime");
    CrashTime[act]  := EXCELRANGE("CrashTime");

    NormalCost[act] := EXCELRANGE("NormalCost");
    CrashCost[act]  := EXCELRANGE("CrashCost");

    MaxReduce[act] := EXCELRANGE("MaxReduce");

    CostWeekSaved[act] := EXCELRANGE("CostWeekSave");

VARIABLES
    StartTime[act] -> ""
        EXPORT TO EXCELRANGE("StartTime");
    Finished
        EXPORT TO EXCELRANGE("FinishTime");
    ReducedTime[act] -> "r"
        EXPORT TO EXCELRANGE("ReducedTime");

MODEL

    MIN TotalCost 
       EXPORT TO EXCELRANGE("TotalCost")
       = SUM(act: NormalCost) + SUM(act: CostWeekSaved * ReducedTime);

SUBJECT TO

   SeqRelation[act,act2 IN Path]:

       StartTime[act] + NormalTime[act] - ReducedTime[act]

    <= 

       StartTime[act:=act2];

   StartTime[M] + NormalTime[M] - ReducedTime[M] <= Finished;
   StartTime[N] + NormalTime[N] - ReducedTime[N] <= Finished;

BOUNDS
   ReducedTime <= MaxReduce;

   Finished <= 40;

END


Return to MPL Model Library