-------------------------------------------------------------------------------
- pyomo.core
- Removed the 'initial' attribute from Var components.
- Removed the 'reset()' method from core components.
- Objective components now store sense for each objective.
- Added support for slicing when indexing a component.
- pyomo.dae
- Added methods to set and test the value of integral expressions
- pyomo.gdp
- Added property methods to access disjunction expressions (e.g. lower, upper)
- pyomo.opt
- Added support for ephemeral solver options that override the default
values set in the solver object.
- pyomo.neos
- Bug fixes to get data after calling NEOS
- Resolving issues with python 3
- pyomo.scripting
- Added --pyro-host and --pyro-port options
- Added shutdown capabilities to pyro solver manager
- Collect solve time for pyro solvers
- pyomo.pysp
- Added --pyro-host and --pyro-port options to manage pyro-based execution
in a more robust manner.
- Adding utility for converting PySP models into SMPS input files (pysp2smps).
- pyomo.solver
- Resolved serious issues with python direct interfaces:
- CPLEX: constants in linear range constraints and all quadratic
constraints were being excluded from the expression.
- CPLEX and GUROBI: actually raise an exception when a nonlinear
(non-quadratic) objective or constraint expression is encountered
rather than just emitting the linear and quadratic part of the
expression to the solver. This could lead to a naive user
thinking they have solved a general nonlinear model with these
solvers.
- CPLEX and GUROBI: do not skip trivial constraints by default.
Adding I/O option 'skip_trivial_constraints' to recover this
behavior.
- CPLEX: Merging as much of CPLEXPersistent with CPLEXDirect
as possible to avoid repeating bug fixes. More should be done,
but for now CPLEXDirect is a base class for CPLEXPersistent.
- Fix to various solver plugins so that variable bounds set to
float('inf') and float('-inf') are treated the same as variable
bounds set to None.
- Updates to Pyro solver managers
- Major performance enhancements for Pyro-based solver managers.
- Tasks can be uploaded to the dispatcher in bulk.
- Workers no longer use a timeout when requesting tasks from the queue, which
was wasting CPU cycles.
- Compatibility fixes when Pyro4 is used.
- other
- Updated the get-pyomo-extras.py script to install conditional dependencies
for Pyomo (e.g. xlrd and ipython)
- Adding logic to explicitly identify metasolvers. This information is
reflected in the 'pyomo help -s' command.
- Deprecated 'pyomo.os', which was not being actively supported.
- Added the 'pyomo info' subcommand to provide information about the Python
installation.
-------------------------------------------------------------------------------