####################################################################################
#####  Definition of Evaluator Control Parameters attributes (for main threads) ####
#####
##### . Each definition must be separated by at least a comment line
#####     (starting by #)
#####
##### . The definition must provide the name, type and default value
#####     (no default: '-' or 'N/A') in this order, one by line.
#####
##### . Only a single word is considered for the name,
#####     type and default value (extra is comment)
#####
##### . The short info, the help and the keywords must be provided in this
#####     order within "\(" and "\). For keywords, the plural part of a word
#####     can be put in parenthesis; both singular and plural will be keywords
#####
##### . The default value is automatically reported in the help.
#####
##### . In addition, the definition can have optional attributes:
#####       - ALGO_COMPATIBILITY_CHECK yes/no, the default is no. If yes, the
#####         value of this attribute can be used for comparing two sets of
#####         attributes for algorithm compatibility. This is used by the
#####         Runner.
#####
#####       - RESTART_ATTRIBUTE yes/no, the default is no. If yes, the
#####         value of this attribute can be modified during hot or warm
#####         restart. Otherwise, modifying this attribute during hot restart
#####         will trigger an error message.
#####
#####       - UNIQUE_ENTRY yes/no, the default is yes. If no, multiple
#####         values may be assigned to this parameter.
#####
################################################################################
# For now, only the boolean is implemented. No minimum number of
#success, no lucky eval, etc.
EVAL_OPPORTUNISTIC
bool
true
\( Opportunistic strategy: Terminate evaluations as soon as a success is found \)
\(

. Opportunistic strategy: Terminate evaluations as soon as a success is found

. This parameter is the default value for other OPPORTUNISTIC parameters,
   including Search steps

. This parameter is the value used for Poll step

. In addition, a custom criterion can also be provided (library mode only) in
 a callback function (see example in
 $NOMAD_HOME/examples/advanced/library/CustomOpportunistic )

. Argument: one boolean (yes or no)

. Type 'nomad -h opportunistic' to see advanced options

. Example: EVAL_OPPORTUNISTIC no  # complete evaluations

\)
\( advanced opportunistic oppor eval(s) evaluation(s) terminate list success(es) \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
EVAL_SURROGATE_OPTIMIZATION
bool
false
\( Use static surrogate as blackbox for optimization \)
\(
 . Use solely static surrogate instead of the blackbox for optimization.

 . In batch mode, SURROGATE_EXE needs to be defined.

 . In library mode, an Evaluator for SURROGATE eval type needs to be defined.

 . Argument: bool

 . Example: EVAL_SURROGATE_OPTIMIZATION true

 . See also: SURROGATE_EXE, MAX_SURROGATE_EVAL_OPTIMIZATION

\)
\( advanced static surrogate \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE no
################################################################################
EVAL_USE_CACHE
bool
true
\( Use cache in algorithms \)
\(
. When this parameter is false, the Cache is not used at all. Points may be
  re-evaluated.

. Recommended when DIMENSION is large and evaluations are not costly.

. Cache may be used for top algorithm, and disabled for a sub-algorithm.

. If CACHE_FILE is non-empty, cache file will still be read and written.

\)
\( advanced \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE no
################################################################################
EVAL_QUEUE_SORT
NOMAD::EvalSortType
QUADRATIC_MODEL
\( How to sort points before evaluation \)
\(
. Argument: One of DIR_LAST_SUCCESS, LEXICOGRAPHICAL, RANDOM, SURROGATE,
  QUADRATIC_MODEL, USER

. DIR_LAST_SUCCESS: Points that are generated in a direction similar to the
  last direction that provided a successful point are evaluated first.

. LEXICOGRAPHICAL: Points are sorted in lexicographical order before evaluation.

. RANDOM: Mix points randomly before evaluation, instead of sorting them.

. SURROGATE: Sort points using values given by static surrogate. See parameter SURROGATE_EXE.

. QUADRATIC_MODEL: Sort points using values given by dynamic quadratic models.

. USER: In library mode only. See example, $NOMAD_HOME/examples/advanced/library/CustomCompOrdering.
This is set automatically when providing the user compare priority class.

. Example: EVAL_QUEUE_SORT LEXICOGRAPHICAL

\)
\( advanced \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
PSD_MADS_SUBPROBLEM_MAX_BB_EVAL
size_t
INF
\( Max number of evaluations for each subproblem \)
\(

. Used in the context of Parallel Space Decomposition (PSD) MADS algorithm.

. Select the max number of evaluations in each Mads subproblem.

. Argument: a positive integer.

. Example: PSD_MADS_SUBPROBLEM_MAX_BB_EVAL 10

\)
\( advanced psd mads parallel decomposition subproblem \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE no
################################################################################
SUBPROBLEM_MAX_BB_EVAL
size_t
INF
\( Internal parameter for PSD_MADS_SUBPROBLEM_MAX_BB_EVAL \)
\(

. CANNOT BE MODIFIED BY USER. Internal parameter.

\)
\( internal \)
ALGO_COMPATIBILITY_CHECK no
RESTART_ATTRIBUTE no
################################################################################
