Dear All,

I want to model a conditional constraint of:

where QUR, QP, QT, and Gpv are variables, and load and Qmin are parameters. t is time index.

How to implement this function in AIMMS?

Thank You.

Dear All,

I want to model a conditional constraint of:

where QUR, QP, QT, and Gpv are variables, and load and Qmin are parameters. t is time index.

How to implement this function in AIMMS?

Thank You.

Page 1 / 1

Hi

Hello

The complete formulation of the constraint is:

Thank you...

This is going to be ugly. Assuming that these are the only 5 options for QUR(t+1) (although not all possible combinations of Gpv(t) and QUR(t) are covered) you can use indicator constraints if you use CPLEX or Gurobi.

Introduce a new binary variable BV1(t) for the first option. Then add the following indicator constraints:

`BV1(t) = 1 → QUR(t+1) = QUR(t) + QP(t)`

BV1(t) = 1 → Gpv(t) >= load(t)

BV1(t) = 1 → QUR(t) <= Qmin(t)

The left part of each of these constraints represents the *activating condition*.

For the second option introduce a new binary variable BV2(t) and the following indicator constraints:

`BV2(t) = 1 → QUR(t+1) = QUR(t) - QT(t)`

BV2(t) = 1 → Gpv(t) <= load(t) - eps

BV2(t) = 1 → QUR(t) >= Qmin(t) + eps

AIMMS does not support inequality constraints of type ‘>’ or ‘<’ (except for CP problems) so you have to use a small value *eps* to transform them into ‘>=’ or ‘<=’ respectively.

In the same way, introduce BV3(t), BV4(t) and BV5(t) for the other three options, plus the corresponding indicator constraints.Then, finally, add the following constraint:

`BV1(t) + BV2(t) + BV3(t) + BV4(t) + BV5(t) = 1`

Note that this formulation does not allow, e.g., Gpv(t) >= load(t) and Qmin(t) < QUR(t) < Qmax(t). If that should be possible as well then this is not going to work (but what should then be the value of QUR(t+1)?).

Hello

Thank you for the advice that has been given. I'll try to apply to the model I'm designing.

Already have an account? Login

**Please use your business or academic e-mail address to register**

No account yet? Create an account

Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.

Didn't find what you were looking for? Try searching on our documentation pages: