Column Generation for the Pickup and Delivery Problem with Time Windows

Size: px
Start display at page:

Download "Column Generation for the Pickup and Delivery Problem with Time Windows"

Transcription

1 Column Generation for the Pickup and Delivery Problem with Time Windows Kombinatorisk optimering 1. april 2005 Stefan Røpke Joint work with Jean-François Cordeau Work in progress! Literature, homework assignments and slides on homepage after lecture. Kombinatorisk Optimering, April

2 The Pickup and Delivery Problem with Time Windows (PDPTW) The PDPTW is a model of a transportation problem that often occurs in real life. Assume that you own a fleet of vehicles. Your customers want goods to be transported between locations in Denmark. Examples 3x34 Transportation of lifestocks (for example pigs) Transportation of raw material and goods between production facilities and warehouses Kombinatorisk Optimering, April

3 The pickup and delivery problem with time windows More formally, we are given: A set of n requests. Each request consists of a pickup and a delivery. A request involves transporting an amount of goods. Vehicles have a certain maximum capacity. The pickup and delivery of a request are performed by the same vehicle. A time window is associated with both the pickup and the delivery. We usually want to either 1. minimize travelled distance (number of vehicles to use is free) or 2. minimize number of vehicles used. Kombinatorisk Optimering, April

4 Introduction to DARP Door-to-door transportation of elderly and disabled persons (the users). Several users are transported in the same vehicle (think of a mini-bus). The users specify when they wish to be picked up and when the they have to be at their destination (a request). The users do not specify an exact time of day, but a time window. Example: Instead of requesting a pickup at 9:11 the users request a pickup between 9:00 and 9:30. Often the user only specify either the pickup or delivery time window. An operator would assign the other time window. Kombinatorisk Optimering, April

5 Introduction to DARP Users don t like to be taken on long detours even if it helps the overall performance of the transportation system. Consequently a maximum ride time constraint is specified for each request. P2 D1 D2 P1 Time windows are not enough for ensuring that the maximum ride time constraint is enforced. Example: pickup [8:00; 8:15], delivery [8:45; 9:00], max ride time 45 minutes. Pickup at 8:00 and delivery at 9:00 violates max ride time constraint. Pickup time window could be shrunk to [8:15; 8:15]. This would ensure that ride time constraint is enforced, but it rules out perfectly good solutions like pickup at 8:05 and delivery at 8:45. Each vehicle has a certain capacity (only a limited amount of seats). The vehicles have to start and end their tours at a given start and end terminal. Objective: minimize driving cost subject to the constraints mentioned above. Problem is NP-Hard. Kombinatorisk Optimering, April

6 IP model Notation: n P = {1,..., n} D = {n + 1,..., 2n} Number of requests. Pickup locations Delivery locations N= P D {0, 2n + 1} The set of all nodes in the graph. 0 and 2n + 1 are the start and end terminal respectively. Request i consist of pickup i and delivery n + i. K Set of vehicles G= (N, A) Directed graph on which the problem is defined. A is the set of edges. Q Capacity of a vehicle q i Amount loaded onto vehicle at node i. q i = q n+i. [e i, l i ] time window of node i d i > 0 L duration of service at node i Max ride time of a request. c ij Cost of traveling from node i to node j. It is Assumed that c ij satisfies the triangle inequality. t ij Time needed for going from node i to node j. It is assumed that t ij satisfies the triangle inequality and that t ij >0. Kombinatorisk Optimering, April

7 Decision variables IP model Binary variables x k ij 1 iff the kth vehicle goes straight from node i to node j. Fractional variables Bi k When vehicle k starts visiting node i Q k i The load of vehicle k after visiting node i. L k i The ride time of request i on vehicle k. Kombinatorisk Optimering, April

8 IP model (3-index) Objective: min k K i N j N c k ij xk ij Every request is served exactly once: k K j N x k ij = 1 i P Same vehicle services pickup and delivery: j N x k ij j N x k n+i,j = 0 i P, k K Every vehicle leaves the start terminal: j N x k 0j = 1 k K The same vehicle that enters a node leaves the node: j N x k ji j N x k ij = 0 i P D, k K Every vehicle enters the end terminal: i N x k i,2n+1 = 1 k K Kombinatorisk Optimering, April

9 Standard model (3-index) Setting and checking visit time: B k j (Bk i + d i + t ij )x k ij e i B k i l i i N, j N, k K i N, k K Linearization of first equation (M k ij B k j Bk i + d i + t ij M k ij (1 xk ij ) is a large constant): i N, j N, k K Setting and checking vehicle load: Q k j (Qk i + q j)x k ij Q k i Q i N, j N, k K i N, k K Binary variables: x k ij {0, 1} i N, j N, k K If DARP: Setting and checking ride time: L k i = Bk n+i (Bk i + d i) L k i L i P, k K i N, k K Kombinatorisk Optimering, April

10 Overview of recent literature From my point of view: methods and heuristics Two main branches - exact PDPTW heuristics: Li & Lim, 2001, tabu search + simulated annealing, up to 50 requests, seconds on a i686. Bent & Van Hentenryck, 2003, LNS, up to 500 requests, Largest problems was solved in 135 minutes on 1.2 Ghz AMD. Ropke & Pisinger, 2005, ALNS, up to 500 requests, avg. time to solve largest problems was 90 minutes, but some of the problems took up to eight hours to solve (on a Pentium IV, 1.5 Ghz). Generally the later methods dominate the earlier in terms of solution quality. Xu, Chen, Rajagopal, 2003, column generation heuristic, up to 500 requests, largest problems was solved in hours on PIII, 450 Mhz. Problem was different from the problem solved in the three previous papers so a direct comparison is not possible. State of the art heuristics seems quite robust and yields high quality solutions. Kombinatorisk Optimering, April

