SimplexFrankWolfe
SimplexFrankWolfe()Frank-Wolfe optimizer specialized to simplex constraints.
Use this optimizer when parameters must be nonnegative and sum to one, for example in balancing-weight or synthetic-control style problems.
Attributes
| Name | Description |
|---|---|
| maxIterations | Maximum number of optimizer iterations. |
| tolerance | Optimization tolerance. |
Methods
| Name | Description |
|---|---|
| optimize | optimize(self: pyensmallen._pyensmallen.SimplexFrankWolfe, objective: collections.abc.Callable[[typing.Annotated[numpy.typing.ArrayLike, numpy.float64], typing.Annotated[numpy.typing.ArrayLike, numpy.float64]], float], initial_point: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> numpy.typing.NDArray[numpy.float64] |
optimize
SimplexFrankWolfe.optimize()optimize(self: pyensmallen._pyensmallen.SimplexFrankWolfe, objective: collections.abc.Callable[[typing.Annotated[numpy.typing.ArrayLike, numpy.float64], typing.Annotated[numpy.typing.ArrayLike, numpy.float64]], float], initial_point: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> numpy.typing.NDArray[numpy.float64]
Optimize an objective from the provided starting point.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| objective | callable | Callable with signature objective(params, gradient). The callable should write the gradient in place and return the scalar objective. |
required |
| initial_point | ndarray | Initial parameter vector. | required |
Returns
| Name | Type | Description |
|---|---|---|
| ndarray | Optimized parameter vector. |