Asked by Del
on 25 Jan 2013

I am using fmincon to solve a minimization problem with nonlinear constraints. The problem is that, it is giving me a wrong answer, a point that is not a minimizer (not even close), and that is not within the tolerance. I made sure to use a feasible initial point.

However, when I use another initial feasible point, it gives me a correct answer.

Here is the problem:

min f = 100*(x(2)-x(1)^2)^2+(1-x(1))^2; s.t. constraints= [1-(x(1)*x(2));-x(1)-(x(2))^2;x(1)-0.5] <= 0

The minimizer is [0.5 ; 2] with optimal objective value: 306.5000

However when I use the feasible initial point x0=[-1 ; -2], this gives me the answer: [-0.7921; -1.2624] (which is not feasible and has an f value of 360.3798 !!) (to within options.TolCon = 1e-06)

and when I use the initial point x0=[0.4;4], this gives me the correct answer [.5;2].

Note that my constraints do not require the variables to be non-negative.

Any idea what I am doing wrong here?

*No products are associated with this question.*

Answer by Shashank Prasanna
on 25 Jan 2013

Edited by Shashank Prasanna
on 25 Jan 2013

Del, it is untrue that x0=[-1 ; -2] is feasible. Lets take a look at your constraint:

1-x1*x2 <= 0 ==> x1 and x2 should be of the same sign

-x1-x2^2 <= 0 ==> x1 >= 0 (Hmmm, x2 is always +ve implies x1 >= 0)

x1 - 0.5 <= 0 ==> x1 < 1/2 (this is a bound constraint, put it in ub)

your second constraint is not satisfied by the initial point.

Show 6 older comments

Walter Roberson
on 26 Jan 2013

Sean de Wolski
on 28 Jan 2013

@Del:

x = 1:0.1:10; y = 1- sqrt(x); y(15) = y(15)-0.3; plot(x,y)

Basically if you're sledding down that hill, there is a chance the sled might jump the gap.

Answer by Greg Heath
on 25 Jan 2013

Since the problem is only 2-dimensional, you can start by plotting the four separate contour plots of f, C1, C2 and C3. Then the three overlays of the contours for the Cis(red,blue,green), i = 1,2,3 on top of the contours for f(black)

Hope this helps.

Thank you for formally acceptin my answer.

Greg

Opportunities for recent engineering grads.

## 0 Comments