GAMS 新版本 51发布:新许可证要求、求解器升级与性能优化

51.1.0 主要版本(2025年9月13日)

 

注意

  • 此版本及后续的 GAMS 版本需要使用新的 8 行格式许可证。行数少于 8 行的许可证文件将不再被 GAMS 系统接受。如需提供新的许可证文件请及时联系睿驰科技。

 

平台

  • 计划在下一个主要版本中停止对 Windows 10 的支持。
  • 计划在下一个主要版本中停止对 macOS 13 的支持。

 

GAMS系统

GAMS

  • 正如之前所宣布的,使用 equations 现在会触发错误。目前,这可以变成警告,但在即将到来的主要版本中,将不再允许这样做。
  • 扩展了美元控制选项 $show、$showMacros 和 $showVariables,以支持可选后缀。如果使用该选项,则编译时变量和/或宏的列表将按字母顺序打印。
  • 改进了美元控制选项$show、$showFiles、$showMacros和$showVariables,以向日志添加消息,可以在 GAMS Studio 中单击该消息以跳转到文件中的正确位置。
  • 改进了 GAMS 运行失败后进程目录 (procDir) 的处理。以前,在某些错误场景中,故意不删除此目录以保留诊断信息。但是,在某些情况下(例如许可证错误),此目录将为空。在此版本中,GAMS 现在将正确识别和删除这些空文件夹,以确保更好地清理。
  • 更智能的稀疏执行检查以提高性能:GAMS 现在可以自动将稀疏执行应用于更广泛的简单参数-常量比较集,例如具有正或负常量的 >、>=、< 或 <=。
  • 改进了重新定义错误时的错误消息。
  • 使用单例集作为另一个符号的域不再引发错误。

 

GAMS Connect

  • 已移除 ExcelWriter 选项。

 

GMSPython

  • Python 已升级到3.12.11版本。

 

文档

  • 更新了 Bruce A. McCarl 编写的 GAMS Studio 教程。
  • 添加了关于如何使用 Homebrew 安装 GAMS 的说明。

 

安装程序

  • Windows 安装程序:

添加了对自托管本地许可证服务器的支持。

更改了安装程序,使其仅识别来自剪贴板的 8 行许可证。

不再注册 .gpr 文件关联。

  • 计划在下一个主要版本中停止提供 macOS 的简易自解压归档文件。

 

求解器

BARON

  • BARON 现在也适用于 ARM64 架构的 Linux 系统。

 

CONOPT

  • 新库版本 4.38.1。

改进了预处理器,可能选择更多的后三角约束。

修正了潜在的无限重反转循环。

修正了在计算 Hessian 对角线时与未初始化值相关的错误。

 

CPLEX

  • 修正了在使用解池选项 .divflt 时错误消息不正确的问题。

 

GUROBI

  • GAMS/GUROBI 连接器已被重写,在某些情况下行为可能有所不同。作为临时解决方案,旧的GAMS/GUROBI连接器可作为隐藏求解器。它将在未来的版本中被删除。
  • 移除了对已弃用的点选项 .genConstrType 的支持。

 

HiGHS

  • 新库版本 1.11.0。

新的 MIP 原始启发式方法:可行性跳跃。新增选项 mip_heuristic_run_feasibility_jump。

新的 MIP 原始启发式方法:偏移(默认关闭)。新增选项 mip_heuristic_run_shifting。

新的 MIP 原始启发式方法:ZI 取整(默认关闭)。新增选项 mip_heuristic_run_zi_round。

新增选项mip_heuristic_run_rens、mip_heuristic_run_rins和mip_heuristic_run_root_reduced_cost用于控制RENS、RINS和根简化成本原始启发式方法的使用。

改进了 CMIR 割平面生成。

新增选项 optimality_tolerance 和 kkt_tolerance 用于评估来自内点和 PDLP 求解器的解。

新增选项 write_basis_file。

移除了选项 write_model_to_file 和 write_solution_to_file,并将选项 write_model_file 和 solution_file 的默认值更改为空字符串。现在,只有当 write_model_file 和 solution_file 分别设置为非空字符串时,才会写入模型实例和解。

将选项 pdlp_d_gap_tol 重起名为 pdlp_optimality_tolerance。

移除了选项 pdlp_native_termination。

选项 simplex_scale_strategy 的默认值从 1("choose")更改为 2("equilibration"),并且选项 4("max value 0")和 5("max value 1")合并为选项 4("max value")。

 

KNITRO

  • 新库版本 15.0.1。

用于非线性优化模型的新增广拉格朗日算法。此新算法使用非线性约束方法,并且仍可能使用二阶导数。对于具有不满足线性独立约束规格的退化约束的难题,此算法可能更可取。可以通过设置用户选项 nlp_algorithm = 6(al)来选择此算法。

