-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Tobias,
from a quick look at your code - maybe I have overlooked something -, it seems that you are not computing the gradient of your objective function. SQP expects that, and as far as I know, nlopt will not automatically compute a numeric gradient for you. Best, Julius On 01/20/2014 02:14 PM, Tobias Schmidt wrote: > Hi Julian, > > thanks for your reply. > > I'm expecting the result to be similar to the result of npg in > matlab, but it is not. The objective function is called only once, > but in matlab the objective function is called 80 times. > > Any other suggestions? > > Regards, Tobias Schmidt > > > Am 20.01.2014 11:05, schrieb Julius Ziegler: Hi Tobias, > > (answer inline below) > > On 01/20/2014 10:12 AM, Tobias Schmidt wrote: >>>> Hey guys, >>>> >>>> I'm trying to implement a nonlinear constrained optimization >>>> with C++ using NLopt to compute one nash equilibrium of an >>>> n-person game. The implementation is based on the function >>>> "npg" of the matlab optimization toolbox, which solves an >>>> n-person finite non-co-operative game (DOI-Link: >>>> http://dx.doi.org/10.1109/ICM2CS.2009.5397970). It uses SQP >>>> based method to get a solution of the minimization problem. >>>> >>>> The attached code represents my implementation, strictly >>>> oriented on the matlab implementation referred above. Each >>>> call of the optimization function returns "nlopt >>>> roundoff-limited" exception. > > this means that a local step towards the minimum cannot bring any > improvement because of numerical limits in floating point > representation (there is such thing as a smallest floating point > number), and that this limit hit before any of your termination > criteria (like fmin, xmin...). > > Normally, this means that your result is still usable. Have you > looked at the results? Do they look reasonable? > > Best regards, Julius > > > >>>> Does anybody know this exception or can figure out the fault? >>>> I'm not very familiar with the mathematical background of >>>> different optimization formulations. Maybe the calls of >>>> add_*_constraint or the formulation of the objective function >>>> causes the exception. You will need the Eigen library to >>>> compile the source code. It is available at >>>> http://bitbucket.org/eigen/eigen/get/3.2.0.tar.bz2 . >>>> >>>> Thanks in advance, Tobias Schmidt >>>> >>>> >>>> _______________________________________________ >>>> NLopt-discuss mailing list [email protected] >>>> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss >>>> > >>>> > >> >> _______________________________________________ NLopt-discuss >> mailing list [email protected] >> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss >> - -- Dipl.-Inform. Julius Ziegler <[email protected]> Institut für Mess- und Regelungstechnik Karlsruher Institut für Technologie Department of Measurement and Control Karlsruhe Institute of Technology Engler-Bunte-Ring 21 76131 Karlsruhe Tel. +49 721 608 47146 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJS3SK3AAoJEMXuNLCiya8LcroH/RcEogriPxJ5/q1RrwhYUhZ1 hJdzgT5exfcoa+Tz3cBuQ2UapVmkmnL6UB2CYbAZA9wZULXPKcpauSgdl+JVJwLW D9ef4ArFQEh/27RN0Jg3gNWwTSUOOBwxR6CTYqI5CAKOtcs33jz86d47G6dkv/UU sAysa9H8kIVLvfTcA2+kvSOY9CuKwNh89O2j/ODfPhdvH1AnuaLmrYa74aJn90c0 urW1Gc89RDHWQ2QPbQVO/EGSgtnX8a1LJOirKfuBAakm74/biDoRSJXirzJf7YJw 3X2/+ehQ3hzLjSkZEmHpapaXJsCUpIPGMIQQecX67qDhJAeYMSNFYcIVOFxtYV4= =sRDX -----END PGP SIGNATURE----- _______________________________________________ NLopt-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss
