review of linear programming software

94
Introduction to LP/QP/MIP LP Software Analysis and Comparison Conclusion Review of Linear Programming Software Peter He, Yang Li, Zhenghue Nie, Nael El Shawwa Instructor: Prof. Tamas Terlaky School of Computational Engineering and Science McMaster University Jan. 12, 2007 He, Li, Nie, Shawwa Linear Programming

Upload: others

Post on 27-Apr-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Review of Linear Programming Software

Peter He, Yang Li, Zhenghue Nie, Nael El Shawwa

Instructor: Prof. Tamas TerlakySchool of Computational Engineering and Science

McMaster University

Jan. 12, 2007

He, Li, Nie, Shawwa Linear Programming

Page 2: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 3: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 4: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What are LP?

Standard LP form:

min cT xs.t . Ax = b

x ≥ 0

Practical form:min cT xs.t . b ≤ Ax ≤ b̄

l ≤ x ≤ u

Main Methods:Simplex MethodsInterior Point Methods

He, Li, Nie, Shawwa Linear Programming

Page 5: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What are LP?

Standard LP form:

min cT xs.t . Ax = b

x ≥ 0

Practical form:min cT xs.t . b ≤ Ax ≤ b̄

l ≤ x ≤ u

Main Methods:Simplex MethodsInterior Point Methods

He, Li, Nie, Shawwa Linear Programming

Page 6: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What are LP?

Standard LP form:

min cT xs.t . Ax = b

x ≥ 0

Practical form:min cT xs.t . b ≤ Ax ≤ b̄

l ≤ x ≤ u

Main Methods:Simplex MethodsInterior Point Methods

He, Li, Nie, Shawwa Linear Programming

Page 7: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What are LP?

Standard LP form:

min cT xs.t . Ax = b

x ≥ 0

Practical form:min cT xs.t . b ≤ Ax ≤ b̄

l ≤ x ≤ u

Main Methods:Simplex MethodsInterior Point Methods

He, Li, Nie, Shawwa Linear Programming

Page 8: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What are LP?

Standard LP form:

min cT xs.t . Ax = b

x ≥ 0

Practical form:min cT xs.t . b ≤ Ax ≤ b̄

l ≤ x ≤ u

Main Methods:Simplex MethodsInterior Point Methods

He, Li, Nie, Shawwa Linear Programming

Page 9: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Simplex Method (Pivot Method)

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Ax = b defines a polytope,namely, SimplexJump from vertex to vertexPerform well for small andmedium scale, but bad forlarge scale problem, O(2n)

Efficient for MIPDegeneracy

He, Li, Nie, Shawwa Linear Programming

Page 10: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Simplex Method (Pivot Method)

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Ax = b defines a polytope,namely, SimplexJump from vertex to vertexPerform well for small andmedium scale, but bad forlarge scale problem, O(2n)

Efficient for MIPDegeneracy

He, Li, Nie, Shawwa Linear Programming

Page 11: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Simplex Method (Pivot Method)

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Ax = b defines a polytope,namely, SimplexJump from vertex to vertexPerform well for small andmedium scale, but bad forlarge scale problem, O(2n)

Efficient for MIPDegeneracy

He, Li, Nie, Shawwa Linear Programming

Page 12: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Simplex Method (Pivot Method)

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Ax = b defines a polytope,namely, SimplexJump from vertex to vertexPerform well for small andmedium scale, but bad forlarge scale problem, O(2n)

Efficient for MIPDegeneracy

He, Li, Nie, Shawwa Linear Programming

Page 13: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Simplex Method (Pivot Method)

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Ax = b defines a polytope,namely, SimplexJump from vertex to vertexPerform well for small andmedium scale, but bad forlarge scale problem, O(2n)

Efficient for MIPDegeneracy

He, Li, Nie, Shawwa Linear Programming

Page 14: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Interior Point Methods

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Ax = bAT y + s = c

xT s = µe

follow the central path inthe feasible region

He, Li, Nie, Shawwa Linear Programming

Page 15: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Interior Point Methods

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Ax = bAT y + s = c

xT s = µe

follow the central path inthe feasible region

He, Li, Nie, Shawwa Linear Programming

Page 16: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Interior Point Methods

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Very efficient forlarge-scale problem, totalcomputational complexityO(n3L)

Bad performance in MIPNo troubles caused bydegeneracy

