gamspy 1.18.4__tar.gz → 1.19.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. {gamspy-1.18.4 → gamspy-1.19.0}/LICENSE +22 -22
  2. {gamspy-1.18.4/src/gamspy.egg-info → gamspy-1.19.0}/PKG-INFO +90 -121
  3. {gamspy-1.18.4 → gamspy-1.19.0}/README.md +50 -50
  4. {gamspy-1.18.4 → gamspy-1.19.0}/README_PYPI.md +47 -47
  5. {gamspy-1.18.4 → gamspy-1.19.0}/pyproject.toml +272 -271
  6. {gamspy-1.18.4 → gamspy-1.19.0}/setup.cfg +4 -4
  7. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/__init__.py +86 -86
  8. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/__main__.py +6 -6
  9. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_algebra/__init__.py +13 -13
  10. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_algebra/condition.py +290 -253
  11. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_algebra/domain.py +103 -103
  12. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_algebra/expression.py +820 -820
  13. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_algebra/number.py +79 -79
  14. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_algebra/operable.py +185 -185
  15. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_algebra/operation.py +948 -845
  16. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_backend/backend.py +313 -311
  17. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_backend/engine.py +960 -960
  18. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_backend/local.py +124 -124
  19. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_backend/neos.py +567 -567
  20. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/__init__.py +1 -1
  21. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/cli.py +64 -64
  22. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/gdx.py +377 -377
  23. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/install.py +375 -377
  24. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/list.py +94 -94
  25. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/mps2gms.py +128 -128
  26. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/probe.py +52 -52
  27. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/retrieve.py +79 -79
  28. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/run.py +158 -158
  29. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/show.py +246 -246
  30. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/uninstall.py +165 -165
  31. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_cli/util.py +94 -94
  32. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_communication.py +215 -215
  33. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_config.py +132 -132
  34. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_container.py +1694 -1636
  35. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_convert.py +720 -720
  36. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_database.py +271 -271
  37. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_extrinsic.py +181 -181
  38. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_miro.py +356 -352
  39. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_model.py +1803 -1682
  40. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_model_instance.py +701 -701
  41. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_options.py +780 -778
  42. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_serialization.py +156 -156
  43. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/__init__.py +17 -17
  44. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/alias.py +305 -305
  45. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/equation.py +1407 -1407
  46. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/implicits/__init__.py +11 -11
  47. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/implicits/implicit_equation.py +186 -186
  48. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/implicits/implicit_parameter.py +272 -272
  49. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/implicits/implicit_set.py +124 -124
  50. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/implicits/implicit_symbol.py +315 -315
  51. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/implicits/implicit_variable.py +255 -255
  52. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/parameter.py +648 -648
  53. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/set.py +985 -985
  54. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/symbol.py +395 -386
  55. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/universe_alias.py +182 -182
  56. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_symbols/variable.py +1101 -1101
  57. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_types.py +7 -7
  58. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_validation.py +735 -735
  59. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_workspace.py +72 -72
  60. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/exceptions.py +128 -128
  61. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/__init__.py +46 -46
  62. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/ml/__init__.py +11 -11
  63. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/ml/decision_tree_struct.py +80 -80
  64. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/ml/gradient_boosting.py +203 -203
  65. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/ml/random_forest.py +187 -187
  66. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/ml/regression_tree.py +533 -533
  67. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/__init__.py +19 -19
  68. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/avgpool2d.py +232 -232
  69. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/conv1d.py +533 -533
  70. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/conv2d.py +529 -529
  71. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/linear.py +341 -341
  72. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/maxpool2d.py +88 -88
  73. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/minpool2d.py +88 -88
  74. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/mpool2d.py +245 -245
  75. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/nn/torch_sequential.py +278 -278
  76. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/piecewise.py +682 -682
  77. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/result.py +119 -119
  78. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/shape.py +188 -188
  79. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/formulations/utils.py +173 -173
  80. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/math/__init__.py +215 -215
  81. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/math/activation.py +783 -767
  82. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/math/log_power.py +435 -435
  83. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/math/matrix.py +534 -534
  84. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/math/misc.py +1709 -1625
  85. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/math/probability.py +170 -170
  86. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/math/trigonometric.py +232 -232
  87. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/utils.py +810 -810
  88. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/version.py +5 -5
  89. {gamspy-1.18.4 → gamspy-1.19.0/src/gamspy.egg-info}/PKG-INFO +90 -121
  90. gamspy-1.19.0/src/gamspy.egg-info/requires.txt +9 -0
  91. {gamspy-1.18.4 → gamspy-1.19.0}/tests/test_gamspy.py +152 -152
  92. gamspy-1.18.4/src/gamspy.egg-info/requires.txt +0 -43
  93. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/_backend/__init__.py +0 -0
  94. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy/py.typed +0 -0
  95. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy.egg-info/SOURCES.txt +0 -0
  96. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy.egg-info/dependency_links.txt +0 -0
  97. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy.egg-info/entry_points.txt +0 -0
  98. {gamspy-1.18.4 → gamspy-1.19.0}/src/gamspy.egg-info/top_level.txt +0 -0
