• Contents
  • About
  • Acknowledgments
    • Credits
      • Documentation
      • Software
      • Support Groups
    • Acknowledgments
  • What’s New in SAS/OR 13.2
    • Overview
    • Optimization Updates
      • Solver Performance Improvements
      • PROC OPTMODEL: The CLP Solver
      • Covariance Matrix Output for Nonlinear Optimization
      • The DECOMP Algorithm: Block Detection
      • Changes in Status and Default Settings
    • SAS Simulation Studio 13.2
  • Using This Book
    • Purpose
    • Organization
    • Typographical Conventions
    • Conventions for Examples
      • Accessing the SAS/OR Sample Library
      • Online Documentation
    • Additional Documentation for SAS/OR Software
  • Introduction to Optimization
    • Overview
    • Linear Programming Problems
      • The OPTLP Procedure
      • The OPTMODEL Procedure
    • Mixed Integer Linear Problems
      • The OPTMILP Procedure
      • The OPTMODEL Procedure
    • Quadratic Programming Problems
      • The OPTQP Procedure
      • The OPTMODEL Procedure
    • Nonlinear Problems
      • The OPTMODEL Procedure
    • Model Building with PROC OPTMODEL
    • References
  • Shared Concepts and Topics
    • Multithreaded Parallel Computing
    • Syntax
      • PERFORMANCE Statement
    • ODS Tables
    • Memory Limit
    • Numerical Difficulties
    • References
  • The OPTMODEL Procedure
    • Overview: OPTMODEL Procedure
    • Getting Started: OPTMODEL Procedure
      • An Unconstrained Optimization Example
      • The Rosenbrock Problem
      • A Transportation Problem
    • Syntax: OPTMODEL Procedure
      • Functional Summary
      • PROC OPTMODEL Statement
      • Declaration Statements
      • Programming Statements
    • Details: OPTMODEL Procedure
      • Named Parameters
      • Indexing
      • Types
      • Names
      • Parameters
      • Expressions
      • Identifier Expressions
      • Function Expressions
      • Index Sets
      • OPTMODEL Expression Extensions
      • Conditions of Optimality
      • Data Set Input/Output
      • Control Flow
      • Formatted Output
      • ODS Table and Variable Names
      • Constraints
      • Suffixes
      • Integer Variable Suffixes
      • Dual Values
      • Reduced Costs
      • Presolver
      • Model Update
      • Multiple Subproblems
      • Multiple Solutions
      • Problem Symbols
      • OPTMODEL Options
      • Automatic Differentiation
      • Conversions
      • FCMP Routines
      • More on Index Sets
      • Threaded Processing
      • Macro Variable _OROPTMODEL_
      • Rewriting PROC NLP Models for PROC OPTMODEL
    • Examples: OPTMODEL Procedure
      • Matrix Square Root
      • Reading From and Creating a Data Set
      • Model Construction
      • Set Manipulation
      • Multiple Subproblems
      • Traveling Salesman Problem
      • Sparse Modeling
      • Chemical Equilibrium
    • References
  • The Constraint Programming Solver
    • Overview: CLP Solver
    • Getting Started: CLP Solver
      • Send More Money
      • Eight Queens
    • Syntax: CLP Solver
      • Functional Summary
      • SOLVE WITH CLP Statement
        • General Options
      • Predicates
        • Common Syntax Components
        • ALLDIFF Predicate
        • ELEMENT Predicate
        • GCC Predicate
        • LEXICO Predicate
        • PACK Predicate
        • REIFY Predicate
    • Details: CLP Solver
      • Types of CSPs
      • Techniques for Solving CSPs
      • Differences between PROC OPTMODEL and PROC CLP
      • Macro Variable _OROPTMODEL_
    • Examples: CLP Solver
      • Logic-Based Puzzles
      • Alphabet Blocks Problem
      • Work-Shift Scheduling Problem
      • A Nonlinear Optimization Problem
      • Car Painting Problem
      • Scene Allocation Problem
      • Car Sequencing Problem
      • Balanced Incomplete Block Design
      • Progressive Party Problem
    • References
  • The Linear Programming Solver
    • Overview: LP Solver
    • Getting Started: LP Solver
    • Syntax: LP Solver
      • Functional Summary
      • LP Solver Options
    • Details: LP Solver
      • Presolve
      • Pricing Strategies for the Primal and Dual Simplex Algorithms
      • The Network Simplex Algorithm
      • The Interior Point Algorithm
      • Iteration Log for the Primal and Dual Simplex Algorithms
      • Iteration Log for the Network Simplex Algorithm
      • Iteration Log for the Interior Point Algorithm
      • Iteration Log for the Crossover Algorithm
      • Concurrent LP
      • Parallel Processing
      • Problem Statistics
      • Variable and Constraint Status
      • Irreducible Infeasible Set
      • Macro Variable _OROPTMODEL_
    • Examples: LP Solver
      • Diet Problem
      • Reoptimizing the Diet Problem Using BASIS=WARMSTART
      • Two-Person Zero-Sum Game
      • Finding an Irreducible Infeasible Set
      • Using the Network Simplex Algorithm
      • Migration to OPTMODEL: Generalized Networks
      • Migration to OPTMODEL: Maximum Flow
      • Migration to OPTMODEL: Production, Inventory, Distribution
      • Migration to OPTMODEL: Shortest Path
    • References
  • The Mixed Integer Linear Programming Solver
    • Overview: MILP Solver
    • Getting Started: MILP Solver
    • Syntax: MILP Solver
      • Functional Summary
      • MILP Solver Options
    • Details: MILP Solver
      • Branch-and-Bound Algorithm
      • Controlling the Branch-and-Bound Algorithm
      • Presolve and Probing
      • Cutting Planes
      • Primal Heuristics
      • Parallel Processing
      • Node Log
      • Problem Statistics
      • Macro Variable _OROPTMODEL_
    • Examples: MILP Solver
      • Scheduling
      • Multicommodity Transshipment Problem with Fixed Charges
      • Facility Location
      • Traveling Salesman Problem
    • References
  • The Network Solver
    • Overview: Network Solver
    • Getting Started: Network Solver
    • Syntax: Network Solver
      • Functional Summary
      • SOLVE WITH NETWORK Statement
        • General Options
        • Input and Output Options
        • Algorithm Options
    • Details: Network Solver
      • Input Data for the Network Solver
      • Solving over Subsets of Nodes and Links (Filters)
      • Numeric Limitations
      • Biconnected Components and Articulation Points
      • Clique
      • Connected Components
      • Cycle
      • Linear Assignment (Matching)
      • Minimum-Cost Network Flow
      • Minimum Cut
      • Minimum Spanning Tree
      • Shortest Path
      • Transitive Closure
      • Traveling Salesman Problem
      • Macro Variable _OROPTMODEL_
    • Examples: Network Solver
      • Articulation Points in a Terrorist Network
      • Cycle Detection for Kidney Donor Exchange
      • Linear Assignment Problem for Minimizing Swim Times
      • Linear Assignment Problem, Sparse Format versus Dense Format
      • Minimum Spanning Tree for Computer Network Topology
      • Transitive Closure for Identification of Circular Dependencies in a Bug Tracking System
      • Traveling Salesman Tour through US Capital Cities
    • References
  • The Nonlinear Programming Solver
    • Overview: NLP Solver
    • Getting Started: NLP Solver
      • A Simple Problem
      • A Larger Optimization Problem
      • An Optimization Problem with Many Local Minima
      • A Least Squares Estimation Problem for a Regression Model
    • Syntax: NLP Solver
      • Functional Summary
      • NLP Solver Options
    • Details: NLP Solver
      • Basic Definitions and Notation
      • Constrained Optimization
      • Interior Point Algorithm
      • Active-Set Method
      • Multistart
      • Covariance Matrix
      • Iteration Log for the Local Solver
      • Iteration Log for Multistart
      • Solver Termination Criterion
      • Solver Termination Messages
      • Macro Variable _OROPTMODEL_
    • Examples: NLP Solver
      • Solving Highly Nonlinear Optimization Problems
      • Solving Unconstrained and Bound-Constrained Optimization Problems
      • Solving NLP Problems with Range Constraints
      • Solving Large-Scale NLP Problems
      • Solving NLP Problems That Have Several Local Minima
      • Maximum Likelihood Weibull Estimation
    • References
  • The Quadratic Programming Solver
    • Overview: QP Solver
    • Getting Started: QP Solver
    • Syntax: QP Solver
      • Functional Summary
      • QP Solver Options
    • Details: QP Solver
      • Interior Point Algorithm: Overview
      • Parallel Processing
      • Iteration Log
      • Problem Statistics
      • Macro Variable _OROPTMODEL_
    • Examples: QP Solver
      • Linear Least Squares Problem
      • Portfolio Optimization
      • Portfolio Selection with Transactions
    • References
  • The OPTLP Procedure
    • Overview: OPTLP Procedure
    • Getting Started: OPTLP Procedure
    • Syntax: OPTLP Procedure
      • Functional Summary
      • PROC OPTLP Statement
      • Decomposition Algorithm Statements
      • PERFORMANCE Statement
    • Details: OPTLP Procedure
      • Data Input and Output
      • Presolve
      • Pricing Strategies for the Primal and Dual Simplex Algorithms
      • Warm Start for the Primal and Dual Simplex Algorithms
      • The Network Simplex Algorithm
      • The Interior Point Algorithm
      • Iteration Log for the Primal and Dual Simplex Algorithms
      • Iteration Log for the Network Simplex Algorithm
      • Iteration Log for the Interior Point Algorithm
      • Iteration Log for the Crossover Algorithm
      • Concurrent LP
      • Parallel Processing
      • ODS Tables
      • Irreducible Infeasible Set
      • Macro Variable _OROPTLP_
    • Examples: OPTLP Procedure
      • Oil Refinery Problem
      • Using the Interior Point Algorithm
      • The Diet Problem
      • Reoptimizing after Modifying the Objective Function
      • Reoptimizing after Modifying the Right-Hand Side
      • Reoptimizing after Adding a New Constraint
      • Finding an Irreducible Infeasible Set
      • Using the Network Simplex Algorithm
    • References
  • The OPTMILP Procedure
    • Overview: OPTMILP Procedure
    • Getting Started: OPTMILP Procedure
    • Syntax: OPTMILP Procedure
      • Functional Summary
      • PROC OPTMILP Statement
      • Decomposition Algorithm Statements
      • PERFORMANCE Statement
      • TUNER Statement
    • Details: OPTMILP Procedure
      • Data Input and Output
      • Warm Start
      • Branch-and-Bound Algorithm
      • Controlling the Branch-and-Bound Algorithm
      • Presolve and Probing
      • Cutting Planes
      • Primal Heuristics
      • Parallel Processing
      • Node Log
      • ODS Tables
      • Macro Variable _OROPTMILP_
    • Examples: OPTMILP Procedure
      • Simple Integer Linear Program
      • MIPLIB Benchmark Instance
      • Facility Location
      • Scheduling
    • References
  • The OPTQP Procedure
    • Overview: OPTQP Procedure
    • Getting Started: OPTQP Procedure
    • Syntax: OPTQP Procedure
      • Functional Summary
      • PROC OPTQP Statement
      • PERFORMANCE Statement
    • Details: OPTQP Procedure
      • Output Data Sets
      • Interior Point Algorithm: Overview
      • Parallel Processing
      • Iteration Log for the OPTQP Procedure
      • ODS Tables
      • Macro Variable _OROPTQP_
    • Examples: OPTQP Procedure
      • Linear Least Squares Problem
      • Portfolio Optimization
      • Portfolio Selection with Transactions
    • References
  • The Decomposition Algorithm
    • Overview: Decomposition Algorithm
    • Getting Started: Decomposition Algorithm
      • Solving a MILP with DECOMP and PROC OPTMODEL
      • Solving a MILP with DECOMP and PROC OPTMILP
    • Syntax: Decomposition Algorithm
      • Decomposition Algorithm Options in the PROC OPTLP Statement or the SOLVE WITH LP Statement in PROC OPTMODEL
      • Decomposition Algorithm Options in the PROC OPTMILP Statement or the SOLVE WITH MILP Statement in PROC OPTMODEL
      • DECOMP Statement
      • DECOMP_MASTER Statement
      • DECOMP_MASTER_IP Statement
      • DECOMP_SUBPROB Statement
    • Details: Decomposition Algorithm
      • Data Input
      • Decomposition Algorithm
      • Parallel Processing
      • Special Case: Identical Blocks and Ryan-Foster Branching
      • Log for the Decomposition Algorithm
    • Examples: Decomposition Algorithm
      • Multicommodity Flow Problem
      • Generalized Assignment Problem
      • Block-Diagonal Structure and METHOD=CONCOMP in Single-Machine Mode
      • Block-Diagonal Structure and METHOD=CONCOMP in Distributed Mode
      • Block-Angular Structure and METHOD=AUTO
      • Bin Packing Problem
      • Resource Allocation Problem
      • Vehicle Routing Problem
      • ATM Cash Management in Single-Machine Mode
      • ATM Cash Management in Distributed Mode
      • Kidney Donor Exchange
    • References
  • The OPTMILP Option Tuner
    • Overview: The OPTMILP Option Tuner
    • Getting Started: The OPTMILP Option Tuner
    • Syntax: The OPTMILP Option Tuner
      • Functional Summary
      • PERFORMANCE Statement
      • TUNER Statement
    • Details: The OPTMILP Option Tuner
      • Data Input and Output
      • Default Set of Tuning Options
      • Full Set of Tuning Options
      • Tuner Log
      • ODS Tables
    • Examples: The OPTMILP Option Tuner
      • Tuning the Default Set of Options for a Single Problem
      • Tuning a Defined Set of Options for Multiple Problems
      • Tuning a Defined Set of Options for Multiple Problems in Distributed Mode
    • References
  • The MPS-Format SAS Data Set
    • Overview: MPS-Format SAS Data Set
      • Observations
      • Order of Sections
    • Sections Format: MPS-Format SAS Data Set
      • NAME Section
      • ROWS Section
      • COLUMNS Section
      • RHS Section (Optional)
      • RANGES Section (Optional)
      • BOUNDS Section (Optional)
      • BRANCH Section (Optional)
      • QSECTION Section (Optional)
      • ENDATA Section
    • Details: MPS-Format SAS Data Set
      • Converting an MPS/QPS-Format File: %MPS2SASD
      • Length of Variables
    • Examples: MPS-Format SAS Data Set
      • MPS-Format Data Set for a Product Mix Problem
      • Fixed-MPS-Format File
      • Free-MPS-Format File
      • Using the %MPS2SASD Macro
    • References


ProductRelease
SAS/OR13.2
Type
Usage and Reference
Copyright Date
August 2014
Last Updated
05Aug2014