Chapter 1. Formulations.

Slides:



Advertisements
Similar presentations
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Advertisements

Algorithm Design Methods Spring 2007 CSE, POSTECH.
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Linear Programming Problem
Progress in Linear Programming Based Branch-and-Bound Algorithms
Lecture 1: Introduction to the Course of Optimization 主講人 : 虞台文.
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.
Linear Programming – Max Flow – Min Cut Orgad Keller.
Review of Reservoir Problem OR753 October 29, 2014 Remote Sensing and GISc, IST.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Types of IP Models All-integer linear programs Mixed integer linear programs (MILP) Binary integer linear programs, mixed or all integer: some or all of.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
15.082J and 6.855J and ESD.78J Lagrangian Relaxation 2 Applications Algorithms Theory.
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 +
Minimizing Stall Time in Single Disk Susanne Albers, Naveen Garg, Stefano Leonardi, Carsten Witt Presented by Ruibin Xu.
Chap 10. Integer Prog. Formulations
11.5 Implicit Partitioning/Packing Problems  Given M = {1, …, m}, K implicitly described sets of feasible subsets of M. Find a maximum value packing or.
Integer Programming (정수계획법)
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
1.2 Guidelines for strong formulations  Running time for LP usually depends on m and n ( number of iterations O(m), O(log n)). Not critically depend on.
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:
Introduction to Integer Programming Integer programming models Thursday, April 4 Handouts: Lecture Notes.
Problems in Combinatorial Optimization. Linear Programming.
Linear Programming Chapter 1 Introduction.
Approximation Algorithms based on linear programming.
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
EMIS 8373: Integer Programming
Chapter 1. Introduction Ex : Diet Problem
Algorithm Design Methods
The minimum cost flow problem
6.5 Stochastic Prog. and Benders’ decomposition
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Graph Theory and Algorithm 02
Chapter 1. Introduction Mathematical Programming (Optimization) Problem: min/max
EMIS 8373: Integer Programming
Chapter 5. Optimal Matchings
1.3 Modeling with exponentially many constr.
Chap 9. General LP problems: Duality and Infeasibility
3.3 Applications of Maximum Flow and Minimum Cut
Polyhedron Here, we derive a representation of polyhedron and see the properties of the generators. We also see how to identify the generators. The results.
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
Polyhedron Here, we derive a representation of polyhedron and see the properties of the generators. We also see how to identify the generators. The results.
Exam 2 LZW not on syllabus. 73% / 75%.
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
I.4 Polyhedral Theory (NW)
Algorithm Design Methods
Flow Feasibility Problems
11.5 Implicit Partitioning/Packing Problems
Advanced LP models column generation.
Advanced LP models column generation.
I.4 Polyhedral Theory.
Algorithm Design Methods
11.5 Implicit Partitioning/Packing Problems
Part II General Integer Programming
6.5 Stochastic Prog. and Benders’ decomposition
Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an equation.
1.2 Guidelines for strong formulations
Algorithm Design Methods
Chapter 6. Large Scale Optimization
1.2 Guidelines for strong formulations
Presentation transcript:

Chapter 1. Formulations

Integer Optimization Problem (IP) Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min 𝑐 ′ 𝑥+ 𝑑 ′ 𝑦 𝐴𝑥+𝐵𝑦=𝑏 (or 𝐴𝑥+𝐵𝑦≤𝑏) 𝑥∈ 𝑍 + 𝑛 , 𝑦∈ 𝑅 + 𝑘 , where 𝐴∈ 𝑍 𝑚×𝑛 , 𝐵∈ 𝑍 𝑚×𝑘 , 𝑏∈ 𝑍 𝑚 , 𝑐∈ 𝑍 𝑛 , 𝑑∈ 𝑍 𝑘 Integer Optimization Problem (IP) min 𝑐 ′ 𝑥 𝐴𝑥=𝑏 𝑥∈ 𝑍 + 𝑛 Binary (or zero-one) Integer Optimization Problem (BIP) 𝑥∈ 0, 1 𝑛 ( or 𝑥∈ 𝐵 𝑛 ) Integer Programming 2013

