CPLEX 给我这个错误“V23 从未被使用过”
CPLEX give me this error " V23 has never been used"
部分输入为:
tuple copie_macchine {
int macchina;
int copia1;
int copia2;
int copia3;
}
{copie_macchine} copie = ...;
int macc [I1][J] = ...;
{int} s = {1,2,4,5,7,11,12,13,14,15,16,17,18,19};
macc = [[1, 10],
[1, 1],
[3, 3],
[0, 4]];
copie = {<3,3,4,0>,
<6,7,8,9>,
<8,11,12,0>,
<9,13,14,0>,
<10,15,16,0>,
<20,26,27,28>};
dvar boolean y[I][J][M];
我在 Cplex 中写了这段代码:如果值 macc [i] [j] 在集合 s 中,算法将赋值给变量 y 1 否则它必须选择将值 1 赋值给复制 1 或复制 2 或复制
forall (j in J)
forall (i in I1 : macc [i][j] in s)
forall (i1 in I : i1==i)
forall (m in M)
V22: y[i1][j][m] == 1;
forall (j in J)
forall (c in copie : c.copia3!=0)
forall (i in I1 : macc[i][j] == c.macchina)
forall (i1 in I : i1==i)
forall (m in M)
V23: y[i1][j][c.copia1] == 1 || y[i1][j][c.copia2] == 1 || y[i1][j][c.copia3] == 1;
但我遇到错误“V23 从未被使用过”。我该如何解决?
您从未使用过包含 V23 的行。
让我分享一个复制此警告的小示例:
dvar int+ x;
subject to
{
x<=10;
forall(i in 1..2:i>=5)
{
ct:(x==2) ;
}
}
给予
ct has never been used
部分输入为:
tuple copie_macchine {
int macchina;
int copia1;
int copia2;
int copia3;
}
{copie_macchine} copie = ...;
int macc [I1][J] = ...;
{int} s = {1,2,4,5,7,11,12,13,14,15,16,17,18,19};
macc = [[1, 10],
[1, 1],
[3, 3],
[0, 4]];
copie = {<3,3,4,0>,
<6,7,8,9>,
<8,11,12,0>,
<9,13,14,0>,
<10,15,16,0>,
<20,26,27,28>};
dvar boolean y[I][J][M];
我在 Cplex 中写了这段代码:如果值 macc [i] [j] 在集合 s 中,算法将赋值给变量 y 1 否则它必须选择将值 1 赋值给复制 1 或复制 2 或复制
forall (j in J)
forall (i in I1 : macc [i][j] in s)
forall (i1 in I : i1==i)
forall (m in M)
V22: y[i1][j][m] == 1;
forall (j in J)
forall (c in copie : c.copia3!=0)
forall (i in I1 : macc[i][j] == c.macchina)
forall (i1 in I : i1==i)
forall (m in M)
V23: y[i1][j][c.copia1] == 1 || y[i1][j][c.copia2] == 1 || y[i1][j][c.copia3] == 1;
但我遇到错误“V23 从未被使用过”。我该如何解决?
您从未使用过包含 V23 的行。
让我分享一个复制此警告的小示例:
dvar int+ x;
subject to
{
x<=10;
forall(i in 1..2:i>=5)
{
ct:(x==2) ;
}
}
给予
ct has never been used