Skip to content

Releases: GAMS-dev/gamspy

1.18.3

19 Dec 13:03

Choose a tag to compare

GAMSPy 1.18.3 (2025-12-19)

New features

  • #712: Integrate mps2gms to gamspy cli.

Improvements in existing functionality

  • #730: Read the values of most model attributes from the trace file. Lazily read others if requested.
  • #740: Improve the alignment of constraints in the result of model.toLatex call.

Bug fixes

  • #742: Do not perform definition valiation on MPSGE equations since they are generated on the GAMS side.
  • #743: Use gp.Number instead of a Python variable in nonbinding equations of MCP models.
  • #745: Retrieve universe alias name from stack in case it's not provided instead of autogenerating a name.

1.18.2

11 Dec 14:23

Choose a tag to compare

GAMSPy 1.18.2 (2025-12-09)

Improvements in existing functionality

  • #738: Allow renaming in toLatex function. Support Greek letters in LaTeX format.

Bug fixes

  • #739: Fix evaluation of math expression where container is not available in any of the input symbols.

1.18.1

03 Dec 14:24

Choose a tag to compare

GAMSPy 1.18.1 (2025-12-03)

Improvements in existing functionality

  • #736: Add -a shortcut for gamspy install solver --install-all-solvers command. Add -a shortcut for gamspy uninstall solver --install-all-solvers command.

Bug fixes

  • #735: Remove number of miro symbols check since there might be containers with no miro symbols.

1.18.0

02 Dec 19:36

Choose a tag to compare

GAMSPy 1.18.0 (2025-12-01)

Improvements in existing functionality

  • #727: Accept the path of an existing solver options file as a valid "solver_options" argument in model.solve and container.writeSolverOptions.

Bug fixes

  • #728: Decouple container and socket connection to allow pickling of symbols and containers.
  • #729: Fix name mapping of GAMSDict and GAMSDictMap file formats in model.convert function.
  • #732: Fix model and path issues of "gamspy run miro" command on Windows.

Miscellaneous internal changes

  • #731: Change expected type of the "output" argument to TextIO instead of TextIOWrapper in model.solve.

1.17.2

10 Nov 23:10

Choose a tag to compare

GAMSPy 1.17.2 (2025-11-10)

New features

  • #685: Add FormulationResult class for better accessibility into formulations.
  • #718: Add formulation for ReLU activation function with equilibrium constraints.

Bug fixes

  • #723: Fix autoretrieval of python name in addX syntax.

Improved documentation

  • #685: Add docs for FormulationResult class.
  • #718: Add docs for ReLU with equilibrium activation function.

1.17.1

01 Nov 13:02

Choose a tag to compare

GAMSPy 1.17.1 (2025-10-30)

New features

  • #713: Implement softplus activation function

Bug fixes

  • #713: Fix bug in lse_max_sc where order of arguments were incorrectly put.
  • #719: Fix handling paths with empty spaces in model.toGams, model.toLatex and model.convert functions.

Improved documentation

  • #713: Update docs for softplus activation function.

CI/CD changes

  • #714: Add a new scheduled job to automatically upgrade pre-commit dependency versions.

Miscellaneous internal changes

  • #715: Do not install extras of gamsapi and add a direct dependency to pandas.
  • #716: Add stdcge (a standard cge model) to the test suite.

1.17.0

10 Oct 13:02

Choose a tag to compare

GAMSPy 1.17.0 (2025-10-10)

Improvements in existing functionality

  • #701: Show licensed solvers in the output of "gamspy show license"
  • #703: Start using griffe to ensure backward compatibility.

Bug fixes

  • #668: Fix synchronization bug in expert sync mode when there are other symbols defined after setting the synchronize flag.

Improved documentation

  • #710: Add Google Collab links into examples and reorder examples for better flow.

Dependencies

  • #707: Replace urllib3 with requests for network calls.

Miscellaneous internal changes

  • #566: Add indus89 to the model library.
  • #709: Change the default value of 'USE_PY_VAR_NAME' to 'yes-or-autogenerate'.

1.16.0

17 Sep 12:21

Choose a tag to compare

GAMSPy 1.16.0 (2025-09-16)

New features

  • #679: Now sets with single element generated using dim are singleton sets.

Improvements in existing functionality

  • #639: Use temporary sets instead of temporary parameters to get the result of set-based expressions.
  • #690: Improve model generation speed for RandomForest and GradientBoosting.
  • #698: If no indices are provided in an assignment, assume that the operation is over the whole domain.
  • #699: Allow the definition of a nonbinding equation without an equality operator. GAMSPy will automatically add == 0 at the end of the expression.
  • #702: Use ProxyManager in case the user specifies HTTPS_PROXY or HTTP_PROXY.

Bug fixes

  • #683: Fix records filtering bug for subset indices.
  • #684: In model.toGams call, write aliased set to the .gms file as well in case an alias is used as a domain.

Improved documentation

  • #679: Update matrix operations document for scalar extraction and style changes.
  • #692: Add Traveling Saleman Problem (TSP) in Notebook examples.
  • #697: Add documentation for model types required for formulations.

Dependencies

  • #679: Upgrade gamspy_base and gamsapi to 51.1.0.

Miscellaneous internal changes

  • #695: .records call will return either a DataFrame or None. It will stop squeezing single rows into a float.

1.15.1

17 Sep 12:23

Choose a tag to compare

GAMSPy 1.15.1 (2025-08-30)

New features

  • #642: Add RandomForest formulation.
  • #655: Add GradientBoosting formulation.
  • #682: - Introduce a convenience function for tanh in gamspy.math.activations to generate the output variable and equations.
    • Add init_weights parameter in make_variable for Linear, Conv1d and Conv2d formulations.

Improvements in existing functionality

  • #686: Allow specifying checkout duration through gamspy retrieve command to allow checking out network licenses.

Improved documentation

  • #642: Add docs for RandomForest formulation.
  • #655: Add docs for GradientBoosting formulation.
  • #682: Update documentation for training NNs to showcase formulations.
  • #688: Update documentation for ML formulations.

1.15.0

17 Sep 12:24

Choose a tag to compare

GAMSPy 1.15.0 (2025-08-14)

New features

  • #653: Allow bulk setRecords via Container.setRecords function.
  • #680: Add formulation for Leaky ReLU activation function.

Improvements in existing functionality

  • #681: Allow redirecting generateGamsString output to a file.
    Generate unique gdx files for each execution if the debugging level is set to "keep".

Bug fixes

  • #674: Fix the bug that causes solve link option of one model to propagate to another model.

Improved documentation

  • #680: Minor docs fix and add docs fix for Leaky ReLU activation function.

Miscellaneous internal changes

  • #450: Add a new model (tsp) to the model library.