Toggle navigation OptaPlanner logo
  • Home
  • Download
  • Learn
    • Documentation
    • Videos
    • Slides
    • Training
    • Use cases
    • Compatibility
    • Testimonials and case studies
  • Get help
  • Source
  • Team
  • Services
  • Star
  • @OptaPlanner
  • Fb
Fork me on GitHub
  • How lucky are your random seeds?
  • Time scheduling design patterns

Sneak peek at OptaPlanner Workbench

Thu 1 October 2015

Avatar Geoffrey De Smet

Geoffrey De Smet


Twitter LinkedIn GitHub

OptaPlanner lead

One critical bit missing for OptaPlanner is a web application to define an optimization problem in a web UI and to deploy it to the cloud. Drools and jBPM both already have such a web application: Drools Workbench and jBPM Workbench. So it’s no big surprise that the OptaPlanner version of this will be called OptaPlanner Workbench.

On the side line, we’ve build a quick prototype to investigate what OptaPlanner Workbench could do (thanks Walter, Toni and Michael). Let’s take a sneak peek at that.

Video

The CloudBalancing example

OptaPlanner’s Quick Start shows how to implement the Cloud Balancing example with only the OptaPlanner engine. Let’s take a look how that example could look like in the OptaPlanner Workbench:

Define the data objects

Here’s how we 'd define the Computer data object:

workbenchDataObjectCBComputer

The Process data object is special because its computer field changes during planning, so we annotate that computer field as a planning variable.

workbenchDataObjectCBProcess

Define the Solver configuration

In the Solver Configuration Editor we can pick the Score type and define how long to solve.

workbenchSolverConfigEditorCB

In the future, we would add support for all termination types, optimization algorithm tweaking and far more.

Deploy to the Execution Server

Once all bits are ready, we would deploy it to the OptaPlanner Execution Service, which opens a REST service in the cloud:

optaplannerWorkbenchAndExecutionServer

When a client sends a problem to this REST service as XML or JSON, then the Execution Server solves it on one of its servers and returns the solution to the client.

Conclusion

OptaPlanner Workbench is built on top of the OptaPlanner engine, but it will not replace it, nor curtail it: You’ll still be able to embed the OptaPlanner engine as before, without the Workbench, if you so desire. But the Workbench will offer new opportunities for many use cases.

We’re still looking into how and when we’ll fracture the Workbench development into our schedule, but in time, the OptaPlanner Workbench will offer a business user friendly web interface to define an optimization problem. It will be part of the KIE Workbench (also known as Business Central) and seamlessly integrate with Drools and jBPM.


Comments Permalink
 tagged as workbench

Comments

Visit our forum to comment
  • How lucky are your random seeds?
  • Time scheduling design patterns
Atom News feed
Don't want to miss a single blog post?
Follow us on
  • T
  • Fb
Blog archive
Latest release
  • 8.1.0.Final released
    Fri 15 January 2021
Upcoming events
  • KIE Live
    Worldwide - Tue 19 January 2021
    • OptaPlanner Shadow Variables for the Vehicle Routing Problem and Task Assignment by Geoffrey De Smet, Karina Varela, Alex Porcelli
  • Javaland
    Worldwide - Tue 16 March 2021
    • AI on Quarkus: I love it when an OptaPlan comes together by Geoffrey De Smet
Add event / Archive
Latest blog posts
  • Solve the facility location problem
    Fri 9 October 2020
     Jiří Locker
  • OptaPlanner Week 2020 recordings
    Mon 7 September 2020
     Geoffrey De Smet
  • Let’s OptaPlan your jBPM tasks (part 1) - Integrating the two worlds
    Fri 3 July 2020
     Walter Medvedeo
  • AI versus Covid-19: How Java helps nurses and doctors in this fight
    Fri 8 May 2020
     Christopher Chianelli
  • Workflow processes with AI scheduling
    Tue 5 May 2020
     Christopher Chianelli
  • Constraint Streams - Modern Java constraints without the Drools Rule Language
    Tue 7 April 2020
     Geoffrey De Smet
  • How to plan (and optimize) a Secret Santa
    Wed 18 December 2019
     Christopher Chianelli
Blog archive
Latest videos
  • YT Shadow variables
    Tue 19 January 2021
     Geoffrey De Smet
  • YT Domain modeling and design patterns
    Tue 17 November 2020
     Geoffrey De Smet
  • YT Quarkus insights: AI constraint solving
    Tue 20 October 2020
     Geoffrey De Smet
  • YT AI in kotlin
    Wed 23 September 2020
     Geoffrey De Smet
  • YT Planning agility: continuous planning, real-time planning and more
    Thu 3 September 2020
     Geoffrey De Smet
  • YT Quarkus and OptaPlanner: create a school timetable application
    Thu 3 September 2020
     Radovan Synek
  • YT Business use cases and the impact of OptaPlanner
    Thu 3 September 2020
     Satish Kale
Video 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-2.0)
  • Release notes
  • Upgrade recipes
Sponsored by
Red Hat
More coder content at
Red Hat Developers
© Copyright 2006-2021, Red Hat, Inc. or third-party contributors - Privacy statement - Terms of use - Website info