Robust optimization¶
This section describes the theoretical framework behind the robust optimisation features of the platform.
General formulation¶
Let be a cost function that depends on
a design variable
and a random parameter
with known distribution.
Let
be a constraint function.
The robust optimization problem reads:
where is a robustness measure on the objective
and
a reliability measure on the constraint.
Both are statistical functionals evaluated over the random parameter
.
Robustness measures¶
These measures quantify the performance of a design in
the presence of uncertainty. They are used as the optimisation objective.
Mean¶
The MeanMeasure computes the expectation of the objective:
where is the probability density function of
.
This is the standard risk-neutral approach.
For discrete distributions, the integral reduces to a weighted sum:
Variance¶
The VarianceMeasure computes the variance of each output component:
This measure can be used for risk-averse optimisation.
Mean-Standard deviation tradeoff¶
The MeanStandardDeviationTradeoffMeasure computes a convex combination of the mean and the standard deviation for each output component:
where ,
and
is a trade-off coefficient.
Special cases:
gives the pure mean (risk-neutral),
gives the pure standard deviation,
gives equal weight to both.
Worst-case¶
The WorstCaseMeasure computes the extremal value of the function over the support of the distribution:
for minimization, or the supremum for maximisation.
For continuous distributions, this is a nested optimisation problem solved with an inner solver (default: TNC). For discrete distributions, the support is scanned exhaustively.
Quantile¶
The QuantileMeasure computes the -quantile of the
output distribution:
This requires solving where
is the cumulative distribution
function of the output. A Brent root-finding algorithm is used.
This measure is restricted to scalar (single-output) functions.
Reliability measures¶
These measures quantify the feasibility of a design under
uncertainty. They are used as constraints in the optimisation problem.
Joint chance constraint¶
The JointChanceMeasure computes the probability that all constraint
components are satisfied simultaneously, shifted by a target level
:
The integral is:
When a comparison operator other than Greater is used, the sign is
adjusted so that the constraint corresponds to
the desired reliability level.
Individual chance constraint¶
The IndividualChanceMeasure computes the probability that each constraint component is satisfied individually, shifted by per-component target levels:
for . The constraint
is interpreted component-wise.
Aggregated measure¶
The AggregatedMeasure concatenates the outputs of several measures into a single vector-valued measure:
This makes it possible to combine, for instance, a robustness measure on
the objective with a reliability measure on the constraint into a single
measure evaluation. It is used internally by the
RobustOptimizationProblem.
Robust optimization problem¶
The RobustOptimizationProblem class assembles the
robustness and reliability measures into a mathematical program:
Either the robustness measure or the reliability measure (or both) can be omitted, in which case the corresponding component remains deterministic. Concretely:
If
is omitted, the original deterministic objective is used.
If
is omitted, the original deterministic constraint is used.
If both are provided, they must share the same uncertainty distribution.
The problem may also include deterministic bound constraints via
setBounds().
Discretisation of measures¶
MeasureFactory converts a measure with a continuous distribution into a measure with a discrete (empirical) distribution:
where and
are generated by a
WeightedExperiment (e.g. Monte Carlo, LHS,
Sobol’ sequence). The discrete measure then replaces the integral by a
finite sum, making the optimisation problem tractable via standard
deterministic solvers.
Sequential Monte Carlo algorithm¶
The SequentialMonteCarloRobustAlgorithm is the
principal solver. It iteratively refines the discretisation and re-optimises
until convergence.
Algorithm¶
Key aspects:
Sample size: At each iteration, new samples are added to improve the accuracy of the discretisation. The increment function can be configured (default: add
new samples each iteration).
Multi-start: On the first iteration, an optional multi-start search (using LHS over the bounds) helps find a promising starting point.
Convergence: The algorithm stops when the design point change falls below the absolute error tolerance.
Solver tolerance: The inner deterministic solver tolerance is tightened as
where
is a configurable factor.
This sequential approach avoids committing to a fixed discretisation level a priori: the approximation improves as the optimisation progresses, leading to efficient and robust convergence.
otrobopt