複雑な変数が制約を満たしているかどうかを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();
}
}