GA optimization inequality constraints

2 views (last 30 days)
Hello community,
I have been trying to solve a optimization problem for which my inequality constrains are as follows:
Say if X is the solution (1*2000 matrix), my constraint is that every next value for the X matrix should be higher than the previous value. Lets say a is value of X at 1st position (X1) and b is the value at second X2. So constraint is b-a >= 0.01; To write it in terms of less than, since ga takes constraints as A.X<=b, we have (a-b <= -0.01).
But when iam trying to build A matrix and B matrix, when i give negative inputs in B matrix i always get the error: Could not find a feasible initial point.
Can someone help me in - how to define this constraint without using a negative constant value? or is there any other way to do the same? I have been struck in this problem for quite sometime. Please give me any siggestions.
Thanks.

Accepted Answer

Matt J
Matt J on 30 Aug 2019
Edited: Matt J on 30 Aug 2019
The construction of the A and b matrices should be,
A=-diff(speye(2000));
b=-0.01*ones(2000,1);
If you have done this, then there is nothing incorrect about the way you have built the constraints, assuming X(i+1)-X(i)>=0.01 are indeed the conditions you want. You should investigate whether the problem truly does have a feasible solution under these constraints and whatever other constraints you have imposed.
  6 Comments
Nivedhitha S
Nivedhitha S on 3 Sep 2019
Thanks for noticing that. But when i tried using something like this also, I got the same error. ie., whenever i used a negative value for b matrix i got the error.
b= zeros (2880,1);
for n = 1:4:no_term-4
b (n) = -0.01;
end
for n = 2:4:no_term-4
b (n) = -0.01;
end
for n = 3:4:no_term-4
b (n) = -0.0001;
end
for n = 4:4:no_term-4
b (n) = -0.001;
end
Matt J
Matt J on 3 Sep 2019
Edited: Matt J on 3 Sep 2019
They are still too large to satisfy your bounds.

Sign in to comment.

More Answers (0)

Categories

Find more on Nonlinear Control in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!