Quick&dirty (Dijkstra-would-not-have-liked-it) solver for workshop allocation with (i) OC scheduling preferences, (ii) OC/audience overlaps, (iii) room capacity, and (iv) full-day/half-day preferences considered.
- Step 1: Maximize satisfaction.
- Step 2: Generate all allocations that meet the maximal satisfaction goal.
modelsws-python.mzn- Model file for Python-based execution.modelsws-nopython.mzn- Model file for manual execution.ws2022.dzn- Data file with the 2022 workshop preferences and resource constraints.
pip install -r requirements.txtpython runner.py
- Run with
solve maximize GOAL;first to find the maximal satisfaction score. - Then run with
constraint satisfactionRatio >= [score]; %solve satisfy;to generate all equally optimal schedules.
Power by MiniZinc.