Skip to content

Profile: add multistart optimization for profile points#1712

Open
Doresic wants to merge 12 commits into
developfrom
profile-multi_start_profiling
Open

Profile: add multistart optimization for profile points#1712
Doresic wants to merge 12 commits into
developfrom
profile-multi_start_profiling

Conversation

@Doresic
Copy link
Copy Markdown
Contributor

@Doresic Doresic commented May 7, 2026

I added multistart optimization at each profile point.

Additional starts are sampled around the point suggested by profile_next_guess, and the original suggested start is always included as well. Failed starts are tolerated, and the best finite result is kept.

I also added warnings when profiling finds lower function values than the supplied optimum, and when non-profiled parameters hit bounds during profiling.

Also:

  • add profile_n_starts and profile_sampling_sigma to ProfileOptions
  • use multistart optimization during profile walking
  • extend the related profiling tests

Open question: when non-profiled parameters hit bounds during profiling, should we eventually support relaxing those bounds (of the parameters we're not profiling), or is warning-only the better behavior here? Allowing a relaxation of the bounds would make the plots actually show non-identifiable parameters when they are such. But we might risk some weird optimisation failures in some unusual cases.

Should be merged only after #1711 -- contains all changes of that PR currently, too.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 7, 2026

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 87.75510% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.37%. Comparing base (7255fc7) to head (0f84792).

Files with missing lines Patch % Lines
pypesto/profile/profile.py 72.72% 3 Missing ⚠️
pypesto/profile/walk_along_profile.py 90.62% 3 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1712      +/-   ##
===========================================
+ Coverage    84.35%   84.37%   +0.01%     
===========================================
  Files          164      164              
  Lines        14752    14799      +47     
===========================================
+ Hits         12444    12486      +42     
- Misses        2308     2313       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Doresic Doresic changed the base branch from develop to profile-step_size_changes May 13, 2026 12:10
Doresic added 5 commits May 18, 2026 14:50
- explicit absolute/relative profile step-size options
- deprecated old absolute step-size option names
- per-parameter step-size family resolution from `ub - lb`
- finite-bound validation before profiling
- single upfront step-size resolution before profile walking
- resolved step sizes passed through profiling tasks/proposals
- lightweight many-steps precheck warning/error mode
- focused profile tests for options, resolution, precheck
@Doresic Doresic marked this pull request as ready for review May 29, 2026 08:38
@Doresic Doresic requested a review from PaulJonasJost as a code owner May 29, 2026 08:38
Base automatically changed from profile-step_size_changes to develop May 29, 2026 12:03
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.

2 participants