Repository navigation
v1.28.1
·
120 commits
to develop
since this release
GAMSPy 1.28.1 (2026-10-02)
New features
- #911: Added
indicatorformulation togamspy.formulationsfor modeling indicator constraints, either reformulated or passed to the solver natively. - #913:
gp.If,gp.ElseIfandgp.Elsecan now be used on the outermost level, andgp.Ifandgp.ElseIfaccept an optionalcontainerargument.
Improvements in existing functionality
- #898:
gamspy list solversnow shows a reduced, more readable table of solvers and tools, with a status column (licensed/installed) and one column per supported problem type, instead of a plain solver-to-problem-type listing.
Bug fixes
- #904: Indexing a symbol with a set that an enclosing operation binds to a literal element, e.g.
Sum(i["label"], p[i]), no longer raises a false domain violation. - #910: Corrected the equation list for the
cperfectmodel and several incorrectimportstatements in the inlined example models. - #914: Model attributes are now set after solving a model inside
gp.Loop,gp.Fororgp.While.
Improved documentation
- #901: Rewrite the section on logical operators for better readability.
Deprecations
- #898: The
examiner2solver is deprecated and will be removed in a future release.Model.solve(solver="examiner2")now emits aDeprecationWarningandgamspy install solver examiner2prints a deprecation warning; useexaminerinstead.
gamspy list solvers --installables(-i) is deprecated and will be removed in a future release; it now prints a deprecation warning. Usegamspy list solvers --allinstead.
Miscellaneous internal changes
- #909: Move the socket connection to the GAMS process behind an execution engine abstraction to prepare the way for adding alternative local execution engines in the future.