COLUMN GENERATION. Diego Klabjan, Northwestern University

Similar documents
Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Practice Final Exam 1

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Modeling and Solving Location Routing and Scheduling Problems

Lecture 3: Totally Unimodularity and Network Flows

Linear Programming. Course review MS-E2140. v. 1.1

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

Implementing Scalable Parallel Search Algorithms for Data-Intensive Applications

Two-stage column generation

INEN 420 Final Review

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

Algorithms for Integer Programming

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Acyclic Network. Tree Based Clustering. Tree Decomposition Methods

Integer Programming and Network Modeis

Primal-Dual Methods for Approximation Algorithms

EARLY INTERIOR-POINT METHODS

NEW METHODS USING COLUMN GENERATION: AN EXAMPLE - ASSIGNING JOBS TO IDENTICAL MACHINES

Column Generation Method for an Agent Scheduling Problem

COLUMN GENERATION IN LINEAR PROGRAMMING

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

Linear programming and duality theory

Summary. Acyclic Networks Join Tree Clustering. Tree Decomposition Methods. Acyclic Network. Tree Based Clustering. Tree Decomposition.

Acyclic Network. Tree Based Clustering. Tree Decomposition Methods

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem

Integer Programming Theory

Privately Solving Linear Programs

NATCOR Convex Optimization Linear Programming 1

Selected Topics in Column Generation

3 Interior Point Method

Column Generation and its applications

Notes taken by Mea Wang. February 11, 2005

Interior Point Stabilization for Column Generation

CSE 417 Network Flows (pt 4) Min Cost Flows

Using Column Generation for the Bus Line Planning Problem

DETERMINISTIC OPERATIONS RESEARCH

What is linear programming (LP)? NATCOR Convex Optimization Linear Programming 1. Solving LP problems: The standard simplex method

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

Branch-Cut-and-Price solver for Vehicle Routing Problems

An Extension of the Multicut L-Shaped Method. INEN Large-Scale Stochastic Optimization Semester project. Svyatoslav Trukhanov

Size of a problem instance: Bigger instances take

The successful solution of large-scale mixed integer

Recursive column generation for the Tactical Berth Allocation Problem

A Recovery Algorithm for a Disrupted Airline Schedule

12 Introduction to LP-Duality

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Previously Local sensitivity analysis: having found an optimal basis to a problem in standard form,

A Feasible Region Contraction Algorithm (Frca) for Solving Linear Programming Problems

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

and 6.855J. The Successive Shortest Path Algorithm and the Capacity Scaling Algorithm for the Minimum Cost Flow Problem

A Recovery Algorithm for a Disrupted Airline Schedule

CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi

Linear Programming Duality and Algorithms

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

Some Advanced Topics in Linear Programming

A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

Programming, numerics and optimization

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs

Solving the Master Linear Program in Column Generation Algorithms for Airline Crew Scheduling using a Subgradient Method.

Solving the integrated airline recovery problem using column-and-row generation

An Introduction to Dual Ascent Heuristics

Optimization. Industrial AI Lab.

Bipartite Matching & the Hungarian Method

George B. Dantzig Mukund N. Thapa. Linear Programming. 1: Introduction. With 87 Illustrations. Springer

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

Parallel and Distributed Graph Cuts by Dual Decomposition

The MIP-Solving-Framework SCIP

The Size Robust Multiple Knapsack Problem

COMS 4771 Support Vector Machines. Nakul Verma

Facility Location-Routing-Scheduling Problem: LRS

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

Dual-fitting analysis of Greedy for Set Cover

Tribhuvan University Institute Of Science and Technology Tribhuvan University Institute of Science and Technology

Applied Lagrange Duality for Constrained Optimization

1. Lecture notes on bipartite matching February 4th,

Addressing degeneracy in the dual simplex algorithm using a decompositon approach

The recoverable robust tail assignment problem

Constrained Optimization COS 323

Benders Decomposition

Approximation Algorithms

Practice Final Exam 2: Solutions

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Decomposition in Integer Linear Programming

Notes for Lecture 20

arxiv: v2 [cs.ds] 14 Sep 2010

Implementing Scalable Parallel Search Algorithms for Data-intensive Applications

Decomposition in Integer Linear Programming

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

CSc 545 Lecture topic: The Criss-Cross method of Linear Programming

Progress in Linear Programming-Based Algorithms for Integer Programming: An Exposition

