Optimize NP-complete planning problems in just a few moves, thanks to this highly advanced and comprehensive Java development library.
- License :Apache License 2.0
- OS:Windows All
- Publisher:JBoss Community
OptaPlanner is a software development component aimed to assist Java programmers in optimizing the planning of various tasks, events or schedules, thanks to the embeddable constraint satisfaction engine that it provides them with.
The tool is meant to find solutions for timetabling difficulties, such as employee shifts, agenda schedules, educational times tables, the routing of vehicles, planning sporting events, minimizing the waste of stock materials and countless others.
Specific to this development component is the fact that it combines optimization heuristics and metaheuristics, alongside score calculation, to offer satisfying solutions to otherwise difficult planning problems.
OptaPlanner is aimed at NG-complete decision problems. These are, in broad terms, problems whose solution is easily verifiable in time, but the solution itself if fairly difficult to obtain, in terms of duration and required effort. However, through complex optimization algorithms, the software manages to shorten the time it takes to discover a means of solving these planning difficulties.
At the same time, users will also find that planning problems have both hard and soft constraints, which this utility approaches with Object Oriented programming languages (Java, Drools), making them flexible and scalable, and thus easier to tackle.
Finally, what also occurs with planning problems is that they can have multiple solutions (possible, feasible, optimal or the best one). OptaPlanner sifts through the often huge number of options and generates the likeliest choices.
Aside from the code itself, the download package also contains a number of examples that can get users started, by analyzing how these behave and finding means of integrating the same capabilities into their work. In addition, OptaPlanner comes with a hefty help guide, meaning it can offer users a lot of insight into how to best benefit from its capabilities without too much effort.