Optimisation Constraints

Size: px
Start display at page:

Download "Optimisation Constraints"

Transcription

1 Optimisation Constraints Nicolas Beldiceanu Mats Carlsson SICS Lägerhyddsvägen 5 SE Uppsala, Sweden {nicolas,matsc}@sics.se

2 Situation for LP/IP Optimisation is a basic idea in math programming: minimize cx subject to Ax b some x integer The underlying Simplex algorithm uses the cost function directly in its search for a minimal cx of the relaxed problem.

3 Situation for CP Traditionally a weak point, but in the recent years : Global constraints with cost variables : scheduling with different cost criteria (makespan,...), assignment with cost, relaxation with cost (alldifferent, disjunctive scheduling). Communication with linear programming, convex hull relaxation for different global constraints: element, cumulative.

4 Where to find the main references? Scheduling+optimization : Philippe Baptiste CP+LP : John Hooker Cost Filtering : Michela Milano

5

6 Optimisation Left to right order, increasing values. labeling([costvar Rest]) First solution found is optimal.

7 Optimisation 2 Typically a labeling that fixes all variables (and also CostVar) minimize(goal, CostVar) Restart from scratch each time it finds a better solution

8 Optimisation 2 if labeling() giving Cost 0,Sol 0 = false then return false for i= to do pose CostVar < Cost i- if labeling() giving Cost i,sol i = false then return Cost i-,sol i- NOTE: optimality guaranteed. Last iteration gives proof of optimality. Restart from scratch each time it finds a better solution

9 Optimisation 2 if labeling() giving Cost 0,Sol 0 = false then return false for i= to do pose CostVar < 0.95 Cost i- if labeling() giving Cost i,sol i = false then return Cost i-,sol i- NOTE: within 5% of optimality guaranteed. Last iteration gives proof of optimality. Restart from scratch each time it finds a better solution

10 Optimisation 3 if labeling() giving Cost 0,Sol 0 = false then return false for i= to do if min(costvar) = Cost i- then return Cost i-,sol i- if (pose CostVar min(costvar)+ Cost i- )/2 labeling() giving Cost i,sol i )= false then pose CostVar > min(costvar)+ Cost i- )/2 Cost i,sol i = Cost i-,sol i- I.e., bisection search for the optimal cost. Can be much more efficient than Optimisation & 2. Why? Restart from scratch each time it finds a better solution

11 Optimisation 4 labeling([minimize(costvar)], DVars) Does not restart each time it finds a better solution

12 Warning Even if your labelling has to fix all variables, it should be deterministic as soon as you know that this is irrelevant for the cost! Typical example: disjunctive scheduling+makespan After fixing all disjunctions you just need to fix all the remaining variables to their minimum value.

13

14 Enumeration phases Enumeration oriented for finding a first good solution (keep a low cost) Enumeration for proving optimality (increase the cost to fail as soon as possible)

15 Regret based enumeration Enumerate on decision variables by considering the impact of each decision on the increase of the lower bound of the cost variable A lot of optimization constraints can compute a regret matrix as a side effect of computing an estimation of the lower bound of the cost

16 Domination Often, one can find criteria for checking that a partial solution P will for sure have a cost smaller than or equal to the best cost of a family F of solutions: avoid to explore F by dynamically adding extra constraints Unlike OR where this is directly done in the algorithm you usually have to put it within the labelling. In this context one can sometimes use symmetries.

17 Domination example: Map coloring Objective: color a map with as few colors as possible. Constraints: X i X j whenever country i borders country j. Variable order: - Most constrained first Variable order: - Try all colors used so far - Try one unused color only The unused colors are symmetric wrt. the colored part.

18

19 Global_cardinality_with_cost ORIGIN : [Régin99] ARGUMENTS : ctr_arguments(global_cardinality_with_costs, [VARIABLES-collection(var-dvar), VALUES-collection(val-int, noccurrence-dvar), MATRIX-collection(i-int, j-int, c-int), COST-dvar]). PURPOSE : In addition to global_cardinality, COST of an assignment is equal to the sum of the elementary costs associated to the fact that we assign the I-th variable of the VARIABLES collection to the j-th value of the VALUES collection. These elementary costs are given by the MATRIX collection. EXAMPLE : global_cardinality_with_costs([[var-3],[var-3],[var-3],[var-6]], [[val-3, noccurrence-3],[val-5, noccurrence-0], [val-6, noccurrence-]], [[i-,j-, c-4],[i-,j-2, c-],[i-,j-3, c-7],[i-2,j-, c-],[i-2,j-2, c-0], [i-2,j-3, c-8],[i-3,j-, c-3],[i-3,j-2, c-2],[i-3,j-3, c-],[i-4,j-, c-0], [i-4,j-2, c-0],[i-4,j-3, c-6]],4)

