Integer Programming (정수계획법)

Slides:



Advertisements
Similar presentations
Thursday, April 11 Some more applications of integer
Advertisements

1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Chapter 3 Workforce scheduling.
Lecture 10: Integer Programming & Branch-and-Bound
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Integer Programming 3 Brief Review of Branch and Bound
Branch and Bound Searching Strategies
Math443/543 Mathematical Modeling and Optimization
Approximation Algorithms
1 Mathematical Programming Integer Programming. 2 Common Types of IP’s and IP Constraints Two common types of IP’s –#1: Capital budgeting –#2: Set covering.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
1 1 1-to-Many Distribution Vehicle Routing John H. Vande Vate Spring, 2005.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Chapter 9 Integer Programming
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
Notes 6IE3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
Workforce scheduling – Days off scheduling 1. n is the max weekend demand n = max(n 1,n 7 ) Surplus number of employees in day j is u j = W – n j for.
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
Chap 10. Integer Prog. Formulations
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Integer Programming (정수계획법)
15-853Page :Algorithms in the Real World Linear and Integer Programming III – Integer Programming Applications Algorithms.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Lecture.6. Table of Contents Lp –rounding Dual Fitting LP-Duality.
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
OR Integer Programming ( 정수계획법 ). OR
1.3 Modeling with exponentially many constr. Integer Programming
Approximation Algorithms based on linear programming.
Chapter 9 Integer Programming to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Hard Problems Some problems are hard to solve.
EMIS 8373: Integer Programming
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Chapter 1. Introduction Ex : Diet Problem
The minimum cost flow problem
6.5 Stochastic Prog. and Benders’ decomposition
Great Theoretical Ideas in Computer Science
1.3 Modeling with exponentially many constr.
Chap 9. General LP problems: Duality and Infeasibility
3.3 Applications of Maximum Flow and Minimum Cut
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 6. Large Scale Optimization
András Sebő and Anke van Zuylen
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Part II General Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
Lecture 6 – Integer Programming Models
Chapter 1. Formulations.
Vehicle Routing John H. Vande Vate Fall,
1.2 Guidelines for strong formulations
Chapter 6. Large Scale Optimization
REVIEW FOR EXAM 1 Chapters 3, 4, 5 & 6.
1.2 Guidelines for strong formulations
Presentation transcript:

Integer Programming (정수계획법) max 𝑐 ′ 𝑥 𝐴𝑥≤(=)𝑏 𝑥≥0 and integer (𝑥∈ 𝐵 𝑛 , or 0≤𝑥≤1 and integer, 𝑥 𝑗 ∈ 0,1 ∀𝑗) mixed integer programming problem (MIP) if some variables are continuous. Formulations Plane scheduling, Crew scheduling leg: one flight taking off from an airport and landing some other airport. route: a set of legs that an airplane can serve sequentially and return home. Let 𝑥 𝑗 = 1, if route 𝑗 selected 0, otherwise 𝑎 𝑖𝑗 = 1, if leg 𝑖 is part of route 𝑗 0, otherwise 𝑐 𝑗 : cost of using route 𝑗. OR-1 Opt. 2018

Crews may ride some airplanes (legs) as passengers (dead heading). Plane scheduling: min 𝑗=1 𝑛 𝑐 𝑗 𝑥 𝑗 s. t. 𝑗=1 𝑛 𝑎 𝑖𝑗 𝑥 𝑗 =1, 𝑖=1,2,…,𝑚 𝑥 𝑗 ∈{0,1} for all 𝑗 m : total number of legs, n : total number of possible routes (big number). Each route should satisfy timing and regulatory constraints. Assume that we already generated enough routes. This formulations is a set partitioning type formulation Crew scheduling: s. t. 𝑗=1 𝑛 𝑎 𝑖𝑗 𝑥 𝑗 ≥1, 𝑖=1,2,…,𝑚 Crews may ride some airplanes (legs) as passengers (dead heading). Set covering type formulation. Note that the routes and costs can be different from the plane scheduling case. OR-1 Opt. 2018