Combinatorial Optimization Problem Given a finite set 𝑁= 1,…,𝑛 , weights 𝑐 𝑗 for each 𝑗∈𝑁, and a set 𝐹 of feasible subsets of 𝑁. Want to find a minimum (or maximum) weight feasible subset in 𝐹. (COP) min 𝑆⊆𝑁 𝑗∈𝑆 𝑐 𝑗 :𝑆∈𝐹 Almost all COPs can be formulated as IP or BIP Knapsack problem, Traveling Salesman Problem, Min/Max cut of graph, Stable set, Steiner Tree, … Integer Programming 2013

Applications Numerous applications Transportation (train scheduling) Airline crew scheduling, plane scheduling Production planning, distribution, SCM, logistics Energy, Eletricity generation planning Telecommunicaton network design, operation Buses for the handicapped Ground holding of aircraft Cutting problems …. Too many to list. Provides very strong modeling capabilities (much better than LP alone), but usually difficult to solve (The solution set is not convex) linear  nonlinear, convex  non-convex Recent advances in theory and software makes IP a practical option. Integer Programming 2013

1.1 Modeling Techniques Steps Define necessary variables Define (construct) constraints so that feasible points correspond to the feasible solutions of the problem Define objective function May exist many correct, but different formulations. Needs creativity. Which formulation is better? Frequently, use incidence vectors to denote sets 𝑆⊆𝑁, incidence vector of 𝑆 is 𝑛−dimensional vector 𝑥𝑆 such that 𝑥 𝑗 𝑆 =1 if 𝑗∈𝑆 and 𝑥 𝑗 𝑆 =0 otherwise. Integer Programming 2013

Binary choice The 0-1 knapsack problem 𝑛 items 𝑤 𝑗 is the weight of item 𝑗, and 𝑐 𝑗 is its value Bound 𝑏 on the weight that can be carried in a knapsack Select items to be put in the knapsack so that the total value is maximum. 𝑥 𝑗 =1 if item 𝑗 is selected, and 𝑥 𝑗 =0 otherwise The capacity bound cannot be exceeded: 𝑗=1 𝑛 𝑎 𝑗 𝑥 𝑗 ≤𝑏 Variables are 0-1: 𝑥 𝑗 ∈ 0, 1 for 𝑗=1,…,𝑛 Total value is maximized: max 𝑗=1 𝑛 𝑐 𝑗 𝑥 𝑗 Integer Programming 2013

Variations Integer knapsack problem Precedence constrained knapsack problem Partial orders on projects project 𝑖 must be done to perform project 𝑗 ( 𝑖→𝑗 ) ( can be represented as directed graph, use 𝑥 𝑖 ≥ 𝑥 𝑗 in constraints (𝑥: binary)) ex) repair kit selection, selecting tools for FMS tool magazine, open pit mining, … Quadratic knapsack problem: Objective is quadratic function Integer Programming 2013

Boolean Quadratic Function max 𝑓 𝑥 = 𝑖=1 𝑛 𝑑 𝑖 𝑥 𝑖 + 𝑖,𝑗,𝑖≠𝑗 𝑐 𝑖𝑗 𝑥 𝑖 𝑥 𝑗 , 𝑥 𝑖 ∈ 0,1 for all 𝑖. ( use additional variables 𝑦 𝑖𝑗 , such that 𝑦 𝑖𝑗 = 𝑥 𝑖 𝑥 𝑗 for binary 𝑥. Extended formulation.)  max 𝑖=1 𝑛 𝑑 𝑖 𝑥 𝑖 + 𝑖,𝑗,𝑖≠𝑗 𝑐 𝑖𝑗 𝑦 𝑖𝑗 𝑥 𝑖 + 𝑥 𝑗 − 𝑦 𝑖𝑗 ≤1 − 𝑥 𝑖 + 𝑦 𝑖𝑗 ≤0 − 𝑥 𝑗 + 𝑦 𝑖𝑗 ≤0 for all 𝑖, 𝑗, 𝑖≠𝑗 𝑥 𝑖 , 𝑦 𝑖𝑗 ∈ 0, 1 for all 𝑖, 𝑗 constraints ensure that 𝑥 𝑖 = 𝑥 𝑗 =1 ⟺ 𝑦 𝑖𝑗 =1 The technique will be used in lift and project Integer Programming 2013

