Highlights of the 6.0 release series
- Improved stability and robustness of core Pyomo code and solver interfaces
- Integration of Boolean variables into GDP
- Integration of NumPy support into the Pyomo expression system
- Implemented a more performant NL file writer (NLv2)
- Added support for Python 3.10, 3.11
- Removed support for Python 3.6
- New packages:
- APPSI (Auto-Persistent Pyomo Solver Interfaces)
- CP (Constraint programming models and solver interfaces)
- DoE (Model based design of experiments)
- External grey box models
- IIS (Standard interface to solver IIS capabilities)
- MPC (Data structures/utils for rolling horizon dynamic optimization)
- PyROS (Pyomo Robust Optimization Solver)
- Structural model analysis
- Rewrite of the TrustRegion Solver
Changes in this release
- General
- Apply
black
to enforce PEP8 standards in certain modules (#2737, #2738,
#2733, #2732, #2731, #2728, #2730, #2729, #2720, #2721, #2719, #2718) - Add Developers' call information to README (#2665)
- Deprecate
pyomo.checker
module (#2734) - Warn when infeasibility tools will not log output (#2666)
- Separate identification from logging in
pyomo.util.infeasible.log_*
(#2669) - Convert subprocess timeout parameters to module attributes (#2672)
- Resolve consistency issues in the Bunch class (#2685)
- Remove GSL downloader from
download-extensions
(#2725) - Update enhancement GitHub issue template to link to wiki (#2739)
- Add deprecation warning to
pyomo
command (#2740) - Require
version=
for all deprecation utilities (#2744) - Fix
pyomo --version
version string (#2743)
- Apply
- Core
- Solver Interfaces
- Documentation
- Testing
- DAE
- GDP
- Add GDP-to-MIP transformation base class (#2687)
- Contributed Packages
- DoE: New module for model-based design of experiments (#2294, #2711, #2527)
- FBBT: Add tolerances to tests (#2675)
- GDPopt: Switch a LBB test to use Gurobi as MINLP solver (#2686)
- incidence_analysis: Add
plot
method toIncidenceGraphInterface
(#2716) - incidence_analysis: Refactor to cache a graph instead of a matrix (#2715)
- incidence_analysis: Add documentation and update API (#2727, #2745)
- incidence_analysis: Add logging solve_strongly_connected_components (#2723)
- MindtPy: Refactor to improve extensibility and maintainability (#2654)
- Parmest: Suppress mpi-sppy output in import (#2692)
- PyNumero: Add tee argument to Pyomo-SciPy square solvers (#2668)
- PyNumero: Support implicit function solvers in ExternalPyomoModel (#2652)
- PyROS: Fix user_time and wallclock_time bug (#2670)
- PyROS: More judicious enforcement of PyROS Solver time limit (#2660, #2706)
- PyROS: Update documentation (#2698, #2707)
- PyROS: Adjust routine for loading DR polishing model solutions (#2700)
- Viewer: Update to support PySide6 and display units and domain (#2689)