Skip to content

[WIP] Feat: Add COBYLA optimizer #80

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

yashnator
Copy link

Motivation

COBYLA (Constrained Optimisation BY Linear Approximations) is an iterative, derivative-free algorithm for solving constrained optimisation problems. It works by constructing and updating linear approximations of both the objective function and the constraints. These approximations are formed using function values evaluated at the vertices of a carefully structured simplex. At each iteration, the algorithm solves a linear programming subproblem within a trust region. As the method approaches a constrained optimum, the size of the trust region is gradually reduced to refine the solution.

  • Type of optimisation: local
  • COBYLA can be computationally expensive for higher-dimensional problems, noisy functions and non-linear constraints.

Reference:

Powell, M.J.D. (1994). A Direct Search Optimization Method That Models the Objective and Constraint Functions by Linear Interpolation. In: Gomez, S., Hennart, JP. (eds) Advances in Optimization and Numerical Analysis. Mathematics and Its Applications, vol 275. Springer, Dordrecht.

Source: https://doi.org/10.1007/978-94-015-8330-5_4

Description of the changes

  • Add and COBYLA class to local_opt

  • Add example to examples/optimization_algorithm

Fixes #73

- Add and `COBYLA` class struct ` to `local_opt`

- Add example to `examples/optimization_algorithm`

Fixes SimonBlanke#73
- Add merit function

- Add docstrings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement COBYLA (Constrained Optimization BY Linear Approximations)
1 participant