11 Overview of recent literature PDPTW exact methods IP Column generation: Branch and bound algorithm with linear programming (LP) lower bound based on a model with an exponential number of variables. Branch & Cut: Branch and bound algorithm with (LP) lower bound based on a model with an exponential number of constraints. Dumas, Desrosiers, Soumis, 1991, column generation, up to 55 requests, largest problem was solved (*) in 313 seconds on a Cyber 855 computer (whatever that is). Savelsbergh, Sol, 1998, column generation, up to 30 requests, 5 seconds - 15 hours IBM/RS6000. Lu, Dessouky, Branch & Cut, 2003, up to 15 requests, 4.3 seconds hours on 900Mhz Sun computer. Without time windows, slightly larger problems could be solved. Sigurd, Pisinger, Sig, 2004, column generation, upto 205 requests, largest problem solved in 1.5 hours, 933Mhz PIII. Ropke, Cordeau, Laporte, 2005 (work in progress), branch and cut, up to 20 requests in 2 hours on 2.5 Ghz Pentium IV. Kombinatorisk Optimering, April

12 Ropke, Cordeau, 2005 (work in progress), column generation, up to 500 requests. Largest problem solved in 350 seconds on 2.5 Ghz Pentium IV. Only very nice problems of these sizes can be solved though. The last method is the topic of this talk. It s hard to compare algorithms. No standard benchmark instances + small variations in the problem solved. Kombinatorisk Optimering, April

13 DARP literature Heuristics, for an overview see: Jean-François Cordeau, Gilbert Laporte, The Dial-a- Ride Problem: Variants, Modelling issues and Algorithms, Technical Report, University of Montreal, G It s hard to compare heuristics due to lack of common test instances. Exact methods Several single vehicle algorithms from the eighties. Cordeau, 2004, Branch & Cut, instances with up to 30 requests are solved within 4 hours on 2.5Ghz Pentium IV. Ropke & Cordeau, 2005 (work in progress), Branch & Cut, instances with up to 50 requests are solved within 4 hours on 2.5Ghz Pentium IV. Kombinatorisk Optimering, April

14 PDPTW, Set Partitioning Problem (SPP) Enumerate all feasible routes. Construct an IP model where each decision variable x j corresponds to a feasible route. If x j = 1 then route j is used in the solution. c j gives the cost of the j th route. a ij indicates if request i is served on the j th route. min q j=1 c j x j (1) Subject to: q j=1 a ij x j = 1 i V 0 (2) x j {0, 1} j {0, 1} (3) Each column corresponds to a feasible path from node 0 to node n + 1. It can be proven that the LP-relaxation of the set partitioning formulation dominates the LP-relaxation of the 3-index formulation. Kombinatorisk Optimering, April

15 Set partitioning example 1 n+1 2 n+4 n n+3 Feasible routes (requests in the feasible routes): {1}, {2}, {3}, {4}, {1,2}, {1,4}, {2,3}, {3,4}, {1,2,4}. min 15x1 + 8x2 + 14x3 + 13x x6 + 20x7 + 19x8 + 27x9 st x x6 + x9 = 1 x x7 + x9 = 1 x x7 + x8 = 1 x x6 x8 + x9 = 1 Kombinatorisk Optimering, April

16 Solving the set partitioning problem When the number of feasible routes is rather small we can use the set partitioning model directly, and solve the problem using an IP-solver. The number of feasible routes can be small if the problem only contains a few customers, or if the problem is very constrained. Usually the number of feasible routes grows very rapidly as the number of customers increase. In a problem with 40 requests, where all routes with up to 7 requests are valid we would get about 4.6 million columns. Such a set partitioning problem is impossible to solve with the IP solvers of today, as the set partitioning problem is NP-hard. We could try to solve the LP relaxation of the problem, but even though we have polynomial time algorithms for the linear programming problem, this approach would also be futile if we apply linear programming directly. What we can do, is applying column generation techniques. Kombinatorisk Optimering, April

17 Delayed Column Generation for VRPTW Basic idea: 1. Solve the LP-relaxation using only a subset of all the columns. 2. Use the theory from the Simplex algorithm to determine if the LP solution to the reduced problem also is the optimal LP solution to the complete problem with all the columns. 3. If so, then we are done (we have a LP relaxation to the complete set partition problem). If not, then we use the theory of the Simplex algorithm to add one (or more) columns to our reduced problem. Step 1-3 is repeated until we are done. In practice step 2 and 3 are performed together. Kombinatorisk Optimering, April

18 Column Generation - details The initial set of columns should be chosen such that a feasible solution to the LP-problem exists. This can for example be done by creating n columns, each representing a route with one request. When the reduced LP-problem has been solved we should determine if our LP-solution also is optimal for the complete LP, or if more columns must be added to the problem. This is done by looking at how the simplex algorithm works. In each iteration of the simplex algorithm we have a basic solution. In order to progress we have to choose a new variable to enter the basis. In a minimization problem like ours we have to chose a variable with negative reduced cost. min cx (4) s.t. Ax= b (5) x 0 (6) Reduced cost: c r j = c j πa j where c j is the j th coefficient in the objective, π is the vector of dual variables and A j is the j th column in the matrix A. Kombinatorisk Optimering, April

