首页 文章

OPL ILOG CPLEX优化

提问于
浏览
0

三个决策变量M,O和Z,

forall (k in 1..Cells, i in 1..nbMachines, j in 1..nbComps)
{(U[k][i][j] == 1) && ( A[k][i] <= -1 +((D[k][j]*S[k][j])*52*5))
=> M[k][i][j]==1 ;  } 

forall (k in 1..Cells, i in 1..nbMachines, j in 1..nbComps)
{(V[k][i][j] == 1) && (A[k][i] >=  -1 + ((D[k][j]*S[k][j])*52*5)) 
=> Z[k][i][j]==1 ;} 

forall (k in 1..Cells, i in 1..nbMachines, j in 1..nbComps)
{(V[k][i][j] == 1) && ( A[k][i]  >= -1 + ((D[k][j]*S[k][j])*52*5)) 
=> O[k][i][j]==1;}
  • 如果U为1,A小于或等于D * S * 52 * 5,则M将为1 .

  • 如果V为1,A大于D * S * 52 * 5,则Z将为1 .

  • 如果V为1,A大于D * S * 52 * 5,则O将为1 .

在运行中,M,Z和O得到相同的值 . M和Z的总和以及M和O的总和将等于U和V.(U = V)请帮我写出正确的表达式来找出M,O和Z.U和V是在以前的步骤 . A,D和S是输入数据 .

1 回答

  • 0

    请提供一个决定表达式,以便我的一方不那么疯狂地猜测 . 我假设所有三行都在 subject to {} 块内 . 由于你的约束2和3实际上是相同的(除了缺少的空格和不同的字母O / Z),我猜Cplex通过为所有Decision变量分配相同的值来提出最简单的解决方案 .

相关问题