MPL Model Library MPL Model Library MachSched, Example 10, Winston { Exmpl9.3-10_MachSched.mpl } { Winston, Operations Research, Applications and Algorithms, 4th ed. } { Chapter 9.3, Example 10, Machine Scheduling (MIP), Size: 5x6, Page 528 } TITLE MachSched; INDEX job := 1..4; job2 := job; order := 1..4; order2 := order; DATA Duration[job] := ( 6, 4, 5, 8); DueDate[job] := ( 8, 4,12,16); BINARY VARIABLES Assign[job,order]; VARIABLE Delay[job]; ! TotalDelay; MODEL MIN TotalDelay = SUM(job: Delay); SUBJECT TO ! ORDA[order ORDS: ! SUM(job,order2<=order: Assign[order:=order2] * Duration) <= SUM(job,order2=1..order+1: Assign[order:=order2] * Duration); DoJobs[order] -> DJB: SUM(job: Assign) = 1; DoJobsA[job] -> DJBO: SUM(order: Assign) = 1; CalcDelay[job,order] -> CDL: SUM(order2<=order: Assign[order:=order2] * Duration - Assign[order:=order2] * DueDate) = Delay; END Return to MPL Model Library