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 4:15 AM


"wan " <yg880221@126.com> wrote in message <jcpet4$6nu$1@newscl01ah.mathworks.com>... > 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!
I am pretty sure the problem is infeasible. I plugged it into the global solver in YALMIP, and YALMIP claims already in the presolve phase that it is infeasible
Randomly searching for a point satisfying the second constraint fails too notfound = 1; while notfound x = lb+(ublb).*rand(4,1); g2 = (x(2)*(x(1)2)/(x(2)2))^1/3*(x(2)1)/(x(1)1)1.2; notfound = g2 >= 0; end



