【问题标题】:Why does cplex not assign the value to the variables correctly?为什么 cplex 不能正确地为变量赋值?
【发布时间】:2022-02-03 10:56:42
【问题描述】:

我有这个限制:

  forall (j in J)      
    forall (i in I: macc [i][j] == 0)
 
    {    
     
  V10b: sum(m in M) y[i][j][m] == 0;
 

     }  

其中 macc [i][j] 是一个范围从 0 到 20 的值的矩阵。 我有 macc [7][2] == 0 所以在输出中我应该有 y[7][2][m] == 0 forall m。但是在输出中 cplex 将值 1 分配给随机 m。例如 y[7][2][m==2] == 1。分配好到某个点,然后开始犯错。可能是什么错误?谢谢。

【问题讨论】:

    标签: variable-assignment cplex


    【解决方案1】:

    默认情况下,如果模型不可行,OPL CPLEX 将放宽一些约束。如果您不希望发生这种情况,请在设置编辑器中关闭这些选项

    【讨论】:

    • 我试图这样做,但现在运行后,没有变量具有价值。
    • 那是因为您的模型不可行,这就是 CPLEX 放宽您的一些约束的原因。
    • 事实上,关于那个约束,我有一个 slack 值等于 1。一些输入值是错误的还是只是措辞?
    猜你喜欢
    • 2021-09-14
    • 1970-01-01
    • 2019-04-29
    • 2013-03-17
    • 1970-01-01
    • 2018-11-12
    • 2023-02-09
    • 2022-06-11
    • 2013-11-19
    相关资源
    最近更新 更多