Mixed-Integer Optimization with Constraint Learning

摘要

我们为具有学习约束的混合整数优化建立了广泛的方法基础。我们提出了一种用于数据驱动决策的端到端管道,其中使用机器学习直接从数据中学习约束和目标,并将训练好的模型嵌入到优化公式中。 我们利用许多机器学习方法的混合整数优化表示性,包括线性模型、决策树、集成和多层感知器。 多种方法的考虑使我们能够捕捉决策、上下文变量和结果之间的各种潜在关系。 我们还使用观察的凸包来表征决策信任区域,以确保可靠的建议并避免外推。 我们使用列生成和聚类有效地结合了这种表示。 结合领域驱动的约束和目标项,嵌入式模型和信任域定义了一个混合整数优化问题,用于处方生成。
我们将此框架实现为 Python 包 (OptiCL),供从业者使用。 我们在化疗优化和世界粮食计划署计划中展示了该方法。 案例研究说明了该框架在生成高质量处方方面的优势、信任区域的附加值、多种机器学习方法的结合以及多种学习约束的包含。

引言

混合整数优化 (MIO) 是一个强大的工具,它允许我们在各种约束条件下优化给定目标。 这种在约束下优化的一般问题陈述在决策制定中几乎是普遍的。 有些问题具有易于量化和明确的目标和约束,在这种情况下可以直接应用 MIO。 然而,当限制和/或目标不明确时,情况会变得更加复杂。
例如,假设我们处理癌性肿瘤并希望开具毒性限制的治疗方案; 我们可能有关于治疗及其毒性结果的观察数据,但我们没有将治疗决定与其产生的毒性联系起来的自然功能。 我们也可能遇到无法直接量化的约束。 考虑一个我们想要推荐一种饮食的环境,该饮食由食物和数量的组合定义,足够“可口”。 适口性不能写成食物选择的函数,但我们可能有关于人们“喜欢”各种潜在饮食处方的定性数据。 在这两个例子中,我们不能直接将感兴趣的结果表示为我们决策的函数,但我们有将结果和决策联系起来的数据。 这就提出了一个问题:我们如何考虑数据来学习这些功能?
在这项工作中,我们通过结合机器学习 (ML) 和 MIO 方法来应对数据驱动决策的挑战。 ML 允许我们直接通过数据学习将决策与感兴趣的结果相关联的功能。 重要的是,许多流行的 ML 方法产生的函数是 MIO 可表示的,这意味着它们可以嵌入到 MIO 公式中。 这个 MIOrepresentable 类包括线性和非线性模型,使我们能够捕获数据中广泛的基础关系。 虽然直接从数据中学习函数的想法是 ML 领域的核心,但由于需要决策变量和结果之间的函数关系,数据在 MIO 设置中通常未被充分利用。 我们寻求通过约束学习来弥合这一差距; 我们提出了一个通用框架,允许我们使用 ML 直接从数据中学习约束和目标,并使用 MIO 相应地优化决策。
一旦学习到的约束被合并到更大的 MIO 中,我们就可以直接使用现成的求解器来解决问题。
在这项工作中多次使用的术语约束学习,既包含约束又包含目标函数。 我们从根本上学习功能,将我们的决策变量与感兴趣的结果联系起来。 然后可以将预测值合并为约束或客观项; 模型学习和嵌入过程基本保持不变。 出于这个原因,我们将它们都放在约束学习的同一保护伞下。 我们将在第 2.2 节中进一步描述这一点。
1.1文献回顾
以前的工作已经证明了在 MIO 问题中使用各种 ML 方法及其在不同应用领域中的实用性。 这些方法中最简单的是回归函数,因为该方法易于理解且易于实现。 给定从数据中学习的回归函数,将其合并到 MIO 模型中的过程很简单,最终模型不需要复杂的重新表述。 例如,Bertsimas 等人。 (2016) 使用回归模型和 MIO 根据先前临床试验的现有数据开发新的化疗方案。 Kleijnen (2015) 提供了有关此主题的更多信息。
更复杂的 ML 模型也被证明是 MIO 可表示的,尽管比简单的回归模型需要更多的努力来表示它们。 使用 ReLU 激活函数的神经网络可以使用二元变量和 big-M 公式来表示(Amos 等人2016 年,格里姆斯塔和安德森 2019 年,安德森等人。 2020,陈等人。 2020 年,Spyros 2020 年,Venzke 等人。 2020)。 在使用其他激活函数的情况下(Gutierrez-Martinez 等人 2011、Lombardi 等人 2017、Schweidtmann 和 Mitsos 2019),只要求解器能够处理这些函数,神经网络的 MIO 表示仍然是可能的。
使用决策树,树中从根到叶节点的每条路径都可以使用一个或多个约束来表示(Bonfietti et al. 2015, Verwer et al. 2017, Halilbasic et al. 2018)。 表示决策树所需的约束数量是树大小的函数,越大树需要更多的线性化和二进制变量。 然而,这里的优势在于决策树具有高度可解释性,这通常是 ML 在关键应用程序设置中的要求(Thams et al. 2017)。 随机森林 (Biggs et al. 2021, Mišić 2020) 和其他树集合 (Cremer et al. 2019) 也以与决策树相同的方式在 MIO 中使用,森林/集合中的每棵树都有一组约束 以及一个或多个额外的聚合约束。
用于约束学习的数据可以包含关于连续数据、可行和不可行状态(两类数据)或仅一种状态(一类数据)的信息。 最近使用决策树 (Kud la and Pawlak 2018)、遗传编程 (Pawlak and Krawiec 2019)、局部搜索 (Sroka and Pawlak 2018) 研究了从一类数据中学习函数并将其嵌入到优化模型中的问题 )、进化策略 (Pawlak 2019),以及聚类、主成分分析和包裹椭球体的组合 (Pawlak and Litwiniuk 2021)。
上述选定的应用程序通常涉及要学习的单个函数和用于模型选择的固定 ML 方法。 Verwer 等人。 (2017) 在特定的拍卖设计应用程序中使用两个模型类(决策树和线性模型),但在这种情况下,模型是先验确定的。 一些作者提出了一个更通用的框架,将学习到的 ML 模型嵌入到优化问题中(Lombardi et al. 2017, Bergman et al. 2019),但在实践中,这些工作仅限于有限的问题结构和学习到的模型类。 最近,伯格曼等人(2019 年)引入了一种软件,将神经网络以及逻辑和线性回归模型作为客观术语嵌入到 MIO 公式中。 这些作品可以被视为我们框架的特例,不能直接应用于我们的案例研究。 我们采取更广泛的视角,提出了一个全面的端到端管道,其中包含数据驱动决策问题的完整 ML 和优化组件。
我们的工作属于规范分析的范畴。 Bertsimas 和 Kallus (2020) 以及 Elmachtoub 和 Grigas (2021) 将 ML 模型预测作为优化问题的输入。 我们的方法与现有工作的不同之处在于我们直接嵌入 ML 模型而不是提取预测,使我们能够优化我们对模型的决策。 在最广泛的意义上,我们的框架涉及联合利用 ML 和 MIO 的工作,这是近年来在优化和机器学习社区中引起了极大兴趣的一个领域(Bengio 等人,2021 年)。
1.2 贡献
我们的工作以全面的方式统一了几个研究领域。 我们的主要贡献如下:
1. 我们开发了一个端到端的框架,它获取数据并直接实现模型训练、模型选择、集成到更大的 MIO 中,并最终进行优化。 我们将其作为开源软件 OptiCL(约束学习优化)提供,以提供对从业者友好的工具,以做出更好的数据驱动决策。 该代码可在 https://github.com/hwiberg/OptiCL 获得。
2. 我们实施了一个模型选择程序,使我们能够捕捉上下文变量、治疗和结果之间非常普遍的功能关系。 我们使用交叉验证从广泛的 ML 方法中进行选择,假设没有单一模型占主导地位,并进一步允许针对不同结果组合使用不同算法。 我们的框架支持回归和分类函数的模型,并在一类和二类数据的情况下处理约束学习。 此外,我们给出了 ML 函数的数学表示,以使其能够在 MIO 应用程序中使用。
3. 由于与从数据中学习相关的不确定性,我们引入了一个我们称之为信任区域的概念。 这允许我们将优化问题的解决方案限制为与预测模型的域一致。 在需要学习大量数据的情况下定义此信任区域可能是计算密集型的,因此我们还提供了一种列选择算法,可显着缩短计算时间。 我们还提出了一种用于一般 MIO 公式的聚类启发式算法,该公式在获得接近最优性的同时显示出显着的计算增益。 这些方法使我们能够减少我们方法的计算负担,同时保持信任区域的好处。
4. 我们使用来自世界粮食计划署和化疗临床试验的数据,在两个真实案例研究中展示了我们方法的强大功能。 我们在各个领域提出相关问题,并将其形式化为约束学习问题。 我们实现了我们的框架,随后评估了我们方法在这些设置中的定量性能和可扩展性。

2 方法

假设我们有数据 D = { (x̄ i , w̄ i , ȳ i ) } N i=1 ,观察到的治疗决策 x̄ i 、上下文信息 w̄ i 和样本 i 的感兴趣结果 ȳ i 。 遵循 Fajemisin 等人提出的指导方针。 (2021 年),我们提出了一个框架,该框架在给定数据 D 的情况下,学习要约束或优化的感兴趣结果 (y) 的函数。 然后可以使用这些学习到的表示来为具有上下文 w 的新观察生成预测。 图 1 概述了完整的流水线,下面的部分将对此进行详细介绍。
2.1 概念模型
给定决策变量 x ∈ R n 和固定特征向量 w ∈ R p ,我们提出模型 M(w)
(1)
其中 f (., w, .) : R n+k 7→ R, g(., w, .) : R n+k 7→ R m , ĥ D (., w) : R n 7→ R ķ。 f 和 g 的显式形式是已知的,但它们可能仍取决于预测结果 y。 这里,ĥ D (x, w) 表示预测模型,每个感兴趣的结果一个,它们是在 D 上训练的 ML 模型。 尽管我们随后的讨论主要围绕线性函数展开,但我们承认非线性(凸)整数求解器的重大进展。 我们的讨论可以很容易地扩展到那些不断改进的求解器可以解决的非线性模型。
figure 1
我们注意到,单个学习结果的嵌入可能需要多个约束和辅助变量; 嵌入公式在第 2.2 节中描述。 为简单起见,我们在 ĥ 的进一步表示中省略了 D,但请注意,所有对 ĥ 的引用都隐含地依赖于用于训练模型的数据。 最后,集合 X (w) 定义了信任区域,即我们信任嵌入式预测模型的解决方案集合。 在 2.3 节中,我们详细描述了如何从观察到的数据中获得信任区域 X (w)。 我们将具有嵌入式约束和变量的最终 MIO 公式称为 EM(w)。
模型 M(w) 非常通用,包含几个重要的约束学习类:
1.回归当训练模型由回归问题产生时,它可以受指定的上限 τ 约束,即 g(y) = y - τ ≤ 0,或下限 τ ,即 g(y) = - y + τ ≤ 0。
如果 y 是一个向量(即多输出回归),我们同样可以为约束提供一个阈值向量 τ。
2.分类 如果训练好的模型是用二元分类算法得到的,其中数据被标记为“可行”(1)或“不可行”(0),那么预测通常是概率 y ∈ [0, 1]。 我们可以强制执行可行性概率的下限,即 y ≥ τ 。
τ 的自然选择是 0.5,这可以解释为强制结果更可能可行。 这也可以扩展到多类设置,比如 k 个类,其中输出 y 是一个 k 维单位向量,并且我们对所需的任何类 i 应用约束 y i ≥ τ。 当多个类被认为是可行的时,我们可以添加二元变量以确保解决方案是可行的,只有当它以足够高的概率落入其中一个类时。
3. 目标函数 如果目标函数有一个术语也可以通过训练 ML 模型来学习,那么我们可以引入一个辅助变量 t ∈ R,并将其与一个题词约束一起添加到目标函数中。 为简单起见,假设模型涉及单个学习目标函数 ĥ,并且没有学习约束。 那么一般模型就变成了
()
尽管我们已经重写了问题以显示我们模型的一般性,但在实践中使用 y 在目标中并省略辅助变量 t 是很常见的。
我们观察到,根据模型训练方法,可以通过两种方式应用对学习结果的约束。 假设我们有一个连续的标量结果 y 要学习并且我们想要强加 τ ∈ R 的上限(它也可以是不失一般性的下限)。
第一种方法称为函数学习,涉及我们在不考虑可行性阈值 (τ) 的情况下学习回归函数 ĥ(x, w) 的所有情况。 生成的模型返回预测值 y ∈ R。然后将阈值用作优化模型中的约束,因为 y ≤ τ 。 或者,我们可以使用可行性阈值 τ 将 D 中每个样本的结果二值化为可行和不可行,即 ? i := I(? i ≤ τ ), i = 1, 。 . . , N , 其中 I 代表指标函数。 在重新标记之后,我们训练了一个二元分类模型 ĥ(x, w),它返回概率 y ∈ [0, 1]。 这种称为指示函数学习的方法不需要在优化模型中进一步使用可行性阈值 τ,因为预测模型直接编码可行性。
当我们有兴趣将阈值 τ 作为模型参数进行更改时,函数学习方法特别有用。 此外,如果拟合过程很昂贵,因此难以多次执行,则为每个潜在的 τ 学习一个指示函数可能是不可行的。 相反,当原始数据包含二进制标签而不是连续结果时,指示函数学习方法是必要的,因此我们无法选择或改变 τ。
2.2 整数规划表示预测模型
我们的框架能够将学习的预测模型嵌入到具有线性约束的 MIO 公式中。 这对于许多类别的 ML 模型都是可能的,从线性模型到集成,从支持向量机到神经网络。 在本节中,我们将详细介绍嵌入过程。 在所有情况下,模型都经过了预训练; 我们将训练好的模型 ĥ(x, w) 嵌入到我们更大的 MIO 公式中,以允许我们约束或优化结果预测值。 因此,优化模型不取决于模型训练过程的复杂性,而仅取决于最终训练模型的大小。 不失一般性,我们假设 y 是一维的; 也就是说,我们正在学习一个模型,这个模型返回一个标量,而不是一个多输出向量。
以下所有方法都可用于学习将上限或下限应用于 y 的约束,或学习我们作为目标一部分合并的 y。 当 ĥ(x, w) 是连续或二元预测模型时,我们提出了两种情况下的模型嵌入过程,如果相关的话。
我们假设回归或分类模型都可用于学习可行性约束,如第 2.1 节所述。
线性回归 线性回归 (LR) 是预测函数的自然选择,因为它具有固有的线性和易于嵌入。 可以训练回归模型来预测感兴趣的结果 y,作为 x 和 w 的函数。 该算法可以选择使用正则化; 嵌入只需要最终的系数向量 β x ∈ R n 和 β w ∈ R p (以及截距项 β 0 )来描述模型。 然后可以将模型嵌入为
()
支持向量机。 支持向量机 (SVM) 使用超平面分割来生成预测,用于分类 (Cortes and Vapnik 1995) 和回归 (Drucker et al. 1997)。
我们考虑线性 SVM 的情况,因为这允许我们获得作为决策变量 x 的线性函数的预测。 在我们用于函数学习的线性支持向量回归 (SVR) 中,我们将线性函数拟合到数据中。 该设置类似于线性回归,但损失函数只惩罚大于阈值的残差(Drucker et al. 1997)。 与线性回归一样,经过训练的模型返回一个具有系数 β x 、 β w 和 β 0 的线性函数。
最后的预测是
()
对于分类设置,线性支持向量分类 (SVC) 确定了一个最能区分正样本和负样本的超平面 (Cortes and Vapnik 1995)。 经过训练的 SVC 模型类似地返回系数 β x 、 β w 和 β 0 ,其中样本的预测由下式给出
()
在 SVC 中,输出变量 y 是二进制而不是概率。 在这种情况下,约束可以嵌入为 y ≥ 1。
决策树 决策树通过一系列特征分割将观察结果划分为不同的叶子。 这些算法在预测任务中很受欢迎,因为它们具有自然的可解释性和捕捉变量之间非线性相互作用的能力。 布雷曼等人。 (1984)首先引入了分类和回归树(CART),它通过特征空间中的平行分割来构造树。 随后对决策树算法进行了调整和扩展。 Bertsimas 和 Dunn (2017) 提出了一种替代决策树算法,即最优分类树(和最优回归树),该算法通过近似全局最优树的优化框架改进了基本决策树公式。 最优树还支持多特征拆分,称为超平面拆分,允许对特征的线性组合进行拆分(Bertsimas, D. and Dunn, J. 2018)。
图 2 显示了深度为 2 的通用决策树。节点 i 处的拆分由不等式 A > i x ≤ b i 描述。 我们假设 A 可以有多个非零元素,其中我们有超平面分割设置; 如果只有一个非零元素,则会创建并行(单个特征)拆分。 每个终端节点 j(即叶)为其观察结果产生一个预测(p j )。 在回归的情况下,预测是叶子中训练观察的平均值,而在二元分类中,预测是叶子成员与可行类的比例。 每个叶子都可以描述为一个多面体,即>所有叶子成员必须满足的一组线性约束。 例如,对于节点 3,我们定义 P 3 = x : A > 1 x ≤ b 1 ,A 2 x ≤ b 2 。
假设我们希望将这棵树的预测值限制为至多 τ,一个固定常数。 在获得图 2 中的树后,我们可以确定哪些路径满足所需的界限 (p i ≤ τ )。 假设 p 3 和 p 6 确实满足界限,但 p 4 和 p 7 不满足。 在这种情况下,我们可以强制我们的解决方案属于 P 3 或 P 6 。 如果我们只能访问两类数据(可行与不可行),则同样的方法适用; 我们可以直接训练一个二元分类算法和强制解决方案位于“可行”预测叶之一(由设定的概率阈值确定)。
figure2
如果决策树提供了我们唯一学习到的约束,我们可以将问题分解为多个单独的 MIO,每个可行叶一个。 叶 i 的子问题的概念模型变为
()
其中叶 i 的子问题的学习约束由多面体 P i 隐式表示。 这些子问题可以并行求解,得到所有子问题的最小值作为最优解。 此外,如果所有决策变量 x 都是连续的,则这些子问题是线性优化问题 (LO),可以提供可观的计算增益。 这将在附录 A.2 中进一步探讨。
在决策树形成许多约束之一的更一般的设置中,或者我们对改变模型内的 τ 限制感兴趣,我们可以直接将模型嵌入到更大的 MIO 中。 我们添加表示每个叶子的二进制变量,并将 y 设置为分配叶子的预测值。 一个观察只能分配给一个叶子,如果它遵守它的所有约束; 树的结构保证完全满足一条路径,因此,叶子分配是唯一确定的。 属于 P 3 的解决方案将继承 y = p 3 。 然后,y 可以用于约束或目标。 嵌入式决策树的完整公式包含在附录 A.1 中。
集成方法 集成方法,例如随机森林 (RF) 和梯度提升机 (GBM),由许多决策树组成,这些决策树被聚合以获得给定观察的单个预测。 因此,这些模型可以通过嵌入许多“子模型”来实现(Breiman 2001)。 假设我们有一个有 P 棵树的森林。 每棵树都可以嵌入为具有附录 A.1 中的约束的单个决策树(参见上一段),这会产生预测值 y i 。
RF 模型通常通过对各个树的预测取平均值来生成预测:
()
然后可以将其用作目标中的术语,或受上限约束为 y ≤ τ ; 对于下限,这可以等效地完成。 在分类设置中,预测平均每个模型返回的概率(y i ∈ [0, 1]),同样可以进行约束或优化。
或者,我们可以进一步利用这样一个事实,即与返回单个预测的其他模型类不同,RF 模型生成 P 个预测,每棵树一个。 在约束预测时,我们可以选择施加违规限制,强制约束必须适用于森林中的大多数树木,但可以通过比例 α ∈ [0, 1] 违反。 通过丢弃少量潜在的异常值预测,这允许对单个模型预测具有一定程度的鲁棒性:
()
请注意,α = 0 对森林中的所有树强制执行界限,产生最保守的估计,而 α = 1 完全消除了约束。
在 GBM 的情况下,我们有一组基础学习器,它们不一定是决策树。 然后将模型输出计算为
()
其中 y i 是第 i 个回归模型 ĥ i (x, w) 的预测值,β i 是与预测相关的权重。 尽管树通常用作基础学习器,但理论上我们可以使用本节讨论的任何 MIO 可表示的预测模型。
神经网络。 我们实现了具有校正线性单元 (ReLU) 激活函数的多层感知器 (MLP),它形成了 MIO 可表示的神经网络类别 (Grimstad and Andersson 2019, Anderson et al. 2020)。 这些网络由一个输入层、L-2 个隐藏层和一个输出层组成。 在网络的给定隐藏层 l 中,具有节点 N l ,节点 i ∈ N l 的值,表示为 v i l ,使用前一层节点值的加权和计算,然后是 ReLU 激活函数 ReLU (x) = 最大 { 0, x } 。 该值给出为
()
其中 β i l 是第 l 层中节点 i 的系数向量。 这种输入空间在多个节点(和层)上的非线性变换允许 MLP 捕获其他算法无法充分编码的复杂函数,使其成为一类强大的模型。
至关重要的是,ReLU 算子 v = max { 0, x } 可以使用线性约束进行编码,详见附录 A.3。 MLP 网络的约束可以从输入层开始递归生成,每个内部层中的每个节点都有一组 ReLU 约束,l ∈ { 2, . . . , L - 1 } .
这允许我们将具有任​​意数量的隐藏层和节点的经过训练的 MLP 嵌入到 MIO 中。 在回归设置中,输出层 L 由单个节点组成,该节点是层 L-1 中节点值的线性组合,因此可以直接编码为
()
在二元分类设置中,输出层需要一个具有 sigmoid 激活函数 S(x) = 1 的神经元。
1+e -x 该值给出为
()
v L ∈ (0, 1)。 这个函数是非线性的,因此不能直接嵌入到我们的公式中。 然而,如果 τ 是我们想要的概率下限,那么当 β 0 L + β L> v L−1 ≥ τ ln 1−τ 时,它就会得到满足。 因此,神经网络的输出,用阈值 τ 进行二值化,由下式给出
()
例如,在阈值 τ = 0.5 时,当 β 0 L + β L> v L−1 ≥ 0 时,预测值为 1。这里,可以根据预测为 1 的最小必要概率来选择 τ。 SVC 情况下,y 是二元的,并且约束可以嵌入为 y ≥ 1。对于为多类分类训练的神经网络的情况,我们参考附录 A.4。
2.3 凸包作为信任区域
由于优化问题的最优解通常处于可行区域的极端,这可能会影响训练的 ML 模型的有效性。 一般来说,对于远离 D 中数据点的点,预测模型的准确性会下降(Goodfellow et al. 2015)。 为了缓解这个问题,我们使用了一个所谓的信任区域来防止预测模型进行外推。 根据 Ebert 等人的说法。 (2014),当数据被凸形边界包围时,该边界内的区域称为插值区域。
这个插值区域也称为凸包,通过排除凸包之外的解,我们可以防止外推。 如果 Z = { z̄ i } N i=1 是观察到的输入数据集合,其中 z̄ i = (x̄ i , w̄ i ),我们将信任区域定义为该集合的凸包,并用 CH( Z ) 表示 .
figure 3
回想一下,CH(Z) 是包含点集 Z 的最小凸多面体。 众所周知,计算凸包在时间和空间上相对于数量是指数的样本及其维度(Skiena 2008)。 然而,由于凸包是一个多面体,它的刻面的显式表达是不必要的。 更准确地说,CH(Z) 表示为
()
其中 λ ∈ R N , 且 I = { 1, . . . , N } 是 Z 中样本的索引集。
在如图 3a 所示的情况下,CH(Z) 包括数据点很少或没有数据点的区域(低密度区域)。 如果在低密度区域找到解决方案,则在这种情况下盲目使用 CH(Z) 可能会出现问题。 因此,我们提倡使用两步法。 首先,聚类用于识别不同的高密度区域,然后将信任区域表示为各个聚类的凸包的并集(图 3b)。
我们可以为每个集群求解 EM(w),或者嵌入 |K| 的并集 凸包到由给出的 MIO 中
()
其中 Z k ⊆ Z 是指簇 k ∈ K 中具有索引集 I k ⊆ I 的样本子集。 凸包的并集要求二元变量 uk 将可行解约束为恰好位于其中一个凸包中。 更准确地说,u k = 1 对应于第 k 个集群的凸包。
正如我们在第 3 节中所展示的,为每个集群求解 EM(w) 可以并行完成,其中对计算时间的积极影响。 我们注意到公式 (2) 和 (3) 都假设 z̄ 是连续的。 这些公式可以扩展到具有二进制、分类和有序特征的数据集。 在分类特征的情况下,需要对域和 one-hot 编码的额外约束。
除了为预测模型嵌入信任区域之外,这种方法还为一类约束学习提供了独立价值,这是文献中经常研究的问题(Pawlak 2019、Pawlak 和 Litwiniuk 2021)。 在这里,数据仅由可行样本组成,因此第 2.2 节中讨论的预测模型(需要可行和不可行样本)不再适用。 一个典型的例子发生在现实世界的业务流程中,比如机器调度。 机械车间主管创建的大多数计划都是可行的,即使它们可能不是最佳的。
因此,不可行的时间表是如此罕见,以至于它们可能不是数据集的一部分。 我们通过采用两步法来处理这一类约束学习任务,我们首先聚类以识别单独的高密度区域,然后使用凸包的并集来表示信任区域。
虽然凸包可以用线性约束来表示,但 EM(w) 中的变量数量会随着数据集大小的增加而增加,这可能会在样本数量变得太大时使优化过程望而却步。 因此,我们提供了一种列选择算法,可以选择样本的一小部分。 当所有变量都是连续的时,该算法可用于 EM(w)。 图 4 直观地演示了该过程; 我们从完整数据的任意样本开始,并使用列选择迭代地添加样本 z̄ i 直到找不到改进。 在附录 B.2 中,我们提供了该方法的完整描述,以及一个正式的引理,该引理指出在列选择的每次迭代中,从 Z 中选择的样本也是 CH(Z) 的一个顶点。 在综合实验中,我们观察到该算法可以很好地适应数据集的大小。 使用该算法解决优化问题所需的计算时间几乎是恒定的,并且受数据集中样本数量的影响最小。 附录 B.2 中的实验表明,使用列选择进行优化的速度明显快于传统方法,这使其成为处理海量数据集时的理想选择。
figure 4

