使用Excel解算器生成多个最佳解决scheme

有什么办法来获得所有的最佳解决scheme,当你解决Excel解算器(单纯LP方法)的一些问题?

如果不是的话,Excel中解决这个问题的最好的方法/插件是什么,并将现有的VBA代码转换为使用这种新的方式?

其实,我已经find了一种方法来做到这一点与Excel求解器,虽然它不是最佳的时间消费意义,但这不是我的问题。

如果您可以在某种方式上为每种可能的解决scheme分配唯一的ID,那么对于每种解决scheme,您都可以使用以下方法检查是否存在具有相同值的解决scheme:

  1. find第一个最佳解决scheme并保存解决schemeID和结果 我会打电话给这个origID,origRes

  2. 检查是否有一些id <origID和res = origRes的解决scheme

  3. 如果是,则考虑newId作为初始ID并继续第2步,直到找不到满足标准的解决scheme

  4. 之后,用条件id> origID和res = origRes做同样的事情

  5. 当你确定你find所有解决scheme的最佳解决schemeorigRes,那么我们可以去find不是最优的解决schemeorigRes。 我做了一个方法来添加条件,新的解决scheme需要<=(origRes – 0.01),因为我知道所有的解决scheme将有2个小数位。

  6. 再次转到步骤2

我知道这不是最好的方法,但我通常不需要超过100个解决scheme,目前我可以在2分钟内得到它,这对我来说是可以接受的。

虽然这看起来很简单,但实际上并不是一个这么简单的问题。 即使“所有可能的最佳解决scheme”的定义也不清楚。 其中可能有无数的。 要求“所有基本的可行解决scheme”(即angular点)听起来更好。 据我所知,没有解决者提供这个。 我也不知道一个非常简单的技术来枚举所有最佳基地。

一个有趣的方法是使用MIP公式列举所有最佳的基础:

Sangbum Lee,Chan Phalakornkule,Michael M. Domach,Ignacio E. Grossmann,“ 用于代谢networking的LP模型中寻找所有替代最优化的recursionMILP模型 ”Computers and Chemical Engineering 24(2000)711-716。 (链接)