19 Column Generation cont. In our problem the reduced cost of a column (variable) is: c r j = c j n π i a ij i=1 Thus we can generate all feasible columns one by one and check their reduced cost. In the end we can pick the column with lowest reduced cost. If that value is negative the column should be added to our problem, while if it is nonnegative the simplex algorithm is done and our solution is the optimal LP-solution to the complete LP-relaxation of the set-partitioning problem. In practice it is not possible to go through all columns one by one. Instead we define an IP-problem whose solution identifies the column with smallest reduced cost. We denote such a problem the pricing problem or the sub-problem. Recall that each column in our set partitioning problem corresponds to a feasible path from node 0 to node 2n+1. That is, a path that respects time windows and capacities. Thus we should look for these paths. Kombinatorisk Optimering, April

20 Column Generation cont. We are looking for a path from node 0 to 2n + 1. The path should respect the constraints of the PDPTW / DARP. This problem can be expressed as an IP problem with a binary decision variables x pq for each edge (p, q) in the graph. We would also need some fractional variables, but let us forget about them for now. The binary decision variable is 1 if the edge is used in the path. We have the following problem: min f(x) s.t. Bx = b x {0, 1} (2n+1)(2n+1) Kombinatorisk Optimering, April

21 How should f(x) look like? Recall from last slide: Reduced cost of a variable / column: c r j = c j n π i a ij i=1 a ij indicated if request i was used in route j. Given a solution to the IP above we can find the ith entry in its column a i as follows: a i = 2n+1 q=0 x iq Thus we can write the reduced cost of a column: c r = c = 2n+1 p=0 n π i a i i=1 2n+1 q=0 c pq x pq n π i 2n+1 x iq i=1 q=0 = 2n+1 p=0 2n+1 q=0 (c pq π p)x pq where π p = { πp if p {1,..., n} 0 otherwise Kombinatorisk Optimering, April

22 Column Generation cont. Our shortest path problem becomes min 2n+1 p=0 2n+1 q=0 (c pq π p)x pq s.t. Bx = b x {0, 1} (2n+1)(2n+1) This is an elementary shortest path problem with pickup and deliveries, time windows, capacity constraints and negative edge weights (ESPPPDTWCC). Such a problem is NP-hard. A problem that is slightly easier is the shortest path problem with pickup and deliveries, with time windows, capacity constraints and negative edge weights (SPPPDTWCC). In this problem, we are allowed to visit each customer several times, and our paths can consequently contain cycles. The problem is still NP-hard though. Most column generation algorithms for the PDPTW have done this, but we aim at solving the ESPPPDTWCC. Kombinatorisk Optimering, April

23 Shortest path example 1 n n+1 3 n+2 4 n+3 n+4 All edges have length 1. Dual variables: π 1 = 3, π 2 = 4, π 3 = 2, π 4 = 1 Notice: Cycling! When (i, j) E t ij > 0 or i V d i > 0 infinite cycling is imposible. Kombinatorisk Optimering, April

24 Solving the SPPPDTWCC Solution approach: labeling algorithm. Brute force: Enumerate all paths: Labels are associated with each node i in the graph. A label indentifies a path from 0 to node i. Various info can be stored in the label, like the cost of the path, the sequence of nodes visited in the path, the time node i is visited in the path. We start out with only one label. This label is associated with node 0 and has cost zero. concept - extending labels: Consider one specific label in node i and extend the path corresponding to the label to all nodes that can be reached directly from i. For each of the constructed paths, check if it is feasible. If it is, create a new label in the end node corresponding to the new path. Kombinatorisk Optimering, April

25 The brute force algorithm works as follows: While labels in nodes 0,..., 2n exists: Select a label l, do not select labels in node 2n + 1. Extend the label to all nodes that can be reached directly from the label and erase the label. Find the cheapest label in node 2n + 1. Return the path stored in the label, this is the shortest path. Every time a label is extended the childs of the label will have a later start time because of assumptions so process will end. But... the running time is exponential and we get nonelementary paths. We can get rid of nonelementary paths by keeping track of the nodes visited in the label/path. We should not extend labels to already visited nodes. Kombinatorisk Optimering, April

26 Solving the ESPPPDTWCC Example again: 1 n n+1 3 n+2 4 n+3 n+4 Kombinatorisk Optimering, April

27 Solving the ESPPPDTWCC Speeding up labeling algorithm: Dominance. Is it possible to discard some labels during the excecution of the algorithm? Assume that the labels x and y both corresponds to node i. We say that x dominates y if the cheapest feasible path to node 2n + 1 that can be created from label y is more expensive than the cheapest feasible path to node 2n + 1 that can be created from label x. If x dominates y then y can be discarded (the paths we get from y will be more expensive than the best path we get from x). How can we know if x dominates y? Kombinatorisk Optimering, April

28 First try: x dominates y if cost of path in x is cheaper than cost of path in y. Doesn t work: If label x visits node i later than label y then we might visit some edges with high negative reduced cost that can t be visited from label x because of time windows. Second try: x dominates y if cost of path in x is cheaper than cost of path in y and node i is visited at least as early in label x as in label y. Getting better. Problem above solved, but still not good enough. If x has visited some requests that y hasn t visited then the best path extended from y might end up being better than the best path extended from x. The path extended from y might visit some of the nodes that x already has visited and thereby use some negative cost edges that paths extended from x can t reach. Third try... Kombinatorisk Optimering, April

29 Final solution: x dominates y if x.cost y.cost x.time y.time x.nodesv isited y.nodesv isited x.openrequests y.openrequests openrequests are the requests that the path in the label has started serving (pickup serviced) but hasn t finished (delivery not done yet). This dominance relation works if visiting deliveries never lowers the the cost of the paths. This can be achieved by moving the dual values from the edges leaving the pickups to the edges entering the pickups. Several tricks can be used to speed up the computation more. Kombinatorisk Optimering, April

30 Hard and Easy ESPPPDTWCC Several properties of a SPPTWCC problem influences the practical hardness of the problem when solved by the algorithm described above. The table below summarizes these properties. Easier Harder Small problems Large problems Sparse graph Dense graph Tight time windows Large time windows few open requests at the same time Many open requests at the same time Few edges with negative cost Many edges with negative cost It is hard to do much about the first four properties, allthough the preprocessing described at the end of this lecture can help a bit. The number of edges with negative cost and the magnitude of the negative costs are determined by the dual variables (recall that cˆ pq = (c pq π p)). Let s see how the dual variables and the edge cost behave as our column generation algorithm progresses. Kombinatorisk Optimering, April

31 Column generation R101, 100 cust. (VRPTW examples) n i=1 π i/n: 500 avgdual.plot Average edge cost in graph for shortest path problem: 200 avgedgecost.plot Kombinatorisk Optimering, April

32 Column generation R101, 100 cust. Percent negative edges in shortest path graph. 80 percentnegedges.plot Number of labels processed in shortest path algorithm proclabels.plot Kombinatorisk Optimering, April

33 Column generation R102, 100 cust. Percent negative edges in shortest path graph. 80 percentnegedges.plot Number of labels processed in shortest path algorithm proclabels.plot Kombinatorisk Optimering, April

34 Column generation R103, 100 cust. Percent negative edges in shortest path graph. 80 percentnegedges.plot Number of labels processed in shortest path algorithm proclabels.plot Lesson learned: The shortest path problem should be solved with a heuristic initially. Only when the heuristic Kombinatorisk Optimering, April

35 no longer can produce columns with reduced cost is it neceassary to switch to the exact method. We must always solve the last pricing problem to optimality to prove that the lower bound is valid. Kombinatorisk Optimering, April

36 Adding more inequalities to the model It would be nice to be able to add inequalities to our set partitioning problem. This would allow us to add valid inequalities in a cutting plane fashion. Furthermore it can make it easy to implement a branch and bound method. In general this is not easy though as the addition of a new inequality can change the structure of our subproblem. We will now see how inequalities in the x k ij variables in the original 3-index formulation can be used in the column generation. Define flow variables: f ij = x k ij i, j V k K Given a solution (x p ) to the LP relaxation of our SPP we can find the flow variables as follows: f ij = q y p ij x p i, j V p=1 where y p ij indicates the number of times that path p uses edge (i, j). <TEGN> Kombinatorisk Optimering, April

37 Adding more inequalities to the model Any valid inequality in the x k ij variables can be written as: k V i V j V ρ ijk xk ij τ Since the vehicles are identical this can be rewritten using flow variables: ρ ij f ij τ i V j V In the column generation context the left hand side becomes ρ ij q (y p ij x p) = q (ρ ij y p ij x p) i V j V p=1 p=1 i V j V Thus the coefficient of the p th column is i V j V (ρ ij y p ij ) If the dual variable corresponding to the constraint is named θ then the cost of an edge in our subproblem becomes:ĉ ij = c ij π j θp ij, and we can solve this shortest path problem using the algorithms discussed previously. Kombinatorisk Optimering, April

38 Method for solving DARP Now that we can add inequaties to the master problem, we can use the PDPTW pricing problem when solving DARP problems. We don t have to make a specific pricing algorithm. Infeasible path iinequality: For all paths i 1 i 2... i α that are infeasible because of ride time constraints, add the following constraints to the master problem: α 1 j=1 x ij i j+1 α 2 <TEGN> There are an exponential amount of these constraints, but they can be generated on the fly. They can even be separated in polynomial time. Kombinatorisk Optimering, April

39 Additional cuts Even though our LP relaxation is composed of elementary shortest paths we might get some ugly LP solutions as the example below illustrate. The following slides introduces some valid inequalities from Branch and Cuts algorithms for the PDPTW. It is not known if these inequalities will be useful for the column generation algorithm. Kombinatorisk Optimering, April

40 Valid inequalities - some examples Subtour elimination constraints j i k x ij + x ji + x jk + x kj + x ki + x ik 2 Lifting for directed case: i 2 j k Lifting for PDPTW case: x ij + 2x ji + x jk + x ki 2 n+j i 2 j n+k k x ij + 2x ji + x jk + x ki + x n+j,i + x n+k,i 2 General expression and more liftings described in paper. Separation algorithms? Kombinatorisk Optimering, April

41 Generalized order constraints i j k n+j n+k n+i x i,n+j + x n+j,i + x j,n+k + x n+k,j + x k,n+i + x n+i,k 2 Lifting for directed case: i j k n+j n+k n+i x i,n+j +x n+j,i +x j,n+k +x n+k,j +x k,n+i +x n+i,k +x ij +x i,n+k 2 Separation algorithms? Kombinatorisk Optimering, April

42 Capacity constraints i S j N\S x ij q(s) Q S P D q(s) = i S q i +1 Max. vehicle capacity = S +3 Separation algorithms? Kombinatorisk Optimering, April

43 Branching Many branching schemes have been proposed in the literature, here we will only look at two (and only one that actually works!). The most obvious branching scheme is to branch on the fractional x j variables in the SPP, this corresponds to saying that the j th route must be used in one subproblem and must not be used in the other subproblem. Unfortunately this branching scheme does not work very well with the column generation method: The x j = 1 branch is easy. Here we can remove the requests served by the j th route from the problem and add the cost of the route to the objective function. The x j = 0 branch is harder. In this case we must ensure that our column generation does not return the column we have forbidden. This can only(?) be done by making a shortest path algorithm that not only can return the shortest path but also the second shortest path. And this is a bit more tricky than it seems (see exercise). When p columns have been fixed to zero the shortest path algorithm must be able to return the p th shortest path. Kombinatorisk Optimering, April

44 Branching cont. The second branching scheme branch on the f ij variables (remember that f ij indicates if an arc is used in the solution or not). In this case it is easy to handle both the f ij = 1 and f ij = 0 branches. Fixing f ij to zero is simply done by removing the edge (i, j) from the graph. Fixing f ij to one is done by removing all edges originating in i unless i=0 and all edges ending in j unless j = n + 1 from the graph. The only edge originating in i and ending in j left in the graph is (i, j). <TEGN> The problem with this branching scheme is that it creates unballanced sub problems. Kombinatorisk Optimering, April

45 Preprocessing General idea: Reduce the size or complexity of a problem before applying a time consuming method like branch and bound. <TEGN> Kombinatorisk Optimering, April

46 PDPTW Results Branch & Cut results (Ropke, Cordeau & Laporte, Work in progress): name n time init UB best IP Opt root LB best LB B&B nodes a a a a a a a a b b x b b x b b b b x b b b b Kombinatorisk Optimering, April

47 Column Generation (Ropke & Cordeau, Work in progress): name n Opt LB root best IP time nodes LP-time a X X a X X a X X a X X a X X a X X a X X a X X a X X a X X a X a X b X X b X X b X X b X X b X X b X X b X X b X X b X X b X X b X X b X X Kombinatorisk Optimering, April

48 Column Generation (Ropke & Cordeau, Work in progress): #Req Opt LB Opt best IP time nodes LP-time LC X X LR X X LRC X X LC X X LR X X LRC X LC X X LR X X LRC X LC X X LR LRC LC X X LR LRC Kombinatorisk Optimering, April

49 Conclusion Hard problems! Interesting problem. Lot of stuff to do! Column generation seems better suited than branch & cut for the PDPTW at the moment. It s going to be interesting to see the results for the DARP. Kombinatorisk Optimering, April

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

More information

Chapter 13: Binary and Mixed-Integer Programming

Chapter 13: Binary and Mixed-Integer Programming Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

CHAPTER 9. Integer Programming

CHAPTER 9. Integer Programming CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

More information

Discrete Optimization

Discrete Optimization Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using

More information

Heuristic and exact algorithms for vehicle routing problems. Stefan Ropke

Heuristic and exact algorithms for vehicle routing problems. Stefan Ropke Heuristic and exact algorithms for vehicle routing problems Stefan Ropke December 2005 Preface This Ph.D. thesis has been prepared at the Department of Computer Science at the University of Copenhagen

More information

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

More information

Two objective functions for a real life Split Delivery Vehicle Routing Problem

Two objective functions for a real life Split Delivery Vehicle Routing Problem International Conference on Industrial Engineering and Systems Management IESM 2011 May 25 - May 27 METZ - FRANCE Two objective functions for a real life Split Delivery Vehicle Routing Problem Marc Uldry

More information

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

More information

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

More information

Linear Programming Notes V Problem Transformations

Linear Programming Notes V Problem Transformations Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material

More information

Linear Programming. March 14, 2014

Linear Programming. March 14, 2014 Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

More information

Branch-and-Price for the Truck and Trailer Routing Problem with Time Windows

Branch-and-Price for the Truck and Trailer Routing Problem with Time Windows Branch-and-Price for the Truck and Trailer Routing Problem with Time Windows Sophie N. Parragh Jean-François Cordeau October 2015 Branch-and-Price for the Truck and Trailer Routing Problem with Time Windows

More information

QoS optimization for an. on-demand transportation system via a fractional linear objective function

QoS optimization for an. on-demand transportation system via a fractional linear objective function QoS optimization for an Load charge ratio on-demand transportation system via a fractional linear objective function Thierry Garaix, University of Avignon (France) Column Generation 2008 QoS optimization

More information

5.1 Bipartite Matching

5.1 Bipartite Matching CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

More information

1 Solving LPs: The Simplex Algorithm of George Dantzig

1 Solving LPs: The Simplex Algorithm of George Dantzig Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

More information

Discuss the size of the instance for the minimum spanning tree problem.

Discuss the size of the instance for the minimum spanning tree problem. 3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

More information

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance transportation)

Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance transportation) Technische Universiteit Delft Faculteit Elektrotechniek, Wiskunde en Informatica Delft Institute of Applied Mathematics Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm. Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

