Hi everyone.

I'm starting with Aimms, I have two questions

First

How can I index a variable with an initial value or constraint? .

For example

X (i) is the dependent variable of the set (for example 4 things) with index i.

And what I need is

X (1)> = 50

X (2) <= 250

Variable X {

IndexDomain: i;

Range: nonnegative;

}

Second

How can I implement or call benders decomposition modules, stochastic programming etc. inside the MainExecution procedure?

Thank you

Thanking you for your support.

**Best answer by mohansx**

#1. As your constraint as two signs (<= and , you will need to declare two constraints. Use single quotes to refer to individual elements in your set.

`con1 with definition X(‘1’) >= 50`

`con2 with definition X(‘2’) <= 250`

You can also extend this with the index, say you want X(2), X(3), X(4) to be <= 250 then

`Constraint conIndex {`

IndexDomain: i|ord(i) >= 2 and ord(i) <= 4;

` Definition: X(i) <= 250`

}

Ord is the function which returns the position of the element in the set. Here, I assume your set starts at 1 - {1, 2, 3, 4, 5 ..}

#2. You can look at these two examples for implementations of stochastic programming and bender’s decomposition in AIMMS.

Note that MainExecution is just a procedure which is linked to a keyboard shortcut, you can create new procedures as well.