Table of Contents
Fetching ...

Optimization under uncertainty: understanding orders and testing programs with specifications

Nicola Botta, Patrik Jansson, Tim Richter

TL;DR

The paper tackles optimization under uncertainty by generalizing core concepts of ${\min}$ and ${\mathrm{argmin}}$ to two uncertainty paradigms: value-based and functorial. It develops a rigorous, functionally inspired framework using Pareto optimality for multi-objective problems and introduces ${\mathrm{min}_u}$ and ${\mathrm{argmin}_u}$ that rely on uncertainty measures $\mu$ and a chosen uncertainty functor $U$, with precise monotonicity conditions (M1, M2). The authors provide formal specifications, executable implementations (e.g., ${\mathrm{paretoOpt}}$, ${\mathrm{bump}}$) and extensive property-based tests (QuickCheck) to validate the methods across identity, probability, and interval-like uncertainty. They also discuss sampling strategies, robustness considerations, and the relationship between value uncertainty and functorial uncertainty, illustrating practical pathways for verification and disciplined decision-making in climate, economics, and engineering contexts. Overall, the work lays groundwork for generic, testable, and potentially verifiable optimization under uncertainty that can be extended to formal proof environments.

Abstract

One of the most ubiquitous problems in optimization is that of finding all the elements of a finite set at which a function $f$ attains its minimum (or maximum). When the codomain of $f$ is equipped with a total order, it is easy to specify, implement, and verify generic solutions to this problem. But what if $f$ is affected by uncertainties? What if one seeks values that minimize more than one objective, or if $f$ does not return a single result but a set of possible results, or even a probability distribution? Such situations are common in climate science, economics, and engineering. Developing trustworthy solution methods for optimization under uncertainty requires formulating and answering these questions rigorously, including deciding which order relations to apply in different cases. We show how functional programming can support this task, and apply it to specify and test solution methods for cases where optimization is affected by two conceptually different kinds of uncertainty: value and functorial uncertainty.

Optimization under uncertainty: understanding orders and testing programs with specifications

TL;DR

The paper tackles optimization under uncertainty by generalizing core concepts of and to two uncertainty paradigms: value-based and functorial. It develops a rigorous, functionally inspired framework using Pareto optimality for multi-objective problems and introduces and that rely on uncertainty measures and a chosen uncertainty functor , with precise monotonicity conditions (M1, M2). The authors provide formal specifications, executable implementations (e.g., , ) and extensive property-based tests (QuickCheck) to validate the methods across identity, probability, and interval-like uncertainty. They also discuss sampling strategies, robustness considerations, and the relationship between value uncertainty and functorial uncertainty, illustrating practical pathways for verification and disciplined decision-making in climate, economics, and engineering contexts. Overall, the work lays groundwork for generic, testable, and potentially verifiable optimization under uncertainty that can be extended to formal proof environments.

Abstract

One of the most ubiquitous problems in optimization is that of finding all the elements of a finite set at which a function attains its minimum (or maximum). When the codomain of is equipped with a total order, it is easy to specify, implement, and verify generic solutions to this problem. But what if is affected by uncertainties? What if one seeks values that minimize more than one objective, or if does not return a single result but a set of possible results, or even a probability distribution? Such situations are common in climate science, economics, and engineering. Developing trustworthy solution methods for optimization under uncertainty requires formulating and answering these questions rigorously, including deciding which order relations to apply in different cases. We show how functional programming can support this task, and apply it to specify and test solution methods for cases where optimization is affected by two conceptually different kinds of uncertainty: value and functorial uncertainty.

Paper Structure

This paper contains 15 sections, 1 equation, 5 figures.

Figures (5)

  • Figure 1: Dominance, indifference and Pareto front ($p$-points) in $\mathbb{R}^2$: $p_2$ dominates $q_1$ and $q_3$; $p_3$ dominates $q_2$ and $q_3$; $q_1$ is indifferent to $p_1$ and $p_1$ is indifferent to $q_3$ but $q_1$ dominates $q_3$. The shaded area associated with each point represents the subset of $\mathbb{R}^2$ dominated by that point in the squared rectangle. The Pareto front of $\{ \mathit{p}_{1},\mathit{p}_{2},\mathit{p}_{3},\mathit{p}_{4},q_1,q_2,q_3 \}$ is $\{ \mathit{p}_{1},\mathit{p}_{2},\mathit{p}_{3},\mathit{p}_{4} \}$.
  • Figure 2: Benchmark MOO problem: objective functions.
  • Figure 3: Benchmark MOO problem, filtering a 250k sample: operational space and Pareto front (left, $\mathit{f}_{1}$ and $\mathit{f}_{2}$ values on the $\mathit{x}$ and $\mathit{y}$ axes, respectively) and control space (right) partitioning: safe (green), unsafe (red), safe and unsafe Pareto optimal (black) points.
  • Figure 4: Benchmark MOO problem, evolving a 2500 points sample after 22500 iterations (1/10 function evaluations as compared to \ref{['fig:MOObenchmark250k']}): operational space and Pareto front (left, $\mathit{f}_{1}$ and $\mathit{f}_{2}$ values on the $\mathit{x}$ and $\mathit{y}$ axes, respectively) and control space (right) partitioning: safe (green), unsafe (red), safe and unsafe Pareto optimal (black) points.
  • Figure 5: Pareto efficient manifolds for the worst-case (yellow) and for the best-case (green) measures: stable (1,3), unstable (1') and tipping (2) points.