我正在使用 Excel 2010 求解器进行一些优化。一切都运行良好,只是我想运行求解器来找到一个解决方案,使得我的决策变量 $A$1:$A$10 介于 5.1 和 15.3 之间或介于 -5.1 和 -15.3 之间。我尝试了多种方法,但无法弄清楚如何设置约束。积极的部分还可以,
$A$1:$A$10 >= 5.1
$A$1:$A$10 <= 15.3
我很难处理负值范围。我试过
-$A$1:$A$10 >= 5.1
-$A$1:$A$10 <= 15.3
乃至
ABS($A$1:$A$10) >= 5.1
ABS($A$1:$A$10) <= 15.3
但它不起作用。我在网上搜索过,但似乎找不到任何帮助。这可以做到吗?如果可以,我该怎么做?任何帮助都将不胜感激。谢谢。
答案1
为什么不:
$A$1:$A$10 <= -5.1
$A$1:$A$10 >= -15.3
编辑:
创建一个带有数组公式的单元格(编辑完成后按 Ctrl-Enter)
=SUM(NOT(ABS($A$1:$A$10)<=15.3)+NOT(ABS($A$1:$A$10)>=5.1))
并将单元格限制为零。
编辑2:
如果 A1:A10 是您的决策变量,那么我建议对单元格进行转换。这里有很多选项,但最明显的是分段线性函数:
A1=IF(B1<0.5,B1*((10.2)/0.5) - 15.3,(B1 - 0.5)*((10.2)/0.5) + 5.1 )
鉴于 B1 <= 1 && B1 >= 0,这会将单元格 A1 转换为值 ABS(A1) <= 15.3 && ABS(A1) >= 5.1。因此,您的新决策变量将是 B1:B10,且约束条件为 B1:B10>=0 和 B1:B10<=1。