More information

Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

More information

A new Branch-and-Price Algorithm for the Traveling Tournament Problem (TTP) Column Generation 2008, Aussois, France

A new Branch-and-Price Algorithm for the Traveling Tournament Problem (TTP) Column Generation 2008, Aussois, France A new Branch-and-Price Algorithm for the Traveling Tournament Problem (TTP) Column Generation 2008, Aussois, France Stefan Irnich 1 sirnich@or.rwth-aachen.de RWTH Aachen University Deutsche Post Endowed

More information

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

More information

Chapter 3. Distribution Problems. 3.1 The idea of a distribution. 3.1.1 The twenty-fold way

Chapter 3. Distribution Problems. 3.1 The idea of a distribution. 3.1.1 The twenty-fold way Chapter 3 Distribution Problems 3.1 The idea of a distribution Many of the problems we solved in Chapter 1 may be thought of as problems of distributing objects (such as pieces of fruit or ping-pong balls)

More information

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical

More information

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem [J. Res. Natl. Inst. Stand. Technol. 111, 161-185 (2006)] A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem Volume 111 Number 2 March-April 2006 Christine Villa and Karla

More information

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen MASTER STHESIS Minimizing costs for transport buyers using integer programming and column generation Eser Esirgen DepartmentofMathematicalSciences CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG

More information

Optimization Modeling for Mining Engineers

Optimization Modeling for Mining Engineers Optimization Modeling for Mining Engineers Alexandra M. Newman Division of Economics and Business Slide 1 Colorado School of Mines Seminar Outline Linear Programming Integer Linear Programming Slide 2

More information

Linear Programming. April 12, 2005

Linear Programming. April 12, 2005 Linear Programming April 1, 005 Parts of this were adapted from Chapter 9 of i Introduction to Algorithms (Second Edition) /i by Cormen, Leiserson, Rivest and Stein. 1 What is linear programming? The first

More information

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions Marc Goerigk, Bob Grün, and Philipp Heßler Fachbereich Mathematik, Technische Universität

More information

COORDINATION PRODUCTION AND TRANSPORTATION SCHEDULING IN THE SUPPLY CHAIN ABSTRACT

COORDINATION PRODUCTION AND TRANSPORTATION SCHEDULING IN THE SUPPLY CHAIN ABSTRACT Technical Report #98T-010, Department of Industrial & Mfg. Systems Egnieering, Lehigh Univerisity (1998) COORDINATION PRODUCTION AND TRANSPORTATION SCHEDULING IN THE SUPPLY CHAIN Kadir Ertogral, S. David

More information

Collaborative Transportation Planning of Less-Than-Truckload Freight: Request Exchange through a Route-based Combinatorial Auction

