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:

  1. if AK <ak_id> has an availability that does not span the full event
  2. 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>.

Merge request reports

Loading