ISH Conference Scheduler
Do you want to run a conference? Do you need to bundle together individual submissions into sessions that both make coherent sense with one another and are different enough from what's happening at the same time to prevent people from bouncing back and forth between rooms as much as possible? Does that sound like something a computer should help you with? This is the software for you.
This code was cobbled together by Charles Pence on the basis of some existing code by Prashanti Manda and an article describing that code's use, available at http://doi.org/10.7717/peerj-cs.234. The goal was to use this system to evaluate sessions for the 2021 meeting of the International Society for the History, Philosophy, and Social Studies of Biology (ISHPSSB).
How to Use
This code is set up to work with python and virtualenv. You can use these by executing (from this directory):
virtualenv .venv source .venv/bin/activate pip install -r requirements.txt
To regenerate the included testing data, go to the ISH2019 or ISH2021 folder and run the numbered scripts in order, inspecting the output at each stage. The scripts that you'll find there will give you an idea of how you could extend this method to group together talks for a new conference.
Two Kinds of Conference
There are two sorts of scripts here, and hence two kinds of conference these scripts can be used to generate. The ISH2019 folder is an example of only bundling together individually submitted papers into sessions. The ISH2021 folder, on the contrary, permits two kinds of submission: either individually submitted papers, which need to be grouped together into sessions, or pre-arranged sessions submitted as a whole, which only need to be scheduled (minimizing for overlap of subject in the same time-slot) and don't need to be grouped together.
In short, if you just have a bunch of individual people submitting talks and you want to schedule them, check ISH2019. If you have people submitting either (1) individual talks or (2) sessions consisting of multiple talks, and you want to schedule both of those things together, check ISH2021.
License and History
This code is released under the GNU GPL v3. See LICENSE.txt.
This code is based upon the Automated Conference Scheduler code by Prashanti Manda, copyright 2014 and released under the GNU GPL. For information about that original project, see README-original.md.