2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2
|
|
- Sophie Palmer
- 5 years ago
- Views:
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 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 informationFundamentals 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 informationMVE165/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 informationMethods 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 informationMVE165/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 informationUnit.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 informationIntroduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs
Introduction to Mathematical Programming IE406 Lecture 20 Dr. Ted Ralphs IE406 Lecture 20 1 Reading for This Lecture Bertsimas Sections 10.1, 11.4 IE406 Lecture 20 2 Integer Linear Programming An integer
More informationChapter 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 informationNotes 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 information56: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 informationInteger 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 informationFebruary 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 informationInteger 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 informationCS 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 informationCSE 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 information3 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 informationHandling 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 informationThe 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 informationConstraint (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 informationThe 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 informationConstraint 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 information5.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 information56: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 informationAlgorithms 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 informationWhat 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 information15-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 informationCS 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 informationApproximation 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 informationFoundations 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 informationAdvanced 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 informationGraph 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 informationIndex. 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 informationInteger 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 informationLagrangian 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 informationAnnouncements. 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 informationTIM 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 informationInteger 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 informationCS599: 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 informationIntroduction 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 informationTheorem 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 informationSolving 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 informationB553 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 informationGENERAL 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 informationMachine 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 informationSolutions 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 informationCS599: 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 informationInteger 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 informationAnnouncements. 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 informationCS 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 informationInteger 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 informationCS 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 informationFinancial 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 information2 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 informationDiscrete 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 informationCoping 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 informationExploiting 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 informationTutorial 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 information11. APPROXIMATION ALGORITHMS
11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005
More informationResearch 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 informationAlgorithms 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 informationConstraint 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 informationCS 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 informationQuestions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?)
P vs. NP What now? Attribution These slides were prepared for the New Jersey Governor s School course The Math Behind the Machine taught in the summer of 2011 by Grant Schoenebeck Large parts of these
More information11.1 Facility Location
CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Facility Location ctd., Linear Programming Date: October 8, 2007 Today we conclude the discussion of local
More 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 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.
More informationLP-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 informationLecture 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 informationConstraint 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 informationConstraint 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 information15.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 informationLecture 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 information1 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 informationCS 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 informationComputational 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 informationApproximation 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 informationOptimization 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 informationLecture 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 informationEXERCISES 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 informationFigure 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
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 informationPrinciples 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 informationNP-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 informationSpace 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 informationCMPSCI611: 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 informationPOLYHEDRAL 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 informationCourse 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 informationCSE 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 informationAlgorithms 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 informationNotes for Recitation 9
6.042/18.062J Mathematics for Computer Science October 8, 2010 Tom Leighton and Marten van Dijk Notes for Recitation 9 1 Traveling Salesperson Problem Now we re going to talk about a famous optimization
More information4 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 informationand 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 informationColumn 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 informationConstraint 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 informationAssignment 3b: The traveling salesman problem
Chalmers University of Technology MVE165 University of Gothenburg MMG631 Mathematical Sciences Linear and integer optimization Optimization with applications Emil Gustavsson Assignment information Ann-Brith
More informationSteven 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 informationAlgorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger
Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order Gerold Jäger joint work with Paul Molitor University Halle-Wittenberg, Germany August 22, 2008 Overview 1 Introduction
More information15.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 informationSolving 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 informationLagrangean 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 informationAnnouncements. 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