Timetabler
|
This project generates a time table given a set of inputs and constraints. It encodes constraints of the time tabling problem as a SAT formula in the Conjunctive Normal Form, and then calls a MaxSAT solver to solve the problem.
The following software are prerequisites for this program:
g++
with support for C++11, using the --std=c++11
flag, is required.
Makefile
, edit the first two lines as per your setup: bin/
directory. The executable is Timetabler
, found in this directory.To make and run tests, use make test
, and then run the test
executable from the bin/
directory.
To execute the program, the format is
where
fields.yml
is the path to the file containing the list of values a field can take and the weights for the constraints.input.csv
is the path to the file containing the input data.custom.txt
is the path to the file containing the list of custom constraints.output.csv
is the path to the file to which the output must be written to.This contains some examples for providing the fields information, the input, and adding custom constraints to the solver.
The structure of this directory is as follows:
For further details and examples, please refer to the Project Wiki.