LECTURE 6: INTERIOR POINT METHOD. 1. Motivation 2. Basic concepts 3. Primal affine scaling algorithm 4. Dual affine scaling algorithm

Transcription:

PARALLEL PRIMAL-DUAL WITH COLUMN GENERATION Diego Klabjan, Northwestern University

Primal-Dual Algorithm Started with Dantzig, Ford, and Fulkerson in 1956. Primal-dual algorithms Primal step: Solve a primal subproblem. Dual step: Improve the dual feasible solution. Iterate. Successfully used in many combinatorial problems Matching algorithms (Edmonds) Minimum cost network flows

Primal-Dual Algorithm dual polyhedron new dual feasible vector π dual vector ρ old dual feasible vector π

Primal-Dual Algorithm The primal-dual algorithm Let ρ be a dual vector and let π be a dual feasible vector. Find a scalar α such that αρ+(1-α)π ( ) is a dual feasible vector and the gain in the objective value is maximum. π:=αρ+(1-α)π. Form a new LP by pricing out columns with best reduced cost based on the new π. Solve the LP and let ρ be an optimal dual solution. Iterate until optimal. Developed by H. Jing and Ellis L. Johnson.

Parallelization Solving problems with huge number of columns in short time More problems become tractable Columns spread across machines due to memory limitations Improvements in execution times Possible parallelism Parallel pricing strategies Reduce the number of major iterations Using a parallel LP solver

Parallel Pricing Parallel depth-first search Relatively easy to parallelize Parallel constrained shortest path Interesting and challenging In transportation Many labels Acyclic networks

Parallel Layered Algorithm s Nodes at the same level can be evaluated in parallel Embarrassing parallel at each level Nodes with the same maximum distance to s

Parallel Partitioning Partition the network Loop Constrained shortest path in each partition Exchange labels at the boundary nodes s

Parallel Primal-Dual Algorithm The parallel primal-dual algorithm on p processors Let ρ 1, ρ 2,, ρ p be dual vectors and let π be a dual feasible vector. p Find scalars α such that t α π + α ρ 0 i i is a dual feasible i=1 vector and the gain in the objective value is maximum. p π : = α π +. 0 α ρ i i i=1 Form p new LPs by controlled randomization based on the new dual feasible vector π. Solve the LPs in parallel. Let ρ i be an optimal dual solution to the i th LP. Iterate until optimal.

Parallel Primal-Dual Algorithm dual polyhedron feasible region for the new dual vector dual vectors ρ i old dual feasible vector π

Convex Combination of Dual Vectors p p Find scalars α such that α π + =, 1 0 α ρ i i α i is a dual i= 1 i= 0 feasible vector and the gain in the objective value is maximum. An LP with p rows and all columns has to be solved at each iteration to obtain the scalars α. p max α ( v v) i= 1 p q q q i= 1 i i p α 1 1 i i= a 0 i α ( rc rc ) rc for every column q π ρi π

Convex Combination of Dual Vectors The reduced cost of a column from the LP Expressed as a reduced cost of the original column with respect to the dual vector p ( 1 α i) π + α ρ i i= 1 A parallel constrained shortest path algorithm is employed p i= 1 i

Overall Algorithm π LP LP LP LP LP (parallel) (parallel) (parallel) (parallel) (parallel) ρ ρ ρ 1 2 3 ρ 4 5 ρ CONCUR RENTLY pricing vector Column generation to compute α: PARALLEL CONSTRAINED SHORTEST PATH

Upper Bounds on Variables Original LP has upper bounds on variables Upper bounds are transferred over to the tiny LP Tricky to adjust objective values Doable

Computational Instances Instances Airline crew pairing problems with up to 6 labels Airline aircraft routing problems with up to 3 labels Number of rows ranges from 300 to 3,000 Networks From 3,000 to 300,000 nodes Number of arcs from 300,000 to 400 million

Computational Architectures IHPCL Cluster of 16 personal computers Each one 8-way Dedicated gigabit Ethernet NCSA IBM eservers 484 2-way Pentium III 100 Mbit Ethernet

IHPCL

NCSA

Number of LPs

Very Large-Scale Instances

Common Theme Speed-up Almost linear speed-up up to 8 processors Decent speed-up up to 16 processors Elapsed time Elapsed time reductions even up to 30 processors Large-scale instances Significant elapsed time reductions even on 50 Significant elapsed time reductions even on 50 processors