Nothing Special   »   [go: up one dir, main page]

Simio Release Notes

Download as pdf or txt
Download as pdf or txt
You are on page 1of 65

Thank you for choosing Simio.

We expect that you will be pleased with its power,


flexibility, and ease of use. Our vision is to become the leading process Digital
Twin solution for improving the design and operation of complex systems.

We are pleased to bring you the latest update to Simio. Simio’s patented
processes provide ease of use while also allowing unprecedented flexibility
without coding. And Simio leads the industry in data representation and analysis.
Simio is unique in our ability to do design, planning, scheduling, and process
digital twins in a single application.

Many of our customers have cited Simio’s flexibility, ease-of-use, and great
support among the reasons why they have adopted Simio -- often switching so
they can do things that are difficult or impossible with other products. But we
are not resting on that success – we are continuing to make Simio easier to use
and more flexible, while leading the industry with more technology
breakthroughs.

This document describes the wealth of new features that have been recently
added. Simio is ready to take on your most demanding modeling tasks.

The desire to teach using the latest innovations and online learning, combined
with Simio’s comprehensive academic resources are moving Simio towards
becoming the most widely taught simulation package with over 800 leading
academic institutions worldwide already adopting Simio.

We are anxious to hear about your experiences. Please post your feedback in the
forums mentioned below or send it directly to me.
Thanks again for choosing Simio.

Dave Sturrock
Vice President – Products, dsturrock@simio.com
Simio Release Notes
Support

The best way to get support is to use the Simio User’s Forum found at www.simio.com/forums,
or contact us at support@simio.com using one of the links on the Support Ribbon. Sign up on the
user’s forum as a Simio Insider to get full access to find product information, a place to post
problems and questions, and the opportunity to engage in discussions with other users and the
Simio team.

You can also find Simio User’s Groups on:


