minmax
Contain a minmax problem solver routine.
- quantecon.optimize.minmax.minmax(A, max_iter=1000000, piv_options=PivOptions(fea_tol=1e-06, tol_piv=1e-07, tol_ratio_diff=1e-13))[source]
Given an m x n matrix A, return the value \(v^*\) of the minmax problem:
\[v^* = \max_{x \in \Delta_m} \min_{y \in \Delta_n} x^T A y = \min_{y \in \Delta_n}\max_{x \in \Delta_m} x^T A y\]and the optimal solutions \(x^* \in \Delta_m\) and \(y^* \in \Delta_n\): \(v^* = x^{*T} A y^*\), where \(\Delta_k = \{z \in \mathbb{R}^k_+ \mid z_1 + \cdots + z_k = 1\}\), \(k = m, n\).
This routine is jit-compiled by Numba, using optimize.linprog_simplex routines.
- Parameters:
- Andarray(float, ndim=2)
ndarray of shape (m, n).
- max_iterint, optional(default=10**6)
Maximum number of iteration in the linear programming solver.
- piv_optionsPivOptions, optional
PivOptions namedtuple to set tolerance values used in the linear programming solver.
- Returns:
- vfloat
Value \(v^*\) of the minmax problem.
- xndarray(float, ndim=1)
Optimal solution \(x^*\), of shape (m,).
- yndarray(float, ndim=1)
Optimal solution \(y^*\), of shape (n,).