Error for pulse part in IBM CPLEX cumulative

39 views Asked by At

Constraint progrraming in IBM CPLEX ILOG:

The code for the following Cumulative(Zi|i ∈ I, Resiv, ARv) ∀v ∈ V

I wrote in IBM CPLEX. However I got error for the pulse part. Can you help me guys.

forall(v in Resources) {
    cumulative(i in Jobs) pulse(Zi[i], resourceNeed[i][v]) <= resourceAvail[v];
}

Getting a proper proposition

1

There are 1 answers

0
Alex Fleischer On

In order to compute the cumulative, use "sum"

using CP;

range Jobs=1..2;
range Resources=1..3;
int  resourceNeed[i in Jobs][v in Resources]=i*v;
int resourceAvail[v in Resources]=v;

dvar interval Zi[Jobs];

subject to
{
forall(v in Resources) {
    sum(i in Jobs) pulse(Zi[i], resourceNeed[i][v]) <= resourceAvail[v];
}
}

works fine