Pyomo Future

Design Reviews and Priorities for Future Development

Design Reviews

The following are reviews of major design changes that have been proposed for Pyomo.

Under Review

Kernel Design

TODO: discuss design of pyomo.core.kernel

Drafts

Resign of pyomo.opt

The pyomo.opt package needs to be redesigned to simplify the creation of new solver interfaces. Currently, this page simply documents issues and ideas for this redesign.

As developers add issues and commentary, please annotate the entries with your initials and date.

Issues

[JDS 170706] Currently, all the solvers are created when their plugin modules are imported. This includes calling the available() logic. This appears to be the biggest bottleneck in Pyomo startup (taking upwards of several seconds). Ideally, solver objects should not be created unless the user specifically requests them. Further, the available() test should not be called until either the user specifically calls available(), or when the solve() method is called.

Ideas
New API capabilities:
  • [JDS 170706] The ability to query a solver object and get the version number / string of the solver executable (requested by IDAES).

Closed

None

Proposed Enhancements

The following are proposed enhancements to Pyomo.

Under Review

None

Drafts

Flatten Tuples

TODO: review whether we should flatten tuples used to index Pyomo components

Closed

None