Tricks of the trade

NOMAD has default values for all algorithmic parameters. These values represent a compromise between robustness and performance obtained by developers on sets of problems used for benchmarking. But you might want to improve NOMAD performance for your problem by tuning the parameters or use advanced functionalities. The following sections provide tricks that may work for you.

Here are a few suggestions for tuning NOMAD when facing different symptoms. The suggestions can be tested one by one or all together.

Suggestions for tuning NOMAD

Symptom

Suggestion

Ref.

I want to see more display

Increase display degree

DISPLAY_DEGREE

Quantifiable constraints

Try PB EB or combinations

BB_OUTPUT_TYPE

Difficult constraint

Try PB instead of EB

BB_OUTPUT_TYPE

No initial point

Add a LH search

LH Search and X0

Variables of different magnitudes

Change blackbox input scaling

Create blackbox programs

Change \(\Delta_0\) per variable

INITIAL_MESH_SIZE and INITIAL_FRAME_SIZE

Tighten bounds

LOWER_BOUND and UPPER_BOUND

Many variables

Fix some variables

FIXED_VARIABLE

Use PSD-MADS

PSD-Mads

Unsatisfactory solution

Change direction type to 2N or N+1 UNI or N+1 NEG

DIRECTION_TYPE

Change initial point

LH Search and X0

Add a LH search

LH Search and X0

Add a VNS Mads search

VNS Mads Search

Tighten bounds

LOWER_BOUND and UPPER_BOUND

Change \(\Delta_0\)

INITIAL_MESH_SIZE and INITIAL_FRAME_SIZE

Modify seeds that affect algorithms

SEED

Disable quadratic models

set QUAD_MODEL_SEARCH no

Unable SGTELIB models

set SGTELIB_MODEL_SEARCH yes

Disable opportunistic evaluations

set EVAL_OPPORTUNISTIC no

Disable anisotropic mesh

set ANISOTROPIC_MESH no

Change anisotropy factor

set ANISOTROPY_FACTOR 0.05

Improvements get negligible

Change stopping criteria

Type nomad -h stop

Disable quadratic models

set QUAD_MODEL_SEARCH no

It takes long to improve \(f\)

Decrease \(\Delta_0\)

INITIAL_MESH_SIZE and INITIAL_FRAME_SIZE

Optimization is time consuming

Perform parallel blackbox evaluations

Blackbox evaluation of a block of trial points and Parallel evaluations

Blackbox is not that expensive

Setup maximum wall-clock time

remove MAX_BB_EVAL and set MAX_TIME

Add a LH search

LH Search and X0

Add a VNS Mads search

VNS Mads Search