Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect...

12
sion-making Levels on Logistics Enginee deals with decisions that have a long las effect on the firm. includes decisions that are updated anywh between once every quarter and once every deals with day-to-day and real-time decisions. Vehicle Routing Problem INFORMS SEOUL 2000

Transcript of Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect...

Page 1: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Decision-making Levels on Logistics Engineering

deals with decisions that have a long lastingeffect on the firm.

includes decisions that are updated anywhere between once every quarter and once every year.

deals with day-to-day and real-time decisions.

Vehicle Routing Problem

INFORMSSEOUL 2000

Page 2: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Vehicle Routing Problem with Time Windows (VRPTW)

vehicle

route

customer

depot tour

Given a set of customers requiring a quantity of goods to be delivered and a fleet of vehicles located at a central depot, the objective is to find a set of feasible tours (route) for the vehicles of minimal objective function value.

service timewaitingtime

earliest start time

customer

latest start time

earliest start time

customer

latest start time

service time

• Each customer is visited by exactly one vehicle.• The limited capacity for each vehicle must be respected. • The beginning time of service at each customer must occur in its time window. INFORMS

SEOUL 2000

Page 3: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Component Structure

• Algorithm Classes implement algorithms by which the problem is solved.

• Solution Classes represent a structure of solution.

• Data Classes manage the data that define the problem.

• Main Classes reference and control all objects of the above classes.

The software is developed subject to an object-oriented manner and is coded in C++.

INFORMSSEOUL 2000

Page 4: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Main Classes and Algorithm Classes

VRPMainRun()

VRPAlgoExecute()

ExecuteChild()

p_Algo

p_Algo

p_Algo→Execute()

ConcVRPAlgo1

Execute()

ConcVRPAlgo2

Execute()

declares a function Run that calls function Execute of VRPAlgo object.

declares a virtual function Execute and self-reference pointer p_Algo.

Algorithms for solving the problem are implemented in function Execute of a concrete subclass of VRPAlgo class.

Strategy define a family of algorithms, encapsulate each one, and make them interchangeable.

Book “Design Patterns: Elements ofReusable Object-Oriented Software”,Gamma-Helm-Johnson-Vissides, 1995.

INFORMSSEOUL 2000

Page 5: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Procedure Two-opt Local Searchrestart: tour representationfor i=1 to n do array two-level tree a:=tour[i] b:=Next(a) O(1) O(1) for all c Frnn(a, |ab|) ∈ do d:=Next(c) O(1) O(1) if |ab|+|cd| > |ac|+|bd| then Flip(a, b, c, d) O(n) O( ) goto restart

n

Solution ClassesRoute Tour

Next()Prev()

Between()Flip()Insert()Delete()

DLList

a

b

c

dbd

a c

P_TourArray

n < : array103

Fredman, Johnson, McGeoch and Ostheimer 1995

manages the objects of the subclasses ofclass Tour for each tour.

represents doubly linked list.

INFORMSSEOUL 2000

Page 6: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Data ClassesGWGraph manages k-dimensional vertices and has a function that returns attributes between vertices.

CustomerSet is a subclass of GWGraph and manages additional data related to customers.

Vehicle manages data related to vehicles.

KdTree represents semidynamic k-d tree data structure (Betley 1990).

NN(i) returns the index of the nearest neighbor to vertex i.Frnn(i, rad) asks which vertices in the set are contained in a given sphere that is defined by vertex i and radius rad.Deletept(i) removes vertex i from the set.Undeletept(i) returns vertex i to the set.

INFORMSSEOUL 2000

Page 7: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

⑧⑨⑩

cutdim = Xcutval = X(5)

⑥⑨③ ②①⑤ ⑧⑩⑪ ⑦④⑫

cutdim = Ycutval = Y(3)

cutdim = Ycutval = Y(11)

Semidynamic K-d Tree (Frnn)

INFORMSSEOUL 2000

Page 8: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Algorithms for VRPTW• Route Construction Heuristics construct an initial route for route improvement heuristics. (multiple fragment method, saving method, insertion method, grasp)• Route Improvement Heuristics make an attempt to improve a given route by neighborhood search for a better one. (cross-opt local search, (1,0)-opt tabu search)

MltFragment CrossOptLS

VRPAlgo

Each algorithm is implemented in function Execute of the concretesubclass of VRPAlgo class.

Execute() Execute()

Execute()

INFORMSSEOUL 2000

Page 9: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Handling Time Window Constraints (1)

Kindervater and Savelsbergh 1997

p1 pk q1 ql

P Q

TTP : total time (sum of travel time and service time) on path PEDP : earliest departure time at customer pk of path P, assuming customer p1 is arrived at Ep1

LAP : latest arrival time at customer p1, such that the time window constraints of all the customers on path P are satisfied(E :earliest start time, L :latest start time, S :service time, T :travel time)

Proposition If two (vertex-disjoint) feasible paths P and Q are concatenated, the

resulting path R is feasible if and only if   EDP+Tpk,q1LA≦ Q

and the variables for the resulting path R are given as follows.

TTR=TTP+Tpk,q1+TTQ

EDR=max{EDP+Tpk,q1+TTQ , EDQ}

LAR=min{LAP , LAQ‐TTP‐Tpk,q1}

R

INFORMSSEOUL 2000

Page 10: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Handling Time Window Constraints (2)

p

TTto, EDto, LAto

TTfrom, EDfrom, LAfrom

TTtop : total time (sum of travel time and service time) on the path {depot, … , p}EDtop : earliest departure time at customer p of the path {depot, … , p}, assuming depot is left at Edepo

LAtop : latest arrival time at depot (latest departure time from depot), such that the time window constraints of all the customers on the path {depot, … , p} are satisfied

For path {p, … ,depot}, variables TTfromp, EDfromp

and LAfromp are defined similarly.INFORMSSEOUL 2000

Page 11: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

VRPTW Control

ConstructImprove

SetDataSelCstAlgoSelImpAlgo

VRP.SetData(data and parameta files)VRP.SelCstAlgo(id)VRP.SelImpAlgo(id)VRP.Construct(parameta)VRP.Improve(parameta)

VRPTWControl

INFORMSSEOUL 2000

Page 12: Decision-making Levels on Logistics Engineering deals with decisions that have a long lasting effect on the firm. includes decisions that are updated anywhere.

Concluding Remarks

• We showed how to combine the techniques of which effectiveness are proven from the literature through our implementation.

• We illustrated a way of developing VRPTW software that is easy to use and maintain.

• This work is a first step toward developing fundamental software components to deal with complex problems on logistics.

INFORMSSEOUL 2000