Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... ·...

24
1 Boğaziçi University Department of Management Information Systems MIS 463 Decision Support Systems for Business PROJECT MID-REPORT A Decision Support System For Routing Problem MIS - Logistics Project Team No: 13 Seyhun Akgül Arda Bulama Bekir Erzen Hasine Tüccar Instructor : Aslı Sencer Erdem

Transcript of Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... ·...

Page 1: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

Boğaziçi UniversityDepartment of Management Information Systems

MIS 463 Decision Support Systems for Business

PROJECT MID-REPORT

A Decision Support System For Routing ProblemMIS - Logistics

Project Team No: 13

Seyhun AkgülArda BulamaBekir Erzen

Hasine Tüccar

Instructor : Aslı Sencer Erdem

İstanbul - December, 2009

Page 2: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

Table of Content

I.INTRODUCTION……………………………………………………………………...3I.1. The Decision Environment………………………………………………………3I.2. Mission of Project…………………………………………………………..........4I.3. Scope of Project………………………………………………………………….4I.4.Methodology……………………………………………………………………..5

II.LITERATURE SURVEY…..…………………………………………………………5

III.DEVELOPMENT OF THE DSS........................................................................…….7III.1. DSS Architecture……………………………………………………………....7III.2. Technical Issues………………………………………………………………..8III.3. Model and Algorithms………………………………………………………..10III.4. Data Source and Flow Mechanisms…………………………………………..14III.5. User Interfaces and Reports…………………………………………………..14

IV. PROJECT PLAN…………………………………………………………………...16

V. CONCLUSION…………………………………………………………………….16References…………………………………………………………………………..17

VI. APPENDIX………………………………………………………………………...18

Page 3: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

I. INTRODUCTION

I.1 The Decision Environment

Recently, transportation industry has difficulty in choosing the right direction of the tours because of budget limitations. We are also a trucking company carrying freight from depot to all over the country. Our depot is located in Istanbul, and we have one branch in each city, that means 80 points to reach in Turkey. Our company is mostly carrying textile goods or long lasting products. Since fast delivery is not taken into consideration in our decision system process, all perishable agricultural products, like vegetables and fruits, are strictly forbidden to transport.

Our aim is to minimize the total distance of a tour, that means also minimizing the transportation cost. That’s why we should arrange the direction of the trucks in a least costly way that distance between the destination points, cost of the oil per kilometer and number of truck must be taken into consideration. We fixed the number of trucks as 3 and they have equal capacity.

Based on the reservations from clients, system categorizes tours as being on Wednesday, and Sunday. That means our trucks depart from Istanbul only on Wednesday and Sunday. Because of the fluctuation in the oil prices, we will use the oil prices in a daily base. User will enter the oil rates into the system when a new distribution tour starts. The number of trucks is determined by the system itself, and it doesn’t change for a long period, it can be modified two or three times a year.

Our decision support system helps to determine of the ways that vehicles should follow in an optimum way. In this decision, system gets the freight weight as an input and destination point from our database. And it assigns a driver who is free

The new European Union drivers’ working hours regulations are as follows:1. After a driving period of four and half hours, a driver shall take an uninterruptedbreak of at least 45 minutes unless he/she has taken a rest period.2. The daily driving time between rest periods should be at most 9 hours. A dailyrest period is any period of at least 11 hours.3. The weekly driving time should not exceed 56 hours.4. The weekly rest period shall start no later than 144 hours after the end of theprevious week’s rest period. In our decison support system we accept European Union regulations mentioned above.

In our dss system, there are a couple of constraints. One of them is the maximum amount of kilometer that one truck can run in a trip. One truck can steer at most 5000 km in one tour. The other one is truck’s tonage capacity. We cannot load into a truck more than 30 ton.

In our project, we utilize distance matrix retrieved from Kara Yolları Genel Müdürlüğü.

Page 4: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

We assume that our trucks steer 80 km per hour in every condition. This is against real word transportation rules, but in our project we have to give an constant number.

Perhaps the major drawback is that trucks are supposed to move even if they are not full capacity. They have a kilometer limitation for each tour, so it doesn’t matter how much they are loaded.

I.2 Mission of Project

This system facilitates determination of the direction that vehicles should follow. It provides the user distance and cost minimization in each tour. Here, we primarily aim to minimize distance and to find the cheapest circle of each tour

As you know, our company gets huge number of reservation from all country and there are lots of alternative ways to reach delivery points. Determining the direction, driver and knowing break points prevents the company from confusion.

Since our aim is to minimize the distance and total transportation cost, cost of the oil per kilometer has to be taken into account. Trying to use minimum amount of oil is also useful for environment. As a company, we pay attention to protect nature from environmental pollution and global warning as well.

I.3 Scope of Project