3 案例研究:世界粮食计划署的可口食品篮

在本案例研究中,我们使用 Peters 等人提出的模型的简化版本。 (2021),旨在优化人道主义粮食援助。 其扩展版旨在为世界粮食计划署(WFP)提供长期恢复行动的决策工具,同时优化要交付的食品篮、采购计划、交付计划和转移方式 一个月的粮食供应。 Peters等人提出的模型。
(2021 年)强制要求食品篮解决营养缺口问题且可口。 为了保证一定程度的适口性,作者使用了一些与营养专家合作定义的“不成文规则”。 在本案例研究中,我们更进一步,直接从反映当地人意见的数据中推断出适口性限制。 我们在这个例子中使用叙利亚的具体案例。 概念模型呈现了一个只有食物适口性约束要学习的 LO 结构。 适口性数据是通过模拟器生成的,但如果数据是在现场收集的,例如通过调查,程序将保持不变。 这个问题的结构,它是一个 LO,只涉及一个学习的约束,允许以下分析:(1)信任区域对最优解的影响,以及(2)聚类对计算时间和最优目标值的影响。 此外,模拟数据的使用为我们提供了用于评估处方质量的基本事实。
3.1 概念模型
优化模型是一个容量的、多商品网络流动模型和一个限制营养水平和食物篮适口性的饮食模型的组合。
用于定义约束和目标函数的集合如表 1 所示。我们有三组不同的节点,商品集合包含粮食援助行动期间可采购的所有食品。
table 1
模型中使用的参数显示在表 2 中。目标函数中使用的成本涉及运输 (p T ) 和采购 (p P )。 交付的食物量取决于需求(d)和喂食天数(天)。 附录 C 详细介绍了营养需求 (nutreq) 和营养价值 (nutrval)。这里,需要参数 γ 将供应链约束中使用的公吨转换为营养约束中使用的克。 参数 t 用作食物篮适口性的下限。
决策变量如表 3 所示。流量变量 Fijk 定义为从节点 i 到 j 运输的商品 k 的公吨数。 变量 x k 代表商品 k 的每个受益人的平均每日配给量。 变量 y 是指食物篮的适口性。
table2
4a-4i
目标函数由采购成本和运输成本两部分组成。
约束(4b)用于平衡网络流量,即确保每个转运节点的商品流入和流出相等。 约束 (4c) 表明流入交付节点的流量必须等于其需求,该需求由受益人的数量定义 乘以商品的每日定量 k 乘以饲喂天数。 约束 (4d) 保证满足营养要求的最佳解决方案。 约束 (4e) 和 (4f) 强制盐和糖的量分别为 5 克和 20 克。 约束 (4g) 要求通过预测模型 (4h) 定义的食物篮适口性 (y) 大于阈值 (t)。
最后,为所有商品流量和商品配给添加了非负约束 (4i)。
3.2 数据集和预测模型
为了评估我们的框架学习和实施适口性约束的能力,我们使用模拟器来生成具有不同适口性的饮食。 每个样本由 25 个特征定义,这些特征代表构成食品篮的所有商品的数量(以克为单位)。 然后,我们使用基本事实函数为每个食物篮分配 0 到 1 之间的适口性,其中 1 对应于完全可口的篮子,0 对应于不可食用的篮子。 该功能基于世界粮食计划署专家提供的建议。 然后对数据进行平衡,以确保在数据集中表示各种适口性分数。 用于学习适口性约束的最终数据由 121,589 个样本组成。 表 4 显示了每日食物篮的两个示例及其各自的适口性得分。在本案例研究中,我们使用 0.5 的适口性下限 (t) 作为我们学习的约束。
框架的下一步涉及训练和选择最接近未知约束的预测模型。 用于学习适口性约束的预测模型在第 2 节中讨论过,即 LR、SVM、CART、RF、GBM,以决策树为基础学习器,以及具有 ReLU 激活函数的 MLP。
3.3 优化结果
实验使用 OptiCL 与 Gurobi v9.1 (Gurobi Optimization, LLC 2021) 作为优化求解器联合执行。 表 5 报告了在嵌入到优化模型中后为验证集和处方评估的预测模型的性能。 该表还比较了有信任和没有信任的优化性能
table4
地区。 “验证 MSE”列给出了模型选择期间在交叉验证中获得的每个模型的均方误差 (MSE)。 尽管此列中的所有分数都非常低,但 MLP 模型在此验证阶段显着实现了最低错误。 “MSE”列给出了预测模型在嵌入优化问题后的 MSE,以评估最佳解决方案的预测与其真实适口性的匹配程度(使用模拟器计算)。 它是使用不同成本向量生成的优化模型的 100 个最优解来找到的。 MLP 模型在这种情况下表现出最好的性能(0.055),表明它比所有其他方法更好地模拟适口性约束的能力。
table5
信任区域的好处。 表 5 显示,当使用信任区域(“MSE-TR”)时,所有模型获得的 MSE 现在更接近验证阶段的结果。 由此可见使用第 2.3 节中讨论的信任区域来防止外推的好处。 在包含信任区域的情况下,MLP 模型也表现出最低的 MSE (0.001)。 包含信任区域的性能改进确实是以牺牲计算速度为代价的。 “Time-TR”列显示了以秒为单位的平均计算时间及其标准偏差 (SD),其中包括信任区域约束。 在所有情况下,与没有信任区域所需的计算时间(“时间”列)相比,计算时间明显增加。 然而,这是可以接受的,因为使用信任区域可以获得更准确的结果。
集群的好处 本案例研究中使用的大型数据集使得信任区域的使用在求解最终优化模型所需的时间方面非常昂贵。 虽然第 2.3 节中描述的列选择算法非常适合显着减少计算时间,但需要二进制变量的优化模型(用于嵌入 ML 模型或表示决策变量)不能使用列选择算法。 但是,在这种更一般的 MIO 情况下,可以将数据集划分为集群并为每个集群并行求解一个 MIO。 通过使用并行化,总求解时间可以预期等于求解任何单个集群的 MIO 所需的最长时间。 与列选择相反,使用集群可能会导致次优解决方案; 信任区域随着更多的集群而变小,并阻止模型找到不同集群成员的凸组合的解决方案。 然而,如第 2.3 节所述,位于集群之间的最优解实际上可能位于特征空间的低密度区域,不应包含在信任区域中。
从这个意义上说,最优性的损失实际上可能与更可靠的解决方案相吻合。
图 5 显示了集群在求解模型 (4a-4i) 中的效果,其中 GBM 作为用于学习适口性约束的预测模型。 K-means 用于将数据集划分为 K 个集群,并且报告的值是 100 次迭代的平均值。 在左图中,我们报告了并行解决不同 MIO 所需的跨集群的最大运行时分布。 在右图中,我们有最优差距的分布,即两者之间的相对差异与没有聚类获得的解决方案相比,使用聚类获得的最优解。
在本案例研究中,集群的使用显着降低了运行时间(K = 50 时加速了 89.2%),同时仍然获得了接近最优的解决方案(K = 50 时平均差距小于 0.25%)。
我们观察到 K 中的趋势不一定是单调的。K 的某个选择可能会导致次优解,而较大的 K 值可能会将最优解保留为单个簇内点的凸组合。
figure5

