2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

Size: px
Start display at page:

Download "2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2"

Transcription

1 2. Modeling AEA 2018/2019 Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

2 Content Introduction Modeling phases Modeling Frameworks Graph Based Models Mixed Integer Programming Constraint Programming 2 / 49

3 Modeling: the first step in Algorithm Engineering First step in AE: understand the problem and construct a formal model that capture the requirements (applied to a wider range of situations) Modeling: the procedure of abstracting from problem instances to problem classes that still contain the essential details of the problem structure Find an appropriate level of abstraction that captures the essential real structure and omits less important aspects 3 / 49

4 Modeling Classical algorithm theory: tends to consider rather artificial problems and manufactured models assumes an existing formal model and omits a discussion on the model s development process Advantages of models: generalization, faster explanation of problems to others and (possibly) the availability of well analyzed solutions Standard (theoretical) models often do not reflect properties which are inherent to practical applications Not possible to establish a sharp border between modeling and designing 4 / 49

5 Content Introduction Modeling phases Modeling Frameworks Graph Based Models Mixed Integer Programming Constraint Programming 5 / 49

6 The modeling phases The modeling process can be subdivided in: 1. Understand and formalize the problem 2. Reformulate the problem towards one or more candidates of approaches (solution approach models) 3. Evaluate and verify the results. Start the procedure again with the feedback gained when unsatisfactory results are obtained. 6 / 49

7 1. Fundamentals The properties of a model: abstraction from the original application the purpose of the model: specify a problem, describe an approach, or both specify the requirements of the application; for a problem class (decision-, construction-, counting-, optimization problems), what a valid solution looks like; for optimization problems, define the objective function A model can be specified using the following formalisms: informal: the first step in practice semi-formal: colloquial, but uses some formal concepts (graph, sets); the first step towards abstraction formal: uses mathematical concepts to describe requirements, valid solutions, and objective functions 7 / 49

8 Fundamentals Use the following concepts, when specifying a model: variable: decision possibilities parameter: a value/property of a problem instance, used as an abstraction constraint: abstract description of a requirement Example: Two workers have to produce an item on a certain machine. Bill needs 30 minutes to produce an item, John 15 minutes. How many items can be produced in an eight hour shift by each worker? x: the number of items that can be created, parameter w: the working time needed to complete an item, the constraint w x = 8. 8 / 49

9 Problem Analysis A good comprehension of the problem 1. What does the input consist of? 2. What are the desired results or output? 3. Is it possible to divide constraints into hard and soft ones? Hard constraints have to be fulfilled, soft constraints should be fulfilled (are goals). 4. Can variables or parameters of the problem be divided into important and unimportant ones? 5. Is the problem of a certain problem class, or does it imply a certain solution approach? Impact how the problem is modeled and might suggest solution approaches. 9 / 49

10 Problem Analysis The imprecision of data discrepancy between the model of computation used in classical algorithm theory and the reality of actual hardware and operating systems imperfect information affects the problem (imperfect input data/constraints, the parameters change fast) How to handle vague and uncertain data: obtain new sharpened versions; use the theory of fuzzy sets to model and process It s possible to reduce the complexity of some problems by using vague information and avoiding highly detailed specifications 10 / 49

11 Problem Specification: Examples Sudoku N = {1,..., 9}, N = {1,..., 3}. An instance of a Sudoku puzzle: a set S of (i, j, n) N 3, n is at position (i, j). A solution: a function f : N 2 N provides for each pair the value at this position. Requirements: all cells in row i have distinct values: f satisfy {f (i, j) j N} = N; similarly for columns; for subsquares: C ij = {(3(i 1) + i, 3(j 1) + j ) (i, j ) N xn }. The model: f (i, j) = n, (i, j, n) S {f (i, j) j N} = N, i N {f (i, j) i N} = N, j N f (C ij ) = N, (i, j) N xn 11 / 49

12 Problem Specification: Examples Traveling Salesman Problem (TSP) Consider n cities. A round trip through all cities: a permutation π : {1,..., n} {1,..., n}. The cost for traveling between two cities c ij ; C = (c i,j ) 1 i,j n ; the cost c(π) for a round trip π: n 1 c(π) = c π(i),π(i+1) + c π(n),π(1) i=1 The task: find a permutation π with minimum cost. Board Assembly Problem The problem of printed circuit board assembly can be interpreted as a TSP: the mounting holes: the cities to be visited the robot arm: the salesman the cost matrix: the time needed for the arm to be moved between holes. 12 / 49

13 Problem Specification: Examples Car manufacturing problem M a set of car models built by the car company, P a set of plants, R a set of retailers. For each plant p P, M p M a set of car models produced at this plant, and for each retailer r R, a vector d r Z M specify the retailer s demand for each car model. Look for a matrix X = (x p,m ) p P,m M, x p,m the no. of cars for model m produced at p, and Y = (y p,m,r ) p P,m M,r R, y p,m,r the no. of cars of model m that will go from plant p to r. X and Y must satisfy: the demand of each retailer has to be met the no. of cars of model m leaving p must be exactly x p,m The goal is to fulfill the requirements of the retailers at min. cost. 13 / 49

