datatracker icon indicating copy to clipboard operation
datatracker copied to clipboard

automatic schedule generator won't even try if there are more sessions than timeslots

Open rjsparks opened this issue 2 years ago • 4 comments

ietf/manage.py generate_schedule -m 115 -b base -n auto_gen_one

Running automatic schedule layout for meeting IETF 115 Applying schedule [email protected]/base as base schedule

CommandError: More sessions (120) than timeslots (116)

rjsparks avatar Sep 30 '22 18:09 rjsparks

It should be modified to try, recognizing that unscheduled sessions will have a lot of badness.

rjsparks avatar Sep 30 '22 18:09 rjsparks

It would also be useful to add flags to have the tool consider only sessions and timeslots of a particular purpose.

rjsparks avatar Sep 30 '22 18:09 rjsparks

Or it should learn that shrinking sessions is possible but bad.

larseggert avatar Oct 01 '22 04:10 larseggert

That wouldn't help? It doesn't do combined sessions, and it doesn't modify the timeslots...

rjsparks avatar Oct 07 '22 21:10 rjsparks

Starting to look at what's involved here. My initial musing is that it might be most straightforward to create some phony non-persisted TimeSlot instances with a flag to indicate that they're unscheduled. The cost computations can then be updated to penalize assignments to these. This may let the scheduling algorithm operate without having to be taught what to do with sessions not assigned to a timeslot.

I'm a little worried with how these will interact with other constraints, though. Not having enough slots is a fixed cost - there's always going to be the same number of unscheduled sessions. Without some way to distinguish the badness of not scheduling different sessions, I suspect the algorithm will just not schedule sessions with lots of constraints. (When unscheduled, they'll cost only the badness of not being scheduled. When scheduled, they'll contribute their constraint violation badness plus you'll get the unscheduled badness from whatever session got displaced.)

jennifer-richards avatar Nov 09 '22 21:11 jennifer-richards

Splitting the request in https://github.com/ietf-tools/datatracker/issues/4533#issuecomment-1263906274 to its own ticket (#4921)

jennifer-richards avatar Dec 20 '22 20:12 jennifer-richards