| Documentation | Build Status |
|---|---|
A non-registered Julia package to solve a room occupancy problem with simulated annealing
Guests must be accommodated in rooms separated by gender. Guests can request friends with who they would like to share a room. The problem: How do you allocate the rooms to fulfill as many wishes as possible?
This problem must be solved every year during the Jugendtagorchester rehearsal weekend. See the website https://www.jugendtag-orchester.de/orchester if you want to learn more about the orchestra. RoomJuggler.jl was written to simplify the room juggling and help the organizers schedule the rooms.
For a detailed installation guide, see the documentation: https://kaipartmann.github.io/RoomJuggler.jl/stable/
The Excel file needs to contain three sheets: guests, rooms, and wishes
To use RoomJuggler.jl, you need just four lines of code:
using RoomJuggler
# Read the Excel-file and create a `RoomJugglerJob`
# Specify the full path to the file as argument
rjj = RoomJugglerJob("data.xlsx")
# Optimize room occupancy in terms of the guest's happiness
juggle!(rjj)
# Export the results to a new Excel-file
# Specify the name of the resulting file and the RoomJugglerJob as arguments
report("report.xlsx", rjj)The following terminal recording shows how to run RoomJuggler.jl on the file job_300_guests.xlsx in the examples directory:
The results of the optimization are exported to an Excel file:



