Releases: convexengineering/gpkit
Releases · convexengineering/gpkit
Version 1.1 - Omicron
Version 1.0.0 - Atmospheric River
- no longer supports Python 2
- no longer supports mosek8 C bindings (the "mosek" solver)
- new dependencies: plotly, adce, numpy >= 1.16.4, matplotlib
- CVXOPT solver interface now uses linear programming formulations as applicable
- unicode printing by default, except on windows
- vastly improved diffing, pickling
- option for compressed solution pickles
- various speed improvements, especially during SGP solves
- reduced memory usage
- SGP solves now use the PCCP method
- raise warning on nonconvergence
- clearer solver errors
- new visualizations and improved old ones
- Sankey, Variable Reference, Treemap, Icicle plots
v0.9.9 - final Python2-compatible release
- The decorator
@parse_variables(__doc__, globals())
replacingexec parse_variables(...)
- Support for the MOSEK9 exponential cone solver. Install with pip!
And some things that are best seen in the docs:
- New and improved printing.
- v0.9.1:
A >= 2*s_(0,)*s_(1,) + 2*s_(0,)*s_(2,) + 2*s_(1,)*s_(2,), V <= s_(0,)*s_(1,)*s_(2,)
- v0.9.9:
A >= 2*(s[0]*s[1] + s[1]*s[2] + s[2]*s[0]), V <= s[:].prod()
- v0.9.1:
- New syntax for modelnames.
- v0.9.1:
E_PowerSystem/Battery
- v0.9.9:
PowerSystem.Battery.E
- v0.9.1:
- Dictionary constraints (which print nicely in addition to allowing easier access)
{"definition of Re": Re == rho*V*c/mu, "definition of D": D >= 0.5*rho*V**2*CD*S}
v0.9.0
- almost complete Python 3 support (except for
parse_variables
) - Speedups, especially for SP solves
- Models now number themselves only if their whole path is copied by another Model
- Fixes to some sensitivity edge cases
- Dropped 400 lines of code (down to 5100) while adding 120 lines of tests (up to 2450). Still at 290 lines of examples.
v0.8.0
v0.7.0
- Variable's values are now used only in their first ConstraintSet; in other ConstraintSets they're free variables
- this can be overriden by setting
constant=True
during variable declaration
- this can be overriden by setting
- MOSEK home directory can be set by a
MSKHOME
environment variable at build time sol(var)
now always returns Pint Quantities, even if the variable is dimensionlesssol[...][var]
, on the other hand, now always returns floats / numpy arrays of floats- Optional boundedness checking in docstring (see usage in docs)
- Automatic boundedness checking for GPs
- Sankey diagrams
- Many other fixes
v0.6.0
v0.5.3
v0.5.2
- Added new
sweep
andautosweep
methods to Model- Added
plot
routines to the results of those routines to make it easy to plot a 1D sweep.
- Added
- Added new
summary
method to solution_array.- It and table accept iterables of vars, will only print vars in that iterable (or, by default, all vars)
- Cleaned up and documented the
interactive
submodule- removed contour and sensitivity plots
- added a 1D-sweep plotting function
- added that plotting function as an option within the control panel interface
- Overhauled and documented three types of variables whose value is determined by functions:
- calculated constants
- post-solve calculated variables
- between-GP-solves calculated variables (for Sequential Geometric Programs)
- Fix
Bounded
and implementdebug()
for SPs - Apply
subinplace
to substitutions dictionary as well - Require GP substitutions to be Numbers only
- Extend Bounded to one-sided bounds
- Print model's numbers by default, unless
"modelnums" in exclude
- Implement lazy keymapping, allowing GP/SP results to be KeyDicts
- Handle Signomial Inequalities that become Posynomial Inequalities after substitution
- Various documentation updates
- Various bug fixes
v0.5.1
- O(N) sums and monomial products
- Warn about invalid ConstraintSet elements
- allow setting Tight tolerance as a class attribute
- full backwards compatibility for init methods
- scripts to test remote repositories
- minor fixes, tests, and refactors
- 3550 lines of code, 1800 lines of tests, 1700 lines of docstring. (not counting
interactive
)