github Pyomo/pyomo 6.10.1
Pyomo 6.10.1

12 hours ago

Highlights of the 6.10 release series

  • Removed support for Python 3.9
  • Removed hard dependency on ply
  • New Model Observer package
  • New initialization module for nonconvex, nonlinear problems
  • New solver interfaces:
    • gams_v2 solver, writer, and solution loader
    • cuopt direct solver interface
    • scip direct and persistent solver interfaces
    • v2: Ongoing solver interface refactor
  • ...and of course numerous minor bug fixes and performance enhancements

Changes in this release

  • General
    • Resolve capture_output deadlock in multiprocessing environments (#3957)
    • Add SetOf domain; improve config's mock yaml dumper (#3872)
    • Bugfixes and testing of linear templates (#3781)
  • Core
    • Remove pyomo.duality and pyomo.core.plugins.transform.model (#3876)
    • Improved ConstraintData.equality relational expression generation (#3893)
    • Add new KKT Transformation for generating KKT reformulations (#3881)
    • New options/mappings in the core.add_slack_variables Transformation (#3869)
    • Centralize processing of monomial terms in LinearRepn compiler (#3956)
  • Documentation
    • Remove "deep" references to scipopt.org; update DOI for DoE paper (#3968)
    • Add AI policy to contribution guide (#3959)
    • Add a new template for tracking tasks (#3935)
    • Document use of 'Draft' status when reviewing PRs (#3918)
    • Improve documentation for mutable vs immutable Params (#3890)
    • Update README processing, version management (#3873)
    • Update URL for cyipopt documentation (#3909)
  • GDP
    • Modify hull transform to allow a nonzero base point (#3880)
    • Add exact hull reformulation for quadratic constraints (#3874)
  • Solver Interfaces
    • Fix memory leak in LegacySolverInterface wrapper (#3915)
    • Add direct and persistent interfaces to SCIP (#3744)
    • KNITRO: Add warm start support (#3833)
    • Handle cuOpt UnboundedOrInfeasible termination status (11) (#3916)
    • Fix bug in IPOPT version checking (#3862)
    • Add tests for trivial constraints (#3703)
    • Rework SolutionLoader (#3701)
  • Testing
    • Add missing Ipopt guards (parmest); add GHA nosolvers test (#3962)
    • Unpin GAMS release; rebuild GHA package cache (#3950)
    • Update GHA TPL cache; resolve new test failures (#3865)
    • Temporarily pin to PyPy 7.3.20 (#3899)
    • Update actions; exclude mathworks from URL checks (#3900, #3929)
    • Bugfix for non-standard sed on OSX (#3901)
    • Update osx installers and urlchecker environment (#3914)
    • GHA: run tests on draft PRs (#3926)
    • Add NEOS solvers (#3919, #3924)
    • Disallow cplex 22.1.2.1 from conda (#3910)
  • Contributed Packages
    • DoE: Fix trace/Cholesky initialization consistency (#3867)
    • DoE: Update documentation (#3812)
    • iis: Fix interface for current CPLEX releases (#3965)
    • initialization: New tools for initializing nonconvex NLPs (#3912)
    • mpc: Skip Expressions when loading MPC data (#3868)
    • MindtPy: Internal short circuit base (#3907)
    • MindtPy: Fix results returned when no discrete variables present (#3861)
    • parmest/DoE: Reorganizing Documentation Pages (#3904)
    • parmest: Simplify _Q_opt with block scenario structure (#3789)
    • parmest: Add regularization objective option (#3550)
    • piecewise: Factorable Programming for PWL Approximations (#3821)
    • piecewise: Separate linear terms in nonlinear_to_pwl transform. (#3814)
    • PyNumero: Efficiency change to sensitivity toolbox calculations (#3905)
    • PyNumero: Use Hessian approximation for grey-boxes sent to CyIpopt (#3892)
    • PyROS: Fix typos in PyROS CardinalitySet documentation (#3972)
    • PyROS: Extend the CardinalitySet to allow negative deviations (#3969)
    • PyROS: Add CartesianProductSet (#3927, #3951)
    • PyROS: Add caching for computed uncertain parameter bounds (#3877)
    • PyROS: Amend documentation of BudgetSet.budget_membership_mat (#3954)
    • TrustRegion: Remove direct manipulation of stdout (#3902)
    • TrustRegion: Add funnel globalization mechanism (#3823)

Don't miss a new pyomo release

NewReleases is sending notifications on new releases.