Universität Dortmund. Wirtschafts- und Sozialwissenschaftliche Fakultät. Fachgebiet " Operations Research und Wirtschaftsinformatik "

Size: px
Start display at page:

Download "Universität Dortmund. Wirtschafts- und Sozialwissenschaftliche Fakultät. Fachgebiet " Operations Research und Wirtschaftsinformatik ""

Transcription

1 Universität Dortmund Wirtschafts- und Sozialwissenschaftliche Fakultät Fachgebiet " Operations Research und Wirtschaftsinformatik " On dynamic pickup and delivery vehicle routing with several time windows and waiting times Anke Fabri No.: 26 Date: Operations Research und Wirtschaftsinformatik D Dortmund Vogelpothsweg 87 (Gebäude Mathematik) Raum M 841 : Fax: a.fabri@wiso.uni-dortmund.de Internet:

2 On dynamic pickup and delivery vehicle routing with several time windows and waiting times Anke Fabri University of Dortmund, Operations Research and Wirtschaftsinformatik, Vogelpothsweg 87, D Dortmund, Germany Abstract. In [1] a very fast and efficient heuristic for rooting a fleet of vehicles for dynamic combined pickup and delivery services is introduced. The authors assume that every client names a stretch-factor that denotes the maximal relative deviation from the shortest path between pickup and delivery point. Waiting times are not allowed. As these assumptions are not very realistic, this paper now presents the results of adapting this algorithm to the dynamic pickup and delivery vehicle routing problem with several time windows. Waiting times of vehicles are admitted. Moreover, the computational results are considerably improved by local search techniques making use of free computational capacities. 1 Introduction The problem consists in routing a set F of vehicles serving a set N of demands. The road network is represented by a graph G = (V, E) whose vertices V are the possible pickup and delivery points and whose arcs correspond to roads connecting these points. The travel cost of each arc is represented by the function d : E R +. The planning horizon is denoted the interval [P 1, P 2 ]. Demands for transportation pop up dynamically and we do not have any information about quantity and location of further demands. Each demand i N consists of an amount of goods to be transported by one of the vehicles a pick-up point u i V a delivery point v i V a first time window [a i, b i ] [P 1, P 2 ] during which pickup has to take place a second time window [c i, e i ] [P 1, P 2 ] during which delivery has to be carried out. Any vehicle f F is characterized by a starting point s f V where the vehicle is located at time P 1 an end point z f V where the vehicle shall be at time P 2 its capacity k f. 1

3 When at any time τ [P 1, P 2 ] a new demand pops up, we have to decide online either to accept or to reject that demand. Further, the accepted demands have to be assigned to the vehicles and each vehicle must be routed. The objective function is to minimize the distance travelled by all vehicles during the planning horizon [P 1, P 2 ]. Note: in [1], the customers have to name a stretch-factor that denotes the maximal factor real travel time may exceed the shortest direct way travel time. This stretch-factor is now replaced by the second time window. This paper is organized as follows: Section 2 outlines a solution algorithm. First, the main ideas of the algorithm as proposed in [1] are presented. Then the consideration of a second time window for each demand and the admittance of waiting times are motivated and implemented, before the applied local search techniques are presented. In every section the computational results are given. Section 3 contains the conclusion. 2 Solution Algorithm The solution algorithm proposed in [1] is a heuristic approach. It is explained in section 2.1. The implementation of the second time window [c i, e i ] and the admittance of waiting times are presented in section 2.2. Further, the introduced local search techniques are stated in section Heurisitic Approach The algorithm mainly consists of two parts: a quick single vehicle routing algorithm and a heuristic to solve the multi vehicle routing problem, based on the results of the exact single vehicle routing. The following paragraph deals with the exact single vehicle routing algorithm. Thereafter the paragraph Multi Vehicle Routing outlines the heuristic to assign demands to a set of vehicles. Single Vehicle Routing The single vehicle routing problem consists in sequencing the pickup and delivery points of demands i N f where N f N denotes the set of demands i N assigned to some fixed vehicle f F. The sequence has to satisfy the following constraints: 2

4 For each demand i N f the goods must be picked up before they can be delivered. The time windows [a i, b i ] and [c i, e i ] must be met by the pickup and delivery times of demand i. The vehicle s capacity must not be exceeded. The total travel cost shall be minimized. Using the dynamic programming approach presented in [1], the constraint dealing the correct order of pickup and delivery points is satisfied automatically and cycles are avoided. The idea of that algorithm is as follows: For any vehicle f F a graph H f = (V f, E f ) with the following structure is generated. At any time τ [P 1, P 2 ] each accepted demand i N f that occurred in [P 1, τ] has its unique status j(i) {0, 1, 2} assigned, where j(i) = 0 means goods of demand i are already delivered, j(i) = 1 says goods of demand i are picked up but not yet delivered and j(i) = 2 indicates goods of demand i still wait for pickup. A status vector of vehicle f at time τ is a vector (j(i 1 ), j(i 2 ),... j(i nf )) that represents the status of each demand i N f at time τ with {i 1, i 2,... i nf } = N f. The set of all possible status vectors of demands i N f form the set of vertices V f. Two vertices k, l V f are connected by an edge (k, l) E f whenever vector l can be obtained from vector k by subtracting 1 to exactly one vector element j(i), i N f. The source vertex is the vector (2, 2,..., 2) i.e. goods of all accepted demands i N F still wait for pickup, the sink vertex is the vector (0, 0,..., 0): goods of all accepted demands i N F have been delivered. The problem now consists in finding a shortest path from the source to the sink vertex, subject to time window and stretch-factor constraints respectively. (see [1]) To solve this shortest-path problem the A*-Algorithm proposed in [2] is used. To reduce computation times, a function C(x) is introduced to estimate the cost of the shortest route from the source to the sink passing vertex x V f. C(x) has to be a lower bound for the real costs of the route. In that case the algorithm computes an optimal solution. Further the authors have shown that the algorithm is also optimal in the sense that it expands the fewest possible nodes necessary to find an optimal path, compared to other algorithms not better informed than A*. The only constraint for this property is that the function C(x) has to satisfy the triangle inequality. The function to estimate the cost chosen in [1] is composed of two functions g(x) and h(x): C(x) = g(x) + h(x), where g(x) denotes the known cost from the source to vertex x V f and h(x) estimates the cost of the route from vertex x to the sink. 3