14 Problem Specification: Examples Car manufacturing problem (cont.) Given a matrix A = (a p,m ) p P,m M describing the cost for producing one unit of car model m at plant p, and a matrix B = (b p,r ) p P,r R providing the cost for transporting a car from plant p to retailer r, look for matrices X and Y that minimize the total cost c(x, Y ) := p P,m M a p,mx p,m + m M p P,r R b p,r y p,m,r. 14 / 49

15 Remember: The modeling phases The modeling process can be subdivided in: 1. Understand and formalize the problem 2. Reformulate the problem towards one or more candidates of approaches (solution approach models) 3. Evaluate and verify the results. Start the procedure again with the feedback gained when unsatisfactory results are obtained. 15 / 49

16 2. Modeling a solution approach The next step: transform/use the problem model to gain a solution approach model Identify the constraints What constraints have to be considered to solve the problem? How do these constraints affect the solution? Can all necessary constraints be formulated with the approach? Analyze the problem again: find properties a solution approach may exploit Can the problem be decomposed into subproblems? How does accuracy impact the application? Is the optimal answer needed or would an approximation be satisfactory? How important is efficiency? What is the time frame in which an instance should be solved? How large are typical problem instances? How much time and effort can be invested in implementation? Which model to choose: simplicity, existing solutions, patents, complexity of implementations, time, costs 16 / 49

17 3. Model Assessment After developing, the model is verified and rated; continue with the next step of AE, or restart and improve the model Have all necessary aspects of the problem been considered? Are all modeled aspects really necessary for the problem? Is the model consistent? Test the model with small instances or use a standard solver Difficulties within the modeling process: formalize the criteria for assessing the quality of a solution (objective function); ex: sequence alignments of proteins 17 / 49

18 Content Introduction Modeling phases Modeling Frameworks Graph Based Models Mixed Integer Programming Constraint Programming 18 / 49

19 Content Introduction Modeling phases Modeling Frameworks Graph Based Models Mixed Integer Programming Constraint Programming 19 / 49

20 Graph-Based Models Used for combinatorial problems Graphs: combinatorial structures that can be used to model a set of objects and the pairwise relations between them. Graph G := (V, E), V a set of vertices, E ( V 2) a set of edges. Advantages: intuitive and easy to grasp design direct and, in many cases, efficient algorithms theory that might help in modeling or designing algorithms At the heart of more sophisticated models, like LP/MIP Cannot cope with more complicated constraints No formalism for specifying graph-based models 20 / 49

21 Graph-based Models: examples TSP: model an instance as a weighted complete graph. Vertices: the cities, the weights c ij the distances between the cities (no connection between cities i and j: a large weight c ij ). A solution: a cycle that visits all the vertices (Hamiltonian cycle); the cost of a cycle C = (v 1,..., v n ) is: n 1 c(c) = c vi,v i+1 + c vn,v1 i=1 21 / 49

22 Graph-based Models: Sudoku Use edges to represent conflicts. A model using vertex coloring: use a set of 81 vertices (one for each square); insert edges s.t. they reflect the rules of Sudoku: connect all vertices corresponding to a row, column and a subsquare (express that they should be numbered differently); the assignment of numbers to the squares as a vertex coloring. Figure: A graph-based model for Sudoku of size 2 22 / 49

23 Graph-based Models: Sudoku as a stable set problem Create 9 vertices for each square (each vertex corresponds to assigning the square the number of the vertex); insert an edge between every pair of vertices belonging to the same square to model that only one of these vertices can be selected; pairwise connect all vertices i in a row, column, and subsquare by an edge, for each i N. Encode a solution as a stable set: an instance has a solution if and only if there is a stable set of size 81 that contains the vertices corresponding to the prescribed numbers 23 / 49

24 Content Introduction Modeling phases Modeling Frameworks Graph Based Models Mixed Integer Programming Constraint Programming 24 / 49

25 Mixed Integer Programming Used in decision making and optimization The set of feasible solutions is described by linear constraints (linear equations or inequalities). The objective is a linear function of the variables (real or integer) used to model the solutions. Formally, min x,y c T 1 x + c T 2 y s.t. Ax + By b x R n 1 y Z n 2 x denotes the n 1 real variables, y the n 2 integer variables, c 1, c 2, b, A, B arbitrary real numbers (parameters). 25 / 49

