What’s New in SAS/OR 14.1


Discrete-Event Simulation Updates

SAS Simulation Studio 14.1, which provides a graphical environment for building and working with discrete-event simulation models, makes four major improvements:

  • Three blocks have added new controls on the order in which dynamically created data input or output ports (or both) execute during the run of a model. Correct ordering of port execution can be critical to ensuring that your model functions properly. In previous releases, only the Formula block provided this feature, and the dynamic ports on other blocks executed in the order in which they were created. In SAS Simulation Studio 14.1, the Modifier, Extractor, and Gate blocks also include buttons, labeled Move Up and Move Down, that enable you to increase or decrease, respectively, the priority of any dynamic port in the order of execution.

  • Centralized controls on the ranking of blocks in a model enable you to determine the order of execution for events that are scheduled for the same simulation clock time. These controls are similar in nature to the controls for port execution order, but on a larger scale. The model-wide Block Ranking dialog box enables you to specify tie-breaking priority rules to determine which block’s events execute first. You open this dialog box by right-clicking the name of a model and selecting Block Ranking. The Block Ranking dialog box displays in a hierarchical check-box tree all blocks that have an adjustable rank in the selected model. A horizontal bar represents the current rank for each such block. Selecting the check box for a block enables you to drag its bar to adjust its rank. A longer horizontal bar corresponds to a higher rank. All ranks correspond to specific numeric values (and can also be specified numerically), but the rank values are evaluated only relatively for practical purposes. For example, if the rank of block A is higher than the rank of block B, the precise values involved are irrelevant; if block A and block B have events scheduled for the same simulation clock time, then the block A event will execute first.

  • Controls on the allocation of resource units among resource entities have been expanded and improved. The Resource Scheduler block dialog box adds the Adjust Units By field, enabling you to choose the policy that is used to increase or decrease the units of resource entities when there is a scheduled adjustment. You can choose from among the following allocation policies:

    • FairIntegerBased: Any adjustments to the units of a resource entity are made on an integer basis, and any fractional resource units are ignored. If resource units increase or decrease, then those units are distributed integrally and as evenly as possible among all potential resource entities. This is the new default allocation policy.

    • IntegerBased: For a scheduled decrease in resource units, the units of the first targeted resource entity are integrally decreased as much as possible. If necessary, other resource entities are targeted if the first entity does not have enough units to cover the scheduled decrease. For an increase in resource units, this policy is the same as the FairIntegerBased policy.

    • FractionBased: For a scheduled increase in resource units, the additional units are distributed evenly among all targeted resource entities, potentially resulting in fractional units for some resource entities. For a scheduled decrease in resource units, the behavior is the same as for the IntegerBased policy, except that fractional units are also included. This was the default allocation policy in releases prior to SAS Simulation Studio 14.1.

  • The SAS server on the local PC on which SAS Simulation Studio is installed is automatically launched on an as-needed basis. In previous releases, you were required to launch the local SAS server before reading a SAS data set, writing simulated data to a SAS data set, or running a SAS program. This enhancement ensures that the local SAS server will be available whenever it is required. However, if you specify that any block in your model should use a remote SAS workspace server, you are still required to start that server by using the Remote SAS Workspace Server Login dialog box, which appears during model execution.