copt.minimize_pairwise_frank_wolfe¶
-
copt.
minimize_pairwise_frank_wolfe
(f_grad, x0, active_set, lmo_pairwise, step_size=None, lipschitz=None, max_iter=200, tol=1e-12, callback=None, verbose=0)[source]¶ Pairwise FW on the L1 ball.
Warning
This feature is experimental, API is likely to change.
Design: LMO takes as input the active set (an array of shape n_vertices).
should return d_t, certificate, and both indices of the selected vertices.
How to pass the initialization of vertices?
- Args
- f_grad: callable
Takes as input the current iterate (a vector of same size as x0) and returns the function value and gradient of the objective function. It should accept the optional argument return_gradient, and when False it should return only the function value.
- x0: array-like
Initial guess for solution.
- lmo_pairwise: callable
Takes as input a vector u of same size as x0 and returns a solution to the pairwise linear minimization oracle (see doc).
- step_size: None or “adaptive” or “adaptive2” or callable
Step-size step_size to use. If None is used and keyword lipschitz is not given or None, then it will use a decreasing step-size of the form 2/(k+1) (described in [1]). If None is used and keyword lipschitz is not None, then it will use the Demyanov-Rubinov step-size step_size (variant 1 in [2]).
- lipschitz: None or float.
Estimate for the Lipschitz constant of the gradient.
- max_iter: integer
Maximum number of iterations.
- tol: float
Tolerance of the stopping criterion. The algorithm will stop whenever the Frank-Wolfe gap is below tol or the maximum number of iterations is exceeded.
- callback: callable
Callback to execute at each iteration. If the callable returns False then the algorithm with immediately return.
- verbose: int
Verbosity level.
- Returns:
- resscipy.optimize.OptimizeResult
The optimization result represented as a
scipy.optimize.OptimizeResult
object. Important attributes are:x
the solution array,success
a Boolean flag indicating if the optimizer exited successfully andmessage
which describes the cause of the termination. See scipy.optimize.OptimizeResult for a description of other attributes.
- Returns:
- resscipy.optimize.OptimizeResult
The optimization result represented as a
scipy.optimize.OptimizeResult
object. Important attributes are:x
the solution array,success
a Boolean flag indicating if the optimizer exited successfully andmessage
which describes the cause of the termination. See scipy.optimize.OptimizeResult for a description of other attributes.
- Examples: