Benchmark function to compare GNE computational methods.
bench.GNE.nseq(xinit, ..., echo=FALSE, control=list())
bench.GNE.ceq(xinit, ..., echo=FALSE, control=list())
bench.GNE.fpeq(xinit, ..., echo=FALSE, control.outer=list(),
control.inner=list())
bench.GNE.minpb(xinit, ..., echo=FALSE, control.outer=list(),
control.inner=list())For GNE.bench.ceq and GNE.bench.nseq, a data.frame
is returned with columns:
methodthe name of the method.
fctcallthe number of calls of the function.
jaccallthe number of calls of the Jacobian.
comptimethe computation time.
normFxthe norm of the merit function at the final iterate.
codethe exit code.
localmethodsthe name of the local method.
globalmethodsthe name of the globalization method.
xthe final iterate.
For GNE.bench.minpb, a data.frame
is returned with columns:
methodthe name of the method.
minfncall.outerthe number of calls of the merit function.
grminfncall.outerthe number of calls of the gradient of the merit function.
gapfncall.innerthe number of calls of the gap function.
grgapfncall.outerthe number of calls of the gradient of the gap function.
comptimethe computation time.
normFxthe norm of the merit function at the final iterate.
codethe exit code.
xthe final iterate.
For GNE.bench.fpeq, a data.frame
is returned with columns:
methodthe name of the method.
fpfncall.outerthe number of calls of the fixed-point function.
merfncall.outerthe number of calls of the merit function.
gapfncall.innerthe number of calls of the gap function.
grgapfncall.outerthe number of calls of the gradient of the gap function.
comptimethe computation time.
normFxthe norm of the merit function at the final iterate.
codethe exit code.
xthe final iterate.
a numeric vector for the initial point.
further arguments to be passed to GNE.nseq,
GNE.ceq, GNE.fpeq or GNE.minpb.
NOT to the functions func1 and func2.
a logical to get some traces of the benchmark computation.
a list with control
parameters to be passed to GNE.xxx function.
Christophe Dutang
Computing generalized Nash Equilibrium can be done in three different approaches.
It consists in solving the non smooth extended Karush-Kuhn-Tucker
(KKT) system \(\Phi(z)=0\). func1 is \(Phi\) and func2 is \(Jac Phi\).
It consists in solving equation \(y(x)=x\). func1 is \(y\) and
func2 is ?
It consists in minimizing a gap function \(min V(x)\).
func1 is \(V\) and func2 is \(Grad V\).
F. Facchinei, A. Fischer & V. Piccialli (2009), Generalized Nash equilibrium problems and Newton methods, Math. Program.
A. von Heusinger (2009), Numerical Methods for the Solution of the Generalized Nash Equilibrium Problem, Ph. D. Thesis.
A. von Heusinger & J. Kanzow (2009), Optimization reformulations of the generalized Nash equilibrium problem using Nikaido-Isoda-type functions, Comput Optim Appl .
See GNE.fpeq, GNE.minpb, GNE.ceq
and GNE.nseq for other approaches.