Chapter 3: Introduction to Optimization, contains a brief overview of the mathematical programming procedures in SAS/OR software and provides an introduction to optimization and the use of the optimization tools in the SAS System. That chapter also describes the flow of data between the procedures and how the components of the SAS System fit together.

After the introductory chapter, the next chapter describes the OPTMODEL procedure. The four subsequent chapters describe the linear programming, mixed integer linear programming, nonlinear programming, and quadratic programming solvers, which are used by the OPTMODEL procedure. The next chapter is the specification of the newly introduced MPS-format SAS data set. The last three chapters describe the new OPTLP, OPTMILP, and OPTQP procedures for solving linear programming, mixed linear programming, and quadratic programming problems, respectively. Each procedure description is self-contained; you need to be familiar with only the basic features of the SAS System and SAS terminology to use most procedures. The statements and syntax necessary to run each procedure are presented in a uniform format throughout this book.

The following list summarizes the types of information provided for each procedure:


provides a general description of what the procedure does. It outlines major capabilities of the procedure and lists all input and output data sets that are used with it.

Getting Started

illustrates simple uses of the procedure using a few short examples. It provides introductory hands-on information for the procedure.


constitutes the major reference section for the syntax of the procedure. First, the statement syntax is summarized. Next, a functional summary table lists all the statements and options in the procedure, classified by function. In addition, the online version includes a Dictionary of Options, which provides an alphabetical list of all options. Following these tables, the PROC statement is described, and then all other statements are described in alphabetical order.


describes the features of the procedure, including algorithmic details and computational methods. It also explains how the various options interact with each other. This section describes input and output data sets in greater detail, with definitions of the output variables, and explains the format of printed output, if any.


consists of examples that are designed to illustrate the use of the procedure. Each example includes a description of the problem and lists the options that are highlighted by the example. The example shows the data and the SAS statements needed, and includes the output produced. You can duplicate the examples by copying the statements and data and running the SAS program. The SAS Sample Library contains the code used to run the examples shown in this book; consult your SAS Software representative for specific information about the Sample Library.


lists references that are relevant to the chapter.