26 Mixed Integer Programming Types of MIPs: Linear programs (LP): real variables; solvable in polynomial time Integer programs (IP): integer variables; NP-hard Binary integer programs (BIP): binary integer variables; NP-hard When constructing a MIP model: identify variables that encode the decisions and use them to express the problems requirements and the objective MIP solvers that performs well in practice: ILOG CPLEX (commercial), SCIP (open-source); based on LP-relaxation (omit the integrality constraints for obtaining lower bounds) 26 / 49

27 MIP example: Sudoku It is not possible to translate the requirements for f to IP constraints by replacing f (i, j) by an integer variable x ij N (the condition that each number should appear exactly once). Use binary variables x ijn, x ijn = 1: n is put in cell (i, j). min 0 s.t. x ijn = 1, (i, j, n) S, x ijn = 1, i, j N, n N x ijn = 1, i, n N, j N x ijn = 1, j, n N, i N (fixed) (nums) (rows) (columns) (i,j ) C i,j x i j n = 1, (i, j) N xn, n N, (squares) x ijn {0, 1}, i, j, n N 27 / 49

28 MIP example: Sudoku (cont.) The model uses the sets C ij containing the indices for the cells in one subsquare. The constraint (nums): select exactly one number for cell (i, j). The constraint (rows): each row contains each value exactly once. The objective is 0, i.e. Sudoku is a pure feasibility problem. 28 / 49

29 Further modeling aspects A large number of constraints or variables does not indicate a bad model Facility location problem: C := {1,..., m} customers, W := {1,..., n} possible locations of warehouses; decide at which of the possible locations to build a warehouse and which warehouse serves each customer - binary variables x ij = 1: customer j is assigned to warehouse i, and y i = 1: warehouse i is available; f i : the cost for building warehouse i; c ij : the costs incurred if customer j is assigned to warehouse i. Warehouses should be opened s.t. the total cost is minimized. min c ij x ij + f i y i i W,j C i W s.t. x ij = 1, j C i W x ij y i, i W, j C(single) x ij, y i {0, 1}, i W, j C 29 / 49

30 Further modeling aspects Facility location problem (cont.) min s.t. c ij x ij + f i y i i W,j C i W x ij = 1, j C i W x ij my i, i W (agg) j C x ij, y i {0, 1}, i W, j C Difference: the inequalities (single) have been aggregated by summing over all customers. Is not a good decision to prefer the second model: the LP relaxation is tighter for the 1st relaxation (the reason: {x ij, y i [0, 1] x ij y i, i W, j C} is contained in {x ij, y i [0, 1] j C x ij my i, i W }). 30 / 49

31 Branch and Bound Main idea: solve MILP problems by solving a sequence of linear relaxations to provide bounds Remove the integrality restrictions (LP relaxation) and solve the LP. If the result satisfy the integrality restrictions, stop. If not, pick some variable x that is restricted to be integer, but whose value in the LP relaxation is fractional. Exclude this value by imposing two restrictions. P 0 the original MIP, x the branching variable; branching on x, produces two sub-mips P 1, P 2 ; if optimal solutions for P 1 and P 2 can be computed, then take the better of these solutions (it will be optimal to P 0 ); in this way we replaced P 0 by two simpler (more-restricted) MIPs. Apply the same idea to these two MIPs, solving the corresponding LP relaxations and, if necessary, selecting branching variables. 31 / 49

32 Branch and Bound A search tree is generated: nodes: the MIPs generated by the search procedure (P 0 the root node) the leaves: the nodes from which we have not yet branched; Figure: Each node in B&B is a new MIP 32 / 49

33 Branch and Bound Fathomed and incumbent nodes Suppose that we solved the LP relaxation of a node in the search tree. If the integrality restrictions in the original MIP are satisfied, then we found a feasible solution to the original MIP. Designate this node as fathomed; not necessary to branch on this node - a leaf. Analyze the information provided by the feasible solution; incumbent: the best integer solution found at any point in the search; at the start of the search - no incumbent if the integer feasible solution just found has a better objective value than the current incumbent, then record the solution as the new incumbent, and its objective value. 33 / 49

34 Branch and Bound Other possibilities that can lead to a fathomed node: The branch that led to the current node added a restriction that made the LP relaxation infeasible; if this node contains no feasible solution to the LP relaxation, then it contains no integer feasible solution. An optimal relaxation solution is found, but its objective value is bigger than that of the current incumbent; this node cannot yield a better integral solution and can be fathomed. 34 / 49

35 Best Bound and Gap The objective value for the incumbent is an upper bound on the optimal solution of the MIP (minimization problem): never accept an integer solution of value higher than this value. A lower bound (best bound): take the minimum of the optimal objective values of all of the current leaf nodes. Gap: the difference between the current upper and lower bounds. When the gap is zero we demonstrated optimality. 35 / 49

36 Further modeling aspects Cutting planes: solve the linear relaxation; if the obtained optimum is not an integer solution, there is a linear inequality (cut) that separates the optimum from the convex hull of the true feasible set (separation problem); add the cut to the relaxed linear program; 36 / 49

