Optimization under uncertainty: understanding orders and testing programs with specifications
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. We analyze the interplay of orders in these contexts, demonstrate how standard minimization generalizes to partial orders in the multi-objective setting and how it can be lifted via monotonicity conditions to handle functorial uncertainty.
Cite
@article{arxiv.2503.18561,
title = {Optimization under uncertainty: understanding orders and testing programs with specifications},
author = {Patrik Jansson and Nicola Botta and Tim Richter},
journal= {arXiv preprint arXiv:2503.18561},
year = {2026}
}
Comments
27 pages, 5 figures. Submitted to the Journal of Functional Programming (JFP). This version updates the formatting to the new Episciences jfp-epi document class