He, Li, Nie, Shawwa Linear Programming

Page 17: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Interior Point Methods

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Very efficient forlarge-scale problem, totalcomputational complexityO(n3L)

Bad performance in MIPNo troubles caused bydegeneracy

He, Li, Nie, Shawwa Linear Programming

Page 18: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Interior Point Methods

Source:www.cas.mcmaster.ca/ terlaky/htm/talks/pivot-vs-IPM.pdf

Very efficient forlarge-scale problem, totalcomputational complexityO(n3L)

Bad performance in MIPNo troubles caused bydegeneracy

He, Li, Nie, Shawwa Linear Programming

Page 19: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 20: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What is (Mixed) Integer Programming

Integer Programming:

min cT xs.t. Ax = b

xi ∈ Z or subset of Z for all i

Branch and Bound & Cutting Plane.

He, Li, Nie, Shawwa Linear Programming

Page 21: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What is (Mixed) Integer Programming

Mixed Integer Programming:

min cT xs.t. Ax = b

xi ∈ Z or subset of Z for some i

Branch and Bound & Cutting Plane.

He, Li, Nie, Shawwa Linear Programming

Page 22: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 23: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What is Quadratic Programming?

Standard QP form:

min cT x + 12xT Qx

s.t. Ax = bx ≥ 0

If Q is semi-definite, the problem is convex. Otherwise,local convergence.

He, Li, Nie, Shawwa Linear Programming

Page 24: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

What is Quadratic Programming?

Standard QP form:

min cT x + 12xT Qx

s.t. Ax = bx ≥ 0

If Q is semi-definite, the problem is convex. Otherwise,local convergence.

He, Li, Nie, Shawwa Linear Programming

Page 25: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 26: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Developers’ View

ProgramsAlgorithmsModeling systems

CostFree codesCommercial products - providing the demo version

Othersproducts typeinterfaceplatforms and/or operating systemsdevelopment environmentmodeling systemparallel...

He, Li, Nie, Shawwa Linear Programming

Page 27: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 28: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Overview of CPLEX

Created by Robert E. Bixby using C language in 1987Been Acquired by ILOG, inc. in 1997Widespread

95% of papers that mention a solver mention CPLEX at anyconference where papers are presentedStandard solver in supply-chain applications; Industryleaders including SAP, Oracle, i2, JD Edwards, andManugisticsMost of the major airlines including United, American,Delta, Continental, Northwest, and Southwest

2004 INFORMS Impact AwardLatest version: 10.1 (Parallel, Indictor Constraints, etc. )

He, Li, Nie, Shawwa Linear Programming

Page 29: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Problems Covered

Linear ProgrammingMixed Integer Linear ProgrammingQuadratic ProgrammingMixed Integer Quadratic ProgrammingQuadratic Constrained ProgrammingMixed Integer Quadratic Constrained Programming

Millions of constraints and variables

He, Li, Nie, Shawwa Linear Programming

Page 30: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Algorithms

LP:Primal simplexDual simplexNetwork simplexPrimal/dual log barrier

QP:Primal simplexDual simplexPrimal dual log barrier

QCP:Primal dual log barrier

He, Li, Nie, Shawwa Linear Programming

Page 31: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

ILOG Optimization Suite

Simplex Optimizers (Primal,Dual, Network) for LP and QPBarrier Optimizer for LP, QPand QCPMixed Integer Optimizer forMIP, MIQP and MIQCPCPLEX Interactive OptimizerCPLEX Component Libraries

CPLEX Callable Library (C and VB6APIs)ILOG Concert Technology (C++, Java,.NET APIs)

Source: http://www.ilog.com/products/optimization/presentations/methods.pdf

He, Li, Nie, Shawwa Linear Programming

Page 32: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Embedding CPLEX

CPLEX Callable Library usesmatrices to represent aproblemILOG Concert Technologyuses objects and methods torepresent a problemILOG OPL Interfaces allowOPL models to be embeddedinside an application

Source: http://www.ilog.com/products/optimization/presentations/methods.pdf

He, Li, Nie, Shawwa Linear Programming

Page 33: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Embedding CPLEX

CPLEX Callable Library usesmatrices to represent aproblemILOG Concert Technologyuses objects and methods torepresent a problemILOG OPL Interfaces allowOPL models to be embeddedinside an application

Source: http://www.ilog.com/products/optimization/presentations/methods.pdf

He, Li, Nie, Shawwa Linear Programming

Page 34: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Embedding CPLEX

CPLEX Callable Library usesmatrices to represent aproblemILOG Concert Technologyuses objects and methods torepresent a problemILOG OPL Interfaces allowOPL models to be embeddedinside an application

Source: http://www.ilog.com/products/optimization/presentations/methods.pdf

He, Li, Nie, Shawwa Linear Programming

Page 35: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Modeling System, Platforms and Parallel

Modeling System: AMPL, MPL, OPL Studio, and GAMSPlatforms: PC/Windows, PC/Linux, Sun/Solaris, HP, IBMPowerParallel: Yes

He, Li, Nie, Shawwa Linear Programming

Page 36: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 37: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Overview of Xpress-MP

Developed by Dash OptimizationUsed in industry:

Finance and investmentItalcementi Group - Cement plant supply chain optimisationHoneywell - Flowsheet Decomposition Heuristic forSchedulingPower Optimization Limited - Generator Scheduling in theElectricity Industry

He, Li, Nie, Shawwa Linear Programming

Page 38: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Problems covered

LP, QPMIP, MIQP

He, Li, Nie, Shawwa Linear Programming

Page 39: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Algorithms

Primal and Dual simplex methodsInterior points method for LP and QPBranch and Bound techniques to solve MIP and MIQPTechniques to reduce problem size

He, Li, Nie, Shawwa Linear Programming

Page 40: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Platforms and OS

WindowsLinux, UnixMac (PowerPC)HP, AIX

He, Li, Nie, Shawwa Linear Programming

Page 41: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Modeling Systems

MoselAMPLGAMSFrontlineMPL

He, Li, Nie, Shawwa Linear Programming

Page 42: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Interfaces

command lineC/ C++JavaFortranVB6, .NETODBC I/O driver for external spreadsheets and databases

He, Li, Nie, Shawwa Linear Programming

Page 43: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Other Features

Size: no fixed limitInput form: Industry standard formats - LP,MPSSupports parallel computingAvailable add-ons to solve other problem types - stochasticproblems, NLPtotal user control of optimization processfast re-solve timeDevelopment tools - GUI development, problemformulation, solving and analysis

He, Li, Nie, Shawwa Linear Programming

Page 44: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Cost

$ 6,000 per license (basic)$ 22,500 per license (bundle)$ 1,000 per additional licenceAcademic: 90% off, free with academic partnershipprogramOther Mosel and Optimizer add-ons available separately

Prices as of January 2007 - Dash Optimization Price List

He, Li, Nie, Shawwa Linear Programming

Page 45: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 46: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Overviews of MOSEK

Erling D. Andersen and Knud D. AndersenImplement language: CLatest Version: 4.0

He, Li, Nie, Shawwa Linear Programming

Page 47: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Overviews of MOSEK

Erling D. Andersen and Knud D. AndersenImplement language: CLatest Version: 4.0

He, Li, Nie, Shawwa Linear Programming

Page 48: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Overviews of MOSEK

Erling D. Andersen and Knud D. AndersenImplement language: CLatest Version: 4.0

He, Li, Nie, Shawwa Linear Programming

Page 49: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Problems covered

Linear optimizationConvex quadratic optimization.Quadratically constrained convex optimization.Conic quadratic optimization (also known as second orderoptimization).Convex optimization.Geometric optimization (posynomial case).Handle integer valued variables in linearly andquadratically constrained optimization problems

He, Li, Nie, Shawwa Linear Programming

Page 50: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Algorithms

Interior-point optimizer for all continuous problems.Primal or dual simplex optimizer for linear problems.Conic interior-point optimizer for conic quadratic problems.Mixed-integer optimizer based on a branch and cuttechnology.

He, Li, Nie, Shawwa Linear Programming

Page 51: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Platforms and OS

Linux 32 and 64 bitMAC OSXSolaris 32 and 64 bitWindows 32 and 64 bit

He, Li, Nie, Shawwa Linear Programming

Page 52: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Modeling Systems

AMPLGAMSAIMMS

He, Li, Nie, Shawwa Linear Programming

Page 53: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Interfaces

C/C++ APICommand line interfaceJava APIMicrosoft. NET APIMATLAB

He, Li, Nie, Shawwa Linear Programming

Page 54: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Costs:

