17
ROSTUDEL OPTIMIZATION AS A SERVICE rostudel.com

ROSTUDEL OPTIMIZATION AS A SERVICE rostudel.com. OAAS (Optimization As A Service) OR : Theory + code (libraries+modelers) Architecture Consulting R&D

Embed Size (px)

Citation preview

ROSTUDEL

OPTIMIZATION AS A SERVICE

rostudel.com

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

Timetable

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

VRO-1 : Duties       

               

   

       

     

       

Base 1

Base 2

Base 1

Base 2

LON-YOR0D224

LEE-YOR0D242

YOR-BIR0D289

rostudel.com

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 ?