|
|
38.1.0 主要版本(2022 年 1 月 31 日)
致谢
我们要感谢所有报告问题并提出改进此版本建议的用户。我们特别感谢 Marcel Adenauer、Albert Brouwer、Arne Drud、Daniel Jungen、Scott McDonald、Tom Rutherford、Seyed Amin Sedgh 和 Wenjin Zhou。
平台
- 正如宣布的那样,放弃了对 Mac OS X 10.14 (Mojave) 的支持。
- 添加了对 Mac OS X 12 (Monterey) 的支持。
GAMS系统
GAMS
- 添加了新的命令行参数dumpOptGDX以从 GDX 而不是数据语句加载dumpOpt 文件中所需的数据。
- 添加了新的命令行参数ReferenceLineNo来控制写入参考文件的行号。
- 我们计划在下一个主要版本中删除命令行参数freeEmbeddedPython。
- 扩展了使用asyncSolLst=1编写的Solve Summary ,以包括有关在作业提交期间控制循环索引、调用的求解器名称、求解语句的源行号、资源和迭代限制的信息。
- 在solveLink选项的不同设置中,使模型生成期间执行错误的处理(例如方程中除以零)更加一致。过去,当从一个solve with solveLink=0only返回时,错误计数自动设置为0(相当于在solve语句后设置execError=0)。不再这样做了。
- 将有关模型生成期间执行错误的附加信息(例如除以零错误)写入 lst 文件,例如导致问题的方程名称和索引。
- 改进在 Windows 上将“/”识别为路径分隔符。
- 在执行嵌入式代码部分时暂停自动时间相关的日志更新。
- 检查 GAMS 输入文件中的某些字节顺序标记 (BOM)。现在可以处理带有 UTF8 BOM 的文件,其他 BOM 会产生编译错误。
- 添加了对(混合整数)二次模型的支持,其 Q 矩阵包含超过 = 上三角形中有 2,147,483,648 个非零值。目前,只有 CPLEX 和 ODHCPLEX 的求解器链接能够处理如此大的模型实例。
- 将系统后缀 更改isAlfaBeta为isAlphaBeta.
- 修复了具有holdFixed模型属性的 EMP 模型的问题。
- 修复了IDCGenerateGDXInput、IDCGenerateGDXOutput、IDCGDXOutput和IDCGenerateGDX如果使用abort[.noError]停止执行,则不会写入 GDX 文件的问题。
扩展数学规划 (EMP)
- 随机 EMP:更改了stage行为,以便在为符号分配两次阶段时创建显式错误。在过去,这会导致行为不稳定。
嵌入式 Python 代码工具
- GMSPython 的 Python 版本已更新为3.8.12.
外在函数库
- 在下一个发行版中,我们将删除外部函数库parcclib。
求解器
BARON
- 新库 22.1.16。
- 使用针对线性和非线性优化问题的新预求解技术的新预求解实现提高了许多问题类别的性能
- 现在可以识别更多类别的 SOCP
- 新的提升和项目实施,将以前的 RLT 实施扩展到通用 NLP 和 MINLP,并显着减少困难问题的对偶性差距
- 改进的树管理,包括重新启动分支定界搜索
- 改进的分支例程,用于识别最重要的分支变量
- 动态 LP 算法选择策略通过在 CPLEX(如果获得许可)和 CLP/CBC 之间自动选择并可能在搜索期间切换来提高数值难题的鲁棒性,另请参见选项LPSol
- 改进了对浮点舍入误差影响的控制
- 更快的哈希例程
- 嵌入式 FilterSD 算法现在默认关闭
- 与 GAMS NLP 子求解器更好地集成
- 改进 CBC 和 IPOPT 接口
- 更新 Xpress 界面以使用 FICO XPRESS 39
- 修复了已证明不可约不可行集的报告(“IIS”而不是“(I)IS”)。
康诺特
- 新库 4.25。
- 初始基础的构建和优化过程的启动方面的一般改进,特别是对于非常大的模型。
- 对用户发现的错误进行了许多小的改进和更正。
转变
- DumpGDXWe中的符号现在是稀疏存储的。
- 将GDXHessian和GDXQuadratic的选项默认值更改为 0。
COPT
- 通过 Cardinal Operations ( https://www.shanshu.ai/copt )添加了新的并行 LP 和 MIP 求解器COPT 3.0.5。
- 对于 GAMS演示和社区许可,适用于其他求解器的模型大小限制。如需无限制的 GAMS/COPT 或 GAMS/COPT-Link 许可证,请联系我们。
CPLEX
- 修复在 BCH 调用中将userjobid附加到userincbicall、usergdxin和usergdxnameinc的问题。
- 固定锥顶计算双倍频器(QCP 型号)。
DICOPT
KNITRO
- 新库 13.0.
- 为混合整数优化引入更新的并行分支定界求解器。这个更新的求解器能够利用并行性并使用改进的启发式算法来比以前更快地解决混合整数问题。
- 为非凸二次规划 (QP) 和二次约束二次规划 (QCQP) 提供新的初始点策略。这些新的初始点策略提高了找到全局解的可能性,并且可以与 Knitro 多启动程序结合使用,为非凸 QP 和 QCQP 模型搜索全局或更好的局部解。
- 在困难的非线性优化问题上提供显着的鲁棒性和速度改进。
- 在大型模型上使用 SQP 和 MISQP 算法时提供改进的性能。
- 添加的选项:
- ncvx_qcqp_init:指定用于非凸 QP 和 QCQP 的初始化策略。
- mip_cutoff:此值指定 MIP 的目标截止值。
- mip_heuristic_lns:指定是否启用 MIP 大型邻域搜索 (LNS) 启发式。
- mip_liftproject:指定添加提升和项目削减的规则。
- mip_multistart:用于在分支定界级别启用 MIP 多启动。
- mip_numthreads:指定用于 MIP 分支和绑定的线程数。
- 重命名选项(旧选项名称仍可用作同义词但已弃用):
- bar_pencons到bar_penaltycons。
- bar_penrule到bar_penaltyrule。
- mip_integral_gap_abs到mip_opt_gap_abs。
- mip_integral_gap_rel到mip_opt_gap_rel。
- par_msnumthreads到ms_numthreads。
- par_blasnumthreads到blas_numthreads。
- par_lsnumthreads到linsolver_numthreads。
- tuner_maxtimecpu到tuner_maxtime_cpu。
- tuner_maxtimereal到tuner_maxtime_real。
- 添加了选项值:
- 删除选项:3。
- mip_heuristic_diving:位 1 - 4。
- 更改选项默认值:
- 重新启动:-1(自动)。
- mip_strong_candlim:128。
- 修复了 QCP 模型可能出现的不正确雅可比行列式错误。
Lindo/LindoGlobal
本地求解器
- 正如宣布的那样,放弃了 LocalSolver 和 LocalSolver70。
MOSEK
- 新库 9.3.11。
- 增加了对超过 LP 和 MIP 的支持 系数矩阵中的条目。
八字形
ODHCPLEX
- 新库 6.0.8。
- 通过solnpool和solnpoolmerge添加了对解决方案池导出的支持。
SCIP 优化套件
- 新库 PaPILO 2.0.0。
- 为 LP 添加了双重后解功能。
- 如果按顺序运行,立即应用预求解器减少。
- 改进了许多预求解器的性能和功能。
- 有关更多详细信息,请参阅 [ 37 ] 和PaPILO 更改日志。
- 已将 TBB 更新至版本 2021.5.0。
- 新库 SoPlex 6.0.0。
- 现在可以通过将int:simplifier设置为新值 2来启用 PaPILO 作为预求解器。
- SoPlex 现在可以被 Ctrl+C/SIGINT 打断。
- 将选项int:simplifier的默认值从 1 更改为新值 3。值 1 现在表示“自动”。
- 新选项real:simplifier_modifyrowfac。
- 有关更多详细信息,请参阅 [ 37 ] 和SoPlex CHANGELOG。
- 新库 SCIP 8.0.0。
- 对称处理:
- 基于 Schreier Sims 表的新对称处理不等式,能够处理任意类型变量的对称性。
- 对称代码现在可以启发式地搜索不完全处理对称分量的轨道,并向这些分量添加某些 Schreier Sims 切割。
- 由于树大小估计而导致的树内重新启动已与轨道固定兼容。
- 改进了对填充/分区轨道、symresack 覆盖分离以及 orbisack 和 symresack 传播的升级性能。
- 对称处理已扩展到检测也出现在非线性约束中的变量之间的对称性。
- 切割平面:
- 新的分离器混合以产生混合切割。
- 新的分离器rlt通过重构线性化技术 (RLT) 计算切割。
- 新的次要分隔符,用于计算违反半定性约束的 2x2 次要的切割,该约束由双线性乘积的扩展公式暗示。
- 新的分隔符interminor用于计算 2x2(不仅是原则)次要的交叉切割,该次要违反的一级约束是由双线性产品的扩展公式所暗示的(目前默认禁用)。
- 分隔符“聚合”现在使用目标截止行作为基行,并根据 Letchford 和 Souli (2019) 的更新提升函数分离提升的覆盖削减。
- 分隔符“strongcg”和“gomory”现在共享相同的计算基础。
- 原始启发式:
- 新的启发式DPS还需要用户提供的分解,并根据此分解将问题分成几个子 SCIP。子 SCIP 被反复求解和更新,直到找到原始问题的可行解。
- PADM 现在可以使用原始目标函数重新优化找到的解决方案。
- 启发式 ALNS 中的 RENS 邻域现在会在必要时修复分数变量以达到其目标固定率。
- 修改和改进启发式 subNLP,特别是 NLP 迭代限制和起始条件的选择以及 subSCIP 的重用。
- 代数表达式和非线性约束的处理已被重写:
- 添加了对三角函数正弦和余弦以及熵函数的支持。
- 改进了对常见子表达式的识别,特别是平方和双线性项。
- 所有类型的非线性约束,包括二次和二阶锥,现在都由非线性约束的约束处理程序处理。专门的约束处理程序已被删除。然而,在特定非线性结构上工作的方法现在通过非线性处理程序(nlhdlr) 实现。
- 为二次、双线性、凸、凹和商表达式、二阶锥约束和半连续变量表达式的透视紧缩添加了非线性处理程序。
- 如前所述,构建了非线性约束的扩展公式。然而,这个公式现在被隐式处理并仅用于构建 LP 松弛,而原始公式用于检查可行性、传播变量域等。这种差异应该会大大提高满足非线性约束的解决方案的可能性预先解决的问题对于原始问题也是可行的。
- 对于扩展公式,非线性约束中的产品不再分解。
- 通过考虑单调性,改进了对非线性约束中哪些非线性变量可以增加或减少而不损害可行性的分析。
- 现在考虑二进制变量乘积(总和)的改进线性化,例如团信息。
- 当一个变量只出现在一个凹的小于或等于约束中时,现在在更多的情况下它会被固定在它的一个边界上。
- 非线性约束中变量的新分支规则,可同时根据约束违反、变量类型和伪成本对候选者进行评分。默认情况下,为非线性约束的扩展公式添加的变量不再分支。
- 处理非线性函数的弱估计器和非线性约束的小违规的新策略。
- 通过使用缩放和保持切割生成 LP 来改进对多维顶点多面体(例如,多线性或凹面)函数的低估/高估。
- 添加了表格以打印非线性约束处理程序、非线性处理程序和所有受支持函数的处理程序的统计信息。
- 修改和改进了 Ipopt 和 CppAD 的接口,例如:
- 现在使用磁带表达式的优化和 CppAD 的稀疏 Hessian 评估。
- 添加了表格以打印 NLP 求解器的统计信息。
- Gurobi 和 Mosek 的接口现在是线程安全的。
- 删除的参数:
- gams/resolvenlp
- constraints/abspower/*, constraints/bivariate/*, constraints/quadratic/*,constraints/soc/*
- constraints/nonlinear/cutmaxrange, constraints/nonlinear/linfeasshift, constraints/nonlinear/reformulate, constraints/nonlinear/sepanlpmincont, constraints/nonlinear/enfocutsremovable, constraints/nonlinear/maxexpansionexponent, constraints/nonlinear/upgrade/abspower, constraints/nonlinear/upgrade/and, constraints/nonlinear/upgrade/bivariate,constraints/nonlinear/upgrade/quadratic
- constraints/orbitope/usedynamicprop
- heuristics/multistart/nlpminimpr
- heuristics/subnlp/iteroffset, heuristics/subnlp/iterquotient, heuristics/subnlp/nlpiterlimit, heuristics/subnlp/nlptimelimit, heuristics/subnlp/runalways, heuristics/subnlp/minimprove, heuristics/subnlp/nlpoptfile, heuristics/subnlp/resolvefromscratch,heuristics/subnlp/resolvetolfactor
- propagating/symmetry/disableofrestart
- separating/convexproj/nlptimelimit,separating/gauge/nlptimelimit
- separating/strongcg/dynamiccuts, separating/strongcg/maxrounds, separating/strongcg/maxroundsroot, separating/strongcg/maxsepacuts,separating/strongcg/maxsepacutsroot
- 增加的参数:
- branching/inference/conflictprio, branching/inference/cutoffprio
- constraints/nonlinear/bilinmaxnauxexprs, constraints/nonlinear/linearizeheursol, constraints/nonlinear/reformbinprods, constraints/nonlinear/reformbinprodsand, constraints/nonlinear/reformbinprodsfac, constraints/nonlinear/checkvarlocks, constraints/nonlinear/conssiderelaxamount, constraints/nonlinear/enfoauxviolfactor, constraints/nonlinear/forbidmultaggrnlvar, constraints/nonlinear/forcestrongcut, constraints/nonlinear/propauxvars, constraints/nonlinear/propinenforce, constraints/nonlinear/rownotremovable, constraints/nonlinear/strongcutefficacy, constraints/nonlinear/strongcutmaxcoef, constraints/nonlinear/tightenlpfeastol, constraints/nonlinear/varboundrelax, constraints/nonlinear/varboundrelaxamount, constraints/nonlinear/violscale, constraints/nonlinear/vpadjfacetthresh, constraints/nonlinear/vpdualsimplex, constraints/nonlinear/vpmaxperturb, constraints/nonlinear/weakcutminviolfactor, constraints/nonlinear/weakcutthreshold, constraints/nonlinear/upgrade/setppc, constraints/nonlinear/branching/*
- cutselection/hybrid/*
- decomposition/disablemeasures
- expr/log/minzerodistance, expr/pow/minzerodistance
- heuristics/alns/nodesquotmin, heuristics/alns/initduringroot, heuristics/alns/maxcallssamesol
- heuristics/dps/*
- heuristics/padm/reoptimize
- heuristics/subnlp/expectinfeas, heuristics/subnlp/feastolfactor, heuristics/subnlp/iterinit, heuristics/subnlp/ninitsolves, heuristics/subnlp/nodesfactor, heuristics/subnlp/nodesoffset, heuristics/subnlp/presolveemphasis, heuristics/subnlp/setcutoff, heuristics/subnlp/successrateexp, heuristics/subnlp/opttol,
- misc/avoidmemout
- nlhdlr/bilinear/*, nlhdlr/concave/*, nlhdlr/convex/*, nlhdlr/default/*, nlhdlr/perspective/*, nlhdlr/quadratic/*, nlhdlr/quotient/*, nlhdlr/soc/*
- nlpi/ipopt/*
- presolving/milp/probfilename
- propagating/obbt/createlincons,
- propagating/symmetry/addconflictcuts, propagating/symmetry/addstrongsbcs, propagating/symmetry/addweaksbcs, propagating/symmetry/detectsubgroups, propagating/symmetry/maxnconsssubgroup, propagating/symmetry/onlybinarysymmetry, propagating/symmetry/preferlessrows, propagating/symmetry/sstaddcuts propagating/symmetry/sstleaderrule, propagating/symmetry/sstleadervartype, propagating/symmetry/sstmixedcomponents, propagating/symmetry/ssttiebreakrule, propagating/symmetry/usedynamicprop
- separating/maxcoefratiofacrowprep, separating/filtercutpoolrel
- separating/gomory/genbothgomscg, separating/gomory/trystrongcg separating/gomorymi
- separating/interminor/*
- separating/knapsackcover
- separating/minor/*
- separating/mixing/*
- separating/rlt/*
- table/cons_nonlinear/active, table/cutsel/active, table/exprhdlr/active, table/nlhdlr/active, table/nlhdlr_bilinear/active, table/nlhdlr_quadratic/active, table/nlpi/active
- timing/nlpieval
- 更改的参数:
- default of constraints/nonlinear/maxproprounds changed from 1 to 10
- default of display/nexternbranchcands/active changed from 2 to 1 also for nonlinear instances
- default of display/nfrac/active changed from 2 to 1 also if discrete variables are present
- default of heuristics/dualval/priority changed from 0 to -10
- default of heuristics/lpface/priority changed from -1104000 to -1104010
- default of heuristics/mutation/priority changed from -1103000 to -1103010
- default of heuristics/nlpdiving/priority changed from -1003000 to -1003010
- default of heuristics/repair/priority changed from 0 to -20
- default of heuristics/simplerounding/priority from 0 to -30
- default of heuristics/subnlp/forbidfixings from 1 to 0
- default of heuristics/subnlp/itermin changed from 300 to 20
- default of SCIPheuristics_subnlp_priority heuristics/subnlp/priority changed from -2000000 to -2000010
- default of heuristics/trivialnegation/priority changed from 40000 to 39990
- default of heuristics/trustregion/priority changed from -1102000 to -1102010
- default of heuristics/trysol/priority changed from -3000000 to -3000010
- default of misc/usesymmetry changed from 3 to 7 and range changed from {0,...,3} to {0,...,7}
- default of presolving/qpkktref/maxrounds changed from -1 to 0
- default of propagating/obbt/onlynonconvexvars changed from 0 to 1
- default of propagating/symmetry/addsymresacks changed from 1 to 0
- type of propagating/symmetry/recomputerestart changed from boolean to int with range {0,...,2}
- default of separating/strongcg/maxbounddist changed from 1 to 0
- default of separating/strongcg/priority changed from -2000 to -100000
- replaced separating/minortho by cutselection/hybrid/minortho, replaced separating/minorthoroot by cutselection/hybrid/inorthoroot, replaced separating/dircutoffdistfac by cutselection/hybrid/dircutoffdistweight, replaced separating/efficacyfac by cutselection/hybrid/efficacyweight, replaced separating/intsupportfac by cutselection/hybrid/intsupportweight, replaced separating/objparalfac by cutselection/hybrid/objparalweight
- 有关更多详细信息,请参阅 [ 37 ] 和SCIP 发行说明。
- 添加了对 GAMS 函数sin、cos和entropyGAMS/SCIP 的支持。
- 由于 SCIP 已经放弃了对min和max的支持,GAMS/SCIP 链接重新定义了 GAMS 函数min和现在max的使用abs。
- 从返回的解决方案中删除了运行 Ipopt 的功能,该解决方案被 SCIP 识别为在原始(未解决的)非线性问题中不可行,以获得可行的解决方案。
SHOT
- 新库 1.1 (e225a002)。
- 添加了参数Model.Reformulation.Quadratics.EigenValueDecomposition.Tolerance。
XPRESS
- 新库 39.01.03。
- 改进的 MIP 性能:
- 优化器现在使用 ML 模块来决定是否使用树内切割。请参阅自动切割。
- 改进了混合整数舍入 (MIR) 切割的分离。
- 改进的切割激活和停用策略。
- 在树搜索期间改进了强分支的应用。
- 通过 MIP 重新启动携带的更多信息。
- 现在将在 MIP 求解的早期阶段更频繁地调用“R”局部搜索启发式。
- 通过自动目标扰动解决障碍后提高交叉性能。请参阅barObjPerturb。
- 针对支持 AVX2 的 CPU 上的大问题改进了屏障性能(需要将cpuPlatform设置为 -2)。
- 新选项:
- autoCutting:自动决定是否在树的局部节点生成切割平面。
- barObjPerturb:定义障碍物如何扰动目标。
- ioTimeout:在取消之前等待 I/O 操作的最大秒数。
- maxStallTime:优化器在找到新的现任者后将继续搜索改进解决方案的最长时间(以秒为单位)。
- preCliqueStrategy:确定在 presolve 中花在 clique 覆盖上的工作量。
- siftPresolveOps:确定在筛选算法期间解决子问题的预求解操作。
- 更改了xslp_mipDefaultAlgorithm的选项默认值:1。
- 添加选项fixoptfile:在解决已修复问题之前读取的选项文件的名称。
- 将选项mipAddCutoff和mipRelCutoff的默认值更改为 0。
- 修复了在将线性程序求解为 MIP 时对固定 MIP 的不必要求解(请参阅mipCleanup )。
工具
BIB2GMS
CSV2GDX
- 检查输入文件中的某些字节顺序标记 (BOM)。现在可以处理带有 UTF8 BOM 的文件,其他 BOM 会生成显式错误。
GAMS Studio
- 新版本 1.9.4。
- 添加了项目选项编辑器。
- 增加了创建空项目的可能性。
- 如果选中“在现有项目中打开”,则从模型库调整加载以将文件添加到活动项目工作目录。
- 在GAMS Engine SaaS上添加了用户实例选择。
- 在 GAMS 引擎服务器上添加了命名空间的选择。
- 稳定性改进、错误修复和次要改进,例如:
- 如果已选择 AppBundle,则在 Mac OS X 上扩展 MIRO 安装位置。
- 调整了在部署 MIRO 应用程序之前检查 MIRO 数据合约是否可用。
- 更改了标签栏中的鼠标滚轮行为:
- Mouse Wheel Up/Down: 移动活动标签
- Ctrl + Mouse Wheel Up/Down:更改活动选项卡
- 添加了对标签栏的触摸板支持。
- LST在文件中为查看器的当前部分标题添加了突出显示LXI。
- 更改了选择中的搜索行为:搜索选择现在只设置一次,直到用户重置它。
- 更改了“清除”按钮以在第一次单击时删除搜索选择。
- 修复了命令行参数上立即选项的非覆盖重复出现。
- 修复了使用“此文件”和导航不同文件时搜索的跳转行为。
- 修复Find Next了跨多个文件的结果损坏的问题。
- gms修复了为没有可运行文件的项目显示“项目选项”时的崩溃问题。
- 修复了文档更改时搜索不更新缓存的问题。
- Clear Selection当搜索范围设置为“选择”以外的任何内容时,固定按钮无法按预期工作。
- Search and Replace修复了对话框中的随机崩溃。
- 修复了文件类型检查没有忽略大小写(gms, Gms,GMS都是有效的)。
- 修复了搜索对话框中的默认文件过滤器预期文件包含“。” 非 Windows 平台上的字符。
- 修复了搜索对话框中的文件过滤器不会被范围“此文件”和“选择”忽略。
- 修复了当前文件被文件过滤器排除时的搜索跳转行为。
- 修复了用户定义的 GAMS 源文件的完成器和语法帮助激活。
GDXDIFF
- 在输入文件没有差异的情况下减小输出 GDX 文件的大小。
- 添加了新选项ignoreOrder。
GDXMRW
- 我们将 GDXMRW 标记为已弃用,并可能在未来的版本中将其删除。请改用GAMS Transfer Matlab。如果您在过渡到 GAMS Transfer Matlab 时遇到问题,或者您对 GAMS Transfer Matlab 有任何功能请求,请随时通过支持联系我们。
HEXDUMP
APIs
C++ 高级 API
- 删除了映射网络驱动器到 UNC 路径的转换。
- 修复了PATH在 Windows 上添加 GAMS 系统目录的问题。
GAMS 转移 Matlab
- 新的只读ConstContainer(高读取性能)。
- 除了 GDX 文件之外,Container现在还支持从ConstContainer读取。
- Container::listVariables和Container::listEquationstypes中的新参数分别按变量或方程类型进行过滤。
- Container::listSets不再在返回的列表中包含别名。但是,仍然可以在Container::describeSets中包含别名。
- Container::read中的新参数records用于切换除了符号元数据之外的读取记录。
GAMS 转移 Python
- GAMS Transfer 现在可与嵌入式 Python 代码一起使用。
- 新的只读Container类型称为ConstContainer(高读取性能)。
- types方法的新参数,listVariables()并listEquations()分别按变量或方程类型进行过滤。
- 该方法listSets()不再在返回的列表中包含别名。
- 该Container.read()参数values已重命名为records.
- 修复SpecialValues.isNegInf()了未正确检测到 scalar的错误-inf。
- 修复了直接使用 设置无效记录时的错误处理.records。
GDX
- 写入 GDX 时检测特殊值的内部调整。更新后的 GDX 行为将允许更好地区分用户想要映射到不同特殊值的不同双精度值。例如,-0.0 不再与 +0.0 混淆,不同的 IEEE NaN 值可以映射到不同的 GAMS 特殊值。
GMO
- 添加了例程gmoGetRowQNZOne64、gmoMaxQNZ64和gmoObjQMatNZ64以将元素计数为 64 位整数。
- 如果元素计数对于 32 位整数来说太大,则调整例程gmoGetRowQNZOne、gmoMaxQNZ和返回 -1。gmoObjQMatNZ
- 添加了例程gmoLNZEx并gmoLNZEx64获得雅可比矩阵中线性非零的准确计数,并调整了对和的描述,gmoLNZ以gmoLNZ64明确这些是返回高估该计数的遗留例程,尤其是当 gmoUseQ 为真时。
- 修复 i >= 4 甚至偶数时涉及 power(x,i) 的函数的梯度间隔。
高级 API
- GAMSDatabaseGDX 导出方法现在写入常规而不是仅在可用的情况下轻松的域信息。
PAL
- 新增功能palIsAlpha。palIsAlfa已被弃用。
Python
- 添加了对 Python 3.10 的支持。
- 我们计划在未来的 GAMS 版本中放弃对 Python 3.6 的支持。
模型库
GAMS 数据库
新模型:
- GMSPythonLib.gms : GMSPYTHONLIB 兼容性检查(142)
GAMS 测试库
新模型:
- dumpopt2.gms : 使用 dumpOptGDX 测试 dumpOpt
- encoding01.gms : 用 BOM 测试源文件的处理
38.2.0 次要版本(2022 年 2 月 17 日)
致谢
我们要感谢所有报告问题并提出改进此版本建议的用户。我们特别感谢 Gwendal Nivanen。
GAMS系统
GAMS
- edist修复了对具有可变数量参数(例如or )的内在函数(及其派生函数)的错误评估poly。并非在所有情况下都会发生此错误:它取决于调用环境中缺少或不正确的初始化。
- 修复了需要区分大小写的外部函数声明中的问题。<FuncName>
求解器
BARON
CONOPT
- 新库 4.26。
- 删除选项“Flg_Crash_Basis”。
- 将选项Lim_Start_Degen的默认值从 10 更改为 100。
CONVERT
- 修复术语输出中注释末尾缺少的分号。
- 修复术语输出中的一元减号。
COPT
- 添加了选项readparams以指示 COPT 读取附加参数文件。
CPLEX
- 修复解决方案池导出:以前,仅当 CPLEX 使用解决方案成功终止时才会导出解决方案池。现在,解决方案池 GDX 的导出与 CPLEX 终止状态无关,但可能不包含任何解决方案。如果 CPLEX 未成功终止,则solnpoolpopprepeat和solnpoolpopdel仍然没有任何效果。
GAMSCHK
- 在没有调用子求解器的情况下添加缺少的初始化。如果没有这个初始化,就会出现不正确的输出。
Ipopt
- 新库 3.14.5。
- 修复了如果 Ipopt 由于达到时间限制而停止,边际总是为零的问题。
XPRESS
APIs
高级 API
- 修复了GAMSModelInstance.Instantiate抱怨缺少字典文件的问题。当实例模型类型的(默认)求解器处于活动状态且不使用字典时,就会发生这种情况。
GAMS 转移 Python
- shape为、 和添加了新属性Parameter,以在调用或时报告相应的矩阵形状。VariableEquationtoDensetoSparseCoo
- 修复了数组生成的错误(一维符号):toDense现在将生成一个(n,)数组(1,n);将这种行为与toSparseCoo.
- 固定行为:当在标量符号上调用时,将返回一个toDense形状数组而不是.()float
- 固定行为:当toSparseCoo在标量符号上调用时,将返回稀疏coo_matrix形状而不是.(1,1)float
- 更好地处理setRecords方法中的数字域信息:数字条目现在转换为等效项str并从str等效项生成类别。
GMO
- 在GAMS 35.1.0中,该属性的默认值gmoHessInclQRows意外更改为 false 。在此版本中,它已更改回其原始设置true. 也就是说,如果useQ设置了,Hessian 将再次默认包含二次方程的信息。
38.2.1 维护版本(2022 年 2 月 19 日)
求解器
CONOPT
- 修复了关于未知选项名称“FLG_CRASH_BASIS”的警告(在 GAMS 38.2.0 中引入)。
Convert
- 修复了导出带有ampl、jump、lingo和pyomo的 CNS 模型时的错误。
Octeract
- 避免在 GAMS 跟踪文件中将 ±1.797693134E308 的ObjEst报告为 1797693134。
 |
CALL or EMAIL
有关GAMS软件的更多信息,请联系我们的销售代表:
- 400-621-1085
- 021-50391085

或点击下面的链接直接在线提交购买咨询信息
留言询价 |
|
|
|