上海卡贝信息技术有限公司

 

 

 

50分发

2025 年 6–7 月,GAMS 连续发布了 50.1.0(Major)50.2.0(Minor) 两个版本,累计带来 120 余项更新,涵盖核心引擎、求解器、开发工具、API、模型库与安装体验等维度。本文将按模块为您梳理全部关键变化,帮助研发团队迅速定位升级价值与迁移注意事项。

1. 版本节奏与许可证变化

版本 发布日期 性质 亮点速览
50.1.0 2025-06-18 Major 新增 Python 3.12.10、网络许可证本地服务器、CPU cgroup 资源感知
50.2.0 2025-07-14 Minor 修复 50.1.0 中的许可证与日志缺陷,更新 COPT 7.2.9、GAMS Studio 1.21.3

2. GAMS 核心系统

2.1 语言与编译器

  • 计划移除 =C= 方程类型;如有疑问请联系 support@gams.com

  • 新增语法 MCP 模型声明支持 equation-variable lists,简化复杂均衡模型编写。

  • 下一代编译器 已支持未定义域集合的新语义,可通过 $set CompilerPreview 1 提前体验。

2.2 命令行与选项

  • memoryManager 新增可选内存管理器,针对大规模模型内存瓶颈优化。

  • ECLogLine 可抑制嵌入式代码初始化日志,减少 CI/CD 噪声。

  • PreviousWork 生成的 workfile 向下兼容至 49 版,便于团队协作。

2.3 许可证与部署

  • 网络许可证 支持本地 License Server 部署,使用 gamsgetkey --get-certificate 一键下载证书。

  • 容器/云友好 对于 cgroup 限制的环境(K8s、SLURM),将读取 cgroup 而非物理硬件,避免误判资源。

  • 系统后缀 新增 %gams.isNetworkLicense%,可在模型内判断许可证类型。

3. Embedded Code Facility

语言 关键更新
Python 升级至 3.12.10;gams.printLog() 支持非 str 类型;移除 GMSPYTHONMULTINST 环境变量。
GAMS 修复 symbol<[=]embSymbol.dimX> 右侧符号未正确加载的问题。
Connect YAML 新增 $onEmbeddedCode yamlFile=xxx,可直接引用外部 Connect 配置,提升可维护性。

4. GAMS Connect 数据管道

  • ExcelWriter

    • 默认写入空符号(不再跳过),确保报表结构一致。

    • 选项 tableOfContents::emptySymbols 已弃用,将在未来版本移除。

  • GAMSWriter

    • 若使用 symbols: all,不存在的符号将跳过而非报错,减少调试时间。

  • 通用改进

    • Agent 初始化阶段提前验证,错误定位更精准。

    • Trace 输出同时打印 Agent 名称与编号,方便日志分析。

5. 求解器生态

5.1 新增/升级库

求解器 版本 亮点
BARON 25.3.19 整数预处理、割平面生成显著增强。
CONOPT 4.37 共轭梯度选择策略动态化,超基变量多时性能提升。
CPLEX 22.1.1 支持 solvefinal 阶段的 Indicator Constraint;修复 lazy cut 回调未生效缺陷。
HiGHS 1.10.0 MIP 预处理新增 lifting for probing;Linux/Win 支持 NVIDIA GPU 加速 cuPDLP-C。
MOSEK 11.0.22 性能例行提升。
XPRESS 45.01.01 新增 Pre-root 并行启发式阶段,可在求解根松弛前并行调用多种启发式;新增 8 个调优参数(preRootWorklimit 等)。

5.2 二次/非凸 QP 接口

  • COPT 预览版支持本地非凸 QCP 优化,选项 NonConvex=1 开启。

  • CPLEX / GUROBI / KNITRO / XPRESS 统一新增 qextractdenseswitchfactorqextractdenseswitchlog,用于调优 Q 矩阵提取密度阈值。

6. 开发工具链

