Solvers#

from OMADS import mads, poll, search

All three functions take a single argument, the problem dictionary or the path to a JSON file (see Configuration reference), and return a tuple whose first item is the results dictionary (see Outputs).

OMADS.mads#

OMADS._mads.mads.main(*args)[source]#

Run the full MADS algorithm: model search, poll and sampling search.

Each iteration selects the frame centres from the adaptive barrier, runs a cheap speculative and quadratic-model search (at most two evaluations), then the poll step unless the previous sampling search succeeded, and the sampling search after an unsuccessful poll.

Parameters:

args – args[0] is the problem, either a dictionary with the evaluator, param, options and search sections or the path to a JSON file holding them. An optional args[3] overrides the random seed.

Returns:

(output, poll_sampler, search_sampler) where output is a dictionary with the keys xmin, fmin, hmin, nbb_evals, niterations, nb_success, psize, psuccess, msize and HV (hypervolume, "NA" for single-objective problems).

Return type:

tuple

Example:

from OMADS import mads
out, poll_step, search_step = mads.main(data)

OMADS.poll#

OMADS._poll.poll.main(*args)[source]#

Run MADS with the poll step only (no search step).

Each iteration selects the frame centres from the adaptive barrier, polls around them with orthogonal Householder directions (ORTHO_2N or ORTHO_N+1) and updates the mesh and the barrier threshold. This solver also supports Pareto studies (param["is_pareto"]) and writing the poll trajectory (options["save_coordinates"]).

Parameters:

args – args[0] is the problem, either a dictionary with the evaluator, param and options sections or the path to a JSON file holding them. An optional args[3] overrides the random seed.

Raises:

IOError – if the barrier is empty at the end of the run.

Returns:

(output, poll_sampler) where output is the results dictionary (see OMADS._mads.mads.main()), with the extra keys Secondary fmin and Secondary hmin for the best infeasible point.

Return type:

tuple