- 49 Views
- Uploaded on
- Presentation posted in: General

Decision-making Levels on Logistics Engineering

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Decision-making Levels on Logistics Engineering

deals with decisions that have a long lasting

effect on the firm.

Strategic level

includes decisions that are updated anywhere

between once every quarter and once every year.

Tactical level

Vehicle Routing Problem

Operational level

deals with day-to-day and

real-time decisions.

INFORMS

SEOUL 2000

Vehicle Routing Problem with

Time Windows (VRPTW)

route

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.

tour

depot

earliest start time

latest start time

vehicle

customer

customer

earliest start time

latest start time

waiting

time

service time

customer

- 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

service time

Component Structure

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

- 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.

INFORMS

SEOUL 2000

Main Classes and Algorithm Classes

Book “Design Patterns: Elements of

Reusable Object-Oriented Software”,

Gamma-Helm-Johnson-Vissides, 1995.

Strategy define a family of algorithms, encapsulate

each one, and make them interchangeable.

p_Algo

VRPMain

declares a function Run that calls

function Execute of VRPAlgo object.

Run()

p_Algo

VRPAlgo

Execute()

ExecuteChild()

p_Algo→Execute()

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.

ConcVRPAlgo1

ConcVRPAlgo2

Execute()

Execute()

INFORMS

SEOUL 2000

Solution Classes

DLList

c

a

a

c

d

b

d

b

P_TourArray

Tour

Route

Next()

Prev()

Between()

Flip()

Insert()

Delete()

manages the objects of the subclasses of

class Tour for each tour.

Procedure Two-opt Local Search

restart: tour representation

for i=1 tondoarraytwo-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( )

gotorestart

represents doubly linked list.

: array

n <

Fredman, Johnson, McGeoch

and Ostheimer 1995

INFORMS

SEOUL 2000

Data Classes

GWGraphmanages k-dimensional vertices and has a function that returns

attributes between vertices.

CustomerSetis a subclass of GWGraph and manages additional data

related to customers.

Vehiclemanages data related to vehicles.

KdTreerepresents 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.

INFORMS

SEOUL 2000

Semidynamic K-d Tree (Frnn)

cutdim = X

cutval = X(5)

④

①

②

⑫

⑦

⑤

⑪

cutdim = Y

cutval = Y(3)

cutdim = Y

cutval = Y(11)

③

⑥

⑩

⑧

⑨

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

INFORMS

SEOUL 2000

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)

VRPAlgo

Execute()

Each algorithm is implemented in

function Execute of the concrete

subclass of VRPAlgo class.

MltFragment

CrossOptLS

Execute()

Execute()

INFORMS

SEOUL 2000

Handling Time Window Constraints (1)

Q

P

R

p1

pk

q1

ql

TTP : total time (sum of travel time and service time) on path P

EDP : 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)

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

resulting path R is feasible if and only ifEDP+Tpk,q1≦LAQ

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}

INFORMS

SEOUL 2000

Kindervater and Savelsbergh 1997

Handling Time Window Constraints (2)

TTto, EDto, LAto

p

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.

INFORMS

SEOUL 2000

VRPTW Control

VRP.SetData(data and parameta files)

VRP.SelCstAlgo(id)

VRP.SelImpAlgo(id)

VRP.Construct(parameta)

VRP.Improve(parameta)

Improve

VRPTW

Control

Construct

SetData

SelCstAlgo

SelImpAlgo

INFORMS

SEOUL 2000

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.

INFORMS

SEOUL 2000