Ex: quadratic knapsack problem, max cut of a graph Def: Given a graph 𝐺=(𝑉, 𝐸), and subset 𝑆⊆𝑉 of vertices, the set of edges with exactly one endpoint in 𝑆 is called a cut (relative to 𝑆). Given 𝐺=(𝑉, 𝐸), and edge weights 𝑐 𝑖𝑗 , 𝑒=(𝑖,𝑗)∈𝐸, find a maximum weight cut of 𝐺. max (𝑖,𝑗)∈𝐸 𝑐 𝑖𝑗 𝑥 𝑖 1− 𝑥 𝑗 + 1− 𝑥 𝑖 𝑥 𝑗 𝑥 𝑖 ∈ 0,1 for all 𝑖 (may add constraint 𝑥 1 =1 ) Note: max cut problem is difficult to solve (NP-hard), but min cut problem is easy (max-flow min-cut theorem). Integer Programming 2013

Forcing constraints Decision A (𝑥=1) can be made only if decision B (𝑦=1) also has been made. 𝑥≤𝑦 Uncapacitated Facility Location (UFL) Given potential depots 𝑁= 1,…,𝑛 , and a set 𝑀= 1,…,𝑚 of clients. Fixed cost 𝑐 𝑗 to open depot 𝑗, and transportation cost 𝑑 𝑖𝑗 if all of client 𝑖 ′ 𝑠 order is delivered from depot 𝑗. Determine which depots to open, and which depot serves each client so as to minimize the total cost. Define 𝑦 𝑗 =1 if depot 𝑗 is open, and 𝑦 𝑗 =0 otherwise 𝑥 𝑖𝑗 is fraction of the demand of client 𝑖 satisfied from depot 𝑗. Satisfaction of demand of client 𝑖 : 𝑗=1 𝑛 𝑥 𝑖𝑗 =1 for 𝑖=1,…,𝑚. Integer Programming 2013

if depot 𝑗 not opened, then 𝑥 𝑖𝑗 =0. ⟹ 𝑥 𝑖𝑗 ≤ 𝑦 𝑗 for 𝑖∈𝑀, 𝑦 𝑗 ∈ 0, 1 min 𝑗=1 𝑛 𝑐 𝑗 𝑦 𝑗 + 𝑖=1 𝑚 𝑗=1 𝑛 𝑑 𝑖𝑗 𝑥 𝑖𝑗 s.t. 𝑗=1 𝑛 𝑥 𝑖𝑗 =1 for 𝑖∈𝑀 𝑥 𝑖𝑗 ≤ 𝑦 𝑗 for 𝑖∈𝑀, 𝑗∈𝑁 0≤ 𝑥 𝑖𝑗 ≤1 for 𝑖∈𝑀, 𝑗∈𝑁, 𝑦 𝑗 ∈ 0, 1 for 𝑗∈𝑁 Note that there exists an optimal solution with 𝑥 𝑖𝑗 =0 or 1. Capacitated version? Integer Programming 2013

Relation between variables 𝑗=1 𝑛 𝑥 𝑖𝑗 ≤ = 1, 𝑥∈ 𝐵 𝑛 : Generalized upper bound (GUB) constraint Integer Programming 2013

Disjunctive constraints Assume 𝑥≥0 𝑎 ′ 𝑥≥𝑏, 𝑐 ′ 𝑥≥𝑑, 𝑎, 𝑐≥0 at least one of the two constraints needs to be satisfied  𝑎 ′ 𝑥≥𝑦𝑏, 𝑐 ′ 𝑥≥ 1−𝑦 𝑑, 𝑦∈ 0, 1 General form: 𝑎 𝑖 ′ 𝑥≥ 𝑏 𝑖 , 𝑖=1,…,𝑚 ( 𝑎 𝑖 ≥0 for all 𝑖) (at least 𝑘 out of 𝑚 constraints needs to be satisfied)  𝑖=1 𝑚 𝑦 𝑖 ≥𝑘, 𝑎 𝑖 ′ 𝑥≥ 𝑏 𝑖 𝑦 𝑖 , 𝑦 𝑖 ∈ 0, 1 , 𝑖=1,…,𝑚. Ex) machine scheduling: two jobs must be processed on the same machine and cannot be processed simultaneously. 𝑝 𝑖 : processing time of job 𝑖, 𝑡 𝑖 : start time of job 𝑖,  either 𝑡 2 ≥ 𝑡 1 + 𝑝 1 or 𝑡 1 ≥ 𝑡 2 + 𝑝 2 should hold. (need a different formulation from above, using big 𝑀) Note that the feasible solution set is not convex. Integer Programming 2013

Restricted range of values Want to restrict a variable x to take values in a set 𝑎 1 ,…, 𝑎 𝑚 .  𝑥= 𝑗=1 𝑚 𝑎 𝑗 𝑦 𝑗 , 𝑗=1 𝑚 𝑦 𝑗 =1 , 𝑦 𝑗 ∈ 0, 1 for all 𝑗 Integer Programming 2013

