Hacker News new | ask | show | jobs
by larose 3195 days ago
Your problem is a scheduling problem. It has been well studied in operations research [1] / mathematical optimization [2].

Basically, you formulate your problem as a integer programming model [3] and use a solver [4] to solve it. You should check PuLP [5].

You can also ask your question at OR Exchange [6].

[1] https://en.wikipedia.org/wiki/Operations_research

[2] https://en.wikipedia.org/wiki/Mathematical_optimization

[3] https://en.wikipedia.org/wiki/Integer_programming

[4] https://en.wikipedia.org/wiki/List_of_optimization_software

[5] https://pythonhosted.org/PuLP/

[6] https://www.or-exchange.org/

3 comments

After this, do a bit of research on goal programming or other approaches to multiobjective optimization. It could really help and depending on the approach, it's not that hard. It usually just adds a bunch of constraints or some precompuations to an already existing set of in/equalities for your model.
ALLOCATING CONFERENCE DELEGATES TO WORKSHOPS: A SPECIAL TIMETABLING PROBLEM -- "The problem of assigning delegates to workshops at a conference can be formulated as a timetabling problem. Such an assignment must take into account the preferences of the delegates, as well as the number of participants each workshop can accommodate. This paper will report on a heuristic solution technique for a special case of such a problem."

http://orion.journals.ac.za/pub/article/view/470

Thank you for the detailed response!