37 Further modeling aspects Presolving: convert the model to an equivalent one, better suited for the subsequent solution process; obtain models that are easier to write down - reduce the size of the problem and tighten the formulation; Ex: variable substitution x 1 + x 2 + x 3 15 x 1 7 x 2 3 x 3 5 Substitute out the variables by x 1 = 7, x 2 = 3, x 3 = 5 and remove the constraints. 37 / 49

38 Content Introduction Modeling phases Modeling Frameworks Graph Based Models Mixed Integer Programming Constraint Programming 38 / 49

39 Constraint Programming (CP) A declarative modeling formalism similar to MIP A constraint programming model consists of: a set of variables X = {x 1,..., x n }, for each x i, a set D i of possible values (domain), a set of constraints restricting the values variables can take simultaneously. For a set of variables {x i1,..., x ik }, a constraint is an arbitrary subset of D i1 x...xd ik. A solution is an assignment of values to the variables from their domains s.t. every constraint is satisfied. A CP model is very general: variable domains can be chosen arbitrarily (intervals of real, integer or natural numbers), and are not restricted to numbers; constraints can be any relation on the domain; CP is more powerful regarding expressiveness than MIP 39 / 49

40 Constraint programming: examples Sudoku. Variables x ij {1,..., 9} =: N (the values in the corresponding cells); use pairwise inequality constraints to express that all values in a row, column, subsquare are different: x ij x ik x ij x kj x i1 j 1 x i2 j 2 x ij N k i, j N, (rows) k i, j N, (columns) (i 1, j 1 ) (i 2, j 2 ) C ij, i, j N, (subsquares) i, j N Use the global alldifferent constraint for a more powerful formulation: alldifferent(x ij j N) i N, (rows) alldifferent(x ij i N) j N, (columns) alldifferent(c ij ) i, j N, (subsquares) x i,j N i, j N More compact model, better search-space pruning. 40 / 49

41 Constraint programming: examples TSP. A solution is a permutation of cities; x i : the number of the city at position i. Use alldifferent constraint to ensure that the variables constitute a permutation. Use variables as indices to other variables (variable indexing) to express the objective function: min n 1 c xi,x i+1 + c xn,x1 i=1 s.t. alldiferent({x 1,..., x n }), x i {1,..., n} 41 / 49

42 Constraint programming Solve CSPs by: backtracking (ILOG Solver, ECL i PS e ) consistency techniques or domain reduction: reduce the search space by detecting partial assignments that cannot be extended to feasible ones; local consistency (node-,arc-, path-consistency), directional consistency (ex: variable elimination) Use CP techniques to solve optimization problems: additional constraints that forbids solutions inferior to the currently best one 42 / 49

43 Consistency techniques Given a constraint network R = (X, D, C), R ij C, a variable x i is arc-consistent relative to x j if and only if for every value a i D i there is a value a j D j s.t. (a i, a j ) R ij. A network is arc-consistent if all all of its arcs are arc-consistent. input: a subnetwork defined by two variables X = {x i, x j }, domains D i, D j, constraint R ij output: D i s.t. x i arc-consistent relative to x j for each a i D i do if there is no a j D j s.t. (a i, a j ) R ij then delete a i from D i Algorithm 1: Revise for arc-consistency Complexity: O(k 2 ), k values 43 / 49

44 Arc-consistency example 44 / 49

45 AC-3 input: a network of constraints R = (X, D, C) output: R the largest arc-consistent network equivalent to R for every pair {x i, x j } that participates in a constraint R ij R do queue queue {(x i, x j ), (x j, x i )} while queue {} do select and delete (x i, x j ) from queue Revise((x i ), x j ) if Revise((x i ), x j ) causes a change in D i then queue queue {(x k, x i ), i k} Algorithm 2: Arc-consistency-3(AC-3) Complexity: O(ek 3 ), e no. of arcs, k values 45 / 49

46 Consistency techniques Figure: Arc-consistency example Arc examined V 1 V 2 V 1 V 3 V 2 V 3 V 1 V 2 V 1 V 3 V 2 V 3 Value deleted none V 1 (G) V 2 (G) V 1 (R) none none 46 / 49

47 Combine backtracking and constraint propagation Use constraint propagation (arc-consistency) to propagate the effect of the current partial assignment (i.e. eliminate values inconsistent with the current ones). Backtracking with Forward Checking When examining V i = d k, remove any values inconsistent with the assignment from neighboring domains. 47 / 49

48 Mathematical programming vs. Constraint programming A CP optimization model has the same structure as a mathematical programming (MP) model: a set of decision variables, a set of constraints, an objective function. Modeling differences: A CP model supports logical constraints and a full range of arithmetic expressions A CP model can use specialized constraints (alldifferent) that can accelerate search A CP model has no limitation on the arithmetic constraints that can be set on decision variables, while MP considers problems whose formulation satisfies certain mathematical properties A CP model has only discrete decision variables (integer or boolean), while a MP model supports discrete or continuous decision variables 48 / 49

