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