Let 𝑀 be the index set of chosen subsets. Set partitioning, set covering, set packing : ex) 𝑁={1, 2, 3, 4, 5} 𝑆 1 ={1, 2}, 𝑆 2 ={1, 3, 4}, 𝑆 3 ={3, 4}, 𝑆 4 ={1, 4, 5}, 𝑆 5 ={3, 4, 5}, 𝑆 6 ={1, 2, 3}, 𝑆 7 ={2, 3} Let 𝑀 be the index set of chosen subsets. Set partitioning: { 𝑆 1 , 𝑆 5 }, { 𝑆 4 , 𝑆 7 }, … ( 𝑗∈𝑀 𝑆 𝑗 =𝑁, 𝑆 𝑖 ∩ 𝑆 𝑗 =∅, 𝑖≠𝑗, 𝑖,𝑗∈𝑀) Set covering: { 𝑆 1 , 𝑆 2 , 𝑆 4 }, { 𝑆 4 , 𝑆 6 }, … ( 𝑗∈𝑀 𝑆 𝑗 =𝑁) Set packing: { 𝑆 1 , 𝑆 3 }, { 𝑆 5 }, … ( 𝑆 𝑖 ∩ 𝑆 𝑗 =∅, 𝑖≠𝑗, 𝑖,𝑗∈𝑀) OR-1 Opt. 2018

Traveling salesman problem (Formulation in the handout considers the directed case. It is correct, but not a strong formulation. We assume the nodes are numbered 1, 2, …, 𝑛, unlike the handout. We will consider a different formulation for undirected case later. Similar idea can be used for directed case too. ) Let 𝑥 𝑖𝑗 =1 if move from city (node) 𝑖 to city 𝑗 in the tour, 0 otherwise. min (𝑖,𝑗)∈𝐴 𝑐 𝑖𝑗 𝑥 𝑖𝑗 s.t. 𝑢 𝑖 − 𝑢 𝑗 +𝑛 𝑥 𝑖𝑗 ≤𝑛−1, 𝑖,𝑗 ∈𝐴, 𝑖,𝑗≠1, ( or 𝑢 𝑗 ≥ 𝑢 𝑖 +1−𝑛 1− 𝑥 𝑖𝑗 as given in handout) 𝑖:(𝑖,𝑗)∈𝐴 𝑥 𝑖𝑗 =1, 𝑗∈𝑉 𝑗:(𝑖,𝑗)∈𝐴 𝑥 𝑖𝑗 =1, 𝑖∈𝑉 𝑥 𝑖𝑗 ∈ 0,1 , 𝑖,𝑗∈𝑉 Note that, 𝑢 𝑗 ′𝑠 are continuous variables in the above formulation. OR-1 Opt. 2018

Is the formulation correct? The formulation has 𝑢,𝑥 variables. If ( 𝑢 ∗ , 𝑥 ∗ ) feasible, we only read 𝑥 ∗ values ( projection of ( 𝑢 ∗ , 𝑥 ∗ ) to 𝑥 space) We need to show that (1) any tour solution 𝑥 ∗ (together with some 𝑢 ∗ ) satisfies the constraints so that no feasible tour is excluded from the set of feasible tours and (2) any non-tour solution (more than 1 subtours) does not satisfy the constraints. (1) For any tour 𝑥 ∗ , starting from node 1, if node 𝑖 is 𝑘−th node in the tour (2≤𝑘≤𝑛), assign 𝑢 𝑖 =𝑘. (2) If 𝑥 ∗ is 0,1 and satisfies degree constraints, it is either a tour or consists of more than one subtours. If subtours exist, there is one that does not include node 1. Add the lhs and rhs of constraints 𝑢 𝑖 − 𝑢 𝑗 +𝑛 𝑥 𝑖𝑗 ≤𝑛−1 along the arcs in the subtour. Then we obtain a constraint which is valid for the feasible solutions, but it is violated by the subtour solution. Note that the constraints 𝑢 𝑖 − 𝑢 𝑗 +𝑛 𝑥 𝑖𝑗 ≤𝑛−1, are not used for 𝑖, 𝑗=1. Otherwise any tour cannot be a feasible solution. Formulations to include the constraints for all 𝑖,𝑗 can be used to eliminate any directed cycle in a feasible solution. OR-1 Opt. 2018

