Java choco中的调度

Java choco中的调度,java,schedule,constraint-programming,choco,Java,Schedule,Constraint Programming,Choco,我有n个任务要安排。时间范围为0..T个周期。每个任务在执行时都会消耗一个资源。A资源有限,可以是不同的类型。我在choco 2.1.5中使用了以下决策变量: IntegerVariable[][] x = new IntegerVariable[n][m]; // decision variables int i, j; for (i = 0; i < n; i++){ for (j = 0; j < T; j++){ x[i][j] = Choco.ma

我有n个任务要安排。时间范围为0..T个周期。每个任务在执行时都会消耗一个资源。A资源有限,可以是不同的类型。我在choco 2.1.5中使用了以下决策变量:

IntegerVariable[][] x = new IntegerVariable[n][m]; // decision variables

int i, j;
for (i = 0; i < n; i++){
    for (j = 0; j < T; j++){
        x[i][j] = Choco.makeIntVar("x_" + i +"_" + j, 0, 1,Options.V_ENUM);
                    model.addVariable(x[i][j]);         
    }
}
如果任务i在时段j开始,变量x[i][j]等于1,否则等于0。如果许多任务可能在同一时期内运行,则它们必须满足资源容量限制。如果在解算器之前有一个给定的任务,我必须为资源添加额外的约束条件,以确定任务应该在哪个时间段开始。因此,在给定的时间段内,我必须通过运行任务来计算所有资源的使用情况。在模型求解之前,我必须知道它们什么时候开始和结束

在不同的世界中,如何实现由以下总和组成的约束:
大西格玛{i|开始[i]≤我不得不问:你有没有检查过Choco中的累积约束?我能看到它做了很多你想要的事情。或者我错过了什么?@hakank亲爱的Hakan,你是对的,但我想推动一个纯调度算法,而不使用任何内部API。我基于1968年的老Pritsker RCPSP算法。特别是,我不知道怎么做要处理变量x[i][j]值未知的情况,它可以是0或1,但我必须为任务i在目前未知的时间段内消耗的资源设置约束。