49 Mathematical programming vs. Constraint programming Optimization engine differences: A CP engine after each decision on variables and values, perform a set of logical inferences to reduce the remaining variables domains. A MP engine, uses a combination of relaxations (strengthened by cutting-planes) and B&B. A CP engine proves optimality by showing that no better solution than the current one can be found, while a MP engine uses a lower bound proof provided by cuts and linear relaxation. A CP engine doesn t make assumptions on the mathematical properties of the solution space (convexity, linearity etc.), while a MP engine requires that the model falls in a well-defined mathematical category. 49 / 49

3 INTEGER LINEAR PROGRAMMING

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

More information

Fundamentals of Integer Programming

Fundamentals of Integer Programming Fundamentals of Integer Programming Di Yuan Department of Information Technology, Uppsala University January 2018 Outline Definition of integer programming Formulating some classical problems with integer

More information

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

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

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

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

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

More information

Unit.9 Integer Programming

Unit.9 Integer Programming Unit.9 Integer Programming Xiaoxi Li EMS & IAS, Wuhan University Dec. 22-29, 2016 (revised) Operations Research (Li, X.) Unit.9 Integer Programming Dec. 22-29, 2016 (revised) 1 / 58 Organization of this

More information

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Introduction 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 information

Chapter 10 Part 1: Reduction

Chapter 10 Part 1: Reduction //06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 Part A: Answer any four of the five problems. (15 points each) 1. Transportation problem 2. Integer LP Model Formulation

More information

Integer Programming! Using linear programming to solve discrete problems

Integer Programming! Using linear programming to solve discrete problems Integer Programming! Using linear programming to solve discrete problems Solving Discrete Problems Linear programming solves continuous problem! problems over the reai numbers.! For the remainder of the

More information

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

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

More information

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

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

More information

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

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

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Handling first-order linear constraints with SCIP

Handling first-order linear constraints with SCIP Handling first-order linear constraints with SCIP James Cussens, University of York KU Leuven, 2015-02-16 James Cussens, University of York FO with SCIP KU Leuven, 2015-02-16 1 / 18 MIP Mixed integer programs

More information

The MIP-Solving-Framework SCIP

The MIP-Solving-Framework SCIP The MIP-Solving-Framework SCIP Timo Berthold Zuse Institut Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 23.05.2007 What Is A MIP? Definition MIP The optimization problem

More information

Constraint (Logic) Programming

Constraint (Logic) Programming Constraint (Logic) Programming Roman Barták Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic bartak@ktiml.mff.cuni.cz Sudoku Combinatorial puzzle, whose goal is to enter

More information

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL The Heuristic (Dark) Side of MIP Solvers Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL 1 Table of content [Lodi], The Heuristic (Dark) Side of MIP Solvers, Hybrid Metaheuristics, 273-284,

More information

Constraint Satisfaction Problems. Chapter 6

Constraint Satisfaction Problems. Chapter 6 Constraint Satisfaction Problems Chapter 6 Constraint Satisfaction Problems A constraint satisfaction problem consists of three components, X, D, and C: X is a set of variables, {X 1,..., X n }. D is a

More information

5.3 Cutting plane methods and Gomory fractional cuts

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

More information

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

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

More information

Algorithms for Integer Programming

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

More information

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems CS 188: Artificial Intelligence Constraint Satisfaction Problems What is Search For? Assumptions about the world: a single agent, deterministic actions, fully observed state, discrete state space Planning:

More information

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 In this lecture, we describe a very general problem called linear programming

More information

CS 440 Theory of Algorithms /

CS 440 Theory of Algorithms / CS 440 Theory of Algorithms / CS 468 Algorithms in Bioinformaticsi Brute Force. Design and Analysis of Algorithms - Chapter 3 3-0 Brute Force A straightforward approach usually based on problem statement

More information

Approximation Algorithms

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

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Graph Coloring Facets from a Constraint Programming Formulation

Graph Coloring Facets from a Constraint Programming Formulation Graph Coloring Facets from a Constraint Programming Formulation David Bergman J. N. Hooker Carnegie Mellon University INFORMS 2011 Motivation 0-1 variables often encode choices that can be represented

More information

Index. optimal package assignments, 143 optimal package assignments, symmetrybreaking,

Index. optimal package assignments, 143 optimal package assignments, symmetrybreaking, A Abstract approach, 79 Amphibian coexistence aquarium, 7 executes, 16 model, 13 15 modeling languages, 11 12 MPSolver, 12 OR-Tools library, 12 preys, 7 run a model, 17 18 solution, 17 three-step approach,

More information

Integer Programming Chapter 9