Fixed cost charge problem cost function 𝑐 𝑥 = 0, if 𝑥=0 𝐾+𝑐𝑥, if 𝑥>0 Introduce binary decision variable 𝑦 that satisfies 𝑥>0 ⇒ 𝑦=1 𝑥=0 ⇒ 𝑦=0 and use cost function 𝑐 𝑥 =𝐾𝑦+𝑐𝑥 i.e., we want to enforce the condition (𝑥>0 ⟺ 𝑦=1) in the formulation. If 𝐾>0 and want to minimize 𝑐(𝑥), can use the formulation min 𝐾𝑦+𝑐𝑥, s.t. 𝑥≤𝑢𝑦, 𝑥≥0, 𝑦∈{0,1} (𝑢: upper bound on 𝑥) (Note that 𝑦=1, 𝑥=0 cannot be an optimal solution since 𝐾>0.) OR-1 Opt. 2018

𝑓(𝑥) 𝑐 𝑖 : slope (unit cost) 𝑐 4 𝑐 2 𝑐 3 𝑐 1 𝐾 x 𝐿 1 𝐿 2 𝐿 3 ( 𝑥 1 ) Nonlinear Objective functions May approximate a nonlinear objective function by a continuous piecewise linear objective function. 𝑓(𝑥) 𝑐 𝑖 : slope (unit cost) 𝑐 4 𝑐 2 𝑐 3 𝑐 1 𝐾 x 𝐿 1 𝐿 2 𝐿 3 ( 𝑥 1 ) ( 𝑥 2 ) ( 𝑥 3 ) OR-1 Opt. 2018

Express 𝑥 as 𝑥= 𝑥 1 + 𝑥 2 +…+ 𝑥 𝑘 , where each 𝑥 𝑗 denotes how much of the 𝑗-th interval is used to express 𝑥. Want to express 𝑥 as 𝑥= 𝐿 1 + 𝐿 2 +…+ 𝐿 𝑡−1 + 𝑥 𝑡 , for some 𝑡 in a feasible solution and objective value as 𝑓 𝑥 =𝐾+ 𝑐 1 𝐿 1 + 𝑐 2 𝐿 2 +…+ 𝑐 𝑡−1 𝐿 𝑡−1 + 𝑐 𝑡 𝑥 𝑡 . Formulation: 𝐿 𝑗 𝑤 𝑗 ≤ 𝑥 𝑗 ≤ 𝐿 𝑗 𝑤 𝑗−1 , 𝑗=1, 2, …, 𝑘 𝑤 0 =1 𝑤 𝑗 ∈{0, 1}, 𝑗=1, 2, …, 𝑘 𝑥 𝑗 ≥0, 𝑗=1, 2, …, 𝑘 note that we have 𝑤 𝑗 ≤ 𝑤 𝑗−1 for 𝑗=1, 2, …,𝑘. If 𝑤 𝑗 =0 for some 𝑗  𝑤 𝑘 =0 for 𝑘≥𝑗+1 If 𝑤 𝑗 = 𝑤 𝑗−1 =1  𝑥 𝑗 = 𝐿 𝑗 If 𝑤 𝑗 = 𝑤 𝑗−1 =0  𝑥 𝑗 =0 If 𝑤 𝑗 =0, 𝑤 𝑗−1 =1  0≤ 𝑥 𝑗 ≤ 𝐿 𝑗 Write the piecewise linear function as 𝐾+ 𝑐 1 𝑥 1 + 𝑐 2 𝑥 2 + …+ 𝑐 𝑘 𝑥 𝑘 . OR-1 Opt. 2018

