Topic
• 2 replies
• Latest Post - ‏2012-12-20T13:00:33Z by SystemAdmin
554 Posts

# Pinned topic Intensity and intervals

‏2012-12-20T09:53:24Z |
Hello,

I am trying to use the intensity feature like this:

``````

//80% during the the whole window stepfunction fDataLinkEff[w in Nws] = stepwise
{0->WstartInt[w]; 80->WendInt[w]; 0
};   dvar interval itvs[i in Nfs] optional in WstartMinInt..WendMaxInt size DvInt[i];   dvar interval altItvChannels[i in Nfs][sa in Sas][c in Ncs] optional in  WstartMinInt..WendMaxInt size DvInt[i];   dvar interval altItvWindows[i in Nfs][w in Nws] optional in WstartInt[w]..WendInt[w] size DvInt[i] intensity fDataLinkEff[w];```
```

In the constraints, I have the following :
``````
alternative(itvs[i], all(w in Nws)  altItvWindows[i][w]); alternative(itvs[i], all(s in Sas,c in Ncs ) altItvChannels[i][s][c]);```
```

All my tasks are of size 1000 (DvInt[i] = 1000 for all i). I want to model the intensity on the windows (altItvWindows), not on the channels (because it makes no sense) but they are linked I guess because of the "alternative" (itvs is chosen in altItvChannels AND altItvWindows). The size of a window is between 2000 and 4000 (WendInt[w]-WstartInt[w] for all w).

The model gives only empty intervals as a solution. If I put a value of 100 in the stepfunction during the whole interval, everything works.

If I understand well, because of the stepfunction, I should get intervals of more than 1000 (duration of a task), is that right ? Why is it not working ?

Thank you very much
Updated on 2012-12-20T13:00:33Z at 2012-12-20T13:00:33Z by SystemAdmin
554 Posts

#### Re: Intensity and intervals

‏2012-12-20T10:34:34Z
Hello,

I think it is not working because you post a size constraint both on the itvs intervals (which by default have an intensity function always equal to 100%) and on the altItvWindows intervals. In this situation, a solution should satisfy both intensity constraints and as the intensity function fDataLinkEff is always strictly lower than the 100% intensity function of itvs intervals, the only solution is to have all interval variables absent.

I think what you want to do is something like this where the size of interval variables itvs and altItvChannels is free (their length will be decided by altItvWindows):

``````

//80% during the the whole window stepfunction fDataLinkEff[w in Nws] = stepwise
{0->WstartInt[w]; 80->WendInt[w]; 0
}; dvar interval itvs[i in Nfs] optional in WstartMinInt..WendMaxInt; dvar interval altItvChannels[i in Nfs][sa in Sas][c in Ncs] optional in  WstartMinInt..WendMaxInt; dvar interval altItvWindows[i in Nfs][w in Nws] optional in WstartInt[w]..WendInt[w] size DvInt[i] intensity fDataLinkEff[w];```
```

Philippe