5 At time τ [P 1, P 2 ], let λ(x) V denote the last pickup or delivery point visited by the vehicle. Further let S k (x), k {0, 1, 2}, be the set of demands i N f with j(i) = k. Then for every demand i N f h i (x) is defined as 0 i S 0 (x) h i (x) = d(λ(x), v i ) i S 1 (x) d(λ(x), u i ) + d(u i, v i ) i S 2 (x) h i (x) indicates the cost if only demand i N f remained to be satisfied. With h(x) = max i N f h i (x) h(x) denotes the length of the tour at least necessary to comply with all demands. function C(x) satisfies the triangle inequality. The Multi Vehicle Routing When at time τ a new demand pops up, we have to decide quickly either to accept or to reject it. For such a decision the actual allocation demands - vehicles must possibly be modified and new optimal routes must be computed. As the assignment problem is really hard to solve and usually many demands have to be treated during [P 1, P 2 ], a heuristic is chosen to solve this part of the problem. Whenever a new demand pops up, it is successively assigned to any vehicle f F. Then, the single vehicle routing problem is solved for each vehicle with the new demand provisionally assigned. If a feasible solution for at least one vehicle f is found, the demand is accepted and will be assigned to the vehicle with minimum additional costs. Otherwise the demand is rejected and will not be considered any longer. This heuristic turns out to be really fast as long as the number of demands assigned to one vehicle does not exceed a certain number. The single vehicle routing is solved optimally, so the computation time rises exponentially with rising numbers of demands assigned to one vehicle. However it is fast enough to decide online (e.g.during a phone call) whether a demand can be accepted or not. Computational results A. Potini and G. Viola implemented the algorithm presented in [1]. They provided their implementation and its description in [3]. All test results are based on their implementation. The tests were performed with 100 instances each. Typically an instance contains 100, 400 or 1000 demands. The average arrival rate is 1 demand/minute. The tables show the number of demands, the percentage of accepted demands, the number of vehicles used to satisfy the accepted demands, the maximal computation time per demand, the average computation time of single vehicle routing (svr), the costs per demand and the number of test instances that were computed correctly. The average computation time of single vehicle routing determines 4

6 the average computation time per demand. Nevertheless, any demand has to be answered online, so the maximum computation time per demand is indicated. The number of test instances that were computed correctly may be smaller than the 100 test instances provided because the implementation has some bugs such as memory leaks. These bugs may let the program crash down, but they have no influence on the result whenever the program runs through. Test 1: 100 vehicles of capacity ,80% 25, , ,27% 33, , ,39% 43, ,72 7 Test 2: 20 vehicles of capacity ,34% 20, , ,19% 20, , Test 3: 10 vehicles of capacity ,77% 10, , ,89% 10, , ,40% 10, ,69 1 5

7 2.2 Second Time Window The problem model used in [1] has two weak points: the vehicles are not allowed to wait and the clients have to name a stretch-factor. Contemplating Test 1, attention is attracted by the fact that 100 vehicles cannot satisfy 100 demands. Further it is conspicuous that 400 demands have a higher acceptance rate than 100 demands. This curiosity is caused by the fact that vehicles are not allowed to wait for pickup or delivery: either the arrival time is within the specified time window or the demand is neglected. This may be useful when persons are transported to avoid disgust, but even in this case soft lower bounds of the time windows would be more appropriate to allow negligible waiting times. If the vehicle is still empty, forbidding waiting times does not make any sense: the demand cannot be accepted because the vehicle starts at once to the customer s pickup point and arrives too early. In this case the demand is rejected because it appeared too early. Moreover, in practical situation a transportation company would even benefit from early booking as the assignment can be done better since there is enough time to spent for a more sophisticated optimization routine. So waiting times have to be allowed. The use of a stretch-factor as done in [1] is just as far from reality as the forbidden waiting times. In [1], the clients have to name a time window for pickup and a stretch-factor that describes the maximal factor that the effective travel time may exceed the minimal travel time. Replacing the respective stretch-factors by the second time windows has several advantages: Asking the customer for a second time window does not raise any complication. If the customer must name a stretch-factor, one must first explain function and kind of a stretch-factor and inform the customer about the minimum travel time. Even then the customer will often have difficulties to name such a factor. In contrast everyone easily understands the meaning of a time window. Naming such a time interval will not cause any difficulties. In general the delivery time is much more important than the travelling duration. For instance customers might have to satisfy due dates, persons want to keep appointments, the delivery must be according to the Just-in-time-concept, etc. Whenever someone insists on a short travel time, time windows can still be modified such that a short travel time must be realized. 6

8 I tw_min I I I I a tw_max a + SP a + d SP time t Figure 1: Delivery time window implied by a stretch factor δ The delivery time can be influenced by the customer by naming the time window. In [1], the customer has only little influence on the delivery time because it depends on the effective pickup time α and the stretch-factor δ: Figure 1 shows the implied delivery time window [α + SP, α + δsp ] where SP (shortest path) is the minimum travel time needed to travel from the pickup to the delivery point. [tw min, tw max] characterizes the pickup time window. As the customer does not know when exactly within the pickup time window the pickup will take place, the delivery time window he can calculate is [tw min + SP, tw max + δsp ]. This time window is too large and imprecise and for an average customer too difficult to handle. Hence, to meet the customers concerns and to simplify booking, the stretch-factor is replaced by the delivery time window. To be able to compare the computational results of the new algorithm with the algorithm in [1], the second time window is chosen depending on the stretch-factor used to test the previous implementation while all other information are left unchanged. So the computational results are better comparable, but the second time window constraint is stricter than the stretch-factor constraint. That is the reason for which the cost per demand increases. The program also does no longer crash that often because less feasible solutions are created. As now also waiting times are allowed, the acceptance rate of the instances with a high vehicle to demands ratio is much better than before. Test 1: 100 vehicles of capacity ,97% 28, , , ,60% 36, , , ,03% 45, , ,

