You can use the Custom strategy to create one or more instances of design plans, each instance configured to perform an independent design space exploration according to its own set of criteria. You can combine these design plans to perform a more complex exploration, either by running them in a fixed sequence (Sequence strategy mode) or by invoking them in a script (Script strategy mode) that implements a decision process of your own design. You can run a script to test the results of running one plan and use the results to determine which plan to run next or to run a plan, or a mix of plans, more than once until some criterion is met. You can add a script to your Custom strategy to drive the design plan. The script is similar to the Script component (see Script Component). The global variables table in the Custom strategy script editor contains all the component’s parameters plus the standard runtime objects, allowing you to insert references to these items into your script. As a result, your Custom strategy scripts can do most anything that the Script component scripts do. In addition, the global variable table contains several items that you can use to specifically perform design searches and process the results of these searches. Design PlanThis global variable type represents an object that encapsulates an exploration technique instance. Each instance in the currently defined set of exploration technique instances appears as a variable of this type in the global variable table. The name of each variable is the same as the technique instance name, except that all the spaces in each name are replaced with underscores. Objects of this type can be used to interact with the technique instance via the following methods:
Single Run This global variable type represents an object that
encapsulates the
Single Run pseudo-technique. Similar to the
Design Plan type it implements a
DesignPointAPI This global variable type represents an object that
provides a suite of methods that can be used to inspect and manipulate design
points during execution of the strategy script. One global variable of this
type, named
Each design plan imposes search criteria on some of the component’s variables. Some of these criteria can be used to grade each design point as being better, indifferent, or worse, according to your explorations goals. The component itself also imposes search criteria on some of the component’s variables. These criteria are shown on the Formulation tab in the Design Gateway. After execution, the Runtime GatewayHistory tab shows the design plans’ grading as the values of special variables (e.g., objective, feasibility, etc.), and it shows the formulation’s grading as the coloration applied to the rows of the design points. For most plan-based component types (e.g., DOE, Optimization, etc.), there is only one design plan, and Isight forces the two sets of search criteria to be identical (so both forms of display give the same information). For the Exploration component, there can be various numbers of design plans, each with its own search criteria. Therefore, those criteria and the component formulation must remain distinct, and the information on the History tab must be interpreted carefully. If your script runs more than one design plan, or runs a design plan more than once, the values of the special variables (e.g., objective, feasibility, etc.) will show only how each plan has graded its own run (additional special variables are added by the Custom strategy to record which plans have evaluated which runs). The row coloration on the History tab will show how the runs are graded according to the component’s overall search criteria. You can use these API methods to specify what these overall search criteria are:
After the design plan has finished executing, the “best” point evaluated by the design plan can be inspected and manipulated using the following API methods:
You may find it useful to save arbitrary design points encountered during strategy execution, inspect them, manipulate them, and use them as starting points for further exploration. The following APIs allows you to record and retrieve arbitrary runs:
Note:
The blackboard is also accessible at runtime in the Subflow
Prologue and Subflow Epilogue (see
Defining Prologue/Epilogue Information
for more information).
|