给定约束条件,选择最佳子集以最大化利润。 Excel优化

时间:2018-11-06 22:48:42

标签: excel optimization excel-formula subset solver

问题:在酸度限制下最大化利润

我有多个油井。每个人都有其利润和酸含量。有一定的酸度限制允许加工。

我想找到在酸度限制下可以产生最大利润的油井的最佳组合。 See example data here

起初,我想我只是按利润排序,然后选择利润最高的油井。但是您可以将2个利润较低的井(合并的利润较高)组合起来,使其酸含量与利润较高的井相同。我研究了求解器,但认为它不适用于这种情况,因为我想选择一个子集。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

要最大化Profit / Acid到最大Acid,例如100,将Profit除以Acid并降序排列。然后运行ProfitAcid的累计总数-在Acid超过100之前立即停止。

如果截止日期的Acid总数远远少于100,您可能需要进行一些调整。

答案 1 :(得分:0)

您可以使用Solver解决此类问题。

有关灵感,请参见SU上的以下答案:https://superuser.com/questions/204925/excel-find-a-subset-of-numbers-that-add-to-a-given-total

因此,子集问题是通过指定一个附加的具有二进制值的列(保持井或不保留)来求解的,从而使Solver完成,然后使利润最大化(使用具有二进制值的列的总和乘积),作为约束,您必须添加酸约束。