Crashing
{ Exmpl9.8-2_Crashing.mpl }
{ Hillier and Lieberman, Introduction to Operations Research, 9th ed. }
{ Chapter 9.8, Example 2, Crashing, Size: 18x29, Page 403 }
TITLE
CriticalPath;
INDEX
act := (A,B,C,D,E,F,G,H,I,J,K,L,M,N);
act2 := act;
Path[act,act2] :=
(A,B, B,C, C,D, C,E, C,I, D,G, E,F, E,H, F,J,
G,H, H,M, I,J, J,K, J,L, K,N, L,N)
DATA
NormalTime[act] := (2,4,10,6,4,5,7,9,7,8,4,5,2,6);
CrashTime[act] := (1,2,7,4,3,3,4,6,5,6,3,3,1,3);
NormalCost[act] := 1000 (180, 320, 620, 260, 410, 180, 900,
200, 210, 430, 160, 250, 100, 330);
CrashCost[act] := 1000 (280, 420, 860, 340, 570, 260, 1020,
380, 270, 490, 200, 350, 200, 510);
MaxReduce[act] := NormalTime - CrashTime;
CostWeekSaved[act] := CrashCost/MaxReduce - NormalCost/MaxReduce;
VARIABLES
StartTime[act] -> "";
Finished
ReducedTime[act] -> "r"
MODEL
MIN 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
Back To Top
|
Maximal Home Page
|
List of Models |
Previous Page
|
Next Page