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. The following are highlights of the new release.
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 and provides the following enhancements:
PROC CLP supports the specification of an objective function with the experimental OBJ statement. This 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
The _TYPE_ variable values MAX and MIN can be used to specify an objective in the Constraint data set
Expanded variable and activity selection strategy options:
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.
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.
The OPTLP procedure solves linear programming problems with solvers that have been augmented and improved 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 provides a modeling language designed specifically for building and working with optimization models including linear, mixed-integer, quadratic, and general nonlinear optimization.
PROC OPTMODEL offers new features that give you greater control over the disposition of models and solutions:
The CREATE DATA statement adds options (FORMAT=, LENGTH=, LABEL=) 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 add the OBJECTIVE keyword, enabling you to specify which objective among several alternatives is to be saved as the problem objective in the MPS or QPS data set.
SAS/OR 9.3 also 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 optimal 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 leads to the discovery of the best solution.
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:
Adds support for the 64-bit Windows platform along with the established 32-bit Windows platform support
Improved features and usability:
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.
New blocks:
Access to SAS software (to access SAS data sets or run SAS programs during a simulation model run) not only on the local PC but also on a remote SAS server.
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. These 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.