Arbitrary piecewise linear cost functions Piecewise linear, not necessarily convex, cost function (separable piecewise linear convex cost function can be modeled as LP (min problem, but non-convex (or non-concave) function cannot be modeled as LP) 𝑓(𝑥) 𝑥= 𝑖=1 𝑘 𝜆 𝑖 𝑎 𝑖 , 𝑓 𝑥 = 𝑖=1 𝑘 𝜆 𝑖 𝑓 𝑎 𝑖 , 𝑖=1 𝑘 𝜆 𝑖 =1 , 𝜆 1 ,…, 𝜆 𝑘 ≥0 𝑥 𝑎1 𝑎2 𝑎3 𝑎4 𝑦1 𝑦2 𝑦3 1 2 3 4 Integer Programming 2013

Formulation: min 𝑖=1 𝑘 𝜆 𝑖 𝑓 𝑎 𝑖 s. t. 𝜆 1 ≤ 𝑦 1 , 𝜆 𝑘 ≤ 𝑦 𝑘−1 𝜆 𝑖 ≤ 𝑦 𝑖−1 + 𝑦 𝑖 , 𝑖=2,…,𝑘−1, 𝑖=1 𝑘 𝜆 𝑖 =1, 𝑖=1 𝑘−1 𝑦 𝑖 =1 𝜆 𝑖 ≥0, for all 𝑖, 𝑦 𝑖 ∈ 0, 1 , for all 𝑖 Integer Programming 2013

Alternative formulation 𝐿 𝑗 𝑤 𝑗 ≤ 𝑥 𝑗 ≤ 𝐿 𝑗 𝑤 𝑗−1 , 𝑗=1,2,…,𝑘 𝑤 0 =1 𝑤 𝑗 ∈ 0, 1 , 𝑗=1,2,…,𝑘 𝑥 𝑗 ≥0, 𝑗=1,2,…,𝑘 𝑓(𝑥) 𝑓=𝐾+𝑐1𝑥1+𝑐2𝑥2+…+𝑐𝑘𝑥𝑘 Note that constraints imply 𝑤 𝑗 ≤ 𝑤 𝑗−1 𝐾 𝑥 𝑤0 𝑤1 𝑤2 𝑤3 𝐿1 𝐿2 𝐿3 Integer Programming 2013

Set covering, set packing, set partitioning 𝑀={1, … , 𝑚}, 𝑁={1, … , 𝑛} 𝑀 1 , 𝑀 2 ,…, 𝑀 𝑛 are collection of subsets of 𝑀. cost 𝑐 𝑗 for each subset 𝑀 𝑗 𝐹⊆𝑁 is a cover of 𝑀 if 𝑗∈𝐹 𝑀 𝑗 =𝑀 𝐹 is a packing of 𝑀 if 𝑀 𝑗 ⋂ 𝑀 𝑘 =∅ for all 𝑗,𝑘∈𝐹, 𝑗≠𝑘 𝐹 is a partition of 𝑀 if it is both a cover and a packing of 𝑀. weight of a subset 𝐹 of 𝑁 is defined as 𝑗∈𝐹 𝑐 𝑗 Let 𝐴:𝑚×𝑛 with 𝑎 𝑖𝑗 =1, if 𝑖∈ 𝑀 𝑗 , =0, otherwise  𝐴𝑥≥𝑒, 𝐴𝑥≤𝑒, 𝐴𝑥=𝑒, 𝑥∈ 𝐵 𝑛 ( 𝑒 : unit vector) Note that 𝐴𝑥= 𝑗=1 𝑛 𝐴 𝑗 𝑥 𝑗 , where 𝐴 𝑗 is 𝑗−𝑡ℎ column of 𝐴. Integer Programming 2013

Sequencing problem with setup times One machine, 𝑚 operations operation 𝑗 requires unique tool 𝑗 capacity of tool magazine is 𝐵<𝑚 loading or unloading tool 𝑗 into the magazine requires 𝑠 𝑗 units of setup time 𝑛 jobs need to be performed by the machine and each job 𝑖 requires multiple operations 𝐽 𝑖 , 𝐽 𝑖 ≤𝐵 (setup time required prior to each job is sequence dependent) Determine the optimal job sequence that minimizes total setup time. Assume the magazine is empty initially. Integer Programming 2013

𝑥 𝑖𝑟 =1, if job 𝑖 is the 𝑟−th job processed =0, otherwise Let 𝑥 𝑖𝑟 =1, if job 𝑖 is the 𝑟−th job processed =0, otherwise 𝑦 𝑗𝑟 =1, if tool 𝑗 is on the magazine while the 𝑟−th job is processed 𝑦 𝑗0 =0, for all j. (or may use initial magazine setting) 𝑟=1 𝑛 𝑥 𝑖𝑟 =1, for all 𝑖. (job 𝑖 must be done) 𝑖=1 𝑛 𝑥 𝑖𝑟 =1, for all r. (𝑟−𝑡ℎ job must be done) 𝑥 𝑖𝑟 ≤ 𝑦 𝑗𝑟 , for all 𝑗∈ 𝐽 𝑖 , for all 𝑟,𝑖. 𝑗=1 𝑚 𝑦 𝑗𝑟 ≤𝐵, for all 𝑟. Integer Programming 2013

minimize 𝑗=1 𝑚 𝑟=1 𝑛 𝑠 𝑗 𝑦 𝑗𝑟 − 𝑦 𝑗,𝑟−1 𝑧 𝑗𝑟 ≥ 𝑦 𝑗𝑟 − 𝑦 𝑗,𝑟−1 , for all 𝑗,𝑟, 𝑧 𝑗𝑟 ≥ 𝑦 𝑗,𝑟−1 − 𝑦 𝑗𝑟 , for all 𝑗,𝑟. minimize 𝑗=1 𝑚 𝑟=1 𝑛 𝑠 𝑗 𝑧 𝑗𝑟 𝑧 𝑗𝑟 ≥ 𝑦 𝑗,𝑟−1 − 𝑦 𝑗𝑟 , for all 𝑗,𝑟, 𝑟=1 𝑛 𝑥 𝑖𝑟 =1 , for all 𝑖. 𝑖=1 𝑛 𝑥 𝑖𝑟 =1, for all 𝑟. 𝑥 𝑖𝑟 ≤ 𝑦 𝑗𝑟 , for all 𝑗∈ 𝐽 𝑖 , for all 𝑟,𝑖. 𝑗=1 𝑚 𝑦 𝑗𝑟 ≤𝐵, for all 𝑟. Integer Programming 2013

Uncapacitated lot sizing (ULS) (NW) Production plan for a 𝑇−period horizon for a single product. 𝑐 𝑡 is the fixed cost (set-up) of producing in period 𝑡. 𝑝 𝑡 is the unit production cost in period 𝑡. ℎ 𝑡 is the unit storage cost in period 𝑡. 𝑑 𝑡 is the demand in period 𝑡. Variables: 𝑦 𝑡 is the amount produced in period 𝑡. 𝑠 𝑡 is the stock at the end of period 𝑡. 𝑥 𝑡 =1 if production occurs in 𝑡, and 𝑥 𝑡 =0 otherwise. Integer Programming 2013

min 𝑡=1 𝑇 𝑝 𝑡 𝑦 𝑡 + ℎ 𝑡 𝑠 𝑡 + 𝑐 𝑡 𝑥 𝑡 𝑦 1 = 𝑑 1 + 𝑠 1 Formulation: min 𝑡=1 𝑇 𝑝 𝑡 𝑦 𝑡 + ℎ 𝑡 𝑠 𝑡 + 𝑐 𝑡 𝑥 𝑡 𝑦 1 = 𝑑 1 + 𝑠 1 𝑠 𝑡−1 + 𝑦 𝑡 = 𝑑 𝑡 + 𝑠 𝑡 for 𝑡=2,…,𝑇 𝑦 𝑡 ≤𝜔 𝑥 𝑡 for 𝑡=1,…,𝑇 𝑠 𝑇 =0 𝑠,𝑦∈ 𝑅 + 𝑇 , 𝑥∈ 𝐵 𝑇 , where 𝜔= 𝑡=1 𝑇 𝑑 𝑡 is an upper bound on 𝑦 𝑡 for all 𝑡. Integer Programming 2013

Alternative formulation: Define 𝑞 𝑖𝑡 as the quantity produced in period 𝑖 to satisfy demand in period 𝑡≥𝑖. min 𝑡=1 𝑇 𝑖=1 𝑡 𝑝 𝑖 + ℎ 𝑖 + ℎ 𝑖+1 +…+ ℎ 𝑡−1 𝑞 𝑖𝑡 + 𝑡=1 𝑇 𝑐 𝑡 𝑥 𝑡 𝑖=1 𝑡 𝑞 𝑖𝑡 = 𝑑 𝑡 , for 𝑡=1,…,𝑇 𝑞 𝑖𝑡 ≤ 𝑑 𝑡 𝑥 𝑖 , for 𝑖=1,…,𝑇 and 𝑡=𝑖,…,𝑇 𝑞∈ 𝑅 + 𝑇(𝑇+1)/2 , 𝑥∈ 𝐵 𝑇 , If we replace 𝑥∈ 𝐵 𝑇 , by 0≤ 𝑥 𝑡 ≤1 for all 𝑡, then the LP has an optimal solution with 𝑥∈ 𝐵 𝑇 . Hence this is a stronger formulation. The formulation is a special case of the uncapacitated facility location problem. Substitute 𝑦 𝑖𝑡 = 𝑞 𝑖𝑡 / 𝑑 𝑡 for all 𝑖 and 𝑡≥𝑖. Extensions: capacitated lot sizing, multiple item lot sizing, … Integer Programming 2013