gamsapi 52.5.0__cp312-cp312-win_amd64.whl

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 (257) hide show
  1. gams/__init__.py +27 -0
  2. gams/_version.py +1 -0
  3. gams/connect/__init__.py +28 -0
  4. gams/connect/agents/__init__.py +24 -0
  5. gams/connect/agents/_excel/__init__.py +32 -0
  6. gams/connect/agents/_excel/excelagent.py +312 -0
  7. gams/connect/agents/_excel/workbook.py +155 -0
  8. gams/connect/agents/_sqlconnectors/__init__.py +42 -0
  9. gams/connect/agents/_sqlconnectors/_accesshandler.py +211 -0
  10. gams/connect/agents/_sqlconnectors/_databasehandler.py +250 -0
  11. gams/connect/agents/_sqlconnectors/_mysqlhandler.py +168 -0
  12. gams/connect/agents/_sqlconnectors/_postgreshandler.py +131 -0
  13. gams/connect/agents/_sqlconnectors/_pyodbchandler.py +112 -0
  14. gams/connect/agents/_sqlconnectors/_sqlalchemyhandler.py +74 -0
  15. gams/connect/agents/_sqlconnectors/_sqlitehandler.py +262 -0
  16. gams/connect/agents/_sqlconnectors/_sqlserverhandler.py +179 -0
  17. gams/connect/agents/concatenate.py +440 -0
  18. gams/connect/agents/connectagent.py +743 -0
  19. gams/connect/agents/csvreader.py +675 -0
  20. gams/connect/agents/csvwriter.py +151 -0
  21. gams/connect/agents/domainwriter.py +143 -0
  22. gams/connect/agents/excelreader.py +756 -0
  23. gams/connect/agents/excelwriter.py +467 -0
  24. gams/connect/agents/filter.py +223 -0
  25. gams/connect/agents/gamsreader.py +112 -0
  26. gams/connect/agents/gamswriter.py +239 -0
  27. gams/connect/agents/gdxreader.py +109 -0
  28. gams/connect/agents/gdxwriter.py +146 -0
  29. gams/connect/agents/labelmanipulator.py +303 -0
  30. gams/connect/agents/projection.py +539 -0
  31. gams/connect/agents/pythoncode.py +71 -0
  32. gams/connect/agents/rawcsvreader.py +248 -0
  33. gams/connect/agents/rawexcelreader.py +312 -0
  34. gams/connect/agents/schema/CSVReader.yaml +92 -0
  35. gams/connect/agents/schema/CSVWriter.yaml +44 -0
  36. gams/connect/agents/schema/Concatenate.yaml +52 -0
  37. gams/connect/agents/schema/DomainWriter.yaml +25 -0
  38. gams/connect/agents/schema/ExcelReader.yaml +121 -0
  39. gams/connect/agents/schema/ExcelWriter.yaml +78 -0
  40. gams/connect/agents/schema/Filter.yaml +74 -0
  41. gams/connect/agents/schema/GAMSReader.yaml +20 -0
  42. gams/connect/agents/schema/GAMSWriter.yaml +47 -0
  43. gams/connect/agents/schema/GDXReader.yaml +23 -0
  44. gams/connect/agents/schema/GDXWriter.yaml +32 -0
  45. gams/connect/agents/schema/LabelManipulator.yaml +99 -0
  46. gams/connect/agents/schema/Projection.yaml +24 -0
  47. gams/connect/agents/schema/PythonCode.yaml +6 -0
  48. gams/connect/agents/schema/RawCSVReader.yaml +34 -0
  49. gams/connect/agents/schema/RawExcelReader.yaml +42 -0
  50. gams/connect/agents/schema/SQLReader.yaml +75 -0
  51. gams/connect/agents/schema/SQLWriter.yaml +103 -0
  52. gams/connect/agents/sqlreader.py +301 -0
  53. gams/connect/agents/sqlwriter.py +276 -0
  54. gams/connect/connectdatabase.py +275 -0
  55. gams/connect/connectvalidator.py +93 -0
  56. gams/connect/errors.py +34 -0
  57. gams/control/__init__.py +136 -0
  58. gams/control/database.py +2231 -0
  59. gams/control/execution.py +1900 -0
  60. gams/control/options.py +2792 -0
  61. gams/control/workspace.py +1198 -0
  62. gams/core/__init__.py +24 -0
  63. gams/core/cfg/__init__.py +26 -0
  64. gams/core/cfg/_cfgmcc.cp312-win_amd64.pyd +0 -0
  65. gams/core/cfg/cfgmcc.py +519 -0
  66. gams/core/dct/__init__.py +26 -0
  67. gams/core/dct/_dctmcc.cp312-win_amd64.pyd +0 -0
  68. gams/core/dct/dctmcc.py +574 -0
  69. gams/core/embedded/__init__.py +26 -0
  70. gams/core/embedded/gamsemb.py +1024 -0
  71. gams/core/emp/__init__.py +24 -0
  72. gams/core/emp/emplexer.py +89 -0
  73. gams/core/emp/empyacc.py +281 -0
  74. gams/core/gdx/__init__.py +26 -0
  75. gams/core/gdx/_gdxcc.cp312-win_amd64.pyd +0 -0
  76. gams/core/gdx/gdxcc.py +866 -0
  77. gams/core/gev/__init__.py +26 -0
  78. gams/core/gev/_gevmcc.cp312-win_amd64.pyd +0 -0
  79. gams/core/gev/gevmcc.py +855 -0
  80. gams/core/gmd/__init__.py +26 -0
  81. gams/core/gmd/_gmdcc.cp312-win_amd64.pyd +0 -0
  82. gams/core/gmd/gmdcc.py +917 -0
  83. gams/core/gmo/__init__.py +26 -0
  84. gams/core/gmo/_gmomcc.cp312-win_amd64.pyd +0 -0
  85. gams/core/gmo/gmomcc.py +2046 -0
  86. gams/core/idx/__init__.py +26 -0
  87. gams/core/idx/_idxcc.cp312-win_amd64.pyd +0 -0
  88. gams/core/idx/idxcc.py +510 -0
  89. gams/core/numpy/__init__.py +29 -0
  90. gams/core/numpy/_gams2numpy.cp312-win_amd64.pyd +0 -0
  91. gams/core/numpy/gams2numpy.py +1048 -0
  92. gams/core/opt/__init__.py +26 -0
  93. gams/core/opt/_optcc.cp312-win_amd64.pyd +0 -0
  94. gams/core/opt/optcc.py +840 -0
  95. gams/engine/__init__.py +204 -0
  96. gams/engine/api/__init__.py +13 -0
  97. gams/engine/api/auth_api.py +7653 -0
  98. gams/engine/api/cleanup_api.py +751 -0
  99. gams/engine/api/default_api.py +887 -0
  100. gams/engine/api/hypercube_api.py +2629 -0
  101. gams/engine/api/jobs_api.py +5229 -0
  102. gams/engine/api/licenses_api.py +2220 -0
  103. gams/engine/api/namespaces_api.py +7783 -0
  104. gams/engine/api/usage_api.py +5627 -0
  105. gams/engine/api/users_api.py +5931 -0
  106. gams/engine/api_client.py +804 -0
  107. gams/engine/api_response.py +21 -0
  108. gams/engine/configuration.py +601 -0
  109. gams/engine/exceptions.py +216 -0
  110. gams/engine/models/__init__.py +86 -0
  111. gams/engine/models/bad_input.py +89 -0
  112. gams/engine/models/cleanable_job_result.py +104 -0
  113. gams/engine/models/cleanable_job_result_page.py +113 -0
  114. gams/engine/models/engine_license.py +107 -0
  115. gams/engine/models/files_not_found.py +93 -0
  116. gams/engine/models/forwarded_token_response.py +112 -0
  117. gams/engine/models/generic_key_value_pair.py +89 -0
  118. gams/engine/models/hypercube.py +160 -0
  119. gams/engine/models/hypercube_page.py +111 -0
  120. gams/engine/models/hypercube_summary.py +91 -0
  121. gams/engine/models/hypercube_token.py +97 -0
  122. gams/engine/models/identity_provider.py +107 -0
  123. gams/engine/models/identity_provider_ldap.py +121 -0
  124. gams/engine/models/identity_provider_oauth2.py +146 -0
  125. gams/engine/models/identity_provider_oauth2_scope.py +89 -0
  126. gams/engine/models/identity_provider_oauth2_with_secret.py +152 -0
  127. gams/engine/models/identity_provider_oidc.py +133 -0
  128. gams/engine/models/identity_provider_oidc_with_secret.py +143 -0
  129. gams/engine/models/inex.py +91 -0
  130. gams/engine/models/invitation.py +136 -0
  131. gams/engine/models/invitation_quota.py +106 -0
  132. gams/engine/models/invitation_token.py +87 -0
  133. gams/engine/models/job.py +165 -0
  134. gams/engine/models/job_no_text_entry.py +138 -0
  135. gams/engine/models/job_no_text_entry_page.py +111 -0
  136. gams/engine/models/license.py +91 -0
  137. gams/engine/models/log_piece.py +96 -0
  138. gams/engine/models/message.py +87 -0
  139. gams/engine/models/message_and_token.py +99 -0
  140. gams/engine/models/message_with_webhook_id.py +89 -0
  141. gams/engine/models/model_auth_token.py +87 -0
  142. gams/engine/models/model_configuration.py +125 -0
  143. gams/engine/models/model_default_instance.py +99 -0
  144. gams/engine/models/model_default_user_instance.py +98 -0
  145. gams/engine/models/model_hypercube_job.py +106 -0
  146. gams/engine/models/model_hypercube_usage.py +130 -0
  147. gams/engine/models/model_instance_info.py +116 -0
  148. gams/engine/models/model_instance_info_full.py +123 -0
  149. gams/engine/models/model_instance_pool_info.py +112 -0
  150. gams/engine/models/model_job_labels.py +179 -0
  151. gams/engine/models/model_job_usage.py +133 -0
  152. gams/engine/models/model_pool_usage.py +124 -0
  153. gams/engine/models/model_usage.py +115 -0
  154. gams/engine/models/model_user.py +96 -0
  155. gams/engine/models/model_userinstance_info.py +119 -0
  156. gams/engine/models/model_userinstancepool_info.py +95 -0
  157. gams/engine/models/model_version.py +91 -0
  158. gams/engine/models/models.py +120 -0
  159. gams/engine/models/namespace.py +104 -0
  160. gams/engine/models/namespace_quota.py +96 -0
  161. gams/engine/models/namespace_with_permission.py +96 -0
  162. gams/engine/models/not_found.py +91 -0
  163. gams/engine/models/password_policy.py +97 -0
  164. gams/engine/models/perm_and_username.py +89 -0
  165. gams/engine/models/quota.py +117 -0
  166. gams/engine/models/quota_exceeded.py +97 -0
  167. gams/engine/models/status_code_meaning.py +89 -0
  168. gams/engine/models/stream_entry.py +89 -0
  169. gams/engine/models/system_wide_license.py +92 -0
  170. gams/engine/models/text_entries.py +87 -0
  171. gams/engine/models/text_entry.py +101 -0
  172. gams/engine/models/time_span.py +95 -0
  173. gams/engine/models/time_span_pool_worker.py +99 -0
  174. gams/engine/models/token_forward_error.py +87 -0
  175. gams/engine/models/user.py +127 -0
  176. gams/engine/models/user_group_member.py +96 -0
  177. gams/engine/models/user_groups.py +108 -0
  178. gams/engine/models/vapid_info.py +87 -0
  179. gams/engine/models/webhook.py +138 -0
  180. gams/engine/models/webhook_parameterized_event.py +99 -0
  181. gams/engine/py.typed +0 -0
  182. gams/engine/rest.py +258 -0
  183. gams/magic/__init__.py +32 -0
  184. gams/magic/gams_magic.py +142 -0
  185. gams/magic/interactive.py +402 -0
  186. gams/tools/__init__.py +30 -0
  187. gams/tools/errors.py +34 -0
  188. gams/tools/toolcollection/__init__.py +24 -0
  189. gams/tools/toolcollection/alg/__init__.py +24 -0
  190. gams/tools/toolcollection/alg/rank.py +51 -0
  191. gams/tools/toolcollection/data/__init__.py +24 -0
  192. gams/tools/toolcollection/data/csvread.py +444 -0
  193. gams/tools/toolcollection/data/csvwrite.py +311 -0
  194. gams/tools/toolcollection/data/exceldump.py +47 -0
  195. gams/tools/toolcollection/data/sqlitewrite.py +276 -0
  196. gams/tools/toolcollection/gdxservice/__init__.py +24 -0
  197. gams/tools/toolcollection/gdxservice/gdxencoding.py +104 -0
  198. gams/tools/toolcollection/gdxservice/gdxrename.py +94 -0
  199. gams/tools/toolcollection/linalg/__init__.py +24 -0
  200. gams/tools/toolcollection/linalg/cholesky.py +57 -0
  201. gams/tools/toolcollection/linalg/eigenvalue.py +56 -0
  202. gams/tools/toolcollection/linalg/eigenvector.py +58 -0
  203. gams/tools/toolcollection/linalg/invert.py +55 -0
  204. gams/tools/toolcollection/linalg/ols.py +138 -0
  205. gams/tools/toolcollection/tooltemplate.py +321 -0
  206. gams/tools/toolcollection/win32/__init__.py +24 -0
  207. gams/tools/toolcollection/win32/excelmerge.py +93 -0
  208. gams/tools/toolcollection/win32/exceltalk.py +76 -0
  209. gams/tools/toolcollection/win32/msappavail.py +49 -0
  210. gams/tools/toolcollection/win32/shellexecute.py +54 -0
  211. gams/tools/tools.py +116 -0
  212. gams/transfer/__init__.py +35 -0
  213. gams/transfer/_abcs/__init__.py +37 -0
  214. gams/transfer/_abcs/container_abcs.py +433 -0
  215. gams/transfer/_internals/__init__.py +63 -0
  216. gams/transfer/_internals/algorithms.py +436 -0
  217. gams/transfer/_internals/casepreservingdict.py +124 -0
  218. gams/transfer/_internals/constants.py +270 -0
  219. gams/transfer/_internals/domainviolation.py +103 -0
  220. gams/transfer/_internals/specialvalues.py +172 -0
  221. gams/transfer/containers/__init__.py +26 -0
  222. gams/transfer/containers/_container.py +1794 -0
  223. gams/transfer/containers/_io/__init__.py +28 -0
  224. gams/transfer/containers/_io/containers.py +164 -0
  225. gams/transfer/containers/_io/gdx.py +1029 -0
  226. gams/transfer/containers/_io/gmd.py +872 -0
  227. gams/transfer/containers/_mixins/__init__.py +26 -0
  228. gams/transfer/containers/_mixins/ccc.py +1274 -0
  229. gams/transfer/syms/__init__.py +33 -0
  230. gams/transfer/syms/_methods/__init__.py +24 -0
  231. gams/transfer/syms/_methods/tables.py +120 -0
  232. gams/transfer/syms/_methods/toDict.py +115 -0
  233. gams/transfer/syms/_methods/toList.py +83 -0
  234. gams/transfer/syms/_methods/toValue.py +60 -0
  235. gams/transfer/syms/_mixins/__init__.py +32 -0
  236. gams/transfer/syms/_mixins/equals.py +626 -0
  237. gams/transfer/syms/_mixins/generateRecords.py +499 -0
  238. gams/transfer/syms/_mixins/pivot.py +313 -0
  239. gams/transfer/syms/_mixins/pve.py +627 -0
  240. gams/transfer/syms/_mixins/sa.py +27 -0
  241. gams/transfer/syms/_mixins/sapve.py +27 -0
  242. gams/transfer/syms/_mixins/saua.py +27 -0
  243. gams/transfer/syms/_mixins/sauapve.py +199 -0
  244. gams/transfer/syms/_mixins/spve.py +1528 -0
  245. gams/transfer/syms/_mixins/ve.py +936 -0
  246. gams/transfer/syms/container_syms/__init__.py +31 -0
  247. gams/transfer/syms/container_syms/_alias.py +984 -0
  248. gams/transfer/syms/container_syms/_equation.py +333 -0
  249. gams/transfer/syms/container_syms/_parameter.py +973 -0
  250. gams/transfer/syms/container_syms/_set.py +604 -0
  251. gams/transfer/syms/container_syms/_universe_alias.py +461 -0
  252. gams/transfer/syms/container_syms/_variable.py +321 -0
  253. gamsapi-52.5.0.dist-info/METADATA +150 -0
  254. gamsapi-52.5.0.dist-info/RECORD +257 -0
  255. gamsapi-52.5.0.dist-info/WHEEL +5 -0
  256. gamsapi-52.5.0.dist-info/licenses/LICENSE +22 -0
  257. gamsapi-52.5.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2792 @@
