Releases
6.7.2
Highlight of the 6.7 release series
Added support for Python 3.12
Removed support for Python 3.7
New writer for converting linear models to matrix form
Improved handling of nested GDPs
Redesigned user API for parameter estimation
New packages:
iis: new capability for identifying minimal intractable systems
latex_printer: print Pyomo models to a LaTeX compatible format
contrib.solver: preview of redesigned solver interfaces
simplification: simplify Pyomo expressions
New solver interfaces
MAiNGO: Mixed-integer nonlinear global optimization
...and of course numerous minor bug fixes and performance enhancements
Changes in this release
General
Support config domains with either method or attribute domain_name (#3159 )
Automate TPL callback registrations (#3167 )
Fix type registrations for ExternalFunction arguments (#3168 )
Only modify module path and spec for deferred import modules (#3176 )
Add "mixed" standard form representation (#3201 )
Support "default" dispatchers in ExitNodeDispatcher
(#3194 )
Redefine objective sense as a proper IntEnum
(#3224 )
Fix division-by-0 bug in linear walker (#3246 )
Core
Allow Var
objects in LinearExpression.args
(#3189 )
Add type hints to components (#3173 )
Simplify expressions generated by TemplateSumExpression
(#3196 )
Make component data public classes (#3221 , #3253 )
Exploit repeated named expressions in identify_variables
(#3190 )
Documentation
NFC: Add link to the HOMOWP companion notebooks (#3195 )
Update installation documentation to include Cython instructions (#3208 )
Add links to the Pyomo Book Springer page (#3211 )
Solver Interfaces
Fix division by zero error in linear presolve (#3161 )
Subprocess timeout update (#3183 )
Solver Refactor - Bug fixes for various components (#3181 , #3214 , #3228 )
NLv2: handle presolved independent linear subsystems (#3193 )
Update LegacySolverWrapper
compatibility with the pyomo
script (#3202 )
Fix mosek_direct to use putqconk instead of putqcon (#3199 )
Check _skip_trivial_constraints before the constraint body (#3226 )
Fix AMPL solver duplicate funcadd (#3206 )
Disable the use of universal newlines in the ipopt_v2 NL file (#3231 )
NLv2: fix reporting numbers of nonlinear discrete variables (#3238 )
Fix: Get SCIP solving time considering float number with some text (#3234 )
Solver Refactor - Add gurobi_direct
implementation (#3225 )
Testing
Update TPL package list due to contrib.solver
(#3164 )
Set maxDiff=None on the base TestCase class (#3171 )
Testing infrastructure updates (#3175 )
Typos update for March 2024 (#3219 )
Add openmpi to testing environment to resolve issue in mpi4py (#3236 , #3239 )
Skip black 24.4.1 due to a bug in the parser (#3247 )
Skip tests on draft and WIP pull requests (#3223 )
Update GHA to grab gurobipy from PyPI (#3254 )
GDP
Use private_data for all original / transformed component mappings (#3166 )
Fix a bug in gdp.bigm transformation for nested GDPs (#3213 )
Contributed Packages
APPSI: cmodel: handle non-mutable params in var / constraint bounds (#3182 )
APPSI: Allow APPSI FBBT to handle nested named Expressions (#3185 )
APPSI: Add MAiNGO solver interface (#3165 )
CP: Add SequenceVar and other logical expressions for scheduling (#3227 )
DoE: Bug fixes (#3245 )
iis: Add minimal intractable system infeasibility diagnostics (#3172 )
incidence_analysis: Improve solve_strongly_connected_components
performance for models with named expressions (#3186 )
incidence_analysis: Add function to plot incidence graph in
Dulmage-Mendelsohn order (#3207 )
incidence_analysis: Require variables and constraints to be specified
separately in IncidenceGraphInterface.remove_nodes
(#3212 )
latex_printer: bugfix for set operations / multidimensional sets (#3177 )
MindtPy: Add HiGHS support (#2971 )
MindtPy: Add call_before_subproblem_solve callback (#3251 )
Parmest: New UI using experiment lists (#3160 )
piecewise: Add piecewise linear transformations (#3036 )
preprocessing: bugfix: intersect domains in variable aggregator (#3241 )
PyNumero: Allow CyIpopt to solve problems without objectives (#3163 )
PyNumero: Work around bug in CyIpopt 1.4.0 (#3222 )
PyNumero: Include "inventory" in readme (#3248 )
PyROS: Simplify custom domain validators (#3169 )
PyROS: Fix iteration logging for edge case involving discrete sets (#3170 )
PyROS: Update solver timing system (#3198 )
simplification: expression simplification using GiNaC or SymPy (#3088 )
You can’t perform that action at this time.