Prev: mclmcrrt73.dll
Next: textscan?
From: Steve on 17 Nov 2009 09:44 "yan zhong" <yanp.zhong(a)gmail.com> wrote in message <hdsnjn$kq3$1(a)fred.mathworks.com>... > Hi Steve, > Thank you so much for the helps! I made a stupid mistake in option setting. > > The initial value (x0) which I used was not large > InitialParams = [-0.0078 0.1052 0.4820 0.0472 0.98 0.00001] > > After I made changes to option settings and add option 'FunValCheck' to 'on', it returned the warning msg: > User function 'Objf' returned a complex value when evaluated; > FMINCON cannot continue. > > Do this problem cause by my objective function, or constraints, or both? Any help would be really appreciated! > > Thanks > Yan It appears to come from your objective "Objf" or gradient. You probably have a sqrt() in there. fmincon cannot solve complex valued problems.
From: yan zhong on 17 Nov 2009 17:59 Hi Steve I found the problem. My objective "objf" has log(). Thank you so much for this! I fixed it and re-run the code with 'Algorithm','interior-point' and "'LargeScale' , 'on', it returned the warning msg % End diagnostic information First-order Norm of Iter F-count f(x) Feasibility optimality step 0 1 5.160639e+008 9.328e-001 3.753e+005 Optimization terminated: no feasible point found and relative change in x is less than options.TolX. Is "no feasible point found" caused by my objective function? Thanks! Yan "Steve" <steve.grikschat(a)mathworks.com> wrote in message <hducrk$l4n$1(a)fred.mathworks.com>... > "yan zhong" <yanp.zhong(a)gmail.com> wrote in message <hdsnjn$kq3$1(a)fred.mathworks.com>... > > Hi Steve, > > Thank you so much for the helps! I made a stupid mistake in option setting. > > > > The initial value (x0) which I used was not large > > InitialParams = [-0.0078 0.1052 0.4820 0.0472 0.98 0.00001] > > > > After I made changes to option settings and add option 'FunValCheck' to 'on', it returned the warning msg: > > User function 'Objf' returned a complex value when evaluated; > > FMINCON cannot continue. > > > > Do this problem cause by my objective function, or constraints, or both? Any help would be really appreciated! > > > > Thanks > > Yan > > It appears to come from your objective "Objf" or gradient. You probably have a sqrt() in there. fmincon cannot solve complex valued problems.
From: Alan Weiss on 18 Nov 2009 08:38
"No feasible point" means fmincon could not find a point where all your constraints are satisfied. It has nothing to do with your objective function. Try to find a feasible point yourself, and use it as your starting point. Or examine your constraint functions--maybe you made a mistake in the formulation, or included too many constraints. Alan Weiss MATLAB mathematical toolbox documentation yan zhong wrote: > Hi Steve > I found the problem. My objective "objf" has log(). Thank you so much for this! > I fixed it and re-run the code with 'Algorithm','interior-point' and "'LargeScale' , 'on', it returned the warning msg > % > End diagnostic information > > First-order Norm of > Iter F-count f(x) Feasibility optimality step > 0 1 5.160639e+008 9.328e-001 3.753e+005 > Optimization terminated: no feasible point found and relative change in x is less than options.TolX. > > Is "no feasible point found" caused by my objective function? Thanks! > > Yan > > "Steve" <steve.grikschat(a)mathworks.com> wrote in message <hducrk$l4n$1(a)fred.mathworks.com>... >> "yan zhong" <yanp.zhong(a)gmail.com> wrote in message <hdsnjn$kq3$1(a)fred.mathworks.com>... >>> Hi Steve, >>> Thank you so much for the helps! I made a stupid mistake in option setting. >>> >>> The initial value (x0) which I used was not large >>> InitialParams = [-0.0078 0.1052 0.4820 0.0472 0.98 0.00001] >>> >>> After I made changes to option settings and add option 'FunValCheck' to 'on', it returned the warning msg: >>> User function 'Objf' returned a complex value when evaluated; >>> FMINCON cannot continue. >>> >>> Do this problem cause by my objective function, or constraints, or both? Any help would be really appreciated! >>> >>> Thanks >>> Yan >> It appears to come from your objective "Objf" or gradient. You probably have a sqrt() in there. fmincon cannot solve complex valued problems. |