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
  • Unit testing constraints with business input fr...
  • How much faster is Java 11?

Red Hat Mobile Portfolio Truck dodges storms while keeping Sales happy with OptaPlanner

Mon 19 November 2018

Avatar Sudheer Chekka

Sudheer Chekka


GitHub

Contributor

The Mobile Portfolio Truck is Red Hat’s 18-wheel semi truck bringing enterprise IT solutions to customers which includes demo kiosks and hands-on experience with Red Hat’s portfolio. Our goal is to optimize the route of this truck to reach most customers to maximize revenue opportunity and reduce fuel consumption.

mpcTruckRedHat

The Red Hat sales team work out the logistics with their customers such as availability dates and location to host the truck at the customer’s premises to showcase Red Hat’s portfolio. It is a daunting task to find an optimal schedule for MPC to visit all the customers across North America based on the customer’s availability dates, location and revenue opportunity size. Adding to this already complex problem, is the need to accommodate for last minute customer schedule changes and any unforeseen weather conditions.

Let’s explore how OptaPlanner, Red Hat’s Business Optimizer platform, can help solve these planning problems. Here is a scenario where the MPC is stationed in St. Louis and scheduled to visit few customers in Florida and North Carolina for the next 2 weeks. Due to unforeseen weather conditions in the Caribbean region, MPC cannot make that trip and need to quickly come up with a new schedule to maximize the revenue opportunities in other regions with limited resources such as labor, fuel and other constraints such as customer’s availability dates, opportunity size and location.

We built a mobile application (deployed on OpenShift Container Platform) for account sales reps to request MPC for their customers. The prototype of this mobile application has a pre-configured list of accounts with its locations and availability date to host MPC. All the submitted requests are processed and stored in the underlying in-memory datastore (Red Hat Data Grid).

mpcRequestForm

The backend application consists of multiple services also deployed on OpenShift. One of the services receive the MPC requests from the mobile application, process the data and stores in Red Hat Data Grid. Another service is the OptaPlanner service which is configured with various hard and soft constraints using Red Hat Decision Manager based business rules. These constraints include MPC need to take break during night and weekends, drive only certain number of hours in a day, maximize revenue opportunity, visit all accounts. Here is the screenshot of the dashboard application displaying the MPC requests from the mobile application and the starting location of MPC.

mpcTruckSchedule1

On clicking the Find Optimal Route button, the underlying OptaPlanner service pulls the truck request data from Data Grid and computes an optimal route based on the configured constraints.

mpcTruckSchedule2

The pins in the map are numbered indicating the truck stops based on the computed optimal route.

Using OptaPlanner, we were able to solve a planning problem of truck’s schedule by maximizing sales revenue opportunity, reducing fuel and labor costs under constraints such as dates, location and driving times.


Comments Permalink
 tagged as use case vehicle routing

Comments

Visit our forum to comment
  • Unit testing constraints with business input fr...
  • How much faster is Java 11?
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