[Feature] Add Colville test function (closes #12)#18
[Feature] Add Colville test function (closes #12)#18SimonBlanke merged 2 commits intoSimonBlanke:mainfrom
Conversation
|
Hi @SimonBlanke, Sorry, but I couldn't understand the requested changes. Could you please clarify what needs to be modified? |
It was about this code-quality check in the CI: But you took care of it. Well done. Let's see how the rest of the tests go. |
|
Hi @SimonBlanke, I ran the full integration test suite in a Python 3.11 environment Please let me know if any further changes are required. |
This was just a sporadic test fail. |
SimonBlanke
left a comment
There was a problem hiding this comment.
Great work. You understood the structure of the module and the test-functions architecture.
Description
Adds the Colville benchmark function to the algebraic test functions in Surfaces.
The Colville function is a 4-dimensional nonlinear optimization benchmark with a global minimum at (1, 1, 1, 1).
This implementation includes:
Reference:
https://www.sfu.ca/~ssurjano/colville.html
Related Issues
Fixes #12
Type of Change
[BUG]- Bug fix (non-breaking change fixing an issue)[ENH]- New feature (non-breaking change adding functionality)[DOC]- Documentation only[MNT]- Maintenance (refactoring, dependencies, CI)How was this solved?
Implemented a new algebraic test function class
ColvilleFunctionthat inherits fromAlgebraicFunction.Key steps:
_objective_batch_objective_search_spaceusing existing helper utilitiesThe implementation follows the structure and conventions used in other algebraic test functions in the repository.
Checklist
Required
[BUG],[ENH],[DOC]or[MNT]make check(lint, format, isort)Tests
Documentation
Testing
The function was tested manually.
Example:
Output:
0.0This matches the known global minimum: