Business Optimizer is an optimization engine (or “constraint satisfaction solver”) platform provided with Red Hat Decision Manager. It enables regular Java developers to create solvers for complex planning problems using a variety of out-of-the-box provided algorithms.
5. EMPLOYEE ROSTERING
● Business Value
○ +53% Employee well-being
○ (average on real benchmark versus traditional
algorithms, Nurses case)
● Users:
○ Hospitals
○ Call Centers
○ Pole and Fire Departments
○ Court of Justice
Assign shift to employee more efficiently
5
6. ● Business Value
○ -15% Driving Time
○ (based on real benchmark versus
traditional algorithms, Belgium datasets)
● Users:
○ Supermarket & Retail Stores
○ Freight Transportation
○ Buses, Taxis & Airlines
○ Technicians on the road
VEHICLE ROUTING
Assign the delivery order more efficiently
6
7. CLOUD OPTIMIZATION
● Business Value
○ -18% Cloud Hosting Costs (avg)
○ -63% Hardware Congestion (avg)
● Users:
○ Data Centers automation
Assign process to machines more efficiently
7
8. Planning problems falls in the category of
NP-Complete or NP-Hard problems.
In other words if you want to solve them exploring
all possible solutions it takes years!
Millions of years...
Mathematicians found a set of algorithms that are
able to find quickly an “approximate optimal
solution”
Business Optimizer implements the most effective
algorithms and provide a simple way to design and
solve your specific problem.
DID YOU KNOW?
Incredibly huge search space
8
9. Example: Employee Rostering
310 shifts to plan with 4 weeks of advance
100 employees
=>
1 shift -> 100 ways to assign
2 shifts -> 100 * 100 = 10000 ways
(...)
310 shifts -> 100310
ways = 10311
STILL SKEPTIC?
BTW 1080
is the number of atoms in observable universe!!!
Let’s do the math!
9
12. Anatomy of Planning Application
12
Integration
Existing
Enterprise
Information
Systems
Persistence
Store
Planning
Results
Planning Algorithm
Algorithms
From
Research Papers
User Interface
13. Business Optimizer: the third way
EFFORT / COMPLEXITY
ADAPTABILITY
Vertical Solution
(Buy)
Custom Code
(Make)
Business OptimizerPros:
➢ Quick Adoption
➢ UI Ready to go
Cons:
➢ Limited adaptability
➢ Vendor lock-in
➢ Limited tuning (optimal?)
Pros:
➢ Maximum flexibility
➢ Language of choice
➢ Faster?
Cons:
➢ Error prone
➢ Huge development investment
➢ High skilled developers
➢ Optimization Matter Expert
The Third Way
13
15. FIND THE SOLUTION
Solver configuration
Domain
model
Scoring
logic
Solving application
buildSolver =
solverFactory.buildSolver();
solution =
buildSolver.solve(problem);
How It Works
15
Problem
JohnLucy Ali
Day 1 Day 2 Day 3
Shifts
Solution
John Lucy Ali
Day 1 Day 2 Day 3
Shifts
16. DESIGN THE DOMAIN MODEL
Shift
spot
startDateTime
endDateTime
pinnedByUser
rotationEmployee
Employee
name
contract
skillProficiencySet
employee
1
Which is the planning entity?
The class that Planner can change during
solving. In this example, it is the class Shift,
because Planner can assign employees to
shifts.
Employee Rostering (UML)
16
18. ● The score is an objective way to compare two solutions.
● The Solver aims to find the Solution with the highest Score of all possible solutions.
● What are the employee rostering goals?
○ Assign all the shifts an employee with the required skills
○ Satisfy as much as possible employee needs
● Often a score constraint outranks another score constraint
● In that case, those score constraints are in different levels (Hard constraints and Soft
Constraints)
○ Skills for a shift are fulfilled, then satisfy the employee day preference.
SCORING A SOLUTION
Given 2 solutions which one is the better?
18
19. Score logic: when the employee has less than 12 hours rest add constraint match -1
Incremental: means that you avoid re-evaluate all the employee but just calculate the difference
CALCULATE SCORING
Day 1 Day 2 Day 3
Shift 1
Shift 2
Shift 3
JohnLucy
Ann
Ali
Lucy John
AliAnn
Ann
Day 1 Day 2 Day 3
Shift 1
Shift 2
Shift 3
JohnLucy
Ann
Ali
Lucy
John
AliAnn
Ann
INSERT
MOVE
SWAP
MOVE
Move by move
19
20. ScoringPossible SolutionsProblem
DESIGN YOUR SCORING LOGIC
Hard score: -2
Soft score: 0
Hard score: 0
Soft score: -3
Hard score: 0
Soft score: -2
Which solution is the best?
20
JohnLucy Ali
Day 1 Day 2 Day 3
Shifts
Day 1 Day 2 Day 3
Shifts JohnLucy Ali
Day 1 Day 2 Day 3
Shifts John LucyAli
Day 1 Day 2 Day 3
Shifts John Lucy Ali
21. CALCULATE COMPUTER COST
Required skills
21
rule "Required skill for a shift"
when
// There is a shift whose skills are not fulfilled
Shift(
employee != null,
!employee.hasSkills( spot.getRequiredSkillSet() )
)
then
scoreHolder.addHardConstraintMatch(kcontext, -100);
end
Day 1 Day 2 Day 3
Shifts JohnLucy Ali
MATCH
MATCH
-200
23. HOW THE SOLVER WORKS?
The solver use a Metaheuristics strategy:
Construction Heuristics
Local Search
Based on years of experience and a large
number of benchmark, it’s the most effective
approach.
Metaheuristics
23
24. There is no golden rule to find the perfect algorithms:
Heuristic Search:
● First Fit, First Fit Decreasing, Weakest Fit, Weakest Fit
Decreasing, Strongest Fit, Strongest Fit Decreasing,
Allocate Entity From Queue, Allocate To Value From Queue,
Cheapest Insertion, Regret Insertion, Allocate From Pool
Local Search:
● Hill Climbing (Simple Local Search), Tabu Search, Simulated
Annealing, Late Acceptance, Step Counting Hill Climbing,
Strategic Oscillation
TWEAKING THE SOLVER
Golden Rule
24
25. BENCHMARKER
The benchmarker helps up to test:
● different solver configurations
● different data sets
Present results in a graphical view
Highlight performance issues and drive fine tuning
25
27. Airline Companies have many optimisation challenges
CUSTOMER CASE
27
Aircraft maintenance
Goals: schedule maintenance tasks, minimize aircraft unavailability.
Constraints: parts availability, skill availability, time slots
Hotel Allocation
Goals: minimize hotel room occupation (save money), keep together the
crew when abroad (at least flight crew and cabin crew). Constraints:
availability of pre-booked rooms, hotel occupancy rules, cleaning time.
Vacation Planning
Goals: satisfy crew needs and ensure company operations.
Constraints: follow the right priorities seniority, family links, rotation;
Crew Optimization
Goals: assign crew to flights, minimize contractors.
Constraints: skills, crew unavailability, ground duties, rest periods, max
flight duty period, iata flights (minimize), etc...
28. ThyssenKrupp Elevator
CUSTOMER CASE
28
Manufacturing and Maintenance
Business Challenge
Create schedules for hundreds of mechanics having over 2000
routes in a week.
Outcomes
● Reduce/eliminate missed maintenance
● Reduce break fix
● Increased customer service
● Increased service efficiencies
29. Nissan
CUSTOMER CASE
29
Automotive
Business Challenge
In April 2014, Nissan opened a new production plant in Brazil with an annual
production capacity of 200,000 vehicles.
The company wanted to optimize how they distributed vehicles from the
new plant to their 160 dealerships across the country by accounting for
local buying habits.
Outcomes
“It is now possible to process eight months
of production plans at our Brazil plant in
approximately two minutes. This provides a
system more than 10 times faster than what
we use in Japan.”
KOICHIRO SAKAKIBARA
ASSISTANT MANAGER, ENTERPRISE ARCHITECTURE DEPARTMENT,
GLOBAL IT HEADQUARTERS, NISSAN MOTOR CO., LTD
30. North American Telco Company
CUSTOMER CASE
30
One of the world’s largest telecommunications company
Business Challenge
An inefficient schedule planning tool for assigning skilled technicians to jobs incurred
high overhead costs and caused time loss in inefficient transit routing. Poor
satisfaction was negatively affecting both customers and technicians
Solution Overview
Red Hat’s Business Optimizer is successfully applied to optimize the technician
assignment and routing responsibilities.
Business Optimizer handle many constraints: technician’s location, skillset, and their
current availability against job windows and other preferences. Integrating with
GraphHopper, a third-party tool, allows to optimally plan a route for a technician that
reduces miles on the road and commute time.
Outcomes
Saving for 200M$ per year
Both technicians and end customers are happier through a faster, and more efficient
means of quality-consistent service delivery