|
|
37.1.0 主要版本(2021 年 11 月 11 日)
致谢
我们要感谢所有报告问题并提出改进此版本建议的用户。我们特别感谢 Marcel Adenauer、Boyan Atanasov、Edna Johanna Molina Bacca、Abhijit Bora、Wolfgang Britz、Bruno Charlier、Hancheng Dai、Rob Davies、Ricardo M. Pinto de Lima、Bruce McCarl、Scott McDonald、Guillaume Nimal、Gwendal Nivanen、 Zack Pecenak、Tom Rutherford、Nick Sahinidis、Shima Sasanpour 和 Denys Yemshanov。
平台
- 我们将在下一个主要版本中放弃对 Mac OS X 10.14 (Mojave) 的支持。
GAMS系统
GAMS管理系统
- 添加了新的内在函数logit。
- 添加了新的条件表达式 onState来检查某些美元控制选项的状态。可以在这里看到一个例子。
- 添加了命令行参数和选项EpsToZero以及美元控制选项$onEpsToZero并$offEpsToZero允许将EPS值作为零写入 GDX。
- 使命令行参数holdFixedAsync、sys15、sys16、sys17、sys18和sys19在选项语句中也可用。
- 如果在$ifThen ... $else语句中使用了$abort或$call.checkErrorLevel ,请避免警告。
- 在有限域声明中允许空间,如下所示:Model transport / all, x (ij) /;
- 过去,当由于给定的文件名无效而导致execute_unload失败时,GAMS 会抛出执行错误。现在,它首先尝试使用通用文件名写入文件(就像它总是使用put 文件一样)。
- 添加了一个新的命令行参数和选项maxGenericFiles以指定尝试写入上述通用文件的次数。
- 扩展了$offInclude的影响以抑制包含文件摘要和扩展包含文件的创建。
- 增加了对(混合整数)线性模型的支持,该模型生成超过 = 2,147,483,648 个非零值。目前,只有 CPLEX、GUROBI 和 XPRESS 的求解器链接能够处理如此大的模型实例。行数和列数仍然限制在 .
- 删除了模型属性句柄的限制,该限制不允许设置除网格句柄之外的任何值(具体来说,之前拒绝了多线程句柄)。
- 如果使用Grid Facility调用了没有可执行文件的求解器(目前,这仅影响DECIS ) ,则引发显式执行错误。
- 修复了使用不在 GAMS 系统目录中的Grid Facility调用求解器的问题。
- 修复了符号名称较长时dmpSym和dmpUserSym输出的对齐问题。
- gamsconfig.yaml修复了对 itemscriptName和executableNamesection中带有空格的路径的处理solverConfig。
- $Call、execute和它的变体现在允许脚本/程序路径中的空格在正确引用的情况下被调用。
- 修复了一个零位display错误,0显示为0..
- 修复了在某些情况下离散变量和外部方程右侧的错误矩阵错误检测。
- 修复了 GAMS 执行系统在使用 、 和相关时损坏了 Linux 上 CPU SSE 寄存器中的控制或状态$IfE信息$IfThenE。
嵌入式 Python 代码工具
- 打印 Python 脚本行号以防引发异常。
- 在 中注册别名符号gams.db。
- gams.db[sym].domains通过和提供符号的域信息gams.db[sym].domains_as_strings。
- 修复pyEmbMI双界但非固定变量的问题。
- GMSPython 的 Python 版本已更新为3.8.11.
- 从 GMSPython 中删除了包schema及其依赖项。contextlib2
扩展数学规划 (EMP)
- 添加了新的随机 EMP 关键字stageDefault以更改未明确分配给阶段的符号的默认阶段。
- 更改了stage行为,以便在与模型中缺少的符号一起使用时不计为终止错误。
Windows 安装程序
- .将gsp(GAMS Studio 项目)文件与 GAMS Studio关联。
求解器
ANTIGONE、IPOPT、SHOT、SCIP
- 在 Windows 上将英特尔 MKL 更新至版本 2021.2.0。
转变
CPLEX
- 修复了 GUSS 冷启动中使用 GUSS logoption2 的重复 CPLEX 输出。
- 修复了在调优中对某些 GAMS 命令行选项的不必要考虑。
- 修复了可能忽略中断信号 (Ctrl+C)。
- 默认禁用 CPLEX 解决方案池(未设置solnpool和solnpoolmerge时)。
- 修复了在 CPLEX 终止代码 104 的情况下调用解决方案池导出:已达到解决方案限制。
- 修复了使用mipstopexpr时可能发生的崩溃。
GUROBI
- 新库 9.5.0。
- 为一般约束类型添加了规范约束,请参阅genconstrtype。
- 新选项memlimit:内存限制。
- 新选项worklimit:工作限制。
- 新选项lpwarmstart:simplex 中的热启动用法。
- 新选项nlpheur:控制非凸二次模型的 NLP 启发式。
- 新选项presos1encoding:控制 SOS1 重新制定。
- 新选项presos2encoding:控制 SOS2 重新制定。
- 新选项tunemetric:将结果聚合为单个度量的度量。
- 新选项tunetargetmipgap:要达到的目标差距。
- 新选项tunetargettime:要达到的目标运行时间(以秒为单位)。
- 新选项liftprojectcuts:Lift-and-project cut 生成。
- 更改了TuneTrials的默认选项值:0(自动)。
- 更改CrossoverBasis的默认选项值:-1(自动)。选项类型从布尔值更改为整数。
GUSS
- 修复了使用生成的模型中不存在的符号的更新请求的检测。
- 修复了选项的错误行为SolveEmpty(不仅是空的,而且在达到阈值后跳过所有场景)。
KNITRO
Lindo/LindoGlobal
- 新图书馆 13.0.309。
- 添加了对函数logit的支持。
本地求解器
Mosek
Octeract
- 添加了新的全局 MINLP 求解器Octeract 3.5.0 ( https://octeract.com/ )。
- Octeract 可用于模型类型 QCP、RMIQCP、MIQCP、NLP、DNLP、RMINLP 和 MINLP,并且可用于 Linux 和 Windows 系统。
- 对于 GAMS演示和社区许可,适用与其他全局求解器类似的模型大小限制。如需无限制的 GAMS/Octeract 许可证,请联系我们。
SCIP
SHOT
- 新库 1.1.0 (11fda1ec)。
- 新选项Model.Reformulation.Quadratics.EigenValueDecomposition.Formulation。
- 新选项Model.Reformulation.Quadratics.EigenValueDecomposition.Method。
- 将选项重命名Model.Reformulation.Quadratics.UseEigenValueDecomposition为Model.Reformulation.Quadratics.EigenValueDecomposition.Use。
- 选项Subsolver.Gurobi.NumericFocus的默认值从 2 更改为 1。
SOPLEX
XPRESS
工具
BIB2GMS
- 我们将在未来的 GAMS 版本中删除工具bib2gms 。
FINDTHISGAMS
- 添加了对.gsp(GAMS Studio 项目)文件关联的注册表项的支持。
GAMS Studio
- 新版本 1.8.2。
- 新功能:为关键字和美元控制选项的源代码添加了工具提示(可以在设置对话框中停用)。
- 项目资源管理器的返工:
- 将命名从“组”更改为“项目”。
- 文件现在出现在与指定项目的工作目录相关的文件夹中。
- 添加了项目的导入和导出。
- 项目上下文菜单“项目选项”允许更改项目的名称和工作目录。
- 为每个项目添加了单独的工作目录。
- 添加了在项目导入时设置基本目录的对话框。
- 突出显示远程执行的日志(NEOS 或 GAMS 引擎)。
- 删除了过时的 MIRO Hypercube 模式。
- 粘贴文本时用适当数量的空格替换 TAB 字符。
- 将默认 TAB 大小设置为 8。
- 当本地 SSL 不存在时,允许在 HTTP 服务器上使用 GAMS 引擎。
- NEOS 日志中跳过的日志重复。
- 添加了新的搜索范围Selection,允许用户在文本选择中进行搜索。
- 在放大 lst 文件时添加了lxi树视图的缩放。
- 稳定性改进和小错误修复,例如:
- 修复了 NEOS 和 GAMS 引擎由于 SSL 检测问题而处于非活动状态。
- 修复了 NEOS 日志中模型的链接。
- 修复了编辑以错误标记结尾的长行时的崩溃。
- 修复了在搜索结果视图中突出显示错误结果的问题。
- 修复了execute_*.
- 固定完成者不打开或保持打开不需要。
GDX2HAR/HAR2GDX
- 我们将在未来的 GAMS 版本中删除工具gdx2har和har2gdx 。可以从CoPS 网站访问这些工具。
HEXDUMP
- 我们将hexdump在未来的 GAMS 版本中删除该工具。od通过带有参数的实用程序,在 Unix 系统上可以使用类似的功能od -A x -t x1z -v。在 Windowsod上作为POSIX实用程序的一部分分发。
SCENRED
- 我们将在未来的 GAMS 版本中删除SCENRED工具。应使用工具SCENRED2 。
APIs
C++ 高级 API
- 固定GAMSOption::setOutput参数在GAMSJob::run().
游戏2numpy
- 二进制文件现在是使用numpy 1.20.3而不是numpy 1.19.5Python 3.7、3.8 和 3.9 构建的。
游戏转移
- 新的 API GAMS Transfer for Matlab和GAMS Transfer for Python分别用于在 GAMS 与 Matlab 和 Python 之间交换数据。
GMD
- 允许通过gmdAddSymbol和gmdAddSymbolX类型别名 ( GMS_DT_ALIAS) 添加符号。
- 添加gmdFindSymbolWithAlias了提供实际别名符号而不是别名集的函数,以防请求的符号是别名。
- 添加gmdGetSymbolByNumber了基于包含别名符号的 GMD_NUMBER 提供符号的函数。
- 为检索包括别名符号在内的符号数量的GMD_NRSYMBOLSWITHALIAS函数添加了信息键。gmdInfo
GMO
- gmoGetMatrixCol如果在明确检测/处理(即useQ设置)二次结构的情况下调用,则调整的例程将失败。此例程不打算在这种情况下使用。
- 添加了例程gmoNZ64、gmoNLNZ64和gmoLNZ64以获取非零计数为 64 位整数。
- 固定例程gmoDirtySetRowFNLInstr:它没有正确计算存储的 NL 指令的数量。
PAL
- 添加了例程palLicenseSolverCheckSizes64和palLicenseCheck64使用 64 位整数进行非零计数的求解器。
Python 高级 API
- 修复了domains在域列表由 aGamsSet和字符串元素组成的情况下符号属性的问题。
模型库
GAMS 模型库
- MS Access 和 Excel 文件已更新为 MS Office 2007 格式,即带xls扩展名的文件更改为xlsx或xlsm文件,带mdb扩展名的文件更改为accdb文件。
- 结构化书目信息已被删除。因此,模型表(文档和 Studio/IDE)中的作者列以及单个模型页面(web)的参考部分已被删除。参考书目仍然是模型来源的一部分。
新模型:
- rcpsp.gms :资源受限的项目调度问题(429)
GAMS 测试库
新模型:
- asyncfix02.gms :使用 holdFixedAsync 设置测试异步求解
- genfile01.gms :测试通用文件名
- offinc01.gms : 测试美元控制选项 $offInclude
- embpy11.gms :在嵌入式代码中测试正确的域信息
- dco01.gms :测试美元控制选项的默认状态和切换状态
- epstozero1.gms :测试将 eps 作为零写入 GDX
- fnlogit.gms :测试 logit 内在的正确性
- empsp01.gms : 测试 EMPSP 关键字 stageDefault
- gurobi06.gms : GUROBI 测试套件 - 一般约束规范
|
|
|