Hi Julian,
indeed, I do not compute the gradient. I did not notice that SQP needs
the gradient function to compute the optimum.
Do you think it is possible to use COBYLA instead? I changed the
algorithm usage and get some result but it differs from the matlab
result, too.
Regards,
Tobias
Am 20.01.2014 14:20, schrieb Julius Ziegler:
-----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
_______________________________________________
NLopt-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss