Maximal Logo 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