Excel解算器:将约束定义为零或大于

时间:2016-01-27 12:41:49

标签: excel solver

我正在创建一个模型来优化采购订单。

订购金额必须大于500或等于零。

如何在Solver中定义这样的约束?

我尝试了二元约束,我也尝试了几种不同的公式,但似乎没有任何效果。

基本上我需要能够在OR中表达Solver,我该怎么做?

3 个答案:

答案 0 :(得分:0)

  • 添加二进制变量:bin_var
  • 还有一个big_M(订单永远无法达到的大数量)
  • 然后添加两个约束
    • 金额> = 500 * bin_var
    • 金额< = big_M * bin_var
  • 导致:
    • 如果bin_var = 0则数量= 0
    • 如果bin_var = 1则数量> = 500

答案 1 :(得分:0)

使用范围为0到1的整数决策称为ProductSelected(比如说)。然后使用如下约束:

最小金额* ProductSelected< =金额< =最大金额* ProductSelected

当ProductDelected为零时,金额必须为零,当金额为1时,金额必须在最小到最大范围内。

答案 2 :(得分:0)

我尝试了kindoflost的建议,但最初没有奏效。

后来我尝试使用OpenSolver加载项,一切正常。

因此,如果您不能使用常规的Excel求解器使其工作,请给此外接程序一个机会。