20 Global_cardinality_with_cost INITIAL GRAPH FINAL GRAPH

21 Global_cardinality_with_cost J-C Régin, Arc Consistency for Global Cardinality with Costs, Proc. CP 99, LNCS 73, Springer-Verlag, 999. A min-cost flow algorithm, successive shortest paths, computes: a solution with minimal cost LB a reduced-cost matrix Dijkstra s algorithm (single source shortest paths) computes a shortest-path matrix. Regret matrix = reduced-cost matrix + shortest-path matrix. val var when LB+regret[var,val]>max(Cost) Dually for the maximal cost.

22 Minimum_weight_alldifferent ORIGIN : [FocacciLodiMilano99] ARGUMENTS : ctr_arguments(minimum_weight_alldifferent, [VARIABLES-collection(var-dvar), MATRIX-collection(i-int, j-int, c-int), COST-dvar]). PURPOSE : All the variables of the VARIABLES collection are distinct. COST is equal to the sum of MATRIX[i,var i ] ( i VARIABLES ). EXAMPLE : minimum_weight_alldifferent([[var-2],[var-3],[var-],[var-4]], [[i-,j-, c-4],[i-,j-2, c-],[i-,j-3, c-7],[i-,j-4, c-0], [i-2,j-, c-],[i-2,j-2, c-0],[i-2,j-3, c-8],[i-2,j-4, c-2], [i-3,j-, c-3],[i-3,j-2, c-2],[i-3,j-3, c-],[i-3,j-4, c-6], [i-4,j-, c-0],[i-4,j-2, c-0],[i-4,j-3, c-6],[i-4,j-4, c-5]], 7)).

23 Minimum_weight_alldifferent VARIABLES :var 2:var vars.var = vars2.key ARC CONSTRAINT ctr_graph(minimum_weight_alldifferent, [VARIABLES], 2, [CLIQUE>>collection(vars,vars2)], [vars.var = vars2.key], INITIAL GRAPH [NTREE = 0, SUM_WEIGHT_ARC(MATRIX[(vars.key)*size(VARIABLES)+vars.var)]=COST). CLIQUE

24 Minimum_weight_alldifferent VARIABLES INITIAL GRAPH CLIQUE minimum_weight_alldifferent([[var-2],[var-3],[var-],[var-4]], [[i-,j-, c-4],[i-,j-2, c-],[i-,j-3, c-7],[i-,j-4, c-0], [i-2,j-, c-],[i-2,j-2, c-0],[i-2,j-3, c-8],[i-2,j-4, c-2], [i-3,j-, c-3],[i-3,j-2, c-2],[i-3,j-3, c-],[i-3,j-4, c-6], [i-4,j-, c-0],[i-4,j-2, c-0],[i-4,j-3, c-6],[i-4,j-4, c-5]], 7)). NARC=4 SUM_WEIGHT_ARC=+8+3+5=7 FINAL GRAPH

25 Minimum_weight_alldifferent M Sellmann, An Arc Consistency Alg. for the Minimum Weight All Different Constraint, Proc. CP 02, LNCS 2470, Springer-Verlag, A min-cost flow algorithm, the Hungarian Algorithm, computes: a solution with minimal cost LB a reduced-cost matrix Dijkstra s algorithm (single source shortest paths) computes a shortest-path matrix. Regret matrix = reduced-cost matrix + shortest-path matrix. val var when LB+regret[var,val]>max(Cost) Dually for the maximal cost.

26 { } 2, 7 6 3, 2 5,, 6,, sum_of_weights_of_distinct_values weight val weight val weight val var var var Sum_of_weights_of_distinct_values

27 Parameters Decision variables val sum_of_weights_of_distinct_values val 2 val 6 { var, var 6, var }, weight 5, weight 3,, 2 weight 7 Weights of values Cost variable

28 Cost Modelling Modeling the cost for problems where: using a resource once or several times costs the same (for instance cost for opening facilities in the warehouse location problem) CostW=CostW+CostW3 C C2 C3 C4 C5 customers warehouses 2 3 closed facility { var Customer, var Customer,, var Customer } 2 val weight CostWarehouse, swdv val 2 weight CostWarehouse2,,... val m weight CostWarehousem n, CostWarehouses

29

30 The Different Algorithms (generic structure) swdv(variables, Values, Cost) FILTERING ALGORITHMS find BOUNDS for Cost Lower bound LB: domination Upper bound UB: matching PROPAGATE from bounds of Cost to Variables Remove val from var iff: LB+lower_regret(var,val)>max(Cost) Remove val from var iff: UB-upper_regret(var,val)<min(Cost) Propagate from min(cost) and max(cost)