There is a client database in our system as well. Clients, some of them are businesses, are supposed to make registration to work with us. Clients give us information including shipper’s personal information, zip code, telephone number, fax number if it is a company, total weight of the cargo, the city to send, consignee’s details etc. After approving its membership, we send a confirmation latter to their address.

Clients use password that we give them in order to make a reservation. After getting orders, user just looks at total tonnage of the each burden and the city to which freight will be addressed. Then system groups them in accordance with common direction and their tonnage. Lastly, user approval is required to complete this order.

Since our aim is to reduce cost, we try to use a minimum number of driver as low as possible. We have a driver database. Available drivers are assigned to tours according to their previous jobs and working hours. We have some rules in the system. In the each tour only one driver works. A co-driver is not given.

Page 5: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

I.4 Methodology

In order to model our decision support system, we determined the Single Heuristics for the single-depot VRP as our methodology.

Savings algorithm is accepted as one of the best-known approaches to the VRP problem. Its main idea is that there is a depot and n demand points. Using n vehicles and dispatching one vehicle to each one of the n demand points is targeted.

The goods are stored at a depot in Istanbul, where a given number of vehicles is also stationed. Vehicles have identical maximum weight capacities and maximum distance constraints. They must all start and finish their routes at the depot. The problem is to obtain a set of delivery routes from the depot to the various demand points to minimize the total distance so total cost of tour.

II. LITERATURE SURVEY

The truck (vehicle) routing problem was recognized in the last 40 years and now, it is one of the most important factors in distribution and logistics. (Gi Lee, Prabhu, 2009) A basic problem that arises in distribution systems is the well-known vehicle routing problem (VRP). Given a set of customers with known geographical locations and demands that must be satisfied by a homogeneous fleet of vehicles based at a central depot, the problem consists of designing a set of routes, one per vehicle that minimizes the total cost. (Alonso, Alvarez, &Beasley, 2008)

“The vehicles and their characteristics also impose constraints on the vehicle routing model. The fleet can be homogeneous, if all vehicles are equal in all their characteristics, otherwise it is said to be non-homogeneous. Most real-world fleets are non-homogeneous. Mechanical features (length, weight, width, number of axles) and configuration (trailer, semi-trailer, van,etc.) define the access constraints for a vehicle.” (Rizzoli et al., 2007)

Homogenous fleet of vehicle means that every vehicle has the same loading capacity, same characteristics. And their oil consumption is accepted identical. And we assume that we have homogeneous vehicles. Each route starts and finishes at the depot and each customer is visited exactly once. The total demand on a route must not exceed the capacity of the vehicle and the route has limited length.

Page 6: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

According to a survey conducted by Keith Sinkhorn, Xiao Wang , several heuristic methods can be proposed to solve the vehicle routing problem. One of them is Traveling Salesman Problem (TSP). The TSP is a special case, where vehicle capacity is assumed to be infinite. But in our project, we use another kind of heuristic approach that Clarke and Wright developed the savings heuristic for use with the capacitated vehicle routing problem(VRP). We have a given number of vehicles, let’s say m vehicles, n customers, and a single depot. The savings algorithm requires that a city be fixed as the depot. Conceptually, the depot in a VRP is the city where each vehicle begins and ends a service tour. The savings algorithm assigns a savings coefficient s(i, j) to each pair of vertices. This coefficient (or priority value) is the distance saved by visiting only these two vertices in a single tour as opposed to visiting only these two vertices in two tours. The savings coefficient is calculated as in equation , where city 1 is the depot.

s(i, j) = d(1, i)+ d(i,1)+ d(1, j)+ d( j,1)- [d(1, i)+ d(i, j)+ d( j,1)]

The Clarke and Wright savings coefficient (Sinkhorn, Wang, 2006)

Taillard et al (1996) proposed that a heuristic made up of three parts. It first generates a large set of good vehicle routes satisfying the VRP constraints. It then makes a selection of a subset of these routes using an enumerative algorithm. Finally, it assembles the selected routes into feasible working days using several applications of a bin packing heuristic.

The VRP is related to the determination of the optimal routes used by a fleet of vehicles, based at one depots, to serve a set of customers. The solution must ensure that all customers are served, respecting the operational constraints, such as vehicle capacity and the driver’s maximum working time, the maximum amount of kilometer that one truck can run in a trip. The objective fuction here is to minimize of distance, or cost. (Villarreal et al., 2009)

Since our objective is the minimization of transportation costs, fixed costs associated with vehicles and drivers should be considered, the number of vehicles and drivers should also be minimized. That’s why, we assume that we have a known number of vehicle. The number of trucks in the fleet is arranged and registered into the database. If a change occurs in this number by selling or buying new ones, we modify it on the database. We should take into consideration number of drivers, as well. In one tour, only one driver works. When the legal permission time for driving is completed, driver is supposed to take a rest and start again. We don’t place another driver as reserved one with him. (Shah, 2009)

