Running an Optimization Within a SubModel

One of the applications for a SubModel A specialized element that allows you embed one complete GoldSim model within another GoldSim model. This facilitates, among other things, probabilistic optimization, explicit separation of uncertainty from variability, and manipulation of Monte Carlo statistics. is to carry out a dynamic optimization (i.e., at specified times) during a simulation. For example, imagine a situation where you were simulating the operation of a facility over a period of one year. Every month, the operators make a decision based on the current state of the system. This decision is based on a simple optimization analysis using currently available data (i.e., at every simulated month during the simulation). The optimization chooses the optimum values of a few control variables that they will use for the next month.

To represent this in GoldSim, you would need to specify the Solution Type for the SubModel as "Optimization", and the SubModel itself would represent the optimization calculations carried out by the simulated operator.

Note: If a SubModel is set to carry out an optimization, it cannot contain any Spreadsheet elements.

When you select "Optimization" for the Solution Type, GoldSim enables optimization for the SubModel and immediately switches to the Optimization tab for the SubModel:

This is the standard optimization dialog that is also used for stand-alone models, and is described elsewhere in detail.

Several points regarding use of this dialog for SubModel optimization, however, are worth noting: