gemseo / algos / opt / core

trust_updater module

Updates a trust parameter according to a decreases ratio

Classes:

BoundsUpdater(lower_bounds, upper_bounds[, ...])

Updates trust bounds, i.e. trust ball w.r.t.

PenaltyUpdater([thresholds, multipliers, bound])

Updates the penalty parameter.

RadiusUpdater([thresholds, multipliers, bound])

Updates the trust region radius.

TrustUpdater([thresholds, multipliers, bound])

Updates the trust parameter.

class gemseo.algos.opt.core.trust_updater.BoundsUpdater(lower_bounds, upper_bounds, normalize=False)[source]

Bases: object

Updates trust bounds, i.e. trust ball w.r.t.

the infinity norm.

Initializer.

Parameters
  • lower_bounds (ndarray) – reference lower bounds

  • upper_bounds (ndarray) – reference upper bounds

  • normalize

    if True the radius is applied to the normalized bounds

    By default it is set to False.

  • normalize

    bool, optional

    By default it is set to False.

Methods:

update(radius, center)

Updates the trust bounds.

update(radius, center)[source]

Updates the trust bounds.

Parameters
  • radius (float) – region radius w.r.t. the infinity norm

  • center (ndarray) – region center

Returns

new region radius, iteration success (boolean)

class gemseo.algos.opt.core.trust_updater.PenaltyUpdater(thresholds=(0.0, 0.25), multipliers=(0.5, 2.0), bound=1e-06)[source]

Bases: gemseo.algos.opt.core.trust_updater.TrustUpdater

Updates the penalty parameter.

Initializer.

Parameters
  • thresholds (tuple) –

    thresholds for the decreases ratio

    By default it is set to (0.0, 0.25).

  • multipliers (tuple) –

    multipliers for the penalty parameter

    By default it is set to (0.5, 2.0).

  • bound

    lower bound for the penalty parameter

    By default it is set to 1e-06.

Methods:

update(ratio, parameter)

Updates the penalty parameter.

update(ratio, parameter)[source]

Updates the penalty parameter.

Parameters
  • ratio – decreases ratio

  • parameter – penalty parameter

Returns

new penalty parameter, iteration success (boolean)

class gemseo.algos.opt.core.trust_updater.RadiusUpdater(thresholds=(0.0, 0.25), multipliers=(0.5, 2.0), bound=1000.0)[source]

Bases: gemseo.algos.opt.core.trust_updater.TrustUpdater

Updates the trust region radius.

Initializer.

Parameters
  • thresholds (tuple) –

    thresholds for the decreases ratio

    By default it is set to (0.0, 0.25).

  • multipliers (tuple) –

    multipliers for the region radius

    By default it is set to (0.5, 2.0).

  • bound

    lower bound for the region radius

    By default it is set to 1000.0.

Methods:

update(ratio, parameter)

Updates the trust radius.

update(ratio, parameter)[source]

Updates the trust radius.

Parameters
  • ratio – decreases ratio

  • parameter – region radius

Returns

new region radius, iteration success (boolean)

class gemseo.algos.opt.core.trust_updater.TrustUpdater(thresholds=None, multipliers=None, bound=None)[source]

Bases: object

Updates the trust parameter.

Initializer.

Parameters
  • thresholds (tuple) –

    thresholds for the decreases ratio

    By default it is set to None.

  • multipliers (tuple) –

    multipliers for the trust parameter

    By default it is set to None.

  • bound

    (lower or upper) bound for the trust parameter

    By default it is set to None.

Methods:

update(ratio, parameter)

Updates the trust parameter relative to the decreases ratio value.

update(ratio, parameter)[source]

Updates the trust parameter relative to the decreases ratio value. Method to be overidden by subclasses.

Parameters
  • ratio – decreases ratio

  • parameter – trust parameter (radius or penalty)

Returns

new trust parameter, iteration success

Return type

bool