Fix: export of fixed ak slots
Problem
In the JSON export, we currently add time constraints of the form availability-ak-<ak_id>
in two cases:
- if AK
<ak_id>
has an availability that does not span the full event - if AK
<ak_id>
has an AKSlot that is fixed to a specific time.
This is not a good setup. First, both reasons operate on different objects: the former is a condition per AK, the latter per AKSlot. Also, an AK with multiple slots may be partially fixed in time. This cannot be represented in this way. Lastly, if we have a fixed AK with restricted availability, the current setup allows the optimizer to schedule the AKSlot at a time that does not match the AKSlot's fixed time (cf. #18 (closed)).
Change
We keep time constraints of the form availability-ak-<ak_id>
for the first case. For the second case, we instead add constraints of the form fixed-akslot-<slot_id>
. For consistency, we rename room contraints for fixed rooms to fixed-room-<room_id>
.