31 Focus on Lower Bound swdv(variables, Values, Cost) FILTERING ALGORITHMS find BOUNDS for Cost Lower bound LB: domination Upper bound UB: matching PROPAGATE from bounds of Cost to Variables Remove val from var iff: LB+lower_regret(var,val)>max(Cost) Remove val from var iff: UB-upper_regret(var,val)<min(Cost) Propagate from min(cost) and max(cost)

32 Evaluating a Lower Bound of Cost MAIN RESULT An O(n logn+m) algorithm which gives a tight bound when all domain consists of only one interval of consecutive values, where: n m is the number of variables, is the number of values.

33 Evaluating a Lower Bound of Cost IDEA : select a subset of variables Var of V,V2,,Vn such that If the domain of every variable is an interval, then any set of values covering all variables of Var allows also to cover all variables of V,V2,,Vn.

34 Evaluating a Lower Bound of Cost IDEA 2: If dom(vi) is included in or equal to dom(vj) then the sum of the weights of the distinct values does not change if Vj is not considered

35 Evaluating a Lower Bound of Cost IDEA 3: Assume that, for each possible value v of, we know a tight v lower bound tlb,2,, p for covering all variables V, V2,, according to the hypothesis that we use value v. V p+ Let be a variable such that : ( ) ( ) ( dom( V ) dom( V ) ( V ) = If w dom V p then tlb,2,, p+ = tlb,2,, p, If w dom V p then tlb,2,, p+ min tlb,2,, p + weight w. p + p p i= dom w w w = v dom i ( ) ( v ) ( ) V p V p V p

36 Evaluating a Lower Bound of Cost STEP : compute a relevant subset of variables such that can use IDEA 3: p ( dom( V ) dom( V ) ( V ) = + p p i= dom i V, V2,, V p STEP 2: compute a lower bound for that subset

37 Computing a Relevant Subset of Variables () sorting the variables on their minimum (2) making a first selection of variables (3) restricting the previous selection

38 () Sorting the Variables on their Minimum V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e

39 (2) Making a First Selection of Variables V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e IDEA 2 V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e

40 (3) Restricting the Previous Selection V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e IDEA 2 V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e

41 (3) Restricting the Previous Selection V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e IDEA 2 V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e

42 (3) Restricting the Previous Selection V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e IDEA 2 V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e

43 (3) Restricting the Previous Selection By construction the minimum values, maximum values, of the selected variables are sorted in increasing order. So that the following holds: ( dom( V ) dom( V ) p i= dom p+ ( V ) = i p V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e V V 2 V 3 V 4 V 5 V 6 V 7 V 8 V 9 V a V b V c V d V e

44 Evaluating a Lower Bound of Cost (milestone) STEP : compute a relevant subset of variables STEP 2: compute a lower bound for that subset (done) (to do next)

45 Computing a Lower Bound for the Selected Variables Use formula of idea 3: ( ) ( ) If w dom V p then tlb,2,, p+ = tlb,2,, p, w w If w dom V p then tlb,2,, = min tlb,2,, p + weight w. w p+ v dom ( ) ( v ) ( ) V p DIFFICULTY: efficient evaluation of min v dom ( ) ( v tlb ),2,, p V p Relaxed to: min ( ) ( ) ( v min tlb ),2,, p V v max V p p

46

47 Cost Filtering with Side Constraint: Context Lower bound for Cost: lb Regret matrix: A i = val j Cost lb+regret ij CTR ({A,A 2,...,A n }, Cost ) A val val 2... val m A 2... regret i j A n CTR 2 ({A,A 2,...,A n }) (graph property) Polynomial algorithm for checking a necessary condition: check_ctr 2 ({A,A 2,...,A n }): (maybe,no) How to get a better evaluation of min(cost) according to CTR 2?

48 Cost Filtering with Side Constraint: Method Bisection search for the smallest regret such that check_ctr 2 ({A,A 2,...,A n }) = maybe where the domains are restricted so that all regrets are. A val val 2... val m A i val j when lb+max(,regret ij ) > max(cost) A 2... A n Avoid shaving!

49 Cost Filtering with Side Constraint: Exercise Model the Traveling Salesman Problem with a Minimum Weight All Different + a side constraint! Design a search procedure!

50 Incremental Algorithms for Cost Filtering Assume check_ctr 2 ({A,A 2,...,A n }) checks if no more than one strongly connected component in the following graph: A :: 2 A 2 ::,3 A 3 ::,4 A 4 :: 3 A A 2 A 3 A Assignment variables Regret matrix Initial graph Efficient algorithm?

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1 CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Goal: Evaluate the computational requirements (this course s focus: time) to solve

More information

CSC 8301 Design & Analysis of Algorithms: Lower Bounds

CSC 8301 Design & Analysis of Algorithms: Lower Bounds CSC 8301 Design & Analysis of Algorithms: Lower Bounds Professor Henry Carter Fall 2016 Recap Iterative improvement algorithms take a feasible solution and iteratively improve it until optimized Simplex

More information

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010 Section Notes 9 IP: Cutting Planes Applied Math 121 Week of April 12, 2010 Goals for the week understand what a strong formulations is. be familiar with the cutting planes algorithm and the types of cuts

More information

Decision Diagrams for Discrete Optimization

Decision Diagrams for Discrete Optimization Decision Diagrams for Discrete Optimization Willem Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Acknowledgments: David Bergman, Andre Cire, Samid

More information

A Global Constraint for Parallelizing the Execution of Task Sets in Non-Preemptive Scheduling

A Global Constraint for Parallelizing the Execution of Task Sets in Non-Preemptive Scheduling A Global Constraint for Parallelizing the Execution of Task Sets in Non-Preemptive Scheduling 1 Introduction Michael Marte 1 Institut für Informatik, Universität München Oettingenstr. 67, 80538 München,

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Part 4. Decomposition Algorithms

Part 4. Decomposition Algorithms In the name of God Part 4. 4.4. Column Generation for the Constrained Shortest Path Problem Spring 2010 Instructor: Dr. Masoud Yaghini Constrained Shortest Path Problem Constrained Shortest Path Problem

More information

Cutting Plane Separators in SCIP

Cutting Plane Separators in SCIP Cutting Plane Separators in SCIP Kati Wolter Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies 1 / 36 General Cutting Plane Method MIP min{c T x : x X MIP }, X MIP := {x

More information

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch] NP-Completeness Andreas Klappenecker [based on slides by Prof. Welch] 1 Prelude: Informal Discussion (Incidentally, we will never get very formal in this course) 2 Polynomial Time Algorithms Most of the

More information

Computational complexity theory

Computational complexity theory Computational complexity theory Introduction to computational complexity theory Complexity (computability) theory deals with two aspects: Algorithm s complexity. Problem s complexity. References S. Cook,

More information

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9 1 Computational Complexity and Intractability: An Introduction to the Theory of NP Chapter 9 2 Objectives Classify problems as tractable or intractable Define decision problems Define the class P Define

More information

Computational Complexity

Computational Complexity Computational Complexity Problems, instances and algorithms Running time vs. computational complexity General description of the theory of NP-completeness Problem samples 1 Computational Complexity What

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE 101, Winter 2018 Design and Analysis of Algorithms Lecture 5: Divide and Conquer (Part 2) Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ A Lower Bound on Convex Hull Lecture 4 Task: sort the

More information

Static and Dynamic Structural Symmetry Breaking

Static and Dynamic Structural Symmetry Breaking Static and Dynamic Structural Symmetry Breaking Pierre Flener 1, Justin Pearson 1, Meinolf Sellmann 2, and Pascal Van Hentenryck 2 1 Dept of Information Technology, Uppsala University, Box 337, 751 05

More information

Constraint Technology for Solving Combinatorial Problems

Constraint Technology for Solving Combinatorial Problems First Exam for Course 1DL023: Constraint Technology for Solving Combinatorial Problems Autumn 2009, Uppsala University, Sweden Prepared by Pierre Flener Wednesday 21 October 2009, from 08:00 to 13:00,

More information

Combining Symmetry Breaking with Other Constraints: lexicographic ordering with sums

Combining Symmetry Breaking with Other Constraints: lexicographic ordering with sums Combining Symmetry Breaking with Other Constraints: lexicographic ordering with sums Brahim Hnich 1, Zeynep Kiziltan 2, and Toby Walsh 1 1 Cork Constraint Computation Center, University College Cork, Ireland.

More information

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131

Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131 Discrete (and Continuous) Optimization Solutions of Exercises 2 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek

More information

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

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 8 Dr. Ted Ralphs ISE 418 Lecture 8 1 Reading for This Lecture Wolsey Chapter 2 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Duality for Mixed-Integer

More information

This means that we can assume each list ) is

This means that we can assume each list ) is This means that we can assume each list ) is of the form ),, ( )with < and Since the sizes of the items are integers, there are at most +1pairs in each list Furthermore, if we let = be the maximum possible

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should

