Re: [tablix-list] Pale grey means, "I've scheduled a lesson you didn't ask for"!?

From: Nicholas Robinson <nprREMOVE@THISbottlehall.freeserve.co.uk>
Date: Fri Dec 24 2004 - 01:37:26 CET

Here is a portion of my timetable that still manages to show the problem. It
is a slight extension of the hierarchy in my earlier message in that it
covers two years rather than just the one.

It doesn't terminate even after many hours. It gets stuck at 3 errors -
timeplace and sametime.

No teacher is allocated more than 16 lessons out of 41 and I've left all the
rooms there that would accommodate three times as many classes. The numbers
of tuples generated are:

3-A 41
3-B 41
3-AB 59
4-A 41
4-B 41
4-AB 61
3-and4 118

All the errors seem to arise within the 3-AB and 4-AB classes - and then gaps
get left in the A and B classes as a result. All lessons in the 3-and4 class
are fixed so there are none to schedule, which is why I don't see any here.
If I unfix the lessons in this class all hell breaks loose, you get more
errors and it is even more difficult to see what is going on. I think the
problem is therefore that it cannot generate a solution because the classes
3-AB and 4-AB have too many tuples.

On Thursday 23 December 2004 13:49, Nicholas Robinson wrote:
> Is it possible that a similar concept needs to be applied to timeplace.c?
>
> I've trawled the code and I can't convince myself that it takes
> 'conflicts-with' into account - it may be that it does but as an artefact
> of the data structures rather than explicity, but I'm speculating.
>
> To re-cap, I have:
>
> Class A
>
> Class B conflicts-with A
>
> Class C conflicts with B and A
>
> Class D conflicts with B and A
>
> Classes C and D should end up with 41 lessons each made up from 21 in C/D,
> 5 from A and 15 from B.
>
> I get a dump that shows tuples as follows:
>
> C/D 41
> B 58 (made up of B+C+D + 1 extra)
> A 118 (made up of A+B+C+D for year 1 and year 2 plus 2 extra)
>
> I don't know which are the extra tuples (yet).
>
> I get roughly 20 errors that are a combination of timeplace/sametime errors
> depending weights of these two modules. Every other module shows zero
> errors.
>
> K R
>
> Nick
>
> On Wednesday 22 December 2004 13:08, John Winters wrote:
> > I was right - the patch as it stood had the logic back to front.
> > However, it put me on the right lines and I now have a version of
> > forcesametime.c which does appear to work. I'll post a proper patch
> > once I've tested it on a bigger input file, but for now the essence of
> > the new central test is:
> >
> > if (*pnt1 != -1)
> > {
> > if ((*pnt2 == -1) ||
> > (tuplemap [*pnt2].cid != sametimeas[c].cid2))
> > {
> > sum++;
> > }
> > }
> >
> > Many thanks to Tomaz for putting me on the right lines.
> >
> > John

-- 
Kind Regards
Nick Robinson
Fight Prejudice - Fight the Ban - www.countrysidealliance.org

Received on Fri Dec 24 01:49:49 2004

This archive was generated by hypermail 2.1.8 : Tue Aug 16 2005 - 20:42:46 CEST