optimization - ipopt:在 ipopt 中定义决策变量时 -Inf < var < Inf 的效率如何?
问题描述
我正在使用 ipopt 来解决轨迹优化问题,并且想知道将决策变量的边界设置为 1) 任何实数(-Inf,Inf
) 和 2) 任何“大”实数之间的区别(在效率方面),例如(-10^12,10^12
) . 我在这里使用引号是因为“大”是主观的并且取决于应用程序。
选择10^12
作为我的“大”数,如果 var
是一维决策变量,我想知道 ipopt 是否更有效地处理
-Inf < var < Inf
或者
-10^12 < var < 10^12
从实际的角度来看,选项 2) 应该更有效,因为它缩小了设计空间,但是如果 ipopt 采用一些智能启发式方法来Inf
有效地处理,那么必须存储和携带一个“大”数字(例如10^12
)可能会变得更少高效。有什么见解吗?
解决方案
IPOPT 将对两者使用不同的方法,因为 1) 变量是无界的,它是无约束的,并且在 2) 变量是有界的。搜索空间在 2) 中缩小,但 IPOPT 在处理无约束/无界变量 (1) 时更有效。
推荐阅读
- excel - 在 Xpath 语法中使用字符串变量
- python - 如何解决有关 Python 中 KPCA 的预计算指标需要形状(n_queries,n_indexed)的错误?
- r - 使用 papaja 时避免附录特定的参考部分
- vue.js - 使用 vue 在 pug 中将 prop 绑定到 img src
- oop - 关于 Clean Architecture 中的 If/else/switch 的问题
- c - 函数 Clion Remote 的隐式声明
- r - 为每一列创建一个数据框
- r - 从短语列表中生成二元组,class = "omit", R
- google-data-studio - 如何在 Data Studio DATETIME_SUB() 中将用户提供的参数用作 INTERVAL
- node.js - 使用 NodeJS 承诺等待转换完成