More information

CS 5114: Theory of Algorithms

CS 5114: Theory of Algorithms CS 5114: Theory of Algorithms Clifford A. Shaffer Department of Computer Science Virginia Tech Blacksburg, Virginia Spring 2014 Copyright c 2014 by Clifford A. Shaffer CS 5114: Theory of Algorithms Spring

More information

Algorithms: COMP3121/3821/9101/9801

Algorithms: COMP3121/3821/9101/9801 NEW SOUTH WALES Algorithms: COMP3121/3821/9101/9801 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 9: INTRACTABILITY COMP3121/3821/9101/9801 1 / 29 Feasibility

More information

Linear Programming. Scheduling problems

Linear Programming. Scheduling problems Linear Programming Scheduling problems Linear programming (LP) ( )., 1, for 0 min 1 1 1 1 1 11 1 1 n i x b x a x a b x a x a x c x c x z i m n mn m n n n n! = + + + + + + = Extreme points x ={x 1,,x n

More information

1 Column Generation and the Cutting Stock Problem

1 Column Generation and the Cutting Stock Problem 1 Column Generation and the Cutting Stock Problem In the linear programming approach to the traveling salesman problem we used the cutting plane approach. The cutting plane approach is appropriate when

More information

Algorithms Exam TIN093 /DIT602

Algorithms Exam TIN093 /DIT602 Algorithms Exam TIN093 /DIT602 Course: Algorithms Course code: TIN 093, TIN 092 (CTH), DIT 602 (GU) Date, time: 21st October 2017, 14:00 18:00 Building: SBM Responsible teacher: Peter Damaschke, Tel. 5405

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

Register machines L2 18

Register machines L2 18 Register machines L2 18 Algorithms, informally L2 19 No precise definition of algorithm at the time Hilbert posed the Entscheidungsproblem, just examples. Common features of the examples: finite description

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

Multivalued Decision Diagrams. Postoptimality Analysis Using. J. N. Hooker. Tarik Hadzic. Cork Constraint Computation Centre

Multivalued Decision Diagrams. Postoptimality Analysis Using. J. N. Hooker. Tarik Hadzic. Cork Constraint Computation Centre Postoptimality Analysis Using Multivalued Decision Diagrams Tarik Hadzic Cork Constraint Computation Centre J. N. Hooker Carnegie Mellon University London School of Economics June 2008 Postoptimality Analysis

More information

Computational complexity theory

Computational complexity theory Computational complexity theory Introduction to computational complexity theory Complexity (computability) theory deals with two aspects: Algorithm s complexity. Problem s complexity. References S. Cook,

More information

Constraints and Automata

Constraints and Automata Constraints and Automata Nicolas Beldiceanu nicolas.beldiceanu@mines-nantes.fr ACP summer school, Cork, June 2016 Reminder: NFA (non- determinis2c finite automaton) A NFA is defined by: A finite set of

More information

Decision Diagrams: Tutorial

Decision Diagrams: Tutorial Decision Diagrams: Tutorial John Hooker Carnegie Mellon University CP Summer School Cork, Ireland, June 2016 Decision Diagrams Used in computer science and AI for decades Logic circuit design Product configuration

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization Problem set 8: solutions 1. Fix constants a R and b > 1. For n N, let f(n) = n a and g(n) = b n. Prove that f(n) = o ( g(n) ). Solution. First we observe that g(n) 0 for all

More information

15-850: Advanced Algorithms CMU, Fall 2018 HW #4 (out October 17, 2018) Due: October 28, 2018

15-850: Advanced Algorithms CMU, Fall 2018 HW #4 (out October 17, 2018) Due: October 28, 2018 15-850: Advanced Algorithms CMU, Fall 2018 HW #4 (out October 17, 2018) Due: October 28, 2018 Usual rules. :) Exercises 1. Lots of Flows. Suppose you wanted to find an approximate solution to the following

More information

Decision Diagrams for Sequencing and Scheduling

Decision Diagrams for Sequencing and Scheduling Decision Diagrams for Sequencing and Scheduling Willem-Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Plan What can MDDs do for Combinatorial Optimization?

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 9 PSPACE: A Class of Problems Beyond NP Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights

More information

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P Easy Problems vs. Hard Problems CSE 421 Introduction to Algorithms Winter 2000 NP-Completeness (Chapter 11) Easy - problems whose worst case running time is bounded by some polynomial in the size of the

More information

Integer Programming, Constraint Programming, and their Combination

Integer Programming, Constraint Programming, and their Combination Integer Programming, Constraint Programming, and their Combination Alexander Bockmayr Freie Universität Berlin & DFG Research Center Matheon Eindhoven, 27 January 2006 Discrete Optimization General framework

More information

Travelling Salesman Problem

Travelling Salesman Problem Travelling Salesman Problem Fabio Furini November 10th, 2014 Travelling Salesman Problem 1 Outline 1 Traveling Salesman Problem Separation Travelling Salesman Problem 2 (Asymmetric) Traveling Salesman

More information

Combining Optimization and Constraint Programming

Combining Optimization and Constraint Programming Combining Optimization and Constraint Programming John Hooker Carnegie Mellon University GE Research Center 7 September 2007 GE 7 Sep 07 Slide 1 Optimization and Constraint Programming Optimization: focus

More information

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications François Vanderbeck University of Bordeaux INRIA Bordeaux-Sud-Ouest part : Defining Extended Formulations

More information

Maximum Flow Problem (Ford and Fulkerson, 1956)

Maximum Flow Problem (Ford and Fulkerson, 1956) Maximum Flow Problem (Ford and Fulkerson, 196) In this problem we find the maximum flow possible in a directed connected network with arc capacities. There is unlimited quantity available in the given

More information

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012 Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Search and Lookahead Enforcing consistency is one way of solving constraint networks:

More information

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17 Scheduling on Unrelated Parallel Machines Approximation Algorithms, V. V. Vazirani Book Chapter 17 Nicolas Karakatsanis, 2008 Description of the problem Problem 17.1 (Scheduling on unrelated parallel machines)

More information

SOLVING FINITE-DOMAIN LINEAR CONSTRAINTS IN PRESENCE OF THE ALLDIFFERENT

SOLVING FINITE-DOMAIN LINEAR CONSTRAINTS IN PRESENCE OF THE ALLDIFFERENT Logical Methods in Computer Science Vol. 12(3:5)2016, pp. 1 28 www.lmcs-online.org Submitted Jul. 31, 2015 Published Sep. 5, 2016 SOLVING FINITE-DOMAIN LINEAR CONSTRAINTS IN PRESENCE OF THE ALLDIFFERENT

More information

Projection, Consistency, and George Boole

Projection, Consistency, and George Boole Projection, Consistency, and George Boole John Hooker Carnegie Mellon University CP 2015, Cork, Ireland Projection as a Unifying Concept Projection underlies both optimization and logical inference. Optimization

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

More information

Theory of Computation Chapter 9

Theory of Computation Chapter 9 0-0 Theory of Computation Chapter 9 Guan-Shieng Huang May 12, 2003 NP-completeness Problems NP: the class of languages decided by nondeterministic Turing machine in polynomial time NP-completeness: Cook

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Global constraints and decompositions

Global constraints and decompositions Global constraints and decompositions Christian Bessiere Univ Montpellier, CNRS (joined work with E. Hebrard, B. Hnich, G. Katsirelos, Z. Kiziltan, N. Narodytska C.G. Quimper, T. Walsh) Outline Background

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

Structured Problems and Algorithms

Structured Problems and Algorithms Integer and quadratic optimization problems Dept. of Engg. and Comp. Sci., Univ. of Cal., Davis Aug. 13, 2010 Table of contents Outline 1 2 3 Benefits of Structured Problems Optimization problems may become

More information

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA Alternative Methods for Obtaining Optimization Bounds J. N. Hooker Carnegie Mellon University AFOSR Program Review, April 2012 Grant FA9550-11-1-0180 Integrating OR and CP/AI Early support by AFOSR First

More information

Introduction to optimization and operations research

Introduction to optimization and operations research Introduction to optimization and operations research David Pisinger, Fall 2002 1 Smoked ham (Chvatal 1.6, adapted from Greene et al. (1957)) A meat packing plant produces 480 hams, 400 pork bellies, and

More information

The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation

The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation Boris Detienne 1, Ruslan Sadykov 1, Shunji Tanaka 2 1 : Team Inria RealOpt, University of Bordeaux,

More information

Scheduling and Optimization Course (MPRI)

Scheduling and Optimization Course (MPRI) MPRI Scheduling and optimization: lecture p. /6 Scheduling and Optimization Course (MPRI) Leo Liberti LIX, École Polytechnique, France MPRI Scheduling and optimization: lecture p. /6 Teachers Christoph

More information

Introduction to Complexity Theory

Introduction to Complexity Theory Introduction to Complexity Theory Read K & S Chapter 6. Most computational problems you will face your life are solvable (decidable). We have yet to address whether a problem is easy or hard. Complexity

More information

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP:

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP: Solving the MWT Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP: max subject to e i E ω i x i e i C E x i {0, 1} x i C E 1 for all critical mixed cycles

More information

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

CSC Design and Analysis of Algorithms. LP Shader Electronics Example CSC 80- Design and Analysis of Algorithms Lecture (LP) LP Shader Electronics Example The Shader Electronics Company produces two products:.eclipse, a portable touchscreen digital player; it takes hours

More information

Operations Research Lecture 6: Integer Programming

Operations Research Lecture 6: Integer Programming Operations Research Lecture 6: Integer Programming Notes taken by Kaiquan Xu@Business School, Nanjing University May 12th 2016 1 Integer programming (IP) formulations The integer programming (IP) is the

More information

Week 3: Reductions and Completeness

Week 3: Reductions and Completeness Computational Complexity Theory Summer HSSP 2018 Week 3: Reductions and Completeness Dylan Hendrickson MIT Educational Studies Program 3.1 Reductions Suppose I know how to solve some problem quickly. How

More information

1 T 1 = where 1 is the all-ones vector. For the upper bound, let v 1 be the eigenvector corresponding. u:(u,v) E v 1(u)

1 T 1 = where 1 is the all-ones vector. For the upper bound, let v 1 be the eigenvector corresponding. u:(u,v) E v 1(u) CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) Final Review Session 03/20/17 1. Let G = (V, E) be an unweighted, undirected graph. Let λ 1 be the maximum eigenvalue

