Skip to contents

QuadraticUtilityLagrange: maximiser of a weighted Euclidean utility under linear equality constraints, with Lagrange multipliers. QuadraticUtilityConstrained: maximiser on a polyhedron by enumerating KKT active sets. VcgMechanism: efficient choice and Clarke pivot payments. Identical to the Python arm morie.fn.utilmax.

Usage

QuadraticUtilityLagrange(ideal, W, C, d)

QuadraticUtilityConstrained(ideal, W, A, b, tol = 1e-10)

VcgMechanism(values)

Arguments

ideal

Ideal point.

W

Positive-definite salience matrix.

C, d

Equality constraints C x = d.

A, b

Inequality constraints A x <= b.

tol

Feasibility tolerance.

values

Matrix of values (players by alternatives).

Value

List.

References

Kuhn, H. W. and Tucker, A. W. (1951). Nonlinear programming. Proceedings of the Second Berkeley Symposium, 481-492.

Clarke, E. H. (1971). Multipart pricing of public goods. Public Choice 11, 17-33.

Groves, T. (1973). Incentives in teams. Econometrica 41, 617-631.

Examples

QuadraticUtilityLagrange(c(2, 1), diag(2), matrix(c(1, 1), 1), 1)$x
#> [1] 1 0
VcgMechanism(rbind(c(5, 0), c(0, 3), c(0, 4)))$payments
#> [1] 0 1 2