Optimisation Constraints
|
|
- Jason Stafford
- 5 years ago
- Views:
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 Goal: Evaluate the computational requirements (this course s focus: time) to solve
More informationCSC 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 informationSection 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 informationDecision 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 informationA 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 informationIntroduction 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 informationPart 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 informationCutting 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 informationNP-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 informationComputational 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 informationComputational 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 informationComputational 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 informationDesign 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 informationStatic 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 informationConstraint 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 informationCombining 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 informationDiscrete (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 informationInteger 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 informationThis 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 informationChapter 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 informationCS 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 informationAlgorithms: 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 informationLinear 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 information1 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 informationAlgorithms 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 informationChapter 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 informationRegister 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 information3.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 informationMultivalued 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 informationComputational 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 informationConstraints 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 informationDecision 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 informationCombinatorial 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 information15-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 informationDecision 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 informationCS 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 informationEasy 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 informationInteger 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 informationTravelling 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 informationCombining 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 informationExtended 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 informationMaximum 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 informationSearch 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 informationScheduling 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 informationSOLVING 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 informationProjection, 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 informationChapter 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 informationTheory 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 informationComplexity 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 informationGlobal 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 informationOutline. 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 informationStructured 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 informationNetwork 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 informationAlternative 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 informationIntroduction 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 informationThe 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 informationScheduling 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 informationIntroduction 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 informationSolving 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 informationCSC 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 informationOperations 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 informationWeek 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 information1 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 informationSection 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 informationMulti-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 informationMaintaining 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 informationChapter 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 informationCS6999 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 informationHow 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 informationIntroduction 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 informationRobust 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 informationOnline 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 informationBranch-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 informationDiscrete 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 informationModeling 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
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 informationCSCE 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 informationUnit 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 informationGraph 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 informationConstraint 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 informationData 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 informationOPTIMAL 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 informationUndecidable 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 informationIn 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 informationSAT, 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 informationDiscrete (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 informationInteger 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 informationThe 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 informationAlgorithms. 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 informationLimitations 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 informationFINAL 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 informationGraph 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 informationInteger 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 informationBreaking 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 informationMATH 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 informationA 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 informationMath 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 information15.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 informationPreprocessing. 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 informationReductions. 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