More information

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints. Section Notes 8 Integer Programming II Applied Math 121 Week of April 5, 2010 Goals for the week understand IP relaxations be able to determine the relative strength of formulations understand the branch

More information

Multi-objective branch-and-cut algorithm and multi-modal traveling salesman problem

Multi-objective branch-and-cut algorithm and multi-modal traveling salesman problem Multi-objective branch-and-cut algorithm and multi-modal traveling salesman problem Nicolas Jozefowiez 1, Gilbert Laporte 2, Frédéric Semet 3 1. LAAS-CNRS, INSA, Université de Toulouse, Toulouse, France,

More information

Maintaining Consistency of Dynamic Cardinality Constraints with Costs

Maintaining Consistency of Dynamic Cardinality Constraints with Costs Maintaining Consistency of Dynamic Cardinality Constraints with Costs Waldemar Kocjan 1, Per Kreuger 2, Björn Lisper 1 1 Mälardalen University, Västerås, Sweden {waldemar.kocjan,bjorn.lisper}@mdh.se 2

More information

Chapter 6 Randomization Algorithm Theory WS 2012/13 Fabian Kuhn

Chapter 6 Randomization Algorithm Theory WS 2012/13 Fabian Kuhn Chapter 6 Randomization Algorithm Theory WS 2012/13 Fabian Kuhn Randomization Randomized Algorithm: An algorithm that uses (or can use) random coin flips in order to make decisions We will see: randomization