Page 7: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

Because of distance limitation, a vehicle may start the tour even if it is half-loaded. It is a well known fact that same distance doesn’t mean the same cost due to geographical differences such as altitude, slope etc. In these conditions, finding solution optimally is very hard because of dynamics of a transportation environment. The interest should be concentrated on the development of algorithms to achieve an optimal or near-optimal solution to the problem. This rule stems from the nature of the heuristic approach. (Villarreal et al., 2009)

III. DEVELOPMENT OF THE DSS

III.1. DSS Architecture

In the system, the registered customers enter their order information (weight of freight and destination points; these are our real inputs) into our website. These information will be written in the database.

The decision maker also enters some parameters before the program starts. These parameters that user enters don’t depend on customer’s order information. That means we have constant variables. For example number of vehicles is always 3, and a truck can carry 30 tons at the maximum capacity.

Page 8: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

After entering these variables, the program sends a request to our database in order to get data needed. After getting these values, the program makes use of them and finally gives the report to the user. Our report includes total length of each tour, total weight of the freight, time to drive, needed fuel, cost of the tour, arriving time of the vehicle.

III.2 Technical Issues

In our project, we will use Java and Web platform. Web platform includes php sites and mysql database.

In order to prepare our applications, we will make use of Java, mysql as database language, html for our web site, and php. Php is necessary to make website dynamic, both html and php are required.

We will also utilize mysql-connector-java-5.1.10 which is an external library in order to connect java with mysql database.

We will prepare a web based application. In the web, the customers register, then the web application notifies us. If we activate this account that has customer information, the web application saves the change in the database and informs the customer. After registration, the customer can make reservation. This order will be saved per php in our mysql database.

Page 9: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

When we run the Java application, the application connects to the Mysql-database with the “mysql-connector-java”-library. The application asks for the data, that we need in the program. When it gets them, it solves the problem. Finally, we can see the output on the screen.

In our database, we have these tables: customer, driver, order, distance, average speed, average consumption, oil price and the number of trucks. The schema will be like this:

Page 10: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

III.3. Model and Algorithms

Model

Goal: min z = i

Constraints:(max. distance) ti <= 5000(max. weight) wi1 + … + wik <= 30.000(Non-negative) wi, ti, i, k, n >= 0

z Total km distance of all toursti Tour km and its numbern Total number of all toursk Number of points to reach in tour iwi Weight of the freight in tour i

Savings – Algorithm

1. Distance matrix

D A B C E

D - 3 5 7 8A - 7 9 9B - 8 12C - 7E -

You need a distance-matrix between all the points you want to reach.

Page 11: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

2. First solution

You begin with the worst solution you could have with these points. The number of tours is equal to number of demand points. The tours compose of the depot (D) and one point (i). In this example, the total distance of all 4 tours is 46.

D A B C E

D - 3 5 7 8A - 7 9 9B - 8 12C - 7E -

D – A – D = 6D – B – D = 10D – C – D = 14 Total length: 6 + 10 + 14 + 16 = 46D – E – D = 16

3. Savingsmatrix

Calculate the savings:

The quantity s(i, j) is known as the “savings” resulting from combining points i and j into a single tour. The larger s(i, j) is, the more desirable it becomes to combine i and j in a single tour.

s(i,j) = d(D, i) + d(D, j) – d(i, j)

Two savings of this example

Tour1: D – A – D = 3 + 3 = 6Tour2: D – B – D = 5 + 5 = 10(Tour1 + Tour2) – (D – A – B – D) = 16 – (5 + 5 + 3) = 16 – 13 = 3

Tour2: D – B – D = 5 + 5 = 10Tour3: D – C – D = 7 + 7 = 14

A B C E

A - 3 1 2

B - 4 1

C - 8

E -

Page 12: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

(Tour1 + Tour2) – (D – B – C – D) = 24 – (5 + 8 + 7) = 24 – 20 = 4

4. Begin to connect the tours

I. Process the savings-matrix beginning with the largest entry in the matrix. Under consideration, include link (i, j) in a tour if no constraints will be violated through the inclusion of (i, j) in a tour.(distance limit is 25 units)

D-A-D = 3 + 3 = 6 D-B-D = 5 + 5 = 10D-C-E-D = 7 + 7 + 8 = 22

Total Distance = 6 + 10 + 22 = 38

Old distance – new distance = 46 – 38 = 8 [s(C,E)](Saving of the points C and E)

A B C E

A - 3 1 2

B - 4 1

C - 8

E -

Page 13: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

II.

D-A-D = 3 + 3 = 6 D-B-C-E-D = 5 + 8 + 7 + 8 = 28

We can’t connect B with the Tour D-C-E-D because it violates our distance constraint (28>25)

25 is the constraint for our distance limit.

