代码之家  ›  专栏  ›  技术社区  ›  Shaggy Frog

Excel求解器不遵守二进制约束

  •  4
  • Shaggy Frog  · 技术社区  · 16 年前

    我在Excel中创建了一个模型,与求解器结合使用。它大多有效。唯一的问题是,解算器并没有真正将受约束的单元格正确地视为二进制。当找到解决方案后,其中一些数字实际上是0.9999996、1.0000000003、0.0000017,以此类推。

    6 回复  |  直到 13 年前
        1
  •  12
  •   thomas    15 年前

        2
  •  2
  •   Mark Wiley Mark Wiley    16 年前

    我的公司生产了一款名为WhatsBest的商用级Excel求解器。如果上述方法不起作用,您可以考虑。您可以在www.lindo.com上找到更多信息

        3
  •  2
  •   Mihai Iorga    13 年前

    如果求解器无法在允许的时间范围或迭代次数内找到解(或者如果没有可能的正确答案),它将不会返回二进制答案。

    一个可能的解决方案是, 你正试图解决 <=1 >=0 而不是二进制。你提供的图片没有显示,所以我不确定你想要什么。

    9   1
    9   1
    9   1
    6   1
    3   1
    

    如果将第二列中的所有值设置为二进制,则最终将得到:

    9   0.5625
    9   0.5625
    9   0.5625
    6   0.708333333
    3   0.854166667
    

    如果将前3个设置为二进制,将后两个设置为 < & >=0

    9   0
    9   1
    9   1
    6   0.333333333
    3   0.666666667
    

    最后两行的求和积=4,然后您可以使用它手动将最后两行中的一行设置为1,另一行设为0,具体取决于您想要的答案是略低于还是略高于目标。

        4
  •  2
  •   Sam    13 年前

    我也有类似的问题,可以通过转到求解器选项,然后选中“使用自动缩放”来解决。我不确定这是否能解决你的问题,但值得一试。

        5
  •  1
  •   duozmo    14 年前

    可能不是你的问题,但要知道有一个 Ignore Integer Constraints Excel解算器中默认选中的“选项”中的复选框。至少在我的Mac版Excel 2011中是这样。

        6
  •  0
  •   michael malave    5 年前

    盒子帮我解决了这个问题。

    推荐文章