Introduction to Optimization


Overview

Operations research tools are directed toward the solution of resource management and planning problems. Models in operations research are representations of the structure of a physical object or a conceptual or business process. Using the tools of operations research involves the following:

  • defining a structural model of the system under investigation

  • collecting the data for the model

  • solving the model

  • interpreting the results

SAS/OR software is a set of procedures for exploring models of distribution networks, production systems, resource allocation problems, and scheduling problems using the tools of operations research.

The following list suggests some of the application areas in which optimization-based decision support systems have been used. In practice, models often contain elements of several applications listed here.

  • Product-mix problems find the mix of products that generates the largest return when several products compete for limited resources.

  • Blending problems find the mix of ingredients to be used in a product so that it meets minimum standards at minimum cost.

  • Time-staged problems are models whose structure repeats as a function of time. Production and inventory models are classic examples of time-staged problems. In each period, production plus inventory minus current demand equals inventory carried to the next period.

  • Scheduling problems assign people to times, places, or tasks so as to optimize people’s preferences or performance while satisfying the demands of the schedule.

  • Multiple objective problems have multiple, possibly conflicting, objectives. Typically, the objectives are prioritized and the problems are solved sequentially in a priority order.

  • Capital budgeting and project selection problems ask for the project or set of projects that yield the greatest return.

  • Location problems seek the set of locations that meets the distribution needs at minimum cost.

  • Cutting stock problems find the partition of raw material that minimizes waste and fulfills demand.

A problem is formalized with the construction of a model to represent it. These models, called mathematical programs, are represented in SAS data sets when they are to be solved using the legacy SAS/OR procedures. The solution of mathematical programs is called mathematical programming. Since mathematical programs are represented in SAS data sets, they can be saved, changed, and solved again. The legacy SAS/OR procedures also output SAS data sets that contain the solutions. These output data sets can then be used to produce customized reports. In addition, this structure enables you to build decision support systems by using operations research and other analytic tools in the SAS System as building blocks. All of these steps are even easier and solution of the mathematical programs is more efficient when you use PROC OPTMODEL and the rest of the newer SAS/OR mathematical programming procedures.

The basic optimization problem is that of minimizing or maximizing an objective function subject to constraints imposed on the variables of that function. The objective function and constraints can be linear or nonlinear; the constraints can be bound constraints, equality or inequality constraints, or integer constraints. Traditionally, optimization problems are divided into linear programming (LP; all functions and constraints are linear) and nonlinear programming (NLP).

The data that describe the model are supplied to an optimizer (such as one of the procedures described in this book), an optimizing algorithm is used to determine the optimal values for the decision variables so the objective is either maximized or minimized, the optimal values assigned to decision variables are on or between allowable bounds, and the constraints are obeyed. Determining the optimal values is the process called optimization.

This chapter describes how to use the legacy SAS/OR mathematical programming procedures to solve a wide variety of optimization problems. It describes various types of optimization problems, indicates which legacy SAS/OR procedure you can use, and demonstrates how to provide data, run the procedure, and obtain optimal solutions.

The next section broadly classifies the legacy SAS/OR procedures based on the types of mathematical programming problems they can solve.