Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
1,13 MB
Nội dung
HO CHI MINH INTERNATIONAL UNIVERSITY VIETNAM NATIONAL UNIVERSITY DEPARTMENT OF INDUSTRIAL ENGINEERING MANAGEMENT Logistics Engineering & Supply Chain design REPORT: Vehicle Routing With Rescheduling In Game Setting Lecturer: MSc Mai Thuy Dung GROUP 08 Students’ names: Huynh Ngoc Hai IELSIU17054 Ho Anh Phu Don IELSIU17005 Vu Bao Tran IELSIU15109 Tran Quoc Bao IELSIU17051 HCMC - 06/06/2020 Table of Contents CHAPTER 1.1 INTRODUCTION The transport problem is one of the major challenges that people face in their daily activities Beside that transport of goods and services is also an important issue of concern in today's society A huge amount of money is expended everyday on gasoline, goods and service supply, repair of facilities, and so on Generally, the central activity of transport and distribution companies is to supply goods from one or more warehouses to meet the needs of their customers by sending drivers on a specified route Such routes can be represented using a graph where the customers are vertices and the roads are arcs and the costs associated with each arc can be the duration, the travel time or the amount of fuel used Figure 1:demonstrates that such a simulation is called VRP, which helps to reduce the overall costs incurred during the delivery project while respecting the different constraints Typically, the distribution or collection of goods from customers to the warehouse is referred to as a VRP or Vehicle Scheduling Problem The VRP introduced by Dantzig & Ramser (1959) has become a central problem in distribution management The distribution of goods concerns the service, over a given period of time, to a set of customers by a fleet of vehicles located in one or more warehouses Such vehicles are driven by a group of crews (drivers) and operate by means of an adequate network In particular, the solution of the VRP calls for the determination of a set of routes, each of which is carried out by a single vehicle that starts and ends at its own warehouse, so that all customer requirements are met, with certain operational constraints and the overall cost of transport is minimized Due to its various industrial applications, the VRP has created hundreds of variants with additional characteristics such as heterogeneous fleets of vehicles, multiple depots, multi-period 2 horizons, etc It is also a laboratory problem to test new ideas for optimization As quoted by Laporte (2009), “The study of the VRP has given rise to major developments in the fields of exact algorithms and heuristics In particular, highly sophisticated mathematical programming approaches and powerful metaheuristics for the VRP have been put forward in recent years” VRP is a computationally difficult problem due to the collection of many available routes while several algorithms (such as heuristic and exact algorithms) have been proposed over the years The problem is how to come up with a solution that will be fast and effective VRP's aim is to find an optimal route from a set of routes where each vehicle starts from a depot (say node A) and connects all customers, and then returns to depot A The VRP is a problem of combinatorial optimization and integral programming that finds an optimal path to deliver goods and services to a finite set of customers For many decades the VRP has been a concern and one of the most studied problems in logistics engineering, applied mathematics and computer science, and which is presented as discovering optimal routes for a vehicle fleet to serve certain distributed customers from depot In other words, VRP involves a vehicle delivering goods (and services) to multiple customer nodes and when the vehicle runs out of items it must return to the deport to pick additional goods in order to continue supplying the customers A vehicle visits a customer exactly once and the vehicle has to return to the depot from which it started Figure 2:Vehicle Routing Problem 1.2 PROBLEM STATEMENT In the classical VRP, a routing schedule is found to satisfy demand by supplying goods stored at the depot before delivery, such that the traveling cost are minimized However, in reality, a situation that often occurs is that the delivery man cannot always deliver goods to customer at the first time Costs are incurred for deviation in the schedule The problem of reassigning schedule in real-time to this incurred trip as well as to other scheduled trips with given starting and ending times is referred to as the vehicle rescheduling problem Namely, the vehicle routing with rescheduling problem is a case study of Lazada Group which is an international e-commerce company with a presence in six country: Indonesia, Malaysia, the Philippines, Singapore, Thailand and Vietnam The company faces the problem 3 of routing and rescheduling the delivery orders to customer in case that the delivery man can not deliver goods package at the first time but has to reschedule for another time This task manually has been done using the past experience of the delivery man Therefore, the company may not achieve the optimal solution The problem is defined: the mathematical model should be developed to reschedule for delivery routing; As a delivery is rescheduled, the delivery man has two options: either brings the package back to the depot, or drop the package at a nearby convenience store for pickup 1.3 OBJECTIVE In this project, our goal is to find optimum set of routes for certain vehicles delivering goods or services to some known locations We propose a rescheduling model in which the goal is to find a new schedule to reduce the cost of supplying a group of customers with products stored in a warehouse and find an optimal set of routes for certain vehicles that transport goods or services to certain known locations There is a network of vehicles that can accommodate consumers, each vehicle has a maximum capacity that cannot be surpassed All vehicles have the same starting point, the factory, and they carry goods to various destinations in order to meet the needs of customers We will formulate a mathematical model for the CVRP problem to achieve that goal Throughout this study, we are designing a reinforcement learning methodology to identify optimal routes from the factory to the customer base, while also considering vehicle capacity, throughout order to minimize the cost of transporting goods and services Using a graph, we model the real-life problem, which consists of vertices and edges Where the vertices represent the known locations, and the edges show the direction between the locations 1.4 SCOPE & LIMITATION The project focus on the development of the vehicle routing with rescheduling in game setting software for delivering goods so that the expected costs incurred after rescheduling are minimized CHAPTER 2.1 METHODOLOGY AND MATHEMATICAL MODELING In this section we define the problem under study, and the notation used throughout the chapter Customers The problem is given by a set of customers = {1, 2, , n} , residing at n different locations Every pair of locations (i, j) , where i, j ∈ N and i ≠ j , is associated with demand of customer at location i And cij: travelling cost between i and j that are symmetrical (cij = c ji) The central depot is denoted by 4 Fleet of vehicles The customers are served from one depot with a homogeneous and limited fleet The vehicles leave and return to the depot There is a set of vehicles ={1, ,v}which v is index of , with identical capacities The capacity of each vehicle k ∈V In traditional vehicle routing problem, once the route is set, the delivery man will follow the designated route However, in reality, as many third-party carriers face, it is not the case that the delivery man can deliver packaged goods at the first time but has to reschedule for another time As a delivery is rescheduled, the delivery man has two options: either brings the package back to the depot or drops the package at a nearby convenience store for pickup We let Xcoord is latitude, Ycoord is longitude following the structure of Google Map CustomersAndDepots denote the route for vehicle i,where r(j) is the index of the jth either brings the package back to the depot, We assume that every route finishes at the depot, i.e r (n + 1) = Split deliveries The demand of a customer may be fulfilled by more than one vehicle The transported volumes cannot exceed the capacity of vehicles The decision variables of the model are: = if a vehicle travel to node j directly from node i by vehicle k = otherwise The objective function can be written as follows: Min The model constraints are: , ∀ k=1,…,r and ∀i=0, ,10 Constraint (2) All customers are visited exactly once ,∀i ∈ customers Constraint (3) A vehicle can only be loaded up to it's capacity, ∀ k=1,…,r , , ∀ k=1,…,r Constraint (4) Each vehicle must leave the depot , ∀ k=1,…,r Constraint (5) guarantees that each vehicle will leave the depot and arrive at a determined customer (After a vehicle arrives at a customer it has to leave for another destination) 5 , ∀ h ∈ customers, ∀ k=1,…,r Constraint (6) // All vehicles must arrive at the depot n + , ∀ k=1,…,r Constraint (7) // From depot departs a number of vehicles equal to or smaller than v , ∀ k=1,…,r and ∀ j=0,…,10 CHAPTER 3.1 CODING File mod // Vehicles // Vehicles int r = 3; range Vehicles = r; // Customers int CustomersNumber = 10; range Customers = CustomersNumber; range CustomersAndDepots = (CustomersNumber); // includes the starting depot and the returning depot // Capacity int Capacity = 150; // Demand int Demand[Customers] = ; float XCoord[CustomersAndDepots] = ; float YCoord[CustomersAndDepots] = ; float Distance[CustomersAndDepots][CustomersAndDepots]; // Cost or distance between i and j execute INITIALIZE { for(var i in CustomersAndDepots) { for (var j in CustomersAndDepots){ if (i == j) { Distance[i][j] = 0; } else { Distance[i][j] = Math.floor(Math.sqrt(Math.pow(XCoord[i]XCoord[j], 2) + Math.pow(YCoord[i]-YCoord[j], 2))*10)/10; } 6 } } } // Decision variables dvar boolean x[Vehicles][CustomersAndDepots][CustomersAndDepots]; // if a vehicle drives directly from vertex i to vertex j dvar int s[Vehicles][CustomersAndDepots]; // the time a vehicle starts to service a customer / *************************************************************************** ** * * MODEL * *************************************************************************** **/ minimize sum(k in Vehicles, i,j in CustomersAndDepots) (Distance[i][j]*x[k][i][j]); subject to { forall(i in CustomersAndDepots, k in Vehicles) C1: x[k][i][i] == 0; // Each customer is visited exactly once forall (i in Customers) C2: sum(k in Vehicles, j in CustomersAndDepots) x[k][i][j] == 1; // A vehicle can only be loaded up to it's capacity forall(k in Vehicles) C3: sum(i in Customers, j in CustomersAndDepots)(Demand[i] * x[k][i][j])