𝑥 𝑗 ≥0 and integer (or 𝑥 𝑗 binary) Knapsack problem max 𝑗=1 𝑛 𝑐 𝑗 𝑥 𝑗 s. t. 𝑗=1 𝑛 𝑎 𝑗 𝑥 𝑗 ≤𝑏 𝑥 𝑗 ≥0 and integer (or 𝑥 𝑗 binary) (general knapsack, binary knapsack problem) satisfying at least one of two constraints (disjunctive constraints) If 𝑥 satisfies at least one of the two constraints, 𝑥 is feasible. ex) one machine job scheduling problem. Let 𝑀 denote a large positive value either 3 𝑥 1 +2 𝑥 2 ≤18 3 𝑥 1 +2 𝑥 2 ≤18+𝑦𝑀 or 𝑥 1 +4 𝑥 2 ≤16  𝑥 1 +4 𝑥 2 ≤16+ 1−𝑦 𝑀 must hold (or both hold) 𝑦∈{0,1} For computational purpose, it is not desirable to use big-𝑀 in the formulation. The technique can be extended to handle 𝑘 out of 𝑚 constraints case. ( 𝑖=1 𝑚 𝑦 𝑖 ≤𝑚−𝑘 ) OR-1 Opt. 2018

ex) scheduling jobs on a machine 𝑛 jobs, processing time 𝑑 𝑖 for job 𝑖, any additional constraints and obj. fn. Let 𝑡 𝑖 denote the starting time of job 𝑖. Then, for each pair of jobs 𝑖,𝑗, either 𝑡 𝑗 ≥ 𝑡 𝑖 + 𝑑 𝑖 𝑡 𝑗 − 𝑡 𝑖 ≥ 𝑑 𝑖 −𝑀 𝑦 𝑖𝑗 or 𝑡 𝑖 ≥ 𝑡 𝑗 + 𝑑 𝑗  𝑡 𝑖 − 𝑡 𝑗 ≥ 𝑑 𝑗 −𝑀(1− 𝑦 𝑖𝑗 ) must hold 𝑦 𝑖𝑗 ∈ 0,1 , ∀ 𝑖,𝑗 𝑦 𝑖𝑗 =0  job 𝑖 precedes job 𝑗 𝑦 𝑖𝑗 =1  job 𝑗 precedes job 𝑖 Functions with N possible values 𝑓 𝑥 1 , 𝑥 2 ,…, 𝑥 𝑛 = 𝑑 1 , 𝑜𝑟 𝑑 2 , …, 𝑜𝑟 𝑑 𝑁  𝑓 𝑥 1 , 𝑥 2 , …, 𝑥 𝑛 = 𝑖=1 𝑁 𝑑 𝑖 𝑦 𝑖 𝑖=1 𝑁 𝑦 𝑖 =1 𝑦 𝑖 ∈{0, 1} for all 𝑖. OR-1 Opt. 2018

