我正在使用ipopt来解决轨迹优化问题,我想知道将决策变量的界限设置为1)任何实数( (-Inf,Inf)和2)任何“大”实数(例如(-10^12,10^12)之间的差异(在效率方面)。我在这里使用引号是因为“大型”是主观的,并且取决于应用程序。
选择10^12作为我的“大”数字,如果var是一个1D决策变量,我想知道ipopt在处理方面是否更有效
-Inf < var < Inf或
-10^12 < var < 10^12从实用的角度来看,选项2)应该更有效率,因为它缩小了设计空间,但如果ipopt使用一些智能的启发式算法来有效地处理Inf,那么必须存储和携带“大”数(例如10^12)的效率可能会变得更低。
发布于 2020-09-27 10:01:21
IPOPT将对两者使用不同的方法,因为在1)变量是无界的,它是无约束的,而在2)变量是有界的。搜索空间在2)中缩小,但IPOPT在处理无约束/无界变量时更有效(1)。
https://stackoverflow.com/questions/59882438
复制相似问题