{"repo":"emfcamp/slotmachine","free":true,"listed":false,"github":"https://github.com/emfcamp/slotmachine","clone":"git clone https://github.com/emfcamp/slotmachine.git","description":"A conference schedule optimiser using linear programming.","language":"Python","stars":22,"topics":["python","scheduler","linear-programming","or-tools"],"license":null,"category":"workflow-automation","readme_excerpt":"SlotMachine An automatic conference schedule optimiser, built on the OR-Tools linear programming library and solver. SlotMachine generates an optimal schedule for a multi-venue event, solving thousands of constraints on speaker availability and venue requirements in seconds. It can also take an existing schedule and calculate the minimum number of changes required to accommodate a change in constraints. SlotMachine is used to generate the schedule for Electromagnetic Field events. How to use Create a SchedulingProblem out of a list of Talk s: There are other options to the Talk class which are documented in the code. Now you can run the solver: result.talks will be a list of talks with the start time and venue fields set. Updating a schedule If you need to update your schedule, you can pass a list of Talks with their existing start time and venue values set. The solver will minimise the number of schedule changes required to accommodate the changes in constraints. Venue/speaker availability This library does not deal directly with venue or speaker availability, as this can be quite complex and event-specific. It can be handled outside SlotMachine by setting each VenueTimes.times to the intersection of the speaker and venue availability for that venue. Acknowledgements - The concept and code for the original version of this library was from David MacIver. - For more information on this approach, see David's talk Easy solutions to hard problems from PyCon UK 2016. - A similar l","default_branch":null,"files":null,"tree":[],"storefront":"/r/emfcamp","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/emfcamp/slotmachine/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}