Integer and Combinatorial Optimization: Introduction John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA November 2018 Mitchell Introduction 1 / 18
Integer and Combinatorial Optimization Outline 1 Integer and Combinatorial Optimization Complexity Solution techniques Quadratic constraints and objective functions 2 Cutting planes 3 Branch-and-bound: An example Mitchell Introduction 2 / 18
Integer and Combinatorial Optimization Combinatorial optimization An optimization problem is a problem of the form min x subject to f (x) x 2 S where f (x) is the objective function and S is the feasible region. A combinatorial optimization problem is one where there is only a finite number of points in S. For example: colorings of the countries of a map, so that no two adjacent coutries have the same color. Mitchell Introduction 3 / 18
Integer and Combinatorial Optimization Integer optimization In an integer optimization problem, the variables are constrained to take integer values. In a mixed integer optimization problem, some of the variables are required to take integer values, and the remainder can take fractional values. Mitchell Introduction 4 / 18
Integer and Combinatorial Optimization Integer optimization For example, a mixed integer linear optimization problem has the form min x2r n,y2r p ct x + d T y subject to Ax + By apple g x, y 0, y integer Here, A and B are given matrices, A 2 R m n, B 2 R m p. The remaining parameters c, d, g are vectors, c 2 R n, d 2 R p, g 2 R m. All vectors are understood to be column vectors in this course. Transpose is denoted by the superscript T. The dot product between two vectors c and x can be denoted c T x. In a mixed integer nonlinear optimization problem, the objective function and/or the constraints may be nonlinear functions. Mitchell Introduction 5 / 18
Integer and Combinatorial Optimization Complexity Outline 1 Integer and Combinatorial Optimization Complexity Solution techniques Quadratic constraints and objective functions 2 Cutting planes 3 Branch-and-bound: An example Mitchell Introduction 6 / 18
Integer and Combinatorial Optimization Complexity Computational complexity Linear optimization problems can be solved in polynomial time. This implies the required runtime doesn t grow too quickly as the problem size grows. By contrast, integer optimization problems are often NP-hard (to be defined later), which means that the runtime can grow very quickly in the problem size in the worst case. So mixed integer linear optimization problems are a lot harder to solve to global optimality than linear optimization problems. Mitchell Introduction 7 / 18
Integer and Combinatorial Optimization Solution techniques Outline 1 Integer and Combinatorial Optimization Complexity Solution techniques Quadratic constraints and objective functions 2 Cutting planes 3 Branch-and-bound: An example Mitchell Introduction 8 / 18
Integer and Combinatorial Optimization Solution techniques Solution techniques Our emphasis will be on methods for finding global optimal solutions to integer optimization problems. If we have a global minimizer x then there is no other feasible point x 2 S with f (x) < f (x ). In order to prove optimality, we will look at relaxations. The simplest relaxation of a mixed integer linear optimization problem is to ignore integrality, giving a linear optimization problem. The principal solution techniques we then examine are cutting planes: try to improve the relaxation branching: subdivide the feasible region. Mitchell Introduction 9 / 18
Integer and Combinatorial Optimization Solution techniques Solution techniques Our emphasis will be on methods for finding global optimal solutions to integer optimization problems. If we have a global minimizer x then there is no other feasible point x 2 S with f (x) < f (x ). In order to prove optimality, we will look at relaxations. The simplest relaxation of a mixed integer linear optimization problem is to ignore integrality, giving a linear optimization problem. The principal solution techniques we then examine are cutting planes: try to improve the relaxation branching: subdivide the feasible region. Mitchell Introduction 9 / 18
Integer and Combinatorial Optimization Quadratic constraints and objective functions Outline 1 Integer and Combinatorial Optimization Complexity Solution techniques Quadratic constraints and objective functions 2 Cutting planes 3 Branch-and-bound: An example Mitchell Introduction 10 / 18
Integer and Combinatorial Optimization Quadratic constraints and objective functions Quadratic constraints and objective functions f (x) = I x t I x t Qx Some combinatorial optimization problems can be formulated with quadratic constraints and/or a quadratic objective function. For other problems, it can be helpful to look at a quadratic relaxation. These problems can sometimes be attacked as semidefinite optimization problems, which have a matrix of variables that must be symmetric and positive semidefinite. A useful observation: we can replace the requirement that x is a binary variable by the requirement that x = x 2. :::::::::: -1 Mitchell Introduction 11 / 18
Cutting planes Outline 1 Integer and Combinatorial Optimization Complexity Solution techniques Quadratic constraints and objective functions 2 Cutting planes 3 Branch-and-bound: An example Mitchell Introduction 12 / 18
Cutting planes A cutting plane example Initial relaxation: Solve linear optimization relaxation min{c T x : Ax apple b, x 0} - c Solution to linear optimization relaxation Mitchell Introduction 13 / 18
Cutting planes A cutting plane example Initial relaxation: Solve linear optimization relaxation min{c T x : Ax apple b, x 0} Cutting plane a T 1 x = b 1 Solution to linear optimization relaxation Mitchell Introduction 13 / 18
Cutting planes Add a cutting plane and reoptimize Solve linear optimization relaxation min{c T x : Ax apple b, x 0, a T 1 x apple b 1} Cutting plane a T 1 x = b 1 Solution to linear optimization relaxation Mitchell Introduction 14 / 18
Cutting planes Add a cutting plane and reoptimize Solve linear optimization relaxation min{c T x : Ax apple b, x 0, a T 1 x apple b 1} Cutting plane a T 1 x = b 1 Solution to linear optimization relaxation Cutting plane a T 2 x = b 2 Mitchell Introduction 14 / 18
Cutting planes Add a cutting plane and reoptimize Solve linear optimization relaxation min{c T x : Ax apple b, x 0, a T 1 x apple b 1, a T 2 x apple b 2} Cutting plane a T 1 x = b 1 Solution to linear optimization relaxation Cutting plane a T 2 x = b 2 Solution to relaxation is integral, so it solves the integer optimization problem. Mitchell Introduction 15 / 18
Branch-and-bound: An example Outline 1 Integer and Combinatorial Optimization Complexity Solution techniques Quadratic constraints and objective functions 2 Cutting planes 3 Branch-and-bound: An example Mitchell Introduction 16 / 18
An example Branch-and-bound: An example We look at the integer optimization problem min x2r 3 5x 1 + 5x 2 13x 3 subject to x 1 + x 2 + x 3 apple 6 10x 1 8x 2 apple 15 (IOP) 6x 1 x 2 + 9x 3 apple 9 x i 0, x i integer, i = 1, 2, 3 It s easy to find a feasible solution for this problem: x =(0, 0, 0). Hence we can initialize with z u = 0. We let F = {x 2 R 3 : x 1 + x 2 + x 3 apple 6, 10x 1 8x 2 apple 15, 6x 1 x 2 + 9x 3 apple 9, x 1, x 2, x 3 0}. Mitchell Introduction 17 / 18
Branch-and-bound: An example The tree for the example Root node: min{c T x : x 2 F } x 0 =(1.5, 0, 2), z 0 = 18.5 Mitchell Introduction 18 / 18
Branch-and-bound: An example The tree for the example Root node: min{c T x : x 2 F } x 0 =(1.5, 0, 2), z 0 = 18.5 x 1 apple 1 x 1 2 x 2 =(2, 5 8, 2 29 72 ), z 2 = 18 1 9 Mitchell Introduction 18 / 18
Branch-and-bound: An example The tree for the example x 1 =(1, 0, 1 2 3 ), z 1 = 16 2 3 Root node: min{c T x : x 2 F } x 0 =(1.5, 0, 2), z 0 = 18.5 x 1 apple 1 x 1 2 x 2 =(2, 5 8, 2 29 72 ), z 2 = 18 1 9 Mitchell Introduction 18 / 18
Branch-and-bound: An example The tree for the example x 1 =(1, 0, 1 2 3 ), z 1 = 16 2 3 Root node: min{c T x : x 2 F} x 0 =(1.5, 0, 2), z 0 = 18.5 x 1 apple 1 x 1 2 x 2 =(2, 5 8, 2 29 72 ), z 2 = 18 1 9 x 3 3 infeasible, z 6 =+1 fathom by infeasibility Mitchell Introduction 18 / 18
Branch-and-bound: An example The tree for the example x 1 =(1, 0, 1 2 3 ), z 1 = 16 2 3 Root node: min{c T x : x 2 F} x 0 =(1.5, 0, 2), z 0 = 18.5 x 1 apple 1 x 1 2 x 5 =(2, 5 8, 2), z 5 = 12 7 8 x 2 =(2, 5 8, 2 29 72 ), z 2 = 18 1 9 x 3 apple 2 x 3 3 infeasible, z 6 =+1 fathom by infeasibility Mitchell Introduction 18 / 18
Branch-and-bound: An example The tree for the example x 1 =(1, 0, 1 2 3 ), z 1 = 16 2 3 Root node: min{c T x : x 2 F } x 0 =(1.5, 0, 2), z 0 = 18.5 x 1 apple 1 *. x 1 2 x 2 =(2, 5 8, 2 29 72 ), z 2 = 18 1 9 x 3 apple 1 x 3 apple 2 x 3 3 x 3 =(0, 0, 1), z 3 = 13 fathom by integrality x 5 =(2, 5 8, 2), z 5 = 12 7 8 fathom by bounds infeasible, z 6 =+1 fathom by infeasibility Mitchell Introduction 18 / 18
Branch-and-bound: An example The tree for the example Root node: min{c T x : x 2 F } x 1 =(1, 0, 1 2 3 ), z 1 = 16 2 3 x 0 =(1.5, 0, 2), z 0 = 18.5 x 1 apple 1 x 1 2 x 2 =(2, 5 8, 2 29 72 ), z 2 = 18 1 9 x 3 apple 1 x 3 2 x 3 apple 2 x 3 3 x 3 =(0, 0, 1), z 3 = 13 x 4 =(1, 3, 2), z 4 = 6 x 5 =(2, 5 8, 2), z 5 = 12 7 8 infeasible, z 6 =+1 fathom by integrality fathom by bounds fathom by bounds fathom by infeasibility Mitchell Introduction 18 / 18
Branch-and-bound: An example The tree for the example Root node: min{c T x : x 2 F } x 1 =(1, 0, 1 2 3 ), z 1 = 16 2 3 x 0 =(1.5, 0, 2), z 0 = 18.5 x 1 apple 1 x 1 2 x 2 =(2, 5 8, 2 29 72 ), z 2 = 18 1 9 x 3 apple 1 x 3 2 x 3 apple 2 x 3 3 x 3 =(0, 0, 1), z 3 = 13 x 4 =(1, 3, 2), z 4 = 6 x 5 =(2, 5 8, 2), z 5 = 12 7 8 infeasible, z 6 =+1 fathom by integrality fathom by bounds fathom by bounds fathom by infeasibility The optimal solution to (IOP) is x =(0, 0, 1), with value z = 13. Mitchell Introduction 18 / 18