bqth29 / simulated-bifurcation-algorithm

Python CPU/GPU implementation of the Simulated Bifurcation (SB) algorithm to solve quadratic optimization problems (QUBO, Ising, TSP, optimal asset allocations for a portfolio, etc.).
MIT License
103 stars 25 forks source link

Use keyword-only parameters for backend optimization functions + do not use default value for optimization domain #53

Open bqth29 opened 8 months ago

bqth29 commented 8 months ago

πŸ’¬ Pull Request Description

⚠️ This PR contains breaking changes. See at the bottom of this description for more information.

Some parameters of the optimization-related functions of backend classes were using keyword-only parameters in a way that seemed quite arbitrary. This has been homogenized by putting all parameters as keyword-only, expect the optimization domain (domain) if applicable.

The domain parameter also no longer has a default value (for minimize, maximize and optimize functions) to encourage users explicitely defining the optimization domain of their choice to avoid confusion.

βœ”οΈ Check list

Before you open the pull request, make sure the following requirements are met.

πŸš€ New features

None

🐞 Bug fixes

None

πŸ“£ Supplementary information

Defining these parameters as keyword-only may have introduced breaking changes for users directly calling the impacted backend classes using a version <= 1.2.1.

codecov[bot] commented 8 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (6194a9e) to head (3137751).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #53 +/- ## ========================================= Coverage 100.00% 100.00% ========================================= Files 36 36 Lines 1600 1600 ========================================= Hits 1600 1600 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.