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. 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.
翻译:优化领域中最普遍的问题之一是在有限集中找出所有使函数$f$达到最小值(或最大值)的元素。当$f$的值域配备全序关系时,该问题的通用解可以轻松地规范描述、实现与验证。但若$f$受不确定性影响呢?若需同时最小化多个目标值,或$f$不返回单一结果而是可能结果的集合乃至概率分布呢?此类情形在气候科学、经济学及工程领域中十分常见。要开发可信赖的不确定性优化求解方法,必须严谨地提出并回答这些问题,包括确定在不同情形下应采用的序关系。本文展示了函数式编程如何支持这一任务,并将其应用于规范描述和测试两类概念上不同的不确定性(数值不确定性和函子不确定性)影响下的优化求解方法。我们分析了这些情境中序关系的相互作用,论证了标准最小化方法如何推广到多目标场景中的偏序情形,以及如何通过单调性条件将其提升以处理函子不确定性。