=====================
 coopr.opt CHANGELOG
=====================

-------------------------------------------------------------------------------
 2.2
-------------------------------------------------------------------------------

- Update to account for changes in pyutilib.plugin.* names

- Removed the colin stuff from coopr.opt

- Adding a hook for specifying the format for reading/writing IO formats.

- Added a _report_timing attribute to the base solver class.  If true, it will
  print out presolve/solve/postsolve timing statistics.

- Added results_schema utility function.

- Changed the API of the SolutionSet object.  Now, all variables, constraints
  can be indexed with 1-based integer indices (rather than 0-based).  This
  makes this object consistent with the Pyomo API.

- Renamed TerminationStatus to TerminationCondition

-------------------------------------------------------------------------------
 2.1
-------------------------------------------------------------------------------

- Adding "mipgap" attribute to the base solver class, mirroring the
  timelimit option. This option is pervasive, and the solver plugins
  themselves need to know how to write the option.

- Added a "solve_all_instances" utility function to the solver manager
  library. This function takes three arguments:
  - a solver manager
  - a solver
  - a list of instances
  The routine applies the supplied solver (through the supplied solver
  manager) to each of the instances, retreives the results, loads them
  into the corresponding instance, and performs a barrier synchronization,
  returning when all instance solves are complete.

- Adding default options to SolutionSet object's call method. Thus, the
  default it to access the first solution.

- Added "warm_start_capable" query method to OptSolver base class. Default is
  to return False.

- Fixed a major memory leak in the solver manager. When get_results() was
  previously invoked, the action handle was referenced as a key in
  the map, and the corresponding results object was deleted. However,
  it wasn't cleaned up in the solver manager results map. Consequently,
  the solver manager kept a copy of every result object ever created

- Changes to clarify what solver outputs entail. Now, logfiles are
  processed whenever available, and other data is processed with an
  appropriate reader. The exception is 'soln' files, which generically
  refers to solver-specific solution results. These are parsed with a
  solver method.

- Changes to make SolverResults objects pickleable.

- Rework of the SolverResults object, to provide for a more explicit
  definition of solver results, and to support loading of solver results
  from YAML-formated data.

- Standardized the technique used for guessing a file's format from
  its name.

- Standardized plugin interfaces to sort the plugin names when they
  are requested by the user.

-------------------------------------------------------------------------------
 2.0
-------------------------------------------------------------------------------

- Initial release of Coopr to create the coopr.misc package.

- See coopr.dist for previous ChangeLog information related to Coopr.

