1 Optimization under Uncertainty for Advanced Planning and

  • Slides: 32
Download presentation
1

1

Optimization under Uncertainty for Advanced Planning and Scheduling 2

Optimization under Uncertainty for Advanced Planning and Scheduling 2

One Software, Many Solutions Customer Specific Models Industry Solutions Quintiq Application Suite Change Handler

One Software, Many Solutions Customer Specific Models Industry Solutions Quintiq Application Suite Change Handler Gantt cache Authorization Delta Propagation Session Manager Representations Selecting Attributes Image Configure Attributes Options Filtering Views Daemons External Model Client Visualization Components Designer Undo/Redo Delta propagation Security Software Transactional Memory Highlighting Reporting Standard Features Calendar Editor Analysis KB Docking Panels. Chart Gantt List Custom Basic Editor chart Draw. Components Propagator Datasets Calendars Transaction Communication Manager Layer Server Sorted Relations Knowledge Tables Business Methods Path Optimization Persistent Algorithm Program Mathematical POA Program Analysis MP Persistent Analysis Algorithm CLP Constraint Analysis Logic GIS Integration Daemons Messaging SOAP LDAP. NET Benchmarking Solomon Optimizers Mobility Server Special Logic Functions Graph Algorithms Internal Storage ODBC 3 Business Logic Architect Editor LDAP User Licensing Administrator Tools Deployment Configuration Utility Deployment Log Analyzer Log Viewer Configuration API

Quintiq Basic Architecture Dispatcher Java Thin Client Windows Client Presentation Layer Thin Client Engine

Quintiq Basic Architecture Dispatcher Java Thin Client Windows Client Presentation Layer Thin Client Engine Dispatcher Quintiq Server Business Layer Data Layer ODBC Integrator Interface DB Internal DB 4 External system

Software Features (Overview) CLIENT FEATURES List Dialog & Basic Components Custom Draw Chart Gantt

Software Features (Overview) CLIENT FEATURES List Dialog & Basic Components Custom Draw Chart Gantt chart GUI Designer Business Logic Editor System Monitor Configuration Utility User & License Administrator SERVER FEATURES Quill Propagator Modeling Constructs Calendars Knowledge Base ALGORITHM OVERVIEW Quill Constraint Programming Simulated Annealing Graph Algorithms Mathematical Programming Analysis Export Printing Report Configuration SQL Server Reports ODBC Messaging SOAP . NET File TOOLS REPORTING OVERVIEW INTEGRATION OVERVIEW 5

Goals for the year Ø Learn about Quintiq, POA, MIP, column generation, Local Search,

Goals for the year Ø Learn about Quintiq, POA, MIP, column generation, Local Search, Ø Large Neighborhood Search, Constraint Programming (Gecode) Ø Learn about the Quintiq Optimization code and how it is organized. Ø Follow courses supporting the research goals. Ø Doing a literature study on optimization under uncertainty / robust advanced planning and scheduling. Ø Studying a Quintiq optimization problem: Ø Ø VRPTW (DHL) Ø Flexible flow shop problem Writing a paper about solving this optimization problem. 6

VRPTW 7

VRPTW 7

Decision variables 8

Decision variables 8

VRPTW Objective 9

VRPTW Objective 9

VRPTW constraints: 10

VRPTW constraints: 10

Examples 11 routes, distance 1138. 88 10 routes, distance 828. 94 11

Examples 11 routes, distance 1138. 88 10 routes, distance 828. 94 11

Demo 12

Demo 12

Solutions found in literature Ø Ø Exact solutions Ø MIP, Lagrangian relaxation, column generation,

Solutions found in literature Ø Ø Exact solutions Ø MIP, Lagrangian relaxation, column generation, branch and cut, dynamic programming Ø Solves instances to about 100 nodes Heuristic and meta-heuristics Ø Genetic algorithms, local search, scatter search and many more. Ø Able to solve large instance 1000 nodes and upwards, but guarantees no optimality. 13

Constraint Programming Ø Paradigm to solve combinatorial optimization problems. Ø One states the problem

Constraint Programming Ø Paradigm to solve combinatorial optimization problems. Ø One states the problem in terms of variables and constraints after which a search procedure is used to find a solution 14

CSP 15

CSP 15

CP Ø In a Constraint Optimization Problem we have an objective function value f(a)

CP Ø In a Constraint Optimization Problem we have an objective function value f(a) for each assignment a. Ø The problem is to find an assignment with optimal (minimal/maximal) objective value 16

CP Search Propagation Backtrack Add lower/upper bound and backtrac 17