Collaborative Transportation Planning of Less-Than-Truckload Freight: Request Exchange through a Route-based Combinatorial Auction Faculty 7: Business Studies & Economics Collaborative Transportation Planning of Less-Than-Truckload Freight: Request Exchange through a Route-based Combinatorial Auction Xin Wang and Herbert Kopfer Working

More information

1 Review of Least Squares Solutions to Overdetermined Systems

1 Review of Least Squares Solutions to Overdetermined Systems cs4: introduction to numerical analysis /9/0 Lecture 7: Rectangular Systems and Numerical Integration Instructor: Professor Amos Ron Scribes: Mark Cowlishaw, Nathanael Fillmore Review of Least Squares

More information

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

More information

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees in The Vehicle Routing Problem: Latest Advances and New Challenges Modeling and Solving the Capacitated Vehicle Routing Problem on Trees Bala Chandran 1 and S. Raghavan 2 1 Department of Industrial Engineering

More information

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

More information

A Hybrid Heuristic Method for the Compressed Natural Gas (CNG) Truck Routing Problem with Fueling Stations. I-NUF 2015, Long Beach

A Hybrid Heuristic Method for the Compressed Natural Gas (CNG) Truck Routing Problem with Fueling Stations. I-NUF 2015, Long Beach A Hybrid Heuristic Method for the Compressed Natural Gas (CNG) Truck Routing Problem with Fueling Stations Author: Advisor: Yihuan (Ethan) Shao Maged Dessouky Outline Introduction Literature review Problem

More information

On a Railway Maintenance Scheduling Problem with Customer Costs and Multi-Depots

On a Railway Maintenance Scheduling Problem with Customer Costs and Multi-Depots Als Manuskript gedruckt Technische Universität Dresden Herausgeber: Der Rektor On a Railway Maintenance Scheduling Problem with Customer Costs and Multi-Depots F. Heinicke (1), A. Simroth (1), G. Scheithauer

More information

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS Sensitivity Analysis 3 We have already been introduced to sensitivity analysis in Chapter via the geometry of a simple example. We saw that the values of the decision variables and those of the slack and

More information

Lecture 10 Scheduling 1

Lecture 10 Scheduling 1 Lecture 10 Scheduling 1 Transportation Models -1- large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment and resources

More information

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints Olivier Beaumont,, Paul Renaud-Goud Inria & University of Bordeaux Bordeaux, France 9th Scheduling for Large Scale Systems

More information

24. The Branch and Bound Method

24. The Branch and Bound Method 24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

More information

Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok

Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok Research Paper Business Analytics Applications for the Vehicle Routing Problem Jelmer Blok Applications for the Vehicle Routing Problem Jelmer Blok Research Paper Vrije Universiteit Amsterdam Faculteit

More information

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology Vehicle Routing and Scheduling Martin Savelsbergh The Logistics Institute Georgia Institute of Technology Vehicle Routing and Scheduling Part I: Basic Models and Algorithms Introduction Freight routing

More information

Zeros of a Polynomial Function

Zeros of a Polynomial Function Zeros of a Polynomial Function An important consequence of the Factor Theorem is that finding the zeros of a polynomial is really the same thing as factoring it into linear factors. In this section we

More information

Load Balancing. Load Balancing 1 / 24

Load Balancing. Load Balancing 1 / 24 Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

More information

The Trip Scheduling Problem

The Trip Scheduling Problem The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems

More information

Math 181 Handout 16. Rich Schwartz. March 9, 2010

Math 181 Handout 16. Rich Schwartz. March 9, 2010 Math 8 Handout 6 Rich Schwartz March 9, 200 The purpose of this handout is to describe continued fractions and their connection to hyperbolic geometry. The Gauss Map Given any x (0, ) we define γ(x) =

