piecewise
This file contains a library of functions needed to construct piecewise constraints for a Pyomo model. All piecewise types except for SOS2, BIGM_SOS1, BIGM_BIN were taken from the paper:
Mixed-Integer Models for Non-separable Piecewise Linear Optimization: Unifying framework and Extensions (Vielma, Nemhauser 2008).
- TODO: Add regression tests for the following completed tasks
user not providing floats can be an major issue for BIGM’s and MC
nonconvex/nonconcave functions - BIGM_SOS1, BIGM_SOS2 * possible edge case bug
- Possible Extensions
Consider another piecewise rep (“SOS2_MANUAL”?) where we manually implement extra constraints to define an SOS2 set, this would be compatible with GLPK, http://winglpk.sourceforge.net/media/glpk-sos2_02.pdf
double check that LOG and DLOG reps really do require (2^n)+1 points, or can we just add integer cuts (or something more intelligent) in order to handle piecewise functions without 2^n polytopes
piecewise for functions of the form y = f(x1,x2,…)
Enums
|
|
|
Classes
|
|
|
Adds piecewise constraints to a Pyomo model for functions of the form, y = f(x). |
|
This class defines the base class for all linearization and piecewise constraint generators.. |
|