1 / 12

Decision-making Levels on Logistics Engineering

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.

ros
Télécharger la présentation

Decision-making Levels on Logistics Engineering

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

  7. Semidynamic K-d Tree (Frnn) cutdim = X cutval = X(5) ④ ① ② ⑫ ⑦ ⑤ ⑪ cutdim = Y cutval = Y(3) cutdim = Y cutval = Y(11) ③ ⑥ ⑩ ⑧ ⑨ ⑥⑨③ ②①⑤ ⑧⑩⑪ ⑦④⑫ INFORMS SEOUL 2000

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

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

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

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

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

More Related