EMIS 8373: Integer Programming

Slides:



Advertisements
Similar presentations
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.
Advertisements

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,
Crew Scheduling Housos Efthymios, Professor Computer Systems Laboratory (CSL) Electrical & Computer Engineering University of Patras.
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
Primal Dual Method Lecture 20: March 28 primaldual restricted primal restricted dual y z found x, succeed! Construct a better dual.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
Computer Algorithms Integer Programming ECE 665 Professor Maciej Ciesielski By DFG.
Linear Programming Applications
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Decision Procedures An Algorithmic Point of View
Minimum Cost Flows. 2 The Minimum Cost Flow Problem u ij = capacity of arc (i,j). c ij = unit cost of shipping flow from node i to node j on (i,j). x.
Operational Research & ManagementOperations Scheduling Workforce Scheduling 1.Days-Off Scheduling 2.Shift Scheduling 3. Cyclic Staffing Problem (& extensions)
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Hon Wai Leong, NUS (CS6234, Spring 2009) Page 1 Copyright © 2009 by Leong Hon Wai CS6234: Lecture 4  Linear Programming  LP and Simplex Algorithm [PS82]-Ch2.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Hon Wai Leong, NUS (CS6234, Spring 2009) Page 1 Copyright © 2009 by Leong Hon Wai CS6234: Lecture 4  Linear Programming  LP and Simplex Algorithm [PS82]-Ch2.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved © 2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or.
Introduction to Integer Programming Integer programming models Thursday, April 4 Handouts: Lecture Notes.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
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.
Management Science 461 Lecture 4b – P-median problems September 30, 2008.
Solving Linear Program by Simplex Method The Concept
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.
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
The minimum cost flow problem
Lecture 11: Tree Search © J. Christopher Beck 2008.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
1.206J/16.77J/ESD.215J Airline Schedule Planning
Introduction to Operations Research
Gomory Cuts Updated 25 March 2009.
The Network Simplex Method
1.3 Modeling with exponentially many constr.
Chapter 4 Linear Programming: The Simplex Method
1.206J/16.77J/ESD.215J Airline Schedule Planning
1.206J/16.77J/ESD.215J Airline Schedule Planning
Chapter 6. Large Scale Optimization
Integer Linear Programming
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
Integer Programming (정수계획법)
1.206J/16.77J/ESD.215J Airline Schedule Planning
L12. Network optimization
1.206J/16.77J/ESD.215J Airline Schedule Planning
EMIS 8374 Arc-Path Formulation Updated 2 April 2008
Chapter 6. Large Scale Optimization
EMIS 8373 Complexity of Linear Programming
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Chapter 5 Transportation, Assignment, and Transshipment Problems
Algorithm Design Methods
Flow Feasibility Problems
Integer Linear Programming
EMIS 8374 Maximum Concurrent Flow Updated 3 April 2008
The Network Simplex Method
Chapter 1. Formulations.
Branch-and-Bound Algorithm for Integer Program
Prepared by Po-Chuan on 2016/05/24
Chapter 6. Large Scale Optimization
“Easy” Integer Programming Problems: Network Flow Problems
EMIS The Maximum Flow Problem: Flows and Cuts Updated 6 March 2008
Integer Programming (IP)
Presentation transcript:

EMIS 8373: Integer Programming Column Generation updated 18 April 2005

Example 1: Adapted from “Optimal Placement of ADD/DROP Multiplexers: Heuristic and Exact Algorithms” by Alain Sutter, Francis Vanderbeck, Laurence Wolsey Operations Research, Vol. 46 (5), pp. 719-728, 1998

Formulation Sets Parameters N is the set of nodes in the demand graph E  N  N is the set of edges in the demand graph M is a set of candidate SONET rings to may be used to construct the network Parameters de is weight of edge e  E b is the ring capacity aej = 1 if demand e can be routed on ring j cj is cost of ring j (the number of ADMs required)

Formulation Continued Decision Variables zj = 1 if ring j is select, and 0, otherwise. BIP Formulation: Constraint set (1) ensures that each demand is assigned to exactly one of the candidate rings. Views the problem as edge partitioning

Example Demand Graph and Candidate Set with b = 18 3 {(1, 2)} c1 = 2 {(1, 3)} c2 = 2 {(1, 4)} c3 = 2 {(2, 3)} c4 = 2 {(2, 5)} c5 = 2 {(3, 4)} c6 = 2 {(3, 5)} c7= 2 {(4, 5)} c8 = 2 {(1, 2), (1, 3), (2, 3)} c9 = 3 {(1, 2), (1, 3), (1, 4), (2, 3), (3, 5), (4, 5)} c10 = 5 1 2 3 2 3 4 3 8 2 4 5 2 Optimal Solution: z5 = z6 = z10 = 1 cost = 9 ADMs