@@ -1,22 +1,22 @@
1
- GAMSpy - General Algebraic Modeling in Python
2
-
3
- Copyright (c) 2024 GAMS Development Corp. <support@gams.com>
4
- Copyright (c) 2024 GAMS Software GmbH <support@gams.com>
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
1
+ GAMSPy - General Algebraic Modeling in Python
2
+
3
+ Copyright (c) 2026 GAMS Development Corp. <support@gams.com>
4
+ Copyright (c) 2026 GAMS Software GmbH <support@gams.com>
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
@@ -1,121 +1,90 @@
1
- Metadata-Version: 2.4
2
- Name: gamspy
3
- Version: 1.18.4
4
- Summary: Python-based algebraic modeling interface to GAMS
5
- Author-email: GAMS Development Corporation <support@gams.com>
6
- Project-URL: homepage, https://gams.com/sales/gamspy_facts/
7
- Project-URL: documentation, https://gamspy.readthedocs.io/en/latest/user/index.html
8
- Project-URL: repository, https://github.com/GAMS-dev/gamspy
9
- Project-URL: changelog, https://github.com/GAMS-dev/gamspy/blob/develop/CHANGELOG.md
10
- Keywords: Optimization,GAMS
11
- Classifier: Development Status :: 5 - Production/Stable
12
- Classifier: Environment :: Console
13
- Classifier: Programming Language :: Python
14
- Classifier: Topic :: Software Development
15
- Classifier: Topic :: Scientific/Engineering
16
- Classifier: Intended Audience :: Developers
17
- Classifier: Intended Audience :: Science/Research
18
- Classifier: License :: OSI Approved :: MIT License
19
- Classifier: Programming Language :: Python
20
- Classifier: Programming Language :: Python :: 3
21
- Classifier: Programming Language :: Python :: 3 :: Only
22
- Classifier: Programming Language :: Python :: 3.10
23
- Classifier: Programming Language :: Python :: 3.11
24
- Classifier: Programming Language :: Python :: 3.12
25
- Classifier: Programming Language :: Python :: 3.13
26
- Classifier: Programming Language :: Python :: 3.14
27
- Classifier: Operating System :: POSIX
28
- Classifier: Operating System :: Unix
29
- Classifier: Operating System :: MacOS
30
- Classifier: Operating System :: Microsoft :: Windows
31
- Requires-Python: >=3.10
32
- Description-Content-Type: text/markdown
33
- License-File: LICENSE
34
- Requires-Dist: gamsapi<53.0.0,>=52.2.0
35
- Requires-Dist: gamspy_base<53.0.0,>=52.2.0
36
- Requires-Dist: pandas<2.4,>=2.2.2
37
- Requires-Dist: pydantic>=2.0
38
- Requires-Dist: requests>=2.28.0
39
- Requires-Dist: typer>=0.16.0
40
- Provides-Extra: dev
41
- Requires-Dist: ruff>=0.13.0; extra == "dev"
42
- Requires-Dist: pre-commit>=3.5.0; extra == "dev"
43
- Requires-Dist: mypy>=1.18.1; extra == "dev"
44
- Requires-Dist: griffe>=1.14.0; extra == "dev"
45
- Provides-Extra: test
46
- Requires-Dist: coverage[toml]>=7.2.7; extra == "test"
47
- Requires-Dist: openpyxl>=3.1.2; extra == "test"
48
- Requires-Dist: cerberus>=1.3.5; extra == "test"
49
- Requires-Dist: python-dotenv>=1.0.0; extra == "test"
50
- Requires-Dist: pytest>=8.0.0; extra == "test"
51
- Requires-Dist: networkx>=3.2.1; extra == "test"
52
- Requires-Dist: scikit-learn>=1.6.1; extra == "test"
53
- Provides-Extra: doc
54
- Requires-Dist: sphinx>=7.1.2; extra == "doc"
55
- Requires-Dist: numpydoc>=1.5.0; extra == "doc"
56
- Requires-Dist: nbsphinx>=0.9.3; extra == "doc"
57
- Requires-Dist: sphinx_copybutton>=0.5.2; extra == "doc"
58
- Requires-Dist: sphinx-favicon>=1.0.1; extra == "doc"
59
- Requires-Dist: ipykernel; extra == "doc"
60
- Requires-Dist: matplotlib>=3.7.3; extra == "doc"
61
- Requires-Dist: sphinx_design>=0.5.0; extra == "doc"
62
- Requires-Dist: pydata_sphinx_theme>=0.14.1; extra == "doc"
63
- Requires-Dist: plotly>=5.22.0; extra == "doc"
64
- Requires-Dist: kaleido==0.2.1; extra == "doc"
65
- Requires-Dist: pytest>=8.2.1; extra == "doc"
66
- Requires-Dist: nbmake>=1.5.3; extra == "doc"
67
- Requires-Dist: openpyxl>=3.1.2; extra == "doc"
68
- Requires-Dist: sphinx-tabs>=3.4.7; extra == "doc"
69
- Requires-Dist: towncrier>=24.8.0; extra == "doc"
70
- Requires-Dist: geopandas>=1.1.1; extra == "doc"
71
- Provides-Extra: torch
72
- Requires-Dist: torch>=2.7.0; extra == "torch"
73
- Dynamic: license-file
74
-
75
- ![plot](https://github.com/GAMS-dev/gamspy/blob/develop/docs/_static/gamspy_logo.png?raw=true)
76
-
77
- -----------------
78
- [![PyPI version](https://img.shields.io/pypi/v/gamspy.svg?maxAge=3600)](https://gamspy.readthedocs.io/en/latest/)
79
- [![Downloads](https://static.pepy.tech/badge/gamspy)](https://pepy.tech/project/gamspy)
80
- [![Documentation Status](https://readthedocs.org/projects/gamspy/badge/?version=latest)](https://gamspy.readthedocs.io/en/latest/)
81
-
82
- # GAMSPy: Algebraic Modeling Interface to GAMS
83
-
84
- ## Installation
85
-
86
- ```sh
87
- pip install gamspy
88
- ```
89
-
90
- ## What is it?
91
-
92
- **gamspy** is a mathematical optimization package that combines the power of the high performance GAMS execution system
93
- and flexibility of the Python language. It includes all GAMS symbols (Set, Alias, Parameter, Variable, and
94
- Equation) to compose mathematical models, a math package, and various utility functions.
95
-
96
- ## Documentation
97
- The official documentation is hosted on [GAMSPy Readthedocs](https://gamspy.readthedocs.io/en/latest/index.html).
98
-
99
- ## Design Philosophy
100
- GAMSPy makes extensive use of set based operations -- the absence of any explicit looping, indexing, etc., in native Python.
101
- These things are taking place, of course, just “behind the scenes” in optimized, pre-compiled C code.
102
-
103
- Set based approach has many advantages:
104
-
105
- - Results in more concise Python code -- avoids inefficient and difficult to read for loops
106
- - Closely resembles standard mathematical notation
107
- - Easier to read
108
- - Fewer lines of code generally means fewer bugs
109
-
110
-
111
- ## Main Features
112
- Here are just a few of the things that **gamspy** does well:
113
-
114
- - Specify model algebra in Python natively
115
- - Combines the flexibility of Python programming flow controls and the power of model specification in GAMS
116
- - Test a variety of solvers on a model by changing only one line
117
-
118
- ## Getting Help
119
-
120
- For usage questions, the best place to go to is [GAMSPy Documentation](https://gamspy.readthedocs.io/en/latest/index.html).
121
- General questions and discussions can also take place on the [GAMSPy Discourse Platform](https://forum.gams.com).
1
+ Metadata-Version: 2.4
2
+ Name: gamspy
3
+ Version: 1.19.0
4
+ Summary: Python-based algebraic modeling interface to GAMS
5
+ Author-email: GAMS Development Corporation <support@gams.com>
6
+ Project-URL: homepage, https://gams.com/sales/gamspy_facts/
7
+ Project-URL: documentation, https://gamspy.readthedocs.io/en/latest/user/index.html
8
+ Project-URL: repository, https://github.com/GAMS-dev/gamspy
9
+ Project-URL: changelog, https://github.com/GAMS-dev/gamspy/blob/develop/CHANGELOG.md
10
+ Keywords: Optimization,GAMS
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Environment :: Console
13
+ Classifier: Programming Language :: Python
14
+ Classifier: Topic :: Software Development
15
+ Classifier: Topic :: Scientific/Engineering
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: Science/Research
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Programming Language :: Python
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3 :: Only
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Programming Language :: Python :: 3.14
27
+ Classifier: Operating System :: POSIX
28
+ Classifier: Operating System :: Unix
29
+ Classifier: Operating System :: MacOS
30
+ Classifier: Operating System :: Microsoft :: Windows
31
+ Requires-Python: >=3.10
32
+ Description-Content-Type: text/markdown
33
+ License-File: LICENSE
34
+ Requires-Dist: gamsapi<53.0.0,>=52.2.0
35
+ Requires-Dist: gamspy_base<53.0.0,>=52.2.0
36
+ Requires-Dist: pandas<2.4,>=2.2.2
37
+ Requires-Dist: pydantic>=2.0
38
+ Requires-Dist: requests>=2.28.0
39
+ Requires-Dist: typer>=0.16.0
40
+ Provides-Extra: torch
41
+ Requires-Dist: torch>=2.7.0; extra == "torch"
42
+ Dynamic: license-file
43
+
44
+ ![plot](https://github.com/GAMS-dev/gamspy/blob/develop/docs/_static/gamspy_logo.png?raw=true)
45
+
46
+ -----------------
47
+ [![PyPI version](https://img.shields.io/pypi/v/gamspy.svg?maxAge=3600)](https://gamspy.readthedocs.io/en/latest/)
48
+ [![Downloads](https://static.pepy.tech/badge/gamspy)](https://pepy.tech/project/gamspy)
49
+ [![Documentation Status](https://readthedocs.org/projects/gamspy/badge/?version=latest)](https://gamspy.readthedocs.io/en/latest/)
50
+
51
+ # GAMSPy: Algebraic Modeling Interface to GAMS
52
+
53
+ ## Installation
54
+
55
+ ```sh
56
+ pip install gamspy
57
+ ```
58
+
59
+ ## What is it?
60
+
61
+ **gamspy** is a mathematical optimization package that combines the power of the high performance GAMS execution system
62
+ and flexibility of the Python language. It includes all GAMS symbols (Set, Alias, Parameter, Variable, and
63
+ Equation) to compose mathematical models, a math package, and various utility functions.
64
+
65
+ ## Documentation
66
+ The official documentation is hosted on [GAMSPy Readthedocs](https://gamspy.readthedocs.io/en/latest/index.html).
67
+
68
+ ## Design Philosophy
69
+ GAMSPy makes extensive use of set based operations -- the absence of any explicit looping, indexing, etc., in native Python.
70
+ These things are taking place, of course, just “behind the scenes” in optimized, pre-compiled C code.
71
+
72
+ Set based approach has many advantages:
73
+
74
+ - Results in more concise Python code -- avoids inefficient and difficult to read for loops
75
+ - Closely resembles standard mathematical notation
76
+ - Easier to read
77
+ - Fewer lines of code generally means fewer bugs
78
+
79
+
80
+ ## Main Features
81
+ Here are just a few of the things that **gamspy** does well:
82
+
83
+ - Specify model algebra in Python natively
84
+ - Combines the flexibility of Python programming flow controls and the power of model specification in GAMS
85
+ - Test a variety of solvers on a model by changing only one line
86
+
87
+ ## Getting Help
88
+
89
+ For usage questions, the best place to go to is [GAMSPy Documentation](https://gamspy.readthedocs.io/en/latest/index.html).
90
+ General questions and discussions can also take place on the [GAMSPy Discourse Platform](https://forum.gams.com).
@@ -1,50 +1,50 @@
1
- ![plot](https://github.com/GAMS-dev/gamspy/blob/develop/docs/_static/gamspy_logo.png?raw=true)
2
-
3
- -----------------
4
- [![PyPI version](https://img.shields.io/pypi/v/gamspy.svg?maxAge=3600)](https://gamspy.readthedocs.io/en/latest/)
5
- [![Downloads](https://static.pepy.tech/badge/gamspy)](https://pepy.tech/project/gamspy)
6
- [![Supported versions](https://img.shields.io/pypi/pyversions/gamspy.svg)](https://pypi.python.org/pypi/gamspy)
7
- [![Documentation Status](https://readthedocs.org/projects/gamspy/badge/?version=latest)](https://gamspy.readthedocs.io/en/latest/)
8
-
9
- # GAMSPy: Algebraic Modeling Interface to GAMS
10
-
11
- https://github.com/GAMS-dev/gamspy/assets/25618191/af91659c-408d-4f4c-a226-dc79e142a62f
12
-
13
- ## Installation
14
-
15
- ```sh
16
- pip install gamspy
17
- ```
18
-
19
- ## What is it?
20
-
21
- **GAMSPy** is a mathematical optimization package that combines the power of the high performance GAMS execution system
22
- and flexibility of the Python language. It includes all GAMS symbols (Set, Alias, Parameter, Variable, and
23
- Equation) to compose mathematical models, a math package, and various utility functions.
24
-
25
- ## Documentation
26
- The official documentation is hosted on [GAMSPy Readthedocs](https://gamspy.readthedocs.io/en/latest/index.html).
27
-
28
- ## Design Philosophy
29
- GAMSPy makes extensive use of set based operations -- the absence of any explicit looping, indexing, etc., in native Python.
30
- These things are taking place, of course, just “behind the scenes” in optimized, pre-compiled C code.
31
-
32
- Set based approach has many advantages:
33
-
34
- - Results in more concise Python code -- avoids inefficient and difficult to read for loops
35
- - Closely resembles standard mathematical notation
36
- - Easier to read
37
- - Fewer lines of code generally means fewer bugs
38
-
39
-
40
- ## Main Features
41
- Here are just a few of the things that **GAMSPy** does well:
42
-
43
- - Specify model algebra in Python natively
44
- - Combines the flexibility of Python programming flow controls and the power of model specification in GAMS
45
- - Test a variety of solvers on a model by changing only one line
46
-
47
- ## Getting Help
48
-
49
- For usage questions, the best place to go to is [GAMSPy Documentation](https://gamspy.readthedocs.io/en/latest/index.html).
50
- General questions and discussions can also take place on the [GAMSPy Discourse Platform](https://forum.gams.com).
1
+ ![plot](https://github.com/GAMS-dev/gamspy/blob/develop/docs/_static/gamspy_logo.png?raw=true)
2
+
3
+ -----------------
4
+ [![PyPI version](https://img.shields.io/pypi/v/gamspy.svg?maxAge=3600)](https://gamspy.readthedocs.io/en/latest/)
5
+ [![Downloads](https://static.pepy.tech/badge/gamspy)](https://pepy.tech/project/gamspy)
6
+ [![Supported versions](https://img.shields.io/pypi/pyversions/gamspy.svg)](https://pypi.python.org/pypi/gamspy)
7
+ [![Documentation Status](https://readthedocs.org/projects/gamspy/badge/?version=latest)](https://gamspy.readthedocs.io/en/latest/)
8
+
9
+ # GAMSPy: Algebraic Modeling Interface to GAMS
10
+
11
+ https://github.com/GAMS-dev/gamspy/assets/25618191/af91659c-408d-4f4c-a226-dc79e142a62f
12
+
13
+ ## Installation
14
+
15
+ ```sh
16
+ pip install gamspy
17
+ ```
18
+
19
+ ## What is it?
20
+
21
+ **GAMSPy** is a mathematical optimization package that combines the power of the high performance GAMS execution system
22
+ and flexibility of the Python language. It includes all GAMS symbols (Set, Alias, Parameter, Variable, and
23
+ Equation) to compose mathematical models, a math package, and various utility functions.
24
+
25
+ ## Documentation
26
+ The official documentation is hosted on [GAMSPy Readthedocs](https://gamspy.readthedocs.io/en/latest/index.html).
27
+
28
+ ## Design Philosophy
29
+ GAMSPy makes extensive use of set based operations -- the absence of any explicit looping, indexing, etc., in native Python.
30
+ These things are taking place, of course, just “behind the scenes” in optimized, pre-compiled C code.
31
+
32
+ Set based approach has many advantages:
33
+
34
+ - Results in more concise Python code -- avoids inefficient and difficult to read for loops
35
+ - Closely resembles standard mathematical notation
36
+ - Easier to read
37
+ - Fewer lines of code generally means fewer bugs
38
+
39
+
40
+ ## Main Features
41
+ Here are just a few of the things that **GAMSPy** does well:
42
+
43
+ - Specify model algebra in Python natively
44
+ - Combines the flexibility of Python programming flow controls and the power of model specification in GAMS
45
+ - Test a variety of solvers on a model by changing only one line
46
+
47
+ ## Getting Help
48
+
49
+ For usage questions, the best place to go to is [GAMSPy Documentation](https://gamspy.readthedocs.io/en/latest/index.html).
50
+ General questions and discussions can also take place on the [GAMSPy Discourse Platform](https://forum.gams.com).
@@ -1,47 +1,47 @@
1
- ![plot](https://github.com/GAMS-dev/gamspy/blob/develop/docs/_static/gamspy_logo.png?raw=true)
2
-
3
- -----------------
4
- [![PyPI version](https://img.shields.io/pypi/v/gamspy.svg?maxAge=3600)](https://gamspy.readthedocs.io/en/latest/)
5
- [![Downloads](https://static.pepy.tech/badge/gamspy)](https://pepy.tech/project/gamspy)
6
- [![Documentation Status](https://readthedocs.org/projects/gamspy/badge/?version=latest)](https://gamspy.readthedocs.io/en/latest/)
7
-
8
- # GAMSPy: Algebraic Modeling Interface to GAMS
9
-
10
- ## Installation
11
-
12
- ```sh
13
- pip install gamspy
14
- ```
15
-
16
- ## What is it?
17
-
18
- **gamspy** is a mathematical optimization package that combines the power of the high performance GAMS execution system
19
- and flexibility of the Python language. It includes all GAMS symbols (Set, Alias, Parameter, Variable, and
20
- Equation) to compose mathematical models, a math package, and various utility functions.
21
-
22
- ## Documentation
23
- The official documentation is hosted on [GAMSPy Readthedocs](https://gamspy.readthedocs.io/en/latest/index.html).
24
-
25
- ## Design Philosophy
26
- GAMSPy makes extensive use of set based operations -- the absence of any explicit looping, indexing, etc., in native Python.
27
- These things are taking place, of course, just “behind the scenes” in optimized, pre-compiled C code.
28
-
29
- Set based approach has many advantages:
30
-
31
- - Results in more concise Python code -- avoids inefficient and difficult to read for loops
32
- - Closely resembles standard mathematical notation
33
- - Easier to read
34
- - Fewer lines of code generally means fewer bugs
35
-
36
-
37
- ## Main Features
38
- Here are just a few of the things that **gamspy** does well:
39
-
40
- - Specify model algebra in Python natively
41
- - Combines the flexibility of Python programming flow controls and the power of model specification in GAMS
42
- - Test a variety of solvers on a model by changing only one line
43
-
44
- ## Getting Help
45
-
46
- For usage questions, the best place to go to is [GAMSPy Documentation](https://gamspy.readthedocs.io/en/latest/index.html).
47
- General questions and discussions can also take place on the [GAMSPy Discourse Platform](https://forum.gams.com).
1
+ ![plot](https://github.com/GAMS-dev/gamspy/blob/develop/docs/_static/gamspy_logo.png?raw=true)
2
+
3
+ -----------------
4
+ [![PyPI version](https://img.shields.io/pypi/v/gamspy.svg?maxAge=3600)](https://gamspy.readthedocs.io/en/latest/)
5
+ [![Downloads](https://static.pepy.tech/badge/gamspy)](https://pepy.tech/project/gamspy)
6
+ [![Documentation Status](https://readthedocs.org/projects/gamspy/badge/?version=latest)](https://gamspy.readthedocs.io/en/latest/)
7
+
8
+ # GAMSPy: Algebraic Modeling Interface to GAMS
9
+
10
+ ## Installation
11
+
12
+ ```sh
13
+ pip install gamspy
14
+ ```
15
+
16
+ ## What is it?
17
+
18
+ **gamspy** is a mathematical optimization package that combines the power of the high performance GAMS execution system
19
+ and flexibility of the Python language. It includes all GAMS symbols (Set, Alias, Parameter, Variable, and
20
+ Equation) to compose mathematical models, a math package, and various utility functions.
21
+
22
+ ## Documentation
23
+ The official documentation is hosted on [GAMSPy Readthedocs](https://gamspy.readthedocs.io/en/latest/index.html).
24
+
25
+ ## Design Philosophy
26
+ GAMSPy makes extensive use of set based operations -- the absence of any explicit looping, indexing, etc., in native Python.
27
+ These things are taking place, of course, just “behind the scenes” in optimized, pre-compiled C code.
28
+
29
+ Set based approach has many advantages:
30
+
31
+ - Results in more concise Python code -- avoids inefficient and difficult to read for loops
32
+ - Closely resembles standard mathematical notation
33
+ - Easier to read
34
+ - Fewer lines of code generally means fewer bugs
35
+
36
+
37
+ ## Main Features
38
+ Here are just a few of the things that **gamspy** does well:
39
+
40
+ - Specify model algebra in Python natively
41
+ - Combines the flexibility of Python programming flow controls and the power of model specification in GAMS
42
+ - Test a variety of solvers on a model by changing only one line
43
+
44
+ ## Getting Help
45
+
46
+ For usage questions, the best place to go to is [GAMSPy Documentation](https://gamspy.readthedocs.io/en/latest/index.html).
47
+ General questions and discussions can also take place on the [GAMSPy Discourse Platform](https://forum.gams.com).