Exam Scheduling


    {  Exmpl14.4-1_ExamScheduling.mpl  }

    {  Applications of Optimization with Xpress-MP  }

    {  Chapter 14.4,  Exam Scheduling,  Size: 331x88,  Page 300 }


TITLE
    ExamScheduling;

INDEX
    exam := (da,na,c,se,pm,j,gma,lp,mp,s,dse);
    exam2 := exam;
    time := 1..8;

DATA
    Incomp[exam,exam2] := (0,1,0,0,1,0,1,0,0,1,1,
                           1,0,0,0,1,0,1,0,0,1,1,
                           0,0,0,1,1,1,1,0,1,1,1,
                           0,0,1,0,1,1,1,0,0,1,1,
                           1,1,1,1,0,1,1,1,1,1,1,
                           0,0,1,1,1,0,1,0,1,1,1,
                           1,1,1,1,1,1,0,1,1,1,1,
                           0,0,0,0,1,0,1,0,0,1,1,
                           0,0,1,0,1,1,1,0,0,1,1,
                           1,1,1,1,1,1,1,1,1,0,1,
                           1,1,1,1,1,1,1,1,1,1,0);

VARIABLE
    Plan[time,exam];

MODEL

    MIN 0;

SUBJECT TO

    ScheduleAllExams[exam] -> SAEX:
        SUM(time: Plan) = 1;

    RespectIncompatibilites[exam,exam2>exam,time] WHERE (Incomp = 1) -> RINC:
        Plan + Plan[exam:=exam2] <= 1;

BINARY
    Plan;

END


Back To Top | Maximal Home Page | List of Models | Previous Page | Next Page