Contents
About
Acknowledgments
Credits
Documentation
Software
Support Groups
Acknowledgments
What’s New in SAS/OR 12.1, 12.2, and 12.3
Overview
Highlights of Enhancements in SAS/OR 12.3
Highlights of Enhancements in SAS/OR 12.1
The CLP Procedure
The DTREE, GANTT, and NETDRAW Procedures
Supporting Technologies for Optimization
PROC OPTMODEL: Nonlinear Optimization
Linear Optimization with PROC OPTMODEL and PROC OPTLP
Mixed Integer Linear Optimization with PROC OPTMODEL and PROC OPTMILP
The Decomposition Algorithm
Setting the Cutting Plane Strategy
Conflict Search
PROC OPTMILP: Option Tuning
PROC OPTMODEL: The SUBMIT Block
Network Optimization with PROC OPTNET
SAS Simulation Studio 12.1
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
Important Information Regarding the Legacy Procedures
Migrating from the Legacy Procedures
Overview
Linear Programming Problems
PROC LP
PROC INTPOINT
Mixed Integer Linear Programming Problems
PROC LP
Network Problems
PROC NETFLOW
Nonlinear Problems
The NLP Procedure
Model Building
The LP Procedure
The NETFLOW Procedure
Matrix Generation
Exploiting Model Structure
Report Writing
The DATA Step
Other Reporting Procedures
The INTPOINT Procedure
Overview: INTPOINT Procedure
Mathematical Description of NPSC
Mathematical Description of LP
The Interior Point Algorithm
Network Models
Introduction
Getting Started: NPSC Problems
Getting Started: LP Problems
Typical PROC INTPOINT Run
Syntax: INTPOINT Procedure
Functional Summary
Dictionary of Options
PROC INTPOINT Statement
CAPACITY Statement
COEF Statement
COLUMN Statement
COST Statement
DEMAND Statement
HEADNODE Statement
ID Statement
LO Statement
NAME Statement
NODE Statement
QUIT Statement
RHS Statement
ROW Statement
RUN Statement
SUPDEM Statement
SUPPLY Statement
TAILNODE Statement
TYPE Statement
VAR Statement
Details: INTPOINT Procedure
Input Data Sets
Output Data Sets
Converting Any PROC INTPOINT Format to an MPS-Format SAS Data Set
Case Sensitivity
Loop Arcs
Multiple Arcs
Flow and Value Bounds
Tightening Bounds and Side Constraints
Reasons for Infeasibility
Missing S Supply and Missing D Demand Values
Balancing Total Supply and Total Demand
How to Make the Data Read of PROC INTPOINT More Efficient
Stopping Criteria
Examples: INTPOINT Procedure
Production, Inventory, Distribution Problem
Altering Arc Data
Adding Side Constraints
Using Constraints and More Alteration to Arc Data
Nonarc Variables in the Side Constraints
Solving an LP Problem with Data in MPS Format
Converting to an MPS-Format SAS Data Set
Migration to OPTMODEL: Production, Inventory, Distribution
References
The LP Procedure
Overview: LP Procedure
Getting Started: LP Procedure
An Introductory Example
An Integer Programming Example
An MPS Format to Sparse Format Conversion Example
Syntax: LP Procedure
Functional Summary
Dictionary of Options
PROC LP Statement
COEF Statement
COL Statement
ID Statement
IPIVOT Statement
PIVOT Statement
PRINT Statement
QUIT Statement
RANGE Statement
RESET Statement
RHS Statement
RHSSEN Statement
ROW Statement
RUN Statement
SHOW Statement
TYPE Statement
VAR Statement
Details: LP Procedure
Missing Values
Dense Data Input Format
Sparse Data Input Format
Converting Any PROC LP Format to an MPS-Format SAS Data Set
Converting Standard MPS Format to Sparse Format
The Reduced Costs, Dual Activities, and Current Tableau
Macro Variable _ORLP_
Pricing
Scaling
Preprocessing
Integer Programming
Sensitivity Analysis
Range Analysis
Parametric Programming
Interactive Facilities
Memory Management
Output Data Sets
Input Data Sets
Displayed Output
ODS Table and Variable Names
Memory Limit
Examples: LP Procedure
An Oil Blending Problem
A Sparse View of the Oil Blending Problem
Sensitivity Analysis: Changes in Objective Coefficients
Additional Sensitivity Analysis
Price Parametric Programming for the Oil Blending Problem
Special Ordered Sets and the Oil Blending Problem
Goal-Programming a Product Mix Problem
A Simple Integer Program
An Infeasible Problem
Restarting an Integer Program
Alternative Search of the Branch-and-Bound Tree
An Assignment Problem
A Scheduling Problem
A Multicommodity Transshipment Problem with Fixed Charges
Converting to an MPS-Format SAS Data Set
Migration to OPTMODEL: Assignment
Migration to OPTMODEL: Multicommodity Transshipment
References
The NETFLOW Procedure
Overview: NETFLOW Procedure
Introduction
Network Models
Side Constraints
Advantages of Network Models over LP Models
Mathematical Description of NPSC
Flow Conservation Constraints
Nonarc Variables
Warm Starts
Getting Started: NETFLOW Procedure
Introductory Example
Syntax: NETFLOW Procedure
Functional Summary
Dictionary of Options
Interactivity
PROC NETFLOW Statement
CAPACITY Statement
COEF Statement
COLUMN Statement
CONOPT Statement
COST Statement
DEMAND Statement
HEADNODE Statement
ID Statement
LO Statement
MULT Statement
NAME Statement
NODE Statement
PIVOT Statement
PRINT Statement
QUIT Statement
RESET Statement
RHS Statement
ROW Statement
RUN Statement
SAVE Statement
SHOW Statement
SUPDEM Statement
SUPPLY Statement
TAILNODE Statement
TYPE Statement
VAR Statement
Details: NETFLOW Procedure
Input Data Sets
Output Data Sets
Converting Any PROC NETFLOW Format to an MPS-Format SAS Data Set
Case Sensitivity
Loop Arcs
Multiple Arcs
Pricing Strategies
Dual Variables, Reduced Costs, and Status
The Working Basis Matrix
Flow and Value Bounds
Tightening Bounds and Side Constraints
Reasons for Infeasibility
Missing S Supply and Missing D Demand Values
Balancing Total Supply and Total Demand
Warm Starts
How to Make the Data Read of PROC NETFLOW More Efficient
Macro Variable _ORNETFL
Memory Limit
The Interior Point Algorithm: NETFLOW Procedure
Introduction
Network Models: Interior Point Algorithm
Linear Programming Models: Interior Point Algorithm
Generalized Networks: NETFLOW Procedure
What Is a Generalized Network?
How to Specify Data for Arc Multipliers
Using the New EXCESS= Option in Pure Networks: NETFLOW Procedure
Handling Excess Supply or Demand
Handling Missing Supply and Demand Simultaneously
Maximum Flow Problems
Handling Supply and Demand Ranges
Using the New EXCESS= Option in Generalized Networks: NETFLOW Procedure
Total Supply and Total Demand: How Generalized Networks Differ from Pure Networks
The EXCESS=SUPPLY Option
The EXCESS=DEMAND Option
Examples: NETFLOW Procedure
Shortest Path Problem
Minimum Cost Flow Problem
Using a Warm Start
Production, Inventory, Distribution Problem
Using an Unconstrained Solution Warm Start
Adding Side Constraints, Using a Warm Start
Using a Constrained Solution Warm Start
Nonarc Variables in the Side Constraints
Pure Networks: Using the EXCESS= Option
Maximum Flow Problem
Generalized Networks: Using the EXCESS= Option
Generalized Networks: Maximum Flow Problem
Machine Loading Problem
Generalized Networks: Distribution Problem
Converting to an MPS-Format SAS Data Set
Migration to OPTMODEL: Generalized Networks
Migration to OPTMODEL: Maximum Flow
Migration to OPTMODEL: Production, Inventory, Distribution
Migration to OPTMODEL: Shortest Path
References
The NLP Procedure
Overview: NLP Procedure
Getting Started: NLP Procedure
Introductory Examples
Syntax: NLP Procedure
Functional Summary
Dictionary of Options
PROC NLP Statement
ARRAY Statement
BOUNDS Statement
BY Statement
CRPJAC Statement
DECVAR Statement
GRADIENT Statement
HESSIAN Statement
INCLUDE Statement
JACNLC Statement
JACOBIAN Statement
LABEL Statement
LINCON Statement
MATRIX Statement
MIN, MAX, and LSQ Statements
MINQUAD and MAXQUAD Statements
NLINCON Statement
PROFILE Statement
Program Statements
Details: NLP Procedure
Criteria for Optimality
Optimization Algorithms
Finite-Difference Approximations of Derivatives
Hessian and CRP Jacobian Scaling
Testing the Gradient Specification
Termination Criteria
Active Set Methods
Feasible Starting Point
Line-Search Methods
Restricting the Step Length
Computational Problems
Covariance Matrix
Input and Output Data Sets
Displayed Output
Missing Values
Computational Resources
Memory Limit
Examples: NLP Procedure
Using the DATA= Option
Using the INQUAD= Option
Using the INEST=Option
Restarting an Optimization
Approximate Standard Errors
Maximum Likelihood Weibull Estimation
Simple Pooling Problem
Chemical Equilibrium
Minimize Total Delay in a Network
Rewriting NLP Models for PROC OPTMODEL
References
Product
Release
SAS/OR
12.3
Type
Usage and Reference
Copyright Date
July 2013
Last Updated
08Jul2013