ex) quadratic knapsack problem Quadratic 0-1 function ex) quadratic knapsack problem max 𝑖,𝑗,𝑖≠𝑗 𝑐 𝑖𝑗 𝑥 𝑖 𝑥 𝑗 + 𝑗=1 𝑛 𝑑 𝑗 𝑥 𝑗 𝑗=1 𝑛 𝑎 𝑗 𝑥 𝑗 ≤𝑏 (or 𝐴𝑥≤𝑏 ) 𝑥 𝑗 ∈{0, 1} for all 𝑗  max 𝑖,𝑗,𝑖≠𝑗 𝑐 𝑖𝑗 𝑦 𝑖𝑗 + 𝑗=1 𝑛 𝑑 𝑗 𝑥 𝑗 𝑗=1 𝑛 𝑎 𝑗 𝑥 𝑗 ≤𝑏 𝑦 𝑖𝑗 ≤ 𝑥 𝑖 , 𝑦 𝑖𝑗 ≤ 𝑥 𝑗 , for all 𝑖,𝑗 𝑥 𝑖 + 𝑥 𝑗 −1≤ 𝑦 𝑖𝑗 , for all 𝑖,𝑗 𝑥 𝑗 ∈{0, 1} for all 𝑗, 𝑦 𝑖𝑗 ∈{0,1} for all 𝑖,𝑗 Express 𝑥 𝑖 𝑥 𝑗 by 𝑦 𝑖𝑗 and add constraints that ensure 𝑦 𝑖𝑗 =1 if 𝑥 𝑖 = 𝑥 𝑗 =1, and 𝑦 𝑖𝑗 =0 otherwise. (If 𝑥 𝑖 = 𝑥 𝑗 =1  𝑦 𝑖𝑗 =1, else (at least one of 𝑥 𝑖 , 𝑥 𝑗 =0)  𝑦 𝑖𝑗 =0) ( 𝑥 𝑖 = 𝑥 𝑗 =1  𝑦 𝑖𝑗 =1 ) OR-1 Opt. 2018

Models with many constraints Traveling salesman problem (undirected case) Undirected graph 𝐺=(𝑁,𝐸), edge cost 𝑐 𝑒 , 𝑒∈𝐸 𝑁: set of nodes, 𝐸: set of edges (edge 𝑒= 𝑖,𝑗 , 𝑖,𝑗∈𝑁) Find a minimum cost tour that visits each node exactly once and returns home Cutset formulation minimize 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 subject to 𝑒∈𝛿( 𝑖 ) 𝑥 𝑒 =2, 𝑖∈𝑁 𝑒∈𝛿(𝑆) 𝑥 𝑒 ≥2, 𝑆⊂𝑁, 𝑆≠∅, 𝑁 𝑥 𝑒 ∈{0,1} for all 𝑒∈𝐸, where 𝛿 𝑆 ={𝑒=(𝑖,𝑗)∈𝐸: 𝑖∈𝑆, 𝑗∉𝑆 or 𝑗∈𝑆, 𝑖∉𝑆} (called a cut defined by 𝑆, the set of edges with one end node in 𝑆 and the other end node not in 𝑆) (Note that the number of constraints can be very large.) OR-1 Opt. 2018

Subtour elimination formulation minimize 𝑒∈𝐸 𝑐 𝑒 𝑥 𝑒 subject to 𝑒∈𝛿( 𝑖 ) 𝑥 𝑒 =2, 𝑖∈𝑁 𝑒∈𝐸(𝑆) 𝑥 𝑒 ≤ 𝑆 −1, 𝑆⊂𝑁, 𝑆≠∅, 𝑁 𝑥 𝑒 ∈{0,1} for all 𝑒∈𝐸, where 𝐸 𝑆 ={𝑒=(𝑖,𝑗)∈𝐸: 𝑖∈𝑆, 𝑗∈𝑆} (set of edges with both end nodes in 𝑆) Both formulations are correct and LP relaxations of both formulations give the same solution set. But there are enormous number of constraints. We will consider how to solve the formulation later. Although the formulation given earlier in the handout is not a good one, it may be used if we want to solve small TSPs using a generic IP software, not the sophisticated algorithm that can handle the cutset or subtour elimination constraints. OR-1 Opt. 2018

Integer programming significantly increases the modeling capability, but usually takes much more time to solve than linear programming. Theoretically, it is generally believed that there does not exist a polynomial time algorithm to solve general integer programming problems. However, recent advances in theory and software, combined with powerful computers makes it possible to solve many real world problems using integer programming. OR-1 Opt. 2018