Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

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

 Messages: [ Previous | Next ]
 Johan Lofberg Posts: 48 Registered: 11/6/06
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.192-x(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+(ub-lb).*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

Date Subject Author
12/20/11 wan
12/20/11 Johan Lofberg
12/20/11 Marcelo Marazzi
1/19/14 s.cahyaningtias@gmail.com
1/19/14 John D'Errico
1/19/14 John D'Errico