Introduction:- Most of the organizations some time faces planning problems: providing services or products with a limited set of constrained resources (assets, employees, money and time). OptaPlanner is an openSource product of RedHat which optimizes such planning to do fewer resources with more business.
Optaplanner is constraints solving engine which optimize the planning problem as much as possible. In other words we can say that optaplanner is a planning problem solver on the basis of constraints. It is a Java-based product which can be configured on the based on your planning problem or we can say that it helps java developer to solve such type of problems.
shift rostering: timetabling employee
Agenda scheduling: meetings scheduling, appointments, jobs maintenance
Educational timetabling: lessons scheduling, exams, presentations conference
machine queue planning
What is the planning problem?
A planning problem has an optimal goal, based on under specific constraints and limited resources. Optimal goals can be any things like.
- Maximize Profit
- Maximize Customer satisfaction
- Optimize Resource allocation
- Optimize Employee Rostering
Basically, All these use cases are probably NP-hard/NP-complete, which means in layman’s terms:
It’s easy to verify a given solution to a problem in a reasonable time.
There is no silver bullet to find an optimal solution of these problems in a reasonable time (*).
Note:- So if we try to solve these type of problem it's harder to find the best solution in a reasonable time.
There is a number of algorithms to solve this type of problem Like
Exhaustive Search (ES)
- Brute Force
- Branch And Bound
Construction heuristics (CH)
- First Fit
- First Fit Decreasing
- Weakest Fit
- Weakest Fit Decreasing
- Strongest Fit
- Strongest Fit Decreasing
- Cheapest Insertion
- Regret Insertion
Local Search (LS)
- Hill Climbing
- Tabu Search
- Simulated Annealing
- Late Acceptance
- Step Counting Hill Climbing
- Variable Neighborhood Descent
Evolutionary Algorithms (EA)
- Evolutionary Strategies
- Genetic Algorithms
Optaplanner provides advanced type algorithm to solve these problems and helps to find the optimal solution in a reasonable amount.
More information Look at this link; https://docs.optaplanner.org/7.11.0.Final/optaplanner-docs/html_single/index.html