###############################################################################
#######    Definition of Run Parameters attributes (DMultiMads)    ############
#####
##### . 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.
#####
###############################################################################
DMULTIMADS_EXPANSIONINT_LINESEARCH
bool
false
\( DMultiMads Expansion integer linesearch \)
\(

. DMultiMads Expansion integer linesearch. Is only active when the problem
  possesses integer variables.

. Argument: one boolean ('yes' or 'no')

. Example: DMULTIMADS_EXPANSIONINT_LINESEARCH yes

\)
\( advanced multi objective algorithm pareto front \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
DMULTIMADS_QUAD_MODEL_STRATEGY
NOMAD::DMultiMadsQuadSearchType
MULTI
\( Quad Model search strategies for DMultiMads \)
\(
. Quad model search strategy used by DMultiMads to generate trial points.

. Arguments: Quad model search strategy in:
    DMS   : uses the Direct MultiSearch strategy proposed for the Direct
    MultiSearch algorithm. The Quad Model search tries to find new non-
    dominated points by minimizing subsets of objectives in a local region
    centered around the current frame center; starting from one objective,
    until minimizing all objectives at the same time. At each level of
    combinations, the search checks if it finds a non-dominated solution.
    Otherwise, it increases the number of objectives considered. In the
    worst case, this strategy has to solve 2^nobj - 1 subproblems, that
    can be costly.
    DOM   : uses the Dominance Move strategy. In this case, the Quad model
    search tries to minimize a 'dominance move' single-objective function,
    and explores the objective space towards new non-dominated solutions
    according to the current set of solutions.
    MULTI : uses the MultiMads strategy. When the current frame center
    is an extreme solution of the current set of solutions, i.e., it
    minimizes one of the objective components, the Quad model search
    starts an expansion phase: it then tries to minimize further the
    considering objective component. Otherwise, the Quad model search
    tries to find new non-dominated solutions in a local region of
    the objective space defined by the current frame center and some
    of its 'closest' neighbors.

. This parameter is active only when QUAD_MODEL_SEARCH is set to TRUE.
  This is the case by default.

. Example: DMULTIMADS_QUAD_MODEL_STRATEGY DMS

\)
\( advanced multi objective algorithm pareto front \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
DMULTIMADS_MIDDLEPOINT_SEARCH
bool
false
\( DMultiMads Middle Point search \)
\(

. DMultiMads Middle Point search.

. Argument: one boolean ('yes' or 'no')

. Example: DMULTIMADS_MIDDLEPOINT_SEARCH no

\)
\( advanced multi objective algorithm pareto front \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
DMULTIMADS_MIDDLEPOINT_SEARCH_CACHE_MAX
size_t
50
\( DMultiMads middle point search \)
\(

. Number of times the Middle Point search for DMultiMads is allowed to
  consult the cache for each objective. When the maximum number of tentatives
  is reached, no point is generated by the Middle Point search for the current
  objective.

. Argument: one positive integer < INF.

. Example: DMULTIMADS_MIDDLEPOINT_SEARCH_CACHE_MAX 50

\)
\( advanced multi objective algorithm pareto front \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
DMULTIMADS_NM_STRATEGY
NOMAD::DMultiMadsNMSearchType
DOM
\( Nelder-Mead search strategies for DMultiMads \)
\(
. Nelder-Mead search strategy used by DMultiMads to generate trial points.

. Arguments: Nelder-Mead search strategy in:
    DOM   : uses the Dominance Move strategy. In this case, the NM search
    tries to minimize a 'dominance move' single-objective function, and
    explores the objective space towards new non-dominated solutions
    according to the current set of solutions.
    MULTI : uses the MultiMads strategy. When the current frame center
    is an extreme solution of the current set of solutions, i.e., it
    minimizes one of the objective components, the NM search starts
    an expansion phase: it then tries to minimize further the
    considering objective component. Otherwise, the NM search tries to
    find new non-dominated solutions in a local region of the objective
    space defined by the current frame center and some of its
    'closest' neighbors.

. This parameter is active only when NM_SEARCH is set to TRUE.
  This is the case by default.

. Example: DMULTIMADS_NM_STRATEGY MULTI

\)
\( advanced multi objective algorithm pareto front \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
DMULTIMADS_OPTIMIZATION
bool
false
\( DMultiMads solves multiobjective optimization problems \)
\(

. When BB_OUTPUT_TYPE contains more than one objective, DMultiMads algorithm
must be explicitly enabled.

. ChT. TODO modify the note. Pareto front can be output in a file.
. Note: It is recommended to output all evaluation points into a file (use
HISTORY_FILE). The user must do some post-processing for these results to obtain
 the approximation of the pareto front. Future version will have the option
 to output the pareto front in a file.

. Argument: bool

. Example: DMULTIMADS_OPTIMIZATION true

\)
\( advanced multi objective algorithm pareto front \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
DMULTIMADS_SELECT_INCUMBENT_THRESHOLD
size_t
1
\( Control the choice of the DMultiMads incumbent \)
\(

. Is set at this value at the initialization of the DMultiMads algorithm.

. The higher, the more potential candidates belonging to the current set of
non dominated solutions can be potentialy chosen as the current incumbent at a
given iteration. When DMULTIMADS_SELECT_INCUMBENT_THRESHOLD is equal to 0, only
points possessing a maximal frame size value can be selected as the current
incumbent.

. Argument: size_t

. Example: DMULTIMADS_SELECT_INCUMBENT_THRESHOLD 5

\)
\( advanced multi objective algorithm pareto front \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
DMULTIMADS_QMS_PRIOR_COMBINE_OBJ
bool
true
\( Select compute method for objective of DMultiMads quad model search \)
\(

. TODO select the correct option and get rid of the parameter

\)
\( advanced multi objective algorithm pareto front \)
ALGO_COMPATIBILITY_CHECK yes
RESTART_ATTRIBUTE yes
################################################################################
