Toggle navigation OptaPlanner logo
  • Home
  • Download
  • Learn
    • Documentation
    • Videos
    • Slides
    • Training
    • Use cases
    • Testimonials and Case Studies
  • Get Help
  • Source
  • Team
  • Services
  • @OptaPlanner Fb
Fork me on GitHub

School timetabling

Universities and schools aim to provide high quality lesson schedules to their teachers and students. Depending on room capacity and availability, school timetabling decides when and where a lecture takes place. Optimizing this planning problem with a constraint solver AI improves teacher and student satisfaction by reducing commute and gap hours while adhering to other constraints such as conflicting lessons, teacher availability, room availability and room capacity.

What is OptaPlanner?

OptaPlanner is the leading Open Source Java™ AI constraint solver to optimize maintenance scheduling, adhering to skill, capacity, SLA’s and other constraints.

OptaPlanner is a lightweight, embeddable planning engine. It enables normal Java™ programmers to solve optimization problems efficiently. It is also compatible with other JVM languages (such as Kotlin and Scala). Constraints apply on plain domain objects and can call existing code. There’s no need to input constraints as mathematical equations. Under the hood, OptaPlanner combines sophisticated AI optimization algorithms (such as Tabu Search, Simulated Annealing, Late Acceptance and other metaheuristics) with very efficient score calculation and other state-of-the-art constraint solving techniques.

OptaPlanner is open source software, released under the Apache Software License. It is written in 100% pure Java™, runs on any JVM and is available in the Maven Central repository too.

Videos

Related blog posts

  • Visualize the score and the constraints
     Geoffrey De Smet
  • Is the search space of an optimization problem really that big?
     Geoffrey De Smet
  • Will Skynet control our schedule if the computer optimizes it for us?
     Geoffrey De Smet
Download
Download OptaPlanner
7.30.0.Final

Try the examples now:

  1. Download the zip and unzip it
  2. On Linux/Mac, run examples/runExamples.sh
    On Windows, run examples/runExamples.bat
Requires Java™ to run.
Documentation
Read documentation
7.30.0.Final

Read the Quick Start chapter.

Latest blog posts
  • Exploring the new OptaWeb Employee Rostering backend
    Tue 22 October 2019
     Julian Cui
  • Mechanic scheduling (part 3) - Simulation and load testing
    Thu 9 May 2019
     Radovan Synek
  • Mechanic scheduling (part 2) - Architecture and integration
    Thu 9 May 2019
     Musa Talluzi
  • Mechanic scheduling (part 1) - Can OptaPlanner keep up with a keynote audience of thousands?
    Thu 9 May 2019
     Geoffrey De Smet
  • KIE Server OptaPlanner Task Assignment
    Wed 13 March 2019
     Musa Talluzi
  • How much faster is Java 11?
    Thu 17 January 2019
     Radovan Synek
  • Red Hat Mobile Portfolio Truck dodges storms while keeping Sales happy with OptaPlanner
    Mon 19 November 2018
     Sudheer Chekka
Archive
Latest releases
  • 7.30.0.Final released
    Wed 27 November 2019
Upcoming events
  • Red Hat Summit
    San Francisco, CA, USA - Mon 27 April 2020
Add event / Archive

KIE projects

  • Drools rule engine
  • OptaPlanner constraint solver
  • jBPM workflow engine

Community

  • Blog
  • Get Help
  • Team
  • Governance
  • Academic research

Code

  • Build from source
  • Submit a bug
  • License (Apache)
  • Release notes
  • Upgrade recipes
Sponsored by
Red Hat
More coder content at
Red Hat Developers
© Copyright 2006-2019, Red Hat, Inc. or third-party contributors - Privacy statement - Terms of use - Website info