用于线性规划问题的新原始-对偶混合梯度算法。此新算法仅使用一阶信息进行收敛,并避免矩阵分解。当默认的内点法遇到困难时,对于超大规模模型,此算法可能更可取。可以通过将新用户选项设置为 lp_algorithm = 4(pdlp)来选择此算法。

在使用有限内存 BFGS Hessian 近似(hessopt = 6)时性能显著提高,尤其是在大规模问题上。

在 Windows 和 Linux x86_64 系统上,将 Intel MKL 和 OpenMP 更新到2024.2 版本。

通过预求解(边界传播、减少成本固定、系数强化、并行行检查)实现了性能改进,特别是对于具有线性结构的 MINLP 问题。

新选项 lp_algorithm:指示用于求解 LP 的算法。

新选项 nlp_algorithm:指示使用哪种算法来解决非线性问题(NLP 和 QCP)。

新选项 mip_cutoff_abs:此值指定 MIP 的绝.对改进截止值。

新选项 mip_cutoff_rel:此值指定 MIP 的相对改进截止值。

新选项 mip_node_lpalg:指定在 MIP 中用于标准节点 LP 子问题求解的算法(值与 lp_algorithm 相同)。

新选项 mip_node_nlpalg:指定在 MIP 中用于标准节点 NLP 子问题求解的算法(值与 nlp_algorithm 相同)。

新选项 mip_root_lpalg:指定在 MIP 中用于根节点 LP 子问题求解的算法(与 lp_algorithm值相同)。

新选项 mip_root_nlpalg:指定在 MIP 中用于根节点 NLP 求解的算法(与 nlp_algorithm值相同)。

新选项 al_initpenalty:指定增广拉格朗日算法中使用的初始惩罚参数值。

新选项 al_maxpenalty:指定增广拉格朗日算法中允许的惩罚参数maximum值。

在 macOS 上,linsolver 的新选项值 9:使用并行、非确定性的 Apple 稀疏求解器。

feastol、feastol_abs、opttol 和 opttol_abs 的新下限和默认值 -1。

修正了 delta、bar_conic_enable、bar_maxmu、bar_murule、mip_branchrule 和 mip_terminate 的选项边界。

将类型为 boolean 的选项更改为 integer。

弃用了 algorithm 选项。

移除了 mip_lpalg、mip_nodealg 和 mip_rootalg 选项。

 

ReSHOP

  • 新库版本 0.4.5。

 

XPRESS

  • GAMS/XPRESS 连接器已被重写,在某些情况下行为可能有所不同。作为临时解决方案,旧的 GAMS/XPRESS 连接器可用作隐藏求解器。它将在未来版本中移除。
  • 移除了knitroOptFile选项:请改为在 XPRESS 选项文件中使用受支持的 KNITRO 选项。这些新选项以 knitro为前缀。
  • 更改了solnPoolMerge的行为:以前,模型名称除了添加solnpoolPrefix外还会添加前缀。新行为现在与支持此功能的其他求解器保持一致。

 

工具

  • FINDTHISGAMS
  • 移除了 ide 参数,并且不再注册 .gpr 文件关联。

 

GAMS IDE

  • 经典的 GAMS IDE 已从系统中移除。

 

GAMS Studio

  • 新版本 1.22.1:

将输出添加到“GAMS许可”对话框的“复制系统信息”输出中。

添加了动态主文件功能。当运行模型时,这将自动将当前文件设置为项目的主文件。

在缺少 GAMS 可执行文件(如 gams 或 gamsgetkey)时,添加了额外的系统日志消息。

添加了从经典 GAMS IDE 导入项目文件的功能。

在加载 Studio 项目时,为缺失文件添加了警告。

添加了本地部署许可证服务器支持。

改进了通过 ALP 安装许可证时的错误消息。

现在会忽略旧式 GAMS 许可证。

改进了参考文件查看器,支持通过键盘在符号和引用间导航。

改进了创建新空项目的工作流程。

改进了动态主文件选择,即在切换标签页时立即设置主文件标记。

修正了在读取 Studio 项目且主 .gms 文件缺失时导致的崩溃。

修正了标签页菜单,使其仅显示聚焦项目中的文件(当项目聚焦时)。

修正了在项目选项中编辑具有扩展名编号的项目(即两个项目具有相同显示名称)时导致的崩溃。

修正了参考文件查看器中文件更新并重新加载后"文件使用"标签页为空的问题。

修正了在 Connect 编辑器中打开包含未知模式数据名称的文件时导致的崩溃。

修正了 macOS 上日志和 lst-viewer 中的鼠标滚动问题,现在滚动是平滑的。