Comments The best solution for the given demand graph uses two rings and eight ADMs: {(1, 2), (2, 3), (2, 5), (3, 5)} {(1, 3), (1, 4), (3, 4), (4, 5)} The edge-partitioning formulation cannot find this solution unless these candidate rings are given as part of the input. Let BIP(M) be the edge-partitioning formulation for a given candidate set M. The exact formulation is BIP(M*) where M* is the set of all feasible candidate rings. For a given demand graph |M*| = O(2|E|)

Matrix Representation of BIP(M) BIP(M*) could have up to 28 –1 = 255 columns depending on b.

LP Relaxation of BIP(M) Dual Problem

Additional Notation For a given basic feasible solution (BFS) for LP(M) Let B denote the basis matrix Let Aj denote column j of the constraint matrix A Let cB denote the vector of objective coefficients of the basic variables Let  denote the vector of corresponding dual variables Recall that the reduced cost for variable zj is given by the formula cj- cB B-1 Aj = cj-  Aj. - B is optimal if all variables have a non-negative reduced cost.

Reduced Cost Example 1 Suppose z1,z2, …, z8 are the basic variables. The current BFS uses 16 ADMs. Bringing ring 9 into the basis reduces this to 16 – 3 = 13

Reduced Cost Example 1 Suppose z1,z2, …, z8 are the basic variables Each demand assigned to its own ring Using ring 9 to cover three demands saves 3 ADMs. The current BFS uses 16 ADMs. Bringing ring 9 into the basis reduces this to 16 – 3 = 13

Reduced Cost Example 2 Suppose z1,z2, …, z8 are the basic variables. The current BFS uses 16 ADMs. Bringing ring 10 into the basis reduces this to 16 – 5 = 11

A Column-Generation Heuristic Solve restricted LP master problem LP(M) and let B be the optimal basis matrix LP(M*) is referred to as the linear programming master problem. Look for a ring (column) j that is not in M, but would have a negative reduced cost if it were added to M This is referred as as solving the pricing problem. If j is found then add j to M and goto step 1. Solve BIP(M) At this point an optimal solution to LP(M) is also an optimal solution to LP(M*).

Feasible Rings with Negative Reduced Costs Reduced cost for the new ring: We want to find a ring with negative reduced cost

Generating Feasible Rings Let yij = 1 if the new ring contains edge (i,j), and 0, otherwise Let xi = 1 if the new ring requires an ADM at node i For the x’s and y’s to represent a feasible ring we need

Ring Generation BIP This problem is NP-hard, but in practical terms is much easier to solve than BIP(M*). If the optimal value of the objective function is zero then the optimal basis for LP(M) is optimal for L(M*).

Column Generation Flow Chart Solve LP(M) Add column to M Solve the Pricing Problem New column found ? Yes No Restore Integrality Constraints and Solve BIP(M)

Restricted LP Master Problem (LP(M)) for Iteration 1 2 z 1 + 3 4 5 6 7 8 9 s . t = ( d e a b w ) ·

Optimal Solution for LP(M): Iteration 1

Pricing Problem for Iteration 1 Optimal Solution: Objective function value = -7 Add ring 11 = {(1,3), (1, 4), (2, 3), (2, 5), (3, 5), (4,5)}

Restricted LP Master Problem (LP(M)) for Iteration 2 z 1 + 3 4 5 6 7 8 9 s . t = ( d e a b w ) ·

Optimal Solution for LP(M): Iteration 2

Pricing Problem for Iteration 2 Optimal Solution: Objective function value = -7 Add ring 12 = {(1,2), (1, 4), (2, 3), (2, 5), (3, 5), (4,5)}

Restricted LP Master Problem (LP(M)) for Iteration 3 2 z 1 + 3 4 5 6 7 8 9 s . t x = ( d e a b w ) ·

Optimal Solution for LP(M): Iteration 3

Pricing Problem for Iteration 3 Optimal Solution: Objective function value = -5 Add ring 13 = {(1, 3), (2, 5), (3, 4), (3, 5), (4,5)}

Restricted LP Master Problem (LP(M)) for Iteration 4 2 z 1 + 3 4 5 6 7 8 9 s . t x = ( d e a b w ) ·

Optimal Solution for LP(M): Iteration 4

Comments Repeat until optimal solution to the pricing problem has objective function value zero. In many cases, the pricing problem is NP-hard. There is no guarantee that the column-generation procedure will generate all of the columns that are selected in the optimal solution to BIP(M*) A Branch-and-Price procedure does column generation at each node of the branch-and-bound tree The extra constraints added by branching usually complicate the pricing the problem.