1
+ #
2
+ # GAMS - General Algebraic Modeling System Python API
3
+ #
4
+ # Copyright (c) 2017-2026 GAMS Development Corp. <support@gams.com>
5
+ # Copyright (c) 2017-2026 GAMS Software GmbH <support@gams.com>
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+ #
25
+ # This file was generated.
26
+
27
+ from gams.core.gmo import *
28
+ from gams.core.cfg import *
29
+ from gams.core.opt import *
30
+ import gams.control.workspace
31
+ import os
32
+ import tempfile
33
+ import sys
34
+
35
+ ## @brief GAMS processing request
36
+ class Action(object):
37
+ ## @brief Restart After Solve
38
+ RestartAfterSolve = "R"
39
+ ## @brief CompileOnly
40
+ CompileOnly = "C"
41
+ ## @brief ExecuteOnly
42
+ ExecuteOnly = "E"
43
+ ## @brief Compile and Execute
44
+ CompileAndExecute = "CE"
45
+ ## @brief Glue Code Generation
46
+ GlueCodeGeneration = "G"
47
+ ## @brief Trace Report
48
+ TraceReport = "GT"
49
+
50
+ ## @brief Expand file append option
51
+ class AppendExpand(object):
52
+ ## @brief Reset expand file
53
+ Reset = 0
54
+ ## @brief Append to expand file
55
+ Append = 1
56
+
57
+ ## @brief Output file append option
58
+ class AppendOut(object):
59
+ ## @brief Reset listing file
60
+ Reset = 0
61
+ ## @brief Append to listing file
62
+ Append = 1
63
+
64
+ ## @brief Print solution listing when asynchronous solve (Grid or Threads) is used
65
+ class AsyncSolLst(object):
66
+ ## @brief Do not print solution listing into lst file for asynchronous solves
67
+ Off = 0
68
+ ## @brief Print solution listing into lst file for asynchronous solves
69
+ On = 1
70
+
71
+ ## @brief Switch to capture all model instances within a run
72
+ class CaptureModelInstance(object):
73
+ ## @brief Do not capture model instances
74
+ Off = 0
75
+ ## @brief Capture model instances
76
+ On = 1
77
+
78
+ ## @brief Output case option for LST file
79
+ class Case(object):
80
+ ## @brief Write listing file in mixed case
81
+ MixedCase = 0
82
+ ## @brief Write listing file in upper case only
83
+ UpperCase = 1
84
+
85
+ ## @brief Character set flag
86
+ class CharSet(object):
87
+ ## @brief Use limited GAMS characters set
88
+ LimitedGAMSCharSet = 0
89
+ ## @brief Accept any character in comments and text items (foreign language characters)
90
+ AnyChar = 1
91
+
92
+ ## @brief Check errorLevel automatically after executing external program
93
+ class CheckErrorLevel(object):
94
+ ## @brief Do not check errorLevel automatically after execution of external program
95
+ Off = 0
96
+ ## @brief Check errorLevel automatically after execution of external program
97
+ On = 1
98
+
99
+ ## @brief Date format
100
+ class DFormat(object):
101
+ ## @brief Date as mm/dd/yy
102
+ Slash = 0
103
+ ## @brief Date as dd.mm.yy
104
+ Dot = 1
105
+ ## @brief Date as yy-mm-dy
106
+ Dash = 2
107
+
108
+ ## @brief Switch default for "$on/offDigit"
109
+ class Digit(object):
110
+ ## @brief Activate $offDigit
111
+ OffDigit = "off"
112
+ ## @brief Activate $onDigit
113
+ OnDigit = "on"
114
+
115
+ ## @brief Writes preprocessed input to the file input.dmp
116
+ class DumpOpt(object):
117
+ ## @brief No dumpfile
118
+ No = 0
119
+ ## @brief Extract referenced data from the restart file using original set element names
120
+ RefDataOriginalSetElementNames = 1
121
+ ## @brief Extract referenced data from the restart file using new set element names
122
+ RefDataNewSetElementNames = 2
123
+ ## @brief Extract referenced data from the restart file using new set element names and drop symbol text
124
+ RefDataNewSetElementNamesDropSymbolText = 3
125
+ ## @brief Extract referenced symbol declarations from the restart file
126
+ RefSymbol = 4
127
+ ## @brief (Same as 11 and therefore hidden)
128
+ Deprecated_10 = 10
129
+ ## @brief Write processed input file without comments
130
+ InputFileWOComments = 11
131
+ ## @brief (Same as 11 and therefore hidden)
132
+ Deprecated_12 = 12
133
+ ## @brief (Same as 21 and therefore hidden)
134
+ Deprecated_19 = 19
135
+ ## @brief (Same as 21 and therefore hidden)
136
+ Deprecated_20 = 20
137
+ ## @brief Write processed input file with all comments
138
+ InputFileWithComments = 21
139
+ ## @brief Write processed input with all comments into a separate dump file for each block
140
+ SplitBlocksDumpWithComments = 22
141
+
142
+ ## @brief GAMS parameter logging
143
+ class DumpParms(object):
144
+ ## @brief No logging
145
+ No = 0
146
+ ## @brief Lists accepted/set parameters
147
+ AcceptedParameters = 1
148
+ ## @brief Log of file operations plus list of accepted/set parameters
149
+ FileOperationsAcceptedParameters = 2
150
+
151
+ ## @brief Allow implicit loading of symbols from embedded code or not
152
+ class ECImplicitLoad(object):
153
+ ## @brief Do not allow implicit loading from embedded code
154
+ OffECImplicitLoad = "off"
155
+ ## @brief Allow implicit loading from embedded code
156
+ OnECImplicitLoad = "on"
157
+
158
+ ## @brief Show log line about embedded code initialization and execution or not
159
+ class ECLogLine(object):
160
+ ## @brief Do not show log line about embedded code initialization and execution
161
+ OffECLogLine = "off"
162
+ ## @brief Show log line about embedded code initialization and execution
163
+ OnECLogLine = "on"
164
+
165
+ ## @brief Switch default for "$on/offEmpty"
166
+ class Empty(object):
167
+ ## @brief Activate $offEmpty
168
+ OffEmpty = "off"
169
+ ## @brief Activate $onEmpty
170
+ OnEmpty = "on"
171
+
172
+ ## @brief Placing of compilation error messages
173
+ class ErrMsg(object):
174
+ ## @brief Place error messages at the end of compiler listing
175
+ EndOfCompilerListing = 0
176
+ ## @brief Place error messages immediately following the line with the error
177
+ FollowingError = 1
178
+ ## @brief Suppress error messages
179
+ Suppress = 2
180
+
181
+ ## @brief Limits on external programs that are allowed to be executed
182
+ class ExecMode(object):
183
+ ## @brief Everything allowed
184
+ EverythingAllowed = 0
185
+ ## @brief Interactive shells in $call and execute commands are prohibited
186
+ InteractiveShellsProhibited = 1
187
+ ## @brief Embedded Code and all $call and execute commands are prohibited
188
+ CallAndExecuteProhibited = 2
189
+ ## @brief $echo or put commands can only write to directories in or below the working or scratchdir
190
+ EchoAndPutOnlyToWorkdir = 3
191
+ ## @brief $echo and put commands are not allowed
192
+ EchoAndPutProhibited = 4
193
+
194
+ ## @brief Options for finite differences
195
+ class FDOpt(object):
196
+ ## @brief All derivatives analytically, for numerical Hessian use gradient values, scale delta
197
+ GHAnalyticHNumericGradScale = 0
198
+ ## @brief All derivatives analytically, for numerical Hessian use function values, scale delta
199
+ GHAnalyticHNumericFuncScale = 1
200
+ ## @brief Gradient analytically, force Hessian numerically using gradient values, scale delta
201
+ GAnalyticFHNumericGradScale = 2
202
+ ## @brief Gradient analytically, force Hessian numerically using function values, scale delta
203
+ GAnalyticFHNumericFuncScale = 3
204
+ ## @brief Force gradient and Hessian numerically, scale delta
205
+ FGHNumericScale = 4
206
+ ## @brief Same as 0, but no scale of delta
207
+ GHAnalyticHNumericGradNoScale = 10
208
+ ## @brief Same as 1, but no scale of delta
209
+ GHAnalyticHNumericFuncNoScale = 11
210
+ ## @brief Same as 2, but no scale of delta
211
+ GAnalyticFHNumericGradNoScale = 12
212
+ ## @brief Same as 3, but no scale of delta
213
+ GAnalyticFHNumericFuncNoScale = 13
214
+ ## @brief Same as 4, but no scale of delta
215
+ FGHNumericNoScale = 14
216
+
217
+ ## @brief Casing of file names and paths (put, gdx, ref, $include, etc.)
218
+ class FileCase(object):
219
+ ## @brief Causes GAMS to use default casing
220
+ DefaultCase = 0
221
+ ## @brief Causes GAMS to upper case file names including path of the file
222
+ UpperCase = 1
223
+ ## @brief Causes GAMS to lower case file names including path of the file
224
+ LowerCase = 2
225
+ ## @brief Causes GAMS to upper case file names only (leave the path alone)
226
+ UpperCaseFileOnly = 3
227
+ ## @brief Causes GAMS to lower case file names only (leave the path alone)
228
+ LowerCaseFileOnly = 4
229
+
230
+ ## @brief Switch between filtered and domain-checked read from GDX
231
+ class Filtered(object):
232
+ ## @brief Load domain checked
233
+ OffFiltered = "off"
234
+ ## @brief Load filtered
235
+ OnFiltered = "on"
236
+
237
+ ## @brief Force GAMS to process a save file created with a newer GAMS version or with execution errors
238
+ class ForceWork(object):
239
+ ## @brief No translation
240
+ NoTranslation = 0
241
+ ## @brief Try translation
242
+ TryTranslation = 1
243
+
244
+ ## @brief Free external resources at the end of each embedded Python code blocks
245
+ class FreeEmbeddedPython(object):
246
+ ## @brief Keep resources to reuse them potentially
247
+ Off = 0
248
+ ## @brief Free resources
249
+ On = 1
250
+
251
+ ## @brief Compression of generated GDX file
252
+ class gdxCompress(object):
253
+ ## @brief Do not compress GDX files
254
+ DoNotCompressGDX = 0
255
+ ## @brief Compress GDX files
256
+ CompressGDX = 1
257
+
258
+ ## @brief Version of GDX files generated (for backward compatibility)
259
+ class gdxConvert(object):
260
+ ## @brief Version 5 GDX file, does not support compression
261
+ Version5 = "v5"
262
+ ## @brief Version 6 GDX file
263
+ Version6 = "v6"
264
+ ## @brief Version 7 GDX file
265
+ Version7 = "v7"
266
+
267
+ ## @brief Unload labels or UELs to GDX either squeezed or full
268
+ class gdxUels(object):
269
+ ## @brief Write only the UELs to Universe, that are used by the exported symbols
270
+ squeezed = "Squeezed"
271
+ ## @brief Write all UELs to Universe
272
+ full = "Full"
273
+
274
+ ## @brief Treat fixed variables as constants
275
+ class HoldFixed(object):
276
+ ## @brief Fixed variables are not treated as constants
277
+ FixedVarsNotTreatedAsConstants = 0
278
+ ## @brief Fixed variables are treated as constants
279
+ FixedVarsTreatedAsConstants = 1
280
+
281
+ ## @brief Allow HoldFixed for models solved asynchronously as well
282
+ class HoldFixedAsync(object):
283
+ ## @brief Ignore HoldFixed setting for async solves
284
+ Off = 0
285
+ ## @brief Allow HoldFixed for async solves
286
+ On = 1
287
+
288
+ ## @brief Switch default for "$on/offImplicitAssign"
289
+ class ImplicitAssign(object):
290
+ ## @brief Activate $offImplicitAssign
291
+ OffImplicitAssign = "off"
292
+ ## @brief Activate $onImplicitAssign
293
+ OnImplicitAssign = "on"
294
+
295
+ ## @brief Allow solver to interact via command line input
296
+ class InteractiveSolver(object):
297
+ ## @brief Interaction with solvelink 0 is not supported
298
+ NoInteraction = 0
299
+ ## @brief Interaction with solvelink 0 is supported
300
+ AllowInteraction = 1
301
+
302
+ ## @brief Set mode for default upper bounds on integer variables
303
+ class IntVarUp(object):
304
+ ## @brief Set default upper bound for integer variables to +INF
305
+ INF = 0
306
+ ## @brief Pass a value of 100 instead of +INF to the solver as upper bound for integer variables
307
+ Pass100ToSolver = 1
308
+ ## @brief Same as 0 but writes a message to the log if the level of an integer variable is greater than 100
309
+ INFandLog = 2
310
+ ## @brief Same as 2 but issues an execution error if the level of an integer variable is greater than 100
311
+ Pass100ToSolverAndError = 3
312
+
313
+ ## @brief Controls keeping or deletion of process directory and scratch files
314
+ class Keep(object):
315
+ ## @brief Delete process directory
316
+ DeleteProcDir = 0
317
+ ## @brief Keep process directory
318
+ KeepProcDir = 1
319
+
320
+ ## @brief Switch default for "$on/offListing"
321
+ class Listing(object):
322
+ ## @brief Activate $offListing
323
+ OffListing = "off"
324
+ ## @brief Activate $onListing
325
+ OnListing = "on"
326
+
327
+ ## @brief Amount of line tracing to the log file
328
+ class LogLine(object):
329
+ ## @brief No line tracing
330
+ NoTracing = 0
331
+ ## @brief Minimum line tracing
332
+ MinimumTracing = 1
333
+ ## @brief Automatic and visually pleasing
334
+ Automatic = 2
335
+
336
+ ## @brief Write title of LST file all left aligned
337
+ class LstTitleLeftAligned(object):
338
+ ## @brief Split LST title into left and right aligned part
339
+ Off = 0
340
+ ## @brief Write LST title completely left aligned
341
+ On = 1
342
+
343
+ ## @brief Allows to try an experimental memory manager
344
+ class MemoryManager(object):
345
+ ## @brief Established default memory manager
346
+ Default = 0
347
+ ## @brief Experimental memory manager
348
+ Experimental = 1
349
+
350
+ ## @brief Model Instance Mode
351
+ class MIIMode(object):
352
+ ## @brief Default behavior
353
+ Off = "off"
354
+ ## @brief Setup to inspect a single model instance
355
+ SingleMI = "singleMI"
356
+ ## @brief Setup to inspect multiple model instances from one model
357
+ MultiMI = "multiMI"
358
+
359
+ ## @brief Triggers a compilation error when new equations or variable symbols are introduced
360
+ class NoNewVarEqu(object):
361
+ ## @brief AllowNewVarEqu
362
+ AllowNewVarEqu = 0
363
+ ## @brief DoNotAllowNewVarEqu
364
+ DoNotAllowNewVarEqu = 1
365
+
366
+ ## @brief Generate errors for unknown unique element in an equation
367
+ class On115(object):
368
+ ## @brief No error messages
369
+ NoMessages = 0
370
+ ## @brief Issue error messages
371
+ IssueMessages = 1
372
+
373
+ ## @brief Output file page control option
374
+ class PageContr(object):
375
+ ## @brief No page control, with padding
376
+ NoPageContrWithPadding = 0
377
+ ## @brief FORTRAN style line printer format
378
+ FortranStyle = 1
379
+ ## @brief No page control, no padding
380
+ NoPageContrNoPadding = 2
381
+ ## @brief Formfeed character for new page
382
+ FormfeedCharNewPage = 3
383
+
384
+ ## @brief Prepend GAMS system directory to library load path
385
+ class PrefixLoadPath(object):
386
+ ## @brief Do not set GAMS system directory at beginning of library load path
387
+ Off = 0
388
+ ## @brief Set GAMS system directory at beginning of library load path
389
+ On = 1
390
+
391
+ ## @brief Indicator for writing workfile with previous workfile version
392
+ class PreviousWork(object):
393
+ ## @brief Write workfile using the current version
394
+ Off = 0
395
+ ## @brief Write workfile using the previous workfile version
396
+ On = 1
397
+
398
+ ## @brief Monitor the memory used by the GAMS process tree
399
+ class ProcTreeMemMonitor(object):
400
+ ## @brief Do not monitor memory usage for the GAMS process tree
401
+ Off = 0
402
+ ## @brief Start a thread to monitor memory usage for the GAMS process tree
403
+ On = 1
404
+
405
+ ## @brief Numeric round format for put files
406
+ class PutNR(object):
407
+ ## @brief Item is displayed in F or E format
408
+ ForE = 0
409
+ ## @brief Item is rounded to fit given width and decimals
410
+ Rounded = 1
411
+ ## @brief Item is displayed in scientific notation
412
+ Scientific = 2
413
+ ## @brief Item is rounded to fit given width
414
+ RoundedFloatingDec = 3
415
+ ## @brief Item is displayed in F or E format ignoring given decimals
416
+ ForEFloatingDec = 4
417
+
418
+ ## @brief Controls the line numbers written to a reference file
419
+ class ReferenceLineNo(object):
420
+ ## @brief Actual line number of symbol reference
421
+ ActualLineNumber = "actual"
422
+ ## @brief Line number where the statement with the reference starts
423
+ StatementStart = "start"
424
+
425
+ ## @brief Switch between merge and replace when reading from GDX into non-empty symbol
426
+ class Replace(object):
427
+ ## @brief Merge into existing data when loading
428
+ Merge = "off"
429
+ ## @brief Replace existing data when loading
430
+ Replace = "on"
431
+
432
+ ## @brief Save solver point in GDX file
433
+ class SavePoint(object):
434
+ ## @brief No point GDX file is to be saved
435
+ NoPointFile = 0
436
+ ## @brief A point GDX file from the last solve is to be saved
437
+ LastSolvePointFile = 1
438
+ ## @brief A point GDX file from every solve is to be saved
439
+ EverySolvePointFile = 2
440
+ ## @brief A point GDX file from the last solve is to be saved in the scratch directory
441
+ LastSolvePointFileScrDir = 3
442
+ ## @brief A point GDX file from every solve is to be saved in the scratch directory
443
+ EverySolvePointFileScrDir = 4
444
+
445
+ ## @brief Show the memory usage reported by the Operating System instead of the internal counting
446
+ class ShowOSMemory(object):
447
+ ## @brief Show memory reported by internal accounting
448
+ InternalAccounting = 0
449
+ ## @brief Show resident set size reported by operating system
450
+ RSS = 1
451
+ ## @brief Show virtual set size reported by operating system
452
+ VSS = 2
453
+
454
+ ## @brief Solution report print option
455
+ class SolPrint(object):
456
+ ## @brief Remove solution listings following solves
457
+ RemoveSolLstFollowingSolves = 0
458
+ ## @brief Include solution listings following solves
459
+ IncludeSolLstFollowingSolves = 1
460
+ ## @brief Suppress all solution information
461
+ SuppressAllSolInfo = 2
462
+
463
+ ## @brief Solver link option
464
+ class SolveLink(object):
465
+ ## @brief Model instance and entire GAMS state saved to scratch directory, GAMS exits (and vacates memory), and the solver script is called. After the solver terminates, GAMS restarts from the saved state and continues to executing
466
+ ChainScript = 0
467
+ ## @brief Model instance saved to scratch directory, the solver is called from a shell while GAMS remains open
468
+ CallScript = 1
469
+ ## @brief Model instance saved to scratch directory, the solver is called with a spawn (if possible) or a shell (if spawn is not possible) while GAMS remains open - If this is not supported by the selected solver, it gets reset to `1` automatically
470
+ CallModule = 2
471
+ ## @brief Model instance saved to scratch directory, the solver starts the solution and GAMS continues
472
+ AsyncGrid = 3
473
+ ## @brief Model instance saved to scratch directory, the solver starts the solution and GAMS waits for the solver to come back but uses same submission process as 3 (test mode)
474
+ AsyncSimulate = 4
475
+ ## @brief The model instance is passed to the solver in-memory - If this is not supported by the selected solver, it gets reset to `2` automatically
476
+ LoadLibrary = 5
477
+ ## @brief The model instance is passed to the solver in-memory, the solver starts the solution and GAMS continues
478
+ LoadLibraryAsync = 6
479
+ ## @brief The model instance is passed to the solver in-memory, the solver starts the solution and GAMS waits for the solver to come back but uses same submission process as 6 (test mode)
480
+ LoadLibraryAsyncSimulate = 7
481
+
482
+ ## @brief Multiple solve management
483
+ class SolveOpt(object):
484
+ ## @brief The solution information for all equations appearing in the model is completely replaced by the new model results; variables are only replaced if they appear in the final model
485
+ Merge = 0
486
+ ## @brief The solution information for all equations and variables is merged into the existing solution information
487
+ Replace = 1
488
+ ## @brief The solution information for all equations appearing in the model is completely replaced; in addition, variables appearing in the symbolic equations but removed by conditionals will be removed
489
+ Clear = 2
490
+
491
+ ## @brief Summary of computing resources used by job steps
492
+ class StepSum(object):
493
+ ## @brief No step summary
494
+ NoStepSummmary = 0
495
+ ## @brief Step summary printed
496
+ StepSummary = 1
497
+
498
+ ## @brief Error if assignment to singleton set has multiple elements
499
+ class strictSingleton(object):
500
+ ## @brief Take first record if assignment to singleton set has multiple elements
501
+ FirstRecord = 0
502
+ ## @brief Error if assignment to singleton set has multiple elements
503
+ Error = 1
504
+
505
+ ## @brief String substitution options
506
+ class StringChk(object):
507
+ ## @brief No substitution if symbol undefined and no error
508
+ NoError = 0
509
+ ## @brief Error if symbol undefined
510
+ Error = 1
511
+ ## @brief Remove entire symbol reference if undefined and no error
512
+ NoErrorRemoveSymbol = 2
513
+
514
+ ## @brief Switch default for "$on/offSuffixDLVars"
515
+ class SuffixDLVars(object):
516
+ ## @brief Activate $offSuffixDLVars
517
+ OffSuffixDLVars = "off"
518
+ ## @brief Activate $onSuffixDLVars
519
+ OnSuffixDLVars = "on"
520
+
521
+ ## @brief Switch default for "$on/offSuffixAlgebraVars"
522
+ class SuffixAlgebraVars(object):
523
+ ## @brief Activate $offSuffixAlgebraVars
524
+ OffSuffixAlgebraVars = "off"
525
+ ## @brief Activate $onSuffixAlgebraVars
526
+ OnSuffixAlgebraVars = "on"
527
+
528
+ ## @brief Compiler listing option
529
+ class Suppress(object):
530
+ ## @brief Standard compiler listing
531
+ StandardCompilerListing = 0
532
+ ## @brief Suppress compiler listing
533
+ SuppressCompilerListing = 1
534
+
535
+ ## @brief Changes rpower to ipower when the exponent is constant and within 1e-12 of an integer
536
+ class Sys10(object):
537
+ ## @brief Disable conversion
538
+ Disable = 0
539
+ ## @brief Enable conversion
540
+ Enable = 1
541
+
542
+ ## @brief Dynamic resorting if indices in assignment/data statements are not in natural order
543
+ class Sys11(object):
544
+ ## @brief Automatic optimization/restructuring of data
545
+ AutomaticOptimization = 0
546
+ ## @brief No optimization
547
+ NoOptimization = 1
548
+ ## @brief Always optimize/restructure
549
+ AlwaysOptimize = 2
550
+
551
+ ## @brief Solver Status file reporting option
552
+ class SysOut(object):
553
+ ## @brief Suppress additional solver generated output
554
+ SuppressAdditionalSolverOutput = 0
555
+ ## @brief Include additional solver generated output
556
+ IncludeAdditionalSolverOutput = 1
557
+
558
+ ## @brief Time format
559
+ class TFormat(object):
560
+ ## @brief Time as hh:mm:ss
561
+ Colon = 0
562
+ ## @brief Time as hh.mm.ss
563
+ Dot = 1
564
+
565
+ ## @brief Trace file format option
566
+ class TraceOpt(object):
567
+ ## @brief Solver and GAMS step trace
568
+ SolverAndGAMSStepTraceWOHeaders = 0
569
+ ## @brief Solver and GAMS exit trace
570
+ SolverAndGAMSStepTrace = 1
571
+ ## @brief Solver trace only
572
+ SolverStepTraceOnly = 2
573
+ ## @brief Solver trace only in format used for GAMS performance world
574
+ TraceFileFormatGAMSPerformanceWorld = 3
575
+ ## @brief Trace file format supporting NLPEC
576
+ TraceFileFormatSupportingNLPEC = 4
577
+ ## @brief Gams exit trace with all available trace fields
578
+ TraceFileWithAllAvailableTraceFields = 5
579
+
580
+ ## @brief Report underflow as a warning when abs(results) LE ZeroRes and result set to zero
581
+ class ZeroResRep(object):
582
+ ## @brief No warning when a rounding occurs because of ZeroRes
583
+ NoWarning = 0
584
+ ## @brief Issue warnings whenever a rounding occurs because of ZeroRes
585
+ IssueWarning = 1
586
+
587
+ import threading
588
+
589
+ class GamsOptions(object):
590
+ """
591
+ @brief The GamsOptions class manages GAMS options (sometimes also called GAMS
592
+ parameters since they correspond to the command line parameters of the GAMS
593
+ executable) for a GamsJob and GamsModelInstance.
594
+ @details <p>There are integer (e.g. nodlim), double (e.g. reslim), and string (e.g. putdir)
595
+ valued options. There are also a few list options (defines to set string macros inside
596
+ GAMS and idir provide multiple search paths for include files) and a power option to set a
597
+ solver for all suitable model types (all_model_types).</p>
598
+ <p>Some options known from other interfaces to GAMS that are of limited use or
599
+ could even create problematic situations in the Python environment are not
600
+ settable through the GamsOptions class.</p>
601
+ @todo{adjust this paragraph to python specifics}
602
+ <p>For some options (e.g. case) other GAMS interfaces use numeric values (e.g. 0,1)
603
+ while the GamsOptions class has enumerated types with proper names (e.g.
604
+ MixedCase, UpperCase).</p>
605
+ """
606
+ optLock = threading.Lock()
607
+
608
+ def set_all_model_types(self, value):
609
+ for i in range(1, gmoProc_nrofmodeltypes):
610
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), i):
611
+ self._selected_solvers[i] = value
612
+
613
+ ## @brief Set solver for all model types
614
+ all_model_types = property(fset=set_all_model_types)
615
+
616
+ def get_lp(self):
617
+ return self._selected_solvers[gmoProc_lp]
618
+
619
+ def set_lp(self, value):
620
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_lp):
621
+ self._selected_solvers[gmoProc_lp] = value
622
+
623
+ ## @brief Default lp solver
624
+ lp = property(get_lp, set_lp)
625
+
626
+ def get_mip(self):
627
+ return self._selected_solvers[gmoProc_mip]
628
+
629
+ def set_mip(self, value):
630
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_mip):
631
+ self._selected_solvers[gmoProc_mip] = value
632
+
633
+ ## @brief Default mip solver
634
+ mip = property(get_mip, set_mip)
635
+
636
+ def get_rmip(self):
637
+ return self._selected_solvers[gmoProc_rmip]
638
+
639
+ def set_rmip(self, value):
640
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_rmip):
641
+ self._selected_solvers[gmoProc_rmip] = value
642
+
643
+ ## @brief Default rmip solver
644
+ rmip = property(get_rmip, set_rmip)
645
+
646
+ def get_nlp(self):
647
+ return self._selected_solvers[gmoProc_nlp]
648
+
649
+ def set_nlp(self, value):
650
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_nlp):
651
+ self._selected_solvers[gmoProc_nlp] = value
652
+
653
+ ## @brief Default nlp solver
654
+ nlp = property(get_nlp, set_nlp)
655
+
656
+ def get_mcp(self):
657
+ return self._selected_solvers[gmoProc_mcp]
658
+
659
+ def set_mcp(self, value):
660
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_mcp):
661
+ self._selected_solvers[gmoProc_mcp] = value
662
+
663
+ ## @brief Default mcp solver
664
+ mcp = property(get_mcp, set_mcp)
665
+
666
+ def get_mpec(self):
667
+ return self._selected_solvers[gmoProc_mpec]
668
+
669
+ def set_mpec(self, value):
670
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_mpec):
671
+ self._selected_solvers[gmoProc_mpec] = value
672
+
673
+ ## @brief Default mpec solver
674
+ mpec = property(get_mpec, set_mpec)
675
+
676
+ def get_rmpec(self):
677
+ return self._selected_solvers[gmoProc_rmpec]
678
+
679
+ def set_rmpec(self, value):
680
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_rmpec):
681
+ self._selected_solvers[gmoProc_rmpec] = value
682
+
683
+ ## @brief Default rmpec solver
684
+ rmpec = property(get_rmpec, set_rmpec)
685
+
686
+ def get_cns(self):
687
+ return self._selected_solvers[gmoProc_cns]
688
+
689
+ def set_cns(self, value):
690
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_cns):
691
+ self._selected_solvers[gmoProc_cns] = value
692
+
693
+ ## @brief Default cns solver
694
+ cns = property(get_cns, set_cns)
695
+
696
+ def get_dnlp(self):
697
+ return self._selected_solvers[gmoProc_dnlp]
698
+
699
+ def set_dnlp(self, value):
700
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_dnlp):
701
+ self._selected_solvers[gmoProc_dnlp] = value
702
+
703
+ ## @brief Default dnlp solver
704
+ dnlp = property(get_dnlp, set_dnlp)
705
+
706
+ def get_rminlp(self):
707
+ return self._selected_solvers[gmoProc_rminlp]
708
+
709
+ def set_rminlp(self, value):
710
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_rminlp):
711
+ self._selected_solvers[gmoProc_rminlp] = value
712
+
713
+ ## @brief Default rminlp solver
714
+ rminlp = property(get_rminlp, set_rminlp)
715
+
716
+ def get_minlp(self):
717
+ return self._selected_solvers[gmoProc_minlp]
718
+
719
+ def set_minlp(self, value):
720
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_minlp):
721
+ self._selected_solvers[gmoProc_minlp] = value
722
+
723
+ ## @brief Default minlp solver
724
+ minlp = property(get_minlp, set_minlp)
725
+
726
+ def get_qcp(self):
727
+ return self._selected_solvers[gmoProc_qcp]
728
+
729
+ def set_qcp(self, value):
730
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_qcp):
731
+ self._selected_solvers[gmoProc_qcp] = value
732
+
733
+ ## @brief Default qcp solver
734
+ qcp = property(get_qcp, set_qcp)
735
+
736
+ def get_miqcp(self):
737
+ return self._selected_solvers[gmoProc_miqcp]
738
+
739
+ def set_miqcp(self, value):
740
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_miqcp):
741
+ self._selected_solvers[gmoProc_miqcp] = value
742
+
743
+ ## @brief Default miqcp solver
744
+ miqcp = property(get_miqcp, set_miqcp)
745
+
746
+ def get_rmiqcp(self):
747
+ return self._selected_solvers[gmoProc_rmiqcp]
748
+
749
+ def set_rmiqcp(self, value):
750
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_rmiqcp):
751
+ self._selected_solvers[gmoProc_rmiqcp] = value
752
+
753
+ ## @brief Default rmiqcp solver
754
+ rmiqcp = property(get_rmiqcp, set_rmiqcp)
755
+
756
+ def get_emp(self):
757
+ return self._selected_solvers[gmoProc_emp]
758
+
759
+ def set_emp(self, value):
760
+ if cfgAlgCapability(self._cfg, cfgAlgNumber(self._cfg, value), gmoProc_emp):
761
+ self._selected_solvers[gmoProc_emp] = value
762
+
763
+ ## @brief Default emp solver
764
+ emp = property(get_emp, set_emp)
765
+
766
+ def get_action(self):
767
+ return optGetStrStr(self._opt, "Action")
768
+
769
+ def set_action(self, value):
770
+ optSetStrStr(self._opt, "Action", value)
771
+ ## @brief GAMS processing request
772
+ action = property(get_action, set_action)
773
+
774
+ def get_appendexpand(self):
775
+ return optGetIntStr(self._opt, "AppendExpand")
776
+
777
+ def set_appendexpand(self, value):
778
+ optSetIntStr(self._opt, "AppendExpand", value)
779
+ ## @brief Expand file append option
780
+ appendexpand = property(get_appendexpand, set_appendexpand)
781
+
782
+ def _get_appendlog(self):
783
+ return optGetIntStr(self._opt, "AppendLog")
784
+
785
+ def _set_appendlog(self, value):
786
+ optSetIntStr(self._opt, "AppendLog", value)
787
+ _appendlog = property(_get_appendlog, _set_appendlog)
788
+
789
+ def get_appendout(self):
790
+ return optGetIntStr(self._opt, "AppendOut")
791
+
792
+ def set_appendout(self, value):
793
+ optSetIntStr(self._opt, "AppendOut", value)
794
+ ## @brief Output file append option
795
+ appendout = property(get_appendout, set_appendout)
796
+
797
+ def get_asyncsollst(self):
798
+ return optGetIntStr(self._opt, "AsyncSolLst")
799
+
800
+ def set_asyncsollst(self, value):
801
+ optSetIntStr(self._opt, "AsyncSolLst", value)
802
+ ## @brief Print solution listing when asynchronous solve (Grid or Threads) is used
803
+ asyncsollst = property(get_asyncsollst, set_asyncsollst)
804
+
805
+ def get_bratio(self):
806
+ return optGetDblStr(self._opt, "Bratio")
807
+
808
+ def set_bratio(self, value):
809
+ optSetDblStr(self._opt, "Bratio", value)
810
+ ## @brief Basis detection threshold
811
+ bratio = property(get_bratio, set_bratio)
812
+
813
+ def get_capturemodelinstance(self):
814
+ return optGetIntStr(self._opt, "CaptureModelInstance")
815
+
816
+ def set_capturemodelinstance(self, value):
817
+ optSetIntStr(self._opt, "CaptureModelInstance", value)
818
+ ## @brief Switch to capture all model instances within a run
819
+ capturemodelinstance = property(get_capturemodelinstance, set_capturemodelinstance)
820
+
821
+ def get_case(self):
822
+ return optGetIntStr(self._opt, "Case")
823
+
824
+ def set_case(self, value):
825
+ optSetIntStr(self._opt, "Case", value)
826
+ ## @brief Output case option for LST file
827
+ case = property(get_case, set_case)
828
+
829
+ def get_cerr(self):
830
+ return optGetIntStr(self._opt, "CErr")
831
+
832
+ def set_cerr(self, value):
833
+ optSetIntStr(self._opt, "CErr", value)
834
+ ## @brief Compile time error limit
835
+ cerr = property(get_cerr, set_cerr)
836
+
837
+ def get_charset(self):
838
+ return optGetIntStr(self._opt, "CharSet")
839
+
840
+ def set_charset(self, value):
841
+ optSetIntStr(self._opt, "CharSet", value)
842
+ ## @brief Character set flag
843
+ charset = property(get_charset, set_charset)
844
+
845
+ def get_checkerrorlevel(self):
846
+ return optGetIntStr(self._opt, "CheckErrorLevel")
847
+
848
+ def set_checkerrorlevel(self, value):
849
+ optSetIntStr(self._opt, "CheckErrorLevel", value)
850
+ ## @brief Check errorLevel automatically after executing external program
851
+ checkerrorlevel = property(get_checkerrorlevel, set_checkerrorlevel)
852
+
853
+ def _get_compilerpreview(self):
854
+ return optGetIntStr(self._opt, "CompilerPreview")
855
+
856
+ def _set_compilerpreview(self, value):
857
+ optSetIntStr(self._opt, "CompilerPreview", value)
858
+ _compilerpreview = property(_get_compilerpreview, _set_compilerpreview)
859
+
860
+ def _get_connectin(self):
861
+ return optGetStrStr(self._opt, "ConnectIn")
862
+
863
+ def _set_connectin(self, value):
864
+ optSetStrStr(self._opt, "ConnectIn", value)
865
+ _connectin = property(_get_connectin, _set_connectin)
866
+
867
+ def _get_connectout(self):
868
+ return optGetStrStr(self._opt, "ConnectOut")
869
+
870
+ def _set_connectout(self, value):
871
+ optSetStrStr(self._opt, "ConnectOut", value)
872
+ _connectout = property(_get_connectout, _set_connectout)
873
+
874
+ def _get_curdir(self):
875
+ return optGetStrStr(self._opt, "CurDir")
876
+
877
+ def _set_curdir(self, value):
878
+ optSetStrStr(self._opt, "CurDir", value)
879
+ _curdir = property(_get_curdir, _set_curdir)
880
+
881
+ def _get_debugport(self):
882
+ return optGetIntStr(self._opt, "DebugPort")
883
+
884
+ def _set_debugport(self, value):
885
+ optSetIntStr(self._opt, "DebugPort", value)
886
+ _debugport = property(_get_debugport, _set_debugport)
887
+
888
+ def get_decryptkey(self):
889
+ return optGetStrStr(self._opt, "DecryptKey")
890
+
891
+ def set_decryptkey(self, value):
892
+ optSetStrStr(self._opt, "DecryptKey", value)
893
+ ## @brief Key to decrypt a text file that was encrypted via $encrypt
894
+ decryptkey = property(get_decryptkey, set_decryptkey)
895
+
896
+ def get_dformat(self):
897
+ return optGetIntStr(self._opt, "DFormat")
898
+
899
+ def set_dformat(self, value):
900
+ optSetIntStr(self._opt, "DFormat", value)
901
+ ## @brief Date format
902
+ dformat = property(get_dformat, set_dformat)
903
+
904
+ def get_digit(self):
905
+ return optGetStrStr(self._opt, "Digit")
906
+
907
+ def set_digit(self, value):
908
+ optSetStrStr(self._opt, "Digit", value)
909
+ ## @brief Switch default for "$on/offDigit"
910
+ digit = property(get_digit, set_digit)
911
+
912
+ def _get_docfile(self):
913
+ return optGetStrStr(self._opt, "DocFile")
914
+
915
+ def _set_docfile(self, value):
916
+ optSetStrStr(self._opt, "DocFile", value)
917
+ _docfile = property(_get_docfile, _set_docfile)
918
+
919
+ def get_domlim(self):
920
+ return optGetIntStr(self._opt, "DomLim")
921
+
922
+ def set_domlim(self, value):
923
+ optSetIntStr(self._opt, "DomLim", value)
924
+ ## @brief Domain violation limit solver default
925
+ domlim = property(get_domlim, set_domlim)
926
+
927
+ def get_dumpopt(self):
928
+ return optGetIntStr(self._opt, "DumpOpt")
929
+
930
+ def set_dumpopt(self, value):
931
+ optSetIntStr(self._opt, "DumpOpt", value)
932
+ ## @brief Writes preprocessed input to the file input.dmp
933
+ dumpopt = property(get_dumpopt, set_dumpopt)
934
+
935
+ def get_dumpoptgdx(self):
936
+ return optGetStrStr(self._opt, "DumpOptGDX")
937
+
938
+ def set_dumpoptgdx(self, value):
939
+ optSetStrStr(self._opt, "DumpOptGDX", value)
940
+ ## @brief Defines a GDX file name stem created when using DumpOpt
941
+ dumpoptgdx = property(get_dumpoptgdx, set_dumpoptgdx)
942
+
943
+ def get_dumpparms(self):
944
+ return optGetIntStr(self._opt, "DumpParms")
945
+
946
+ def set_dumpparms(self, value):
947
+ optSetIntStr(self._opt, "DumpParms", value)
948
+ ## @brief GAMS parameter logging
949
+ dumpparms = property(get_dumpparms, set_dumpparms)
950
+
951
+ def get_dumpparmslogprefix(self):
952
+ return optGetStrStr(self._opt, "DumpParmsLogPrefix")
953
+
954
+ def set_dumpparmslogprefix(self, value):
955
+ optSetStrStr(self._opt, "DumpParmsLogPrefix", value)
956
+ ## @brief Prefix of lines triggered by DumpParms>1
957
+ dumpparmslogprefix = property(get_dumpparmslogprefix, set_dumpparmslogprefix)
958
+
959
+ def get_ecimplicitload(self):
960
+ return optGetStrStr(self._opt, "ECImplicitLoad")
961
+
962
+ def set_ecimplicitload(self, value):
963
+ optSetStrStr(self._opt, "ECImplicitLoad", value)
964
+ ## @brief Allow implicit loading of symbols from embedded code or not
965
+ ecimplicitload = property(get_ecimplicitload, set_ecimplicitload)
966
+
967
+ def get_eclogline(self):
968
+ return optGetStrStr(self._opt, "ECLogLine")
969
+
970
+ def set_eclogline(self, value):
971
+ optSetStrStr(self._opt, "ECLogLine", value)
972
+ ## @brief Show log line about embedded code initialization and execution or not
973
+ eclogline = property(get_eclogline, set_eclogline)
974
+
975
+ def get_empty(self):
976
+ return optGetStrStr(self._opt, "Empty")
977
+
978
+ def set_empty(self, value):
979
+ optSetStrStr(self._opt, "Empty", value)
980
+ ## @brief Switch default for "$on/offEmpty"
981
+ empty = property(get_empty, set_empty)
982
+
983
+ def get_encryptkey(self):
984
+ return optGetStrStr(self._opt, "EncryptKey")
985
+
986
+ def set_encryptkey(self, value):
987
+ optSetStrStr(self._opt, "EncryptKey", value)
988
+ ## @brief Key to encrypt a text file using $encrypt
989
+ encryptkey = property(get_encryptkey, set_encryptkey)
990
+
991
+ def get_eolcom(self):
992
+ return optGetStrStr(self._opt, "EolCom")
993
+
994
+ def set_eolcom(self, value):
995
+ optSetStrStr(self._opt, "EolCom", value)
996
+ ## @brief Switch default for "$on/offEolCom" and "$eolCom"
997
+ eolcom = property(get_eolcom, set_eolcom)
998
+
999
+ def _get_epstozero(self):
1000
+ return optGetStrStr(self._opt, "EpsToZero")
1001
+
1002
+ def _set_epstozero(self, value):
1003
+ optSetStrStr(self._opt, "EpsToZero", value)
1004
+ _epstozero = property(_get_epstozero, _set_epstozero)
1005
+
1006
+ def get_errmsg(self):
1007
+ return optGetIntStr(self._opt, "ErrMsg")
1008
+
1009
+ def set_errmsg(self, value):
1010
+ optSetIntStr(self._opt, "ErrMsg", value)
1011
+ ## @brief Placing of compilation error messages
1012
+ errmsg = property(get_errmsg, set_errmsg)
1013
+
1014
+ def _get_errnam(self):
1015
+ return optGetStrStr(self._opt, "ErrNam")
1016
+
1017
+ def _set_errnam(self, value):
1018
+ optSetStrStr(self._opt, "ErrNam", value)
1019
+ _errnam = property(_get_errnam, _set_errnam)
1020
+
1021
+ def get_errorlog(self):
1022
+ return optGetIntStr(self._opt, "ErrorLog")
1023
+
1024
+ def set_errorlog(self, value):
1025
+ optSetIntStr(self._opt, "ErrorLog", value)
1026
+ ## @brief Max error message lines written to the log for each error
1027
+ errorlog = property(get_errorlog, set_errorlog)
1028
+
1029
+ def get_etlim(self):
1030
+ return optGetDblStr(self._opt, "ETLim")
1031
+
1032
+ def set_etlim(self, value):
1033
+ optSetDblStr(self._opt, "ETLim", value)
1034
+ ## @brief Elapsed time limit in seconds
1035
+ etlim = property(get_etlim, set_etlim)
1036
+
1037
+ def get_execmode(self):
1038
+ return optGetIntStr(self._opt, "ExecMode")
1039
+
1040
+ def set_execmode(self, value):
1041
+ optSetIntStr(self._opt, "ExecMode", value)
1042
+ ## @brief Limits on external programs that are allowed to be executed
1043
+ execmode = property(get_execmode, set_execmode)
1044
+
1045
+ def get_expand(self):
1046
+ return optGetStrStr(self._opt, "Expand")
1047
+
1048
+ def set_expand(self, value):
1049
+ optSetStrStr(self._opt, "Expand", value)
1050
+ ## @brief Expanded (include) input file name
1051
+ expand = property(get_expand, set_expand)
1052
+
1053
+ def get_fddelta(self):
1054
+ return optGetDblStr(self._opt, "FDDelta")
1055
+
1056
+ def set_fddelta(self, value):
1057
+ optSetDblStr(self._opt, "FDDelta", value)
1058
+ ## @brief Step size for finite differences
1059
+ fddelta = property(get_fddelta, set_fddelta)
1060
+
1061
+ def get_fdopt(self):
1062
+ return optGetIntStr(self._opt, "FDOpt")
1063
+
1064
+ def set_fdopt(self, value):
1065
+ optSetIntStr(self._opt, "FDOpt", value)
1066
+ ## @brief Options for finite differences
1067
+ fdopt = property(get_fdopt, set_fdopt)
1068
+
1069
+ def get_ferr(self):
1070
+ return optGetStrStr(self._opt, "FErr")
1071
+
1072
+ def set_ferr(self, value):
1073
+ optSetStrStr(self._opt, "FErr", value)
1074
+ ## @brief Alternative error message file
1075
+ ferr = property(get_ferr, set_ferr)
1076
+
1077
+ def get_filecase(self):
1078
+ return optGetIntStr(self._opt, "FileCase")
1079
+
1080
+ def set_filecase(self, value):
1081
+ optSetIntStr(self._opt, "FileCase", value)
1082
+ ## @brief Casing of file names and paths (put, gdx, ref, $include, etc.)
1083
+ filecase = property(get_filecase, set_filecase)
1084
+
1085
+ def get_filestem(self):
1086
+ return optGetStrStr(self._opt, "FileStem")
1087
+
1088
+ def set_filestem(self, value):
1089
+ optSetStrStr(self._opt, "FileStem", value)
1090
+ ## @brief Sets the file stem for output files which use the input file name as stem by default
1091
+ filestem = property(get_filestem, set_filestem)
1092
+
1093
+ def get_filestemapfromenv(self):
1094
+ return optGetStrStr(self._opt, "FileStemApFromEnv")
1095
+
1096
+ def set_filestemapfromenv(self, value):
1097
+ optSetStrStr(self._opt, "FileStemApFromEnv", value)
1098
+ ## @brief Append a string read from an environment variable to the "FileStem"
1099
+ filestemapfromenv = property(get_filestemapfromenv, set_filestemapfromenv)
1100
+
1101
+ def get_filtered(self):
1102
+ return optGetStrStr(self._opt, "Filtered")
1103
+
1104
+ def set_filtered(self, value):
1105
+ optSetStrStr(self._opt, "Filtered", value)
1106
+ ## @brief Switch between filtered and domain-checked read from GDX
1107
+ filtered = property(get_filtered, set_filtered)
1108
+
1109
+ def get_forceoptfile(self):
1110
+ return optGetIntStr(self._opt, "ForceOptFile")
1111
+
1112
+ def set_forceoptfile(self, value):
1113
+ optSetIntStr(self._opt, "ForceOptFile", value)
1114
+ ## @brief Overwrites other option file section mechanism
1115
+ forceoptfile = property(get_forceoptfile, set_forceoptfile)
1116
+
1117
+ def get_forcework(self):
1118
+ return optGetIntStr(self._opt, "ForceWork")
1119
+
1120
+ def set_forcework(self, value):
1121
+ optSetIntStr(self._opt, "ForceWork", value)
1122
+ ## @brief Force GAMS to process a save file created with a newer GAMS version or with execution errors
1123
+ forcework = property(get_forcework, set_forcework)
1124
+
1125
+ def get_forlim(self):
1126
+ return optGetIntStr(self._opt, "ForLim")
1127
+
1128
+ def set_forlim(self, value):
1129
+ optSetIntStr(self._opt, "ForLim", value)
1130
+ ## @brief GAMS looping limit
1131
+ forlim = property(get_forlim, set_forlim)
1132
+
1133
+ def get_freeembeddedpython(self):
1134
+ return optGetIntStr(self._opt, "FreeEmbeddedPython")
1135
+
1136
+ def set_freeembeddedpython(self, value):
1137
+ optSetIntStr(self._opt, "FreeEmbeddedPython", value)
1138
+ ## @brief Free external resources at the end of each embedded Python code blocks
1139
+ freeembeddedpython = property(get_freeembeddedpython, set_freeembeddedpython)
1140
+
1141
+ def _get_fsave(self):
1142
+ return optGetIntStr(self._opt, "FSave")
1143
+
1144
+ def _set_fsave(self, value):
1145
+ optSetIntStr(self._opt, "FSave", value)
1146
+ _fsave = property(_get_fsave, _set_fsave)
1147
+
1148
+ def _get_g205(self):
1149
+ return optGetIntStr(self._opt, "G205")
1150
+
1151
+ def _set_g205(self, value):
1152
+ optSetIntStr(self._opt, "G205", value)
1153
+ _g205 = property(_get_g205, _set_g205)
1154
+
1155
+ def get_gdxcompress(self):
1156
+ return optGetIntStr(self._opt, "gdxCompress")
1157
+
1158
+ def set_gdxcompress(self, value):
1159
+ optSetIntStr(self._opt, "gdxCompress", value)
1160
+ ## @brief Compression of generated GDX file
1161
+ gdxcompress = property(get_gdxcompress, set_gdxcompress)
1162
+
1163
+ def get_gdxconvert(self):
1164
+ return optGetStrStr(self._opt, "gdxConvert")
1165
+
1166
+ def set_gdxconvert(self, value):
1167
+ optSetStrStr(self._opt, "gdxConvert", value)
1168
+ ## @brief Version of GDX files generated (for backward compatibility)
1169
+ gdxconvert = property(get_gdxconvert, set_gdxconvert)
1170
+
1171
+ def _get_gdxsymbols(self):
1172
+ return optGetStrStr(self._opt, "gdxSymbols")
1173
+
1174
+ def _set_gdxsymbols(self, value):
1175
+ optSetStrStr(self._opt, "gdxSymbols", value)
1176
+ _gdxsymbols = property(_get_gdxsymbols, _set_gdxsymbols)
1177
+
1178
+ def get_gdxuels(self):
1179
+ return optGetStrStr(self._opt, "gdxUels")
1180
+
1181
+ def set_gdxuels(self, value):
1182
+ optSetStrStr(self._opt, "gdxUels", value)
1183
+ ## @brief Unload labels or UELs to GDX either squeezed or full
1184
+ gdxuels = property(get_gdxuels, set_gdxuels)
1185
+
1186
+ def _get_gp_solveline(self):
1187
+ return optGetStrStr(self._opt, "GP_SolveLine")
1188
+
1189
+ def _set_gp_solveline(self, value):
1190
+ optSetStrStr(self._opt, "GP_SolveLine", value)
1191
+ _gp_solveline = property(_get_gp_solveline, _set_gp_solveline)
1192
+
1193
+ def get_griddir(self):
1194
+ return optGetStrStr(self._opt, "GridDir")
1195
+
1196
+ def set_griddir(self, value):
1197
+ optSetStrStr(self._opt, "GridDir", value)
1198
+ ## @brief Grid file directory
1199
+ griddir = property(get_griddir, set_griddir)
1200
+
1201
+ def get_gridscript(self):
1202
+ return optGetStrStr(self._opt, "GridScript")
1203
+
1204
+ def set_gridscript(self, value):
1205
+ optSetStrStr(self._opt, "GridScript", value)
1206
+ ## @brief Grid submission script
1207
+ gridscript = property(get_gridscript, set_gridscript)
1208
+
1209
+ def get_heaplimit(self):
1210
+ return optGetDblStr(self._opt, "HeapLimit")
1211
+
1212
+ def set_heaplimit(self, value):
1213
+ optSetDblStr(self._opt, "HeapLimit", value)
1214
+ ## @brief Maximum Heap size allowed in MB
1215
+ heaplimit = property(get_heaplimit, set_heaplimit)
1216
+
1217
+ def get_holdfixed(self):
1218
+ return optGetIntStr(self._opt, "HoldFixed")
1219
+
1220
+ def set_holdfixed(self, value):
1221
+ optSetIntStr(self._opt, "HoldFixed", value)
1222
+ ## @brief Treat fixed variables as constants
1223
+ holdfixed = property(get_holdfixed, set_holdfixed)
1224
+
1225
+ def get_holdfixedasync(self):
1226
+ return optGetIntStr(self._opt, "HoldFixedAsync")
1227
+
1228
+ def set_holdfixedasync(self, value):
1229
+ optSetIntStr(self._opt, "HoldFixedAsync", value)
1230
+ ## @brief Allow HoldFixed for models solved asynchronously as well
1231
+ holdfixedasync = property(get_holdfixedasync, set_holdfixedasync)
1232
+
1233
+ def get_idcgdxinput(self):
1234
+ return optGetStrStr(self._opt, "IDCGDXInput")
1235
+
1236
+ def set_idcgdxinput(self, value):
1237
+ optSetStrStr(self._opt, "IDCGDXInput", value)
1238
+ ## @brief GDX file name with data for implicit input
1239
+ idcgdxinput = property(get_idcgdxinput, set_idcgdxinput)
1240
+
1241
+ def get_idcgdxoutput(self):
1242
+ return optGetStrStr(self._opt, "IDCGDXOutput")
1243
+
1244
+ def set_idcgdxoutput(self, value):
1245
+ optSetStrStr(self._opt, "IDCGDXOutput", value)
1246
+ ## @brief GDX file name for data for implicit output
1247
+ idcgdxoutput = property(get_idcgdxoutput, set_idcgdxoutput)
1248
+
1249
+ def _get_idcgenerategdx(self):
1250
+ return optGetStrStr(self._opt, "IDCGenerateGDX")
1251
+
1252
+ def _set_idcgenerategdx(self, value):
1253
+ optSetStrStr(self._opt, "IDCGenerateGDX", value)
1254
+ _idcgenerategdx = property(_get_idcgenerategdx, _set_idcgenerategdx)
1255
+
1256
+ def _get_idcgenerategdxinput(self):
1257
+ return optGetStrStr(self._opt, "IDCGenerateGDXInput")
1258
+
1259
+ def _set_idcgenerategdxinput(self, value):
1260
+ optSetStrStr(self._opt, "IDCGenerateGDXInput", value)
1261
+ _idcgenerategdxinput = property(_get_idcgenerategdxinput, _set_idcgenerategdxinput)
1262
+
1263
+ def _get_idcgenerategdxoutput(self):
1264
+ return optGetStrStr(self._opt, "IDCGenerateGDXOutput")
1265
+
1266
+ def _set_idcgenerategdxoutput(self, value):
1267
+ optSetStrStr(self._opt, "IDCGenerateGDXOutput", value)
1268
+ _idcgenerategdxoutput = property(_get_idcgenerategdxoutput, _set_idcgenerategdxoutput)
1269
+
1270
+ def _get_idcgeneratejson(self):
1271
+ return optGetStrStr(self._opt, "IDCGenerateJSON")
1272
+
1273
+ def _set_idcgeneratejson(self, value):
1274
+ optSetStrStr(self._opt, "IDCGenerateJSON", value)
1275
+ _idcgeneratejson = property(_get_idcgeneratejson, _set_idcgeneratejson)
1276
+
1277
+ def _get_idcjson(self):
1278
+ return optGetStrStr(self._opt, "IDCJSON")
1279
+
1280
+ def _set_idcjson(self, value):
1281
+ optSetStrStr(self._opt, "IDCJSON", value)
1282
+ _idcjson = property(_get_idcjson, _set_idcjson)
1283
+
1284
+ def _get_idcprotect(self):
1285
+ return optGetIntStr(self._opt, "IDCProtect")
1286
+
1287
+ def _set_idcprotect(self, value):
1288
+ optSetIntStr(self._opt, "IDCProtect", value)
1289
+ _idcprotect = property(_get_idcprotect, _set_idcprotect)
1290
+
1291
+ def _get_ide(self):
1292
+ return optGetIntStr(self._opt, "IDE")
1293
+
1294
+ def _set_ide(self, value):
1295
+ optSetIntStr(self._opt, "IDE", value)
1296
+ _ide = property(_get_ide, _set_ide)
1297
+
1298
+ def get_implicitassign(self):
1299
+ return optGetStrStr(self._opt, "ImplicitAssign")
1300
+
1301
+ def set_implicitassign(self, value):
1302
+ optSetStrStr(self._opt, "ImplicitAssign", value)
1303
+ ## @brief Switch default for "$on/offImplicitAssign"
1304
+ implicitassign = property(get_implicitassign, set_implicitassign)
1305
+
1306
+ def _get_incrementalmode(self):
1307
+ return optGetIntStr(self._opt, "IncrementalMode")
1308
+
1309
+ def _set_incrementalmode(self, value):
1310
+ optSetIntStr(self._opt, "IncrementalMode", value)
1311
+ _incrementalmode = property(_get_incrementalmode, _set_incrementalmode)
1312
+
1313
+ def get_inlinecom(self):
1314
+ return optGetStrStr(self._opt, "InlineCom")
1315
+
1316
+ def set_inlinecom(self, value):
1317
+ optSetStrStr(self._opt, "InlineCom", value)
1318
+ ## @brief Switch default for "$on/offInline" and "$inlineCom"
1319
+ inlinecom = property(get_inlinecom, set_inlinecom)
1320
+
1321
+ def _get_input(self):
1322
+ return optGetStrStr(self._opt, "Input")
1323
+
1324
+ def _set_input(self, value):
1325
+ optSetStrStr(self._opt, "Input", value)
1326
+ _input = property(_get_input, _set_input)
1327
+
1328
+ def _get_inputdir(self):
1329
+ return optGetStrStr(self._opt, "InputDir")
1330
+
1331
+ def _set_inputdir(self, value):
1332
+ optSetStrStr(self._opt, "InputDir", value)
1333
+ _inputdir = property(_get_inputdir, _set_inputdir)
1334
+
1335
+ def _get_inputdir1(self):
1336
+ return optGetStrStr(self._opt, "InputDir1")
1337
+
1338
+ def _set_inputdir1(self, value):
1339
+ optSetStrStr(self._opt, "InputDir1", value)
1340
+ _inputdir1 = property(_get_inputdir1, _set_inputdir1)
1341
+
1342
+ def _get_inputdir2(self):
1343
+ return optGetStrStr(self._opt, "InputDir2")
1344
+
1345
+ def _set_inputdir2(self, value):
1346
+ optSetStrStr(self._opt, "InputDir2", value)
1347
+ _inputdir2 = property(_get_inputdir2, _set_inputdir2)
1348
+
1349
+ def _get_inputdir3(self):
1350
+ return optGetStrStr(self._opt, "InputDir3")
1351
+
1352
+ def _set_inputdir3(self, value):
1353
+ optSetStrStr(self._opt, "InputDir3", value)
1354
+ _inputdir3 = property(_get_inputdir3, _set_inputdir3)
1355
+
1356
+ def _get_inputdir4(self):
1357
+ return optGetStrStr(self._opt, "InputDir4")
1358
+
1359
+ def _set_inputdir4(self, value):
1360
+ optSetStrStr(self._opt, "InputDir4", value)
1361
+ _inputdir4 = property(_get_inputdir4, _set_inputdir4)
1362
+
1363
+ def _get_inputdir5(self):
1364
+ return optGetStrStr(self._opt, "InputDir5")
1365
+
1366
+ def _set_inputdir5(self, value):
1367
+ optSetStrStr(self._opt, "InputDir5", value)
1368
+ _inputdir5 = property(_get_inputdir5, _set_inputdir5)
1369
+
1370
+ def _get_inputdir6(self):
1371
+ return optGetStrStr(self._opt, "InputDir6")
1372
+
1373
+ def _set_inputdir6(self, value):
1374
+ optSetStrStr(self._opt, "InputDir6", value)
1375
+ _inputdir6 = property(_get_inputdir6, _set_inputdir6)
1376
+
1377
+ def _get_inputdir7(self):
1378
+ return optGetStrStr(self._opt, "InputDir7")
1379
+
1380
+ def _set_inputdir7(self, value):
1381
+ optSetStrStr(self._opt, "InputDir7", value)
1382
+ _inputdir7 = property(_get_inputdir7, _set_inputdir7)
1383
+
1384
+ def _get_inputdir8(self):
1385
+ return optGetStrStr(self._opt, "InputDir8")
1386
+
1387
+ def _set_inputdir8(self, value):
1388
+ optSetStrStr(self._opt, "InputDir8", value)
1389
+ _inputdir8 = property(_get_inputdir8, _set_inputdir8)
1390
+
1391
+ def _get_inputdir9(self):
1392
+ return optGetStrStr(self._opt, "InputDir9")
1393
+
1394
+ def _set_inputdir9(self, value):
1395
+ optSetStrStr(self._opt, "InputDir9", value)
1396
+ _inputdir9 = property(_get_inputdir9, _set_inputdir9)
1397
+
1398
+ def _get_inputdir10(self):
1399
+ return optGetStrStr(self._opt, "InputDir10")
1400
+
1401
+ def _set_inputdir10(self, value):
1402
+ optSetStrStr(self._opt, "InputDir10", value)
1403
+ _inputdir10 = property(_get_inputdir10, _set_inputdir10)
1404
+
1405
+ def _get_inputdir11(self):
1406
+ return optGetStrStr(self._opt, "InputDir11")
1407
+
1408
+ def _set_inputdir11(self, value):
1409
+ optSetStrStr(self._opt, "InputDir11", value)
1410
+ _inputdir11 = property(_get_inputdir11, _set_inputdir11)
1411
+
1412
+ def _get_inputdir12(self):
1413
+ return optGetStrStr(self._opt, "InputDir12")
1414
+
1415
+ def _set_inputdir12(self, value):
1416
+ optSetStrStr(self._opt, "InputDir12", value)
1417
+ _inputdir12 = property(_get_inputdir12, _set_inputdir12)
1418
+
1419
+ def _get_inputdir13(self):
1420
+ return optGetStrStr(self._opt, "InputDir13")
1421
+
1422
+ def _set_inputdir13(self, value):
1423
+ optSetStrStr(self._opt, "InputDir13", value)
1424
+ _inputdir13 = property(_get_inputdir13, _set_inputdir13)
1425
+
1426
+ def _get_inputdir14(self):
1427
+ return optGetStrStr(self._opt, "InputDir14")
1428
+
1429
+ def _set_inputdir14(self, value):
1430
+ optSetStrStr(self._opt, "InputDir14", value)
1431
+ _inputdir14 = property(_get_inputdir14, _set_inputdir14)
1432
+
1433
+ def _get_inputdir15(self):
1434
+ return optGetStrStr(self._opt, "InputDir15")
1435
+
1436
+ def _set_inputdir15(self, value):
1437
+ optSetStrStr(self._opt, "InputDir15", value)
1438
+ _inputdir15 = property(_get_inputdir15, _set_inputdir15)
1439
+
1440
+ def _get_inputdir16(self):
1441
+ return optGetStrStr(self._opt, "InputDir16")
1442
+
1443
+ def _set_inputdir16(self, value):
1444
+ optSetStrStr(self._opt, "InputDir16", value)
1445
+ _inputdir16 = property(_get_inputdir16, _set_inputdir16)
1446
+
1447
+ def _get_inputdir17(self):
1448
+ return optGetStrStr(self._opt, "InputDir17")
1449
+
1450
+ def _set_inputdir17(self, value):
1451
+ optSetStrStr(self._opt, "InputDir17", value)
1452
+ _inputdir17 = property(_get_inputdir17, _set_inputdir17)
1453
+
1454
+ def _get_inputdir18(self):
1455
+ return optGetStrStr(self._opt, "InputDir18")
1456
+
1457
+ def _set_inputdir18(self, value):
1458
+ optSetStrStr(self._opt, "InputDir18", value)
1459
+ _inputdir18 = property(_get_inputdir18, _set_inputdir18)
1460
+
1461
+ def _get_inputdir19(self):
1462
+ return optGetStrStr(self._opt, "InputDir19")
1463
+
1464
+ def _set_inputdir19(self, value):
1465
+ optSetStrStr(self._opt, "InputDir19", value)
1466
+ _inputdir19 = property(_get_inputdir19, _set_inputdir19)
1467
+
1468
+ def _get_inputdir20(self):
1469
+ return optGetStrStr(self._opt, "InputDir20")
1470
+
1471
+ def _set_inputdir20(self, value):
1472
+ optSetStrStr(self._opt, "InputDir20", value)
1473
+ _inputdir20 = property(_get_inputdir20, _set_inputdir20)
1474
+
1475
+ def _get_inputdir21(self):
1476
+ return optGetStrStr(self._opt, "InputDir21")
1477
+
1478
+ def _set_inputdir21(self, value):
1479
+ optSetStrStr(self._opt, "InputDir21", value)
1480
+ _inputdir21 = property(_get_inputdir21, _set_inputdir21)
1481
+
1482
+ def _get_inputdir22(self):
1483
+ return optGetStrStr(self._opt, "InputDir22")
1484
+
1485
+ def _set_inputdir22(self, value):
1486
+ optSetStrStr(self._opt, "InputDir22", value)
1487
+ _inputdir22 = property(_get_inputdir22, _set_inputdir22)
1488
+
1489
+ def _get_inputdir23(self):
1490
+ return optGetStrStr(self._opt, "InputDir23")
1491
+
1492
+ def _set_inputdir23(self, value):
1493
+ optSetStrStr(self._opt, "InputDir23", value)
1494
+ _inputdir23 = property(_get_inputdir23, _set_inputdir23)
1495
+
1496
+ def _get_inputdir24(self):
1497
+ return optGetStrStr(self._opt, "InputDir24")
1498
+
1499
+ def _set_inputdir24(self, value):
1500
+ optSetStrStr(self._opt, "InputDir24", value)
1501
+ _inputdir24 = property(_get_inputdir24, _set_inputdir24)
1502
+
1503
+ def _get_inputdir25(self):
1504
+ return optGetStrStr(self._opt, "InputDir25")
1505
+
1506
+ def _set_inputdir25(self, value):
1507
+ optSetStrStr(self._opt, "InputDir25", value)
1508
+ _inputdir25 = property(_get_inputdir25, _set_inputdir25)
1509
+
1510
+ def _get_inputdir26(self):
1511
+ return optGetStrStr(self._opt, "InputDir26")
1512
+
1513
+ def _set_inputdir26(self, value):
1514
+ optSetStrStr(self._opt, "InputDir26", value)
1515
+ _inputdir26 = property(_get_inputdir26, _set_inputdir26)
1516
+
1517
+ def _get_inputdir27(self):
1518
+ return optGetStrStr(self._opt, "InputDir27")
1519
+
1520
+ def _set_inputdir27(self, value):
1521
+ optSetStrStr(self._opt, "InputDir27", value)
1522
+ _inputdir27 = property(_get_inputdir27, _set_inputdir27)
1523
+
1524
+ def _get_inputdir28(self):
1525
+ return optGetStrStr(self._opt, "InputDir28")
1526
+
1527
+ def _set_inputdir28(self, value):
1528
+ optSetStrStr(self._opt, "InputDir28", value)
1529
+ _inputdir28 = property(_get_inputdir28, _set_inputdir28)
1530
+
1531
+ def _get_inputdir29(self):
1532
+ return optGetStrStr(self._opt, "InputDir29")
1533
+
1534
+ def _set_inputdir29(self, value):
1535
+ optSetStrStr(self._opt, "InputDir29", value)
1536
+ _inputdir29 = property(_get_inputdir29, _set_inputdir29)
1537
+
1538
+ def _get_inputdir30(self):
1539
+ return optGetStrStr(self._opt, "InputDir30")
1540
+
1541
+ def _set_inputdir30(self, value):
1542
+ optSetStrStr(self._opt, "InputDir30", value)
1543
+ _inputdir30 = property(_get_inputdir30, _set_inputdir30)
1544
+
1545
+ def _get_inputdir31(self):
1546
+ return optGetStrStr(self._opt, "InputDir31")
1547
+
1548
+ def _set_inputdir31(self, value):
1549
+ optSetStrStr(self._opt, "InputDir31", value)
1550
+ _inputdir31 = property(_get_inputdir31, _set_inputdir31)
1551
+
1552
+ def _get_inputdir32(self):
1553
+ return optGetStrStr(self._opt, "InputDir32")
1554
+
1555
+ def _set_inputdir32(self, value):
1556
+ optSetStrStr(self._opt, "InputDir32", value)
1557
+ _inputdir32 = property(_get_inputdir32, _set_inputdir32)
1558
+
1559
+ def _get_inputdir33(self):
1560
+ return optGetStrStr(self._opt, "InputDir33")
1561
+
1562
+ def _set_inputdir33(self, value):
1563
+ optSetStrStr(self._opt, "InputDir33", value)
1564
+ _inputdir33 = property(_get_inputdir33, _set_inputdir33)
1565
+
1566
+ def _get_inputdir34(self):
1567
+ return optGetStrStr(self._opt, "InputDir34")
1568
+
1569
+ def _set_inputdir34(self, value):
1570
+ optSetStrStr(self._opt, "InputDir34", value)
1571
+ _inputdir34 = property(_get_inputdir34, _set_inputdir34)
1572
+
1573
+ def _get_inputdir35(self):
1574
+ return optGetStrStr(self._opt, "InputDir35")
1575
+
1576
+ def _set_inputdir35(self, value):
1577
+ optSetStrStr(self._opt, "InputDir35", value)
1578
+ _inputdir35 = property(_get_inputdir35, _set_inputdir35)
1579
+
1580
+ def _get_inputdir36(self):
1581
+ return optGetStrStr(self._opt, "InputDir36")
1582
+
1583
+ def _set_inputdir36(self, value):
1584
+ optSetStrStr(self._opt, "InputDir36", value)
1585
+ _inputdir36 = property(_get_inputdir36, _set_inputdir36)
1586
+
1587
+ def _get_inputdir37(self):
1588
+ return optGetStrStr(self._opt, "InputDir37")
1589
+
1590
+ def _set_inputdir37(self, value):
1591
+ optSetStrStr(self._opt, "InputDir37", value)
1592
+ _inputdir37 = property(_get_inputdir37, _set_inputdir37)
1593
+
1594
+ def _get_inputdir38(self):
1595
+ return optGetStrStr(self._opt, "InputDir38")
1596
+
1597
+ def _set_inputdir38(self, value):
1598
+ optSetStrStr(self._opt, "InputDir38", value)
1599
+ _inputdir38 = property(_get_inputdir38, _set_inputdir38)
1600
+
1601
+ def _get_inputdir39(self):
1602
+ return optGetStrStr(self._opt, "InputDir39")
1603
+
1604
+ def _set_inputdir39(self, value):
1605
+ optSetStrStr(self._opt, "InputDir39", value)
1606
+ _inputdir39 = property(_get_inputdir39, _set_inputdir39)
1607
+
1608
+ def _get_inputdir40(self):
1609
+ return optGetStrStr(self._opt, "InputDir40")
1610
+
1611
+ def _set_inputdir40(self, value):
1612
+ optSetStrStr(self._opt, "InputDir40", value)
1613
+ _inputdir40 = property(_get_inputdir40, _set_inputdir40)
1614
+
1615
+ def get_integer1(self):
1616
+ return optGetIntStr(self._opt, "Integer1")
1617
+
1618
+ def set_integer1(self, value):
1619
+ optSetIntStr(self._opt, "Integer1", value)
1620
+ ## @brief Integer communication cell N
1621
+ integer1 = property(get_integer1, set_integer1)
1622
+
1623
+ def get_integer2(self):
1624
+ return optGetIntStr(self._opt, "Integer2")
1625
+
1626
+ def set_integer2(self, value):
1627
+ optSetIntStr(self._opt, "Integer2", value)
1628
+ ## @brief Integer communication cell N
1629
+ integer2 = property(get_integer2, set_integer2)
1630
+
1631
+ def get_integer3(self):
1632
+ return optGetIntStr(self._opt, "Integer3")
1633
+
1634
+ def set_integer3(self, value):
1635
+ optSetIntStr(self._opt, "Integer3", value)
1636
+ ## @brief Integer communication cell N
1637
+ integer3 = property(get_integer3, set_integer3)
1638
+
1639
+ def get_integer4(self):
1640
+ return optGetIntStr(self._opt, "Integer4")
1641
+
1642
+ def set_integer4(self, value):
1643
+ optSetIntStr(self._opt, "Integer4", value)
1644
+ ## @brief Integer communication cell N
1645
+ integer4 = property(get_integer4, set_integer4)
1646
+
1647
+ def get_integer5(self):
1648
+ return optGetIntStr(self._opt, "Integer5")
1649
+
1650
+ def set_integer5(self, value):
1651
+ optSetIntStr(self._opt, "Integer5", value)
1652
+ ## @brief Integer communication cell N
1653
+ integer5 = property(get_integer5, set_integer5)
1654
+
1655
+ def get_interactivesolver(self):
1656
+ return optGetIntStr(self._opt, "InteractiveSolver")
1657
+
1658
+ def set_interactivesolver(self, value):
1659
+ optSetIntStr(self._opt, "InteractiveSolver", value)
1660
+ ## @brief Allow solver to interact via command line input
1661
+ interactivesolver = property(get_interactivesolver, set_interactivesolver)
1662
+
1663
+ def get_intvarup(self):
1664
+ return optGetIntStr(self._opt, "IntVarUp")
1665
+
1666
+ def set_intvarup(self, value):
1667
+ optSetIntStr(self._opt, "IntVarUp", value)
1668
+ ## @brief Set mode for default upper bounds on integer variables
1669
+ intvarup = property(get_intvarup, set_intvarup)
1670
+
1671
+ def get_iterlim(self):
1672
+ return optGetIntStr(self._opt, "IterLim")
1673
+
1674
+ def set_iterlim(self, value):
1675
+ optSetIntStr(self._opt, "IterLim", value)
1676
+ ## @brief Iteration limit of solver
1677
+ iterlim = property(get_iterlim, set_iterlim)
1678
+
1679
+ def get_jobtrace(self):
1680
+ return optGetStrStr(self._opt, "JobTrace")
1681
+
1682
+ def set_jobtrace(self, value):
1683
+ optSetStrStr(self._opt, "JobTrace", value)
1684
+ ## @brief Job trace string to be written to the trace file at the end of a GAMS job
1685
+ jobtrace = property(get_jobtrace, set_jobtrace)
1686
+
1687
+ def get_keep(self):
1688
+ return optGetIntStr(self._opt, "Keep")
1689
+
1690
+ def set_keep(self, value):
1691
+ optSetIntStr(self._opt, "Keep", value)
1692
+ ## @brief Controls keeping or deletion of process directory and scratch files
1693
+ keep = property(get_keep, set_keep)
1694
+
1695
+ def get_libincdir(self):
1696
+ return optGetStrStr(self._opt, "LibIncDir")
1697
+
1698
+ def set_libincdir(self, value):
1699
+ optSetStrStr(self._opt, "LibIncDir", value)
1700
+ ## @brief LibInclude directory
1701
+ libincdir = property(get_libincdir, set_libincdir)
1702
+
1703
+ def get_license(self):
1704
+ return optGetStrStr(self._opt, "License")
1705
+
1706
+ def set_license(self, value):
1707
+ optSetStrStr(self._opt, "License", value)
1708
+ ## @brief Use alternative license file
1709
+ license = property(get_license, set_license)
1710
+
1711
+ def get_limcol(self):
1712
+ return optGetIntStr(self._opt, "LimCol")
1713
+
1714
+ def set_limcol(self, value):
1715
+ optSetIntStr(self._opt, "LimCol", value)
1716
+ ## @brief Maximum number of columns listed in one variable block
1717
+ limcol = property(get_limcol, set_limcol)
1718
+
1719
+ def get_limrow(self):
1720
+ return optGetIntStr(self._opt, "LimRow")
1721
+
1722
+ def set_limrow(self, value):
1723
+ optSetIntStr(self._opt, "LimRow", value)
1724
+ ## @brief Maximum number of rows listed in one equation block
1725
+ limrow = property(get_limrow, set_limrow)
1726
+
1727
+ def get_listing(self):
1728
+ return optGetStrStr(self._opt, "Listing")
1729
+
1730
+ def set_listing(self, value):
1731
+ optSetStrStr(self._opt, "Listing", value)
1732
+ ## @brief Switch default for "$on/offListing"
1733
+ listing = property(get_listing, set_listing)
1734
+
1735
+ def _get_logfile(self):
1736
+ return optGetStrStr(self._opt, "LogFile")
1737
+
1738
+ def _set_logfile(self, value):
1739
+ optSetStrStr(self._opt, "LogFile", value)
1740
+ _logfile = property(_get_logfile, _set_logfile)
1741
+
1742
+ def get_logline(self):
1743
+ return optGetIntStr(self._opt, "LogLine")
1744
+
1745
+ def set_logline(self, value):
1746
+ optSetIntStr(self._opt, "LogLine", value)
1747
+ ## @brief Amount of line tracing to the log file
1748
+ logline = property(get_logline, set_logline)
1749
+
1750
+ def _get_logoption(self):
1751
+ return optGetIntStr(self._opt, "LogOption")
1752
+
1753
+ def _set_logoption(self, value):
1754
+ optSetIntStr(self._opt, "LogOption", value)
1755
+ _logoption = property(_get_logoption, _set_logoption)
1756
+
1757
+ def get_lsttitleleftaligned(self):
1758
+ return optGetIntStr(self._opt, "LstTitleLeftAligned")
1759
+
1760
+ def set_lsttitleleftaligned(self, value):
1761
+ optSetIntStr(self._opt, "LstTitleLeftAligned", value)
1762
+ ## @brief Write title of LST file all left aligned
1763
+ lsttitleleftaligned = property(get_lsttitleleftaligned, set_lsttitleleftaligned)
1764
+
1765
+ def get_maxexecerror(self):
1766
+ return optGetIntStr(self._opt, "MaxExecError")
1767
+
1768
+ def set_maxexecerror(self, value):
1769
+ optSetIntStr(self._opt, "MaxExecError", value)
1770
+ ## @brief Execution time error limit
1771
+ maxexecerror = property(get_maxexecerror, set_maxexecerror)
1772
+
1773
+ def _get_maxgenericfiles(self):
1774
+ return optGetIntStr(self._opt, "MaxGenericFiles")
1775
+
1776
+ def _set_maxgenericfiles(self, value):
1777
+ optSetIntStr(self._opt, "MaxGenericFiles", value)
1778
+ _maxgenericfiles = property(_get_maxgenericfiles, _set_maxgenericfiles)
1779
+
1780
+ def get_maxprocdir(self):
1781
+ return optGetIntStr(self._opt, "MaxProcDir")
1782
+
1783
+ def set_maxprocdir(self, value):
1784
+ optSetIntStr(self._opt, "MaxProcDir", value)
1785
+ ## @brief Maximum number of 225* process directories
1786
+ maxprocdir = property(get_maxprocdir, set_maxprocdir)
1787
+
1788
+ def _get_mcprholdfx(self):
1789
+ return optGetIntStr(self._opt, "MCPRHoldfx")
1790
+
1791
+ def _set_mcprholdfx(self, value):
1792
+ optSetIntStr(self._opt, "MCPRHoldfx", value)
1793
+ _mcprholdfx = property(_get_mcprholdfx, _set_mcprholdfx)
1794
+
1795
+ def get_memorymanager(self):
1796
+ return optGetIntStr(self._opt, "MemoryManager")
1797
+
1798
+ def set_memorymanager(self, value):
1799
+ optSetIntStr(self._opt, "MemoryManager", value)
1800
+ ## @brief Allows to try an experimental memory manager
1801
+ memorymanager = property(get_memorymanager, set_memorymanager)
1802
+
1803
+ def get_miimode(self):
1804
+ return optGetStrStr(self._opt, "MIIMode")
1805
+
1806
+ def set_miimode(self, value):
1807
+ optSetStrStr(self._opt, "MIIMode", value)
1808
+ ## @brief Model Instance Mode
1809
+ miimode = property(get_miimode, set_miimode)
1810
+
1811
+ def get_multi(self):
1812
+ return optGetStrStr(self._opt, "Multi")
1813
+
1814
+ def set_multi(self, value):
1815
+ optSetStrStr(self._opt, "Multi", value)
1816
+ ## @brief Switch default for "$on/offMulti[R]"
1817
+ multi = property(get_multi, set_multi)
1818
+
1819
+ def _get_multipass(self):
1820
+ return optGetIntStr(self._opt, "MultiPass")
1821
+
1822
+ def _set_multipass(self, value):
1823
+ optSetIntStr(self._opt, "MultiPass", value)
1824
+ _multipass = property(_get_multipass, _set_multipass)
1825
+
1826
+ def _get_netlicense(self):
1827
+ return optGetStrStr(self._opt, "NetLicense")
1828
+
1829
+ def _set_netlicense(self, value):
1830
+ optSetStrStr(self._opt, "NetLicense", value)
1831
+ _netlicense = property(_get_netlicense, _set_netlicense)
1832
+
1833
+ def _get_nocr(self):
1834
+ return optGetIntStr(self._opt, "NoCr")
1835
+
1836
+ def _set_nocr(self, value):
1837
+ optSetIntStr(self._opt, "NoCr", value)
1838
+ _nocr = property(_get_nocr, _set_nocr)
1839
+
1840
+ def get_nodlim(self):
1841
+ return optGetIntStr(self._opt, "NodLim")
1842
+
1843
+ def set_nodlim(self, value):
1844
+ optSetIntStr(self._opt, "NodLim", value)
1845
+ ## @brief Node limit in branch and bound tree
1846
+ nodlim = property(get_nodlim, set_nodlim)
1847
+
1848
+ def get_nonewvarequ(self):
1849
+ return optGetIntStr(self._opt, "NoNewVarEqu")
1850
+
1851
+ def set_nonewvarequ(self, value):
1852
+ optSetIntStr(self._opt, "NoNewVarEqu", value)
1853
+ ## @brief Triggers a compilation error when new equations or variable symbols are introduced
1854
+ nonewvarequ = property(get_nonewvarequ, set_nonewvarequ)
1855
+
1856
+ def get_on115(self):
1857
+ return optGetIntStr(self._opt, "On115")
1858
+
1859
+ def set_on115(self, value):
1860
+ optSetIntStr(self._opt, "On115", value)
1861
+ ## @brief Generate errors for unknown unique element in an equation
1862
+ on115 = property(get_on115, set_on115)
1863
+
1864
+ def get_optca(self):
1865
+ return optGetDblStr(self._opt, "OptCA")
1866
+
1867
+ def set_optca(self, value):
1868
+ optSetDblStr(self._opt, "OptCA", value)
1869
+ ## @brief Absolute Optimality criterion solver default
1870
+ optca = property(get_optca, set_optca)
1871
+
1872
+ def get_optcr(self):
1873
+ return optGetDblStr(self._opt, "OptCR")
1874
+
1875
+ def set_optcr(self, value):
1876
+ optSetDblStr(self._opt, "OptCR", value)
1877
+ ## @brief Relative Optimality criterion solver default
1878
+ optcr = property(get_optcr, set_optcr)
1879
+
1880
+ def get_optdir(self):
1881
+ return optGetStrStr(self._opt, "OptDir")
1882
+
1883
+ def set_optdir(self, value):
1884
+ optSetStrStr(self._opt, "OptDir", value)
1885
+ ## @brief Option file directory
1886
+ optdir = property(get_optdir, set_optdir)
1887
+
1888
+ def get_optfile(self):
1889
+ return optGetIntStr(self._opt, "OptFile")
1890
+
1891
+ def set_optfile(self, value):
1892
+ optSetIntStr(self._opt, "OptFile", value)
1893
+ ## @brief Default option file
1894
+ optfile = property(get_optfile, set_optfile)
1895
+
1896
+ def get_output(self):
1897
+ return optGetStrStr(self._opt, "Output")
1898
+
1899
+ def set_output(self, value):
1900
+ optSetStrStr(self._opt, "Output", value)
1901
+ ## @brief Listing file name
1902
+ output = property(get_output, set_output)
1903
+
1904
+ def get_pagecontr(self):
1905
+ return optGetIntStr(self._opt, "PageContr")
1906
+
1907
+ def set_pagecontr(self, value):
1908
+ optSetIntStr(self._opt, "PageContr", value)
1909
+ ## @brief Output file page control option
1910
+ pagecontr = property(get_pagecontr, set_pagecontr)
1911
+
1912
+ def get_pagesize(self):
1913
+ return optGetIntStr(self._opt, "PageSize")
1914
+
1915
+ def set_pagesize(self, value):
1916
+ optSetIntStr(self._opt, "PageSize", value)
1917
+ ## @brief Output file page size (=0 no paging)
1918
+ pagesize = property(get_pagesize, set_pagesize)
1919
+
1920
+ def get_pagewidth(self):
1921
+ return optGetIntStr(self._opt, "PageWidth")
1922
+
1923
+ def set_pagewidth(self, value):
1924
+ optSetIntStr(self._opt, "PageWidth", value)
1925
+ ## @brief Output file page width
1926
+ pagewidth = property(get_pagewidth, set_pagewidth)
1927
+
1928
+ def _get_pid2error(self):
1929
+ return optGetIntStr(self._opt, "PID2Error")
1930
+
1931
+ def _set_pid2error(self, value):
1932
+ optSetIntStr(self._opt, "PID2Error", value)
1933
+ _pid2error = property(_get_pid2error, _set_pid2error)
1934
+
1935
+ def get_plicense(self):
1936
+ return optGetStrStr(self._opt, "PLicense")
1937
+
1938
+ def set_plicense(self, value):
1939
+ optSetStrStr(self._opt, "PLicense", value)
1940
+ ## @brief Privacy license file name
1941
+ plicense = property(get_plicense, set_plicense)
1942
+
1943
+ def get_prefixloadpath(self):
1944
+ return optGetIntStr(self._opt, "PrefixLoadPath")
1945
+
1946
+ def set_prefixloadpath(self, value):
1947
+ optSetIntStr(self._opt, "PrefixLoadPath", value)
1948
+ ## @brief Prepend GAMS system directory to library load path
1949
+ prefixloadpath = property(get_prefixloadpath, set_prefixloadpath)
1950
+
1951
+ def get_previouswork(self):
1952
+ return optGetIntStr(self._opt, "PreviousWork")
1953
+
1954
+ def set_previouswork(self, value):
1955
+ optSetIntStr(self._opt, "PreviousWork", value)
1956
+ ## @brief Indicator for writing workfile with previous workfile version
1957
+ previouswork = property(get_previouswork, set_previouswork)
1958
+
1959
+ def _get_procdir(self):
1960
+ return optGetStrStr(self._opt, "ProcDir")
1961
+
1962
+ def _set_procdir(self, value):
1963
+ optSetStrStr(self._opt, "ProcDir", value)
1964
+ _procdir = property(_get_procdir, _set_procdir)
1965
+
1966
+ def _get_procdirpath(self):
1967
+ return optGetStrStr(self._opt, "ProcDirPath")
1968
+
1969
+ def _set_procdirpath(self, value):
1970
+ optSetStrStr(self._opt, "ProcDirPath", value)
1971
+ _procdirpath = property(_get_procdirpath, _set_procdirpath)
1972
+
1973
+ def get_proctreememmonitor(self):
1974
+ return optGetIntStr(self._opt, "ProcTreeMemMonitor")
1975
+
1976
+ def set_proctreememmonitor(self, value):
1977
+ optSetIntStr(self._opt, "ProcTreeMemMonitor", value)
1978
+ ## @brief Monitor the memory used by the GAMS process tree
1979
+ proctreememmonitor = property(get_proctreememmonitor, set_proctreememmonitor)
1980
+
1981
+ def get_proctreememticks(self):
1982
+ return optGetIntStr(self._opt, "ProcTreeMemTicks")
1983
+
1984
+ def set_proctreememticks(self, value):
1985
+ optSetIntStr(self._opt, "ProcTreeMemTicks", value)
1986
+ ## @brief Set wait interval between memory monitor checks: ticks = milliseconds
1987
+ proctreememticks = property(get_proctreememticks, set_proctreememticks)
1988
+
1989
+ def get_profile(self):
1990
+ return optGetIntStr(self._opt, "Profile")
1991
+
1992
+ def set_profile(self, value):
1993
+ optSetIntStr(self._opt, "Profile", value)
1994
+ ## @brief Execution profiling
1995
+ profile = property(get_profile, set_profile)
1996
+
1997
+ def get_profilefile(self):
1998
+ return optGetStrStr(self._opt, "ProfileFile")
1999
+
2000
+ def set_profilefile(self, value):
2001
+ optSetStrStr(self._opt, "ProfileFile", value)
2002
+ ## @brief Write profile information to this file
2003
+ profilefile = property(get_profilefile, set_profilefile)
2004
+
2005
+ def _get_comport(self):
2006
+ return optGetIntStr(self._opt, "ComPort")
2007
+
2008
+ def _set_comport(self, value):
2009
+ optSetIntStr(self._opt, "ComPort", value)
2010
+ _comport = property(_get_comport, _set_comport)
2011
+
2012
+ def get_profiletol(self):
2013
+ return optGetDblStr(self._opt, "ProfileTol")
2014
+
2015
+ def set_profiletol(self, value):
2016
+ optSetDblStr(self._opt, "ProfileTol", value)
2017
+ ## @brief Minimum time a statement must use to appear in profile generated output
2018
+ profiletol = property(get_profiletol, set_profiletol)
2019
+
2020
+ def get_putdir(self):
2021
+ return optGetStrStr(self._opt, "PutDir")
2022
+
2023
+ def set_putdir(self, value):
2024
+ optSetStrStr(self._opt, "PutDir", value)
2025
+ ## @brief Put file directory
2026
+ putdir = property(get_putdir, set_putdir)
2027
+
2028
+ def get_putnd(self):
2029
+ return optGetIntStr(self._opt, "PutND")
2030
+
2031
+ def set_putnd(self, value):
2032
+ optSetIntStr(self._opt, "PutND", value)
2033
+ ## @brief Number of decimals for put files
2034
+ putnd = property(get_putnd, set_putnd)
2035
+
2036
+ def get_putnr(self):
2037
+ return optGetIntStr(self._opt, "PutNR")
2038
+
2039
+ def set_putnr(self, value):
2040
+ optSetIntStr(self._opt, "PutNR", value)
2041
+ ## @brief Numeric round format for put files
2042
+ putnr = property(get_putnr, set_putnr)
2043
+
2044
+ def get_putps(self):
2045
+ return optGetIntStr(self._opt, "PutPS")
2046
+
2047
+ def set_putps(self, value):
2048
+ optSetIntStr(self._opt, "PutPS", value)
2049
+ ## @brief Page size for put files
2050
+ putps = property(get_putps, set_putps)
2051
+
2052
+ def get_putpw(self):
2053
+ return optGetIntStr(self._opt, "PutPW")
2054
+
2055
+ def set_putpw(self, value):
2056
+ optSetIntStr(self._opt, "PutPW", value)
2057
+ ## @brief Page width for put files
2058
+ putpw = property(get_putpw, set_putpw)
2059
+
2060
+ def get_reference(self):
2061
+ return optGetStrStr(self._opt, "Reference")
2062
+
2063
+ def set_reference(self, value):
2064
+ optSetStrStr(self._opt, "Reference", value)
2065
+ ## @brief Symbol reference file
2066
+ reference = property(get_reference, set_reference)
2067
+
2068
+ def get_referencelineno(self):
2069
+ return optGetStrStr(self._opt, "ReferenceLineNo")
2070
+
2071
+ def set_referencelineno(self, value):
2072
+ optSetStrStr(self._opt, "ReferenceLineNo", value)
2073
+ ## @brief Controls the line numbers written to a reference file
2074
+ referencelineno = property(get_referencelineno, set_referencelineno)
2075
+
2076
+ def _get_relpath(self):
2077
+ return optGetIntStr(self._opt, "RelPath")
2078
+
2079
+ def _set_relpath(self, value):
2080
+ optSetIntStr(self._opt, "RelPath", value)
2081
+ _relpath = property(_get_relpath, _set_relpath)
2082
+
2083
+ def get_replace(self):
2084
+ return optGetStrStr(self._opt, "Replace")
2085
+
2086
+ def set_replace(self, value):
2087
+ optSetStrStr(self._opt, "Replace", value)
2088
+ ## @brief Switch between merge and replace when reading from GDX into non-empty symbol
2089
+ replace = property(get_replace, set_replace)
2090
+
2091
+ def get_reslim(self):
2092
+ return optGetDblStr(self._opt, "ResLim")
2093
+
2094
+ def set_reslim(self, value):
2095
+ optSetDblStr(self._opt, "ResLim", value)
2096
+ ## @brief Wall-clock time limit for solver
2097
+ reslim = property(get_reslim, set_reslim)
2098
+
2099
+ def _get_restart(self):
2100
+ return optGetStrStr(self._opt, "Restart")
2101
+
2102
+ def _set_restart(self, value):
2103
+ optSetStrStr(self._opt, "Restart", value)
2104
+ _restart = property(_get_restart, _set_restart)
2105
+
2106
+ def _get_restartnamed(self):
2107
+ return optGetStrStr(self._opt, "RestartNamed")
2108
+
2109
+ def _set_restartnamed(self, value):
2110
+ optSetStrStr(self._opt, "RestartNamed", value)
2111
+ _restartnamed = property(_get_restartnamed, _set_restartnamed)
2112
+
2113
+ def _get_save(self):
2114
+ return optGetStrStr(self._opt, "Save")
2115
+
2116
+ def _set_save(self, value):
2117
+ optSetStrStr(self._opt, "Save", value)
2118
+ _save = property(_get_save, _set_save)
2119
+
2120
+ def _get_saveobfuscate(self):
2121
+ return optGetStrStr(self._opt, "SaveObfuscate")
2122
+
2123
+ def _set_saveobfuscate(self, value):
2124
+ optSetStrStr(self._opt, "SaveObfuscate", value)
2125
+ _saveobfuscate = property(_get_saveobfuscate, _set_saveobfuscate)
2126
+
2127
+ def get_savepoint(self):
2128
+ return optGetIntStr(self._opt, "SavePoint")
2129
+
2130
+ def set_savepoint(self, value):
2131
+ optSetIntStr(self._opt, "SavePoint", value)
2132
+ ## @brief Save solver point in GDX file
2133
+ savepoint = property(get_savepoint, set_savepoint)
2134
+
2135
+ def _get_scrdir(self):
2136
+ return optGetStrStr(self._opt, "ScrDir")
2137
+
2138
+ def _set_scrdir(self, value):
2139
+ optSetStrStr(self._opt, "ScrDir", value)
2140
+ _scrdir = property(_get_scrdir, _set_scrdir)
2141
+
2142
+ def _get_scrext(self):
2143
+ return optGetStrStr(self._opt, "ScrExt")
2144
+
2145
+ def _set_scrext(self, value):
2146
+ optSetStrStr(self._opt, "ScrExt", value)
2147
+ _scrext = property(_get_scrext, _set_scrext)
2148
+
2149
+ def get_scriptexit(self):
2150
+ return optGetStrStr(self._opt, "ScriptExit")
2151
+
2152
+ def set_scriptexit(self, value):
2153
+ optSetStrStr(self._opt, "ScriptExit", value)
2154
+ ## @brief Program or script to be executed at the end of a GAMS run
2155
+ scriptexit = property(get_scriptexit, set_scriptexit)
2156
+
2157
+ def _get_scriptfrst(self):
2158
+ return optGetStrStr(self._opt, "ScriptFrst")
2159
+
2160
+ def _set_scriptfrst(self, value):
2161
+ optSetStrStr(self._opt, "ScriptFrst", value)
2162
+ _scriptfrst = property(_get_scriptfrst, _set_scriptfrst)
2163
+
2164
+ def _get_scriptnext(self):
2165
+ return optGetStrStr(self._opt, "ScriptNext")
2166
+
2167
+ def _set_scriptnext(self, value):
2168
+ optSetStrStr(self._opt, "ScriptNext", value)
2169
+ _scriptnext = property(_get_scriptnext, _set_scriptnext)
2170
+
2171
+ def _get_scrnam(self):
2172
+ return optGetStrStr(self._opt, "ScrNam")
2173
+
2174
+ def _set_scrnam(self, value):
2175
+ optSetStrStr(self._opt, "ScrNam", value)
2176
+ _scrnam = property(_get_scrnam, _set_scrnam)
2177
+
2178
+ def get_seed(self):
2179
+ return optGetIntStr(self._opt, "Seed")
2180
+
2181
+ def set_seed(self, value):
2182
+ optSetIntStr(self._opt, "Seed", value)
2183
+ ## @brief Random number seed
2184
+ seed = property(get_seed, set_seed)
2185
+
2186
+ def _get_serverrun(self):
2187
+ return optGetIntStr(self._opt, "ServerRun")
2188
+
2189
+ def _set_serverrun(self, value):
2190
+ optSetIntStr(self._opt, "ServerRun", value)
2191
+ _serverrun = property(_get_serverrun, _set_serverrun)
2192
+
2193
+ def get_showosmemory(self):
2194
+ return optGetIntStr(self._opt, "ShowOSMemory")
2195
+
2196
+ def set_showosmemory(self, value):
2197
+ optSetIntStr(self._opt, "ShowOSMemory", value)
2198
+ ## @brief Show the memory usage reported by the Operating System instead of the internal counting
2199
+ showosmemory = property(get_showosmemory, set_showosmemory)
2200
+
2201
+ def get_solprint(self):
2202
+ return optGetIntStr(self._opt, "SolPrint")
2203
+
2204
+ def set_solprint(self, value):
2205
+ optSetIntStr(self._opt, "SolPrint", value)
2206
+ ## @brief Solution report print option
2207
+ solprint = property(get_solprint, set_solprint)
2208
+
2209
+ def get_solvelink(self):
2210
+ return optGetIntStr(self._opt, "SolveLink")
2211
+
2212
+ def set_solvelink(self, value):
2213
+ optSetIntStr(self._opt, "SolveLink", value)
2214
+ ## @brief Solver link option
2215
+ solvelink = property(get_solvelink, set_solvelink)
2216
+
2217
+ def get_solveopt(self):
2218
+ return optGetIntStr(self._opt, "SolveOpt")
2219
+
2220
+ def set_solveopt(self, value):
2221
+ optSetIntStr(self._opt, "SolveOpt", value)
2222
+ ## @brief Multiple solve management
2223
+ solveopt = property(get_solveopt, set_solveopt)
2224
+
2225
+ def _get_solver(self):
2226
+ return optGetStrStr(self._opt, "Solver")
2227
+
2228
+ def _set_solver(self, value):
2229
+ optSetStrStr(self._opt, "Solver", value)
2230
+ _solver = property(_get_solver, _set_solver)
2231
+
2232
+ def _get_solvercntr(self):
2233
+ return optGetStrStr(self._opt, "SolverCntr")
2234
+
2235
+ def _set_solvercntr(self, value):
2236
+ optSetStrStr(self._opt, "SolverCntr", value)
2237
+ _solvercntr = property(_get_solvercntr, _set_solvercntr)
2238
+
2239
+ def _get_solverdict(self):
2240
+ return optGetStrStr(self._opt, "SolverDict")
2241
+
2242
+ def _set_solverdict(self, value):
2243
+ optSetStrStr(self._opt, "SolverDict", value)
2244
+ _solverdict = property(_get_solverdict, _set_solverdict)
2245
+
2246
+ def _get_solverinst(self):
2247
+ return optGetStrStr(self._opt, "SolverInst")
2248
+
2249
+ def _set_solverinst(self, value):
2250
+ optSetStrStr(self._opt, "SolverInst", value)
2251
+ _solverinst = property(_get_solverinst, _set_solverinst)
2252
+
2253
+ def _get_solvermatr(self):
2254
+ return optGetStrStr(self._opt, "SolverMatr")
2255
+
2256
+ def _set_solvermatr(self, value):
2257
+ optSetStrStr(self._opt, "SolverMatr", value)
2258
+ _solvermatr = property(_get_solvermatr, _set_solvermatr)
2259
+
2260
+ def _get_solversolu(self):
2261
+ return optGetStrStr(self._opt, "SolverSolu")
2262
+
2263
+ def _set_solversolu(self, value):
2264
+ optSetStrStr(self._opt, "SolverSolu", value)
2265
+ _solversolu = property(_get_solversolu, _set_solversolu)
2266
+
2267
+ def _get_solverstat(self):
2268
+ return optGetStrStr(self._opt, "SolverStat")
2269
+
2270
+ def _set_solverstat(self, value):
2271
+ optSetStrStr(self._opt, "SolverStat", value)
2272
+ _solverstat = property(_get_solverstat, _set_solverstat)
2273
+
2274
+ def _get_sparserun(self):
2275
+ return optGetStrStr(self._opt, "SparseRun")
2276
+
2277
+ def _set_sparserun(self, value):
2278
+ optSetStrStr(self._opt, "SparseRun", value)
2279
+ _sparserun = property(_get_sparserun, _set_sparserun)
2280
+
2281
+ def _get_sqacmex(self):
2282
+ return optGetStrStr(self._opt, "SqaCmex")
2283
+
2284
+ def _set_sqacmex(self, value):
2285
+ optSetStrStr(self._opt, "SqaCmex", value)
2286
+ _sqacmex = property(_get_sqacmex, _set_sqacmex)
2287
+
2288
+ def get_stepsum(self):
2289
+ return optGetIntStr(self._opt, "StepSum")
2290
+
2291
+ def set_stepsum(self, value):
2292
+ optSetIntStr(self._opt, "StepSum", value)
2293
+ ## @brief Summary of computing resources used by job steps
2294
+ stepsum = property(get_stepsum, set_stepsum)
2295
+
2296
+ def get_strictsingleton(self):
2297
+ return optGetIntStr(self._opt, "strictSingleton")
2298
+
2299
+ def set_strictsingleton(self, value):
2300
+ optSetIntStr(self._opt, "strictSingleton", value)
2301
+ ## @brief Error if assignment to singleton set has multiple elements
2302
+ strictsingleton = property(get_strictsingleton, set_strictsingleton)
2303
+
2304
+ def get_stringchk(self):
2305
+ return optGetIntStr(self._opt, "StringChk")
2306
+
2307
+ def set_stringchk(self, value):
2308
+ optSetIntStr(self._opt, "StringChk", value)
2309
+ ## @brief String substitution options
2310
+ stringchk = property(get_stringchk, set_stringchk)
2311
+
2312
+ def _get_subsys(self):
2313
+ return optGetStrStr(self._opt, "SubSys")
2314
+
2315
+ def _set_subsys(self, value):
2316
+ optSetStrStr(self._opt, "SubSys", value)
2317
+ _subsys = property(_get_subsys, _set_subsys)
2318
+
2319
+ def get_suffixdlvars(self):
2320
+ return optGetStrStr(self._opt, "SuffixDLVars")
2321
+
2322
+ def set_suffixdlvars(self, value):
2323
+ optSetStrStr(self._opt, "SuffixDLVars", value)
2324
+ ## @brief Switch default for "$on/offSuffixDLVars"
2325
+ suffixdlvars = property(get_suffixdlvars, set_suffixdlvars)
2326
+
2327
+ def get_suffixalgebravars(self):
2328
+ return optGetStrStr(self._opt, "SuffixAlgebraVars")
2329
+
2330
+ def set_suffixalgebravars(self, value):
2331
+ optSetStrStr(self._opt, "SuffixAlgebraVars", value)
2332
+ ## @brief Switch default for "$on/offSuffixAlgebraVars"
2333
+ suffixalgebravars = property(get_suffixalgebravars, set_suffixalgebravars)
2334
+
2335
+ def get_suppress(self):
2336
+ return optGetIntStr(self._opt, "Suppress")
2337
+
2338
+ def set_suppress(self, value):
2339
+ optSetIntStr(self._opt, "Suppress", value)
2340
+ ## @brief Compiler listing option
2341
+ suppress = property(get_suppress, set_suppress)
2342
+
2343
+ def get_symbol(self):
2344
+ return optGetStrStr(self._opt, "Symbol")
2345
+
2346
+ def set_symbol(self, value):
2347
+ optSetStrStr(self._opt, "Symbol", value)
2348
+ ## @brief Symbol table file
2349
+ symbol = property(get_symbol, set_symbol)
2350
+
2351
+ def get_symprefix(self):
2352
+ return optGetStrStr(self._opt, "SymPrefix")
2353
+
2354
+ def set_symprefix(self, value):
2355
+ optSetStrStr(self._opt, "SymPrefix", value)
2356
+ ## @brief Prefix all symbols encountered during compilation by the specified string in work file
2357
+ symprefix = property(get_symprefix, set_symprefix)
2358
+
2359
+ def get_sys10(self):
2360
+ return optGetIntStr(self._opt, "Sys10")
2361
+
2362
+ def set_sys10(self, value):
2363
+ optSetIntStr(self._opt, "Sys10", value)
2364
+ ## @brief Changes rpower to ipower when the exponent is constant and within 1e-12 of an integer
2365
+ sys10 = property(get_sys10, set_sys10)
2366
+
2367
+ def get_sys11(self):
2368
+ return optGetIntStr(self._opt, "Sys11")
2369
+
2370
+ def set_sys11(self, value):
2371
+ optSetIntStr(self._opt, "Sys11", value)
2372
+ ## @brief Dynamic resorting if indices in assignment/data statements are not in natural order
2373
+ sys11 = property(get_sys11, set_sys11)
2374
+
2375
+ def get_sys12(self):
2376
+ return optGetIntStr(self._opt, "Sys12")
2377
+
2378
+ def set_sys12(self, value):
2379
+ optSetIntStr(self._opt, "Sys12", value)
2380
+ ## @brief Pass model with generation errors to solver
2381
+ sys12 = property(get_sys12, set_sys12)
2382
+
2383
+ def _get_sys14(self):
2384
+ return optGetIntStr(self._opt, "Sys14")
2385
+
2386
+ def _set_sys14(self, value):
2387
+ optSetIntStr(self._opt, "Sys14", value)
2388
+ _sys14 = property(_get_sys14, _set_sys14)
2389
+
2390
+ def _get_sys15(self):
2391
+ return optGetIntStr(self._opt, "Sys15")
2392
+
2393
+ def _set_sys15(self, value):
2394
+ optSetIntStr(self._opt, "Sys15", value)
2395
+ _sys15 = property(_get_sys15, _set_sys15)
2396
+
2397
+ def _get_sys16(self):
2398
+ return optGetIntStr(self._opt, "Sys16")
2399
+
2400
+ def _set_sys16(self, value):
2401
+ optSetIntStr(self._opt, "Sys16", value)
2402
+ _sys16 = property(_get_sys16, _set_sys16)
2403
+
2404
+ def _get_sys17(self):
2405
+ return optGetIntStr(self._opt, "Sys17")
2406
+
2407
+ def _set_sys17(self, value):
2408
+ optSetIntStr(self._opt, "Sys17", value)
2409
+ _sys17 = property(_get_sys17, _set_sys17)
2410
+
2411
+ def _get_sys18(self):
2412
+ return optGetIntStr(self._opt, "Sys18")
2413
+
2414
+ def _set_sys18(self, value):
2415
+ optSetIntStr(self._opt, "Sys18", value)
2416
+ _sys18 = property(_get_sys18, _set_sys18)
2417
+
2418
+ def _get_sys19(self):
2419
+ return optGetIntStr(self._opt, "Sys19")
2420
+
2421
+ def _set_sys19(self, value):
2422
+ optSetIntStr(self._opt, "Sys19", value)
2423
+ _sys19 = property(_get_sys19, _set_sys19)
2424
+
2425
+ def _get_sysdir(self):
2426
+ return optGetStrStr(self._opt, "SysDir")
2427
+
2428
+ def _set_sysdir(self, value):
2429
+ optSetStrStr(self._opt, "SysDir", value)
2430
+ _sysdir = property(_get_sysdir, _set_sysdir)
2431
+
2432
+ def get_sysincdir(self):
2433
+ return optGetStrStr(self._opt, "SysIncDir")
2434
+
2435
+ def set_sysincdir(self, value):
2436
+ optSetStrStr(self._opt, "SysIncDir", value)
2437
+ ## @brief SysInclude directory
2438
+ sysincdir = property(get_sysincdir, set_sysincdir)
2439
+
2440
+ def get_sysout(self):
2441
+ return optGetIntStr(self._opt, "SysOut")
2442
+
2443
+ def set_sysout(self, value):
2444
+ optSetIntStr(self._opt, "SysOut", value)
2445
+ ## @brief Solver Status file reporting option
2446
+ sysout = property(get_sysout, set_sysout)
2447
+
2448
+ def get_tabin(self):
2449
+ return optGetIntStr(self._opt, "TabIn")
2450
+
2451
+ def set_tabin(self, value):
2452
+ optSetIntStr(self._opt, "TabIn", value)
2453
+ ## @brief Tab spacing
2454
+ tabin = property(get_tabin, set_tabin)
2455
+
2456
+ def get_tformat(self):
2457
+ return optGetIntStr(self._opt, "TFormat")
2458
+
2459
+ def set_tformat(self, value):
2460
+ optSetIntStr(self._opt, "TFormat", value)
2461
+ ## @brief Time format
2462
+ tformat = property(get_tformat, set_tformat)
2463
+
2464
+ def get_threads(self):
2465
+ return optGetIntStr(self._opt, "Threads")
2466
+
2467
+ def set_threads(self, value):
2468
+ optSetIntStr(self._opt, "Threads", value)
2469
+ ## @brief Number of processors to be used by a solver
2470
+ threads = property(get_threads, set_threads)
2471
+
2472
+ def get_threadsasync(self):
2473
+ return optGetIntStr(self._opt, "ThreadsAsync")
2474
+
2475
+ def set_threadsasync(self, value):
2476
+ optSetIntStr(self._opt, "ThreadsAsync", value)
2477
+ ## @brief Limit on number of threads to be used for asynchronous solves (solveLink=6)
2478
+ threadsasync = property(get_threadsasync, set_threadsasync)
2479
+
2480
+ def get_timer(self):
2481
+ return optGetIntStr(self._opt, "Timer")
2482
+
2483
+ def set_timer(self, value):
2484
+ optSetIntStr(self._opt, "Timer", value)
2485
+ ## @brief Instruction timer threshold in milliseconds
2486
+ timer = property(get_timer, set_timer)
2487
+
2488
+ def get_trace(self):
2489
+ return optGetStrStr(self._opt, "Trace")
2490
+
2491
+ def set_trace(self, value):
2492
+ optSetStrStr(self._opt, "Trace", value)
2493
+ ## @brief Trace file name
2494
+ trace = property(get_trace, set_trace)
2495
+
2496
+ def get_tracelevel(self):
2497
+ return optGetIntStr(self._opt, "TraceLevel")
2498
+
2499
+ def set_tracelevel(self, value):
2500
+ optSetIntStr(self._opt, "TraceLevel", value)
2501
+ ## @brief Modelstat/Solvestat threshold used in conjunction with action=GT
2502
+ tracelevel = property(get_tracelevel, set_tracelevel)
2503
+
2504
+ def get_traceopt(self):
2505
+ return optGetIntStr(self._opt, "TraceOpt")
2506
+
2507
+ def set_traceopt(self, value):
2508
+ optSetIntStr(self._opt, "TraceOpt", value)
2509
+ ## @brief Trace file format option
2510
+ traceopt = property(get_traceopt, set_traceopt)
2511
+
2512
+ def get_user1(self):
2513
+ return optGetStrStr(self._opt, "User1")
2514
+
2515
+ def set_user1(self, value):
2516
+ optSetStrStr(self._opt, "User1", value)
2517
+ ## @brief User string N
2518
+ user1 = property(get_user1, set_user1)
2519
+
2520
+ def get_user2(self):
2521
+ return optGetStrStr(self._opt, "User2")
2522
+
2523
+ def set_user2(self, value):
2524
+ optSetStrStr(self._opt, "User2", value)
2525
+ ## @brief User string N
2526
+ user2 = property(get_user2, set_user2)
2527
+
2528
+ def get_user3(self):
2529
+ return optGetStrStr(self._opt, "User3")
2530
+
2531
+ def set_user3(self, value):
2532
+ optSetStrStr(self._opt, "User3", value)
2533
+ ## @brief User string N
2534
+ user3 = property(get_user3, set_user3)
2535
+
2536
+ def get_user4(self):
2537
+ return optGetStrStr(self._opt, "User4")
2538
+
2539
+ def set_user4(self, value):
2540
+ optSetStrStr(self._opt, "User4", value)
2541
+ ## @brief User string N
2542
+ user4 = property(get_user4, set_user4)
2543
+
2544
+ def get_user5(self):
2545
+ return optGetStrStr(self._opt, "User5")
2546
+
2547
+ def set_user5(self, value):
2548
+ optSetStrStr(self._opt, "User5", value)
2549
+ ## @brief User string N
2550
+ user5 = property(get_user5, set_user5)
2551
+
2552
+ def get_warnings(self):
2553
+ return optGetIntStr(self._opt, "Warnings")
2554
+
2555
+ def set_warnings(self, value):
2556
+ optSetIntStr(self._opt, "Warnings", value)
2557
+ ## @brief Number of warnings permitted before a run terminates
2558
+ warnings = property(get_warnings, set_warnings)
2559
+
2560
+ def _get_workdir(self):
2561
+ return optGetStrStr(self._opt, "WorkDir")
2562
+
2563
+ def _set_workdir(self, value):
2564
+ optSetStrStr(self._opt, "WorkDir", value)
2565
+ _workdir = property(_get_workdir, _set_workdir)
2566
+
2567
+ def get_workfactor(self):
2568
+ return optGetDblStr(self._opt, "WorkFactor")
2569
+
2570
+ def set_workfactor(self, value):
2571
+ optSetDblStr(self._opt, "WorkFactor", value)
2572
+ ## @brief Memory Estimate multiplier for some solvers
2573
+ workfactor = property(get_workfactor, set_workfactor)
2574
+
2575
+ def get_workspace(self):
2576
+ return optGetDblStr(self._opt, "WorkSpace")
2577
+
2578
+ def set_workspace(self, value):
2579
+ optSetDblStr(self._opt, "WorkSpace", value)
2580
+ ## @brief Work space for some solvers in MB
2581
+ workspace = property(get_workspace, set_workspace)
2582
+
2583
+ def _get_writeoutput(self):
2584
+ return optGetIntStr(self._opt, "writeOutput")
2585
+
2586
+ def _set_writeoutput(self, value):
2587
+ optSetIntStr(self._opt, "writeOutput", value)
2588
+ _writeoutput = property(_get_writeoutput, _set_writeoutput)
2589
+
2590
+ def _get_xsave(self):
2591
+ return optGetStrStr(self._opt, "XSave")
2592
+
2593
+ def _set_xsave(self, value):
2594
+ optSetStrStr(self._opt, "XSave", value)
2595
+ _xsave = property(_get_xsave, _set_xsave)
2596
+
2597
+ def _get_xsaveobfuscate(self):
2598
+ return optGetStrStr(self._opt, "XSaveObfuscate")
2599
+
2600
+ def _set_xsaveobfuscate(self, value):
2601
+ optSetStrStr(self._opt, "XSaveObfuscate", value)
2602
+ _xsaveobfuscate = property(_get_xsaveobfuscate, _set_xsaveobfuscate)
2603
+
2604
+ def get_zerores(self):
2605
+ return optGetDblStr(self._opt, "ZeroRes")
2606
+
2607
+ def set_zerores(self, value):
2608
+ optSetDblStr(self._opt, "ZeroRes", value)
2609
+ ## @brief The results of certain operations will be set to zero if abs(result) LE ZeroRes
2610
+ zerores = property(get_zerores, set_zerores)
2611
+
2612
+ def get_zeroresrep(self):
2613
+ return optGetIntStr(self._opt, "ZeroResRep")
2614
+
2615
+ def set_zeroresrep(self, value):
2616
+ optSetIntStr(self._opt, "ZeroResRep", value)
2617
+ ## @brief Report underflow as a warning when abs(results) LE ZeroRes and result set to zero
2618
+ zeroresrep = property(get_zeroresrep, set_zeroresrep)
2619
+
2620
+ def _get_gdx(self):
2621
+ return optGetStrStr(self._opt, "GDX")
2622
+
2623
+ def _set_gdx(self, value):
2624
+ optSetStrStr(self._opt, "GDX", os.path.splitext(value)[0] + ".gdx")
2625
+
2626
+ gdx = property(_get_gdx, _set_gdx)
2627
+
2628
+
2629
+ def __init__(self, ws, opt_from=None, opt_file=None):
2630
+ """
2631
+ @brief Constructor
2632
+ @param ws GamsWorkspace containing GamsOptions
2633
+ @param opt_from GamsOptions used to initialize the new object
2634
+ @param opt_file Parameter used to initialize the new objectfile
2635
+ """
2636
+
2637
+ ws._debug_out("---- Entering GamsOptions constructor ----", 0)
2638
+
2639
+ ## @brief GAMS Dash Options
2640
+ self.defines = {}
2641
+ self._selected_solvers = []
2642
+ self.idir = []
2643
+ self._opt = new_optHandle_tp()
2644
+ self._cfg = new_cfgHandle_tp()
2645
+
2646
+ self._workspace = ws
2647
+
2648
+ ret = optCreateD(self._opt, self._workspace._system_directory, GMS_SSSIZE)
2649
+ if not ret[0]:
2650
+ raise gams.control.workspace.GamsException(ret[1])
2651
+ def_file = self._workspace._system_directory + os.sep + "optgams.def"
2652
+ GamsOptions.optLock.acquire()
2653
+ rc = optReadDefinition(self._opt, def_file)
2654
+ GamsOptions.optLock.release()
2655
+ if rc:
2656
+ for i in range(1, optMessageCount(self._opt)):
2657
+ ret = optGetMessage(self._opt, i)
2658
+ raise gams.control.workspace.GamsException(
2659
+ "Problem reading definition file " + def_file
2660
+ )
2661
+
2662
+ ret = cfgCreateD(self._cfg, self._workspace._system_directory, GMS_SSSIZE)
2663
+ if not ret[0]:
2664
+ raise gams.control.workspace.GamsException(ret[1])
2665
+ if gams.control.workspace._is_win:
2666
+ conf_file = "gmscmpnt.txt"
2667
+ else:
2668
+ conf_file = "gmscmpun.txt"
2669
+
2670
+ if cfgReadConfigGUC(
2671
+ self._cfg,
2672
+ self._workspace._system_directory + os.sep + conf_file,
2673
+ self._workspace._system_directory
2674
+ ):
2675
+ raise gams.control.workspace.GamsException(
2676
+ "Error reading config file"
2677
+ + self._workspace._system_directory
2678
+ + os.sep
2679
+ + conf_file
2680
+ )
2681
+
2682
+ if opt_from:
2683
+ #TODO: mktemp is depricated, but mkstemp created a file and we don't want that
2684
+ pf_file_name = tempfile.mktemp(
2685
+ prefix=self._workspace.scratch_file_prefix,
2686
+ dir=self._workspace._working_directory,
2687
+ )
2688
+ optWriteParameterFile(opt_from._opt, pf_file_name)
2689
+ optReadParameterFile(self._opt, pf_file_name)
2690
+
2691
+ #Copy special options
2692
+ for s in opt_from.idir:
2693
+ self.idir.append(s)
2694
+ for s in opt_from._selected_solvers:
2695
+ self._selected_solvers.append(s)
2696
+ for k, v in iter(opt_from.defines.items()):
2697
+ self.defines[k] = v
2698
+
2699
+ if self._workspace._debug < gams.control.workspace.DebugLevel.KeepFiles:
2700
+ try:
2701
+ os.remove(pf_file_name)
2702
+ except:
2703
+ pass
2704
+
2705
+ elif opt_file:
2706
+ if not os.path.isabs(opt_file):
2707
+ opt_file = os.path.join(self._workspace._working_directory, opt_file)
2708
+ if 0 != optReadParameterFile(self._opt, opt_file):
2709
+ msg_list = []
2710
+ for i in range(1, optMessageCount(self._opt) + 1):
2711
+ msg_list.append(optGetMessage(self._opt, i)[0])
2712
+ msg = "\n".join(msg_list)
2713
+ raise gams.control.workspace.GamsException(
2714
+ f"Problem reading parameter file {opt_file}:\n{msg}"
2715
+ )
2716
+
2717
+ for i in range(1,41):
2718
+ if optGetDefinedStr(self._opt, "InputDir" + str(i)):
2719
+ self.idir.append(optGetStrStr(self._opt, "InputDir" + str(i)))
2720
+
2721
+ key = ""
2722
+ val = ""
2723
+ ret = optGetFromAnyStrList(self._opt, 1)
2724
+ while 0 != ret[0]:
2725
+ key = ret[1]
2726
+ val = ret[2]
2727
+ if key.startswith("--"):
2728
+ key = key[2:]
2729
+ self.defines[key] = val
2730
+ ret = optGetFromAnyStrList(self._opt, 1)
2731
+
2732
+ # No clue what to do about SolverOptions
2733
+
2734
+ self._selected_solvers.append("") # gmoProc_none
2735
+ for i in range(1, gmoProc_nrofmodeltypes):
2736
+ self._selected_solvers.append(
2737
+ cfgAlgName(self._cfg, cfgDefaultAlg(self._cfg, i))
2738
+ )
2739
+
2740
+ for i in range(1, gmoProc_nrofmodeltypes):
2741
+ if optGetDefinedStr(self._opt, cfgModelTypeName(self._cfg, i)):
2742
+ self._selected_solvers[i] = optGetStrStr(
2743
+ self._opt, cfgModelTypeName(self._cfg,i)
2744
+ )
2745
+
2746
+ else:
2747
+ self._selected_solvers.append("") # gmoProc_none
2748
+ for i in range(1, gmoProc_nrofmodeltypes):
2749
+ self._selected_solvers.append(
2750
+ cfgAlgName(self._cfg, cfgDefaultAlg(self._cfg, i))
2751
+ )
2752
+
2753
+
2754
+ def export(self, file_path):
2755
+ """
2756
+ @brief Write GamsOptions into a parameter file
2757
+ @param file_path The path used to write the parameter file. A relative path is relative to the GAMS working directory.
2758
+ """
2759
+
2760
+ if os.path.isabs(file_path):
2761
+ optWriteParameterFile(self._opt, file_path)
2762
+ else:
2763
+ file_path = os.path.join(self._workspace._working_directory, file_path)
2764
+ optWriteParameterFile(self._opt, file_path)
2765
+ file = open(file_path, "a")
2766
+ file.write("EolOnly=1" + "\n")
2767
+ if len(self.idir) > 0:
2768
+ if len(self.idir) > 40:
2769
+ raise gams.control.workspace.GamsException(
2770
+ "Cannot handle more than 40 IDirs"
2771
+ )
2772
+ for i in range(1, len(self.idir)):
2773
+ file.write("InputDir" + str(i) + "=" + self.idir[i-1] + "\n")
2774
+
2775
+ # SolverOptions ???
2776
+ for i in range(1, gmoProc_nrofmodeltypes):
2777
+ file.write(
2778
+ cfgModelTypeName(self._cfg, i) + "=" + self._selected_solvers[i] + "\n"
2779
+ )
2780
+
2781
+ if len(self.defines) > 0:
2782
+ for k,v in self.defines:
2783
+ file.write("--" + k + "=" + v + "\n")
2784
+ file.close()
2785
+
2786
+ def __del__(self):
2787
+ self._workspace._debug_out("---- Entering GamsOptions destructor ----", 0)
2788
+ if self._opt != None:
2789
+ optFree(self._opt)
2790
+ if self._cfg != None:
2791
+ cfgFree(self._cfg)
2792
+