Originally posted by: 90WP_Grégory_Marlière
Dear all,
I have difficulties to obtain a model which allow a good propapagtion when I use chained optional intervals.
I've made a simple example in order to explain the problem :
- in this graph, the arrows mean "startAtEnd"
- all intervals have a constant duration of 10.
- 4 intervals are optional (dotted in the graph) : they represent 2 alternatives alt1(i1 OR i2) , alt2(i21 OR i22)
- according to the graph, alt2 is optional
- the startMin of i0 is 100
- the endMax of i4 is 200
- allowed paths are : [i0->i1->i3->i4], [i0->i2->i21->i3->i4], [i0->i2->i22->i3->i4]
With the initial propagation, I obtain these domains:
i0[1: 100..IloIntervalMax-20 -- 10 --> 110..IloIntervalMax-10]
i1[0..1: 110..170 -- 10 --> 120..180]
i2[0..1: 110..IloIntervalMax-10 -- 10 --> 120..IloIntervalMax]
i21[0..1: 0..170 -- 10 --> 10..180]
i22[0..1: 0..170 -- 10 --> 10..180]
i3[1: 0..180 -- 10 --> 10..190]
i4[1: 10..190 -- 10 --> 20..200]
The expected propagation is:
i0[1: 100..160 -- 10 --> 110..170]
i1[1: 110..170 -- 10 --> 120..180]
i2[1: 110..160 -- 10 --> 120..170]
i21[1: 120..170 -- 10 --> 130..180]
i22[1: 120..170 -- 10 --> 130..180]
i3[1: 120..180 -- 10 --> 130..190]
i4[1: 130..190 -- 10 --> 140..200]
You can find attached the ".cpo" file which can be replayed with the attached cpp code.
Do you have any idea for improving this model?
Regards,
Grégory Marlière
#CPOptimizer#DecisionOptimization