# TimetableSolver.jl: Create a timetable schedule, using ConstraintSolver.jl and JuMP

**URL:** <https://discourse.julialang.org/t/timetablesolver-jl-create-a-timetable-schedule-using-constraintsolver-jl-and-jump/74407>\
**Category:** Package Announcements\
**Tags:** jump\
**Created:** [January 11, 2022, 4:44pm UTC](https://discourse.julialang.org/t/timetablesolver-jl-create-a-timetable-schedule-using-constraintsolver-jl-and-jump/74407 "2022-01-11T16:44:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sushant-Padha](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sushant-padha/32/32367_2.png) [@Sushant-Padha](https://discourse.julialang.org/u/Sushant-Padha)\
**Post date:** [January 11, 2022, 4:44pm UTC](https://discourse.julialang.org/t/timetablesolver-jl-create-a-timetable-schedule-using-constraintsolver-jl-and-jump/74407/1 "2022-01-11T16:44:06Z")

</div>

# [TimetableSolver.jl](https://github.com/Sushant-Padha/TimetableSolver.jl)

Julia package to create a timetable schedule, using [ConstraintSolver.jl](https://github.com/Wikunia/ConstraintSolver.jl) and [JuMP](https://github.com/jump-dev/JuMP.jl).

This package can be used to solve a timetable schedule, modelled using simple types. Note that this is _not_ a package for solving scheduling constraints. It assumes that you already have a time schedule but only need to figure out, say, which subject to teach at which period on which day.  
The solver assumes groups of students studying together (called divisions) need to study a set number of subjects, within a set number of periods on some days. With different teachers teaching different grades and subjects.

I understand that this may not be useful for a number of situations, for example, when students take different classes based on their will (as in universities). Based on my school experience, this is an appropriate solver for solving small and big schedules, with many divisions, subjects and teachers.

I hope that this solver may be useful to someone else. 😀

It may even be used as reference: a simple solver (\< 50KB) written using [ConstraintSolver.jl](https://github.com/Wikunia/ConstraintSolver.jl) and [JuMP](https://github.com/jump-dev/JuMP.jl).

## Docs

Docs hosted at [sushant-padha.github.io/TimetableSolver.jl](https://sushant-padha.github.io/TimetableSolver.jl/stable).

## Features

- Comprehensive types to express data
- (decently) Fast performance
- Documentation
