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?
Nevermind, already fixed.
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.
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:
sum[ (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
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: