필터 지우기
필터 지우기

GA optimization inequality constraints

조회 수: 2 (최근 30일)
Nivedhitha S
Nivedhitha S 2019년 8월 30일
편집: Matt J 2019년 9월 3일
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.

채택된 답변

Matt J
Matt J 2019년 8월 30일
편집: Matt J 2019년 8월 30일
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
Nivedhitha S
Nivedhitha S 2019년 9월 3일
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 2019년 9월 3일
편집: Matt J 2019년 9월 3일
They are still too large to satisfy your bounds.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Nonlinear Control에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by