0
如果複雜變量滿足約束,如何檢入Choco?例如,如果我有配置的以下列表:choco中的復變量
int[][] configurations = new int[][] {
{20, 24, 10, 3, 4},
{20, 13, 1, 3, 4}};
其中CONFIG1 = {20,24,10,3,4}和CONFIG2 = {20,13,1,3,4}
int[] constraints = new int[]{21, 15, 2, 10, 10};
是一個約束列表,對於給定的配置,配置中的每個元素需要比相應的約束更高(或更低)。例如: CONFIG1 = {20,24,10,3,4} 約束= {21,15,2,10,10}
check if config1[0] < constraints[0] AND config1[1] < constraints[1] AND ...
如果所有的約束得到滿足則只是將其標記爲一個解。這是我所擁有的
// c = number of configurations
// q = number of elements in each configuration
// p = configurations matrix
for (int i = 0; i < c; i++) {
for (int j = 0; j < q; j++) {
model.arithm(model.intVar(p[i][j]), "<", model.intVar(k[j])).post();
}
}
我的問題是,我如何定義約束條件和變量,使其佔用整個配置。例如,如果我的配置有3個元素(a,b,c)和一個約束數組(x,y,z),並且除了滿足約束條件,我想使其中的一些最小化(並使其最大化),我如何寫一個
Andrei