Optimization of SIMPROCESS Models Using OptQuest

 

An OptQuest for SIMPROCESS optimization runs in a separate Java Virtual Machine (JVM) and uses a separate interface from SIMPROCESS. Therefore, once an optimization has started, SIMPROCESS can continue to be used without affecting the optimization. This means multiple optimizations can run simultaneously. However, that may not be practical because running an optimization is very CPU intensive (since it is running a simulation, which tends to monopolize the CPU), and, depending on the size of the model, memory intensive. Also, it may not be practical to run a simulation with SIMPROCESS while an optimization is running for the same reasons.

The OptQuest for SIMPROCESS interface primarily consists of text, tables and a graph to monitor the optimization. There is a button to stop the optimization, and there are reporting options on the File menu once the optimization is complete.

When the interface appears all status objects are empty except for the Optimization Status field, which displays Initializing. The tables show the status of the objective value, the decision variables, the performance measure constraints, and the expression constraints. The objective value table and the decision variables table will always appear. The performance measure constraints table and the expression constraints table will only appear if those types of constraints exist. The graph plots the best objective value based on whether or not the best is feasible.

 

Status Text

The following status text is displayed:

Optimization Status descriptions:

Status Tables

The objective value table lists the Best Value and the Current Value for the Iteration, whether the best and current values are Feasible, and the best and current Objective Value.

The decision variables table lists the decision variables (Parameters) included in the optimization. The Lower Bound, Best Value, Current Value, and Upper Bound are displayed.

The performance measure constraints table lists the performance measures identified as constraints for the optimization. The Lower Bound, Best Value, Current Value, and Upper Bound are displayed.

The expression constraint table lists the expression constraints defined for the optimization. The assigned name rather than the expression itself is displayed in the Expression Constraint column. The other columns are Best LHS, Current LHS, Operator, Best RHS, and Current RHS. LHS stands for Left Hand Side, and RHS stands for Right Hand Side. Expression constraints are described as linear equations, such as A + B <= C + D). Therefore, the LHS and RHS values displayed represent the numerical values on the left or right side of the operator. So in this example LHS represents the best/current values for "A + B", the operator is "less than or equal" (<=), and RHS represents the best/current values for "C + D". You can readily recognize whether the numbers presented are mathematically correct and thus feasible or not.

 

Objective Graph

The graph of the objective value plots the best objective value for each iteration. Infeasible values are plotted with dots in red, and feasible values are plotted in blue with x’s. In the example below from the Purchasing model, the first value was infeasible and the remaining feasible. Remember, once the best value is feasible, the best value will not be infeasible again.

 

Maximum Iterations Prompt

When a maximum number of iterations has been set for the optimization, the checkbox Prompt for more iterations is enabled. This checkbox defaults to selected. When selected, you will be prompted for more iterations at the end of the next to the last iteration. For instance, if the maximum iterations is set to 100, at the end of iteration 99 you will be asked if you would like to set a new maximum for the iterations. You must enter a new maximum, not the number of additional iterations. So for this example the number entered must be 101 or larger. If Prompt for more iterations remains selected, you will prompted again when the iteration is one less than the maximum. Deselect this option to have the optimization complete without interruption.

 

File Menu

View Report brings up a dialog similar to the Standard Report dialog. With this dialog you can display a report in a text editor, or display a report in a spreadsheet. The report lists the name of the model, the start date/time and end date/time of the optimization, the optimization settings, and the best values for the objective, decision variables, and constraints.

Create HTML Report creates the same report as View Report. However, since it is an HTML file, the objective graph is included as well.

Print Graph sends the objective graph to the selected printer.

Apply Best Values to Model assigns the best values from the decision variables to the model parameters in the model. Thus, when the model is reopened in SIMPROCESS, and run is selected, the run values for the model parameters reflect the best values from the optimization. Also, if OptQuest is selected again, the starting values for the decision variables are the best values from the optimization.