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:
Model Name - name of the model being optimized
Optimization Setting - the name of the optimization setting selected when the optimization was started
Objective - Minimize or Maximize
Objective Value - the performance measure selected for optimization
Optimization Status - Initializing, Running Iteration n, Complete, Stopping Optimization, User Terminated, or Error
Maximum Iterations - number of iterations or Off
Automatic Stop - On or Off
Optimization Status descriptions:
Initializing - Optimization is in setup stage.
Running Iteration n - Optimization is running the nth iteration.
Complete - Optimization completed normally with no errors.
Stopping Optimization - Optimization is in the process of stopping because user selected Stop button.
User Terminated - Optimization stopped by user.
Error - Optimization stopped due to error.
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.