CP Search Propagation Backtrack Add lower/upper bound and backtrac 17

Large Neighboorhood Search (LNS) Ø Initial solution is gradually improved by alternately destroying and

Large Neighboorhood Search (LNS) Ø Initial solution is gradually improved by alternately destroying and repairing a subset of the solution. Ø Successfully applied to the VRPTW already in adaptive fashion [Pisinger. Ropke 05] Ø Idea: Use a CP model to Ø Use propagation to increase the search speed Ø Be able to add any complex side constraints 18

CP LNS Ø Full CP approach is unable to find even a feasible solution

CP LNS Ø Full CP approach is unable to find even a feasible solution for 30+ customers in reasonable time. Ø Relax (and constrain) a part of the variables (neighborhood) and optimize these separately Ø Key decisions Ø How do you choose the right neighborhood? Ø How large should it be? 19

CP LNS Framework Add new lower bound Initial solution Choose neighboor hood Better solution

CP LNS Framework Add new lower bound Initial solution Choose neighboor hood Better solution found Relax Solution Search Timeout or infeasible 20

Neighboorhoods for the VRPTW Ø Radius from depot Ø Random Ø Nearest customers Ø

Neighboorhoods for the VRPTW Ø Radius from depot Ø Random Ø Nearest customers Ø Pairs of routes Ø Segements Ø Many more 21

Relaxation strategies Ø Strict Ø Ø Only the removed orders are considered (rest of

Relaxation strategies Ø Strict Ø Ø Only the removed orders are considered (rest of the solution remains fixed) Loose Ø Every removed customer visit can potentially be inserted everywhere in the solution Ø Requires adding a domain constraint during the search 22

Implemention Ø In Quintiq using Quill and Gecode interface Ø Improvements to software Ø

Implemention Ø In Quintiq using Quill and Gecode interface Ø Improvements to software Ø Ø Ability to add constraints during the search Ø Addition of lazy constraint propagation Ø Improving performance of user actions Solved issues Ø Ø CP model to large for 1000 plus nodes Current issues: Ø Memory leak issue in user actions 23

Preliminary results 24

Preliminary results 24

Generating routes using DP Ø A fast polynomial algorithm exists to calculate the s

Generating routes using DP Ø A fast polynomial algorithm exists to calculate the s -t monotone shortest path having the highest reward. Ø Idea: Combine this into set cover/column generation Ø Demand is reward, collecting more reward costs travel time Ø Challenge: Find good tradeoff 25

VRPTW with uncertain travel times Ø For longer routes, probability that you arrive on

VRPTW with uncertain travel times Ø For longer routes, probability that you arrive on time decreases Ø Problem for tight due date constraint Ø Most optimal scheduling solutions are very tight and therefore not usable in practise 26

VRPTW with uncertain travel times Example: Ø Suppose that we have a route R

VRPTW with uncertain travel times Example: Ø Suppose that we have a route R with 20 stops Ø The traveltime (m) is normally distributed N(30, 2) Ø There is a hard due time at the last stop of 600 minutes Ø The arrival time at the last stop is: Ø The probability you are more than half an hour late is Ø P(Z > 630) ≈ 0. 23 27

VRPTW with uncertain travel times Ø Travel time between to locations is typically log

VRPTW with uncertain travel times Ø Travel time between to locations is typically log normally distributed or derived from statistical data Ø Difficult to add these exact Ø Solution: Use approximations Ø Travel distance against reliability Ø Additional challenge: Ø Time dependent travel times Arrive at each stop k in R with a certain reliability 28

Flexible flow shop problem (FFS) Ø Set of operations Ø Set of machines Ø

Flexible flow shop problem (FFS) Ø Set of operations Ø Set of machines Ø Each operation is allowed to be executed on a subset of machines Ø Minimize makespan, subject to: Ø sequence constraints per job Ø no overlap of operations per machine 29

Uncertainty levels FFS Ø Machine breakdowns Ø Machine and operation dependent processing times 30

Uncertainty levels FFS Ø Machine breakdowns Ø Machine and operation dependent processing times 30

Conclusion Ø VRPTW and CP LNS Ø Promising but needs to be improved Ø

Conclusion Ø VRPTW and CP LNS Ø Promising but needs to be improved Ø Add cooling schedule instead of hill climbing Ø Replanning/optimizing a neighborhood should be faster Ø Increase propagation strength Ø Experiment with branching strategies Ø Make it adaptive Ø Generating s-t routes with dynamic programming Ø Currently on hold Ø Add uncertainty levels for VRPTW and FFS 31

Questions 32

Questions 32