4 案例研究:化疗方案设计

在本案例研究中,我们扩展了 Bertsimas 等人的工作。 (2016)在晚期胃癌化疗方案的设计中。 晚期胃癌预后不良,治疗选择有限(Yang et al. 2011)。 这激发了显着的研究兴趣和临床试验(国家癌症研究所 2021)。 在 Bertsimas 等人。 (2016 年),作者提出了根据现有试验结果在算法上确定新临床试验有希望的化疗方案的问题。 他们构建了一个临床试验治疗组数据库,其中包括队列和研究特征、规定的化疗方案和各种结果。
鉴于一个新的研究队列和研究特征,他们优化了化疗方案,以最大限度地提高队列的存活率,但受到总体毒性的限制。 最初的工作使用线性回归模型来预测存活率和毒性,并且它限制了单一的毒性测量。
在这项工作中,我们利用了更丰富的 ML 方法和更精细的结果度量。 这通过更高性能的预测模型和更临床相关的约束提供了好处。
优化化疗方案特别具有挑战性,因为它们涉及以潜在不同剂量给药的多种药物,并且它们存在必须管理的多种不良事件的风险。 这个例子强调了我们的框架对具有多个决策和学习功能的复杂领域的普遍性。 这个问题中的处理变量由二元和连续元素组成,通过我们使用 MIO 很容易合并。 我们有几个必须同时满足的学习约束,我们还直接学习目标函数作为预测模型。
4.1 概念模型
临床试验数据的使用迫使我们将每个队列视为一个观察结果,而不是一个个体,因为只有汇总测量可用。 因此,我们的模型优化了队列的治疗。 上下文变量 (w) 由各种队列和研究总结变量组成。
包含固定(即非优化)特征使我们能够解释研究队列之间基线健康状况和风险的差异。 这些特征包含在预测模型中,但随后固定在优化模型中,以反映我们为其生成处方的群体。 我们假设在这个规定设置中没有未观察到的混杂变量。
治疗变量 (x) 编码化疗方案。 一个方案由一组药物定义,每种药物都有一个在整个化疗周期中可能不同剂量的给药方案。 我们通过药物指标和每种药物的平均日剂量和周期中的最大瞬时剂量来描述一个方案:
()
这使我们能够区分低强度、高频和高强度、低频给药策略。 感兴趣的结果 (y) 包括总生存期,作为目标 (y OS ),以及各种毒性,作为约束 (y i , i ∈ Y C )。
为了确定具有特征 w 的新研究队列的最佳化疗方案 x,我们制定了以下 MIO:
在这个案例研究中,我们学习了全部目标。 但是,该模型可以轻松地合并确定性组件以优化目标中的附加加权项。 我们包括一个域驱动的约束,强制执行三种药物的最大方案组合。
信任区域 X (w) 在公式中起着两个关键作用。 首先,它确保预测模型在其有效范围内应用,并且不会被不当外推。 它还自然地强制执行“临床合理”治疗的概念。 它可以防止药物的处方剂量超出先前观察到的范围,并且要求药物组合必须是以前见过的(尽管可能以不同的剂量)。 明确地描述什么构成了一个现实的治疗是非常重要的,凸包提供了一个直接集成到模型框架中的数据驱动的解决方案。
4.2 数据集
我们的数据由 1979 年至 2012 年的 495 个临床试验组组成(Bertsimas 等人,2016 年)。 我们考虑了九个背景变量,包括患者的平均年龄和原发性癌症部位的细分。
我们为我们的约束集包括了几个“剂量限制毒性”(DLT):3/4 级全身毒性、胃肠道毒性和感染,以及 4 级血液毒性。 顾名思义,这些是严重到足以影响治疗过程的化疗副作用。 有 28 种独特的药物出现在训练集的多个组中,产生 84 个决策变量。
我们应用时间分割,在 2008 年之前对试验组训练预测模型,并在 2009-2012 年为试验组生成处方。 最终的训练集由 320 个观测值组成,最终的测试集由 96 个观测值组成。 完整的特征集、纳入标准和数据处理细节包含在附录 D.1 中。
为了定义信任区域,我们在训练集上采用处理变量 (x) 的凸包。 这与时间分割设置一致,在该设置中,我们正在根据现有的一组过去的治疗决策生成处方。 一般来说,最好按照附录 B.1 中的讨论来定义关于 x 和 w 的凸包,但这不适用于时间分割。 我们的数据包括研究年份作为包含时间效应的特征,因此我们的测试集观察结果将定义在我们的训练集中观察到的 (x, w) 定义的凸包之外。
4.3 预测模型
使用交叉验证为每个感兴趣的结果训练几个 ML 模型以进行参数调整,并根据验证标准选择最佳模型。 我们对所有毒性采用函数学习,直接预测毒性发生率并在优化模型中应用上限阈值。
基于模型选择程序,使用 GBM 模型预测总体 DLT、胃肠道毒性和总体存活率。 使用线性预测血液毒性和感染模型,并用 RF 模型预测全身毒性。 这展示了使用多个模型类学习的优势; 没有一种方法在预测性能方面占主导地位。 附录 D.2 中包含了对所考虑模型的完整比较。
4.4 评估框架
我们使用第 4.1 节中概述的优化模型生成处方,并在第 4.3 节中指定嵌入式模型选择。 为了评估我们处方的质量,我们必须估计各种治疗方案下的结果。 由于缺乏反事实,这项评估任务是出了名的具有挑战性。 特别是,我们只知道观察到的队列治疗对的真实结果,而没有关于潜在的未观察到的组合的信息。 我们提出了一种利用“ground truth”集成(GT ensemble)的评估方案。
我们使用研究中的所有数据训练了几个 ML 模型。 这些模型没有嵌入到 MIO 模型中,因此我们能够在集成中考虑更广泛的方法集。 然后,我们通过对集合中的所有模型进行平均来预测每个结果。 这种方法使我们能够捕获最大的知识场景。 此外,这种组合 ML 模型的“共识”方法已被证明可以提高预测性能,并且对单个模型错误更稳健(Bertsimas 等人,2021 年)。 集成模型的全部细节及其预测性能包含在附录 D.3 中。
4.5 优化结果
我们以多种方式评估我们的模型。 我们首先考虑我们的处方对观察(给定)治疗的表现。 然后,我们探讨了学习多个子约束而不是单个聚合毒性约束的影响。 所有优化模型都具有以下共享参数:毒性上限为 0.6 分位数(如在训练数据中观察到的)和 RF 模型的最大违规率为 25%。 我们使用可行的解决方案报告所有测试集观察的结果。
表 6 报告了两种约束方法下的预测结果:(1) 分别约束每种毒性(“所有约束”),和 (2) 约束单一的总体毒性测量(“仅限 DLT”)。 对于测试集中的每个队列,我们​​在两种处方方案下生成所有感兴趣的结果的预测,并根据给定的结果预测计算我们规定的结果的相对变化。
规定性计划的好处。 我们首先根据观察到的实际治疗评估我们提出的规定方案(“所有约束”)。 例如,在 GT 集成方案下,84.7% 的队列在给定治疗下满足整体 DLT 约束,而在提议治疗下为 94.1%。 这产生了 11.10% 的改进。 我们在生存率方面取得了显着改善(11.40%),同时还提高了所有个体毒性的毒性极限满意度。 使用 GT 合奏,我们看到毒性满意度提高了 1.3%-25.0%。
table 6
多重约束的好处 表 6 还说明了对每个单独的毒性实施限制而不是作为单一衡量标准的价值。 当仅约束总体毒性测量(“仅 DLT”)时,所得处方实际上对血液毒性和感染的约束满意度低于基线给定方案。 通过限制多项措施,我们能够改善所有个体毒性。 完全约束模型实际上提高了整体 DLT 度量满意度,这表明包含这些“子约束”也使聚合约束更加稳健。 这种改进确实是以“All”和“DLT Only”模型(-0.38 个月)之间的存活率略低为代价的,但我们注意到引发“仅 DLT”模型中违反的个体毒性可能会使治疗不可行。

