github Pyomo/pyomo 6.3.0
Pyomo 6.3.0

latest releases: 6.8.0, 6.7.3, 6.7.2...
2 years ago

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
  • Added support for Python 3.10
  • New packages:
    • APPSI (Auto-Persistent Pyomo Solver Interfaces)
    • External grey box models
    • PyROS (Pyomo Robust Optimization Solver)
    • Structural model analysis
    • Rewrite of the TrustRegion Solver

Changes in this release

  • ADVANCE CHANGE NOTICE

    • This will be the last release to support Python 3.6.
  • General

    • Construct slices with normalized indices in slicing utility (#2223)
    • Remove hard-coded project name from default attempt_import() message (#2237)
    • Add --with-distributable-extensions option to setup.py (#2260)
    • Update Pyomo versioning to always include the micro version number (#2265)
    • Remove optional_packages from pyomo.environ (#2195)
    • Add Python 3.10 as an officially-supported interpreter (#2302)
    • TempfileManager updates (deletion order, add context) (#2297)
    • Add report_scaling utility to detect potential scaling issues (#2252)
  • Core

    • Check Var bounds when setting values (#2196)
    • Fix bug in implicit Var construction (#2210)
    • Add support for user-defined Component List starting index (#2215)
    • Switch Var.value setter to validate values (#2214)
    • Overload component initializers with named keyword params (#2212, #2230)
    • Resolve errors when creating Reference to a scalar Set (#2229)
    • Standardize scalar-valued external function interfaces (#2231)
    • Resolve bugs in cloning _ImplicitAny domains (#2233)
    • Redesign Var.stale handling to use a global state flag (#2249)
    • Update differentiate() to accept string mode identifiers (#2266)
    • Add as_quantity: evaluate a Pyomo expression to a pint Quantity (#2222)
    • NPV_SumExpression to inherit from NPV_Mixin (#2209)
    • Add support for abs in numeric differentiation (#2232)
    • Search filesystem for AMPLExternalFunction library (#2305)
  • Documentation

    • Updates to installation documentation (#2259)
    • Update GDP references (#2300)
    • Add example AMPL external function library (#2295)
  • Solver Interfaces

    • Disable log file in gurobi_direct when keepfiles=False (#2203)
    • Remove old GLPK interfaces (#2256)
    • Support gurobi lp interface through gurobipy module (#2262)
    • Update CBC version identification (#2250)
    • Increase CBC timeout when getting version/asl compatibility (#2293)
    • Deprecate the Alias component (#2288)
    • Remove XPRESS interface (#2273)
    • Support string arguments in NL external functions (#2295)
    • Fix reversed NL operator codes for floor/ceil (#2216)
  • Testing

    • Skip some fileutils tests on OSX Big Sur and Python<3.8 (#2224)
    • Fix Windows/Python 3.6 testing dependency (#2234)
    • Update test suite for BARON 22.1.19 (#2268)
    • Rework coverage uploads to use GitHub Actions (#2225)
    • Add option to test driver for turning off log capture (#2198)
    • Relaxing timing target for Windows GHA (#2303)
    • Resolve GDP test failure for missing solvers (#2306)
    • Testing infrastructure Refactor: nosetests to pytest (#2298)
    • Make time limit more robust for APPSI (#2296)
    • Resolve failing floating-point comparison failures in FBBT (#2244)
    • Check gurobipy availability in doctests (#2253)
  • GDP Updates

    • Ensure gdp.fix_disjuncts always creates a fully algebraic model (#2263)
    • Add partition_disjuncts and between_steps transformations (#2221)
  • Contributed Packages

    • APPSI: Fix bug with CBC options (#2243)
    • APPSI: Correctly identify changes to constraints (#2299)
    • APPSI: Improvements to persistent interface (#2246)
    • APPSI: Implement FBBT in C++ module (#2248)
    • APPSI: Resolve build errors on Windows (#2309)
    • GDPopt: Fix bugs in preprocessing (#2211)
    • GDPopt: Switch preprocessing to use FBBT (#2264)
    • incidence_analysis: General improvements (#2239, #2240)
    • MindtPy: Update online docs and logging (#2219, #2207)
    • MindtPy: Add Primal/Dual Integral (#2285)
    • MindtPy: Nonlinear sum reformulation of objective of MINLP (#2276)
    • Parmest: Covariance matrix (#2287), Add examples (#2274)
    • PyNumero: Add scaling factor support to ExternalPyomoModel (#2269)
    • PyNumero: Use projected NLPs for ExternalPyomoModel inner problems (#2283)
    • PyNumero: Add SQP example (#2291)
    • PyROS: Support ConstraintList and range constraints (#2206)
    • PyROS: Add optional bypassing of global separation subproblems (#2254)
    • TrustRegion: New implementation of Trust Region Framework (#2238, #2279)

Don't miss a new pyomo release

NewReleases is sending notifications on new releases.