What’s New in SAS/OR 9.3
Overview
SAS/OR 9.3 includes
a number of additions and improvements that enhance the performance
and capabilities of
SAS/OR software in several areas. These updates
also make it easier to work with
SAS/OR software and the solutions
that it produces. Brief descriptions are presented in the following
sections.
Highlights of Enhancements in SAS/OR 9.3
Highlights of the changes
include the following:
-
The CLP procedure’s scheduling
mode, which solves scheduling constraint satisfaction problems (CSPs),
is now production. The CLP procedure now supports the specification
of an objective function.
-
The CPM procedure adds a control
on the use of progress update information with resource-constrained
schedules.
-
The Microsoft Project conversion
macro %SASTOMSP is production.
-
The linear programming interior
point solver adds an experimental crossover option that converts the
optimal solution found to an optimal basic feasible solution.
-
The linear programming solver adds
a network simplex algorithm for problems with a dominant or embedded
network structure.
-
The nonlinear programming solver
adds an active set solution algorithm and also adds a multistart capability.
-
All optimization solvers (linear,
mixed-integer linear, quadratic, and nonlinear) add performance improvements.
-
SAS Simulation Studio adds Windows
64-bit support, closer integration with JMP, and several interface
and technical enhancements.
More information about
the changes and enhancements is provided in this chapter. Details
can be found in the relevant volumes of the
SAS/OR 9.3
User’s Guide and in the
SAS Simulation
Studio 1.6: User’s Guide.
Highlights of Enhancements in SAS/OR 9.22
Some users are moving
directly from
SAS/OR 9.2 to
SAS/OR 9.3. The following are some of
the major enhancements that were introduced in
SAS/OR 9.22:
-
You can customize the format of
the time axis on the Gantt chart.
-
You can import and convert Microsoft
Project data that has been saved in XML format.
-
The CLP procedure is now production
with the exception of the scheduling-related constraints.
-
The OPTMODEL procedure supports
named problems to enable easy manipulation of multiple subproblems.
-
The IPNLP and NLPU solvers support
new techniques for large-scale optimization.
-
SAS Simulation Studio 1.5 is a
new graphical application for discrete event simulation and is included
with
SAS/OR software.
Documentation Enhancements
The OPTMODEL family
of mathematical programming procedures constitutes a completely new
generation of optimization capabilities, distinct from and preferred
over the older
SAS/OR mathematical optimization procedures. The newer
optimization procedures access new, far more scalable optimization
solvers and use more accessible and extensible syntax than the older
procedures. Therefore,
SAS/OR users are encouraged to migrate to the
newer optimization procedures. Accordingly,
SAS/OR User's
Guide: Mathematical Programming now includes information
about the OPTMODEL family of procedures and their associated optimization
solvers. Information about the older procedures and solvers is still
available in
SAS/OR User's Guide: Mathematical Programming
Legacy Procedures.
The CLP Procedure
The CLP procedure is
a finite-domain constraint programming solver for solving constraint
satisfaction problems (CSPs) with linear, logical, global, and scheduling
constraints. The CLP procedure, including the scheduling constraints,
is production in
SAS/OR 9.3.
PROC CLP has the following
enhancements:
-
enhancements for specifying an
objective function:
-
The _TYPE_ variable values MAX
and MIN can be used to specify an objective in the Constraint input
data set.
-
The experimental OBJ statement
enables you to set upper (UB= option) and lower (LB= option) bounds
on the value of an objective function that is specified in the Constraint
data set. If upper and lower bounds for the objective value are not
specified, the CLP procedure tries to derive bounds from the domains
of the variables that appear in the objective function.
-
You can also use the OBJ statement
to specify the tolerance (TOL= option) used for finding a locally
optimal objective value.
-
expanded variable and activity
selection strategy options:
-
The ACTSELECT= option in the SCHEDULE
statement adds the PRIORITY value, which specifies that activities
of highest priority should be selected to break ties between activities
with identical start times.
-
The experimental EVALACTSEL option
in the SCHEDULE statement evaluates all of the possible activity selection
strategies by attempting to find a solution with each.
-
The experimental EVALVARSEL option
in the PROC CLP statement evaluates all of the possible variable selection
strategies by attempting to find a solution with each.
-
The new macro variables _ORCLPEAS_
and _ORCLPEVS_ record the results of the evaluations requested by
the EVALACTSEL and EVALVARSEL options, respectively.
The CPM Procedure
The CPM procedure performs
project and resource scheduling and can be used for planning, controlling,
and monitoring a project. For
SAS/OR 9.3, PROC CPM adds the experimental
SETFINISH= option, which enables progress update information to override
resource considerations when determining the resource-constrained
finish times of activities. Specifying SETFINISH=EARLY gives priority
to progress update information, and the default value SETFINISH=MAX
sets the resource-constrained finish times to ensure that all resources
assigned to an activity complete their work as originally scheduled.
Microsoft Project Conversion Macros
The %SASTOMSP macro
is production. This macro converts data sets that are used by the
CPM and PM procedures into an MDB file that is readable by Microsoft
Project 2000, 2002, and 2003. The macro converts information that
is common to PROC CPM, PROC PM, and Microsoft Project; this information
includes hierarchical relationships, precedence relationships, time
constraints, resource availabilities, resource requirements, project
calendars, resource calendars, task calendars, holiday information,
and work- shift information. In addition, the early and late schedules,
the actual start and finish times, the resource-constrained schedule,
and the baseline schedule are also extracted and stored as start-finish
variables.
Execution of the %MSPTOSAS
and %SASTOMSP macros requires
SAS/ACCESS® software.
The OPTLP Procedure
The OPTLP procedure
solves linear programming problems with solvers that have been improved
and augmented for
SAS/OR 9.3:
-
A network simplex algorithm has
been added to solve linear programming problems that have a significant
network structure embedded within them. This solver operates by first
identifying and extracting the largest possible network structure
within the problem. It finds an optimal solution to the network problem
and then uses this solution as the core of an advanced initial solution
for the entire problem, which is solved with the primal or dual simplex
solver. As with other linear programming solvers, the network simplex
solver is specified using the SOLVER=NS option. The new SOLVER2= option,
used only when SOLVER=NS, is used to specify the solver to be used
for solving the overall problem after the network problem has been
solved.
-
For the interior point solver,
the experimental CROSSOVER= option specifies that a solution found
by the interior point solver should be converted to a basic feasible
solution such as would be found by a primal or dual simplex solver.
In many cases a basic feasible solution is more practically useful
than the type of solution typically identified by an interior point
solver. CROSSOVER=ON activates the crossover algorithm, which by default
(CROSSOVER=OFF) is not used.
These new features are
also accessible from the OPTMODEL procedure.
The OPTMODEL Procedure
The OPTMODEL procedure
provides a modeling syntax designed specifically for building and
working with optimization models including linear, mixed-integer,
quadratic, and general nonlinear optimization.
In
SAS/OR 9.3, PROC
OPTMODEL adds features that give you greater control over the disposition
of models and solutions:
-
The CREATE DATA statement adds
options that enable you to control the formatting, length, and labeling
of output data set variables that are created from an optimization
model or its solution.
-
The SAVE MPS and SAVE QPS statements
en able you to specify an objective function that determines which
objective among several alternatives is saved as the problem objective
in the MPS or QPS data set.
SAS/OR 9.3 delivers
very significant upgrades for nonlinear optimization:
-
A new experimental active-set solver
is available and is recommended for both small- and large-scale problems.
The active-set solver is often the preferred solver if the problem
being addressed contains only bound constraints, and it can also deliver
superior performance for other classes of problems.
-
The new multistart method considers
multiple starting points for the optimization process. This approach
is useful for nonlinear optimization problems that might have many
locally opt mal solutions, which is common if either or both of the
objective and constraint functions are non-convex. In such a case,
one of the locally optimal solutions is also the globally optimal
solution; with the multistart algorithm, the nonlinear optimization
solver starts at several different initial points and then reports
back the best among the multiple locally optimal solutions that it
has found. In the first phase of the multistart algorithm, the feasible
region of the optimization problem is explored and candidate starting
points are determined so as to be most likely to produce good locally
optimal solutions. In the second phase, a subset of the candidates
is selected (according to criteria designed to produce better and
distinct locally optimal solutions) and used as starting points for
the nonlinear optimization solver. Two options can be used to control
these phases: the MSBNDRANGE= option limits the initial exploration
of the feasible region and is especially useful with unbounded problems,
and the MSNUMSTARTS= option specifies the number of starting points
to be used. After the multistart algorithm has concluded, the solution
with the best objective function is reported. The .msinit suffix can
be used to produce the values of the decision variables at the starting
point that ultimately lead to the discovery of this solution.
SAS Simulation Studio 1.6
SAS Simulation Studio
is a graphical application that enables you to build, run, and analyze
discrete event simulation models. Application areas include retail,
customer service, health care, transportation, and many other industries.
The graphical user interface of SAS Simulation Studio provides extensive
modeling tools suitable for both novice and advanced simulation users.
In
SAS/OR 9.3, SAS Simulation
Studio 1.6 provides the following enhancements:
-
support for the 64-bit Windows
platform along with the 32-bit Windows platform support it has always
offered
-
improved features and usability:
-
a new set of icons for all blocks
-
new graphics technology for graphical
display blocks (bar charts, scatter plots, histograms, and so on)
-
cut-and-paste capabilities to aid
in replicating sections of models
-
a new Snapshot feature that provides
a scaled-down view of the entire model, which can be used to navigate
to sections of interest in larger models that extend beyond the boundaries
of one monitor screen
-
enhanced ability to work with data
and generate samples from probability distributions. You can now sample
from nonhomogeneous Poisson processes and empirical distributions
(discrete and continuous). Integration with JMP
® distribution-fitting
capabilities is tighter than in previous releases: you can now select
a candidate fitted distribution from JMP software and with one click
transmit the distribution and parameter settings back to the appropriate
Numeric Source block in SAS Simulation Studio.
-
-
The Observation Source block enables
you to sample an entire observation from a source data set in a single
step; this is useful when many variables from the same data set are
used in a simulation model.
-
The Dataset Writer block, when
signaled to do so, saves data collected during a simulation model
run to a specified location.
-
The Dataset Holder block also receives
data collected during a simulation model run but makes the data available
for queries during the same run.
-
The Stopper block enables you to
create a signal that immediately stops a simulation model run and
can also trigger the saving of key simulation data near or at the
end of the simulation model run.
-
The Stat Collector block enables
you to collect time-persistent statistics and values.
-
access to SAS software (to run
SAS programs during or after a simulation model run) not only on the
local PC but also on a remote SAS server
Copyright © SAS Institute Inc. All rights reserved.