Skip to content

Update multistart solver, add method for multistart NLP initialization - #3994

Open
stephenscini wants to merge 75 commits into
Pyomo:mainfrom
stephenscini:multistart-init
Open

Update multistart solver, add method for multistart NLP initialization#3994
stephenscini wants to merge 75 commits into
Pyomo:mainfrom
stephenscini:multistart-init

Conversation

@stephenscini

@stephenscini stephenscini commented Jul 13, 2026

Copy link
Copy Markdown
Member

Fixes # .

Summary/Motivation:

Additional method in devel/initialization to use multistart optimization as a way for initializing nonliner models.

Changes proposed in this PR:

  • Updating contrib/multistart solver for reproducibility, and adding support for new solver interface.
  • Adding support for uniform, lhs, and sobol sampling within the multistart solver
  • Adding method to devel/initialization

AI-Use Disclosure

  • AI tools contributed to the development of this PR

    • AI tools generated code (apart from tests)

    Review process (select ONE):

    • Rewritten: All AI-generated content was rewritten by me before being committed.

Notes for reviewers (optional):

Legal Acknowledgement

By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution:

  1. I agree my contributions are submitted under the BSD license.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

@stephenscini

Copy link
Copy Markdown
Member Author

Opening PR, but still in active development. Dependent on #3991 first as it includes those changes.

@stephenscini stephenscini changed the title Adding method for multistart initialization of nonlinear models. [Depends on #3991] Adding method for multistart initialization of nonlinear models. Jul 21, 2026
@stephenscini

stephenscini commented Jul 21, 2026

Copy link
Copy Markdown
Member Author

Note for 7/21 Dev meeting

Method implemented with support for new solver interface. All original tests passing locally.

Tasks before ready for review:

  • It looks like there is an issue with changing the SolverFactory version in a different place, which I will address.
  • Try and simplify interface, check with mentors.
  • Add tests for new functionality

@stephenscini stephenscini changed the title [Depends on #3991] Adding method for multistart initialization of nonlinear models. Adding method for multistart initialization of nonlinear models. Aug 13, 2026
@stephenscini stephenscini changed the title Adding method for multistart initialization of nonlinear models. Update multistart solver, add method for multistart NLP initialization Aug 13, 2026
@stephenscini

Copy link
Copy Markdown
Member Author

@michaelbynum @blnicho I think this is ready for review. Please take a look when you have a chance. Thanks!

@stephenscini
stephenscini marked this pull request as ready for review August 18, 2026 18:17
@stephenscini

Copy link
Copy Markdown
Member Author

Note from 08/25 dev meeting: Not necessarily a bad design choice but technically precedent in Pyomo is to allow users to change the solver during solve after initialization. Worth future discussion.

@stephenscini

Copy link
Copy Markdown
Member Author

Note from 08/25 dev meeting: Not necessarily a bad design choice but technically precedent in Pyomo is to allow users to change the solver during solve after initialization. Worth future discussion.

Followed precedent and added back config option. Also adjusted so availability checks subsolver, and is rechecked during solve in case of change.

@stephenscini

Copy link
Copy Markdown
Member Author

@michaelbynum @blnicho
Can the osx/3.14 be rerun please? Not sure why it failed. Thanks!

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.

1 participant