I want to make a rescheduling, I have 2 modes with different earn value mode 1 have a little earn value and long duration than mode 2. If I want to make productivity * duration of activity i in mode m <= earn value in day 7 than choose mode 2 to reach the earn value at this day. I already make the constraint, but i think it doesn't effect to my model. I confuse what's missing in this model. I need a suggestion. Earn value is the project progress we'd got not in volume but in cost. for example total project value is $1000000. and every task have their value. for an example at day 7 we must got $450000 same as our planning form sum of many task that already done start from day 0-7
dvar interval Taskss [t in Tasks] in t.RelDate..t.DueDate ;
dvar interval mode[m in Modes] optional size m.pt;
subject to {
//Alternative mode of resource productivity in Cost's unit
forall (t in Tasks, m in Modes) {
// if(m.costprod *m.pt == 0 && 0 <= 559717712) presenceOf(mode[first(Modes)]);
alternative(Taskss[t], all(m in Modes: m.taskId==t.id) mode[m]);
}
forall (t in Tasks, m in Modes)
(sum(t in Tasks)sum(m in Modes) m.costprod * m.pt <= 559717712 in 0..NbDays-14) != presenceOf(mode[first(Modes)]);