我怎样才能做出变化限制,不要超过特定值
How can I make a variation limits, do not exceed a specific value
现在我面临一个问题,就是做一个变化不超过一个特定的值。
我会在下面详细描述。
using CP;
int a = 4;
int b = 3;
int c = 5;
range arange = 1..a;
range brange = 1..b;
range crange = 1..c;
dvar boolean x[a][b][c];
dvar int y[b][c] in 1..4;
在这种情况下,我正在尝试计算
y[b][c+1] = x[a][b][c] - 1 + y[b][c];
然而,所有y[e][t]都在1到4之间。
我是说
if y[b][c] >= 4, then y[b][c] == 4, and if y[b][c] <= 1, then y[b][c] == 1
就这样。
所以,现在我正在尝试这样做
y[b][c+1] == max(min(x[a][b][c] -1 + y[b][c], 4), 1);
但是没用。
现在我面临一个问题,就是做一个变化不超过一个特定的值。 我会在下面详细描述。
using CP;
int a = 4;
int b = 3;
int c = 5;
range arange = 1..a;
range brange = 1..b;
range crange = 1..c;
dvar boolean x[a][b][c];
dvar int y[b][c] in 1..4;
在这种情况下,我正在尝试计算
y[b][c+1] = x[a][b][c] - 1 + y[b][c];
然而,所有y[e][t]都在1到4之间。
我是说
if y[b][c] >= 4, then y[b][c] == 4, and if y[b][c] <= 1, then y[b][c] == 1
就这样。
所以,现在我正在尝试这样做
y[b][c+1] == max(min(x[a][b][c] -1 + y[b][c], 4), 1);
但是没用。