Learn R Programming

GNE (version 0.99-6)

bench.GNE: Benchmark function

Description

Benchmark function to compare GNE computational methods.

Usage

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())

Value

For GNE.bench.ceq and GNE.bench.nseq, a data.frame

is returned with columns:

method

the name of the method.

fctcall

the number of calls of the function.

jaccall

the number of calls of the Jacobian.

comptime

the computation time.

normFx

the norm of the merit function at the final iterate.

code

the exit code.

localmethods

the name of the local method.

globalmethods

the name of the globalization method.

x

the final iterate.

For GNE.bench.minpb, a data.frame

is returned with columns:

method

the name of the method.

minfncall.outer

the number of calls of the merit function.

grminfncall.outer

the number of calls of the gradient of the merit function.

gapfncall.inner

the number of calls of the gap function.

grgapfncall.outer

the number of calls of the gradient of the gap function.

comptime

the computation time.

normFx

the norm of the merit function at the final iterate.

code

the exit code.

x

the final iterate.

For GNE.bench.fpeq, a data.frame

is returned with columns:

method

the name of the method.

fpfncall.outer

the number of calls of the fixed-point function.

merfncall.outer

the number of calls of the merit function.

gapfncall.inner

the number of calls of the gap function.

grgapfncall.outer

the number of calls of the gradient of the gap function.

comptime

the computation time.

normFx

the norm of the merit function at the final iterate.

code

the exit code.

x

the final iterate.

Arguments

xinit

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.

echo

a logical to get some traces of the benchmark computation.

control, control.outer, control.inner

a list with control parameters to be passed to GNE.xxx function.

Author

Christophe Dutang

Details

Computing generalized Nash Equilibrium can be done in three different approaches.

(i) extended KKT system

It consists in solving the non smooth extended Karush-Kuhn-Tucker (KKT) system \(\Phi(z)=0\). func1 is \(Phi\) and func2 is \(Jac Phi\).

(ii) fixed point approach

It consists in solving equation \(y(x)=x\). func1 is \(y\) and func2 is ?

(iii) gap function minimization

It consists in minimizing a gap function \(min V(x)\). func1 is \(V\) and func2 is \(Grad V\).

References

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 Also

See GNE.fpeq, GNE.minpb, GNE.ceq and GNE.nseq for other approaches.