修正了水平查看器标签页滚动问题,当特定项目聚焦时。

修正了当未定义默认工作目录时(例如,使用 –ignore-settings 启动时)无法在项目选项中更改目录的问题。

升级到 Qt 6.9.2。

 

GDXDIFF, GDXDUMP, GDXMERGE

  • 修正了 Windows 上处理长绝.对路径(>260 个字符)的错误,并通过在内部自动将长相对路径转换为绝.对路径,使长相对路径也能正常工作。

 

MPS2GMS

  • CEQUATIONS 选项现已弃用,将在未来版本中移除。

 

API

  • GAMS Transfer Python
  • 当单例集被用作另一个符号的域时,不再引发错误。

 

GDX

  • 新库版本 7.11.17。

在 gdxOpenRead* 的错误消息中包含无法打开的文件的路径。

更改了 gdxGetDLLVersion(改为静态方法)和 gdxErrorStr(改为对象方法)的函数签名。

 

GEV

  • 添加了函数 gevGetLSCBInfo,用于从 lshandle 提取并返回日志/状态写入回调及其关联的回调数据指针,该句柄由 gevSwitchLogStat 返回。

 

GMO

  • 添加了函数 gmoUpdateJac:此函数更新由 gmoAddRow 或 gmoAddCol 创建的线性 Jacobian 条目的值。

 

Python

  • 正如之前所宣布的,停止了对 numpy 1 和 pandas 2.2.2 之前版本的支持。
  • 添加了对 Python 3.14 的初步支持。由于 Python 3.14 尚未正式发布,无法保证全兼容性。

 

求解器链接

  • 求解器链接库的库初始化和终止函数(xyzInitialize 和 xyzFinalize)已被弃用,因为如果多个 CFG 对象同时使用同一个求解器链接库,这些函数不会按预期调用。建议改用适当的库初始化/终止机制,例如 __attribute__((constructor/destructor)) 和 DllMain。如果 CFG 发现这些方法,目前会打印警告,但仍会调用它们。在未来的 GAMS 版本中,此警告将更改为错误。

 

模型库

GAMS 模型库

  • 移除了 chartdat (313)。
  • 修正了 synheat.gms 中的目标函数定义:同步优化 Hen 合成。

 

GAMS 测试库

  • 添加了 assign3.gms:测试带有关系运算符的赋值。
  • 移除了测试 gurobi02、gurobi03、gurobi05 和 gurobi06。

 

 

51.2.0 次要版本(2025年9月29日)

 

GAMS 系统

GAMS

  • 当使用 Action=CompileOnly 且指令行上指定的求解器未安装时,GAMS 不再发出编译错误。此更改允许在一个系统上编译模型,在另一个系统上执行,这对于 GAMS Engine 或 NEOS 等远程服务特别有用。
  • 修正了下一代 GAMS 编译器中许可证检查失败的问题。

 

GAMS Connect

  • 修正了 ExcelReader 代理未能创建空符号的错误。

 

求解器

BARON

  • 新库版本 25.9.13。

 

ReSHOP

  • 新库版本 0.4.6。

 

工具

GAMS Studio

  • 新版本 1.22.2:

改进了许可证验证日志,即所有许可证验证的消息现在都写入系统日志。

改进了求解器选项编辑器和参数文件编辑器的行为:

  • 双击选项的枚举值会将该枚举值的描述(而不是选项的描述)添加到注释列。
  • Open As Text 按钮始终启用,并在点击时检查文件是否已被修改。
  • 按下 + 图标添加/追加新选项时,不再显示不必要的错误消息。

修正了求解器选项编辑器的错误行为:

  • 编辑具有已定义默认值的字符串选项的空字符串值,不再被注释替换。
  • 拖放选项不再添加该选项的多行。
  • 通过拖放替换现有选项行不再导致 Studio 崩溃。

修正了参数文件编辑器、求解器选项编辑器和 GAMS 用户配置编辑器中 ESC 键的错误行为。

修正了搜索与替换对话框通配符包含和排除文件过滤器未能匹配所有预期文件的问题。

修正了更改主文件时指令行参数的更改丢失的问题。

修正了 Studio 无法并行启动超过 11 个 GAMS 作业的问题。

修正了当"动态主文件"设置更改时更新修改状态的问题。

 

模型库

GAMS 测试库

  • 添加了 solver01.gms:使用 a=c 测试未知求解器
  • 更新了 caxlsr.gms:测试Connect代理ExcelReader

 

 

查看GAMS软件详情

热门资讯

2025-10-22 16:48
首页    新闻资讯    普通新闻    GAMS 新版本 51发布:新许可证要求、求解器升级与性能优化