III.D-A-B-D = 3 + 5 + 3 = 13 D-C-E-D = 7 + 7 + 8 = 22Total = 13 + 22 = 35

Total distance = 6 + 10 + 22 = 38Old distance – new distance= 38 – 35 = 3 ( s(A,B) )

A B C E

A - 3 1 2

B - 4 1

C - 8

E -

A B C E

A - 3 1 2

B - 4 1

C - 8

E -

Page 14: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

The next step will be to connect these tours. But, you can see that this would violate the distance constraint. So, we have a solution, where we minimize 11 units in the total distance

First solution Solution with saving

Total distance = 46 Total distance = 35

III. 4. Data Source and Flow Mechanism

We retain inputs from 2 sides; internal user (logistic manager) and external user (customer). Logistic managers use the program and control all theinputs and outputs. Internal users check the reservations, freights, and alldetails of the transportation in the system. External users are our clients who log in the system and gives info of how much burden will be carried, when and to where etc. Users should have some technical and analytical abilities in order to involve in this process, such as log in and log out, entering appropriate info into system, evaluating details, checking reservations.

III. 5. User Interface and Reports

We have user interfaces. The first one is for the user, who runs the program. It will be run on Java platform. On the top, there is a menubar from which the user can select actions. Under the menubar, there are the tabs. For each tour, there is one tab on which there will be various tour information. The user will be able to see the length of tour, the cost of tour, the fuel needed for the tour. Furthermore, leaving and arriving times are also visible.The general information will be visible under the tabs. Internal user can see the total length of all tours, total cost, total fuel needed etc.

Page 15: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

The second one is for the customer. This iterface is a website. We would like to give two examples of it. In the first example, you can see a register-formular. Our customer has to enter his/her company information.

In this example, there is also the formular to enter an order. The registered customers enters their orders in this part. They have to select a destination city and enter the weight of their freight.

Page 16: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

V. ASSESSMENT:As we mentioned in the proposal and mid report report, in the first week we

determined our group members, meeting time and place. In the 2nd week, we selected our topic as a decision support system in routing problem. In the 3rd week, we allocated tasks among group members for proposal. During 4th and 5th week, we were dealing with literature survey. We made a very detailed research and extensive reading. In the 5th week, we started to observe extensively heuristic algorithm. In the 6th week, we started to code our programs till 11th week. During 6th and 7th week, modeling the project was completed. Between 9th and 12th week userfaces were designed. And recently, we were working on the final-report preparation. Our group members were very careful about participating in all group meetings.

VI. CONCLUSIONWe followed up our schedule and job division. The most important thing is that

we tried to allocate all responsibilities in a fairy way among group members, and everybody did his/her best. Generally we have met 2 times a week, each Monday and Wednesday. But, we made our meetings more frequently in the last weeks because of our final report and presentation. Arda has worked on program coding, other members mostly concentrated on Web application. But everybody has helped each other as much as possible. In our project, there was no strict job division.

Page 17: Project Format, mis463 - boun.edu.trmisprivate.boun.edu.tr/sencer/mis463/PreviousProjects/DSS... · Web viewIn our project, we utilize distance matrix retrieved from Kara Yolları

1

REFERENCES

[ 1 ] Alonso, F., Alvarez, M., & Beasley, J. (2008) “A tabu search algorithm for the periodic vehicle routing problem with multiple vehicle trips and accessibility restrictions”, The Journal of the Operational Research Society, vol. 59, no.7, pp. 963-976.

[ 2 ] A.E. Rizzoli, F. Oliverio, Montemanni, and Gambardella (2007) “Ant Colony Optimisation for vehicle routing problems: from theory to applications”, Istituto Dalle Molle di Studi sull’Intelligenza Artificiale (IDSIA)Galleria, Switzerland, pp. 1-50

[ 3 ] Lee, S., and V. Prabhu (2009) “Performance of Truck Assignment and Routing Algorithm”, Proceedings of IIE Annual Conference’09, pp. 1737-1742.

[ 4 ] Sinkhorn, E., and X. Wang. (2006) “The Savings Priority Rule in the Meta-RaPS Traveling Salesman Problem Solution”  Proceedings of IIE Annual Conference’09, pp.  1-6. 

[ 5 ] Shah, V. (2009) Time Dependent Truck Routing and Driver Scheduling Problem With Hours of Service Regulations : Diss. Northeastern University.

[ 6 ] Taillard, L., Dorigo, M., Gambardella, L., & Gutjahr, W.. (2006) “A survey on metaheuristics for stochastic combinatorial optimization”,  Natural Computing, vol. 8, no 2, pp. 239-287. 

[ 7 ] Villarreal, B., M. Sañudo, B. Duran, and L. Avila (2009). “A Lean Approach to Vehicle Routing”, Proceedings of IIE Annual Conference’09, pp. 1096-1101.