-
Notifications
You must be signed in to change notification settings - Fork 119
Description
Description of feature
pyoptsparse currently supports a subset of the optimizers that were available in the legacy pyOpt package. While pyoptsparse is clearly the modern and actively maintained successor, this gap makes migration from pyOpt more difficult for users with existing optimization workflows.
The following optimizers are available in pyOpt but not currently supported in pyoptsparse:
- pyALGENCAN
- pyALHSO
- pyCOBYLA
- pyFILTERSD
- pyFSQP
- pyGCMMA
- pyKSOPT
- pyMIDACO
- pyMMA
- pyMMFD
- pyNLPQL
- pySDPEN
- pySOLVOPT
This feature would be particularly useful for:
- Users migrating legacy
pyOptcodebases topyoptsparse - Researchers who rely on specific optimizers (e.g., MMA/GCMMA, COBYLA, MIDACO)
- Maintaining reproducibility of historical optimization results
Improving optimizer coverage would help establish pyoptsparse as a true drop-in replacement for pyOpt.
Potential solution
Possible implementation approaches include:
-
Incremental addition of optimizer wrappers
- Port existing optimizer interfaces from
pyOptwhere licensing permits - Prioritize commonly used optimizers such as
pyMMA,pyGCMMA, andpyCOBYLA
- Port existing optimizer interfaces from
-
Optional / plugin-based optimizer architecture
- Allow external or community-maintained optimizer wrappers to be registered dynamically
- Reduce maintenance burden on the core library
-
Compatibility layer for pyOpt-style APIs
- Provide a thin wrapper that reuses
pyOptoptimizer logic while exposing apyoptsparse-compatible interface
- Provide a thin wrapper that reuses
-
Documentation and migration guidance
- Clearly document which optimizers are supported, planned, or deprecated
- Provide examples mapping
pyOptoptimizers topyoptsparseequivalents where possible
Source: https://github.com/madebr/pyOpt