More information

CS6999 Probabilistic Methods in Integer Programming Randomized Rounding Andrew D. Smith April 2003

CS6999 Probabilistic Methods in Integer Programming Randomized Rounding Andrew D. Smith April 2003 CS6999 Probabilistic Methods in Integer Programming Randomized Rounding April 2003 Overview 2 Background Randomized Rounding Handling Feasibility Derandomization Advanced Techniques Integer Programming

More information

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008

How to Relax. CP 2008 Slide 1. John Hooker Carnegie Mellon University September 2008 How to Relax Slide 1 John Hooker Carnegie Mellon University September 2008 Two ways to relax Relax your mind and body. Relax your problem formulations. Slide 2 Relaxing a problem Feasible set of original

More information

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Introduction into Vehicle Routing Problems and other basic mixed-integer problems Introduction into Vehicle Routing Problems and other basic mixed-integer problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical

More information

Robust optimization for resource-constrained project scheduling with uncertain activity durations

Robust optimization for resource-constrained project scheduling with uncertain activity durations Robust optimization for resource-constrained project scheduling with uncertain activity durations Christian Artigues 1, Roel Leus 2 and Fabrice Talla Nobibon 2 1 LAAS-CNRS, Université de Toulouse, France

More information

Online Interval Coloring and Variants

