首页 > 解决方案 > 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)可能会变得更少高效。有什么见解吗?

标签: optimizationnonlinear-optimizationipopt

解决方案


IPOPT 将对两者使用不同的方法,因为 1) 变量是无界的,它是无约束的,并且在 2) 变量是有界的。搜索空间在 2) 中缩小,但 IPOPT 在处理无约束/无界变量 (1) 时更有效。


推荐阅读