Integer Programming Chapter 9 1 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 30, 2017 2 Outline Branch and Bound Theory Branch and Bound Linear Programming Node Selection Strategies

More information

Lagrangian Relaxation in CP

Lagrangian Relaxation in CP Lagrangian Relaxation in CP Willem-Jan van Hoeve CPAIOR 016 Master Class Overview 1. Motivation for using Lagrangian Relaxations in CP. Lagrangian-based domain filtering Example: Traveling Salesman Problem.

More information

Announcements. Homework 4. Project 3. Due tonight at 11:59pm. Due 3/8 at 4:00pm

Announcements. Homework 4. Project 3. Due tonight at 11:59pm. Due 3/8 at 4:00pm Announcements Homework 4 Due tonight at 11:59pm Project 3 Due 3/8 at 4:00pm CS 188: Artificial Intelligence Constraint Satisfaction Problems Instructor: Stuart Russell & Sergey Levine, University of California,

More information

TIM 206 Lecture Notes Integer Programming

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

More information

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

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

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems

More information

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

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

More information

B553 Lecture 12: Global Optimization

B553 Lecture 12: Global Optimization B553 Lecture 12: Global Optimization Kris Hauser February 20, 2012 Most of the techniques we have examined in prior lectures only deal with local optimization, so that we can only guarantee convergence

More information

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

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

More information

Machine Learning for Software Engineering

Machine Learning for Software Engineering Machine Learning for Software Engineering Introduction and Motivation Prof. Dr.-Ing. Norbert Siegmund Intelligent Software Systems 1 2 Organizational Stuff Lectures: Tuesday 11:00 12:30 in room SR015 Cover

More information

Solutions for Operations Research Final Exam

Solutions for Operations Research Final Exam Solutions for Operations Research Final Exam. (a) The buffer stock is B = i a i = a + a + a + a + a + a 6 + a 7 = + + + + + + =. And the transportation tableau corresponding to the transshipment problem

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 013 Lecture 1: Introduction to Optimization Instructor: Shaddin Dughmi Outline 1 Course Overview Administrivia 3 Linear Programming Outline 1 Course Overview

More information

Integer Programming Theory

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

More information

Announcements. Homework 1: Search. Project 1: Search. Midterm date and time has been set:

Announcements. Homework 1: Search. Project 1: Search. Midterm date and time has been set: Announcements Homework 1: Search Has been released! Due Monday, 2/1, at 11:59pm. On edx online, instant grading, submit as often as you like. Project 1: Search Has been released! Due Friday 2/5 at 5pm.

More information

CS 188: Artificial Intelligence Fall 2011

CS 188: Artificial Intelligence Fall 2011 Announcements Project 1: Search is due next week Written 1: Search and CSPs out soon Piazza: check it out if you haven t CS 188: Artificial Intelligence Fall 2011 Lecture 4: Constraint Satisfaction 9/6/2011

More information

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

Integer Programming ISE 418. Lecture 1. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 1 Dr. Ted Ralphs ISE 418 Lecture 1 1 Reading for This Lecture N&W Sections I.1.1-I.1.4 Wolsey Chapter 1 CCZ Chapter 2 ISE 418 Lecture 1 2 Mathematical Optimization Problems

More information

CS 188: Artificial Intelligence. What is Search For? Constraint Satisfaction Problems. Constraint Satisfaction Problems

