On Tue, 28 May 2013, Roland Roberts wrote:

The basic problem is that I classes c, student groups g, time periods p, and days d. We're breaking each day into 15-minute "modules" which have to be schedule. A class has to span 3-8 modules on any give day. Some classes have a minimum number of modules per week that have to be completed. With just the above, I can specify the constraints by thinking of this as a 4-dimensional array X[c,g,p,d] and the constraints are various sums. The problem I run into is specifying the the continuity constraint on scheduling. It's not sufficient to have 3 modules for class C1, they have to be 3 contiguous modules.

How do I specify this sort of thing?

Is each class a fixed length?
If so, the start time determines the end time.
Your array works if p, d refer to the start times.
If c1, g1 requires 4 periods and c2, g2 requires 7 periods:
If c1, g1 starts in period p1, then c2, g2 may not start in p1-6..p1+3

 p1+3
 SUM X[c2, g2, k, d] <= 1-X[c1, g1, p1, d]  for c2, g2, d, c1, g1, p1...
k=p1-6

I've neglected the beginning and end of the day.

--
Michael   [email protected]
"On Monday, I'm gonna have to tell my kindergarten class,
whom I teach not to run with scissors,
that my fiance ran me through with a broadsword."  --  Lily

_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to