6.1 GAMS Studio 三连升

  • 1.21.2 → 1.21.3

    • 代码编辑器支持 Ctrl+Click 跳转 yamlFile,实现 Connect YAML 与模型一键联动。

    • Profiler 可视化:在编辑器边栏实时展示执行耗时,性能瓶颈一目了然。

    • 网络许可证 支持会话级临时 checkout,多人共享场景更友好。

    • 修复 macOS 窗口大小无法恢复、Windows 10 集成帮助崩溃等 10+ UI 缺陷。

6.2 命令行工具

  • GDXDIFF / GDXDUMP / GDXMERGE 正式支持 Windows 超长路径(>260 字符)。

  • MPS2GMS 升级内置 HiGHS 1.10.0 MPS 解析器,错误日志更精炼。

  • POSIX 工具链 全面更新(gawk 5.3.0、coreutils 8.3.2 等),行为与原生 Linux 对齐;如遇到兼容性问题,可回滚 gbin.old.zip

7. API 与语言绑定

语言 主要变化
C++ GAMSWorkspace 构造性能提升。
GDX 7.11.16 大幅优化 gdxOpenRead 性能,UEL 多时内存分配次数显著减少。
Java Java 11+ API 废弃 finalize 方法,改为依赖 GC 自动释放;临时目录清理策略更智能。
Python 计划未来移除 Python 3.9、numpy 1、以及 pandas < 2.2.2 的支持,请提前升级。
Matlab 新增 MemoryManagerECLogLine 选项;支持 ModelInstance.isDisposed 检测对象状态。

8. 模型与测试库

  • 新增测试模型

    • gdxlongpaths.gms:验证超长路径兼容性。

    • mcp18/19.gms:测试 MCP 新增语法。

    • embpy14.gms:验证 ECLogLine 参数。

  • 更新示例

    • indus89.gms:印度河盆地水资源模型升级。

    • Transport9.java:同步支持 Java 8+。

9. 升级建议与迁移清单

场景 建议动作
使用 =C= 方程 立即评估影响,联系 GAMS 支持获取迁移方案。
网络许可证 升级后使用 gamsgetkey --get-certificate 重新拉取证书,并验证 cgroup 场景。
Python / Java 集成 检查运行时版本,确保 Python ≥3.10、Java 11+;升级 numpy / pandas 至受支持版本。
二次规划模型 试用 qextractdenseswitchfactor 调优 XPRESS/CPLEX 等求解器的 Q 矩阵提取效率。
Windows 脚本 检查是否依赖反斜杠路径或通配符;必要时回滚 POSIX 工具或改为 Unix 风格脚本。

10. 结语

GAMS 50 系列不仅是一次“技术债清理”,更是面向云原生、数据科学融合与异构硬件的里程碑。无论是 BARON/XPRESS 的求解器级飞跃,还是 Studio 的可视化 Profiler、GPU 加速的 HiGHS,都为优化团队提供了更现代的研发体验。建议所有用户尽快在测试环境完成兼容性验证,把握 5%+ 的性能红利与全新功能窗口。

如需完整变更日志,请访问官方文档: https://www.gams.com/latest/docs/RN_50.html

 

 

 


 

在线留言

尊敬的客户朋友,如您有任何意见建议,请通过下表反馈给我们,我们会尽快与您联系。

 

 

 

 

联系我们

 

微信公众号

咨询微信

企业店铺

400-621-1085

(节假日期间办公室座机如无人接听,请选择其他联系方式,感谢理解!祝您节日快乐!)

 

联系我们 快速链接 相关产品 上海卡贝信息技术有限公司

©2025  上海卡贝信息技术有限公司

产品中心

下载中心

站点地图

隐私政策

 

销售QQ咨询

产品QQ咨询

淘宝店铺

 

GAMS:概述

最近更新

相关文档

下载试用

购买咨询

Berkeley Madonna

iThink

Stella Architect

IBM SPSS Modeler

DecisionTools Suite

NeuralTools

Frontier Analyst

Vensim

RISKOptimizer

PrecisionTree

LINGO

LINDO API

What'sBest!

@RISK

BARON

BayesiaLab

Oracle Crystal Ball

GEMPACK

GTAP Database

TreeAge