A: Linux and Windows 32 bit B: Other Platforms, likeSolaris, Mac OS, Linux and Windows 64 bit.Additional maintenance fee chargedDiscount for academic use: 70% to 90%

He, Li, Nie, Shawwa Linear Programming

Page 55: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Other Features

Input format: MPS, LP, MBT(MOSEK binary task format)Parallel Computing

He, Li, Nie, Shawwa Linear Programming

Page 56: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 57: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Overviews of LPSOL

Michel Berkelaar and Jeroen DirksImplement language: ANSI CLatest Version: Version 5.5

He, Li, Nie, Shawwa Linear Programming

Page 58: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Overviews of LPSOL

Michel Berkelaar and Jeroen DirksImplement language: ANSI CLatest Version: Version 5.5

He, Li, Nie, Shawwa Linear Programming

Page 59: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Overviews of LPSOL

Michel Berkelaar and Jeroen DirksImplement language: ANSI CLatest Version: Version 5.5

He, Li, Nie, Shawwa Linear Programming

Page 60: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Problems covered

(Large-scale) Linear ProgrammingMixed Integer Programming

He, Li, Nie, Shawwa Linear Programming

Page 61: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Algorithms

Revised Simplex Method for Linear ProgrammingA Branch and Bound Method for Mixed IntegerProgramming

He, Li, Nie, Shawwa Linear Programming

Page 62: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Platforms and OS

Linux/UnixWindowsMAC OS

He, Li, Nie, Shawwa Linear Programming

Page 63: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Modeling Systems

AMPLGAMSAIMMS

He, Li, Nie, Shawwa Linear Programming

Page 64: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Interfaces

C/C++ APIVisual BasicMicrosoft .NETDelphiJavaMATLABExcel

He, Li, Nie, Shawwa Linear Programming

Page 65: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Other Features

Sizes: Basically, no limit on model sizeInput form: LP format and MPSParallel Computing: NoPrices: Free

He, Li, Nie, Shawwa Linear Programming

Page 66: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 67: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Introduction to CLP