9 Test 2: 20 vehicles of capacity ,65% 20, , , ,72% 20, , , ,53% 20, , , Test 3: 10 vehicles of capacity ,75% 10, , , ,66% 10, , , ,54% 10, , , Local Search Techniques The heuristic to assign the demands to the vehicles turns out to be very fast, but in general it does not produce an optimal solution. Now, the free computational capacities shall be used to improve the assignment. A local search algorithm has to be adapted to the very special structure of the Dynamic Pickup and Delivery Vehicle Routing Problem with Time Windows consisting of the following observations: As new demands pop up dynamically, the solution changes permanently. This structure impedes performing the local search on a final solution. But at every time τ [P 1, P 2 ] there is a current feasible solution available that can be improved. New feasible solutions have to be provided at once : whenever a new demand pops up, it must be accepted or rejected within a very short period (e.g. telephone call). The use of local search to improve the assignment must not affect the computation times needed to accept or reject a new demand. On the other hand, it must provide a new solution to work with whenever a further demand pops up. It is not necessarily possible to improve every solution by local search techniques. If demands pop up very quickly, there might be no time to improve a given assignment. 8

10 After some time, parts of the solution are no longer modifiable because the vehicles are already serving the demands. Therefore a local search process is adapted as follows: whenever there is no new demand to be answered, the local search procedure starts with the current assignment and routings as start solution. It is executed step by step until either a new demand pops up or the local search is finished: After every step of local search the algorithm checks for new incoming demands. If there are none, the next step of local search is performed. Otherwise the acceptance or rejection of the new demand is calculated based on the current solution provided by local search. Tabu sets are introduced to avoid that a demand i N that cannot be shifted from one vehicle to another blocks the local search. Every demand i N that was selected by local search must not be selected again until a certain number of alterations in the assignment have taken place. An alteration is defined by accepting a new demand or shifting an accepted demand. The best results were achieved when demands were forbidden to select until two alterations had taken place. Based on this general process several variations of local search algorithms have been implemented and tested. Mainly two neighborhood concepts have been used. They are presented in the following paragraph. Thereafter, the implemented local search algorithms and their computational results are described Neighborhoods Let T be the set of all feasible solutions at time τ. A feasible solution t T consists of an assignment of all accepted demands i N to vehicles f F and an optimal routing for each vehicle f F. Hence, the feasible solution t consists of the tours t f of all vehicles f F, t = (t 1, t 2,..., t m ) with m = #F. A tour t f for vehicle f is a sequence of all pickup and delivery points that vehicle f still has to serve, starting at the last visited point λ(x f ) of vehicle f and terminating in z f. Let W f denote this set of points to be served by vehicle f and w k W f for all 1 k n f, n f = #W f. Let (k 1, k 2,... k nf ) be a permutation of (1, 2,... n f ). Then a tour t f can be written as t f = (λ(x f ), w k1, w k2,... w knf, z f ). A neighborhood U(t) is a set of feasible solutions created from a given one t T. To generate feasible solutions differing from t, the following conditions must be taken into account: Demands i N with j(i) = 1 at time τ cannot be shifted to another vehicle. Demands i N with j(i) = 0 at time τ are no longer considered. 9

11 w = u k i w = v l i w 1 w k+1 w l-1 w l+1 w w k-1 n f w = u k i w = v k+1 i w 1 w k-1 w k+2 w nf Legend: originally used arc new introduced arc Figure 2: Modified routes for l > k + 1 and l = k + 1 Shifting One Demand Whenever a demand i pops up, it is assigned to the vehicle with free capacities and lowest additional cost for serving this demand without having any information about the following demands. But when some more demands i + 1, i + 2,... have arrived, it might be cheaper to assign demand i to another vehicle, for instance when pickup and delivery points of demand i + 1 lay next to pickup and delivery points of demand i, but the vehicle that serves demand i has no free capacities left to serve also demand i + 1. Therefore, one demand i N shall be shifted from a vehicle f 1 F to some vehicle f 2 F with f 1 f 2. A demand i N is to be found satisfying the following conditions: the status is j(i) = 2 and there is no vehicle already on the way to its pickup point savings are maximal As the computational effort to find the cheapest solution in U 1 (t) over all demands i N with status j(i) = 2 is too high, a heuristic is introduced. It is based on the idea that the saving is the higher the farer the detour is the vehicle has to admit to serve demand i. So the savings c(i) of demand i assigned to vehicle f F are calculated as the difference between the cost of the actual route t f and the cost of this route if demand i was omitted. For demand i N with pickup point w k = u i and delivery point w l = v i with w k, w l W f, k < l, the savings are calculated as follows: d wk 1,u i + d ui,w k+1 d wk 1,w k+1 + d wl 1,v i + d vi,w l+1 d wl 1,w l+1 l > k + 1 c(i) = d wk 1,u i + d ui,v i + d vi, w k+2 d wk 1,w k+2 l = k + 1 Figure 2 illustrates the arcs used by vehicle f during its tour t f and during that tour excluding demand i. 10

