- Dates are always displayed in the same order, which is somewhat logical.
- It detects some errors. It's not perfect, but it'll detect when a date is
invalid, and when pairs of dates are bad (eg. the reg. system closes before
it opens.). All dates are still saved to the database but the user is
alerted of any date errors.
should contain. If the config doesn't find those variables for the current
year, they are automatically copied in from year=-1. This means that
we can update a database and add new config variables and not have to manually
add each variable to the current year. It also means someone can't mess
up the system and accidentally delete config variables, because they
will be recreated.
looking any further. This significantly reduces the timeslot scheduling time.
In most cases we reach 0 in a couple thousand iterations, but we need high
effort because some timeslot scheduling problems are hard to assign.
prevent a project from getting too many judges in a row, and also a judge from
judging 2 projects at the same time (which would be more of a problem).
Still need to write a verifier to check all the results. But the annealer
tests look pretty good. Unfortunately it takes a pretty long time to run. :(
all issues EXCEPT that the timetable scheduler may assign two judging teams
to the same project at the same time. I will fix that soon. But everything
else should now work.
in the scheduler so we can only select judges that are NOT already part of a
judging team
- Fix a numbering issue where sometimes an divisional team created by the
scheduler wouldn't get created because of conflicting team numbers. Now, use
MAX(num) to find the highest team number and increment team numbers from that
number.
- Missing: Having a project judged more than once by different judging teams is
untested, I don't htink it'll work properly, still working on that part.
- Missing: Auto updating the configuration if any of the variables are missing.
- Missing: A way to preserve judging questions (like willing_chair), so the
user doesn't delete them and break the scheduler, OR, notice saying that the
question has been deleted and the scheduler won't use the chair calculations,
then we need a way to add them back in with the click of a button.