CLP means Coin OR Linear Porgramming.It is a highquality simplex code under the term of the Common PublicLicenseAuthor: John Forrest; Published Time: 2002; The firstvesion:version 0.90; Current version:Clp-1.3.3( http://www.coin-or.org/)CLP is written in C++ and it is primarily intended to beused as a callable library.

He, Li, Nie, Shawwa Linear Programming

Page 68: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Introduction to CLP

CLP means Coin OR Linear Porgramming.It is a highquality simplex code under the term of the Common PublicLicenseAuthor: John Forrest; Published Time: 2002; The firstvesion:version 0.90; Current version:Clp-1.3.3( http://www.coin-or.org/)CLP is written in C++ and it is primarily intended to beused as a callable library.

He, Li, Nie, Shawwa Linear Programming

Page 69: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Introduction to CLP

CLP means Coin OR Linear Porgramming.It is a highquality simplex code under the term of the Common PublicLicenseAuthor: John Forrest; Published Time: 2002; The firstvesion:version 0.90; Current version:Clp-1.3.3( http://www.coin-or.org/)CLP is written in C++ and it is primarily intended to beused as a callable library.

He, Li, Nie, Shawwa Linear Programming

Page 70: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

What can CLP solve?

Linear OptimizationRegularLarge Scale

It has been proved that LP with 1.5 million constraints stillkeeps reliability.

Sparse Coeffient MatrixesBoolean MatrixesNetwork Matrixes

Some Nonlinear Optimization:Such asQuadratic ProgrammingPiecewise Linear Convex function as the objective function

He, Li, Nie, Shawwa Linear Programming

Page 71: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

What can CLP solve?

Linear OptimizationRegularLarge Scale

It has been proved that LP with 1.5 million constraints stillkeeps reliability.

Sparse Coeffient MatrixesBoolean MatrixesNetwork Matrixes

Some Nonlinear Optimization:Such asQuadratic ProgrammingPiecewise Linear Convex function as the objective function

He, Li, Nie, Shawwa Linear Programming

Page 72: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

What Are Algorithms Being Used?

Prime simplex method : the column pivot choiceDual simplex method: Dantzig and Steepest edge rowpivot choiceCLP barrier method: solving convex QPs as well as LPs

He, Li, Nie, Shawwa Linear Programming

Page 73: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

What Are Algorithms Being Used?

Prime simplex method : the column pivot choiceDual simplex method: Dantzig and Steepest edge rowpivot choiceCLP barrier method: solving convex QPs as well as LPs

He, Li, Nie, Shawwa Linear Programming

Page 74: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

What Are Algorithms Being Used?

Prime simplex method : the column pivot choiceDual simplex method: Dantzig and Steepest edge rowpivot choiceCLP barrier method: solving convex QPs as well as LPs

He, Li, Nie, Shawwa Linear Programming

Page 75: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

What Input Form Is Often Used?

CLP often reads or loads MPS file.MPS (MathematicalProgramming System) is a file formatfor LO and MIP.

He, Li, Nie, Shawwa Linear Programming

Page 76: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

What Platforms Are Available?

Linux using g++ version 3.1.1 (or later)Windows using Microsoft Visual C++ 6 (or later)Windows using cygwinAIX using xIC (not supported in the current Makefile)

He, Li, Nie, Shawwa Linear Programming

Page 77: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

IntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

Features of CLP

Apparently as reliable as OSLSlightly slower that OSL on calculation speedBarrier code is not as mature as the simplex codeBut, CPL is easier than OSL, free or low cost, and the highratio of the function to the price .

He, Li, Nie, Shawwa Linear Programming

Page 78: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 79: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

Benchmark

Run on aLinux-PC(3.2GHz P4,4GB RDRAM,Linx-2.6)

Version: CPLEX-10.0;MOSEK-4.0.0.32;CLP-1.03.03;

Times are user timesin seconds includinginput and crossover toa feasible basis for allcodes.B/D/P:barrier/daul/primalsimplex

source:http://plato.asu.edu/ftp/lpcom.html

He, Li, Nie, Shawwa Linear Programming

Page 80: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

Parallel CPLEX on MIP problemsCPLEX-10.1 was run in default mode on a single and on a dual processor 2.4GHz Opteron (64-bit, Linux), and a2.2GHz dual-core Opteron (64-bit,Linux)

Times given are elapsed CPU times in seconds. "c" problem convex. AMPL or MPS input.

source: http://plato.asu.edu/ftp/ser_par.html

He, Li, Nie, Shawwa Linear Programming

Page 81: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

CPLEX parallel benchmark shows significant improvementwith dual processorsSome problems may have dense coefficient matrix → badfor parallel computingCommercial packages were more robust and efficient thanopen-source softwareBUT there are cases were CPLEX algorithms failed toconverge while MOSEK and CLP did.There are tests where CPLEX has reported in-feasiblesolution while MOSEK convergesIPM is more robust than Primal/Dual for large scaleproblems

He, Li, Nie, Shawwa Linear Programming

Page 82: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

CPLEX parallel benchmark shows significant improvementwith dual processorsSome problems may have dense coefficient matrix → badfor parallel computingCommercial packages were more robust and efficient thanopen-source softwareBUT there are cases were CPLEX algorithms failed toconverge while MOSEK and CLP did.There are tests where CPLEX has reported in-feasiblesolution while MOSEK convergesIPM is more robust than Primal/Dual for large scaleproblems

He, Li, Nie, Shawwa Linear Programming

Page 83: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

CPLEX parallel benchmark shows significant improvementwith dual processorsSome problems may have dense coefficient matrix → badfor parallel computingCommercial packages were more robust and efficient thanopen-source softwareBUT there are cases were CPLEX algorithms failed toconverge while MOSEK and CLP did.There are tests where CPLEX has reported in-feasiblesolution while MOSEK convergesIPM is more robust than Primal/Dual for large scaleproblems

He, Li, Nie, Shawwa Linear Programming

Page 84: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

CPLEX parallel benchmark shows significant improvementwith dual processorsSome problems may have dense coefficient matrix → badfor parallel computingCommercial packages were more robust and efficient thanopen-source softwareBUT there are cases were CPLEX algorithms failed toconverge while MOSEK and CLP did.There are tests where CPLEX has reported in-feasiblesolution while MOSEK convergesIPM is more robust than Primal/Dual for large scaleproblems

He, Li, Nie, Shawwa Linear Programming

Page 85: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

CPLEX parallel benchmark shows significant improvementwith dual processorsSome problems may have dense coefficient matrix → badfor parallel computingCommercial packages were more robust and efficient thanopen-source softwareBUT there are cases were CPLEX algorithms failed toconverge while MOSEK and CLP did.There are tests where CPLEX has reported in-feasiblesolution while MOSEK convergesIPM is more robust than Primal/Dual for large scaleproblems

He, Li, Nie, Shawwa Linear Programming

Page 86: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

CPLEX parallel benchmark shows significant improvementwith dual processorsSome problems may have dense coefficient matrix → badfor parallel computingCommercial packages were more robust and efficient thanopen-source softwareBUT there are cases were CPLEX algorithms failed toconverge while MOSEK and CLP did.There are tests where CPLEX has reported in-feasiblesolution while MOSEK convergesIPM is more robust than Primal/Dual for large scaleproblems

He, Li, Nie, Shawwa Linear Programming

Page 87: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

Outline1 Introduction to LP/QP/MIP

Linear Programming(Mixed) Integer ProgrammingQuadratic Programming

2 LP SoftwareIntroductionCPLEXXPRESS-MPMOSEKLPSOLCLP

3 Analysis and ComparisonBenchmark AnalysisComparison

He, Li, Nie, Shawwa Linear Programming

Page 88: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

Price

Name Commercial Academic EvaluationCPLEX Call $995 Free student

XPRESS-MP $6,000 $600 Free student30 day demo

MOSEK $1,750 $175 Free student15 day demo

He, Li, Nie, Shawwa Linear Programming

Page 89: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

Platform Supported

Product CPLEX XPRESS-MP MOSEK solver enginee LPSOL CLPPC/Windows y y y y yPC/Linux y y y y ySun/Solaris y y y y yMac/Mac OS - Power PC - y yOther HP,IBM power HP,AIX - - -Shared Memory Parallel y y y - -

source: http://lionhrtpub.com/orms/surveys/LP/LP-survey.html

He, Li, Nie, Shawwa Linear Programming

Page 90: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

Size of Problems solvable by the system

- Internal Max No. of Available AvailableProduct Restrictions Constraints Memory Disk SpaceCPLEX - - y -XPRESS Solver Engine - - y -MOSEK Solver Engine - - y -LPSOL - - y -CLP - - y -

source: http://lionhrtpub.com/orms/surveys/LP/LP-survey.html

He, Li, Nie, Shawwa Linear Programming

Page 91: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Benchmark AnalysisComparison

Algorithms

- Primal Dual Interior Branch-and- Branch-and-Product Simplex Simplex Point Cut PriceCPLEX y y y y -XPRESS Solver Engine y y y y yMOSEK Solver Engine y y y y -LPSOL y y - - -CPL y y y y -

source: http://lionhrtpub.com/orms/surveys/LP/LP-survey.html

He, Li, Nie, Shawwa Linear Programming

Page 92: Review of Linear Programming Software

Introduction to LP/QP/MIPLP Software

Analysis and ComparisonConclusion

Summary

All of them can solve the LP programs, but commercialprograms

provide more flexible interface;support more modeling systems;provide development tools;provide parallel computation;

Parallel computation provide a new way to improve theefficiency and solve large-scale problems, but is limited bythe algorithm used and matrix sparsity.Which program is the fastest one?

He, Li, Nie, Shawwa Linear Programming

Page 93: Review of Linear Programming Software

Reference

Reference

T. Illes, and T. Terlaky Pivot versus interior point methods: Pros and cons European Journal of OperationalResearch, Volume 140, Number 2, 16 July 2002, pp. 170-190(21)

CPLEX: http://www.ilog.com/products/cplex/

XPRESS: http://www.dashoptimization.com/

MOSEK: http://www.mosek.com/

LPSOL: http://www.cs.sunysb.edu/ algorith/implement/lpsolve/implement.shtml

CLP: http://www.coin-or.org/Clp/index.html

OR/MS Today 2005 Linear Programming Software Survey:http://lionhrtpub.com/orms/surveys/LP/LP-survey.html

Hans Mittelmann’s Benchmarks for Optimization Software: http://plato.la.asu.edu/bench.html

Software for Optimization: A Buyer’s Guide http://www.ampl.com/buyers1.html

Optimization Software Guide: http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/

http://www.informs.org/index.php?

He, Li, Nie, Shawwa Linear Programming

Page 94: Review of Linear Programming Software

Thanks &Questions Please...

Thanks!

Questions?

He, Li, Nie, Shawwa Linear Programming