Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.


Math Forum
»
Discussions
»
Software
»
comp.softsys.matlab
Notice: We are no longer accepting new posts, but the forums will continue to be readable.
Topic:
Optimization terminated: No feasible solution found.
Replies:
5
Last Post:
Jan 19, 2014 11:18 AM




Re: Optimization terminated: No feasible solution found.
Posted:
Dec 20, 2011 1:15 PM


Hi:
That is not an error, it's rather an exit message that indicates that the fmincon was not able to find a feasible point (a value of the vector x that satisfies all of the constraints).
Now, this means that either the problem is really infeasible, or that it's feasible but the solver was not able to find a feasible point.
You may want to try another algorithm in fmincon to compare results. Set
options = optimset('Algorithm','interiorpoint');
and call fmincon as you do below. It's normaly also a good idea to set the option Display to 'iter' in order to see more details of the run.
The section When the Solver Fails in the documentation provides guidance on next steps that you may want to try: http://www.mathworks.com/help/toolbox/optim/ug/br44iv51.html
Marcelo
On 12/20/2011 2:53 AM, wan wrote: > Friends, > I try to run a program by fmincon,but I got an error:Optimization > terminated: No feasible solution found.Search direction less than > 2*options.TolX but constraints are not satisfied.and I don't know what > is my mistake... > "myfun.m" > function f=myfun(x) > f=2.20*x(1)*(x(1)1)^2/(x(1)2)+2.20*x(1)*x(2)*(x(2)1)^2/(x(2)2)+2.42*x(1)*x(2)*x(3)*(x(3)1)^2/(x(3)2)+2.75*x(1)*x(2)*x(3)*x(4)*(x(4)1)^2/(x(4)2); > > and "mycon2.m" > function[c,ceq]=mycon2(x) > g(1)=1(x(2)*(x(1)2)/(x(2)2))^1/3*(x(2)1)/(x(1)1); > g(2)=(x(2)*(x(1)2)/(x(2)2))^1/3*(x(2)1)/(x(1)1)1.2; > g(3)=1(1.1*x(3)*(x(2)2)/(x(3)2))^1/3*(x(3)1)/(x(2)1); > g(4)=(1.1*x(3)*(x(2)2)/(x(3)2))^1/3*(x(3)1)/(x(2)1)1.2; > g(5)=1(1.13636*x(4)*(x(3)2)/(x(4)2))^1/3*(x(4)1)/(x(3)1); > g(6)=(1.13636*x(4)*(x(3)2)/(x(4)2))^1/3*(x(4)1)/(x(3)1)1.2; > c=[g(1);g(2);g(3);g(4);g(5);g(6)]; > ceq=[1590.192x(1)*x(2)*x(3)*x(4)]; > command window: >>> x0=[7.2 7.2 7.5 4.09]; >>> lb=[4;5;5;4]; >>> ub=[8;8;8;5.6]; >>> options=optimset('largescale','off','maxfunevals',1000000); >>> [x,fval]=fmincon(@myfun,x0,[],[],[],[],lb,ub,@mycon2,options) > when I try to run the script, I get these messages errors: > Optimization terminated: No feasible solution found. > Search direction less than 2*options.TolX but constraints are not > satisfied. > x = > > 15.7056 10.0989 2.7056 3.7056 > > > fval = > > 9.8284e+003 > Any help is very much appreciated.Wish you a nice day!



