对于i = j = 0…N + 2,并且在一个带choco的约束中,k = 0 ... N,求和变量ΣXik =ΣXkj

时间:2019-02-13 09:46:31

标签: java constraints solver choco

我这样做

BoolVar[] flatArrayXik = new BoolVar[(N+2)*(N)];
        for (int i = 0; i < size; i++){
            for(int k = 0; k < N; k++){
                flatArrayXik[i] = Xij[i][k];
            }
        }

        BoolVar[] flatArrayXkj = new BoolVar[(N+2)*(N)];
        System.out.println(" size "+flatArrayXkj.length);
        for (int k = 0; k < N; k++){
            for(int j = 0; j < size; j++){
                flatArrayXkj[j] = Xij[k][j];

            }
        }

        BoolVar tmp = model.boolVar();
        BoolVar tmp2 = model.boolVar();
        model.sum(flatArrayXik,"=", tmp);
        model.sum(flatArrayXkj, "=",tmp2).post();
        model.arithm(tmp,"=",tmp2).post();

我测试了几种解决方案,但没有用,有人可以帮助我 我有这个错误

Exception in thread "main" java.lang.NullPointerException
    at org.chocosolver.util.tools.VariableUtils.isConstant(VariableUtils.java:363)
    at org.chocosolver.solver.constraints.nary.sum.IntLinCombFactory.reduce(IntLinCombFactory.java:107)
    at org.chocosolver.solver.constraints.nary.sum.IntLinCombFactory.reduce(IntLinCombFactory.java:54)
    at org.chocosolver.solver.constraints.IIntConstraintFactory.sum(IIntConstraintFactory.java:1821)
    at Implementation.main(Implementation.java:135)

0 个答案:

没有答案