Frank-Wolfe Algorithm¶
Class Description¶
- class paminco.optim.fw.FW(fun, fprime, subproblem_solver, x0, **kwargs)[source]¶
Frank-Wolfe algorithm for constrained convex optimization.
- Parameters
- funcallable
The objective function to be minimized. Signature:
fun(x) -> float
, wherex
is an 1-D array with shape (n,).- fprimecallable
Function that returns the gradient vector. Signature:
fprime(x) -> array_like
, wherex
and the return value are both 1-D arrays with shape (n,).- subproblem_solvercallable
Minimize the linear approximation of the problem:
\[\underset{\mathbf{s} \in \mathcal{D}}{\mathrm{argmin}} \quad \mathbf{s}^T\nabla f(\mathbf{x}_i)\]Is called with the signature
subproblem_solver(f'(x)) -> array_like
.- x0ndarray, shape (n,)
Initial guess. Array of real elements of size (n,), where n is the number of independent variables.
- kwargskeyword arguments
Further options, see FWConfig.
See also
FWConfig
Options accepted by the solver.
paminco.optim.fw_net.NetworkFW
Use FW to find a minimum cost flow.
References
- 1
- 2
Florian, Michael, J Guálat, and H Spiess. “An efficient implementation of the “partan” variant of the linear approximation method for the network equilibrium problem.” Networks 17.3 (1987): 319-339.
Settings and Subclasses¶
|
Options for Frank-Wolfe optimizer. |
|
Enum defining the update mode of the FW solver. |
|
Enum defining the status of the FW optimizer. |
|
Class that keep tracks of (intermediate) best x in Frank-Wolfe. |
Attributes¶
Settings of the FW optimizer. |
|
Get current best x. |
Methods¶
|
Run the Frank-Wolfe algorithm. |