CS 188: Artificial Intelligence. What is Search For? Constraint Satisfaction Problems. Constraint Satisfaction Problems CS 188: Artificial Intelligence Constraint Satisfaction Problems Constraint Satisfaction Problems N variables domain D constraints x 1 x 2 Instructor: Marco Alvarez University of Rhode Island (These slides

More information

Financial Optimization ISE 347/447. Lecture 13. Dr. Ted Ralphs

Financial Optimization ISE 347/447. Lecture 13. Dr. Ted Ralphs Financial Optimization ISE 347/447 Lecture 13 Dr. Ted Ralphs ISE 347/447 Lecture 13 1 Reading for This Lecture C&T Chapter 11 ISE 347/447 Lecture 13 2 Integer Linear Optimization An integer linear optimization

More information

2 is not feasible if rounded. x =0,x 2

2 is not feasible if rounded. x =0,x 2 Integer Programming Definitions Pure Integer Programming all variables should be integers Mied integer Programming Some variables should be integers Binary integer programming The integer variables are

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario Coping with the Limitations of Algorithm Power Tackling Difficult Combinatorial Problems There are two principal approaches to tackling difficult combinatorial problems (NP-hard problems): Use a strategy

More information

Exploiting Degeneracy in MIP

Exploiting Degeneracy in MIP Exploiting Degeneracy in MIP Tobias Achterberg 9 January 2018 Aussois Performance Impact in Gurobi 7.5+ 35% 32.0% 30% 25% 20% 15% 14.6% 10% 5.7% 7.9% 6.6% 5% 0% 2.9% 1.2% 0.1% 2.6% 2.6% Time limit: 10000

More information

Tutorial on Integer Programming for Visual Computing

Tutorial on Integer Programming for Visual Computing Tutorial on Integer Programming for Visual Computing Peter Wonka and Chi-han Peng November 2018 1 1 Notation The vector space is denoted as R,R n,r m n,v,w Matricies are denoted by upper case, italic,

More information

11. APPROXIMATION ALGORITHMS

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

More information

Research Interests Optimization:

Research Interests Optimization: Mitchell: Research interests 1 Research Interests Optimization: looking for the best solution from among a number of candidates. Prototypical optimization problem: min f(x) subject to g(x) 0 x X IR n Here,

More information

Algorithms for Decision Support. Integer linear programming models

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

More information

Constraint Programming. Global Constraints. Amira Zaki Prof. Dr. Thom Frühwirth. University of Ulm WS 2012/2013

Constraint Programming. Global Constraints. Amira Zaki Prof. Dr. Thom Frühwirth. University of Ulm WS 2012/2013 Global Constraints Amira Zaki Prof. Dr. Thom Frühwirth University of Ulm WS 2012/2013 Amira Zaki & Thom Frühwirth University of Ulm Page 1 WS 2012/2013 Overview Classes of Constraints Global Constraints

More information

CS 4100 // artificial intelligence

CS 4100 // artificial intelligence CS 4100 // artificial intelligence instructor: byron wallace Constraint Satisfaction Problems Attribution: many of these slides are modified versions of those distributed with the UC Berkeley CS188 materials

More information

Questions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?)

Questions? 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 information

11.1 Facility Location

11.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 information

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

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

More information

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

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

More information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3) COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms

More information

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Constraint Satisfaction Problems slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Standard search problems: State is a black box : arbitrary data structure Goal test

More information

Constraint Modeling. with MiniZinc. Jakub Bulín. Department of CU Prague

Constraint Modeling. with MiniZinc. Jakub Bulín. Department of CU Prague Constraint Modeling with MiniZinc Jakub Bulín Department of Algebra @ CU Prague Table of contents 1. Intro & the theory part 2. An overview of MinZinc 3. Examples of constraint models 4. Learn more 1 In

More information

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs 15.082J and 6.855J Lagrangian Relaxation 2 Algorithms Application to LPs 1 The Constrained Shortest Path Problem (1,10) 2 (1,1) 4 (2,3) (1,7) 1 (10,3) (1,2) (10,1) (5,7) 3 (12,3) 5 (2,2) 6 Find the shortest

More information

Lecture 3. Brute Force

Lecture 3. Brute Force Lecture 3 Brute Force 1 Lecture Contents 1. Selection Sort and Bubble Sort 2. Sequential Search and Brute-Force String Matching 3. Closest-Pair and Convex-Hull Problems by Brute Force 4. Exhaustive Search

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

CS 343: Artificial Intelligence

CS 343: Artificial Intelligence CS 343: Artificial Intelligence Constraint Satisfaction Problems Prof. Scott Niekum The University of Texas at Austin [These slides are based on those of Dan Klein and Pieter Abbeel for CS188 Intro to

More information

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

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

More information

Approximation Algorithms

Approximation Algorithms 18.433 Combinatorial Optimization Approximation Algorithms November 20,25 Lecturer: Santosh Vempala 1 Approximation Algorithms Any known algorithm that finds the solution to an NP-hard optimization problem

More information

Optimization Methods in Management Science

Optimization Methods in Management Science Problem Set Rules: Optimization Methods in Management Science MIT 15.053, Spring 2013 Problem Set 6, Due: Thursday April 11th, 2013 1. Each student should hand in an individual problem set. 2. Discussing

More information

Lecture 14: Linear Programming II

Lecture 14: Linear Programming II A Theorist s Toolkit (CMU 18-859T, Fall 013) Lecture 14: Linear Programming II October 3, 013 Lecturer: Ryan O Donnell Scribe: Stylianos Despotakis 1 Introduction At a big conference in Wisconsin in 1948

More information

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM EXERCISES Prepared by Natashia Boland 1 and Irina Dumitrescu 2 1 Applications and Modelling 1.1

More information

Figure 1: An example of a hypercube 1: Given that the source and destination addresses are n-bit vectors, consider the following simple choice of rout

Figure 1: An example of a hypercube 1: Given that the source and destination addresses are n-bit vectors, consider the following simple choice of rout Tail Inequalities Wafi AlBalawi and Ashraf Osman Department of Computer Science and Electrical Engineering, West Virginia University, Morgantown, WV fwafi,osman@csee.wvu.edug 1 Routing in a Parallel Computer

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

More information

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1] International Journal of scientific research and management (IJSRM) Volume 3 Issue 4 Pages 2582-2588 2015 \ Website: www.ijsrm.in ISSN (e): 2321-3418 Principles of Optimization Techniques to Combinatorial

