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 cperfect model and several incorrect import statements 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.