OPL ILOG CPLEX优化

时间:2017-12-13 16:20:43

标签: cplex ilog opl

三个决策变量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 :(得分:0)

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