LinkedIn (https://www.linkedin.com/groups/55167) and
Facebook (www.facebook.com/groups/13863832711).
Please visit our simulation community resources web page (www.simio.com/resources.html)
for additional information.

The Support Ribbon (the Support tab) of the Simio software contains shortcuts to the above,
plus much more. Don’t miss the links to our on-line documentation, training, videos,
downloads, and other helpful resources. While Simio includes comprehensive on-line help
available at the touch of “F1” or in the product, the numerous books and free video training
courses provide a great way to get started using Simio.

Unfortunately, we cannot provide support to students. We encourage students to work


through their instructors, or to reach out to the broader user community using the Simio
Insiders User Forum.

What is a Sprint?

We are following an agile methodology in which we develop in three week cycles called sprints.
At the end of each sprint we have tested, documented, distributable software including new
functionality. The following pages describe the enhancements added during each sprint. It is
not necessary that you download and install every Sprint unless you are interested in a
particular feature. But we encourage you to do so when convenient so that you are always
working with the best software, documentation and examples we can deliver. Most sprints are
posted to the Simio Insiders Downloads Topic. The public releases (discussed below) are
updated approximately twice a year.

Where to Find New Releases

The latest public software releases can be found at: www.simio.com/download. Your activation
will continue to work with new releases as long as your maintenance is current. Newer releases
are often available on the Simio Insiders forum.
Simio Release 12 – Sprint 214/215 – December 11, 2020

Welcome to Sprint 214/215! In this sprint, we added a Periodic Statistic Element, additional Skyboxes,
an additional export option for Data Tables, and Table Schemas for Elements, Objects, and Repeat
Groups. We also removed DirectX9 support from the software and added support for Sketchup 2020.
We improved our dynamic selection rule at a Routing Group element to dynamically select entity-
destination assignments. Lastly, we added the Extras Library along with SimBits and an Example to the
software.

Periodic Statistic Element


This highly requested feature allows users to collect periodic statistics on an Output Statistic, a State
Statistic, or a Tally Statistic. This Periodic Statistic allows users to specify the Period Length as well as the
Number Of Periods as well as if the period repeats. Users with Professional or RPS Edition software will
also have access to three new logs associated with the new Periodic Statistic element: Periodic Output
Statistic Log, Periodic State Statistic Log, and Periodic Tally Statistic Log.

Extras Library: Library and SimBits Installed with Simio


The Extras Library, previously available on the Simio User Forum, is now installed automatically and can
be found in the Examples folder, typically in the following directory:
C:\Users\Public\Documents\Simio\Examples\ExtrasLibrary. The Extras Library currently includes 8 pre-
built object definitions that can be used to model material handling systems. Two objects, the Bay and
the Crane, were designed for modelling multiple cranes operating simultaneously in a bay. Three
objects, the Elevator, the ElevatorNode, and the ElevatorSelectorNode, were designed for modelling
elevators. Two objects, the LiftTruck and the Rack, were designed for modelling entity storage and
retrieval. Finally, the Robot object was designed for modelling entity movement between locations via a
revolute robot. A new example and several new SimBits were added to provide examples and use cases
for these objects.

New SimBit – Periodic Statistics


This SimBit includes three models which show how to collect hourly statistics for entity time in system,
resource state over three-shift days, and daily average Scheduled Utilization over a week. These SimBits
utilize the Periodic Statistic Element which allows users to collect periodic statistics on an Output
Statistic, a State Statistic, or a Tally Statistic.
New Example – Engine Repair Using Extras Library
This model represents an engine repair line. Engines requiring repairs arrive from a truck dock and are
placed in a holding area. Cranes will move these engines from station to station. The first stop is
an uncasing station that removes the engine’s outer case. The engine then moves to an inspection
station where diagnostics are run, and the parts needed for repair are recorded. After, the engine will
move into a middle holding area and then to a repair station when one is available. At
the repair station, kits with the required parts are delivered and the engine is repaired. Once repaired, if
there is room in the middle zone, the engine will move there, then to travel straight to testing, else
it will be moved into one of the empty spaces at the end of the line to wait. Repaired engines will be
tested at the test station, re-cased at the re-casing station, and then moved out for shipping at the truck
dock.

The parts needed for engine repair are pulled from containers which sit on pallet racks in the storage
area. A forklift will pick up the container off a shelf and move it to a drop off zone. In this building,
the storage facility is located on a different level. Once dropped off by a forklift, the storage container
must ride down an elevator to the lower level. From the elevator, a worker moves the container to a
conveyor system. This conveyor system moves the containers past robots which will
pick up the needed parts out of the container and then place the part in a small kit bin. At the end of the
container conveyor, new parts are added back into the storage container and sent up to the upper level
on another elevator where they are then returned to the shelf by a forklift. At the end of the kit
conveyor, a worker will deliver the kits to the engine repair stations.

Added Table Schemas for Elements, Objects, and Repeat Groups


This internally requested feature was added to the software to make the auto-creation of Elements,
Objects, and Repeat Groups easier. These schemas can be added into a model by selecting “Add Data
Table From Schema” and then by checking the schemas you want to create.
DirectX 9 Support Removed from Simio
This user requested feature was implemented in order to stay up to date with security measures and
any users that have previously chosen DirectX 9 in the past will now use DirectX 11 starting in Sprint
214.

Sketchup 2020 Support


We have updated our Sketchup import to support Sketchup 2020.

Added Additional Skyboxes


We have added five new Skybox graphics: Airport, CleanMFGFacility, Hospital, MFGPlant, and
Warehouse. Skyboxes can be used to make a better-looking model horizon – these are useful not only
for outdoor applications, but also indoor applications (e.g., for showing walls of a building).

Added Additional Export Option for Data Tables: Export at Experiment Replication End – RPS Only
This customer requested feature allows data to be exported at the end of each Experiment replication
run.

Simio Partner Edition


Authorized Simio partners will see new features available in this release.

Improved Dynamic Selection Rule at a Routing Group


This feature allows a new dynamic selection rule algorithm implemented by a routing group will execute
as follows:
• Choose the best entity-node assignment from all possible entity-node pairs using the dynamic
selection rule priority.
• The tiebreaker between entity-node assignments with equal dynamic selection rule priority is
the route request queue rank.
• The secondary tiebreaker between entity-node assignments with equal dynamic selection rule
priority that involve the same entity is the node selection priority as determined by the Selection
Goal property on the Route step or TransferNode object.

Note: If loading a model saved in Sprint 214 or earlier, the Allow Cross-Node Comparisons When Using
Routing Group Dynamic Selection Rules advanced compatibility bit will need to be set to ‘True’ to use
the modelling approaches illustrated above.
Simio Release 12 – Sprint 213 – October 13, 2020

Welcome to Sprint 213! In this sprint, we enhanced file merging, Controls, and Experiments.

Improved File Merging – Opt-out of Signing Files – Professional and RPS Only
This user-requested feature allows users to opt-out of signing files when they save them via the Sign
Files property on the project. This feature was designed to improve multi-author file merging under
source control/simproj scenarios. Signing files is recommended, as it allows certain lower editions of
Simio to open files. However, for multi-author scenarios, where multiple users are working on the same
Simio project (via source control around a simproj format), setting Sign Files to ‘False’ will help avoid
conflicts around file merging.

Control Value Enhancements – Ability to Update all Properties’ Default Value to Match the Current
Control Value
This user-requested feature allows users to save all current Control values to become the Default Value
of the properties they correspond with. This can be done by right clicking in the Controls area and
selecting “Save All Current Values As Default”.

Experiment Enhancements – Ability to Copy the Model’s Control Values to this Scenario
This user-requested feature allows for Scenarios within an Experiment to have its Controls set by what
the current values of the Controls in the model are instead of the Default Values of these Controls. This
right click on the desired Scenario reduces the need for manually typing in Control values that match the
values that were last used in Interactive Mode.
Simio Release 12 – Sprint 212 – September 22, 2020

Welcome to Sprint 212! In this sprint, we added an additional Data Connector Importer and Exporter.

Web API Data Connector Importer


This feature was requested by customers and consultants to import data from various HTTP endpoints,
mostly web APIs. This data is generally returned in either JSON or XML format and this feature allows
that data to be put into our Tables.

Web API Data Connector Exporter – RPS Only


This feature was requested by customers and consultants to export data to various HTTP endpoints,
mostly web APIs. This data is generally assumed to be exported in a row-cetric format, that is, one HTTP
call per row of data to export.
Simio Release 12 – Sprint 211 – September 1, 2020

Welcome to Sprint 211! In this sprint, we enhanced our Constraint Logic element, our Documentation
Report, and the Experiment logic. Additionally, Simio now supports additional types of file imports. We
finished up this Sprint with improved functionality on a bound table and the ability to reorder
Dashboards and Table Reports.

Ability to Reorder the Order that Dashboards and Table Reports Appear
This feature was implemented to provide a way to define the order that Dashboard and Table Reports
appear in the dropdown.

Constraint Logic Enhancement – Constraint Scope


This feature was designed to improve the speed of the Constraint Logic element. The Constraint Scope
property determines the scope of the constraint when it is applied to a request. This feature allows
users to specify if the constraint will be checked at most once, ‘Request’, or if the constraint will be
checked for each destination, ‘RequestedItem’.

Experiment Enhancements
This feature was designed to improve the speed of Experiment runs. The Concurrent Replication Limit
default of ‘0’ will be set to physical cores when running locally.

Documentation Report Enhancements


This customer requested feature was designed to provide more information in the Documentation
Report. This enhancement now allows the Description of a Table to appear in the Documentation
Report.
Ability to Add and Remove Columns and Set Primary Key on a Bound Table
This feature was implemented to allow users to add and remove property columns and set a property
column as a Column Key while the table is bound. Prior to Sprint 211, users would have had to unbind
the table, make changes, and then rebind.

Constraint Logic Enhancement – Provide Option that will Allow Switch Resource if Possible to Happen
Before Constraint Logic Elements in the Simio Event Calendar
There is a new compatibility bit “Schedule Constraint Logic Related Queue Checks As Latest Current
Events”. Default value of this setting is ‘False’ for models built prior Sprint 12.211, ‘True’ for new models
built in Sprint 12.211+. When set to ‘True’, Simio will schedule constraint logic related queue checks as
latest priority current events, thereby allowing queue checks scheduled for any other reason to happen
first.

Ability to Import Additional File Types – STEP Files and glTF Files
This user requested feature was implemented to allow for Step and glTF files to be imported in Simio.
The new supported file extensions are as follows:
• STEP - .ifc, .ifczip, .stp
• glTF - .gltf, .glb
Simio Release 12 – Sprint 210 – August 11, 2020

Welcome to Sprint 210! In this sprint, we enhanced our CSV and Excel Data Connectors and we
enhanced our Constraint checking.

Enhanced CSV and Excel Data Connectors


This customer requested feature allows for the Import Folder property of the CSV Importer and the File
Name property to be set via the File Explorer. This feature eliminates the need to manually type in the
path needed to reach a file and replaces it with the ability to click through a file explorer to do so.

Enhanced Constraint Checking


This feature was implemented to provide a more complete ConstraintLogic element modelling
approach. Exhaustive Constraint Checking, a property located in a model's Advanced Options Property
Pane, provides the option to check Constraint Logic elements after any relevant state change in the
system. Setting this property to 'True' will provide the most accurate detail in Trace and the Constraint
Log but may result in longer run times. Setting this property to 'False' will stop the checking when a
Constraint is met.
Simio Release 12 – Sprint 209 – July 21, 2020

Welcome to Sprint 209! In this sprint, we have enhanced our Documentation Report, enhanced our
Active Binding Importation/Exportation, updated our Property Grid, and added another Constraint Type
to the Constraint Logic Element. We finished up this Sprint by updating some of our scheduling
examples and adding a new String.FromList function.

Documentation Report Enhancements


This customer requested feature was designed to provide more information in the Documentation
Report. This enhancement now allows the Description of an Object or Element to appear in the
Documentation Report.

Property Grid Enhancements


This update was implemented to keep our software as current as possible. This feature allows for the
Property Grid to be searched by property (i.e. Processing Time) by right clicking in the Property Grid and
then selecting “Show Find”.

Active Import and Export Binding Dropdowns on Planning Tab – RPS Only
This feature allows users to set the Active Import Binding and Active Export Binding on the Planning Tab.
Prior to Sprint 209, the Active Bindings for the Planning Tab were set on the Data Tab.

Constraint Logic Element: Constraint Type ‘Condition Expression’


This feature was designed so users can enforce additional constraint conditions on an applicable process
step. For example, a resource cannot be seized at a Seize step or a destination node assigned at a Route
step unless the requested item is available plus the additional constraint logic satisfied.  This feature is
an expansion on the Constraint Logic Element: Constraint Type ‘Material Availability’ from Sprint 203
and the Constraint Logic Element: Constraint Type ‘Resource Availability’ from Sprint 206.

By default, a ‘Condition Expression’ constraint will be automatically checked whenever the Constraint
Logic is checked for the related queue item waiting in the resource’s Allocation Queue or Routing
Group’s Route Request Queue. The Condition Expression is evaluated in the context of the constrained
entity execute the Seize or Route.

To perform additional monitoring of the constraint, you can use the Monitoring Event Name property to
trigger checks of the Condition Expression whenever the specified event occurs. If it is determined by
one of those extra checks that the condition result has changed from false to true, then that will in turn
automatically trigger a new check of the queue containing the related queue item.

For any constraint defined using a Constraint Logic element, customized values can be written to the
Constraint Type, Constraint Item, and Constraint Description fields of the constraint’s record in the
Constraint Log (and thus displayed in the constraint’s tool-tip text in the Gantt).

Updated Scheduling Examples and Templates


The ISA95 templates and SchedulingDiscretePartProduction example have been updated to include:
• Expected Operation Time of SchedServer and Sequence Expected Operation Time of
SchedTransferNode fixed for use with various sequence-based scheduling rules
• Consume/Produce processing steps within SchedServer times reduced to .1 hour for
demonstration of feature, Quantity simplified using Skip Requirement If for those
processing tasks (Note: Quantity change also made to MaterialAvailability
ConstraintLogic element)
• Default Entity Initial Desired Speed set to ‘Infinity’ for movement between objects
• Dynamic Label Text added for graphics for DefaultEntity and SchedWorkers
• Moved ‘ObjectType’ column in Resources table closer to ResourceName/Description
The SchedulingLaborEfficiencies example has most of the above changes, as well as:
• New ConditionExpression type constraints for both WIPDestinations and
ValidDestinations have been replaced SchedTransferNode Selection Condition. These
also include enhanced logging.
• LaborConstraint type ConstraintLogic elements contain enhanced constraint logging.
We will be making similar updates to the other Scheduling examples and templates over the next
several sprints.

String.FromList Function
This customer requested feature returns the string representation of a specified integer constant in the
specified string list. For example, if you have defined the following string list which contains entries
“Green” = 0, “Red” = 1, and “Blue” = 2, then ‘String.FromList(StringListName, 2)’ will return ‘Blue’.
Simio Release 12 – Sprint 208 – June 30, 2020

Welcome to Sprint 208! In this sprint, we have enhanced our Travel step, added the ability to set Link
properties as a Reference Property, and implemented a feature that allows table row references that
are set on a Token to be referenced in Queue Ranking Expressions. We also added additional
exportation options for Tables and Logs.

Travel Step Enhancement – Zero-Time Free Space Travel


This academic feature request was designed to provide an option for zero-time transfer without a
Connector. Prior to Sprint 208, the Initial Desired Speed of an Entity could not be set to ‘Infinity’ but now
with this feature implementation it is possible to have instantaneous travel with the Travel step.

Ability to Set a Link’s Type, Drawn To Scale, and Logical Length as a Reference Property
This feature was requested by multiple Simio users and allows for additional Link properties (Type,
Drawn To Scale, and Logical Length) to be set as a Reference Property. This also allows for these
properties to be set via a Data Table and altered with in an Experiment.

Ability to Export All Tables or All Logs – RPS Only


This feature provides an additional option for exporting Tables and Logs within Simio. Prior to Sprint
208, if a user wanted to export all the Tables or Logs at once, they had to do both simultaneously. This
feature provides additional options to export all Tables or all Logs individually.

Allow Token-Based Table Row References in Queue Ranking Expressions


This feature allows for table row references that are set on a Token to be referenced in the Ranking
Expression property of a resource or the Allocation Ranking Expression of Material or Inventory
elements. This enhancement was implemented to allow behaviors such as ranking by demand priority in
an Allocation Queue or ranking requests to seize a resource by processing task priority in Task
Sequences.

Note: If loading a model saved in Sprint 207 or earlier, the Allow Token-Based Table Row References In
Queue Ranking Expression advanced compatibility bit will need to be set to ‘True’ to use the modeling
approaches illustrated above.
Simio Release 12 – Sprint 207 – June 9, 2020

Welcome to Sprint 207! In this sprint, we have added two new functions as well as enhanced two of our
functions that deal with randomness.

RandomRow/RandomValue Enhancements
This academic request was implemented to provide the ability to better control randomness at different
stages of a model. Both RandomRow and RandomValue functions now support an optional stream
argument.

Syntax like ‘TableName.ColumnName.RandomRow(2)’ or ‘TableName.ColumnName.RandomValue(2)’


will specify random number stream 2.
Note: Using ‘TableName.ColumnName.RandomRow’ or ‘TableName.ColumnName.RandomValue’ will
continue to use the default random number stream 0.

ColumnForName Function
This feature was designed to provide a simpler way to reference characteristics of a data table.
ColumnForName returns the 1-based index of the table column that is the specified property name. For
example, syntax like
‘PressValidResources[PressValidResources.MaterialName.RowForKey(Materials.MaterialName),
PressValidResources.ColumnForName(Candidate.Node.AssociatedObject.Name)]’ to lookup in
‘PressValidResources’ table the value in the row containing the key value ‘Materials.MaterialName’ and
the column named ‘Candidate.Node.AssociatedObject.Name’.

String.IndexOf Function
This customer requested feature allows Simio users to find the character position where a string occurs
within a string. String.IndexOf(string, substring) returns the one-based index of the first occurrence of a
specified substring within the string.
Simio Release 12 – Sprint 206 – May 19, 2020

Welcome to Sprint 206! In this sprint, we added another Constraint Type to the Constraint Logic
Element. There were also enhancements made to our Entity Workflow Gantt.

Entity Workflow Gantt Enhancement – Place Associated Constraints Under Owner Row – RPS Only
This internally requested feature was added to have Constraints associated with a specific Entity placed
in a row below the owner Entity. Prior to Sprint 206, all Constraints would be placed in one row at the
bottom of the high-level Entity. This feature allows users to see both the Owner Row and Constraint
simultaneously without having to scroll through the Entity Workflow Gantt.

Note: The following three conditions must be true for this to happen:
• The Constraint Log and Resource Usage Log both have expressions with the same name
• The Resource Usage Log expression is marked as “Show in Drop Down”
• The Resource Usage Log expression is currently selected as the “Owner Row”

Constraint Logic Element: Constraint Type ‘Resource Availability’


This feature was designed so users can enforce additional resource availability constraints on a Seize
and/or Route Request. This feature also allows users to track unsatisfied resource availability constraints
in the Constraint Log. This feature is an expansion on the Constraint Logic Element: Constraint Type
‘Material Availability’ from Sprint 203.

If the Constraint Type is ‘Resource Availability’, then that resource requirement will be automatically
reserved using the specified selection goal when a resource is successfully seized (Seize step) or when
the Entity is successfully assigned a Destination Node (Route step). This is done to ensure that other
seize or route requests waiting for the same resources do not violate any resource availability
constraints.
Simio Release 12 – Sprint 205 – April 29, 2020

Welcome to our release of Simio 12! In this sprint, we added a new Flow SimBit, added the ability to edit
an existing federated data source in Dashboards, added an enhancement to the Changeover Logic
element, and added the ability to add a Data Connector from the Create Binding dropdown.

Ability to Add a Data Connector from Create Binding


This feature was added to give users more flexibility on the way they create a Data Connector, both
Importers and Exporters.

After selecting the Data Connector, the user will be able to set up the Default Configuration in a pop-up
property window and then the Data Table properties can be set up either via the Data Table itself or by
the Data Connector View.

Ability to Edit an Existing Federated Data Source in Dashboards


This feature request came from a customer that wanted to edit a federated data source once it already
existed in a Dashboard. Previously, it was not possible to edit these data sources once they existed. A
new Edit button is located on the Data Source ribbon of the Dashboard window, clicking this button
allows users to edit their query.
New SimBit - TrackingTankContentsByProductTypeUsingTableStates
This model shows one way to keep track of individual quantities of flow volume within a Tank during a
simulation run. A data table comprised of a Key Column of each Entity and Level State Columns for each
Tank in the system can keep record of flow quantities by Entity Type and Tank with the use of Add-On
Process logic and Monitors.

Changeover Logic Enhancement


This customer requested feature allows for users to reference either a Resource or an Entity when
evaluating the Operation Attribute of a Setup Transition. Prior to Sprint 205, it was only possible to
reference an Entity.
Simio Release 11 – Sprint 204 – April 7, 2020

Welcome to Sprint 204! In this sprint, we have enhanced our Data Connectors, API, and model
protection capabilities. Two new export trigger options on tables were added to give users more
flexibility with data exportation. We also added the ability for Targets to be exported using an Exporter
Data Connector. The ability to set an Active Configuration in an Experiment was implemented in this
sprint. We wrapped up this sprint with the deprecation of the XML Transformation classic binding and
the conversion of the Excel classic binding to an Excel Importer Data Connector. This sprint concluded
with the addition of a new example, InfectiousDiseaseSampleModel.

New Export Trigger Options on Tables – RPS Only


Export at End of Risk Analysis Run – This new export option allows for the export of data tables at the
end of a risk analysis run. This feature was added to aid in the ability to export Targets.

Export Plan at Project Save – This new export option allows for the export of planning tables upon saving
the project. This feature was added to allow for the exportation of plan state values. These are the
values shown on the Tables view of the Planning tab. The “Export At Project Save” export option exports
the interactive state values. These are the values shown on the Tables view of the Data tab.

Export of Targets via Exporters – RPS Only


Target columns on tables now will export, just like property and state columns. This feature was added
to complete the exportation of data tables with Exporters. Note: Interactive gives two columns: Value
and Status. Planning gives four columns: Value, Status, Expected, and Within Bounds Probability.
Regardless of exporting location (interactive or planning), all four columns will be seen in the property
grid – all four of these columns have the Boolean property Enabled Export. This property can also be set
on the Data Connectors view.
Ability to Rename a Data Connector Configuration
This feature was added to allow for Configurations to be renamed after they have been created. Note: It
is not possible to rename the [Default] Configuration.

Ability to Set Active Configurations in Experiments - Importers


If an Importer Data Connector has any custom Configurations defined, that Data Connector will appear
in the Experiment design view. This allows for the Configuration to be changed with ease and for
different Scenarios to have different Configurations defined.

Enhanced Protection Capabilities for Models – Ability to Protect Profile, Trace, and Watch – RPS and
Professional Only
In Sprint 202, we provided the capability to protect specified views within a Simio model. This
enhancement was designed to provide more protection flexibility by allowing users to protect specific
windows: Profile, Trace, and Watch. This model property is set via the Project Folder in the Navigation
Pane, then the Advanced Options property group Protection.
API Enhancement - Ability to Publish Plan to Portal Without Opening Desktop Software – RPS Only
This user-requested feature was added to allow for the running and publishing of a plan to Simio Portal
without any human participation. Prior to this feature, to publish plan results to Simio Portal a user had
to open Simio and select “Publish Plan Results to Website”. This feature allows users to publish to Simio
Portal in the API.
Note: There is a new SimioServerConnector.dll available as part of the main Simio install. It and its
associated dependencies are found in the ServerConnector subdirectory of the main Simio installation
directory. The Simio Server Connector Reference Guide can be found in the main Simio installation
directory.
Deprecation of XML Transformation Classic Binding
This classic binder was deprecated due to the recent implementation of Data Connectors in Sprint 202.
These Data Connectors provide more flexibility to users while also eliminating the need for classic
bindings. Models created with classic XML bindings will still use the classic binding for binding to
external data. Models created in 204 or later can show the deprecated table bindings if the setting Show
Obsolete Table Bindings is set to ‘True’. This property is located by going to File -> Settings -> Add-ins.
Conversion of Excel Classic Binding to Excel Data Connector – Importer Only
This feature was added to complete the transition of using classic bindings to the new Data Connectors,
which was implemented in Sprint 202. This new Importer allows for the importation of Excel data to a
table via a Data Connector. Models created with classic Excel bindings will still use the classic binding for
biding to external data. Models created in 204 or later can show the deprecated table bindings if the
setting Show Obsolete Table Bindings is set to ‘True’. This property is located by going to File -> Settings
-> Add-ins.

New Example – Infectious Disease Sample Model


During the time of an infectious disease outbreak, the strain on hospital and medical care networks is
unprecedented. There is uncertainty in what demand a healthcare facility might see. In response, the
Simio team has created a model to assess the capacity of critical resources for a hospital. We hope this
model facilitates an assessment of a hospital network’s resources and provokes discussion if action
needs to be taken.

A healthcare provider’s ability to combat an infectious disease is directly impacted by their quantity of
resources available. The accessibility of beds and machines such as ventilators are crucial factors for
patients that require intensive care. Being able to anticipate the demand for these resources in a facility
is vital with repercussions linked to the mortality rate. With our model you will be able to experiment
with the number of beds, ventilators, and personal protective equipment (PPE) such as masks, gloves,
and gowns, to find the level necessary to provide care to the infected population. This model may be
useful as is or used as a starting point to customize a model to meet your specific needs.
Simio Release 11 – Sprint 203 – March 17, 2020

Welcome to Sprint 203! In this sprint, we added a new Constraint Logic element to allow users to put
material availability constraints on Seize and Route Requests. We also enhanced the Watch Window to
watch “sub-objects” of objects. The CSV and Database bindings were deprecated as a result of the Data
Connectors implementation in Sprint 202. The Wonderware Add-In was also deprecated. A new
scheduling example was added and the preexisting scheduling examples and templates were updated.
To finish up this release, we allowed Logs to be bound to an Exporter and added some enhancements to
our importation/exportation of data.

Watch Window Enhancements


This feature was created to give more insight in to an object that is being watched during a simulation
run. With this feature, it is now possible to watch “sub-objects” of objects in the Watch Window. For
example, if a custom object includes a Resource object, when the custom object is placed into the
Facility View and then watched, upon expansion of the custom object in the Watch Window, the
Resource will now appear under the custom object.

Constraint Logic Element: Constraint Type ‘Material Availability’


This feature was designed so users can enforce additional material availability constraints on a Seize and
or Route Request:
• On a TransferNode – Allows users to enforce additional material availability constraints on an
entity Route Request. The TransferNode object has a new property, Route Constraint Logic,
under the Other Routing Out Options category. This repeat group property allows for multiple
Constraint Logic elements to constrain an entity’s route.
• On a Server, Combiner, Separator, Filler, and Emptier – Allows users to enforce additional
material availability constraints on an entity that is waiting in an object’s Input Buffer and is
attempting to seize that object. This repeat group property Seize Constraint Logic is located
under each object’s Other Processing Options category and allows for multiple Constraint Logic
elements to constrain an entity’s request to seize an object.

The figure below illustrates that a resource cannot be seized, or a destination node cannot be assigned
unless that requested item is available plus the additional constraint logic is satisfied.
The Constraint Logic Element is located on the Elements view of the Definitions Tab.

Due to the creation of the Constraint Logic element, enhancements were made to both the Seize step
and the Route step. These steps now have an Advanced Property Seize Constraint Logic and Route
Constraint Logic, respectively, where a user can specify additional constraints on the request by
referencing Constraint Logic elements.

If the constraint type is MaterialAvailability, then the quantity of the material that is required will be
automatically reserved when a resource is successfully seized (Seize step) or when the entity is
successfully assigned a destination node (Route step). This is done to ensure that other seize or route
requests waiting for the same material do not violate any material availability constraints.

Note: Any existing Required Materials repeat group on the Route step and the Other Routing Out
Options -> Required Materials repeat group on the TransferNode will be deprecated and can be replaced
with the Constraint Logic element. If using the deprecated method of constraining routing is desired, set
File -> Settings -> Display Deprecated Properties In Properties Window to ‘True’.

Export of Logs with an Exporter – RPS Only


This feature was designed to allow users to bind a Log to an Exporter, similar to binding a data table to
an Exporter. To use this feature an Exporter must first be created, then to bind the Exporter, go to
Results -> Logs -> Create Export Binding. Note: Currently to edit the binding, it must be done via the
Data Connectors view.

Import/Export by Binding Type – Import Professional and RPS Only, Export RPS Only
This feature was implemented in order to have more selective imports of data. In the Data Connectors
view, it is now possible to select a Data Connector and import or export all data tables that are using
that Data Connector as their active binding.

New Scheduling Example


SchedulingBicycleAssembly_UpdateCreateMOandPOs – We have added a new scheduling example to
our Support ribbon > Examples area that is similar to the SchedulingBicycleAssembly example. This
example, however, uses Sales Orders from a data table and generates associated Manufacturing Orders
(MO) and Purchase Orders (PO) based on Bill of Materials structure. Both MO and PO are tracked via
output tables.
Updated Scheduling Examples and Templates
The ISA95 and WWMES templates, as well as all scheduling examples, have been updated to use the
new Constraint Logic element for material availability.

Deprecation of CSV and Database Classic Bindings


In Sprint 202, Data Connectors were introduced as a way to import and export data from a multitude of
sources with the intent of giving users more flexibility. Using Data Connectors eliminated the need to
use the classic “Create Bindings” (found on Data Tab -> Tables View) for CSV and Database bindings.
Models created with classic CSV and Database bindings will still use the classic binding for binding to
external data. Models created in 203 or later can show the deprecated table bindings if the setting Show
Obsolete Table Bindings is set to ‘True’. This property is located by going to File -> Settings -> Add-ins.
Deprecation of Wonderware Add-In
We also deprecated the Wonderware Add-In that was found on the Planning Tab -> Tables view. This
deprecation is due to the addition of the AVEVA Importer and Exporter in Sprint 202.
Models that utilize the Wonderware Add-In will still use that functionality. Models created in 203 or
later can show the deprecated add-in if the setting Show Obsolete Design Add-ins is set to ‘True’. This
property is located in File -> Settings -> Add-ins.
Simio Release 11 – Sprint 202 – February 27, 2020

Welcome to Sprint 202! In this sprint, we have rethought of the way Simio binds table data to external
data with a new Data Connectors view. We have also added the ability to have a Simio model open with
a PDF file, RandomRow and RandomValue Functionality for State Columns, and enhancements to our
Camera Tracking. We finished up this sprint with improvements to our model protection capabilities and
the ability to define a Primary Key in an Output Table.

Ability to Open a Model with a PDF File


We have added an option for users to open a PDF file upon opening a Simio model, similar to those PDF
files automatically opened with our Examples and SimBits. This model property is located in the Project
Properties panel, specifically the Show Documentation On Load property. To enable this feature, set this
value to ‘True’. The PDF file must be saved in the same directory as the Simio model and must have the
same file name.

RandomRow and RandomValue Functionality for State Columns


We have added RandomRow table functionality to State Columns in both Data Tables and Output
Tables. One use of an Output Table is as a table that is made during the run that can be used for other
modeling purposes during the same run. Your modeling needs may require you to sample from this
table, for that you can use RandomRow of State Columns. The expression would be in the form of
‘OutputTableName.PropertyColumnName.RandomRow’.

Camera Tracking Enhancements


This new feature allows users to set the distance that the camera follows behind an object. This allows
better animation of a model since the camera distance is now adjustable. The Follow Distance Ratio
property is located in the Camera Tracking Options. Note that this value is a ratio so a value of ‘0.5’
would follow the object twice as close as the default value of ‘1’ and a value of ‘2’ would follow the
object twice as far as the default value of ‘1’.

Enhanced Protection Capabilities for Models – RPS and Professional Only


It has always been possible to protect a Simio model by assigning it a password. However, with this
enhancement, users will now have the option to protect specific views of a model. This feature is found
via the Project Folder in the Navigation Pane. Any model that is opened in Personal Edition will require
entering the password upon opening the Simio model.
Once here, select the model you would like to protect views in and then select “Set Protected Views”.
The views that you list in the Protected View Setup dialog box will be the views that will be seen once
the model is protected. Leaving this dialog box empty will lead to no views being shown. Note: View
syntax can be seen for all views by clicking on “Default Views”.

Data Connectors – Importers


In the Data view, under the Tables view icon, there is a new Data Connectors view.

This Data Connectors view was designed to give as much flexibility as possible to the user to put
configuration at the level where it makes the most sense. When a user opts to use a new connector, the
data-grid will be loaded with a hierarchical master-detail view of configuration settings, an example can
be seen below.
Users can specify the Import Folder where the data files are located as well as the file names to be
associated with specified tables. This allows for easy changes to be made to what data file is associated
to a table. Once the structure of the bindings and tables have been put in place, it is possible to Create
Binding to a table binding specified in the Data Connectors. Simio currently supports a CSV Data
Importer, AVEVA MES Data Importer, and Database Data Importer.

Data Connectors – Exporters – RPS Only


The counterpart of the newly added Importers found via the Data Connectors view is the Exporters. The
Exporters allows for a binding to be created for exporting purposes on a data table. This exportation can
occur at three different time: at end of plan run, at project save, or at plan publish. Simio currently
supports a CSV Data Exporter, AVEVA MES Data Exporter, and Database Data Exporter.
Ability to Define a Primary Key to an Output Table – RPS Only
In this sprint, we have added the ability to set a State Column in an Output Table as a Key. Output Tables
are often used to parse raw data, which can lead to a schedule being generated based on an Output
Table. Due to this addition, the Add Row step now has an new property Key Column Value where the
unique key value for the row can be placed. This feature was designed to allow child Output Table rows
to be easily associated to parent Output Table rows as well as for optimizing the searching of Output
Tables by providing the ability to find a row number based on the the RowForKey(key) function.
Simio Release 11 – Sprint 200/201 – February 5, 2020

Welcome to Sprint 200/201! In this sprint, we have enhanced our support for recovery project data to
include an option to delete the existing auto-saved recovery file. We have also made a slight change to
how multi-capacity server utilization statistics are calculated.

Project Recovery Enhancement


We have added an option for users to delete the existing data recovery file when the project is not
opened for recovery. For example, if File > Settings was selected and the user specified the Project
Recovery settings to auto-save, then when opening Simio, the ‘Projects for recovery’ dialog will prompt
to open project to recover. In this sprint, if the user selects Cancel (don’t open recovery file), an
additional dialog prompts for the deletion of the project recovery data.

Multi-Capacity Server Utilization Statistics Change


This change was made based on customer feedback regarding utilization of multi-capacity servers.

Suppose a Server has a capacity of 2 and at time 0.0 during the simulation run, two entities
simultaneously arrive to the Server and begin processing. One of the entities has a processing time of 2
hours and the other entity has a processing time of 4 hours. The Server has no output buffer and the
downstream process is blocked. Thus, when an entity finishes processing, it is held indefinitely in the
processing station of the Server trying to transfer out. We run the simulation for 10.0 hours.

• Previous Utilization Calculation - Server’s Scheduled Utilization


For the above example, running the model for 10 hours, we would see the Capacity.Utilized of
the Server equal to 2 for the first 4 hours. Then once BOTH entities were finished processing at
time 4.0 hours, the Server’s ResourceState would be set to Blocked which would set the
Capacity.Utilized equal to 0 for the remaining 6 hours of the run.

The reported utilization results:


o Server1.Capacity.Utilized.Average = (2*4)/10 = 0.8
o Server1.Capacity.Average = 2
o Server1.Capacity.ScheduledUtilization = (0.8/2)*100 = 40%

• New Utilization Calculation - Server’s Scheduled Utilization


For the above example, running the model for 10 hours, we would see the Capacity.Utilized of
the Server equal to 2 for the first 2 hours. Then one of the entities will finish processing and
we’d see the Capacity.Utilized of the Server equal to 1 for the next 2 hours. Then once BOTH
entities were finished processing at time 4.0 hours, the Server’s ResourceState would be set to
Blocked which would set the Capacity.Utilized equal to 0 for the remaining 6 hours of the run.

The reported utilization results:


o Server1.Capacity.Utilized.Average = (2*2 + 1*2)/10 = 0.6
o Server1.Capacity.Average = 2
o Server1.Capacity.ScheduledUtilization = (0.6/2)*100 = 30%

Note that this change only impacted the utilization statistics reported for multi-capacity Servers. For
models saved in prior Sprint versions, to opt in to the new utilization calculation approach, the user
must go to Run Setup -> Advanced Compatibility Settings in the Run Ribbon and set the compatibility
setting for Exclude Entities Transferring Out Of Child Stations From Resource Utilization to ‘True’.
Simio Release 11 – Sprint 198/199 – December 13, 2019

Within this sprint, we have added several user-requested features, including simultaneous material
consumption, improved search table row referencing, multi-pass simulation enhancements for state
columns/output tables and enhanced search capability within RPS Gantts.

Material Consumption Enhancements


We have enhanced several material consumption areas of the software, including the Consume step and
related material consumption within the processing tasks of Server, Combiner and Separator objects.
These were user-requested features.

The Consume step now has a new Must Simultaneously Consume option as illustrated below:

A Must Simultaneously Consume option is now provided, under Processing Tasks -> Material
Requirements -> Required Quantity & Constraints, for material consumption within the Server,
Combiner and Separator objects.

Note that the Material Requirements property categorization now has a Required Quantity &
Constraints category like Resource Requirements.

Search Step Behavior - Enhancements


The Search now has two new properties in Advanced Options (see below). A Copy Over Table Row
References property that applies when searching any collection type, and a Set Table Row Conflict
Resolution property that applies only if searching table rows.
Note that the default value for the Set Table Row Conflict Resolution property is ‘Replace’ for new
models, but ‘Abort’ for old models (as that was the implicit behavior in previous Simio versions).

There is also a new Advanced Compatibility bit which enables some recommended Search step
behaviors, eliminating flaws in the previous searching process.

For new models, this compatibility setting will be True, but False for older models unless manually
changed.

The Search step is a popular step that is heavily used in consulting projects, often to search rows in
tables. When searches of table rows are performed, there may be table row references set on the
original token, that the user wants included in match condition or search expression evaluations and/or
copied over to new tokens associated with found rows in the searched table.

Depending on the table relationship design, there can be conflicts between the table row references set
on the original token and the internal ‘evaluator’ token used by the Search step to evaluate each
individual row in the table, or a conflict when trying to set the table reference for a new token to the
found row.

Table State Columns and Output Tables Enhancement for Multi-Pass Simulation Approach - RPS Only
In Sprint 197, we added a new RestartRun step and Run.RunNumber function. We have now added the
ability specify a Keep Values on Run Restart property for both Data Table state columns (ones that are
not element or object reference states) and Output Tables. The options are only be available for RPS
licenses. These features work across interactive, plan, and experiment runs.

For Table State Columns: For Output Tables:


Note that State Columns in Output Tables DO NOT have the option individually, only state columns on
standard Data Tables do. Output Tables either keep the entire table or do not.

These features support a multi-pass simulation approach as described below:

Single-Pass vs Multi-Pass Simulation Approach


Typically, creating a resource schedule or generating the results for a scenario replication instance
(experiment mode) requires only one run of the simulation model. A model run is initialized, is executed
for some run length, and then ended, completing the Create Plan or Run a Replication action.

Figure 1 - Single-Pass Simulation Approach

There are cases however where it is insufficient to run the model only once to create a schedule or
generate results for a scenario replication instance. Instead, the model must be run multiple times in
succession, with information determined by previous runs used as input data for the next run.
Simulation runs are continued in succession until the desired objective is achieved. This type of
simulation approach is often referred to as a multi-pass approach.
Page Break
Figure 2 - Multi-Pass Simulation Approach

Continuous Search Capability within Gantts - RPS Only


We have enhanced the Search capability within both the Resource Plan and Entity Workflow Gantts to
allow the user to perform continued searches throughout the Gantts. The new down arrow shows a list
of previously searched items. The right and left arrows allow for forward and backwards searches
through the Gantts on a row by row basis.

For example, in the screenshot below (right side), when the user searches for ‘102’, the first instance of
‘102’ appears in Order_102 within the Gantt timeline area in the Mixing1 row. Selecting the right arrow
will then move the highlight to the next ‘102’ instance in the TankFill1 row. Searched items will be
highlighted on a row by row basis, without respect of timeline. Thus, multiple instances on a single row
will be highlighted before instances on a lower row in the Gantt.
Searches are NOT case-sensitive. Searches include items in the Constraints or Tasks and will expand the
+ on a row to show the Constraint / Task item if not already expanded. Searches do not include items
listed in the details tooltip (opened when hovering over an area on the Gantt).
Simio Release 11 – Sprint 196/197 – October 10, 2019

Within this sprint, we have enhanced our help for table referencing, added documentation for
scheduling labor efficiencies example and updated our examples animations.

Trace Enhancement - "Trace Table Row Resolution" advanced debug/tracing


There is a new tracing option (off by default) to trace additional information whenever the runtime is
attempting to resolve a table row:

In the trace below, the feature is turned on. This can be helpful, as a user may realize “My tbl_Routings
reference went from [11] to [12] (sequence table), and any foreign keys pointing into that row might
have changed to (foreign key state in an output table). Maybe that is why I’m getting this odd runtime
error.”

New RestartRun Step and Run.RunNumber Function – RPS Edition Only


We have added a new RestartRun step may be used to set the ending time of the simulation run to the
current time. This will cause the run to end once all simulation events scheduled for the current time
have been processed. Interactive mode will require the next run to be started manually. Otherwise, a
new run will be automatically started, treated as a restarted run for the same scenario replication
instance if running in experiment mode.

If in interactive mode, using the Reset button to re-initialize the model to its starting conditions will
cancel a restart command and set the run count using the new function, Run.RunNumber, back to 1.

We have added a new function Run.RunNumber that returns a one-based run count, incremented if a
run restart occurs using the RestartRun step.

For example, if executing a simulation with run restarts, then for the first run you’d see Run.RunNumber
return 1. For the next run, if restarted using the RestartRun step, you’d see Run.RunNumber return 2
and so on. An example of using the Run.RunNumber function in process logic might be in a condition
expression to decide whether to execute a RestartRun step. For example, if implementing a two-pass
algorithm, then you’d only want to execute the RestartRun step if ‘Run.RunNumber==1’.

Bill of Materials Inventory Enhancement


We now allow Bill of Material (BOM) consumption to include entries for both location specific and not
location specific (previously all or nothing for a BOM that is location based). This was a user-requested
feature.

The Inventory Site Type property now reads “Indicates the fixed object that is the inventory location.
Applies only to material elements whose Location Based Inventory property is set to True.” Thus, when
the inventory for a material in a model is a single location-less inventory, there is no ambiguity about
the inventory reference when trying to consume, produce, or reserve that material. We relaxed the
Simio engine's error checking to simply ignore the Inventory Site Type settings if the Location Based
Inventory property of a material is set to ‘False.’

SchedulingLaborEfficiencies Documentation and Updated Examples Animations


We have added documentation for one of our new scheduling examples that was recently added to the
installation. We’ve also updated some of our example animations, there will be more enhancements to
come in the future.
Simio Release 11 – Sprint 195 – September 19, 2019

Within this sprint, we have added the option to seize/release by condition with Secondary Resources
(Other Resource Seizes and Other Resource Releases), as well as an additional option for Table Based
Work Schedules to determine how a schedule start date relates to the start and end date times.

Secondary Resources Enhancement – New Skip Seize If and Skip Release If Properties
For completeness, we have added ‘Skip Seize If’ and ‘Skip Release If’ advanced options to the Secondary
Resources -> Other Resource Seizes/Other Resource Releases repeat groups. These properties allow
users to optionally skip the seize or release requirement.

Table-Based Schedules Enhancement


In sprint 193, we added a Start Type property to allow users to specify an offset starting time for table-
based schedules. Then, in sprint 194, we enhanced the Start Type property with an option for ‘Specific
Date Time’, where the Schedule Start Date Time property is then specified, as shown below. Now, in
sprint 195, we’ve included a new Offset Calculation Type property when using the Start Type of ‘Specific
Date Time’. This can be set at ‘Default’, ‘Relative’ or ‘Absolute’ and determines how the Schedule Start
Date Time relates to the Start Date Time and End Date Time values.
Simio Release 11 – Sprint 194 – August 29, 2019

Within this sprint, we have enhanced the RoutingGroup element, Table-based Work Schedules, and RPS
logs with new properties. We have also included optional seize / release conditions within secondary
resources and material requirements. Finally, breakpoints may now be set on decision type processes.

RoutingGroup Element Enhancement


The RoutingGroup element has been enhanced to provide a new On Starting Route Request Queue
Search add-on process trigger. This was added to provide greater flexibility to the RoutingGroup as well
as eliminate unnecessary process execution.

Example Scenario:
You have 20 entities waiting in the routing group’s route request queue. And there are 4 available
destination nodes. To assign entities to the four available nodes, you’d see the On Starting Route
Request Queue Search process get executed 4 times (once per each search pass through the queue) and
the On Evaluating Route Request process get executed 190 times (20 X 4 times during first search pass +
19 X 3 times during second search pass + 18 X 2 times during third search pass + 17 times during fourth
search pass).

Routing Group – Routing Assignment Algorithm Flow Charts


New TableBindings View within Data Tab
We have added a new TableBindings view, located within the Data tab below the Tables view. This has
been added to support additional “Modern” binding type features that Simio will be adding over the
next few sprints. Currently, this view displays “Classic” table binding names with their data table
reference, as specified in the Tables view.

Table-Based Schedules Enhancement


In sprint 193, we added a Start Type property to allow users to specify an offset starting time for table-
based schedules. We’ve now enhanced this property with an option for Specific Date Time, where the
Start Date Time property is then specified, as shown below.
Standard Library Objects Enhancement - Change 'Setup' Resource State from a Utilized to Non-Utilized
For greater compatibility with the standard Overall Equipment Effectiveness (OEE) definition, the
resource utilization calculation setting of the ‘Setup’ and ‘OffShiftSetup’ resource states of the Server,
Combiner, and Separator objects has been changed so that allocated capacity while in those states is no
longer considered utilized capacity.

IMPORTANT NOTE: This means that, in Sprint 194 software, if you update models to the new
Server/Combiner/Separator definitions and there are tasks of process type ‘Sequence Dependent
Setup’, then you’ll now see lower utilization statistics for those objects where the setups occurred. If you
have specified usage cost rates at the object, those usage cost rates will also no longer be accrued by
entities during the setup times.

Release Step Enhancement - 'Skip Release If' Property


The Release step now provides a Skip Release If property, similar in functionality to the Seize step’s Skip
Seize If property. It allows for an optional condition that indicates whether to completely skip that
particular release requirement (i.e., simply ignore the repeat group row).

The Release step’s Release Condition property has been renamed to Selection Condition to be consistent
with the Seize step and to help lessen any possible confusion that might have arisen between having
Release Condition and Skip Release If properties.
Secondary Resources Enhancement – New Skip Requirement If Property
In the Server, Combiner, Separator, Filler, & Emptier, for either Secondary Resources For Processing
requirements or Task Resource Requirements, a new Skip Requirement If expression property is now
provided. This feature allows for an optional condition that indicates whether to completely skip a
resource requirement (both the seize and release steps).

For example, a user may have a modeling situation where a worker is only required sometimes for a
particular task, thus needing the ability to filter out resource requirements on a requirement by
requirement basis without having to define different tasks. For example, suppose the Object Name
property for a resource requirement is specified as ModelEntity.WorkerReference where
WorkerReference is a state variable on the entity that is set to Nothing if no worker is actually required.
You would specify the Skip Requirement If conditional expression for that resource requirement as
‘ModelEntity.WorkerReference==Nothing’.
Processing Tasks – Material Requirements Enhancement – New Skip Requirement If Property
In the Server, Combiner, & Separator, for Task Material Requirements, a new Skip Requirement If
expression property is now provided. Similar to the above feature for secondary resources,
this feature allows for an optional condition that indicates whether to completely skip a material
requirement (e.g., filter out a particular consume or produce material action for the task).
Decision Processes - Allow Breakpoints
Simio now will break on a breakpoint in a decision process, as long as you have the ‘Use Scheduled
Breakpoints’ setting in File -> Settings set to ‘False’ (which is the default). Some of the decision
processes within Simio include OnEvaluatingMoveRequest, OnEvaluatingRiderAtPickup,
OnEvaluatingRiderReservation, and OnEvaluatingSeizeRequest.

RPS Logs Enhancement - Allow Custom Log Expression Columns in All Logs
We now support the addition of new expression columns in all logs. Previously, the user could only add
extra columns to the Resource Usage, Resource Info or Task Logs.

For logs that have both a start time and an end time column, you can set the expression to evaluate at
the start or end. Note that even though the Transporter Usage Log has four datetime columns, there’s
no provision for evaluating an expression at either Start Ride Time or End Ride Time.

Additional columns are useful in various logs for developing dashboards and table reports as well as
filtering data.
Simio Release 11 – Sprint 193 – August 8, 2019

Within this sprint, we have added several user-requested features, including entity orientation options
within queues, Material element replenishment policy properties and repeatable dynamic selection rule
options.

Gantt Drag and Drop Enhancement


We have added optional Routing Group for Node stipulations, and optional Seize Location for Resource
stipulations for the Stipulate step. These are both logged to the Resource Usage Log, and that
information is used for drag-n-drop on the Gantt. This feature was added to sprint 192+ and
documented in this sprint.

Entity Animation Enhancements


We have added ability to specify an optional Direction X/Y/Z and Roll for orientation of entities on
queue animations. This was a user-requested feature.

This orientation takes precedence over any other given orientation for the queue (for example, the
direction specified by an “Oriented Point” queue).

Additionally, there are some new functions in the Orientation namespace for objects:

Orientation.Direction.X – Returns the X component of the unit vector indicating the current direction
the object is facing.
Orientation.Direction.Y – Returns the Y component of the unit vector indicating the current direction
the object is facing.
Orientation.Direction.Z – Returns the Z component of the unit vector indicating the current direction
the object is facing.
Orientation.Roll – Returns the current roll angle in degrees, measured clockwise from the +Y, of the
object in the X-Y plane.

Materials - Review Period & Replenishment Policy If Not Location Based Inventory
If the Location Based Inventory of a Material element is set to ‘False’, we now allow Review Period and
Replenishment Policy related properties to be specified for the single global inventory of that material.
This information used to only be specified with the Inventory element for the material. This was a user-
requested feature from our Simio Sync user’s meeting.

Materials - Consuming/Producing Location Based Inventory - Support 'Lot ID' Property


We have added the ability to specify the lot identifier property, Lot ID, on location- based inventory
within the Consume and Produce steps. This then also allows the Lot ID within the Task Sequences
Material Requirements section of properties when Inventory Site Type is specified. This was also a user-
requested feature.

Table Based Schedules - Change "starting type" for repeating table-based schedules
Users can now give an alternate starting type/anchor point for a repeating table schedule. By default, it
starts the schedule from the start of the run. Now users can alternatively tell it to start from some offset
from midnight on the first Sunday before the run. If a repeating schedule is raw numbers for offsets
(instead of datetimes), in terms of week- long repeating intervals, this mode is probably more
appropriate. This is an enhancement to the recently added repeating schedules.

Dynamic Selection Rule – Enhancement


We have added a Dispatching Rules repeat group to support multi-level tie breaking within the Dynamic
Selection Rule property. Users can keep the current configuration (Repeat Group property is ‘False’)
where Dispatching Rule and Tie Breaker Rule are visible. Alternatively, users can use the new option
(Repeat Group property is ‘True’), where multiple levels of the Dispatching Rule property can be
specified.
This enhancement has been made in all areas of the product that use Dynamic Selection Rules. This
includes Server, Separator, TransferNode, Worker and Vehicle objects in the Standard Library, Emptier
and Filler in the Flow Library and RoutingGroup and Station elements.

RPS Enhancement - Compare Plans without running Risk Analysis


We now allow the user to compare plans without running risk analysis, simply using Create Plan button.
The Save for Comparing button is now available after using the Create Plan to generate the deterministic
plan. This saves a copy of the model in the Baseline Folder in the Navigation Window. After a run was
saved for comparing, changes can be made to model properties and/or data tables and Create Plan
button used to run new plan. Under Results > Target Detail report, select the show Differences button
(as seen below) to show the status change between the plans.
.
Simio Release 11 – Sprint 192 – July 18, 2019

Within this sprint, we have added the capability to model resource efficiencies, as well as repeatable
secondary resources for processing. The ability to add or delete a node from an existing link is a much-
requested feature that’s been added as well.

Resource Efficiencies
We have added a number of features, detailed below, that will allow an efficiency value, expressed as a
fraction, to be associated with any seized resource – particularly a secondary resource seized for
processing or task processes within a Server, Combiner, or Separator object. The actual work duration is
the planned work duration divided by the resource efficiency. Typically, the efficiency would be
defaulted to 1.0. Values greater than 1 shorten the time and values less than 1 lengthen the time.

For example, if a task takes one hour at a 100% resource efficiency rate, then
If Resource Efficiency Is Then Task Duration Will Be
1.5 (150%) 0.667 Hours
1.0 (100%) 1.0 Hours
0.8 (80%) 1.25 Hours
0.5 (50%) 2.0 Hours

If there is more than one seized resource with an efficiency, there is a aggregate efficiency value control
to use (e.g., the minimum, maximum, average, sum, etc.), including an option to ignore seized resource
efficiencies.

If using the ‘Switch Resources If Possible’ Off Shift Rule at a Server, Combiner, or Separator object, Simio
automatically adjusts the remaining processing or setup time to reflect efficiency changes due to
switched secondary resources.

Resource Efficiencies Details– Server/Combiner/Separator


Within the Secondary Resource for Processing as well as the Process Tasks areas, the Resource Efficiency
Rule and Resource Efficiency properties have been added.

If the Process Type is ‘Specific Time’, the Resource Efficiency Rule is visible within the Other Processing
Options of Process Logic area. This property is used to alter the rate at which work is performed if there
are seized resources with defined efficiency values. The actual work duration is the planned work
duration divided by the efficiency. The Resource Efficiency property is used within the Secondary
Resources (Resource for Processing) area to alter the rate at which the task is performed using the
seized resource(s), expressed as a fraction. An efficiency value greater than 1 shortens the time and a
value less than 1 lengthens the time.
If the Process Type is ‘Task Sequence’, the Resource Efficiency Rule is visible within the Task Information
area of the repeatable processing tasks. The Resource Efficiency property is specified within the
Resource Requirements area for the task. Note that Resource Efficiency can be specified for each
resource required if multiple resources have been referenced within a data table.

Resource Efficiencies Details– Delay and Changeover Steps


The Delay and Changeover steps have both been enhanced to allow for dynamic adjustments to the
delay or setup time. A Delay Multiplier expression type property has been added to each of these steps
to increase or decrease the delay time or total setup time due to the changeover by some factor. Note
that expression is automatically reevaluated if the process is suspended and resumed, potentially
adjusting the remaining delay or setup time.

Resource Efficiencies Details– Seize Step


The Seize step has been enhanced to include an optional Resource Efficiency value that can alter the rate
at which work is performed using the seized resource(s), expressed as a fraction. The actual work
duration is the planned work duration divided by the efficiency.

Resource Efficiencies Details– New Functions


We have added three (3) new functions to allow the user to access the aggregate efficiency of
resource(s) that have been seized.

Object.SeizedResources.AggregateEfficiency(type) - Calculates and returns an aggregate efficiency


value for the list of resources currently seized by the object.

Task.SeizedResources.AggregateEfficiency(type) - Calculates and returns an aggregate efficiency value


for the list of resources currently seized by the task’s associated object, filtered to only include the
resource seizes that apply to the task’s execution.

Token.SeizedResources.AggregateEfficiency(type) - Calculates and returns an aggregate efficiency value


for the list of resources currently seized by the token’s associated object, filtered to only include the
resource seizes that occurred specifically due to the token’s execution.

For all of the above functions, the aggregate type is an integer argument with possible values: 0 = None,
1 = Average, 2 = Count, 3 = Maximum, 4 = Minimum, 5 = Sum. Note that if the aggregate type is None or
if there are no seized resources with defined efficiency values, then the value NaN is returned.

Adding and Deleting Nodes from Links


We have added the much-requested feature of being able to add or delete one or more nodes from an
existing link.

As you can see from the below diagram, there is an existing Path link between Output@Source1 and
Input@Sink1. By clicking on the path, the user is directed to the Edit menu which will allow for the
addition (Insert) of any type of node to the path.

Alternatively, if the path has one or more existing nodes that are no longer required, the user may right
click on the node (as in BasicNode1 below) and select ‘Remove Node and Join Links’, then select the
path that will remain as the current link (e.g, Path1 below).
Secondary Resources Enhancements
We have enhanced the secondary resources functionality within the Server, Combiner, and Separator in
the Standard Library and Filler and Emptier in Flow Library. These enhancements allow for more
flexibility in specifying either single or multiple secondary resources for processing or before/after
processing.

These enhancements include having multiple Secondary Resources for Processing (resources used
throughout the entire processing of an entity) to be specified using a repeat group data structure. If
using a repeat group to specify Secondary Resources for Processing, we also provide Off Shift Rule, Must
Simultaneously Seize, Immediately Try Seize, and Immediately Try Allocate When Released property
values to be specified. If not using a repeat group to specify Secondary Resources for Processing, allow
Number Of Objects, Units Per Object, and Must Simultaneously Seize property values to be specified for
the single resource requirement.
For each Secondary Resources -> Other Resource Seizes repeat group, we now include a Resource
Efficiency property for a resource seize requirement (inside repeatable property). See the above release
notes on new efficiency features.

For each Secondary Resources -> Other Resource Seizes repeat group, we have added an Immediately Try
Seize property value to be specified. Similarly, for each Secondary Resources -> Other Resource Releases
repeat group, we now include an Immediately Try Allocate When Released property value to be
specified. These features were added to Simio for the main resource and task resources several sprints
ago.

If using a ‘Smallest Value’ or ‘Largest Value’ Selection Goal is used to seize a secondary resource, we now
display a Value Expression (like Selection Expression) in the properties window.

New Process Element Function


We have added a new function for the process element. This function was added to support
implementation of the OnSecondaryResourceCapacityChanged process logic in the Standard Library
objects when multiple secondary resources for processing have been seized by a particular entity, and
the ‘Switch Resources If Possible’ off shift rule is being used.

TokensInProcess.NumberLinkedToObject(object) - Returns the number of tokens in process whqose


associated (primary) object reference is a specified object.

New Scheduling Examples


We have added two new examples to the Simio installation. Please note these examples are meant to
show specific concepts and include basic object animations. We will follow-up within the next sprint or
two with more detailed documentation. They include:

SchedulingLaborEfficiencies – This example is like the SchedulingDiscretePartProduction example, in


that it uses various tables to generate the objects within the Facility window. There are 5 employees
(worker objects) that use different work schedules, as defined in table based repeating work schedules.
The new resource efficiency properties are specified within Labor table, based on which resource is
being used. The task sequences within the Servers indicate the worker list, resource efficiency and
selection rule based on largest efficiency. The model also uses the ‘Switch Resources If Possible’ OffShift
Rule for workers.

SchedulingParallelRouteController – This example is a modification of the


SchedulingDiscretePartProduction example. It is intended to show an option for easily modeling parallel
routing steps.

The Routings table has been modified to include parallel production steps within the routings of
FinishedGoodA and FinishedGoodB. A ‘route controller’ Server object and it’s referenced process titled
‘PopulateImmediateSuccessorSequences’ are used to generate entities for the various parallel process
steps.

For example, in the below routing, the Sequence Number is used in the process logic to determine the
parallel activities within the routing – Cut and Weld (10.1 and 10.2) operations are done in parallel
before Finish (20) and then Ship (40). The Entity Workflow Gantt shown below shows the resources and
sequence for the order, as they are processed.

New SimBits
We have added three SimBits to our extensive list of small models that illustrate specific concepts. They
include:

ServerBlockingApproaches – This project includes four models that demonstrate various ways of
modeling blocking, that is, holding an entity at a Server or processing area until there is room at the next
Server or processing area. The methods used include Connectors, Add-on Processes with Wait step and
built in events and Entity Destination Types of selecting from a list / custom routing group element.

InventoryReplenish – This project includes three models that demonstrates some of the inventory
Replenish Policy options in Simio. This includes the ‘Min/Max’, ‘Order-Up-To’ and
‘ReorderPoint/ReorderQuantity’ rules. Both the Review Period options, including ‘Timer Review Period’
and ‘Continuous Review Period’, are shown in each of the models.
ResourceSelectionConcepts – This project includes four models that demonstrate the use of Secondary
Resources For Processing. The Models increase in complexity and demonstrate methods for selecting
resources based on attributes like cost, efficiency and skill.

New Run.FreezePeriod Function – RPS Users


We have made the Run.FreezePeriod function now visible to RPS users. This function has been used in
the SchedulingBatchBeverageProduction example. For more information, see the Freeze Period section
of the documentation for the model and refer to the OnRunInitialized_FreezeSchedule process logic.
Simio Release 11 – Sprint 191 – June 27, 2019

Within this sprint, we have so many cool new features that have been requested by our users as well as
our internal consultants. These range from being able to change the starting or ending node of a link
(without losing the link!) and auto-creation of links to enhanced table functions and referencing for
more flexibility to repeating table work schedules.

Link Enhancement - Change the starting/ending node of an existing link


We now provide the much-requested feature of changing the starting or ending node of an existing link
without losing the link or any vertices. Right clicking on an existing link will allow the user to Change
Starting Node or Change Ending Node. When one of these is selected, the user has the ability to choose
another node by clicking on it, at which point the link will disconnect from the original node and
reconnect to the selected node. Multi-select of links also allows these two options.

Links Enhancement - Auto Create


We have added the capability to auto-create links through data tables. Prior to this sprint, we’ve had the
capability to auto-create objects (from a table) within the Facility window, such Server, Worker, Vehicle,
TransferNode, etc. Now, we have a similar structure for generating links in the Facility window by
specifying the starting and ending nodes.

If the Default Value Instantiation is ‘AutoCreateInstance’ and the Object Type is a link type (or an Object
Type property), then the Link Starting Node and Link Ending Node appear in the property grid:
Users can also specify a detail table column (or static value) for the position of the vertices of an auto-
created link in a table. The example below shows two tables, Links and Vertices. The Links table creates
the connector links between the node names listed in Node1 and Node2 columns. The related Vertices
table lists the x, y, and z cartesian coordinates of the vertices of the connector(s). Location Type can
alternatively be ‘Geographic’.
New Table Function - TableName.KeyColumn.RowForKey(keyValue)
We have added a new table function, TableName.KeyColumn.RowForKey(keyValue) that returns the
row index of the row for which the specified KeyColumn has the specified keyValue (or zero if no row is
found). It’s important to note that this function respects master-detail relationships, and only looks at
the detail row subset for a given master row selection (and returns the row index as related to that
subset, not the overall index).

Thus, the user could have a table, Resources, as below, with the ResourceName as the key column. The
following expression, Resources. ResourceName.RowForKey(Weld1) would return the value ‘8’.

The function could alternatively be used to access other information within the Resources table for a
given key value. Resources[Resources. ResourceName.RowForKey(Weld1)].ObjectType would return
‘SchedServer’.

The keyValue may also be an expression that holds the information, such as an entity object state,
‘ModelEntity.WhichWorkstation’.

Previously, the Search step could be used to access the row information. This new function method is
faster than using Search step to access the same information, especially with large data table searches.

Table Referencing Enhancement – Using Associated Objects for Candidate Objects Table References
There is a new compatibility bit “Search Associated Objects Of Candidate Objects For Table References”

Default value of this setting is ‘False’ for models built prior to Sprint 11.191, ‘True’ for new models built
in Sprint 11.191+.
In the past, when using the Candidate.TableName.ColumnName, for example, within an Entity
Destination Type > Selection Condition, the candidate column required node name references. Many
times, however, the data within a table may include the associated object names (Server names) and
not the node names. Thus, as an enhancement when using the Candidate.TableName.ColumnName
nomenclature, Simio will now search for either the object or associated object to find a value. This
includes Search steps and any other construct where Candidate.TableName.ColumnName can be
specified.

As an example, the user could have a TransferNode that selects the Entity Destination Type from a list of
nodes. The options in the list contain multiple nodes that are associated with Servers. There is a table,
named Resources, that includes the Server names and some associated columns such as Cost,
WorkSchedule, etc. The Selection Condition on the TransferNode can now reference
‘Candidate.Resources.Cost <= 30’ where the node names are not listed in the Candidate table, but the
associated Servers and their cost column are evaluated as the candidates for selection.

Repeating Table Based Work Schedules


There is a new Repeating property for Table Based Work Schedules that, if ‘True’, will repeat every
specified time interval. For example, a user may define a 1 week work schedule within a table that will
repeat every 7 days. Exceptions, such as holidays, can be specified within a referenced Exception Table.

It’s important to note that if the table schedule Start Date is AFTER the simulation start date, Simio will
assume 0 capacity (no schedule specified in table) for the first X amount of time from simulation start
date through schedule start date, then repeating after Interval time.

As an example, let’s say the simulation start date is 6/09/19 and the schedule starts 6/10/19 and
contains a single day of schedule/capacity times. If the repeatable interval is 1 day, it will include
6/09/19 of 0 capacity and then repeat, thus the 6/10/19 schedule will not be realized. If the repeatable
interval is 2 days, it will include 6/09/19 of 0 capacity, then 6/10/19 schedule from table and then
repeat.

New Path Decorator – Roller


We have added a new Roller type path decorator that can be used with any of the links in Simio,
including Conveyors and Paths.
Simio Release 11 – Sprint 190 – June 4, 2019

This sprint we have enhanced our trace options and added a shortcut for starting Simio64 and a Flow
Library enhancement. Support for Sketchup 2019 and a Gantt search feature have also been added.

Trace Enhancement
There is a new “Trace Type” selection under the “Advanced Options” in the “Run Setup” group of the
“Run” tab of the “Facility Tools” ribbon category. “Trace Everything” is the default. The selection is saved
per model.

Install Option – 64 Bit Shortcut


We have added an install shortcut option to start Simio 64 bit (instead of 32 bit).

Flow Library Enhancement


We have added a new 'Auto Destroy Zero Volume Entities In Containers With Zero Rate Inflow'
compatibility bit. This was done per a customer request. The default value of this setting is set to ‘True’,
with models built prior to Sprint 190 having the setting of ‘False’.

Sketchup 2019 Support


We have updated our Sketchup import to support Sketchup 2019.

Removed DirectX9 from Install


The DirectX9.0c folder is no longer in the Simio folder via C:\Program Files (x86)\Simio. It is still an
option in the Application Settings Graphics Type (to support customers that still use DirectX9). We use
DirectX11 by default.

UI Responsiveness
There is a new “Minimum number of UI updates per second” entry in the Advanced Animation dialog.
It’s defaulted to 5 and provides much better UI responsiveness for otherwise unresponsive models.

Gantt Views – Search and Target Details


Gantt views now have a small search box at the top that does basic searching. If a user types or pastes a
desired string in the search, Simio will go to the first row in the grid that contains that text. It also does
partial matches.

In this example, searching for 21 matched a row containing that string, while searching for 101 finds the
row for Order_101:

Also within the Planning tab, if a user double-clicks on an order/entity within the Target Detail tab, the
user is taken to the same order within the Entity Workflow Gantt.

Font Scale for Presenting/Teaching/Projection Scenarios


There is a new Font Scale setting in File -> Settings allowing you to scale up the font used across the
application:
So normally the UI looks like:

But if you set that scale to, say, 200 it would look like:

Modeling Helper Add-Ins – RPS Only


We have added the following new events that support modeling helpers when running Simio as an
‘embedded’ solution via the SimioDLL.dll library:
Tables Importing
Table Importing
Table Imported
Tables Imported
Plan Run Starting
Plan Run Ended
Simio Release 11 – Sprint 189 – April 26, 2019

Welcome to our release version of Simio 11! This sprint, check out our new UI icons and skin, as well as
a new SimBit displaying a few of the possible dashboards within experiments.

New Icons
We have updated our UI skin and icons on all the ribbons, tabs and panels, we hope you like the new
look!

New SimBit
DashboardsWithinExperiments – This example is a modification to the SimBit
ServerUsingTaskSequenceWithWorkers and includes an experiment where the number of workers and
other properties can be changed. The new Dashboard Reports feature within Experiments has been
used to include graphical dashboards that display response results either within a scenario or across
scenarios.
Where’s the Rest?

In case you are a history buff who would like to see a sprint by sprint account of how we got to this
point, you can find that here:
http://www.simio.com/downloads/public/documents/SimioHistoricalReleaseNotes.pdf. This contains
records from the first 189 sprints (0-188) covering the generation of Simio major releases 1 – 10,
with a few of the sprints within release 11.

You might also like