|
|
BARON 全局优化求解器
目录介绍分支缩减优化导航器(BARON,Branch-And-Reduce Optimization Navigator)是 GAMS 的一个求解器,用于非线性规划(NLP)和混合整数非线性规划(MINLP)的全局求解。 传统的 NLP 和 MINLP 算法仅在某些凸性假设下才能保证收敛,而 BARON 实现了分支定界类型的确定性全局优化算法,在相当一般的假设下保证提供全局最优解。这些假设包括对要求解的 NLP 或 MINLP 中非线性表达式存在有限的下界和上界。 BARON 实现了分支定界类型的算法,并增强了多种约束传播、区间分析和对偶技术,用于在算法过程中缩小变量的范围。通过扩大可行区域和/或低估目标函数来构建严格的松弛。 BARON 软件的部分内容是在伊利诺伊大学厄巴纳-香槟分校创建的。该软件实现的算法、其背后的理论基础以及一些相关应用(部分)在以下文献中描述:[157, 50, 158, ...]。 许可和软件要求要使用 GAMS/BARON,用户需要拥有 GAMS/BARON 许可证。BARON 附带多个嵌入式 LP/MIP/QP 和 NLP 求解器(CBC;IPOPT、FilterSD、FilterSQP)。此外,GAMS/BARON 用户可以通过访问 CPLEX 和 XPRESS 来加速收敛,以求解 BARON 的 LP/MIP/QP 子问题,以及使用 MINOS、SNOPT 和任何 GAMS NLP 求解器(如 CONOPT)来求解 BARON 的 NLP 子问题。这些求解器需要单独向 GAMS 获取许可。 默认情况下,GAMS/BARON 将尝试使用 CPLEX 作为 LP 求解器,并自动选择 NLP 求解器。用户可以使用选项 LPSol 和 NLPSol 分别指定 LP/MIP/QP 和 NLP 求解器。如果用户没有指定求解器的许可证,BARON 将自动选择一个已获许可的求解器,并在没有其他 LP/MIP 和 NLP 求解器可用时分别默认使用 CLP/CBC 和 IPOPT。通过将 DoLocal 和 NumLoc 设置为 0,可以在没有本地 NLP 求解器的情况下使用 BARON。 运行 GAMS/BARONBARON 能够求解以下类型的模型:LP、MIP、RMIP、NLP、DNLP、RMINLP 和 MINLP。如果 BARON 未被指定为这些模型的默认求解器,可以通过在求解语句之前发出以下命令来调用它: option <modeltype>=baron; 其中 模型要求为了实现全局最优的收敛,可能需要额外的模型约束。这些额外约束可以加快求解器速度并提高成功概率。 变量和表达式界限要求解的数学规划中的所有非线性表达式必须有下界和/或上界。用户必须为所有问题变量提供有限的下界和上界。请注意,仅提供变量的有限界限可能不足以保证模型中出现的非线性表达式的有限界限。 例如,考虑项 关于如何指定变量界限,请参见BARON 特性一节。 允许的非线性函数除了乘法和除法之外,GAMS/BARON 还可以处理涉及 BARON 输出BARON 日志输出下面的日志输出是使用 GAMS 模型库中的 MINLP 模型 ===========================================================================
BARON version 24.9.12. Built: LNX-64 Thu Sep 12 14:58:30 EDT 2024
BARON is a product of The Optimization Firm.
For information on BARON, see https://minlp.com/about-baron
If you publish work using this software, please cite publications from
https://minlp.com/baron-publications, such as:
Khajavirad, A. and N. V. Sahinidis,
A hybrid LP/NLP paradigm for global optimization relaxations,
Mathematical Programming Computation, 10, 383-421, 2018.
===========================================================================
This BARON run may utilize the following subsolver(s)
For LP/MIP/QP: CLP/CBC, ILOG CPLEX
For NLP: MINOS, SNOPT, External NLP, IPOPT, FILTERSQP
===========================================================================
Starting solution is feasible with a value of 36.1768
Doing local search
Solving bounding LP
Starting multi-start local search
Preprocessing found feasible solution with value 1.02321
Preprocessing found feasible solution with value 1.00014
Done with local search
===========================================================================
Iteration Time (s) Mem Lower bound Upper bound Progress
1 0.04 27MB 1.00000 1.00014 NA
* 5 0.05 27MB 1.00000 1.00006 0.55%
* 6 0.06 86MB 1.00000 1.00002 1.64%
* 7 0.06 86MB 1.00000 1.00001 1.64%
7 0.06 86MB 1.00001 1.00001 100.00%
*** Normal completion ***
Wall clock time: 0.07
Total CPU time used: 0.06
Total no. of BaR iterations: 7
Best solution found at node: 7
Max. no. of nodes in memory: 4
All done
===========================================================================
求解器首先测试用户提供的初始点的可行性。该点被发现可行,目标函数值为 36.1768。BARON 随后执行随机局部搜索过程,最终找到目标值为 1.00014 的可行解。然后,迭代日志每 1,000,000 次分支定界迭代和每 30 秒提供一次信息。此外,在根节点结束时、当前最优解的值改善至少 10-5 时以及搜索结束时也会打印信息。一行第一个位置出现星号(
终止消息、模型和求解器状态GAMS 检查 BARON 返回的模型和求解器状态。下表描述了模型状态: GAMS 模型状态
BARON 求解器状态
此外,BARON 在终止时会报告 -1:最佳解在预处理期间找到
除了报告
BARON 特性无需初始点只要用户提供了适当的变量界限,BARON 不需要初始点。BARON 会自动生成起点,并使用多起点局部搜索来寻找好的可行解,以及一个填充函数来寻找代表不同局部极小点的多个解。如果需要,用户仍可以通过标准 GAMS 方法的变量赋值语句提供初始可行点。 寻找若干最优解或所有可行解将 NumSol 设置为大于 1 的值会生成 BARON 找到的多个最优解。将 FindSol 设置为 1 会输出 BARON 找到的所有整数可行解。 将 BARON 用作多起点启发式求解器将 MaxTime 设置为 0 仅会触发 BARON 的初始化和局部搜索部分,而没有后续的全局搜索。此选项允许将 BARON 快速用作多起点启发式求解器来寻找好的(但不一定全局最优的)解。 无界问题的系统化处理当整数变量固定为特定值时,许多 MINLP 可能被证明是无界的。BARON 通过为变量引入大界限以及在求解过程中根据需要自动增加这些界限来系统化处理此类问题。可以通过 InfBnd 选项控制此特性。 不可行问题的系统化处理BARON 能够通过分析约束的不可行性来识别不可行模型。 互补约束的处理BARON 可以自动检测并用适当的公式替换互补约束。 并行能力BARON 可以在多核环境中并行运行。多线程执行可以通过 NumThreads 选项启用。BARON 的并行化策略是在可用的处理器之间分配分支定界搜索树中的节点。以下操作默认是并行的:节点处理(局部搜索、边界收缩、下界求解和边界改进)以及根节点的多起点搜索。 BARON 选项选项通过 GAMS 的
要使用选项文件: $onecho > baron.opt maxtime 100 $offecho option baron=baron.opt; 选项摘要
容差选项
... (由于页面内容较长,此处省略了 BARON 选项说明中关于树管理、局部搜索、输出、时间、预处理、松弛、杂项、高级、约束和范围等选项表的完整翻译。更多详细信息请参阅原始 GAMS 文档。) 非 BARON 选项以下选项由 GAMS 管理,传递给 BARON,但并非 BARON 专有:
在线留言尊敬的客户朋友,如您有任何意见建议,请通过下表反馈给我们,我们会尽快与您联系。
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||