Skip to content
This repository has been archived by the owner on Dec 20, 2019. It is now read-only.

Solver for hard timetabling problems. Uses an evolutionary algorithm.

License

Notifications You must be signed in to change notification settings

florianpilz/hard-timetabling

Repository files navigation

A hard timetable is a timetable which has a single solution to fulfill all constraints.
Constraints are:
  1. All required classes are scheduled
  2. There are no collisions
An collision occurs if two classes, teachers or rooms are planned to use at the same time.

This repository is a toolbox to solve this problem with an evolutionary algorithm.
Several permutating operations are implemented and work out of the box.
To start the solver type "ruby timetabling.rb".
Two optional arguments are accepted:
  1. difficulty of the timetable, ranging from 4 to 8
  2. time limit in seconds
  
The timetable-data was retrieved from http://people.brunel.ac.uk/~mastjjb/jeb/orlib/tableinfo.html

You need rspec 2.4.0 to run the test. For automatic testing install watchr and type "watchr watchr.rb"

All files are licensed under the MIT license. See MIT-LICENSE for details.

About

Solver for hard timetabling problems. Uses an evolutionary algorithm.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages