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



Re: fmincon returns a solution that is worse than the feasible initial point
Posted:
Dec 23, 2013 8:25 AM


On 12/21/2013 5:06 PM, XG wrote: > I am solving a nonlinear problem with about 15 nonlinear terms and no > linear constraints. I am supplying an initially known feasible > solution to fmincon that satisfies all constraints and has an > objective function value of 18.0968. However, fmincon finally arrives > at a much worse solution with an objective value of 1.99005. Here is > a sample of the output: > > ********************* > Warning: The default trustregionreflective algorithm does not solve > problems with the > constraints you have specified. FMINCON will use the activeset > algorithm instead. For > information on applicable algorithms, see Choosing the Algorithm in > the documentation. >> In fmincon at 486 > In mycode at 244 > Max Line search Directional > Firstorder Iter Fcount f(x) constraint steplength > derivative optimality Procedure 0 12 18.0968 > 8.866e14 1 24 > 24.0287 2.708e05 1 2.73 894 2 > 50 24.0289 2.708e05 6.1e05 2.86 387 3 > 73 24.026 2.707e05 0.000488 31.4 4.71e+03 > 4 99 24.0264 5.172e05 6.1e05 1.98 > 7.54e+06 5 113 18.5173 0.2924 0.25 > 0.00886 3.39e+08 6 125 1.99005 0.07514 > 1 0.382 9.95e+10 7 138 1.99005 > 0.03688 0.5 4.95e10 1.58e+04 8 151 1.99005 > 0.01816 0.5 4.94e10 1.71e+05 9 164 > 1.99005 0.009081 0.5 4.94e10 2.31e+05 Hessian > modified twice 10 177 1.99005 0.00454 0.5 > 5.02e10 1.57e+07 Hessian modified twice 11 189 > 1.99005 5.013e13 1 6.12e10 1.02e+05 > Local minimum found that satisfies the constraints. > > Optimization completed because the objective function is > nondecreasing in feasible directions, to within the default value of > the function tolerance, > and constraints are satisfied to within the default value of the > constraint tolerance. > ********************* > > I have already seen the following post: > http://mathworks.co.uk/matlabcentral/newsreader/view_thread/308522 > > and tried other but using different solvers didn't help. > > Any ideas are very welcome!
I'm sorry, but I don't understand your unformatted iterative display very well. So perhaps my comments will be beside the point.
Perhaps you could try using the sqp algorithm. Does it have the same bad behavior?
The "Hessian modified twice" outputs indicate that the problem has poor scaling, at least in some regions. Is there anything you can do to make it more regular?
You could try using patternsearch from the same initial point. It is not as efficient as fmincon, but it is pretty reliable.
Good luck,
Alan Weiss MATLAB mathematical toolbox documentation