Online Interval Coloring and Variants Online Interval Coloring and Variants Leah Epstein 1, and Meital Levy 1 Department of Mathematics, University of Haifa, 31905 Haifa, Israel. Email: lea@math.haifa.ac.il School of Computer Science, Tel-Aviv

More information

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1 Branch-and-Bound Leo Liberti LIX, École Polytechnique, France INF431 2011, Lecture p. 1 Reminders INF431 2011, Lecture p. 2 Problems Decision problem: a question admitting a YES/NO answer Example HAMILTONIAN

More information

Discrete Optimization in a Nutshell

Discrete Optimization in a Nutshell Discrete Optimization in a Nutshell Integer Optimization Christoph Helmberg : [,] Contents Integer Optimization 2: 2 [2,2] Contents Integer Optimization. Bipartite Matching.2 Integral Polyhedra ( and directed

More information

Modeling with Integer Programming

Modeling with Integer Programming Modeling with Integer Programg Laura Galli December 18, 2014 We can use 0-1 (binary) variables for a variety of purposes, such as: Modeling yes/no decisions Enforcing disjunctions Enforcing logical conditions

More information

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs LP-Duality ( Approximation Algorithms by V. Vazirani, Chapter 12) - Well-characterized problems, min-max relations, approximate certificates - LP problems in the standard form, primal and dual linear programs

More information

CSCE 750 Final Exam Answer Key Wednesday December 7, 2005

CSCE 750 Final Exam Answer Key Wednesday December 7, 2005 CSCE 750 Final Exam Answer Key Wednesday December 7, 2005 Do all problems. Put your answers on blank paper or in a test booklet. There are 00 points total in the exam. You have 80 minutes. Please note

More information

Unit 1A: Computational Complexity

Unit 1A: Computational Complexity Unit 1A: Computational Complexity Course contents: Computational complexity NP-completeness Algorithmic Paradigms Readings Chapters 3, 4, and 5 Unit 1A 1 O: Upper Bounding Function Def: f(n)= O(g(n)) if

More information

Graph Coloring Inequalities from All-different Systems

Graph Coloring Inequalities from All-different Systems Constraints manuscript No (will be inserted by the editor) Graph Coloring Inequalities from All-different Systems David Bergman J N Hooker Received: date / Accepted: date Abstract We explore the idea of

More information

Constraint Programming and Graph Algorithms

Constraint Programming and Graph Algorithms Constraint Programming and Graph Algorithms Kurt Mehlhorn Max-Planck-Institute for Computer Science (with significant help from Sven Thiel) I am not an expert on the subject (four publications), but I

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms CS245-2015S-23 NP-Completeness and Undecidablity David Galles Department of Computer Science University of San Francisco 23-0: Hard Problems Some algorithms take exponential

More information

OPTIMAL TOKEN ALLOCATION IN TIMED CYCLIC EVENT GRAPHS

OPTIMAL TOKEN ALLOCATION IN TIMED CYCLIC EVENT GRAPHS OPTIMAL TOKEN ALLOCATION IN TIMED CYCLIC EVENT GRAPHS Alessandro Giua, Aldo Piccaluga, Carla Seatzu Department of Electrical and Electronic Engineering, University of Cagliari, Italy giua@diee.unica.it

More information

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65 Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving

More information

In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size.

In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size. 10 2.2. CLASSES OF COMPUTATIONAL COMPLEXITY An optimization problem is defined as a class of similar problems with different input parameters. Each individual case with fixed parameter values is called

More information

SAT, NP, NP-Completeness

SAT, NP, NP-Completeness CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

The traveling salesman problem

The traveling salesman problem Chapter 58 The traveling salesman problem The traveling salesman problem (TSP) asks for a shortest Hamiltonian circuit in a graph. It belongs to the most seductive problems in combinatorial optimization,

More information

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University

Algorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University Algorithms NP -Complete Problems Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr The Class P Definition 13.2 Polynomially bounded An algorithm is said to be polynomially bounded if its worst-case

More information

Limitations of Algorithm Power

Limitations of Algorithm Power Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying

More information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

Graph Theory and Optimization Computational Complexity (in brief)

Graph Theory and Optimization Computational Complexity (in brief) Graph Theory and Optimization Computational Complexity (in brief) Nicolas Nisse Inria, France Univ. Nice Sophia Antipolis, CNRS, I3S, UMR 7271, Sophia Antipolis, France September 2015 N. Nisse Graph Theory

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

Breaking variable symmetry in almost injective problems

Breaking variable symmetry in almost injective problems Breaking variable symmetry in almost injective problems Philippe Vismara 1,2 and Remi Coletta 1 1 LIRMM, UMR5506 Université Montpellier II - CNRS, Montpellier, France {coletta,vismara}@lirmm.fr 2 MISTEA,

More information

MATH 324 Summer 2011 Elementary Number Theory. Notes on Mathematical Induction. Recall the following axiom for the set of integers.

MATH 324 Summer 2011 Elementary Number Theory. Notes on Mathematical Induction. Recall the following axiom for the set of integers. MATH 4 Summer 011 Elementary Number Theory Notes on Mathematical Induction Principle of Mathematical Induction Recall the following axiom for the set of integers. Well-Ordering Axiom for the Integers If

More information

A Framework for Integrating Optimization and Constraint Programming

A Framework for Integrating Optimization and Constraint Programming A Framework for Integrating Optimization and Constraint Programming John Hooker Carnegie Mellon University SARA 2007 SARA 07 Slide Underlying theme Model vs. solution method. How can we match the model

More information

Math Models of OR: Branch-and-Bound

Math Models of OR: Branch-and-Bound Math Models of OR: Branch-and-Bound John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA November 2018 Mitchell Branch-and-Bound 1 / 15 Branch-and-Bound Outline 1 Branch-and-Bound

More information

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization 15.081J/6.251J Introduction to Mathematical Programming Lecture 24: Discrete Optimization 1 Outline Modeling with integer variables Slide 1 What is a good formulation? Theme: The Power of Formulations

More information

Preprocessing. Complements of Operations Research. Giovanni Righini. Università degli Studi di Milano

Preprocessing. Complements of Operations Research. Giovanni Righini. Università degli Studi di Milano Preprocessing Complements of Operations Research Giovanni Righini Università degli Studi di Milano Preprocessing Computational complexity theory classifies problems. However, when we run algorithms, this

More information

Reductions. Reduction. Linear Time Reduction: Examples. Linear Time Reductions

Reductions. Reduction. Linear Time Reduction: Examples. Linear Time Reductions Reduction Reductions Problem X reduces to problem Y if given a subroutine for Y, can solve X. Cost of solving X = cost of solving Y + cost of reduction. May call subroutine for Y more than once. Ex: X

More information