rostudel optimization as a service rostudel.com. oaas (optimization as a service) or : theory + code...
TRANSCRIPT
OAAS (Optimization As A Service) OR : Theory + code
(libraries+modelers) Architecture Consulting R&D : Seminars, University
rostudel.com
OR CRISIS ?
4 success stories : we can actually use OR for realistic problems
OAAS can brand OR to Operational Resources, not only to a dedicated PHd Team
rostudel.com
1st Story : Scheduling People Retail organizations : employees, activities,
constraints, workload, daily patterns, week scope => timetable at a 15 minutes detail
LP to cover workload + BALAS to linearize disjunctions
Dynamic Programming + CP + dominacy rules to generate Shift
Branch and Price when final MIP isn’t enough
rostudel.com
rostudel.com
2nd story : Smooth Cars Purchase with split batches. Balance holding cost and day demand
JAN JUN
rostudel.com
63.16
73.16
83.16
93.16
103.16
113.16
111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Categ 18 Source _nopic
J our Mois
Données21
12
10
Demande constante de 96 véhicules par jour couverte par deux batchs: une arrivée de 43 véhicules un départ de 12 véhiculesune partie fixe de 63 véhicules
Sometimes OR is painless ! Solves to optimality with a MIP Easy to compare to previous
solution Easy to sell Easy to extend => more batches,
wider time window, plug with long term purchase application
rostudel.com
3rd Story : DIGITAL PRODUCTION A job shop problem with machines,
stockers, people and trolleys Semiconductors : Billions € spent in
the plant, almost no tool for optimization before “FAB300”
rostudel.com
PR
I_R
S2
03
ST1
07
ST1
08
ST1
14
ST?
LE2 LE1
LE3
TM
7 0
1
TM
7 1
5
TM
7 1
4
TM
7 1
1
TM
7 1
2
TM
7 1
3
TM
7 1
0
TM
7 0
9
TM
7 0
8
TM
7 0
7
TM
7 0
6
TM
7 0
5
TM
7 0
4
TM
7 0
3
TM
7 0
2
OV
1O
V2
OV
3O
V4
CD
8C
D7
CD
6C
D5
CD
4C
D3
CD
2C
D1
Scenario :déroulement processus (1 lot, 1 niveau)
NP is not good for CRM
CP dedicated ILOG SCHEDULER LNS Problem tackles only small instances
Improve LNS Use customer heuristic Forward : “warm rescheduling” with
“encours”
rostudel.com
rostudel.com
TRIPS/TIMES O-D
05:00
06:00
07:00
08:00
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
18:00
19:00
20:00
21:00
22:00
23:00
TRIP OD224 LON-YOR
TRIP OD225 LON-YOR
TRIP OD226 LON-LEE
TRIP OD227 LON-YOR
TRIP OD228 LON-YOR
TRIP OD229 LON-LEE
TRIP OD230 YOR-LEE
TRIP OD231 LON-YOR
TRIP OD232 LON-LEE
TRIP OD233 LON-YOR
TRIP OD234 LON-YOR
TRIP OD235 LIV-LEE
TRIP OD236 LON-YOR
TRIP OD237 LON-YOR
TRIP OD238 LON-LEE
TRIPS MAY REQUIRE A SPECIFIC SET OF SKILLS
4th story : Generating Cab Moves Covering with Shifts
OPL CP syntax to get rid of cycles
nbLegs[Source] == 0;
forall(c in CaBMovesSource : c!=Source)
{
(prev[c]!=c) => (nbLegs[c] == 1 + nbLegs[prev[c]]);
(prev[c] == c) => (nbLegs[c] == 0);
}
Use OPL5.2 : one week compare to 3 years !
Solver Component
Constraint Programming (CP)
(Ilog Solver)
Specific constraints
Simplex (LP)
(Ilog Cplex)
MIP
(Ilog Cplex)
Column
Generation
« Shortest path »
Algorithm
rostudel.com
OAAS other stories…
Work together : one consulting company XXXX Military Communication QOS expected : assign radio gears under
constraints Perfect MIP model (100,000 binary variables,
good solution after 30 sec) Nobody to code : J2EE expected with DB XXXX ROSTUDEL TELASIDE SPRING + HIBERNATE (MySQL...) + CPLEX JAVA
MOVING FORWARD
“People on the Operations” enjoy mature code and products
A new market for consulting and support , besides traditional OR consumers
The fish is ready to byte : the door is open for “Serious OR” with “Huge” volume of data.
TV Add Campaign MIP : 100,000 rows 155,000 variables (100,000 booleans) 2 millions Non Zeros
rostudel.com
Questions ?