gemseo.algos.aggregation.aggregation_func module#

Constraint aggregation methods.

Transform a constraint vector into one scalar equivalent or quasi equivalent constraint.

aggregate_iks(constr_fct, indices=None, rho=100.0, scale=1.0)[source]#

Constraints aggregation method for inequality constraints.

See [KH15].

Parameters:
  • constr_fct (MDOFunction) -- The initial constraint function.

  • indices (Sequence[int] | None) -- The indices to generate a subset of the outputs to aggregate. If None, aggregate all the outputs.

  • scale (float | ndarray) --

    The scaling factor for multiplying the constraints.

    By default it is set to 1.0.

  • rho (float) --

    The multiplicative parameter in the exponential.

    By default it is set to 100.0.

Returns:

The aggregated function.

Return type:

MDOFunction

aggregate_lower_bound_ks(constr_fct, indices=None, rho=100.0, scale=1.0)[source]#

Aggregate constraints for inequality constraints.

See [KH15] and [KS83].

Parameters:
  • constr_fct (MDOFunction) -- The initial constraint function.

  • indices (Sequence[int] | None) -- The indices to generate a subset of the outputs to aggregate. If None, aggregate all the outputs.

  • scale (float | ndarray) --

    The scaling factor for multiplying the constraints.

    By default it is set to 1.0.

  • rho (float) --

    The multiplicative parameter in the exponential.

    By default it is set to 100.0.

Returns:

The aggregated function.

Return type:

MDOFunction

aggregate_max(constr_fct, indices=None, scale=1.0)[source]#

Transform a vector of equalities into a max of all values.

Parameters:
  • constr_fct (MDOFunction) -- The initial constraint function.

  • indices (Sequence[int] | None) -- The indices to generate a subset of the outputs to aggregate. If None, aggregate all the outputs.

  • scale (float | ndarray) --

    The scaling factor for multiplying the constraints.

    By default it is set to 1.0.

Returns:

The aggregated function.

Return type:

MDOFunction

aggregate_positive_sum_square(constr_fct, indices=None, scale=1.0)[source]#

Transform a vector of equalities into a sum of squared constraints.

Parameters:
  • constr_fct (MDOFunction) -- The initial constraint function.

  • indices (Sequence[int] | None) -- The indices to generate a subset of the outputs to aggregate. If None, aggregate all the outputs.

  • scale (float | ndarray) --

    The scaling factor for multiplying the constraints.

    By default it is set to 1.0.

Returns:

The aggregated function.

Return type:

MDOFunction

aggregate_sum_square(constr_fct, indices=None, scale=1.0)[source]#

Transform a vector of equalities into a sum of squared constraints.

Parameters:
  • constr_fct (MDOFunction) -- The initial constraint function.

  • indices (Sequence[int] | None) -- The indices to generate a subset of the outputs to aggregate. If None, aggregate all the outputs.

  • scale (float | ndarray) --

    The scaling factor for multiplying the constraints.

    By default it is set to 1.0.

Returns:

The aggregated function.

Return type:

MDOFunction

aggregate_upper_bound_ks(constr_fct, indices=None, rho=100.0, scale=1.0)[source]#

Aggregate constraints for inequality constraints.

See [KH15] and [KS83].

Parameters:
  • constr_fct (MDOFunction) -- The initial constraint function.

  • indices (Sequence[int] | None) -- The indices to generate a subset of the outputs to aggregate. If None, aggregate all the outputs.

  • scale (float | ndarray) --

    The scaling factor for multiplying the constraints.

    By default it is set to 1.0.

  • rho (float) --

    The multiplicative parameter in the exponential.

    By default it is set to 100.0.

Returns:

The aggregated function.

Return type:

MDOFunction

check_constraint_type(function_type)[source]#

Decorate a function to check whether it is of the expected type.

Parameters:

function_type (str) -- The expected function type, "ineq" or "eq".

Returns:

The decorated function.

Return type:

Callable[[Callable[[Any], Any]], Callable[[Any], Any]]