In the classical vehicle-routing problem (VRP) the objective is to service some geographically scattered customers

Size: px
Start display at page:

Download "In the classical vehicle-routing problem (VRP) the objective is to service some geographically scattered customers"

Transcription

1 TRANSPORTATION SCIENCE Vol. 38, No. 2, May 2004, pp issn eissn informs doi /trsc INFORMS Scheduling Transportation of Live Animals to Avoid the Spread of Diseases Mikkel Sigurd, David Pisinger, Michael Sig Department of Computer Science, University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen, Denmark In the classical vehicle-routing problem (VRP) the objective is to service some geographically scattered customers with a given number of vehicles at the minimal cost. In the present paper, we consider a variant of the VRP where the vehicles should deliver some goods between groups of customers. The customers have an associated time window, a precedence number, and a quantity. Each vehicle should visit the customers within their time windows, in nondecreasing order of precedence respecting the capacity of the vehicle. The problem will be denoted the pickup-and-delivery problem with time windows and precedence constraints (PDPTWP). The PDPTWP has applications in the transportation of live animals where veterinary rules demand that the livestocks are visited in a given sequence in order not to spread specific diseases. We propose a tighter formulation of the PDPTWP based on Dantzig-Wolfe decomposition. The formulation splits the problem into a master problem, which is a kind of set-covering problem, and a subproblem that generates legal routes for a single vehicle. The LP-relaxation of the decomposed problem is solved through delayed column generation. Computational experiments show that the obtained bounds are less than 0.24% from optimum for the considered problems. As solving the pricing problems takes up the majority of the solution time, a reformulation of the problem is proposed that makes use of the precedence constraints. By merging customers having the same precedence number into super nodes, the pricing problem may be reformulated as a shortest-path problem defined on an acyclic layered graph. This makes it possible to solve the pricing problem in pseudopolynomial time through dynamic programming. The paper concludes with a comprehensive computational study involving real-life instances from the transportation of live pigs. It is demonstrated that instances with up to 580 nodes can be solved to optimality. Key words: freight transportation; precedence constraints; column generation; layered graph; dynamic programming History: Received: August 2001; revisions received: June 2002, November 2002; accepted: November Introduction The Specific Pathogene Free (SPF) Association in Vejen, Denmark ( is responsible for planning transportation of live pigs in Denmark according to a number of veterinary restrictions. To avoid the spread of diseases, the transportation of animals must be carried out such that the health of each animal is no better than that of animals transported earlier in the day. Each livestock has an associated health level, with smaller health levels corresponding to the healthiest livestock. Therefore, the vehicles must visit the livestock according to a nondecreasing order of the health levels. At the end of each day, the vehicle is cleaned, and thus it is disease-free the following day. The SPF company schedules approximately 300 trips every day, using around 90 vehicles. This problem may be seen as a vehicle-routing problem with time windows (VRPTW) because we have m vehicles to service n geographically scattered customers. The vehicles start and end at the homes of the drivers; thus, there is a unique depot associated with each vehicle. It is assumed that the vehicles leave the depot with no cargo and arrive at the same depot without any cargo. Each vehicle has an associated capacity, which may not be exceeded at any given time. Each customer has an associated time window in which he should be visited. If a vehicle arrives before the customer s time window, the vehicle must wait until the time window begins. The objective of the problem is to satisfy a number of deliveries at the lowest possible transportation cost. Each delivery consists of a seller (of live animals) and a buyer. The seller/buyer pairs are given in advance; thus, the objective of the problem does not include pairing the sellers with buyers. Immediately after having picked up the animals at a seller, the vehicle should proceed to the corresponding buyer. Situations may, however, occur where a delivery consists of more than one seller to the same buyer. In this case, the vehicle can pick up the cargo from all the sellers before proceeding to the buyer. A compound delivery may also be carried out as a number of 197

2 198 Transportation Science 38(2), pp , 2004 INFORMS individual deliveries. Due to veterinary constraints, a compound delivery consisting of one seller to several buyers must always be treated as a number of individual deliveries, because the risk of spreading diseases is considered greater when transporting animals between buyers. Because of these constraints on compound deliveries, the problem we consider is actually a pickup-and-delivery problem with time windows (PDPTW), whereas the problem would be a VRPTW without these deliveries. The last restriction relates to the health level of each livestock where the level indicates which diseases are present. A health level of zero indicates that the livestock is disease-free. In order not to spread diseases, a vehicle should visit the customers according to a nondecreasing order of the health levels. This restriction imposes a number of precedence constraints on the problem, which then becomes a pickup-and-delivery problem with time windows and precedence constraints (PDPTWP). Due to veterinary constraints, it may be assumed that the health level of the buyer is not smaller than the health level of the corresponding seller. A vehicle may only service a delivery if the seller of the present delivery has a health level not smaller than the health level of the previous buyer. To our knowledge, the PDPTWP has not previously been studied in the literature. Nevertheless, due to its similarity to the VRPTW and the PDPTW, several techniques from the latter problems may be used for its solution. The VRPTW and the PDPTW have been studied in the last two decades, and many techniques have been applied for their solution. Kohl (1995) gives an overview of exact solution methods for the VRPTW. As the problem is NP-hard, all solution methods are based on branch-and-bound techniques using some kind of relaxation for deriving the lower bounds. A number of decomposition techniques have been proposed, including Lagrangian relaxation, variable splitting, and Dantzig-Wolfe decomposition. Cutting-plane techniques are also frequently used to tighten the formulation. Dumas et al. (1991) solve a PDPTW through branch and bound and column generation. They describe how the associated graph can be reduced by some simple rules based on the time windows and capacity constraints. Moreover, a dynamic algorithm for generating routes is presented. Other algorithms for route generation are presented by Sol and Savelsbergh (1994), who describe two heuristic methods. The first heuristic is an insertion algorithm that greedily inserts a customer into the route as long as the associated reduced cost is decreased. The second heuristic aims at improving existing columns. Sol and Savelsbergh also propose two branching strategies for obtaining an integer solution. Ideally, the branching strategy should keep the search tree balanced so that the solution progresses equally on both subproblems. The first strategy divides the solution space according to whether a customer is serviced by a particular vehicle. The second strategy considers whether or not two customers are serviced by the same vehicle. In Savelsbergh and Sol (1995), the authors give an overview of the pickup-and-delivery problem (PDP) in a general formulation. Several variants of the PDP are discussed, and a number of exact and heuristic solution methods are presented. Recently, Desaulniers et al. (2002) surveyed many variants and solution methods of the PDP. Barnhart et al. (1998) discuss several aspects of using column generation with a branch-and-bound algorithm, including the solution of the pricing problem, branching strategies, and derivation of additional constraints. Kallehauge (2000) recently proposed the relaxation of the assignment constraints of the VRPTW in a Lagrangian way, thus obtaining a number of independent shortest-path problems. Although the bound from Lagrangian relaxation is not tighter than the bound from column generation, some computational effort may be saved as we get a valid lower bound for any choice of nonnegative Lagrangian multipliers. In this way, Kallehauge (2000) was able to find optimal solutions for some instances from the Solomon test library (Solomon 1987) with up to 200 customers. The multidepot vehicle-scheduling problem with time windows has been studied in Desaulniers et al. (1988). The authors solve the problem with a branchand-price algorithm and report optimal solutions of problems with up to 300 customers. The authors use the labeling algorithm by Desrochers and Soumis (1988) to solve the pricing problem. We use a similar algorithm. In the rest of this section, we formulate the PDPTWP as an ILP model. The problem is defined on an oriented graph = E, where the node set consists of customers and depots. Each customer is associated with a quantity q i. A positive value of q i means that the vehicle should pick up a load of q i, and thus the corresponding customer denotes a seller. A customer with a negative value of q i is denoted a buyer. To each customer, i is assigned a time window a i b i and a precedence level p i (the health level). A vehicle should visit the customers within their time window and according to nondecreasing precedence levels. The customers should be serviced by a set of vehicles. Each vehicle k has an associated capacity Q k, a start depot D + k, and an end depot D k. In the following, we will denote the set of start depots + = k D + k and the set of end depots = k D k. Every depot d = + has an associated time window a d b d within which it is accessible. It is

3 Transportation Science 38(2), pp , 2004 INFORMS 199 implicitly assumed that the opening time of a depot is within a working day, and hence all routes generated will be within 24 hours. In the problem instances considered in this paper, the start and end depots are the homes of the drivers. The cost of traveling from node i to node j is denoted c ij, and the corresponding travel time is t ij > 0. A typical choice of the cost function is the actual expenses (based on time and distance) for driving from i to j. If no edge exists between two nodes i and j, the corresponding cost c ij and time t ij are set to infinity. If the number of vehicles used should be minimized, one may add a large constant to the cost of every edge leading from the start depot + k to a customer. To ensure that a delivery goes directly from seller i to the corresponding buyer j, we delete all edges e ik where k j and all edges e kj where k i. In the case where two or more sellers deliver to the same buyer, we maintain the edges between the sellers. Three types of decision variables appear in the model. The binary variable x ijk for i j, k is 1 iff vehicle k is driving from node i to node j. For a given vehicle k, s ik for i, k denotes the time of arrival at node i (which can be a customer or a depot). Moreover, y ik for i, k is the used capacity of vehicle k when arriving at node i. This leads to the following formulation: minimize subject to k j c ij x ijk k i j (1a) x ijk = 1 i (1b) x D + k jk = 1 k (1c) j x id k k = 1 k (1d) i x ihk x hjk = 0 h k (1e) i j y D + k k = y D k k = 0 k (1f) y jk Q k j k (1g) y ik + q i K 1 x ijk y jk s ik + t ij K 1 x ijk s jk i j k i j k (1h) (1i) a i s ik b i i k (1j) p i K 1 x ijk p j i j k (1k) y ik 0 y ik i k (1l) s ik 0 s ik i k (1m) x ijk 0 1 i j k (1n) Constraints (1b) ensure that each customer is visited exactly once. Constraints (1c) (1d) ensure that each vehicle departs from its start depot and arrives at its end depot. Constraints (1e) ensure that if a vehicle arrives at a node, then it must also depart from the node. Because the arrival times s ik of a given vehicle k are strictly increasing, no subtours will occur in the solution, and thus constraints (1c) (1e) guarantee that each vehicle follows a consecutive path from its start depot to its end depot. The capacity constraints are ensured by constraints (1f) (1h). Constraints (1f) ensure that each vehicle k is empty upon departure from its start depot D + k and upon arrival at its end depot D k. The next constraints (1g) ensure that the load does not exceed the capacity Q k at any time for vehicle k. Constraints (1h) and (1i) say that if vehicle k drives from node i to node j (i.e., x ijk = 1), then the used capacity at node j is y jk y ik + q i and the arrival time at node j is s jk s ik + t ij. Finally, the constraints on the time windows are ensured by inequalities (1j), and inequalities (1k) ensure that the nodes are visited according to the precedence levels. The constant K is a sufficiently large number that is used to model conditional constraints. The model can be seen as an edge formulation of the problem, because the decision variables x ijk are connected to the use of a single edge. The edge formulation of the problem has O n 2 m constraints and O n 2 m variables, where n = and m =. As binary variables are used to express conditional constraints in Equations (1h) (1k), an optimal solution to the LP-relaxation may be structurally far from an integer optimal solution, and hence the corresponding lower bound will also be weak. The precedence constraints may also be handled by deleting all edges from buyers to sellers where the edges violate the precedence constraints. With this preprocessing of the graph, the PDPTWP becomes an ordinary PDPTW. If we did not allow the compound deliveries, pairs of seller/buyers could be merged into a single node, thus reducing the problem to an ordinary VRPTW. Notice also that the capacity constraints in this case would be trivial to check, as we could simply remove all pairs of seller/buyer that exceed the capacity q k for each vehicle k. To improve performance, some obsolete edges may be removed from the graph. First, all edges entering a start depot + and all edges leaving an end depot can be deleted. Edges from a start depot + leading to a buyer may also be removed, and a similar observation holds for edges going from a seller to an end depot. Finally, we may remove all edges that cannot be part of any legal path because of time and capacity constraints. For each edge e, this is checked

4 200 Transportation Science 38(2), pp , 2004 INFORMS by first generating a minimal path containing e and then checking whether this path is legal. For an edge e between a start depot D + and a seller s with corresponding buyer b, the path D + s b D is considered. If this path is illegal, e cannot be part of any legal path and can thus be removed from the graph. Edges between buyers and end depots are checked in a similar fashion. For edges that do not start or end in a depot, i.e., edges of the form seller buyer, seller seller, and buyer seller, a minimal path for each depot has to be checked. If all paths are illegal, the edge can be removed from the graph. If an edge between a seller and the corresponding buyer is removed, this demand cannot be served, and we may conclude that no feasible solution exists. Although the considered PDPTWP problem can be transformed into an ordinary PDPTW (and even a VRPTW if compound deliveries are not allowed) by eliminating the precedence constraints, we will exploit the precedence constraints in a constructive way in our solution. In 1, we introduce a different formulation of the PDPTWP based on Dantzig-Wolfe decomposition, where the corresponding LP-relaxation provides a tighter bound than that provided by the edge formulation. This formulation will be denoted the path formulation. As the path formulation may contain an exponential number of variables, we use delayed column generation to solve its LP-relaxation. Sections 2 and 3 present three algorithms for solving the pricing problem associated with the column generation. Due to the precedence constraints in the PDPTWP, the considered graph can be transformed into a layered network by combining orders at the same precedence level into super nodes; this approach is described in 3. As the transformed graph is loop-free, we may solve the pricing problem in pseudopolynomial time through dynamic programming. An exact branch-and-bound algorithm is finally developed in 4, which applies bounds from the LP-relaxation of the path formulation. Numerous computational experiments using real-life data are described in 5. The largest data set solved to optimality has more than 580 nodes and edges, which is significantly larger than similar results for the VRP. Section 6 contains the conclusion. 1. Dantzig-Wolfe Decomposition Geometrically speaking, Dantzig-Wolfe decomposition attempts to express the solution space as a convex combination of subsolutions to a subset of the constraints. Let be the set of legal paths in the problem. A path is legal if it begins in the depot associated with a given vehicle, visits a number of customers within their time windows, respects the precedence and capacity rules, and returns back to the depot of the vehicle. For a single path p, let c p be the associated cost, and let i p = 1 iff customer i is contained in the path. Using the binary variable xp k to indicate whether path p for vehicle k is selected in the solution, we get the following path formulation: minimize p c p x k p (2a) subject to x k p i p 1 i (2b) p x k p p x k p 1 k (2c) 0 1 p (2d) The model will be denoted the master problem or MP for a given set of legal paths. Constraints (2b) ensure that each customer is visited, and constraints (2c) ensure that no vehicle is used more than once. The new formulation has the advantage that some complicated constraints may be checked as part of the generation of legal paths, resulting in a simpler master problem as compared to formulation (1). Moreover, the new formulation leads to tighter lower bounds by LP-relaxation because every LP-solution to formulation (2) corresponds to an LP-solution to formulation (1), while the opposite is not generally the case. Nevertheless, the path formulation may become very large, because the number of legal paths can be exponential in the input size. To get around this problem, we use delayed column generation to solve the LPrelaxation of formulation (2). In the delayed column generation we consider a restricted master problem defined on a subset of paths. Let i be the dual variables associated with constraints (2b) and k the dual variables associated with constraints (2c) when solving MP to LPoptimality. The reduced cost of a path p corresponding to vehicle k is given by c p k = c p i i p i k (3) where i p are defined as above. To extend the current set of paths according to the Dantzig rule of the simplex algorithm, we must find the path p with the smallest reduced cost c p k. This problem amounts to finding a shortest path between the start depot D + k and the end depot D k of a vehicle k, where the cost c ij associated with each edge i j equals the original edge cost c ij minus the dual variable j associated with node j. The chosen path must be legal; i.e., it must satisfy the constraints on the capacity, time windows, and precedences. With these additional constraints, the shortest-path problem becomes NP-hard.

5 Transportation Science 38(2), pp , 2004 INFORMS 201 To ensure feasibility of MP, we insert a dummy path for each customer i visiting just i and using no vehicle. We assign a very large cost to the dummy paths to make sure that they are not part of an optimal feasible solution. In each of the following iterations we solve the restricted master problem MP to LP-optimality obtaining the dual variables. These are then used to find a new legal path, p, with the smallest reduced cost (3). We add this path p to and repeat the process until a legal path with negative reduced costs cannot be found. In this case, we get from Farkas Lemma (Chvátal 1983) that an optimal LP-solution to MP has been found. 2. Solving the Pricing Problem The pricing problem is the problem of finding a legal path p with smallest reduced cost c p k corresponding to the current restricted master problem MP. This problem must be solved in every iteration of the column generation. Due to the constraints on the legal paths, the problem is NP-hard, which means that solving the pricing problem for each column is time consuming. To get around this problem, we used the following strategy: Instead of finding the path with the smallest reduced cost, we simply attempt to find some path with a negative reduced cost. In many cases this can be done using a fast heuristic algorithm. Only if we are not able to find any paths with negative reduced cost by using the heuristic do we solve the pricing problem using an exact algorithm. Frequently, our heuristic and exact algorithms find several paths with negative reduced cost. Instead of adding just one path, we add up to l paths. This greatly reduces the number of times we need to solve the pricing problem. However, solving the LP-relaxation of a larger restricted master problem MP is more time consuming. We have implemented a heuristic and two exact pricing algorithms, which are described in 2.1, 2.2, and Construction Algorithm The construction algorithm is a heuristic proposed by Sol and Savelsbergh (1994). The algorithm starts out with an empty path and performs a number of greedy iterations. In each iteration, the customer yielding the largest decrease of the reduced cost is added to the path at the best location on the path. The running time of the algorithm is O nh 2, where n is the number of customers, and h is an upper bound (independent of n) on the number of customers visited in a single path. An upper limit h on the number of customers visited per day is reasonable in our context, because the loading and unloading of live animals is so time consuming that a vehicle can visit only a few customers within a day. Based on our data instances, we may assume h = State Algorithm The state algorithm was proposed by Dumas et al. (1991) for the PDPTW. This algorithm is a dynamic programming algorithm and was designed to solve a relaxed pricing problem in which the paths are not required to be loopless. We have adapted the algorithm to solve the elementary constrained shortest-path problem (see Desrosiers et al. 1995) by modifying the dominance criterion as described below. By allowing only elementary paths in the master problem, we improve the lower bound obtained by the LP-relaxation of the master problem. The state algorithm is based on the idea of Dijkstra s shortest-path algorithm; however, another dominance criterion is used because the constraints on the legal paths make Dijkstra s dominance criterion invalid. The state algorithm maintains a set of states S j M T R, each corresponding to a subpath from the start depot to node j, where M is the set of nodes previously visited on the path, T is the arrival time of the path to node j, and R is the reduced cost of the path. The set of states is initially just one state corresponding to the empty path starting in a start depot. In each iteration a state S j M T R is selected, and the corresponding route is extended to each of the neighbors of j, thus creating a number of new states that are added to the set of states. Only states corresponding to legal paths are added. A path is complete when it includes the end depot. At this point it can be added if the corresponding reduced cost c p k is negative. If we have two states S 1 j M 1 T 1 R 1 and S 2 j M 2, T 2 R 2 corresponding to the same node j, and if T 1 T 2, R 1 R 2, M 1 = M 2, we say that state S 1 dominates S 2. This is the case if the paths corresponding to the two states have visited the same customers in a different order, and if the path corresponding to S 1 has visited the customers in a way that results in a faster path with lower reduced cost than the path corresponding to S 2.IfS 1 dominates S 2, all paths that are extended from state S 2 will not be better than the similar paths extended from S 1, and thus we can delete S 2. In this way, we prune unpromising paths early and only spend time extending good paths. Proposition 1 shows that this dominance criterion is valid. Proposition 1 (Dominance). For two states S 1 j, M 1 T 1 R 1 and S 2 j M 2 T 2 R 2 corresponding to the same node j, the dominance criterion T 1 T 2 R 1 R 2, M 1 = M 2 is valid for the PDPTWP. Proof. Assume we have two states S 1 j M 1 T 1 R 1 and S 2 j M 2 T 2 R 2 in a node j and that T 1 T 2, R 1 R 2, M 1 = M 2. Let r 1 be the path corresponding to state

6 202 Transportation Science 38(2), pp , 2004 INFORMS Table 1 Size of Equivalence Classes for Orders Where the Seller and Buyer Have the Same Precedence Number Size of equivalence class Number of occurrences Note. As an example,there is one equivalence class containing 22 orders. The observed results are for the SPF problem,monday,with 258 requests. S 1 and r 2 be the path corresponding to state S 2. Let i be a neighbor of j so that r 2 can be extended to i legally; i.e., i can be visited within its time window, i has higher or equal precedence level than j, and the capacity constraints are not violated. By extending r 2 to i we obtain a new state S2 i i M 2 i T 2 +t ji R 2 +r ji for the route r2 i obtained by extending r 2 to i. Obviously, r 1 can also be extended to i, and we thereby obtain another route r1 i and a new state S1 i i M 1 i T 1 + t ji R 1 + r ji corresponding to r1 i. Because T 1 + t ji T 2 + t ji, R 1 + r ji R 2 + r ji, and M 1 i = M 2 i, state S1 i dominates Si 2. This means that any extension of S 2 will always be dominated by the similar extension of S 1, and thus we can avoid further extending the S 2. In the worst case, the state algorithm will not be able to find any dominance, which means that all possible states will have to be considered. The state algorithm will then be similar to a complete search of the graph, which has complexity O n h if we assume that the length of any legal path is less than a constant h. Dumas et al. (1991) used a relaxed dominance criterion stating that S 1 j M 1 T 1 R 1 dominates S 2 j M 2 T 2 R 2 if T 1 T 2, R 1 R 2, and U M 1 U M 2, where U M is the set of undelivered deliveries on the vehicle at a given state. Using this dominance criterion, Dumas et al. solve the nonelementary constrained shortest-path problem. This dominance criterion is less restrictive than the criterion proposed here; thus, it will find more dominance, thereby reducing the number of states the state algorithm needs to consider. However, the dominance criterion is not valid for the elementary constrained shortest-path problem. Therefore, the lower bounds obtained by the linear relaxation of MP are weaker because the optimal LP solutions may contain nonelementary routes. In the next section, we show how we can use a transformed graph to obtain an even less restrictive dominance criterion that is valid for the elementary constrained shortest-path problem. 3. Layered Network The graph may be transformed to a layered network, where each layer consists of all customers with the same precedence level. All legal routes will then visit customers from layers in nondecreasing order of precedence level. In this way, we obtain an ordering of the requests. We will use this ordering to develop a faster dynamic programming algorithm for solving the elementary constrained shortest-path problem. However, we are not able to order the requests that start and end at customers on the same precedence level, as these requests may be served in any order. Fortunately, an analysis of the problem data shows that the number of requests where the precedence levels of both the buyer and the seller are equivalent is fairly small (see Table 1). In our case, the largest equivalence class is of size E max = 22. This means that we can construct all legal subroutes consisting of requests on the same precedence level for every precedence level. If we think of a subroute as a single super request, we obtain an ordering of the requests, as we do not allow a legal route to consist of more than one subroute for each precedence level. The transformation of the original graph representation to the layered graph representation is described in more detail below. The nice structure of the obtained layered graph enables us to apply a fast, simple dynamic programming pricing algorithm. This algorithm is described in more detail in 3.1. The transformation to a layered network is performed as follows: Construct equivalence classes C i for orders where the seller and buyer have the same precedence number i. Looking at one equivalence class at a time, construct all legal sequences of orders with respect to the time windows and capacity constraints present. Create a super node in the layered graph for each legal sequence of orders. Because we know that at most h orders may be carried out on one day by a vehicle, this means that at most E h max such sequences are considered for a single precedence class. With h = 5 and E max = 22, we get at most 5 million sequences at the worst level, although practical experience shows that this is a pessimistic bound. We call these nodes in the layered graph super nodes because they represent a path in the original graph. Normally, the number of legal paths visiting nodes in one precedence level will be much smaller due to time windows, travel times, and capacity constraints. The travel time and the driving distance between the individual orders of a super node will be added to the outgoing edge of the super node. If there are no time windows in the orders, then the new super node will also have no time windows. If one or more orders have time windows, then a time window for the super node is constructed according to the time windows

7 Transportation Science 38(2), pp , 2004 INFORMS 203 and travel times of the implied orders. This is done by scanning the customers on the path represented by the super node to obtain the most restrictive start time and end time. Example 1. We are given a super node representing the path [] [12:00, 13:00] [] [10:00, 14:00] 90 min. 60 min. 45 min. with four customers, where the second and fourth customers have time windows [12:00, 13:00] and [10:00, 14:00], respectively, and the first and third do not have any time window constraints. The travel times are indicated below the edges. We construct the time window of the super node as follows. Initially, the time window for the super node is [00:00, 24:00]. The first customer has no time window, so the time window of the super node is not changed. The second customer has time window [12:00, 13:00]. Because we are 90 minutes into the path, this means that the super node cannot be visited before 10:30 (otherwise we would arrive too early for the second customer) or after 11:30 (otherwise we would arrive too late for the second customer). The time window of the super node is thus reduced to [10:30, 11:30]. The third customer has no time window and therefore does not change the time window of the super node. The fourth customer has time window [10:00, 14:00]. Because we are 195 minutes into the path, this means that we must enter the super node between 6:45 and 10:45. However, because we also require the super node be visited between 10:30 and 11:30, the time window of the super node becomes [10:30, 10:45]. The travel time corresponding to all edges leading from the super node is increased by 195 minutes. The following dominance criterion allows us to eliminate some of the super nodes on the same precedence level: Proposition 2 (Super Node Dominance). A super node A representing a legal path p A dominates a super node B representing a legal path p B iff p A and p B serve the same requests, p A starts and ends in the same node as p B, the travel time and the cost of p A are smaller or equal to the travel time and cost of p B, and if the time window of p A starts before and ends after the time window of p B. To represent orders between a seller and a buyer on different precedence levels in the layered graph, we create a super node for each such order with a path consisting of only that single order. To allow for compound deliveries in the layered graph, we create a super node in the layered graph for every legal compound delivery. The super nodes of different layers in the layered graph are not directly connected by edges, because the number of super nodes may be exponentially large in h. Thus, a huge number of edges would be introduced in the graph. Instead, we create a representative node in the layered graph for each seller and buyer of the original graph. We connect the super nodes to the representative node of the first seller on the super-node path and to the representative node of the last buyer of the super-node path. The representative nodes are connected to each other as in the original graph. Super nodes for paths starting and ending on the same precedence level are connected to special equal precedence representative buyer and seller nodes. These equal precedence representative nodes are not connected to other equal precedence representative nodes on the same precedence level, but are connected to representative nodes on other precedence levels as in the original graph. This way, we eliminate loops containing super nodes on the same precedence level in the layered graph. Finally, for each start and end depot of the original graph, we create a corresponding start and end depot in the layered graph. An example of the transformation from the original graph layout to the layered graph layout is shown in Figure 1. Following the above description, we obtain a layered network with the following attractive properties: The graph is layered, and thus loop-free. The precedence constraints are accounted for in the new graph, because edges only exist between orders that respect the precedence constraint. All nondominated legal paths of the original graph layout can be represented by exactly one path in the layered graph. The edges leaving super nodes have an associated cost and travel time corresponding to the subpath of the super node. When reduced prices are introduced, the costs may be negative. The nodes have time windows corresponding to the time windows on the subpath represented. Taking advantage of the nice structure of the layered graph, the pricing problem becomes a multidepot shortest-path problem with time windows (MDVSPPTW), which is still NP-hard due to the constraints on the time windows. However, due to the structure of the layered graph, we can create a simple, pseudopolynomial dynamic programming algorithm that solves the pricing problem on the layered graph A Dynamic Programming Algorithm on the Layered Graph The layered structure of the graph lends itself well to dynamic programming. For each vehicle, we search

8 204 Transportation Science 38(2), pp , 2004 INFORMS D + S 1 P 100 D + S 1 B 1 S 1 P 100 S 2 S 3 B 1 P 140 B 1 P 140 B 2 B 3 S 2 S 3 S 2 B 2 S 2 B 2 S 3 B 3 S 3 B 3 S 2 B 2 S 3 B 3 D B 2 B 3 D Figure 1 Transformation into Layered Graph Note. The left figure shows an original graph layout of a problem with three orders S 1 B 1, S 2 B 2,and S 3 B 3,the start depot D +,and the end depot D. The precedence levels of the nodes are shown below the node labels. The right figure shows the corresponding layered network. The representatives for the depot nodes are nodes D + and D,the representatives for sellers and buyers are nodes S 1, S 2, S 3, B 1, B 2,and B 3. The four possible paths on precedence level 160 are represented by the super nodes S 2 B 2, S 1 B 1 S 2 B 2, S 2 B 2 S 1 B 1, S 3 B 3,and the single path for the order S 1 B 1 is represented by the super node S 1 B 1. Time windows are handled as in Example 1. through the graph from the corresponding start depot, considering each node exactly once. At every node v of the graph we maintain a table DPT v with arrived time and reduced cost T i R i of the paths through the node. As the graph is free of cycles, we may consider the nodes in increasing topological order. When the dynamic programming algorithm visits a node u, we know that all nodes from incoming edges have been handled, and thus we only need to merge the tables of nodes from incoming edges to obtain the table for u. The merging of the tables is done by extending all paths from the tables of nodes of the incoming edges to u. This way, we obtain a set of paths ending in u. For each path, we check whether it is feasible and not dominated by any other path. If so, we add it to the table of u. The function Merge(DPT 1 DPT 2 ) merges the two tables DPT 1 and DPT 2, removing dominated paths in linear time in the number of elements in the tables. An example of how the merging function works is shown in Figure 2. Because the graph is loop-free, we get a simpler dominance criterion than the state algorithm operating on the original graph layout, as we do not need to look at previously visited nodes when comparing two paths in the layered graph. If two paths p A and p B visit the same node in the layered graph and p A has spent less time than p B, then p A can be extended in all ways that p B can be extended. Using a notation similar to the one used in 2.2, the dominance criterion for the dynamic programming algorithm on the layered graph is thus: Proposition 3 (Dominance on the Layered Graph). A state S 1 j T 1 R 1 dominates a state S 2 j T 2 R 2 corresponding to the same node j in a layered graph iff T 1 T 2 R 1 R 2. By Proposition 3, if we sort the paths in a dynamic programming table by increasing values of T i, the reduced costs R i will be decreasing. The dynamic programming algorithm on the layered graph is shown in Figure 3. The better dominance criterion and the topological sorting of the graph make it possible to provide a faster dynamic programming algorithm for the layered graph layout than for the original graph

9 Transportation Science 38(2), pp , 2004 INFORMS 205 DPT DPT Arrival Time Reduced Cost p 1 10: p 2 10: p 3 12: p 4 13: p 5 14: Arrival Time Reduced Cost p 1 9: p 2 10: p 3 12: p 4 13: Arrival Time Reduced Cost 9: p 1 10: p 2 12: p 3 13: p 4 DPT Figure 2 An Example of Merging Two Dynamic Programming Tables Note. We discard all dominated paths by the dominance criterion in Proposition 3. layout. If we assume that the arrival times are discrete, e.g., by rounding the arrival time to the nearest minute, the dynamic programming tables will contain at most T rows, where T is the number of different arrival times. The dynamic programming algorithm visits every node exactly once and tries to expand the paths along all edges leaving the nodes. Each edge results in a merge of two dynamic programming tables, which can be done in O T time. Thus, the complexity of the algorithm is O E T, where E is the number of edges in the layered graph. The number of edges in the layered graph may unfortunately be exponentially large in the input data, but our experimental results show that the size of the layered graph is fairly small, resulting in reasonable running times of the pricing algorithm. 4. Exact Solution Through Branch and Bound The solutions to the LP-relaxation of the MP found by column generation are not necessarily integral. To obtain integral solutions, we apply a branching rule that excludes the fractional solutions. When designing the branching scheme, we have made the following design goals: The branching scheme should divide the solution space evenly because doing so will exclude a large number of solutions in each of the subproblems. This will give us a good chance of decreasing the gap between the best fractional solution and the best integral solution in each node of the branching tree. The branching scheme should help the pricing problem; i.e., the pricing algorithms should be able to make use of the fact that they are working on a smaller solution space. This design goal is as much a design goal for the pricing algorithms as it is for the branching rule Branching on Assignment of Customers to Vehicles The chosen branching scheme divides the solution space into two subspaces such that in one subspace a customer i 0 must be visited by a vehicle k 0, and in the other subspace i 0 may not be visited by k 0. The branching is applied by adding the constraints p x k 0 p i 0 p = 1 and p x k 0 p i 0 p = 0, respectively, to the path formulation. Unfortunately, this branching scheme does not divide the solution space evenly because assigning a customer to a vehicle is more restrictive than forbidding a customer from being visited by a vehicle. In the case of assigning a customer i 0 to a vehicle k 0, all routes for k 0 without customer i 0 and all routes for other vehicles serving i 0 can be excluded from the solution space. In the case of forbidding a customer i 0 on a vehicle k 0, we can only exclude routes for k 0 serving customer i 0. We can compensate for the uneven division by branching on the vehicle and customer belonging to the highest fractional variable x k 0 p 0 < 1. This way, we branch on a vehicle and on the customer that is most likely to be served by this vehicle in an integral solution. This strengthens the branch where the customer Sort the nodes V in topological order For all nodes v V DPT v For all nodes u where (u, v) E Extend all legal routes in DPT u to v to create DPT uv DPT v Merge(DPT v,dpt uv ) Return the cheapest route among all DPT u where u is an end depot Figure 3 Pseudocode of the Dynamic Programming Algorithm on the Layered Graph

10 206 Transportation Science 38(2), pp , 2004 INFORMS is not served by the vehicle because the fractional solution is changed the most possible, and thereby the lower bound of the weak branch is likely to improve. Our experiments show that branching on assignment of customers to vehicles, together with this selection strategy, results in a quite even distribution of the solution space. The pricing algorithms can make use of both constraints when generating routes. In the case of customer i 0 being assigned to vehicle k 0, we can cut off all routes for vehicle k 0 that do not visit i 0. This can be done for routes belonging to k 0 in the state algorithm during the route generation by checking in each step whether it is still possible to add i 0 to the route. If not, the route generation can cut off the further extension of this route. In the case of forbidding the assignment of customer i 0 to vehicle k 0, we can make use of this in the route-generation algorithms working on the original graph layout by cutting off routes belonging to k 0 if they visit i 0. This can be done during the route generation, which means that further extension of such routes is avoided. To make use of the branching constraints in the dynamic programming algorithm working on the layered graph layout, we change the layered graph for each driver involved in a branching constraint. If a customer i 0 must be visited by a specific driver k 0,we hide all edges in the graph for driver k 0 that jump over the precedence level of i 0. We also hide edges into super nodes on i 0 s precedence level that do not represent a path visiting i 0. On the other hand, if a customer i 0 may not be visited by a vehicle k 0, we simply hide all super nodes representing paths visiting customer i 0 in the graph for driver k Computational Experiments We have implemented the described branch-andprice algorithm to solve the PDPTWP, including the three route-generation algorithms and the branching scheme, using ABACUS (a branch-and-cut system) (Thienel 1995). ABACUS provides an interface to CPLEX (ILOG 2000), which we have used to solve the linear programs resulting from the column generation. All tests have been carried out on a 933 MHz Intel Pentium III with a time limit of three hours of CPU time. We have tested both the state algorithm working on the original graph layout and the dynamic programming algorithm working on the layered graph layout to compare the two pricing algorithms. In both cases, we started the column generation by using the construction algorithm, because this algorithm is very fast and generates paths of high quality. To test our algorithm, we have constructed a series of subproblems from the data set supplied by the SPF Association, which is a real-life data set of about 1,300 transportation requests to be handled by 90 vehicles in five days. The complete data set is illustrated in Figure 4. Table 2 shows the characteristics of the 10 smaller test problems we have used. Unfortunately, the data set provided by the SPF Association has only very few time windows (less Figure 4 Geographical Location of All Sellers and Buyers Serviced by the SPF Association in Week 50, 1999

11 Transportation Science 38(2), pp , 2004 INFORMS 207 Table 2 10 Test Problems Problem Requests Vehicles Nodes orig. graph Edges orig. graph Nodes layered graph Edges layered graph State algorithm B&B nodes Col. gen. iter CPU CPU LP CPU pricing Dyn. prog. algo. B&B nodes Col. gen. iter CPU CPU LP CPU pricing Note. The table shows the size of the 10 test problems,the size of the original representing graph,and the size of the derived layered graph. The table also shows the number of branch-and-bound nodes,the number of column generation iterations,the total CPU time in seconds,the CPU time used solving the linear programming problems,and the pricing problems when using the state algorithm on the original graph or the dynamic programming algorithm on the layered graph as the pricing algorithm. An asterisk indicates that the algorithm did not terminate within the given time limit. than 10% of the customers), and the time windows that are present are often very wide. The reason might be that the current system is not designed for dealing with tight time windows; hence, customers are encouraged not to provide any time restrictions. Time windows may, however, become an important issue in the future. To test the performance of the algorithm on problems with tighter time windows, we have created nine new problems with time windows by adding 2-hour time windows on, respectively, 25%, 50%, and 75% of the requests for Problems 6, 7, and 8. Our experiments on problems with time windows will be described in Comparing the Pricing Algorithms By using either the state algorithm on the original graph or the dynamic programming algorithm on the layered graph to solve the pricing problem, we obtain an exact algorithm. Table 2 shows the number of branch-and-bound nodes, the number of column generation iterations, the total CPU time in seconds, and the CPU time used for solving the linear programming problems and the pricing problems, respectively, for the two branch-andbound algorithms obtained by varying the pricing algorithm. The run times show that the branch-and-bound algorithm using the dynamic programming algorithm working on the layered graph is between one and two times faster than the configuration using the state algorithm. However, we see that the dynamic programming algorithm performs best for the largest problems. To test the two algorithms on larger problems, we consider the complete daily problems. The problem characteristics are shown in Table 3. Because the computation time needed to solve these large test instances can be very high, we limit the height of the branch-and-bound tree. The run times of the two configurations are also shown in Table 3. For Table 3 Comparison of Size of Instances and Solution Times Problem Requests Vehicles Nodes orig. graph Edges orig. graph Nodes layered graph Edges layered graph Dyn. Prog. algo. Gap to lower bound 2 65% 0% CPU (sec.) State algo. Gap to lower bound CPU (sec.) Note. The table compares the size of the instances (using the original graph representation or the layered graph) and the solution times in seconds for the four largest test problems. Problem 2 was solved to optimality,while a feasible solution no more than 2.65% from an optimal solution was found for Problem 1. No feasible solutions were found for Problems 3 and 4 within the given time limit.

12 208 Transportation Science 38(2), pp , 2004 INFORMS Table 4 Run Times of the Branch-and-Price Algorithm on Test Problems with Time Windows Problem Time windows percentage Requests Vehicles Nodes orig. graph Edges orig. graph Nodes layered graph Edges layered graph CPU time (seconds) the large test problems, the dynamic programming algorithm on the layered graph is able to solve two of four problems, whereas the state algorithm is not able to obtain a feasible solution for any of the problems Time Window Problems As previously mentioned, the data set supplied by the SPF Association contained very few time windows. To test the performance of the branch-and-price algorithm on problems with time windows, we have added 2-hour time windows to 25%, 50%, and 75% of the requests to test Problems 6, 7, and 8, which were among the hardest problems to solve. This gives us nine new problems to solve. The CPU time needed to solve the nine test problems is shown in Table 4. We have chosen to present only the results for the dynamic programming algorithm on the layered graph, because the results for the state algorithm were inferior to these. The results show that the solution time is reduced in all cases compared to the corresponding instances without time windows. For most cases, the reduction is significant; i.e., the solution times for the time window problems are less than one percent of the solution time of the original problems. In a few cases, the solution times have only been slightly reduced Summary for the Computational Experiments When introducing the path formulation of the PDPTWP, we claimed that the LP-relaxation would provide tight bounds on the optimal integral solutions. Our experiments showed that the LP-solution to MP at the root node of the branch-and-bound tree is within 0.24% of the optimal solution on average. From our experiments, we have found that there is little difference between the performance of the two pricing algorithms on small test instances. However, on larger test instances the dynamic programming algorithm seems to outperform the state algorithm. We also observed that problems with time windows could be solved considerably faster than problems without time windows. We were able to solve a problem containing no time windows with 320 nodes and 11,030 edges in 2 hours and 50 minutes. The same problem containing 2-hour time windows on 25% of the nodes was solved in 1 minute and 42 seconds, which is exactly two orders of magnitude faster. 6. Conclusion We have presented a new variant of the classical VRP, which is motivated by the transportation of live animals according to some veterinary constraints. The VRPTWP deals with time windows, capacity constraints, and precedence constraints. Because the additional constraints may be difficult to express in an MIP model, a path formulation has been presented. The LP-relaxation of the path formulation is solved through delayed column generation, providing relatively tight lower bounds for an exact algorithm based on branch and bound. The computational experiments with real-life problems show that the smaller problems may be solved to optimality in reasonable time. The contributions of this paper can be summed up as follows: We have presented a new routing problem with applications in transportation of live animals and adapted existing techniques from the VRP and the PDP to develop an exact algorithm based on branch and price. In particular, the dynamic programming algorithm working on a layered graph for solving the pricing problem is new, and the corresponding solution times are promising. As the SPF Association is expected to introduce a more detailed health-level classification, the reduction to a layered graph will become more attractive. Also, our experiments indicate that additional time windows do not make the problem more difficult to solve; thus, the SPF Association may be able to offer more flexibility to the customers in this respect in the future. The largest problem solved to optimality involves more than 580 nodes and edges, which even for problems without precedence constraints is a very difficult task. For comparison, it should be mentioned that state of the art in the VRPTW is the solution of Solomon test instances with up to 200 customers (Kallehauge 2000). We believe that the presented approach may also apply to other types of VRP. Quite

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

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen University of Copenhagen Outline Motivation and Background Minimum-Weight Spanner Problem Greedy Spanner Algorithm Exact Algorithm:

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

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

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

More information

Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints

Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints Zeliha Akca Ted K. Ralphs Rosemary T. Berger December 31, 2010 Abstract We investigate the multi-trip elementary

More information

PICKUP AND DELIVERY WITH TIME WINDOWS: ALGORITHMS AND TEST CASE GENERATION. School of Computing, National University of Singapore, Singapore

PICKUP AND DELIVERY WITH TIME WINDOWS: ALGORITHMS AND TEST CASE GENERATION. School of Computing, National University of Singapore, Singapore PICKUP AND DELIVERY WITH TIME WINDOWS: ALGORITHMS AND TEST CASE GENERATION HOONG CHUIN LAU ZHE LIANG School of Computing, National University of Singapore, Singapore 117543. In the pickup and delivery

More information

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI Outline Review the column generation in Generalized Assignment Problem (GAP) GAP Examples in Branch and Price 2 Assignment Problem The assignment

More information

A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows

A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows Jing-Quan Li California PATH, University of California, Berkeley, Richmond, CA 94804, jingquan@path.berkeley.edu

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

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

Modeling and Solving Location Routing and Scheduling Problems

Modeling and Solving Location Routing and Scheduling Problems Modeling and Solving Location Routing and Scheduling Problems Z. Akca R.T. Berger T.K Ralphs October 13, 2008 Abstract This paper studies location routing and scheduling problems, a class of problems in

More information

The Size Robust Multiple Knapsack Problem

The Size Robust Multiple Knapsack Problem MASTER THESIS ICA-3251535 The Size Robust Multiple Knapsack Problem Branch and Price for the Separate and Combined Recovery Decomposition Model Author: D.D. Tönissen, Supervisors: dr. ir. J.M. van den

More information

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem Column Generation: Cutting Stock A very applied method thst@man.dtu.dk Outline History The Simplex algorithm (re-visited) Column Generation as an extension of the Simplex algorithm A simple example! DTU-Management

More information

Column Generation: Cutting Stock

Column Generation: Cutting Stock Column Generation: Cutting Stock A very applied method thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline History The Simplex algorithm (re-visited) Column Generation as an extension

More information

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming algorithms Ann-Brith Strömberg 2009 04 15 Methods for ILP: Overview (Ch. 14.1) Enumeration Implicit enumeration: Branch and bound Relaxations Decomposition methods:

More information

A Bi-directional Resource-bounded Dynamic Programming Approach for the Traveling Salesman Problem with Time Windows

A Bi-directional Resource-bounded Dynamic Programming Approach for the Traveling Salesman Problem with Time Windows Submitted manuscript A Bi-directional Resource-bounded Dynamic Programming Approach for the Traveling Salesman Problem with Time Windows Jing-Quan Li California PATH, University of California, Berkeley,

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

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

Building Ride-sharing and Routing Engine for Autonomous Vehicles: A State-space-time Network Modeling Approach

Building Ride-sharing and Routing Engine for Autonomous Vehicles: A State-space-time Network Modeling Approach Building Ride-sharing and Routing Engine for Autonomous Vehicles: A State-space-time Network Modeling Approach Xuesong Zhou (xzhou7@asu.edu) Associate professor, School of Sustainable Engineering and the

More information

Selected Topics in Column Generation

Selected Topics in Column Generation Selected Topics in Column Generation February 1, 2007 Choosing a solver for the Master Solve in the dual space(kelly s method) by applying a cutting plane algorithm In the bundle method(lemarechal), a

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

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

Disjunctive cuts in branch-and-but-and-price algorithms Application to the capacitated vehicle routing problem

Disjunctive cuts in branch-and-but-and-price algorithms Application to the capacitated vehicle routing problem Disjunctive cuts in branch-and-but-and-price algorithms Application to the capacitated vehicle routing problem Stefan Ropke Technical University of Denmark, Department of Transport (DTU Transport) Column

More information

α Coverage to Extend Network Lifetime on Wireless Sensor Networks

α Coverage to Extend Network Lifetime on Wireless Sensor Networks Noname manuscript No. (will be inserted by the editor) α Coverage to Extend Network Lifetime on Wireless Sensor Networks Monica Gentili Andrea Raiconi Received: date / Accepted: date Abstract An important

More information

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm In the name of God Part 4. 4.1. Dantzig-Wolf Decomposition Algorithm Spring 2010 Instructor: Dr. Masoud Yaghini Introduction Introduction Real world linear programs having thousands of rows and columns.

More information

Integer Programming. Xi Chen. Department of Management Science and Engineering International Business School Beijing Foreign Studies University

Integer Programming. Xi Chen. Department of Management Science and Engineering International Business School Beijing Foreign Studies University Integer Programming Xi Chen Department of Management Science and Engineering International Business School Beijing Foreign Studies University Xi Chen (chenxi0109@bfsu.edu.cn) Integer Programming 1 / 42

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

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Solving lexicographic multiobjective MIPs with Branch-Cut-Price Solving lexicographic multiobjective MIPs with Branch-Cut-Price Marta Eso (The Hotchkiss School) Laszlo Ladanyi (IBM T.J. Watson Research Center) David Jensen (IBM T.J. Watson Research Center) McMaster

More information

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

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 18 All-Integer Dual Algorithm We continue the discussion on the all integer

More information

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems Gutenberg School of Management and Economics Discussion Paper Series A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems Michael Drexl March 202 Discussion paper

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008 LP-Modelling dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven January 30, 2008 1 Linear and Integer Programming After a brief check with the backgrounds of the participants it seems that the following

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

COLUMN GENERATION IN LINEAR PROGRAMMING

COLUMN GENERATION IN LINEAR PROGRAMMING COLUMN GENERATION IN LINEAR PROGRAMMING EXAMPLE: THE CUTTING STOCK PROBLEM A certain material (e.g. lumber) is stocked in lengths of 9, 4, and 6 feet, with respective costs of $5, $9, and $. An order for

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

Interior Point Stabilization for Column Generation

Interior Point Stabilization for Column Generation Interior Point Stabilization for Column Generation LOUIS-MARTIN ROUSSEAU, MICHEL GENDREAU CRT, Université de Montréal, C.P. 6128, succursale centre-ville, Montréal, Canada H3C 3J7 {louism,michelg}@crt.umontreal.ca

More information

Algorithms for Decision Support. Integer linear programming models

Algorithms for Decision Support. Integer linear programming models Algorithms for Decision Support Integer linear programming models 1 People with reduced mobility (PRM) require assistance when travelling through the airport http://www.schiphol.nl/travellers/atschiphol/informationforpassengerswithreducedmobility.htm

More information

Framework for Design of Dynamic Programming Algorithms

Framework for Design of Dynamic Programming Algorithms CSE 441T/541T Advanced Algorithms September 22, 2010 Framework for Design of Dynamic Programming Algorithms Dynamic programming algorithms for combinatorial optimization generalize the strategy we studied

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Vehicle Routing for Food Rescue Programs: A comparison of different approaches

Vehicle Routing for Food Rescue Programs: A comparison of different approaches Vehicle Routing for Food Rescue Programs: A comparison of different approaches Canan Gunes, Willem-Jan van Hoeve, and Sridhar Tayur Tepper School of Business, Carnegie Mellon University 1 Introduction

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

An Integer Programming Approach to Packing Lightpaths on WDM Networks 파장분할다중화망의광경로패킹에대한정수계획해법. 1. Introduction

An Integer Programming Approach to Packing Lightpaths on WDM Networks 파장분할다중화망의광경로패킹에대한정수계획해법. 1. Introduction Journal of the Korean Institute of Industrial Engineers Vol. 32, No. 3, pp. 219-225, September 2006. An Integer Programming Approach to Packing Lightpaths on WDM Networks Kyungsik Lee 1 Taehan Lee 2 Sungsoo

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 36 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the

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

Two models of the capacitated vehicle routing problem

Two models of the capacitated vehicle routing problem Croatian Operational Research Review 463 CRORR 8(2017), 463 469 Two models of the capacitated vehicle routing problem Zuzana Borčinová 1, 1 Faculty of Management Science and Informatics, University of

More information

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 Answer #1 and any five of the remaining six problems! possible score 1. Multiple Choice 25 2. Traveling Salesman Problem 15 3.

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Applied Lagrange Duality for Constrained Optimization

Applied Lagrange Duality for Constrained Optimization Applied Lagrange Duality for Constrained Optimization Robert M. Freund February 10, 2004 c 2004 Massachusetts Institute of Technology. 1 1 Overview The Practical Importance of Duality Review of Convexity

More information

CSE 417 Network Flows (pt 4) Min Cost Flows

CSE 417 Network Flows (pt 4) Min Cost Flows CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it

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 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

Algorithms Exam TIN093/DIT600

Algorithms Exam TIN093/DIT600 Algorithms Exam TIN093/DIT600 Course: Algorithms Course code: TIN 093 (CTH), DIT 600 (GU) Date, time: 22nd October 2016, 14:00 18:00 Building: M Responsible teacher: Peter Damaschke, Tel. 5405 Examiner:

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

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours

More information

Solving small VRPTWs with Constraint Programming Based Column Generation

Solving small VRPTWs with Constraint Programming Based Column Generation Proceedings CPAIOR 02 Solving small VRPTWs with Constraint Programming Based Column Generation Louis-Martin Rousseau, Michel Gendreau, Gilles Pesant Center for Research on Transportation Université de

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2018 04 24 Lecture 9 Linear and integer optimization with applications

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

Decomposition in Integer Linear Programming

Decomposition in Integer Linear Programming Decomposition in Integer Linear Programming T.K. Ralphs M.V. Galati December 3, 00 Abstract Both cutting plane methods and traditional decomposition methods are procedures that compute a bound on the optimal

More information

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM 9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM Whereas the simplex method is effective for solving linear programs, there is no single technique for solving integer programs. Instead, a

More information

A Branch-and-Price Algorithm for Combined Location and Routing Problems Under Capacity Restrictions

A Branch-and-Price Algorithm for Combined Location and Routing Problems Under Capacity Restrictions A Branch-and-Price Algorithm for Combined Location and Routing Problems Under Capacity Restrictions Z. Akca R.T. Berger T.K Ralphs September 17, 2008 Abstract We investigate the problem of simultaneously

More information

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem Presented by: Ted Ralphs Joint work with: Leo Kopman Les Trotter Bill Pulleyblank 1 Outline of Talk Introduction Description

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

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

NEW METHODS USING COLUMN GENERATION: AN EXAMPLE - ASSIGNING JOBS TO IDENTICAL MACHINES

NEW METHODS USING COLUMN GENERATION: AN EXAMPLE - ASSIGNING JOBS TO IDENTICAL MACHINES NEW METHODS USING COLUMN GENERATION: AN EXAMPLE - ASSIGNING JOBS TO IDENTICAL MACHINES Fran B Parng, Illinois Institute of Technology 58 W Boardwal Drive, Palatine IL 667 fparng@alcatel-lucent.com 63-73-9827

More information

LAGRANGEAN DUALITY APPLIED ON VEHICLE ROUTING WITH TIME WINDOWS EXPERIMENTAL RESULTS. Brian Kallehauge Jesper Larsen Oli B.G. Madsen TECHNICAL REPORT

LAGRANGEAN DUALITY APPLIED ON VEHICLE ROUTING WITH TIME WINDOWS EXPERIMENTAL RESULTS. Brian Kallehauge Jesper Larsen Oli B.G. Madsen TECHNICAL REPORT IMM INFORMATICS AND MATHEMATICAL MODELLING Technical University of Denmark DK-2800 Kgs. Lyngby - Denmark 2001-08-23 jla LAGRANGEAN DUALITY APPLIED ON VEHICLE ROUTING WITH TIME WINDOWS EXPERIMENTAL RESULTS

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

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example Lecture 2: Combinatorial search and optimisation problems Different types of computational problems Examples of computational problems Relationships between problems Computational properties of different

More information

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

February 19, Integer programming. Outline. Problem formulation. Branch-andbound Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland February 19,

More information

Combinatorial Optimization Lab No. 10 Traveling Salesman Problem

Combinatorial Optimization Lab No. 10 Traveling Salesman Problem Combinatorial Optimization Lab No. 10 Traveling Salesman Problem Industrial Informatics Research Center http://industrialinformatics.cz/ May 29, 2018 Abstract In this lab we review various ways how to

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

Branch-and-Cut and GRASP with Hybrid Local Search for the Multi-Level Capacitated Minimum Spanning Tree Problem

Branch-and-Cut and GRASP with Hybrid Local Search for the Multi-Level Capacitated Minimum Spanning Tree Problem Branch-and-Cut and GRASP with Hybrid Local Search for the Multi-Level Capacitated Minimum Spanning Tree Problem Eduardo Uchoa Túlio A.M. Toffolo Mauricio C. de Souza Alexandre X. Martins + Departamento

More information

Graph Coloring via Constraint Programming-based Column Generation

Graph Coloring via Constraint Programming-based Column Generation Graph Coloring via Constraint Programming-based Column Generation Stefano Gualandi Federico Malucelli Dipartimento di Elettronica e Informatica, Politecnico di Milano Viale Ponzio 24/A, 20133, Milan, Italy

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

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

Network optimization: An overview

Network optimization: An overview Network optimization: An overview Mathias Johanson Alkit Communications 1 Introduction Various kinds of network optimization problems appear in many fields of work, including telecommunication systems,

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

Two-stage column generation

Two-stage column generation Two-stage column generation A novel framework Ilaria Vacca and Matteo Salani Transport and Mobility Laboratory EPFL 6th Joint Operations Research Days September 12, 2008 Two stage column generation p.1/15

More information

V. Solving Integer Linear Programs

V. Solving Integer Linear Programs Optimization Methods Draft of August 26, 2005 V. Solving Integer Linear Programs Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston, Illinois 60208-3119,

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Group Members: 1. Geng Xue (A0095628R) 2. Cai Jingli (A0095623B) 3. Xing Zhe (A0095644W) 4. Zhu Xiaolu (A0109657W) 5. Wang Zixiao (A0095670X) 6. Jiao Qing (A0095637R) 7. Zhang

More information

Branch-Cut-and-Price solver for Vehicle Routing Problems

Branch-Cut-and-Price solver for Vehicle Routing Problems 1 / 28 Branch-Cut-and-Price solver for Vehicle Routing Problems Ruslan Sadykov 1,2 Issam Tahiri 1,2 François Vanderbeck 2,1 Remi Duclos 1 Artur Pessoa 3 Eduardo Uchoa 3 1 Inria Bordeaux, France 2 Université

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

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming Samuel Souza Brito and Haroldo Gambini Santos 1 Dep. de Computação, Universidade Federal de Ouro Preto - UFOP

More information

Branch-and-bound: an example

Branch-and-bound: an example Branch-and-bound: an example Giovanni Righini Università degli Studi di Milano Operations Research Complements The Linear Ordering Problem The Linear Ordering Problem (LOP) is an N P-hard combinatorial

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

TIM 206 Lecture Notes Integer Programming

TIM 206 Lecture Notes Integer Programming TIM 206 Lecture Notes Integer Programming Instructor: Kevin Ross Scribe: Fengji Xu October 25, 2011 1 Defining Integer Programming Problems We will deal with linear constraints. The abbreviation MIP stands

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

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

More information

5.3 Cutting plane methods and Gomory fractional cuts

5.3 Cutting plane methods and Gomory fractional cuts 5.3 Cutting plane methods and Gomory fractional cuts (ILP) min c T x s.t. Ax b x 0integer feasible region X Assumption: a ij, c j and b i integer. Observation: The feasible region of an ILP can be described

More information

A Bucket Graph Based Labelling Algorithm for the Resource Constrained Shortest Path Problem with Applications to Vehicle Routing

A Bucket Graph Based Labelling Algorithm for the Resource Constrained Shortest Path Problem with Applications to Vehicle Routing 1 / 23 A Bucket Graph Based Labelling Algorithm for the Resource Constrained Shortest Path Problem with Applications to Vehicle Routing Ruslan Sadykov 1,2 Artur Pessoa 3 Eduardo Uchoa 3 1 Inria Bordeaux,

More information

Motivation for Heuristics

Motivation for Heuristics MIP Heuristics 1 Motivation for Heuristics Why not wait for branching? Produce feasible solutions as quickly as possible Often satisfies user demands Avoid exploring unproductive sub trees Better reduced

More information

Accelerating Column Generation for a Survivable Network Design Problem

Accelerating Column Generation for a Survivable Network Design Problem Accelerating Column Generation for a Survivable Network Design Problem Markus Leitner, Günther R. Raidl Ulrich Pferschy Department of Telematics and Network Engineering, Carinthia University of Applied

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

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition

Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition Laszlo Ladanyi (IBM T.J. Watson Research Center) joint work with Marta Eso (The Hotchkiss School) David Jensen (IBM T.J.

More information

Optimal Scheduling for Time-Division-Multiplexed Real-Time Systems. Anna Minaeva

Optimal Scheduling for Time-Division-Multiplexed Real-Time Systems. Anna Minaeva Czech Technical University in Prague Faculty of Electrical Engineering Department of Computer Science and Engineering Master s Thesis Optimal Scheduling for Time-Division-Multiplexed Real-Time Systems

More information

Greedy Algorithms CHAPTER 16

Greedy Algorithms CHAPTER 16 CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often

More information