Hi all,

I need to give a certain range to an index in a constraint, but I am not sure how to implement this in AIMMS. It is the following constraint:

In AIMMS already have this constraint but how do I change the constraint to the situation above?

Hi all,

I need to give a certain range to an index in a constraint, but I am not sure how to implement this in AIMMS. It is the following constraint:

In AIMMS already have this constraint but how do I change the constraint to the situation above?

Page 1 / 1

You can use the | operator (or such-that operator) for this in AIMMS.

In your case, if you want to generate that constraint for all i that are not equal to the first, you could do something like:

index domain: i | ord(i) >= 2

(ord gives the ordinal position in the set of the element, so this would restrict the generation to only those i that have ordinal position greater or equal then 2.

Within a sum, you can also limit the combinations by using the | operator again:

sums (j,t ) | ord(t) >=2, x(i,j,t) ] <=1

This would only includes those values of t in the sum that have ordinal position >= 2.

Based on the model formulation, you will have to determine what to put after the | operator

I have the original decision variable x(i,j,t)= 1 if job j of production order i is started on time t.

The capacity constraint needs to hold for every single t. However there is an internal summation over **t’ **in T(i,j,t). How do I implement that such that AIMMS know that x(i,j,**t’**) is the same as x(i,j,t)? I can add a constraint that tells that x(i,j,t) = x(i,j,t’) but is there an easier way?

How can I implement this in the correct way, the constraint below is not doing anything. However, it also gives no warnings. See constraint and original model below.

Nevermind, already fixed.

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: