The Input Variable Node identifies a design parameter that you wish to vary. Each design is then uniquely identified by the values assigned to the input variables. The role of both DOE and optimization algorithms is then that of generating sets of values for the input variables. In other words, the set of input variables in a Process Flow defines the multi-dimensional space in which you want the designs to exist. As the dimensionality of the design space grows, looking for better designs becomes more complex. Accordingly, efforts should be done to keep the number of input variables as low as possible (compatibly with the task at hand).
Configuring an Input variable node requires setting several parameters:
Name: the name that will be used throughout modeFRONTIER to identify the variable. The name must be unique within the set of node names, and must follow the guidelines for node names. The name for an input variable should be selected carefully at the beginning of the project, as changing it later on will cause 1) the removal of all designs from the designs database table, and 2) the invalidation of all input files containing the variable. In contrast, expressions based on the node (within transfer variables, switch conditions, or expression-defined input variables) will be automatically updated.
Format: the numeric format that will be used in the various tables to display the value for the input variable. The legal syntax for this parameter is described here.
Description: the node description will appear as tooltip when the mouse stop over the node in the Work Flow canvas.
Variable Type: input variables can be of three types: VARIABLE, CONSTANT or EXPRESSION. The type VARIABLE indicates that the value can vary between a lower and an upper bound; the type CONSTANT indicates that the value is fixed; and the type EXPRESSION indicates that the value is a function of the value of other input variables. When generating a design for evaluation, the DOE and scheduling algorithms will compute the values only for input variables of type variable. (Note: while defining a variable of type constant might sound like an oxymoron, the constant type is actually useful when you want to temporarly fix the value of a variable, thus reducing the dimensionality of the problem. Also, it is useful if there is uncertainty around the value, and you want to perform Robust Design Optimization (see Section 5.1.7, "The Robust Design Work Flow Pattern").
Depending on the variable type, other parameters need to be set. If the type is VARIABLE, you will need to provide the following:
Lower Bound: the minimum value that can be assigned to the variable by the DOE and scheduling algorithms. Note: values lower that this could be assigned during Robust Design Optimization (see Section 5.1.7, "The Robust Design Work Flow Pattern").
Upper Bound: the maximum value that can be assigned to the variable by the DOE and scheduling algorithms. Note: values higher that this could be assigned during Robust Design Optimization (see Section 5.1.7, "The Robust Design Work Flow Pattern").
Base: the number of values (an integer) between the lower and the upper values (included) that are allowed for the variable. For example, if only integer values between 0 and 10 are to be allowed (11 possible values), the lower bound should be set to 0, the upper bound to 10, and the base to 11. A value of 0 for the base indicates that any real value between the lower and the upper bounds is legal (i.e., the variable is continuous). When the user modifies the step (see below) the base is automatically recomputed. Conversely, when the base is modified, the step is recomputed accordingly. Note that the base cannot be assigned the value 1.
Step: the distance (a real value) between two successive legal values for the variable. For example, if only integer values between 0 and 10 are to be allowed, the lower bound should be set to 0, the upper bound to 10, and the step to 1. The base will be set automatically to 11. Because the base must be an integer, the step is always adjusted so that dividing the range (upper minus lower bound) by the step always yields an integer value. A value of 0 for the step indicates that any real value between the lower and the upper bounds is legal (i.e., the variable is continuous).
Distribution: the distribution to be used to generate a scatter of values around the variable actual value for carrying out Robust Design Optimization (see Section 5.1.7, "The Robust Design Work Flow Pattern").
If the variable type is instead CONSTANT, the additional parameters are:
Value: the value that must be assigned to the variable in any design. Note: values different that this could be used during Robust Design Optimization (see Section 5.1.7, "The Robust Design Work Flow Pattern").
Distribution: the distribution to be used to generate a scatter of values around the variable value for carrying out Robust Design Optimization (see Section 5.1.7, "The Robust Design Work Flow Pattern").
Finally, if the variable type is EXPRESSION, the only additional parameter is:
Expression: the expression that must be used to compute the value for this variable. The expression must be a mathematical function of other input variables whose type is not EXPRESSION (i.e., either CONSTANT or VARIABLE). It can be either inserted manually, or the Expression Editor can be invoked by clicking on the Calculator icon next to the expression field.
This node receives no input.
The Input node output connector can be connected to one or more data input connectors. They must belong to a node of the following types:
Several error messages can be associated with an input node:
| 106 | INVALID BASE FOR INPUT VARIABLE | The base is set to one or to a value smaller than zero |
| 107 | INVALID BOUNDS FOR INPUT VARIABLE | The lower bound is larger than the upper bound |
| 109 | ILLEGAL VARIABLES IN EXPRESSION | The expression provided to compute the variable's value is illegal (only input variables of a type other than EXPRESSION are allowed) |
| 110 | MISSING EXPRESSION | The variable is of type EXPRESSION, but no expression has been provided |
| 112 | MISSING OUTPUT LINK(S) | The input node's output is not connected to any node |
| -1 | [An expression parser error] | The expression provided is not a legal expression, and cannot be evaluated properly. The actual message should help the user understand where the problem lies. |