Skip to main content

Hi,

I am trying to write a constraint with index domain on certain indices

vBinary1('1') + vBinary1('3') + vBinary1('5') = 3 * vBinary2;

‘h’ is the index. Here ‘h’ is taking value {‘1’, ‘3’, ‘5’}. Do not consider it as ODD. 

I tried with 

```

index domain: | h in {"1", "3", "5"} 

sum"h, vBinary1(h)] = 3 * vBinary2;

```

It is giving errors by saying 

The scope of index "h" has not been specified. Help to understand it. 

Do not define another set for these indices only. That I know how to do it. 

Not sure what you want to achieve.

You want to write the constraint using a sum without defining another set for just these indices? Isn’t it just easier to write the original line you had?

Otherwise it will be just a bit more complex, something like:

sum( h | (h = ‘1’) or (h=’3’) or (h=’5’) , vBinary1(h) ) = 3*vBinary2


Reply


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

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator