"Could not find a feasible initial point" error in GA.
1 view (last 30 days)
Show older comments
Hi everyone
I try to optimize a problem that is visible below:
a1=3.51e9; a2=750.9;
a3=1.93e8; a4=8.10e8;
a5=min(a3,a2); a6=a4-a1;
a7=a1-a5; a8=min(a1,a7);
answer=ga(@(x) 1e-8*((x(1)+x(2)+x(3)+x(4)+x(5))^2)-100*(x(1)+x(2)+x(3)+x(4)+x(5)),5,...
[-1 0 0 0 0;0 -1 0 0 0;0 0 -1 0 0;0 0 0 -1 0;0 0 0 0 -1;1 0 0 0 0;0 1 0 0 0;...
0 0 1 0 0;0 0 0 1 0;0 0 0 0 1;-1 -1 -1 -1 -1;1 1 1 1 1],[0 0 0 0 0 1e6 1e7 3e7 5e7 7e7 a6 a8])
but I get this result:
Could not find a feasible initial point.
answer =
[]
what is this error for?
what should I do to solve this issue?
I really appreciate any help.
3 Comments
Matt J
on 18 May 2022
Edited: Matt J
on 18 May 2022
Avoid using linear constraints to express simple bounds:
A=[-1 -1 -1 -1 -1;
1 1 1 1 1];
b=[a6;a8];
lb=zeros(5,1);
ub=[1e6 1e7 3e7 5e7 7e7];
fun=@(x) 1e-8*((x(1)+x(2)+x(3)+x(4)+x(5))^2)-100*(x(1)+x(2)+x(3)+x(4)+x(5));
answer=ga(fun,5,A,b,[],[],lb,ub)
Also consider using quadprog instead. It is better tailored to this type of problem than ga().
Answers (1)
Torsten
on 18 May 2022
Edited: Torsten
on 18 May 2022
The sum of the upper bounds you prescribe for your variables x(1),...,x(5) is smaller than -a6.
But you want to have x(1) + x(2) + x(3) + x(4) + x(5) >= -a6.
Thus it follows from your inequality constraints that the problem has no feasible point.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!