12 Let vector t T be a feasible solution. Further, S 2 (X [f] ) denotes the set of demands i N f with status j(i) = 2. Then the neighborhood U 1 (t) is defined as the set of feasible solutions differing from t in the way that demand i N with highest savings c(i ) is shifted from vehicle f 1 F it was previously assigned to to another vehicle f 2 F, f 1 f 2 : U 1 (t) = {(t 1,..., t m) T I (f 1, f 2 ) F F, i N : c(i ) = max f F max i S 2 (X [f] ) c(i) (u i t f1 ) (u i t f 2 )} Shifting Two Demands Supposing a glut of demands it is possible that demands cannot be shifted because there is no vehicle left with free capacity. So neighborhood U 2 (t) is constructed in a way that no free capacities are necessary. The demand i N with highest savings c(i ) of all demands i N with j(i ) = 2 is chosen and shifted from vehicle f 1 F to vehicle f 2 F while at the same time demand i N f2 with highest savings c(i ) of all i S 2 (X [f2] ) is shifted from vehicle f 2 F to vehicle f 1 F. U 2 (t) = {(t 1,..., t m) T I (f 1, f 2 ) F F with f 1 f 2, (i, i ) N N : c(i ) = max f F max i S 2 (X [f] ) c(i) c(i ) = (u i t f1 ) (u i t f 2 ) (u i t f 1 )} max c(i) i S 2 (X [f 2 ] ) As the computational effort to find the best pair of demands (i, i ) N N is nearly twice as high as the effort to assign a new demand, the local search routine stops as soon as a better solution is found Algorithms A couple of versions of local search algorithms based on the two neighborhood concepts given above have been implemented and tested. The most important of them are presented in the following paragraphs. Shifting One Demand - Procedure (SOD-Proc) Based on the neighborhood U 1 the first local search algorithm is implemented. Whenever there is no new demand to be assigned, the local search tries to shift demand i N with j(i ) = 2 and highest savings c(i ) from the originally assigned vehicle f 1 F to another vehicle f 2 F, f 1 f 2. Demands that have been selected by local search must not be reselected until at least two alterations in the assignment have taken place. After each step, local search checks for new incoming demands. When a new demand pops up, local search stops and the new demand is answered. Otherwise the next step of local search is performed. The implementation leads to the following results: 11

13 Test 1: 100 vehicles of capacity ,85% 27, , ,89% 37, , ,48% 47, , Test 2: 20 vehicles of capacity ,24% 20, , ,95% 19, , ,73% 19, ,91 98 Test 3: 10 vehicles of capacity ,24% 10, , ,14% 10, , ,40% 9, ,99 96 The tests show that up to 40% of the cost per demand could be saved. On the other hand, computational efforts have raised a lot compared to the results given above. Therefore the acceptance rates have declined. As the tests have been executed in a test environment with faster time progress to accelerate the testing process, this does not affect real-time computation. After all, the computation time is low enough. 12

14 Shifting Two Demands - Procedure (STD-Proc) The second implemented local search algorithm is based on the neighborhood U 2. Demand i N with status j(i ) = 2 and highest savings c(i ) is shifted from vehicle f 1 F to vehicle f 2 F, f 1 f 2, while at the same time demand i with status j(i ) = 2 and highest savings c(i ) of all demands assigned to vehicle f 2 is shifted from vehicle f 2 to vehicle f 1. To avoid exploding computational times, the first better solution found is considered the new local optimum. The following computational results were obtained by that implementation: Test 1: 100 vehicles of capacity ,24% 25, , ,08% 37, , ,16% 43, ,94 90 Test 2: 20 vehicles of capacity ,22% 19, , ,65% 20, , ,11% 20, ,86 98 Test 3: 10 vehicles of capacity ,91% 10, , ,54% 10, , ,86% 10, ,53 90 The cost per demand is also lower than before. After all, the results of the first local search algorithm Shifting one demand could not be reached. The hit ratio that shifting especially these two chosen demands is cheaper than before is quite small. The additional computational effort cannot be supported for such a poor result. 13

15 Hybrid Algorithms of SOD and STD Proc As in SOD-Proc demands may not be shifted according to capacity constraints, the results might be improved by combining both versions, in spite of the poor hit ratio of STD-Proc. The following hybrid algorithms were implemented and tested: Alternating Application Of Both Techniques If there is no new demand, e.g. the first step of local search is executed with SOD-Proc. The next step is performed using STD-Proc, and so on. Whenever local search is interrupted by a new demand, it memorizes which neighborhood is to be used next. Having accepted or rejected the new demand, local search continues with that neighborhood. The results were much poorer than the results of SOD-Proc. Successive Execution Of Both Techniques Whenever there is no new demand, one step of SOD-Proc and one step of STD-Proc are executed successively without taking care of eventually raising new demands. The results were better than the results of the foregoing presented alternating application algorithm, but they did not even approximately reach the results of SOD-Proc. In contrast, computation times raised a lot. Successive Execution Of Both Techniques With Different Tabu Sets As demands that could not be shifted by one procedure are not allowed to be shifted by the second one in the previous combination, this algorithm realizes two different tabu sets, so that demands that could not be shifted by one procedure can still be selected by the other one. The results show that the cost per demand is comparable to the results of SOD-Proc, but the computational effort is much higher than before. SOD-Proc Enforced To take even more advantage of the good results of SOD-Proc, one step of SOD-Proc is executed every time a new demand is assigned, in addition to the local search performance using the free computational resources when no new demand raised. The results show that costs per demand are only comparable to SOD-Proc, while the computational effort is much higher. 14

16 3 Conclusion The algorithm presented in [1] delivers solutions quickly, but it is based on two unrealistic assumptions: Every client has to name a stretch-factor that limits the travel time and Vehicles are not allowed to wait. Further the implementation provided has some bugs respecting memory management (see [3]). Nevertheless the computational results are satisfactory. The stretch-factor is very difficult to handle and does not take into account that the delivery time is often very important, at least much more important than the travel time. Replacing the stretch-factor by a delivery time window has a lot of advantages for the client. Also the forbidden waiting times for the vehicles cause some unnecessary trouble. For these reasons the algorithm has successfully been adapted to a delivery time window for each demand; waiting times are now allowed. The results show that less memory leaks take place. The computation times are still small enough to answer every demand online. To assign the demands to the vehicles, a heuristic is used, while the vehicle routing problem is solved at optimality. To improve the assignment a local search algorithm is implemented that uses free computational capacities. Whenever there is computation time left, local search is performed. This way the assignment can be improved without raising computation times. Best results for local search were attained with SOD-Proc where in every step one demand is shifted to another vehicle whenever no demands have raised. The less vehicles are available and the more demands pop up, the better works local search: in the test with 100 vehicles costs could hardly be reduced, but in the test with only 20 vehicles, decreases of 3,81% at 100 demands, of 9,77 % at 400 demands up to 10,74 % at 1000 demands were achieved. The test with only 10 available vehicles shows decreases of 10,34 % at 100 demands and of 24,46 % at 400 demands. At 1000 demands the cost decreased even 23,95 % and at the same time the acceptance rate raised 48,07%. To sum it up, the introduction of waiting times, delivery time windows and the local search optimization routine lead to the following decisive improvements: The assumptions were adapted to a more realistic model. The rate of accepted demands has increased. Costs per demand have decreased. Memory leaks were reduced. 15

17 References [1] M. Caramia, G. F. Italiano, G. Oriolo, A. Pacifici, A. Perugia: Routing a fleet of vehicles for dynamic combined pickup and delivery services; Proceedings of the Symposium on Operation Research 2001, 3-8; Springer-Verlag Berlin/Heidelberg [2] P. E. Hart, N. J. Nilsson, B. Raphael: A Formal Basis for the Heuristic Determination of Minimum Cost Paths; IEEE transactions of systems science and cybernetics, Vol. 4, No.2, 1968 [3] A. Potini, G. Viola: CabDispatcher: sistema software per l instradamento di una flotta di veicoli nell ambito di un servizio di trasporto collettivo; Rome, March

Online Dial-A-Ride Problem with Time Windows: an exact algorithm using status vectors

Online Dial-A-Ride Problem with Time Windows: an exact algorithm using status vectors Online Dial-A-Ride Problem with Time Windows: an exact algorithm using status vectors A. Fabri 1 and P. Recht 2 1 Universität Dortmund a.fabri@wiso.uni-dortmund.de 2 Universität Dortmund p.recht@wiso.uni-dortmund.de

More information

Introduction to Approximation Algorithms

Introduction to Approximation Algorithms Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background

More information

Branch-and-Bound Algorithms for Constrained Paths and Path Pairs and Their Application to Transparent WDM Networks

Branch-and-Bound Algorithms for Constrained Paths and Path Pairs and Their Application to Transparent WDM Networks Branch-and-Bound Algorithms for Constrained Paths and Path Pairs and Their Application to Transparent WDM Networks Franz Rambach Student of the TUM Telephone: 0049 89 12308564 Email: rambach@in.tum.de

More information

The Service-Time Restricted Capacitated Arc Routing Problem

The Service-Time Restricted Capacitated Arc Routing Problem The Service-Time Restricted Capacitated Arc Routing Problem Lise Lystlund Aarhus University Århus, Denmark Sanne Wøhlk CORAL - Centre of OR Applications in Logistics, Aarhus School of Business, Aarhus

More information

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007) In the name of God Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm Spring 2009 Instructor: Dr. Masoud Yaghini Outlines Problem Definition Modeling As A Set Partitioning

More information

UNIT 4 Branch and Bound

UNIT 4 Branch and Bound UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees

More information

Searching with Partial Information

Searching with Partial Information Searching with Partial Information Above we (unrealistically) assumed that the environment is fully observable and deterministic Moreover, we assumed that the agent knows what the effects of each action

More information

Vehicle Routing Heuristic Methods

Vehicle Routing Heuristic Methods DM87 SCHEDULING, TIMETABLING AND ROUTING Outline 1. Construction Heuristics for VRPTW Lecture 19 Vehicle Routing Heuristic Methods 2. Local Search 3. Metaheuristics Marco Chiarandini 4. Other Variants

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 28 Chinese Postman Problem In this lecture we study the Chinese postman

More information

Dynamic Vehicle Routing Using Hybrid Genetic Algorithms

Dynamic Vehicle Routing Using Hybrid Genetic Algorithms Proceedings of the 1999 EEE nternational Conference on Robotics & Automation Detroit, Michigan May 1999 Dynamic Vehicle Routing Using Hybrid Genetic Algorithms Wan-rong Jih jih@robot.csie.ntu.edu.tw Jane

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch. Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

More information

val(y, I) α (9.0.2) α (9.0.3)

val(y, I) α (9.0.2) α (9.0.3) CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,

More information

3 SOLVING PROBLEMS BY SEARCHING

3 SOLVING PROBLEMS BY SEARCHING 48 3 SOLVING PROBLEMS BY SEARCHING A goal-based agent aims at solving problems by performing actions that lead to desirable states Let us first consider the uninformed situation in which the agent is not

More information

Branch-price-and-cut for vehicle routing. Guy Desaulniers

Branch-price-and-cut for vehicle routing. Guy Desaulniers Guy Desaulniers Professor, Polytechnique Montréal, Canada Director, GERAD, Canada VeRoLog PhD School 2018 Cagliari, Italy, June 2, 2018 Outline 1 VRPTW definition 2 Mathematical formulations Arc-flow formulation

More information

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 Reading: Section 9.2 of DPV. Section 11.3 of KT presents a different approximation algorithm for Vertex Cover. Coping

More information

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem Computational Complexity CSC 5802 Professor: Tom Altman Capacitated Problem Agenda: Definition Example Solution Techniques Implementation Capacitated VRP (CPRV) CVRP is a Vehicle Routing Problem (VRP)

More information

Bidirectional search and Goal-directed Dijkstra

Bidirectional search and Goal-directed Dijkstra Computing the shortest path Bidirectional search and Goal-directed Dijkstra Alexander Kozyntsev October 18, 2010 Abstract We study the problem of finding a shortest path between two vertices in a directed

More information

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM EXERCISES Prepared by Natashia Boland 1 and Irina Dumitrescu 2 1 Applications and Modelling 1.1

More information

Scheduling in Multiprocessor System Using Genetic Algorithms

Scheduling in Multiprocessor System Using Genetic Algorithms Scheduling in Multiprocessor System Using Genetic Algorithms Keshav Dahal 1, Alamgir Hossain 1, Benzy Varghese 1, Ajith Abraham 2, Fatos Xhafa 3, Atanasi Daradoumis 4 1 University of Bradford, UK, {k.p.dahal;

More information

Column Generation Method for an Agent Scheduling Problem

Column Generation Method for an Agent Scheduling Problem Column Generation Method for an Agent Scheduling Problem Balázs Dezső Alpár Jüttner Péter Kovács Dept. of Algorithms and Their Applications, and Dept. of Operations Research Eötvös Loránd University, Budapest,

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Greedy Local Search Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 19, 2007 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP:

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP: 6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS Vehicle Routing Problem, VRP: Customers i=1,...,n with demands of a product must be served using a fleet of vehicles for the deliveries. The vehicles, with given

More information

Optimal tour along pubs in the UK

Optimal tour along pubs in the UK 1 From Facebook Optimal tour along 24727 pubs in the UK Road distance (by google maps) see also http://www.math.uwaterloo.ca/tsp/pubs/index.html (part of TSP homepage http://www.math.uwaterloo.ca/tsp/

More information

Problem Set 6 (Due: Wednesday, December 6, 2006)

Problem Set 6 (Due: Wednesday, December 6, 2006) Urban OR Fall 2006 Problem Set 6 (Due: Wednesday, December 6, 2006) Problem 1 Problem 6.6 in Larson and Odoni Problem 2 Exercise 6.7 (page 442) in Larson and Odoni. Problem Suppose we have a network G(N,

More information

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two.

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two. Approximation Algorithms and Hardness of Approximation February 19, 2013 Lecture 1 Lecturer: Ola Svensson Scribes: Alantha Newman 1 Class Information 4 credits Lecturers: Ola Svensson (ola.svensson@epfl.ch)

More information

A comparison of two new exact algorithms for the robust shortest path problem

A comparison of two new exact algorithms for the robust shortest path problem TRISTAN V: The Fifth Triennal Symposium on Transportation Analysis 1 A comparison of two new exact algorithms for the robust shortest path problem Roberto Montemanni Luca Maria Gambardella Alberto Donati

More information

Conflict-free Real-time AGV Routing

Conflict-free Real-time AGV Routing Conflict-free Real-time AGV Routing Rolf H. Möhring, Ekkehard Köhler, Ewgenij Gawrilow, and Björn Stenzel Technische Universität Berlin, Institut für Mathematik, MA 6-1, Straße des 17. Juni 136, 1623 Berlin,

More information

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur Module 4 Constraint satisfaction problems Lesson 10 Constraint satisfaction problems - II 4.5 Variable and Value Ordering A search algorithm for constraint satisfaction requires the order in which variables

More information

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology, Madras. Lecture No.

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology, Madras. Lecture No. Fundamentals of Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture No. # 13 Transportation Problem, Methods for Initial Basic Feasible

More information

Greedy algorithms Or Do the right thing

Greedy algorithms Or Do the right thing Greedy algorithms Or Do the right thing March 1, 2005 1 Greedy Algorithm Basic idea: When solving a problem do locally the right thing. Problem: Usually does not work. VertexCover (Optimization Version)

More information

Variable Neighborhood Search for the Dial-a-Ride Problem

Variable Neighborhood Search for the Dial-a-Ride Problem Variable Neighborhood Search for the Dial-a-Ride Problem Sophie N. Parragh, Karl F. Doerner, Richard F. Hartl Department of Business Administration, University of Vienna, Bruenner Strasse 72, 1210 Vienna,

More information

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 4 Homework Problems Problem

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

IMPLEMENTATION OF A FIXING STRATEGY AND PARALLELIZATION IN A RECENT GLOBAL OPTIMIZATION METHOD

IMPLEMENTATION OF A FIXING STRATEGY AND PARALLELIZATION IN A RECENT GLOBAL OPTIMIZATION METHOD IMPLEMENTATION OF A FIXING STRATEGY AND PARALLELIZATION IN A RECENT GLOBAL OPTIMIZATION METHOD Figen Öztoprak, Ş.İlker Birbil Sabancı University Istanbul, Turkey figen@su.sabanciuniv.edu, sibirbil@sabanciuniv.edu

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Interrupts and real time

Interrupts and real time Page 1 of 7 Interrupts and real time Problem 1. A computer system has three devices whose characteristics are summarized in the following table: Device Service Time Interrupt Frequency Allowable Latency

More information

Piecewise Defined Functions

Piecewise Defined Functions Piecewise Defined Functions Most of the functions that we ve looked at this semester can be expressed as a single equation. For example, f(x) =3x 2 5x +2,org(x) = x 1, or h(x) =e 3x 1. Sometimes an equation

More information

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: I Strength of formulations; improving formulations by adding valid inequalities I Relaxations and dual problems; obtaining

More information

The Join the Club Interpretation of Some. Graph Algorithms

The Join the Club Interpretation of Some. Graph Algorithms The Join the Club Interpretation of Some Graph Algorithms Harold Reiter Isaac Sonin June 8, 2000 Abstract Several important tree construction algorithms of graph theory are described and discussed using

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

P and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang

P and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang P and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang Efficient Algorithms So far, we have developed algorithms for finding shortest paths in graphs, minimum spanning trees in

More information

Algorithms for Euclidean TSP

Algorithms for Euclidean TSP This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Online Graph Exploration

Online Graph Exploration Distributed Computing Online Graph Exploration Semester thesis Simon Hungerbühler simonhu@ethz.ch Distributed Computing Group Computer Engineering and Networks Laboratory ETH Zürich Supervisors: Sebastian

More information

Outline. Optimales Recycling - Tourenplanung in der Altglasentsorgung

Outline. Optimales Recycling - Tourenplanung in der Altglasentsorgung 1 Optimales Recycling - Ruhr-Universität Bochum, 15.02.2013 2 1. Introduction and Motivation 2. Problem Definition 3. Literature Review 4. Mathematical Model 5. Variable Neighborhood Search 6. Numerical

More information

Kanban Size and its Effect on JIT Production Systems

Kanban Size and its Effect on JIT Production Systems Kanban Size and its Effect on JIT Production Systems Ing. Olga MAŘÍKOVÁ 1. INTRODUCTION Integrated planning, formation, carrying out and controlling of tangible and with them connected information flows

More information

Source. Sink. Chapter 10: Iterative Programming Maximum Flow Problem. CmSc250 Intro to Algorithms

Source. Sink. Chapter 10: Iterative Programming Maximum Flow Problem. CmSc250 Intro to Algorithms Chapter 10: Iterative Programming Maximum Flow Problem CmSc20 Intro to Algorithms A flow network is a model of a system where some material is produced at its source, travels through the system, and is

More information

MATH3016: OPTIMIZATION

MATH3016: OPTIMIZATION MATH3016: OPTIMIZATION Lecturer: Dr Huifu Xu School of Mathematics University of Southampton Highfield SO17 1BJ Southampton Email: h.xu@soton.ac.uk 1 Introduction What is optimization? Optimization is

More information

(Refer Slide Time: 01:00)

(Refer Slide Time: 01:00) Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture minus 26 Heuristics for TSP In this lecture, we continue our discussion

More information

The Traveling Salesperson Problem with Forbidden Neighborhoods on Regular 3D Grids

The Traveling Salesperson Problem with Forbidden Neighborhoods on Regular 3D Grids The Traveling Salesperson Problem with Forbidden Neighborhoods on Regular 3D Grids Anja Fischer, Philipp Hungerländer 2, and Anna Jellen 2 Tehnische Universität Dortmund, Germany, anja2.fischer@tu-dortmund.de,

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

The Heuristic Strategy Implementation to the Hopfield -Tank TSP Neural Algorithm

The Heuristic Strategy Implementation to the Hopfield -Tank TSP Neural Algorithm The Heuristic Strategy Implementation to the Hopfield -Tank TSP Neural Algorithm N. Kovač, S. Bauk Faculty of Maritime Studies, University of Montenegro Dobrota 36, 85 330 Kotor, Serbia and Montenegro

More information

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs 15.082J and 6.855J Lagrangian Relaxation 2 Algorithms Application to LPs 1 The Constrained Shortest Path Problem (1,10) 2 (1,1) 4 (2,3) (1,7) 1 (10,3) (1,2) (10,1) (5,7) 3 (12,3) 5 (2,2) 6 Find the shortest

More information

P and NP CISC5835, Algorithms for Big Data CIS, Fordham Univ. Instructor: X. Zhang

P and NP CISC5835, Algorithms for Big Data CIS, Fordham Univ. Instructor: X. Zhang P and NP CISC5835, Algorithms for Big Data CIS, Fordham Univ. Instructor: X. Zhang Efficient Algorithms So far, we have developed algorithms for finding shortest paths in graphs, minimum spanning trees

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Subhash Suri June 5, 2018 1 Figure of Merit: Performance Ratio Suppose we are working on an optimization problem in which each potential solution has a positive cost, and we want

More information

Basic Motion Planning Algorithms

Basic Motion Planning Algorithms Basic Motion Planning Algorithms Sohaib Younis Intelligent Robotics 7 January, 2013 1 Outline Introduction Environment Map Dijkstra's algorithm A* algorithm Summary 2 Introduction Definition: Motion Planning

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Ch 4 : CPU scheduling

Ch 4 : CPU scheduling Ch 4 : CPU scheduling It's the basis of multiprogramming operating systems. By switching the CPU among processes, the operating system can make the computer more productive In a single-processor system,

More information

arxiv:cs/ v1 [cs.ds] 20 Feb 2003

arxiv:cs/ v1 [cs.ds] 20 Feb 2003 The Traveling Salesman Problem for Cubic Graphs David Eppstein School of Information & Computer Science University of California, Irvine Irvine, CA 92697-3425, USA eppstein@ics.uci.edu arxiv:cs/0302030v1

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 35 Quadratic Programming In this lecture, we continue our discussion on

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach Amir Salehipour School of Mathematical and Physical Sciences, The University of Newcastle, Australia

More information

Assignment 5: Solutions

Assignment 5: Solutions Algorithm Design Techniques Assignment 5: Solutions () Port Authority. [This problem is more commonly called the Bin Packing Problem.] (a) Suppose K = 3 and (w, w, w 3, w 4 ) = (,,, ). The optimal solution

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

Distributed Simulation for Structural VHDL Netlists

Distributed Simulation for Structural VHDL Netlists Distributed Simulation for Structural VHDL Netlists Werner van Almsick 1, Wilfried Daehn 1, David Bernstein 2 1 SICAN GmbH, Germany 2 Vantage Analysis Systems, USA Abstract: This article describes the

More information

Commando: Solution. Solution 3 O(n): Consider two decisions i<j, we choose i instead of j if and only if : A S j S i

Commando: Solution. Solution 3 O(n): Consider two decisions i<j, we choose i instead of j if and only if : A S j S i Commando: Solution Commando: Solution Solution 1 O(n 3 ): Using dynamic programming, let f(n) indicate the maximum battle effectiveness after adjustment. We have transfer equations below: n f(n) = max

More information

Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger

Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order Gerold Jäger joint work with Paul Molitor University Halle-Wittenberg, Germany August 22, 2008 Overview 1 Introduction

More information

Dominance Constraints and Dominance Graphs

Dominance Constraints and Dominance Graphs Dominance Constraints and Dominance Graphs David Steurer Saarland University Abstract. Dominance constraints logically describe trees in terms of their adjacency and dominance, i.e. reachability, relation.

More information

7KH9HKLFOH5RXWLQJSUREOHP

7KH9HKLFOH5RXWLQJSUREOHP 7K9KO5RXWJSUREOP Given a set of vehicles with a certain capacity located at a depot and a set of customers with different demands at various locations, the vehicle routing problem (VRP) is how to satisfy

More information

UNIT 3. Greedy Method. Design and Analysis of Algorithms GENERAL METHOD

UNIT 3. Greedy Method. Design and Analysis of Algorithms GENERAL METHOD UNIT 3 Greedy Method GENERAL METHOD Greedy is the most straight forward design technique. Most of the problems have n inputs and require us to obtain a subset that satisfies some constraints. Any subset

More information

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS) COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section 35.1-35.2(CLRS) 1 Coping with NP-Completeness Brute-force search: This is usually only a viable option for small

More information

35 Approximation Algorithms

35 Approximation Algorithms 35 Approximation Algorithms Many problems of practical significance are NP-complete, yet they are too important to abandon merely because we don t know how to find an optimal solution in polynomial time.

More information

MLR Institute of Technology

MLR Institute of Technology Course Name : Engineering Optimization Course Code : 56021 Class : III Year Branch : Aeronautical Engineering Year : 2014-15 Course Faculty : Mr Vamsi Krishna Chowduru, Assistant Professor Course Objective

More information

Preprint Stephan Dempe, Alina Ruziyeva The Karush-Kuhn-Tucker optimality conditions in fuzzy optimization ISSN

Preprint Stephan Dempe, Alina Ruziyeva The Karush-Kuhn-Tucker optimality conditions in fuzzy optimization ISSN Fakultät für Mathematik und Informatik Preprint 2010-06 Stephan Dempe, Alina Ruziyeva The Karush-Kuhn-Tucker optimality conditions in fuzzy optimization ISSN 1433-9307 Stephan Dempe, Alina Ruziyeva The

More information

Graph Theory. Chapter 4.

Graph Theory. Chapter 4. Graph Theory. Chapter 4. Wandering. Here is an algorithm, due to Tarry, that constructs a walk in a connected graph, starting at any vertex v 0, traversing each edge exactly once in each direction, and

More information

How to Sort by Walking on a Tree

How to Sort by Walking on a Tree How to Sort by Walking on a Tree Daniel Graf ETH Zürich, Department of Computer Science grafdan@ethz.ch Abstract. Consider a graph G with n vertices. On each vertex we place a box. These n vertices and

More information

COMP3121/3821/9101/ s1 Assignment 1

COMP3121/3821/9101/ s1 Assignment 1 Sample solutions to assignment 1 1. (a) Describe an O(n log n) algorithm (in the sense of the worst case performance) that, given an array S of n integers and another integer x, determines whether or not

More information

Simple Graph. General Graph

Simple Graph. General Graph Graph Theory A graph is a collection of points (also called vertices) and lines (also called edges), with each edge ending at a vertex In general, it is allowed for more than one edge to have the same

More information

Using Column Generation for the Pickup and Delivery Problem with Disturbances

Using Column Generation for the Pickup and Delivery Problem with Disturbances Master Thesis Using Column Generation for the Pickup and Delivery Problem with Disturbances Author: Dirk Koning Supervisors: dr. ir. J.M. van den Akker dr. J.A. Hoogeveen Thesis number: ICA-0319791 June

More information

Recursive column generation for the Tactical Berth Allocation Problem

Recursive column generation for the Tactical Berth Allocation Problem Recursive column generation for the Tactical Berth Allocation Problem Ilaria Vacca 1 Matteo Salani 2 Michel Bierlaire 1 1 Transport and Mobility Laboratory, EPFL, Lausanne, Switzerland 2 IDSIA, Lugano,

More information

A genetic algorithm for kidney transplantation matching

A genetic algorithm for kidney transplantation matching A genetic algorithm for kidney transplantation matching S. Goezinne Research Paper Business Analytics Supervisors: R. Bekker and K. Glorie March 2016 VU Amsterdam Faculty of Exact Sciences De Boelelaan

More information

Linear Programming in Small Dimensions

Linear Programming in Small Dimensions Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional

More information

Methods and Models for Combinatorial Optimization Modeling by Linear Programming

Methods and Models for Combinatorial Optimization Modeling by Linear Programming Methods and Models for Combinatorial Optimization Modeling by Linear Programming Luigi De Giovanni, Marco Di Summa 1 Linear programming models Linear programming models are a special class of mathematical

More information

Fault tolerant TTCAN networks

Fault tolerant TTCAN networks Fault tolerant TTCAN networks B. MŸller, T. FŸhrer, F. Hartwich, R. Hugel, H. Weiler, Robert Bosch GmbH TTCAN is a time triggered layer using the CAN protocol to communicate in a time triggered fashion.

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

Welfare Navigation Using Genetic Algorithm

Welfare Navigation Using Genetic Algorithm Welfare Navigation Using Genetic Algorithm David Erukhimovich and Yoel Zeldes Hebrew University of Jerusalem AI course final project Abstract Using standard navigation algorithms and applications (such

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Regensburger DISKUSSIONSBEITRÄGE zur Wirtschaftswissenschaft

Regensburger DISKUSSIONSBEITRÄGE zur Wirtschaftswissenschaft Regensburger DISKUSSIONSBEITRÄGE zur Wirtschaftswissenschaft A Cluster Based Scatter Search Heuristic for the Vehicle Routing Problem University of Regensburg Discussion Papers in Economics No. 415, November

More information

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 Part A: Answer any four of the five problems. (15 points each) 1. Transportation problem 2. Integer LP Model Formulation

More information

Travelling Salesman Problem: Tabu Search

Travelling Salesman Problem: Tabu Search Travelling Salesman Problem: Tabu Search (Anonymized) April 2017 Abstract The Tabu Search algorithm is a heuristic method to find optimal solutions to the Travelling Salesman Problem (TSP). It is a local

More information

A Tabu Search solution algorithm

A Tabu Search solution algorithm Chapter 5 A Tabu Search solution algorithm The TS examines a trajectory sequence of solutions and moves to the best neighbor of the current solution. To avoid cycling, solutions that were recently examined

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information