.. _egor: Egor ==== Egor is the surrogate-based Efficient Global Optimization (EGO) optimizer from the open-source `EGObox `_ library. Egor uses `bayesian optimization `_ techniques well-suited to find the global optimum of an expansive-to-evaluate black-box function. Basically, it uses a surrogate model to approximate the objective function and an infill criterion (aka acquisition function) to guide the search for the optimum. The pyOptSparse wrapper is derivative-free and targets single-objective, bounded, continuous design spaces. Constraint values are passed to Egor with the pyOptSparse constraint convention transformed to :math:`c(x) \le 0`. Installation ------------ Egor is made available through the `egobox `_ Python package. .. prompt:: $ pip install egobox ``egobox`` is also available via conda-forge:: $ conda install -c conda-forge egobox Options ------- Please refer to the Egor help for a complete listing of options and their default values. .. prompt:: $ python >>> import egobox as egx >>> help(egx.Egor) >>> help(egx.GpConfig) pyoptSparse expects pickable objects while native Egor structures as GpConfig are not pickable. To workaround this constraint, the pyOptSparse Egor wrapper uses dictionaries which are accepted by Egor to update the default field values of Egor structures. Names and default values of the fields are provided in the descriptions below. .. optionstable:: pyoptsparse.pyEgor.pyEgor.Egor :filename: Egor_options.yaml