More information

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions. CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

More information

Space of Search Strategies. CSE 573: Artificial Intelligence. Constraint Satisfaction. Recap: Search Problem. Example: Map-Coloring 11/30/2012

Space of Search Strategies. CSE 573: Artificial Intelligence. Constraint Satisfaction. Recap: Search Problem. Example: Map-Coloring 11/30/2012 /0/0 CSE 57: Artificial Intelligence Constraint Satisfaction Daniel Weld Slides adapted from Dan Klein, Stuart Russell, Andrew Moore & Luke Zettlemoyer Space of Search Strategies Blind Search DFS, BFS,

More information

CMPSCI611: The Simplex Algorithm Lecture 24

CMPSCI611: The Simplex Algorithm Lecture 24 CMPSCI611: The Simplex Algorithm Lecture 24 Let s first review the general situation for linear programming problems. Our problem in standard form is to choose a vector x R n, such that x 0 and Ax = b,

More information

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :

More information

Course Summary! What have we learned and what are we expected to know?

Course Summary! What have we learned and what are we expected to know? Course Summary! What have we learned and what are we expected to know? Overview! Introduction Modelling in MiniZinc Finite Domain Constraint Solving Search Linear Programming and Network Flow Mixed Integer

More information

CSE 473: Artificial Intelligence

CSE 473: Artificial Intelligence CSE 473: Artificial Intelligence Constraint Satisfaction Luke Zettlemoyer Multiple slides adapted from Dan Klein, Stuart Russell or Andrew Moore What is Search For? Models of the world: single agent, deterministic

More information

Algorithms for Euclidean TSP

Algorithms for Euclidean TSP This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation

More information

Notes for Recitation 9

Notes 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 information

4 Integer Linear Programming (ILP)

4 Integer Linear Programming (ILP) TDA6/DIT37 DISCRETE OPTIMIZATION 17 PERIOD 3 WEEK III 4 Integer Linear Programg (ILP) 14 An integer linear program, ILP for short, has the same form as a linear program (LP). The only difference is that

More information

and 6.855J Lagrangian Relaxation I never missed the opportunity to remove obstacles in the way of unity. Mohandas Gandhi

and 6.855J Lagrangian Relaxation I never missed the opportunity to remove obstacles in the way of unity. Mohandas Gandhi 15.082 and 6.855J Lagrangian Relaxation I never missed the opportunity to remove obstacles in the way of unity. Mohandas Gandhi On bounding in optimization In solving network flow problems, we not only

More information

Column Generation Method for an Agent Scheduling Problem

Column Generation Method for an Agent Scheduling Problem Column Generation Method for an Agent Scheduling Problem Balázs Dezső Alpár Jüttner Péter Kovács Dept. of Algorithms and Their Applications, and Dept. of Operations Research Eötvös Loránd University, Budapest,

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems In which we see how treating states as more than just little black boxes leads to the invention of a range of powerful new search methods and a deeper understanding of

More information

Assignment 3b: The traveling salesman problem

Assignment 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 Ann-Brith

More information

Steven Skiena. skiena

Steven Skiena.   skiena Lecture 22: Introduction to NP-completeness (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Among n people,

More information

Algorithms 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 Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order Gerold Jäger joint work with Paul Molitor University Halle-Wittenberg, Germany August 22, 2008 Overview 1 Introduction

More information

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods 5.8J Integer Programming and Combinatorial Optimization Fall 9 A knapsack problem Enumerative Methods Let s focus on maximization integer linear programs with only binary variables For example: a knapsack

More information

Solving NP-hard Problems on Special Instances

Solving NP-hard Problems on Special Instances Solving NP-hard Problems on Special Instances Solve it in poly- time I can t You can assume the input is xxxxx No Problem, here is a poly-time algorithm 1 Solving NP-hard Problems on Special Instances

More information

Lagrangean Relaxation of the Hull-Reformulation of Linear Generalized Disjunctive Programs and its use in Disjunctive Branch and Bound

Lagrangean Relaxation of the Hull-Reformulation of Linear Generalized Disjunctive Programs and its use in Disjunctive Branch and Bound Lagrangean Relaxation of the Hull-Reformulation of Linear Generalized Disjunctive Programs and its use in Disjunctive Branch and Bound Francisco Trespalacios, Ignacio E. Grossmann Department of Chemical

More information

Announcements. CS 188: Artificial Intelligence Fall 2010

Announcements. CS 188: Artificial Intelligence Fall 2010 Announcements Project 1: Search is due Monday Looking for partners? After class or newsgroup Written 1: Search and CSPs out soon Newsgroup: check it out CS 188: Artificial Intelligence Fall 2010 Lecture

More information