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


 Gregory Farmer
 1 years ago
 Views:
Transcription
1 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 good bounds on the optimal value of an IP I Cutting plane algorithms (Exact general purpose algorithm based on strengthening LP relaxations; does not produce a feasible solution until termination) I Branch and bound algorithms (Exact general purpose algorithm using primal and dual bounds to intelligently enumerate feasible solutions; does not produce a feasible solution until one of the subproblems is pruned by optimality) IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 111 c Marina A. Epelman Last topic: Summary; Heuristics and Approximation Algorithms Solving IPs in real life: Special classes of problems I Can we devise specialized algorithms for a particular class of problems? I What if there is a need to get an OK feasible solution quickly? IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 112 c Marina A. Epelman
2 Heuristic algorithms A heuristic or approximation algorithm may be used when... I A feasible solution is required rapidly; within a few seconds or minutes I An instance is so large, it cannot be formulated as an IP or MIP of reasonable size I In branchandbound algorithm, looking to find good/quick primal bounds on subproblems solutions su ciently quickly IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 113 c Marina A. Epelman Heuristic algorithms I Provide a feasible solution without guarantee on its optimality, or even quality, or algorithm running time. I Welldesigned heuristics for particular problem classes have been empirically shown to find good solutions fast. I Examples of heuristic algorithms: I Lagrangian Solve the Lagrangian Relaxation with a good value of u. If the solution x(u) is not feasible, make adjustments while keeping objective function deteriorations small. I Greedy Construct a feasible solution from scratch, choosing at I each step the decision bringing the best immediate reward. Local Search Start with a feasible solution x, and compare it with neighboring feasible solutions. If a better neighbor y is found, move to y, andrepeatthesameprocedure.ifnosuch neighbor is found, the process stops a local optimum is found. I In practice, often used in combination: a greedy procedure or other heuristic to construct a feasible solution, followed by a local search to improve it. IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 114 c Marina A. Epelman
3 Examples of greedy heuristics Example 1: 0 1 Knapsack 8 9 < = max c : j x j : a j x j apple b, x 2 B n ;, where a j, c j > 0 8j Assume the items are ordered so that c j a j c j+1 a j+1, j =1,...,n 1 The algorithm: I Initialization: Start with no items in the knapsack I For j =1,...,n: ifthespaceremainingintheknapsackis su cient to accommodate jth item, include it; otherwise, skip it. For example, if c = (12, 8, 17, 11, 6, 2, 2), a =(4, 3, 7, 5, 3, 2, 3), and b = 9, the solution obtained by the greedy heuristic is x G =(1, 1, 0, 0, 0, 1, 0) with z G = c T x G = 22 (the optimal solution is x 1 = x 4 =1withz = 23). IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 115 c Marina A. Epelman Examples of greedy heuristics Example 2: STSP G =(V, E), c ij = c ji Greedy algorithm I: I Initialization: Let S = {1}, N = V \ S, v 1 =1 I For j =2,..., V, findv j = argmin i2n c vj S = S [ {v j }, N = N \{v j } 1,i. Set I Connect v n to v 1. Resulting tour: v 1, v 2,...,v n, v 1 Greedy algorithm II: I Initialization: Let S = ;, N = E. Sort the edges so that c ek apple c ek+1 for k =1,..., E 1. Set j = 0. I Repeat until S is a tour: increment j; IfS [ {e j } contains no subtours and no nodes of degree more than 2, set S = S [ {e j } IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 116 c Marina A. Epelman
4 Examples of greedy heuristics Example 3: Minimum Spanning Tree problem Given a connected graph G =(V, E) withc e, e 2 E, construct a minimumcost spanning tree, i.e., subgraph Ḡ = {V, Ē) whichis connected and contains no cycles. Prim s algorithm: I Initialization: Start with a graph (V 1, E 1 ), where V 1 = 1, and E 1 = ; I For k =2,..., V, consider all edges {i, j} with i 2 V k and j 62 V k, and choose the one with smallest cost. Let V k+1 = V k [ {j} and N k+1 = N k [ {{i, j}}. Theorem Prim s algorithm finds an optimal solution of the MST problem. Proof Relies on the cut optimality necessary and su cient condition of MSTs. IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 117 c Marina A. Epelman Examples of local search Local Search Heuristics: Start with a feasible solution x, and compare it with neighboring feasible solutions. If a better neighbor y is found, move to y, andrepeatthesameprocedure.if no such neighbor is found, the process stops a local optimum is found. To define a local search, need a starting solution and a definition of a neighborhood. Example 1: local search heuristic for costminimizing UFL Observation: if a set of facilities S 6= ; is built, it is easy to find the cheapest feasible assignment of clients to these facilities. The total cost of such solution is c(s)+ P j2s f j,wheref j = P m i=1 min j2s c ij Local search: Start with a set of depots S 6= ;. Definea neighborhood of S to be all nonempty sets that can be obtained by either adding or deleting one depot to/from S (note: S has at most n neighbors). IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 118 c Marina A. Epelman
5 Examples of local search Example 2: 2OPT heuristic for STSP Given a set of edges S that form a TSP tour, there is no other tour that di ers from S by exactly one edge. If two (disjoint) edges are removed from S, there is exactly one other tour that contains the remaining edges. In the 2OPT heuristic for STSP a neighborhood of S consists of all tours that can be obtained removing two (disjoint) edges from S, and replacing them with two other edges. Note: S has n 2 neighbors. Thus, at every iteration, the algorithm may have to compare up to n 2 tours. IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 119 c Marina A. Epelman Adapting local search for global optimization Local search algorithms find a solution that is a local optimum, i.e., best in its neighborhood. Globally optimal solutions may not lie in that neighborhood! The following are search algorithms designed to seek a globally optimal solution: I Tabu search I Simulated annealing I Genetic algorithms IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 120 c Marina A. Epelman
6 Approximation algorithms Essentially, heuristics with a provable guarantee on the quality of the obtained solution. Approximation Algorithm A heuristic algorithm for a class of problems constitutes an approximation algorithm if for each instance of a problem in this class with optimal value z, the heuristic algorithm returns a feasible solution of value z H such that z H apple (1 + )z for a minimization problem, or z H (1 )z for a maximization problem. Additionally, keep an eye on the running time of the algorithm make sure it grows at a reasonable rate as larger problems and/or smaller values are considered. (E.g., polynomial, not exponential, growth.) IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 121 c Marina A. Epelman Examples of approximation algorithms: integer knapsack 8 < z =max : c j x j : 9 = a j x j apple b, x 2 Z n + ;, where a 1,...,a n, b 2 Z +. Assume that a j apple b 8j, and c 1 c j a 1 a j 8j. The greedy solution x H has x1 H = b b a 1 c,withz H c 1 b b a 1 c. Theorem 12.1 z H z 1 2 (An approximation with = 1 2.) Proof The solution to LP relaxation x LP 1 = b a 1 and z LP = c 1b a 1 z. Note: b a 1 apple 2b b a 1 c (since b b a 1 c 1), so z H z z H z LP c 1 b b a 1 c c 1 b a 1 b b a 1 c 2b b a 1 c = 1 2. IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 122 c Marina A. Epelman
7 Examples of approximation algorithms: STSP with 4apple Consider an instance of STSP on a complete graph with 0 apple c ij apple c ik + c jk 8i, j, k Tree Heuristic: I Find a minimum spanning tree (let its length be z T apple z) I Construct a walk that starts at node 1, visits all nodes and return to node 1 using only edges of the tree. The length of the walk is 2z T, since every edge is traversed twice. I Convert the walk into a tour by skipping intermediate nodes that have already been visited. Due to triangle inequality, the length does not increase. z H apple 2z T apple 2z. An approximation with = 1. Can be improved to =1/2 by finding a minimum perfect matching on the nodes that have odd degree in the tree and using its arcs in the tour. IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 123 c Marina A. Epelman Examples of approximation algorithms: 0 1knapsack 8 < z =max : c j x j : 9 = a j x j apple b, x 2 B n ; Can solve in time proportional to n 2 c max. (With Dynamic Programming if time remains.) Idea behind an approximation: if c 1 = 105, c 2 = 37, c 3 = 85, the solution is not much di erent than the solution to the problem with c 1 = 100, c 2 = 30, c 3 = 80; the latter is equivalent to ĉ 1 = 10, ĉ 2 =3, ĉ 3 = 8. I Let c j, j =1...,n are original coe cients, I replace the t least significant digits with 0 s to obtain c j, j =1,...,n, I ĉ j = c j /10 t, j =1,...,n. Note: c j 10 t apple c j apple c j. I Solve the problem with coef. s ĉ j, j =1,...,n IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 124 c Marina A. Epelman
8 Quality of approximation for 0 1knapsack Let S (S 0 ) be the optimal solution to the original (modified) instance. Then X X X X X X c j c j c j c j (c j 10 t ) c j j2s j2s 0 j2s 0 j2s j2s j2s P z z H j2s = c P j j2s 0 c j P z j2s c apple n10t. j c max So, to obtain an approximation in polynomial (in n) time: If c max < n/, solve the original problem. Time: n 2 c max apple n 3 / If c max n/, find nonnegative integer t: 10 < n10t c max apple, and apply the algorithm to ĉ j, j =1,...,n. Note: ĉ max = 10 t c max apple 10 t c max < 10n/, sotimeis: n 2 ĉ max apple 10n 3 /. n10 t IOE 518: Introduction to IP, Winter 2012 Heuristics and Approximation Algorithms Page 125 c Marina A. Epelman Dynamic Programming Background: the shortest path problem I Consider a directed graph D =(V, A) with nonnegative arc costs, c e for e 2 A. I Given a starting node s, the goal is to find a shortest (directed) path from s to every other node in the graph. Dynamic programming: a sequential approach I Think of the problem as a sequence of decisions I A stage refers to the number of decisions already made I A state contains information about decisions already made I An arc in the network represents making the next decision I Cost of the arc represents the incremental cost of the decision. IOE 518: Introduction to IP, Winter 2012 Dynamic Programming Page 126 c Marina A. Epelman
9 Observations about the shortest path problem Observation 1 If the shortest path from s to t passes through node p, the subpaths from (s, p) and(p, t) aretheshortestpathsbetweenthe respective points. Observation 2 Let d(v) denote the shortest path from s to v. Then d(v) =min i2v (v) {d(i)+c iv } Observation 3 Given an acyclic graph, the nodes can be ordered so that i < j for every arc (i, j) 2 A. The shortest path from node 1 to all other nodes can be found by applying the above recursion for v =2,..., N. IOE 518: Introduction to IP, Winter 2012 Dynamic Programming Page 127 c Marina A. Epelman Example: TSP viewed as a shortest path problem Start at node 1, and at each step, or stage, choose which node to go to next. To make the decision at each stage, need to know the set of states S already visited, and the current location k. (S, k) is a state. Starting node: ({1}, 1). Let C(S, k) betheminimum cost of all paths from 1 to k that visit all nodes in S exactly once. Note: state (S, k) can be reached from any state (S \{k}, m), with m 2 S \{k} at the cost of c mk.therefore: C(S, k) = min (C(S \{k}, m)+c mk), k 2 S, and C({1}, 1) = 0. m2s\{k} The cost of the optimal tour is min k (C({1,...,n}, k)+c k1 ). IOE 518: Introduction to IP, Winter 2012 Dynamic Programming Page 128 c Marina A. Epelman
10 Solving TSP as a dynamic program Recall: C(S, k) = min (C(S \{k}, m)+c mk), k 2 S, and C({1}, 1) = 0. m2s\{k} I Number of states: 2 n choices for S, O(n) choices for k. The total number of states is O(n2 n ). I Computational e ort: each time C(S, k) is computed using the above equations, O(n) arithmetic operations are needed. Hence, a total of O(n 2 2 n ) operations are required exponential, but better than enumerating all n! tours! (Realistically, can handle at most 20 nodes.) IOE 518: Introduction to IP, Winter 2012 Dynamic Programming Page 129 c Marina A. Epelman Constructing Dynamic Programming Algorithms 1. View the choice of a feasible solution as a sequence of decisions occurring in stages, and so that the total cost is the sum of the costs of individual decisions. 2. Define the state as a summary of all relevant past decisions. 3. Determine which state transitions are possible. Let the costs of each state transition be the cost of the corresponding decision. 4. Write a recursion on the optimal cost from the origin state to a destination state. IOE 518: Introduction to IP, Winter 2012 Dynamic Programming Page 130 c Marina A. Epelman
11 Example: 0 1Knapsackasadynamicprogram 8 < max : c j x j : 9 = a j x j apple b, x 2 B n ;, where a, c 2 Zn +, b 2 Z +. Stages: at stage i =1,...,n, decidewhethertotakeitemi. State: at stage i, thestateis(i, u) valueaccumulatedselecting from the first i items. Let W (i, u) be the least possible weight that has to be accumulated in order to reach state (i, u). State transitions: from the state (i, u), can transition either to state (i +1, u), or (i +1, u + c i+1 ). Cost recursion: let W (i, u) =1 if it is impossible to accumulate u with items 1 through i. Also, W (0, 0) = 0 and W (0, u) =1 for u 6= 0. Then W (i, u) =min{w (i 1, u), W (i 1, u c i )+a i }, i =1,...,n. IOE 518: Introduction to IP, Winter 2012 Dynamic Programming Page 131 c Marina A. Epelman 0 1Knapsackasadynamicprogram continued Finding the optimal solution: I Let c max =max i=1,...,n c i. Note that if u > nc max, no state of the form (i, u) is reachable. Hence, at every stage there are at most nc max states. (This is due to integrality of the c j s.) I Initially, we are in state (0, 0) I For i =1,...,n, compute W (i, u) forallu apple nc max using the recursion total computational time is O(n 2 c max ). I The optimal solution is u? =max{u : W (n, u) apple b} Another approach: define C(i, w) asthemaximumvaluethatcan be obtained using the first i items and accumulating a total weight of w. C(i, w) =max{c(i 1, w), C(i 1, w w i )+c i }. Running time: O(nb). IOE 518: Introduction to IP, Winter 2012 Dynamic Programming Page 132 c Marina A. Epelman
Approximation Algorithms
Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms Tamassia Approximation Algorithms 1 Applications One of
More informationAlgorithm Design and Analysis
Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation
More information3 NoWait Job Shops with Variable Processing Times
3 NoWait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical nowait job shop setting, we are given a set of processing times for each operation. We may select
More informationAssignment 3b: The traveling salesman problem
Chalmers University of Technology MVE165 University of Gothenburg MMG631 Mathematical Sciences Linear and integer optimization Optimization with applications Emil Gustavsson Assignment information AnnBrith
More informationALGORITHM CHEAPEST INSERTION
Version for STSP ALGORITHM CHEAPEST INSERTION. Choose the two furthest vertices i and k as initial subtour (c ik = max {c hj : (h, j) A}); set V := V \ {i} \ {k} (set of the unvisited vertices).. For each
More informationNotes for Recitation 9
6.042/18.062J Mathematics for Computer Science October 8, 2010 Tom Leighton and Marten van Dijk Notes for Recitation 9 1 Traveling Salesperson Problem Now we re going to talk about a famous optimization
More information3 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 informationLecture 4: Primal Dual Matching Algorithm and NonBipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs
CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and NonBipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009
More information1 The Traveling Salesperson Problem (TSP)
CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation
More informationCombinatorial Optimization  Lecture 14  TSP EPFL
Combinatorial Optimization  Lecture 14  TSP EPFL 2012 Plan Simple heuristics Alternative approaches Best heuristics: local search Lower bounds from LP Moats Simple Heuristics Nearest Neighbor (NN) Greedy
More informationSteiner Trees and Forests
Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G
More informationDesign and Analysis of Algorithms
CSE 101, Winter 2018 Design and Analysis of Algorithms Lecture 9: Minimum Spanning Trees Class URL: http://vlsicad.ucsd.edu/courses/cse101w18/ Goal: MST cut and cycle properties Prim, Kruskal greedy algorithms
More information35 Approximation Algorithms
35 Approximation Algorithms Many problems of practical significance are NPcomplete, yet they are too important to abandon merely because we don t know how to find an optimal solution in polynomial time.
More informationApproximation Algorithms: The PrimalDual Method. My T. Thai
Approximation Algorithms: The PrimalDual Method My T. Thai 1 Overview of the PrimalDual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the
More informationLecture 8: The Traveling Salesman Problem
Lecture 8: The Traveling Salesman Problem Let G = (V, E) be an undirected graph. A Hamiltonian cycle of G is a cycle that visits every vertex v V exactly once. Instead of Hamiltonian cycle, we sometimes
More informationShortest path problems
Next... Shortest path problems Singlesource shortest paths in weighted graphs ShortestPath Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm BellmanFord Algorithm ShortestPaths
More informationCOMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)
COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section 35.135.2(CLRS) 1 Coping with NPCompleteness Bruteforce search: This is usually only a viable option for small
More informationQuestions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?)
P vs. NP What now? Attribution These slides were prepared for the New Jersey Governor s School course The Math Behind the Machine taught in the summer of 2011 by Grant Schoenebeck Large parts of these
More informationCSC 1700 Analysis of Algorithms: Minimum Spanning Tree
CSC 1700 Analysis of Algorithms: Minimum Spanning Tree Professor Henry Carter Fall 2016 Recap Spacetime tradeoffs allow for faster algorithms at the cost of space complexity overhead Dynamic programming
More informationVertex Cover Approximations
CS124 Lecture 20 Heuristics can be useful in practice, but sometimes we would like to have guarantees. Approximation algorithms give guarantees. It is worth keeping in mind that sometimes approximation
More informationTraveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij
Traveling Salesman Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij 1 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics,
More information1 Better Approximation of the Traveling Salesman
Stanford University CS261: Optimization Handout 4 Luca Trevisan January 13, 2011 Lecture 4 In which we describe a 1.5approximate algorithm for the Metric TSP, we introduce the Set Cover problem, observe
More informationAlgorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger
Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order Gerold Jäger joint work with Paul Molitor University HalleWittenberg, Germany August 22, 2008 Overview 1 Introduction
More informationConstructive and destructive algorithms
Constructive and destructive algorithms Heuristic algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Constructive algorithms In combinatorial optimization problems every
More information1 Variations of the Traveling Salesman Problem
Stanford University CS26: Optimization Handout 3 Luca Trevisan January, 20 Lecture 3 In which we prove the equivalence of three versions of the Traveling Salesman Problem, we provide a 2approximate algorithm,
More informationConstruction of MinimumWeight Spanners Mikkel Sigurd Martin Zachariasen
Construction of MinimumWeight Spanners Mikkel Sigurd Martin Zachariasen University of Copenhagen Outline Motivation and Background MinimumWeight Spanner Problem Greedy Spanner Algorithm Exact Algorithm:
More information6. Lecture notes on matroid intersection
Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm
More informationCS 440 Theory of Algorithms /
CS 440 Theory of Algorithms / CS 468 Algorithms in Bioinformaticsi Brute Force. Design and Analysis of Algorithms  Chapter 3 30 Brute Force A straightforward approach usually based on problem statement
More information11.1 Facility Location
CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Facility Location ctd., Linear Programming Date: October 8, 2007 Today we conclude the discussion of local
More information2 Approximation Algorithms for Metric TSP
Comp260: Advanced Algorithms Tufts University, Spring 2002 Professor Lenore Cowen Scribe: Stephanie Tauber Lecture 3: The Travelling Salesman Problem (TSP) 1 Introduction A salesman wishes to visit every
More information1 Non greedy algorithms (which we should have covered
1 Non greedy algorithms (which we should have covered earlier) 1.1 Floyd Warshall algorithm This algorithm solves the allpairs shortest paths problem, which is a problem where we want to find the shortest
More informationTheory of Computing. Lecture 10 MAS 714 Hartmut Klauck
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck Seven Bridges of Königsberg Can one take a walk that crosses each bridge exactly once? Seven Bridges of Königsberg Model as a graph Is there a path
More informationNetwork 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 informationProblem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.
CS261, Winter 2017. Instructor: Ashish Goel. Problem set 2 Electronic submission to Gradescope due 11:59pm Thursday 2/16. Form a group of 23 students that is, submit one homework with all of your names.
More informationAn iteration of Branch and Bound One iteration of Branch and Bound consists of the following four steps: Some definitions. Branch and Bound.
ranch and ound xamples and xtensions jesla@man.dtu.dk epartment of Management ngineering Technical University of enmark ounding ow do we get ourselves a bounding function? Relaxation. Leave out some constraints.
More informationDesign and Analysis of Algorithms
CSE 101, Winter 018 D/Q Greed SP s DP LP, Flow B&B, Backtrack Metaheuristics P, NP Design and Analysis of Algorithms Lecture 8: Greed Class URL: http://vlsicad.ucsd.edu/courses/cse101w18/ Optimization
More informationDynamic Programming Homework Problems
CS 1510 Dynamic Programming Homework Problems 1. (2 points) Consider the recurrence relation T (0) = T (1) = 2 and for n > 1 n 1 T (n) = T (i)t (i 1) i=1 We consider the problem of computing T (n) from
More information/ 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 informationCSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms
CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms Professor Henry Carter Fall 2016 Recap Spacetime tradeoffs allow for faster algorithms at the cost of space complexity
More informationto the Traveling Salesman Problem 1 Susanne Timsj Applied Optimization and Modeling Group (TOM) Department of Mathematics and Physics
An Application of Lagrangian Relaxation to the Traveling Salesman Problem 1 Susanne Timsj Applied Optimization and Modeling Group (TOM) Department of Mathematics and Physics M lardalen University SE721
More informationParallel Graph Algorithms
Parallel Graph Algorithms Design and Analysis of Parallel Algorithms 5DV050 Spring 202 Part I Introduction Overview Graphsdenitions, properties, representation Minimal spanning tree Prim's algorithm Shortest
More informationCLASS: II YEAR / IV SEMESTER CSE CS 6402DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION
CLASS: II YEAR / IV SEMESTER CSE CS 6402DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION 1. What is performance measurement? 2. What is an algorithm? 3. How the algorithm is good? 4. What are the
More informationRollout Algorithms for Discrete Optimization: A Survey
Rollout Algorithms for Discrete Optimization: A Survey by Dimitri P. Bertsekas Massachusetts Institute of Technology Cambridge, MA 02139 dimitrib@mit.edu August 2010 Abstract This chapter discusses rollout
More informationDynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed
Dynamic programming Solves a complex problem by breaking it down into subproblems Each subproblem is broken down recursively until a trivial problem is reached Computation itself is not recursive: problems
More informationDecomposition in Integer Linear Programming
Decomposition in Integer Linear Programming M.V. Galati Advanced Analytics  Operations R & D, SAS Institute, Chesterbrook, PA 9 Ted K. Ralphs Department of Industrial and System Engineering, Lehigh University,
More informationMOTION PLANNING FOR UNMANNED AERIAL VEHICLES WITH RESOURCE CONSTRAINTS. A Thesis KAARTHIK SUNDAR
MOTION PLANNING FOR UNMANNED AERIAL VEHICLES WITH RESOURCE CONSTRAINTS A Thesis by KAARTHIK SUNDAR Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements
More informationIntroduction to Algorithms
Introduction to Algorithms 6.046J/18.401J Lecture 24 Prof. Piotr Indyk Dealing with Hard Problems What to do if: Divide and conquer Dynamic programming Greedy Linear Programming/Network Flows does not
More informationCopyright 2007 Pearson AddisonWesley. 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 informationIntroduction to Approximation Algorithms
Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background
More information1 The Traveling Salesman Problem
Comp 260: Advanced Algorithms Tufts University, Spring 2011 Prof. Lenore Cowen Scribe: Jisoo Park Lecture 3: The Traveling Salesman Problem 1 The Traveling Salesman Problem The Traveling Salesman Problem
More informationComputational Geometry
Lecture 12: Lecture 12: Motivation: Terrains by interpolation To build a model of the terrain surface, we can start with a number of sample points where we know the height. Lecture 12: Motivation: Terrains
More informationGreedy algorithms is another useful way for solving optimization problems.
Greedy Algorithms Greedy algorithms is another useful way for solving optimization problems. Optimization Problems For the given input, we are seeking solutions that must satisfy certain conditions. These
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many reallife problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)
More informationMinimumEnergy Broadcast and Multicast in Wireless Networks: An Integer Programming Approach and Improved Heuristic Algorithms
MinimumEnergy Broadcast and Multicast in Wireless Networks: An Integer Programming Approach and Improved Heuristic Algorithms Di Yuan a, a Department of Science and Technology, Linköping University, SE601
More informationAdvanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret
Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely
More informationModule 6 P, NP, NPComplete Problems and Approximation Algorithms
Module 6 P, NP, NPComplete Problems and Approximation Algorithms Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 Email: natarajan.meghanathan@jsums.edu
More informationCS483 Design and Analysis of Algorithms
CS483 Design and Analysis of Algorithms Review: Chapters 48, DPV Instructor: Fei Li lifei@cs.gmu.edu with subject: CS483 Office hours: STII, Room 443, Friday 4:00pm  6:00pm or by appointments Course
More informationLecture 4: Graph Algorithms
Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e
More informationLecturers: Sanjam Garg and Prasad Raghavendra March 20, Midterm 2 Solutions
U.C. Berkeley CS70 : Algorithms Midterm 2 Solutions Lecturers: Sanjam Garg and Prasad aghavra March 20, 207 Midterm 2 Solutions. (0 points) True/False Clearly put your answers in the answer box in front
More informationLecture Notes for IEOR 266: Graph Algorithms and Network Flows
Lecture Notes for IEOR 266: Graph Algorithms and Network Flows Professor Dorit S. Hochbaum Contents 1 Introduction 1 1.1 Assignment problem.................................... 1 1.2 Basic graph definitions...................................
More informationMinimumSpanningTree problem. Minimum Spanning Trees (Forests) MinimumSpanningTree problem
Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are
More informationTraveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost
Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R
More informationPolynomialTime Approximation Algorithms
6.854 Advanced Algorithms Lecture 20: 10/27/2006 Lecturer: David Karger Scribes: Matt Doherty, John Nham, Sergiy Sidenko, David Schultz PolynomialTime Approximation Algorithms NPhard problems are a vast
More informationOutline: Finish uncapacitated simplex method Negative cost cycle algorithm The maxflow problem Maxflow mincut theorem
Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The maxflow problem Maxflow mincut theorem Uncapacitated Networks: Basic primal and dual solutions Flow conservation constraints
More informationModule 6 NPComplete Problems and Heuristics
Module 6 NPComplete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 97 Email: natarajan.meghanathan@jsums.edu Optimization vs. Decision
More information11. APPROXIMATION ALGORITHMS
Coping with NPcompleteness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem
More informationarxiv: v3 [cs.dm] 12 Jun 2014
On Maximum Differential Coloring of Planar Graphs M. A. Bekos 1, M. Kaufmann 1, S. Kobourov, S. Veeramoni 1 WilhelmSchickardInstitut für Informatik  Universität Tübingen, Germany Department of Computer
More informationClassic Graph Theory Problems
Classic Graph Theory Problems Hiroki Sayama sayama@binghamton.edu The Origin Königsberg bridge problem Pregel River (Solved negatively by Euler in 176) Representation in a graph Can all the seven edges
More informationLecture 11: Analysis of Algorithms (CS ) 1
Lecture 11: Analysis of Algorithms (CS583002) 1 Amarda Shehu November 12, 2014 1 Some material adapted from Kevin Wayne s Algorithm Class @ Princeton 1 2 Dynamic Programming Approach FloydWarshall Shortest
More informationShortest Path Problem
Shortest Path Problem CLRS Chapters 24.1 3, 24.5, 25.2 Shortest path problem Shortest path problem (and variants) Properties of shortest paths Algorithmic framework BellmanFord algorithm Shortest paths
More informationSolution Methods for the Multitrip Elementary Shortest Path Problem with Resource Constraints
Solution Methods for the Multitrip Elementary Shortest Path Problem with Resource Constraints Zeliha Akca Ted K. Ralphs Rosemary T. Berger December 31, 2010 Abstract We investigate the multitrip elementary
More informationCOT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748
COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu http://www.cs.fiu.edu/~giri/teach/cot6936_s12.html https://moodle.cis.fiu.edu/v2.1/course/view.php?id=174
More informationof optimization problems. In this chapter, it is explained that what network design
CHAPTER 2 Network Design Network design is one of the most important and most frequently encountered classes of optimization problems. In this chapter, it is explained that what network design is? The
More informationMinimum Spanning Trees
Minimum Spanning Trees Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and no
More information2.3 Optimal paths. Optimal (shortest or longest) paths have a wide range of applications:
. Optimal paths Optimal (shortest or longest) paths have a wide range of applications: Google maps, GPS navigators planning and management of transportation, electrical and telecommunication networks project
More informationMA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:
MA4254: Discrete Optimization Defeng Sun Department of Mathematics National University of Singapore Office: S140425 Telephone: 6516 3343 Aims/Objectives: Discrete optimization deals with problems of
More informationGreedy Algorithms. Previous Examples: Huffman coding, Minimum Spanning Tree Algorithms
Greedy Algorithms A greedy algorithm is one where you take the step that seems the best at the time while executing the algorithm. Previous Examples: Huffman coding, Minimum Spanning Tree Algorithms Coin
More informationDynamic Programming Homework Problems
CS 1510 Dynamic Programming Homework Problems 1. Consider the recurrence relation T(0) = T(1) = 2 and for n > 1 n 1 T(n) = T(i)T(i 1) i=1 We consider the problem of computing T(n) from n. (a) Show that
More informationRecursiveFib(n) if n=1 or n=2 then return 1 else return RecursiveFib(n1)+RecursiveFib(n2)
Dynamic Programming Any recursive formula can be directly translated into recursive algorithms. However, sometimes the compiler will not implement the recursive algorithm very efficiently. When this is
More information11. 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 informationIntroduction to Parallel & Distributed Computing Parallel Graph Algorithms
Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental
More informationOnline Algorithms. Lecture 11
Online Algorithms Lecture 11 Today DC on trees DC on arbitrary metrics DC on circle Scheduling Kserver on trees Theorem The DC Algorithm is kcompetitive for the k server problem on arbitrary tree metrics.
More informationColumn Generation Based Primal Heuristics
Column Generation Based Primal Heuristics C. Joncour, S. Michel, R. Sadykov, D. Sverdlov, F. Vanderbeck University Bordeaux 1 & INRIA team RealOpt Outline 1 Context Generic Primal Heuristics The BranchandPrice
More informationRepetition: Primal Dual for Set Cover
Repetition: Primal Dual for Set Cover Primal Relaxation: k min i=1 w ix i s.t. u U i:u S i x i 1 i {1,..., k} x i 0 Dual Formulation: max u U y u s.t. i {1,..., k} u:u S i y u w i y u 0 Harald Räcke 428
More informationIntroduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs
Introduction to Mathematical Programming IE406 Lecture 20 Dr. Ted Ralphs IE406 Lecture 20 1 Reading for This Lecture Bertsimas Sections 10.1, 11.4 IE406 Lecture 20 2 Integer Linear Programming An integer
More informationThe Shortest Path Problem. The Shortest Path Problem. Mathematical Model. Integer Programming Formulation
The Shortest Path Problem jla,jc@imm.dtu.dk Department of Management Engineering Technical University of Denmark The Shortest Path Problem Given a directed network G = (V,E,w) for which the underlying
More informationGraphs and Network Flows ISE 411. Lecture 7. Dr. Ted Ralphs
Graphs and Network Flows ISE 411 Lecture 7 Dr. Ted Ralphs ISE 411 Lecture 7 1 References for Today s Lecture Required reading Chapter 20 References AMO Chapter 13 CLRS Chapter 23 ISE 411 Lecture 7 2 Minimum
More informationChapter S:II. II. Search Space Representation
Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems StateSpace Representation ProblemReduction Representation Choosing a Representation S:II1 Search Space Representation
More informationChapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn
Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple
More informationAlgorithms for the Precedence Constrained Generalized Travelling Salesperson Problem
MASTER S THESIS Algorithms for the Precedence Constrained Generalized Travelling Salesperson Problem RAAD SALMAN Department of Mathematical Sciences Division of Mathematics CHALMERS UNIVERSITY OF TECHNOLOGY
More informationSolution for Homework set 3
TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and nonnegative integral capacities
More informationIN101: Algorithmic techniques VladimirAlexandru Paun ENSTA ParisTech
IN101: Algorithmic techniques VladimirAlexandru Paun ENSTA ParisTech License CC BYNCSA 2.0 http://creativecommons.org/licenses/byncsa/2.0/fr/ Outline Previously on IN101 Python s anatomy Functions,
More informationMinimum cost spanning tree
Minimum cost spanning tree Doctoral course Optimization on graphs  Lecture 2.2 Giovanni Righini January 15 th, 2013 Definitions  1 A graph G = (V,E) is a tree if and only if it is connected and acyclic.
More information5.4 Pure Minimal Cost Flow
Pure Minimal Cost Flow Problem. Pure Minimal Cost Flow Networks are especially convenient for modeling because of their simple nonmathematical structure that can be easily portrayed with a graph. This
More informationLecture 6 Basic Graph Algorithms
CS 491 CAP Intro to Competitive Algorithmic Programming Lecture 6 Basic Graph Algorithms Uttam Thakore University of Illinois at UrbanaChampaign September 30, 2015 Updates ICPC Regionals teams will be
More informationBasic Graph Theory with Applications to Economics
Basic Graph Theory with Applications to Economics Debasis Mishra February 6, What is a Graph? Let N = {,..., n} be a finite set. Let E be a collection of ordered or unordered pairs of distinct elements
More informationLecture 19. Broadcast routing
Lecture 9 Broadcast routing Slide Broadcast Routing Route a packet from a source to all nodes in the network Possible solutions: Flooding: Each node sends packet on all outgoing links Discard packets received
More informationCMSC Introduction to Algorithms Spring 2012 Lecture 16
CMSC 351  Introduction to Algorithms Spring 2012 Lecture 16 Instructor: MohammadTaghi Hajiaghayi Scribe: Rajesh Chitnis 1 Introduction In this lecture we will look at Greedy Algorithms and Dynamic Programming.
More informationMinimum Spanning Trees Shortest Paths
Minimum Spanning Trees Shortest Paths Minimum Spanning Tree Given a set of locations, with positive distances to each other, we want to create a network that connects all nodes to each other with minimal
More informationTopic: Local Search: MaxCut, Facility Location Date: 2/13/2007
CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: MaxCut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be
More information