Hello , I try to gather consecutive intervals into consecutive subset of intervals
Suppose I have 3 fixed non-optional consecutive disjoint intervals T1=[2,5) , T2 = [10,11), T3=[20,26)
I want to model some optional intervals W1,W2,W3 whose value could be finally :
W1=[2,5), W2=[10,11), W3=[20,26), or
W1=[2,5), W2=[10,26), or
W1=[2,11), W2=[20,26), or
Basically, in the solution, the active Wj are consecutive disjoint intervals that spans a set of consecutive Ti, and all the Ti intervals are spanned with the Wj
I found a way to do that with stateFunction associated with a chronological set of "work" intervals Wj followed by "idle" intervals Yj. I constraint the Idle function to be in the state 1 for every hole between the Ti, and each Yj is also associated with the same state synchronized with the hole.
Reversely, I have an other stateFunction "Active" that is in state 1 for every Ti and also in state 1 for every Wj. Nevertheless , begin of Wj and end of Wj are synchronized separately with the state function so that an interval Wj will be authorized to join more than one working interval.
Finally, I use a cumul function to force that for any Ti, the cumul function of W is 1.
The model works fine but I'm surprized that I get more than one solution when I set the parameter "force" to 1. This parameter forces the two holes Y1 and Y2 to be present between T1 and T2 for Y1 , T2 and T3 for Y2. In this situation, when I display all the informations about decision variables and stateFunction, I get exactly the same results but the nextSolution iterates several times.
Besides, I'm wondering if they are simpler model for this problem.