Skip to content

Conversation

@ChrisRackauckas
Copy link
Member

Summary

Fixes #891 - This PR adds a p field to the OptimizationState struct to provide access to optimization parameters in callbacks.

Changes

  • Modified OptimizationState struct to include a new p parameter field
  • Updated constructor to accept an optional p parameter with default value nothing
  • Updated all OptimizationState construction calls across the codebase to pass the appropriate parameter values:
    • Main package files: src/lbfgsb.jl, src/sophia.jl, src/auglag.jl
    • All library extension packages in lib/ directory
  • Maintains backward compatibility - existing code will continue to work

Motivation

This enables use cases like tracking loss function progression in multi-start optimization scenarios, where callbacks need access to parameters that are unique to individual optimization runs.

Test Plan

  • Verified OptimizationState can be constructed with p parameter
  • Tested that callbacks can successfully access the p parameter
  • Confirmed backward compatibility is maintained

Example usage:

function my_callback(state, args...)
    # Now you can access optimization parameters
    params = state.p
    # ... use params for tracking, logging, etc.
    return false
end

🤖 Generated with Claude Code

Fixes #891 - Added a `p` field to the OptimizationState struct to provide
access to optimization parameters in callbacks. This enables use cases like
tracking loss function progression in multi-start optimization scenarios.

Changes:
- Modified OptimizationState struct to include `p` parameter field
- Updated constructor to accept optional `p` parameter
- Updated all OptimizationState construction calls across the codebase
  to pass the appropriate parameter values (cache.p, d, etc.)
- Maintains backward compatibility with existing code

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@ChrisRackauckas ChrisRackauckas merged commit c0c3776 into master Jul 23, 2025
24 of 29 checks passed
@ChrisRackauckas ChrisRackauckas deleted the add-params-to-optimization-state branch July 23, 2025 11:25
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.

Add optimization parameters to OptimiationStsate

2 participants