More information

Lecture 3: Finding integer solutions to systems of linear equations

Lecture 3: Finding integer solutions to systems of linear equations Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture

More information

Scheduling Technicians and Tasks in a Telecommunications Company

Scheduling Technicians and Tasks in a Telecommunications Company Scheduling Technicians and Tasks in a Telecommunications Company Jean-François Cordeau Canada Research Chair in Logistics and Transportation, HEC Montréal 3000, chemin de la Côte-Sainte-Catherine, Montréal,

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

2.3 Convex Constrained Optimization Problems

2.3 Convex Constrained Optimization Problems 42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

More information

Duality in Linear Programming

Duality in Linear Programming Duality in Linear Programming 4 In the preceding chapter on sensitivity analysis, we saw that the shadow-price interpretation of the optimal simplex multipliers is a very useful concept. First, these shadow

More information

A Column Generation Model for Truck Routing in the Chilean Forest Industry

A Column Generation Model for Truck Routing in the Chilean Forest Industry A Column Generation Model for Truck Routing in the Chilean Forest Industry Pablo A. Rey Escuela de Ingeniería Industrial, Facultad de Ingeniería, Universidad Diego Portales, Santiago, Chile, e-mail: pablo.rey@udp.cl

More information

Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling. Tim Nieberg Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

More information

Proximal mapping via network optimization

Proximal mapping via network optimization L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:

More information

Systems of Linear Equations

Systems of Linear Equations Systems of Linear Equations Beifang Chen Systems of linear equations Linear systems A linear equation in variables x, x,, x n is an equation of the form a x + a x + + a n x n = b, where a, a,, a n and

More information

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued. Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

More information

Linear Programming. Solving LP Models Using MS Excel, 18

Linear Programming. Solving LP Models Using MS Excel, 18 SUPPLEMENT TO CHAPTER SIX Linear Programming SUPPLEMENT OUTLINE Introduction, 2 Linear Programming Models, 2 Model Formulation, 4 Graphical Linear Programming, 5 Outline of Graphical Procedure, 5 Plotting

More information

Nonlinear Algebraic Equations Example

Nonlinear Algebraic Equations Example Nonlinear Algebraic Equations Example Continuous Stirred Tank Reactor (CSTR). Look for steady state concentrations & temperature. s r (in) p,i (in) i In: N spieces with concentrations c, heat capacities

More information

Route optimization applied to school transports A method combining column generation with greedy heuristics

Route optimization applied to school transports A method combining column generation with greedy heuristics PREPRINT Route optimization applied to school transports A method combining column generation with greedy heuristics Mikael Andersson Peter Lindroth Department of Mathematics CHALMERS UNIVERSITY OF TECHNOLOGY

More information

Mathematical finance and linear programming (optimization)

Mathematical finance and linear programming (optimization) Mathematical finance and linear programming (optimization) Geir Dahl September 15, 2009 1 Introduction The purpose of this short note is to explain how linear programming (LP) (=linear optimization) may

More information

Nonlinear Programming Methods.S2 Quadratic Programming

Nonlinear Programming Methods.S2 Quadratic Programming Nonlinear Programming Methods.S2 Quadratic Programming Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard A linearly constrained optimization problem with a quadratic objective

More information

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q... Lecture 4 Scheduling 1 Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00

More information

Models in Transportation. Tim Nieberg

Models in Transportation. Tim Nieberg Models in Transportation Tim Nieberg Transportation Models large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment

More information

7 Gaussian Elimination and LU Factorization

7 Gaussian Elimination and LU Factorization 7 Gaussian Elimination and LU Factorization In this final section on matrix factorization methods for solving Ax = b we want to take a closer look at Gaussian elimination (probably the best known method

More information

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013 Dynamic programming Doctoral course Optimization on graphs - Lecture.1 Giovanni Righini January 1 th, 201 Implicit enumeration Combinatorial optimization problems are in general NP-hard and we usually

More information

Branch and Cut for TSP

Branch and Cut for TSP Branch and Cut for TSP jla,jc@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 1 Branch-and-Cut for TSP Branch-and-Cut is a general technique applicable e.g. to solve symmetric

More information

Polynomial Invariants

Polynomial Invariants Polynomial Invariants Dylan Wilson October 9, 2014 (1) Today we will be interested in the following Question 1.1. What are all the possible polynomials in two variables f(x, y) such that f(x, y) = f(y,

More information

Randomization Approaches for Network Revenue Management with Customer Choice Behavior

Randomization Approaches for Network Revenue Management with Customer Choice Behavior Randomization Approaches for Network Revenue Management with Customer Choice Behavior Sumit Kunnumkal Indian School of Business, Gachibowli, Hyderabad, 500032, India sumit kunnumkal@isb.edu March 9, 2011

More information

Basic Components of an LP:

Basic Components of an LP: 1 Linear Programming Optimization is an important and fascinating area of management science and operations research. It helps to do less work, but gain more. Linear programming (LP) is a central topic

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

More information

Integer Programming Formulation

Integer Programming Formulation Integer Programming Formulation 1 Integer Programming Introduction When we introduced linear programs in Chapter 1, we mentioned divisibility as one of the LP assumptions. Divisibility allowed us to consider

More information

Collaborative transportation planning of less-than-truckload freight

Collaborative transportation planning of less-than-truckload freight OR Spectrum DOI 10.1007/s00291-013-0331-x REGULAR ARTICLE Collaborative transportation planning of less-than-truckload freight A route-based request exchange mechanism Xin Wang Herbert Kopfer Springer-Verlag

More information

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

More information

Numerical methods for American options

Numerical methods for American options Lecture 9 Numerical methods for American options Lecture Notes by Andrzej Palczewski Computational Finance p. 1 American options The holder of an American option has the right to exercise it at any moment

More information

Math 4310 Handout - Quotient Vector Spaces

Math 4310 Handout - Quotient Vector Spaces Math 4310 Handout - Quotient Vector Spaces Dan Collins The textbook defines a subspace of a vector space in Chapter 4, but it avoids ever discussing the notion of a quotient space. This is understandable

More information

A Linear Programming Based Method for Job Shop Scheduling

A Linear Programming Based Method for Job Shop Scheduling A Linear Programming Based Method for Job Shop Scheduling Kerem Bülbül Sabancı University, Manufacturing Systems and Industrial Engineering, Orhanlı-Tuzla, 34956 Istanbul, Turkey bulbul@sabanciuniv.edu

More information

An Implementation of a Constraint Branching Algorithm for Optimally Solving Airline Crew Pairing Problems

An Implementation of a Constraint Branching Algorithm for Optimally Solving Airline Crew Pairing Problems MASTER S THESIS An Implementation of a Constraint Branching Algorithm for Optimally Solving Airline Crew Pairing Problems Douglas Potter Department of Mathematical Sciences CHALMERS UNIVERSITY OF TECHNOLOGY

More information

In this paper we present a branch-and-cut algorithm for

In this paper we present a branch-and-cut algorithm for SOLVING A TRUCK DISPATCHING SCHEDULING PROBLEM USING BRANCH-AND-CUT ROBERT E. BIXBY Rice University, Houston, Texas EVA K. LEE Georgia Institute of Technology, Atlanta, Georgia (Received September 1994;

More information

VEHICLE ROUTING PROBLEM

VEHICLE ROUTING PROBLEM VEHICLE ROUTING PROBLEM Readings: E&M 0 Topics: versus TSP Solution methods Decision support systems for Relationship between TSP and Vehicle routing problem () is similar to the Traveling salesman problem

More information

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing Pietro Belotti, Antonio Capone, Giuliana Carello, Federico Malucelli Tepper School of Business, Carnegie Mellon University, Pittsburgh

More information

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where. Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S

More information

March 29, 2011. 171S4.4 Theorems about Zeros of Polynomial Functions

March 29, 2011. 171S4.4 Theorems about Zeros of Polynomial Functions MAT 171 Precalculus Algebra Dr. Claude Moore Cape Fear Community College CHAPTER 4: Polynomial and Rational Functions 4.1 Polynomial Functions and Models 4.2 Graphing Polynomial Functions 4.3 Polynomial

More information

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS Systems of Equations and Matrices Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a

More information

Lecture 11: 0-1 Quadratic Program and Lower Bounds

Lecture 11: 0-1 Quadratic Program and Lower Bounds Lecture : - Quadratic Program and Lower Bounds (3 units) Outline Problem formulations Reformulation: Linearization & continuous relaxation Branch & Bound Method framework Simple bounds, LP bound and semidefinite

More information

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2 IEOR 4404 Homework # Intro OR: Deterministic Models February 14, 011 Prof. Jay Sethuraman Page 1 of 5 Homework #.1 (a) What is the optimal solution of this problem? Let us consider that x 1, x and x 3

More information

OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS 1. SYSTEMS OF EQUATIONS AND MATRICES 1.1. Representation of a linear system. The general system of m equations in n unknowns can be written a 11 x 1 + a 12 x 2 +

More information

Vehicle routing problems with alternative paths: an application to on-demand transportation

Vehicle routing problems with alternative paths: an application to on-demand transportation Vehicle routing problems with alternative paths: an application to on-demand transportation Thierry Garaix, Christian Artigues, Dominique Feillet, Didier Josselin To cite this version: Thierry Garaix,

More information

Constraint Programming for the Vehicle Routing Problem. Philip Kilby

Constraint Programming for the Vehicle Routing Problem. Philip Kilby Constraint Programming for the Vehicle Routing Problem Philip Kilby A bit about NICTA National Information and Communications Technology Australia (NICTA) Research in ICT since 24 Major Labs in Sydney,

More information

Liner Shipping Revenue Management with Respositioning of Empty Containers

Liner Shipping Revenue Management with Respositioning of Empty Containers Liner Shipping Revenue Management with Respositioning of Empty Containers Berit Løfstedt David Pisinger Simon Spoorendonk Technical Report no. 08-15 ISSN: 0107-8283 Dept. of Computer Science University

More information

New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem

New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem Gizem Ozbaygin, Oya Karasan and Hande Yaman Department of Industrial Engineering, Bilkent University, Ankara, Turkey ozbaygin,

More information

Resource Optimization of Spatial TDMA in Ad Hoc Radio Networks: A Column Generation Approach

Resource Optimization of Spatial TDMA in Ad Hoc Radio Networks: A Column Generation Approach Resource Optimization of Spatial TDMA in Ad Hoc Radio Networks: A Column Generation Approach Patrik Björklund, Peter Värbrand and Di Yuan Department of Science and Technology, Linköping University SE-601

More information

Linear Programming Notes VII Sensitivity Analysis

Linear Programming Notes VII Sensitivity Analysis Linear Programming Notes VII Sensitivity Analysis 1 Introduction When you use a mathematical model to describe reality you must make approximations. The world is more complicated than the kinds of optimization

More information