[[whatIsOptaPlanner]]
= What is OptaPlanner?
:imagesdir: ../..

Every organization faces planning problems: providing products or services with a limited set of _constrained_ resources (employees, assets, time and money). OptaPlanner optimizes such planning to do more business with less resources.
This is known as _Constraint Satisfaction Programming_ (which is part of the _Operations Research_ discipline).

https://www.optaplanner.org[OptaPlanner] is a lightweight, embeddable constraint satisfaction engine which optimizes planning problems. It solves use cases such as:

* **Employee shift rostering**: timetabling nurses, repairmen, ...
* **Agenda scheduling**: scheduling meetings, appointments, maintenance jobs, advertisements, ...
* **Educational timetabling**: scheduling lessons, courses, exams, conference presentations, ...
* **Vehicle routing**: planning vehicle routes (trucks, trains, boats, airplanes, ...) for moving freight and/or passengers through multiple destinations using known mapping tools ...
* **Bin packing**: filling containers, trucks, ships, and storage warehouses with items, but also packing information across computer resources, as in cloud computing ...
* **Job shop scheduling**: planning car assembly lines, machine queue planning, workforce task planning, ...
* **Cutting stock**: minimizing waste while cutting paper, steel, carpet, ...
* **Sport scheduling**: planning games and training schedules for football leagues, baseball leagues, ...
* **Financial optimization**: investment portfolio optimization, risk spreading, ...

image::PlannerIntroduction/WhatIsOptaPlanner/useCaseOverview.png[align="center"]
