3.6.3.5. Multiple sets of nominal values

If the factors have more than one possible nominal value, the OAT sampler can automatically build a design-of-experiments for each set of nominal values stored in the dataserver.

This information can be set manually, but an easier way is to write it inside a “Salome table” file (cf. Data handling for a description of the format). Below is a simple example of such a file:

#FILE_NAME: myNominalValues.dat
#COLUMN_NAMES: x1 | x2

0.0   10.0
5.0    3.0
-5.0   17.0

Still starting from the script of the example of Construction of a simple OAT design-of-experiments, the only step requiring modifications is the first one:

# step 1
tds = DataServer.TDataServer("tdsoat", "Data server for simple OAT design")
tds.fileDataRead("myNominalValues.dat")

The “step 2” is now useless and must be removed. The nominal values of the factors will be automatically loaded from the dataserver.

Now if we run the modified script, the result is:

********************************************************************************
*    Row   * tdsoat__n__iter *   x1 *   x2 * __nominal_set__ * __modified_att_ *
********************************************************************************
*        0 *               1 *    0 *   10 *               1 *              -1 *
*        1 *               2 *   -1 *   10 *               1 *               0 *
*        2 *               3 *    1 *   10 *               1 *               0 *
*        3 *               4 *    0 *    8 *               1 *               1 *
*        4 *               5 *    0 *   12 *               1 *               1 *
*        5 *               6 *    5 *    3 *               2 *              -1 *
*        6 *               7 *    4 *    3 *               2 *               0 *
*        7 *               8 *    6 *    3 *               2 *               0 *
*        8 *               9 *    5 *  2.4 *               2 *               1 *
*        9 *              10 *    5 *  3.6 *               2 *               1 *
*       10 *              11 *   -5 *   17 *               3 *              -1 *
*       11 *              12 *   -6 *   17 *               3 *               0 *
*       12 *              13 *   -4 *   17 *               3 *               0 *
*       13 *              14 *   -5 * 13.6 *               3 *               1 *
*       14 *              15 *   -5 * 20.4 *               3 *               1 *
********************************************************************************

The generated design contains \(3\times(2n+1)\) experiments. The attribute “__nominal_set__” now varies from 1 to 3, indicating which set of nominal value is taken as reference. The complete code can be found in Macro “samplingOATMulti.py”.