5 讨论

我们的实验结果说明了我们的约束学习框架在两个问题环境中的数据驱动决策中的好处:世界粮食计划署的食物篮建议和晚期胃癌的化疗方案。 定量结果表明,当结合信任区域并从多个候选模型类中学习时,预测性能有所提高。 我们还看到了在单个聚合度量上合并多个学习约束的好处。 通过针对特定问题结构的有效公式和量身定制的方法,我们的框架可以扩展到大型问题。 我们有效学习信任区域的方法在一类约束学习中也具有广泛的适用性。
我们认识到进一步扩展这个框架的几个机会。 我们的工作自然与因果推理文献和个体治疗效果估计有关(Athey and Imbens 2016, Shalit et al. 2017)。 这些方法并不直接转化为我们的问题设置; 现有的工作通常假设高度结构化的治疗选择(例如,二元治疗与对照)或单一的连续治疗(例如,给药),而我们允许更一般的决策结构。 在未来的工作中,我们有兴趣结合因果推理的想法来放松对未观察到的混杂因素的假设。
此外,我们的框架依赖于基础预测模型的质量。 我们从嵌入式模型中约束和优化点预测。 这在模型指定错误的情况下可能会出现问题,这是“预测然后优化”方法的一个已知缺点(Elmachtoub 和 Grigas 2021)。 我们通过两种方式减轻这种担忧。 首先,我们的模型选择过程允许我们通过捕获几种可能的功能关系来获得更高质量的预测模型。 其次,我们在约束集成模型中包含违规限制允许我们直接参数化我们的预测的保守程度以及我们对个体学习者预测的鲁棒性。 这个概念可以扩展到更一般的集合,我们在其中为感兴趣的结果嵌入多个单独的模型,并对这些模型的某些子集实施约束。 在未来的工作中,有机会将来自稳健优化的想法纳入直接考虑约束中的预测不确定性的问题。
在这项工作中,我们提出了一个统一的优化框架,该框架利用学习的约束来利用 ML 和 MIO 进行数据驱动的决策制定。 我们的工作通过监督学习灵活地学习问题约束和目标,并将它们合并到一个更大的感兴趣的优化问题中。 我们还学习信任区域,提供更可信的建议并提高预测性能,并使用列生成和无监督学习有效地完成此任务。 我们方法的通用性使我们能够处理相当复杂的决策设置,例如化疗优化,但也包括更有效地解决特定问题类型的定制方法。 最后,我们将其实现为 Python 软件包 (OptiCL),以供从业者使用。 我们设想 OptiCL 的方法将被添加到最先进的优化建模软件包中。

你可能感兴趣的:(RL&OR,python)