首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Worhp:局部不可行点

Worhp:局部不可行点
EN

Stack Overflow用户
提问于 2019-06-16 09:30:57
回答 2查看 138关注 0票数 0

我有一个使用ipopt和fmincon成功解决的问题。worhp在局部不可行时终止。我的x0 (init)是可行的。

内点算法可能会发生这种情况,但我希望sqp始终保持在可行域?

EN

回答 2

Stack Overflow用户

发布于 2019-06-18 06:21:42

也许还可以通过启用CheckValuesDFCheckValuesDGCheckValuesHMCheckStructureDFCheckStructureDGCheckStructureHM (如果您提供它们)来使用WORHP检查衍生工具。我要指出的是,WORHP需要一种非常特殊的坐标存储格式(特别是对于黑森语)。这里的错误会导致错误的搜索方向。

票数 2
EN

Stack Overflow用户

发布于 2019-06-18 05:26:48

由于QP子问题的近似误差,这通常不是您可以预期的事情。考虑一下这个问题

它会有qp子问题

对于当前的x和拉格朗日乘子lambda,可以通过确定必要的导数来看出。有了初始值x_0 = 0lambda_0 = 1,我们就有了一个可行的初始猜测。要解决的第一个QP是

它有唯一的解决方案d = 2。现在,根据实现的行搜索,可能会执行完整的步骤,即下一次迭代是x_1 = x_0 + d。这意味着x_1 = 2,这不再是一个可行点。事实上,如果您禁用par.InitialLMest并最终在x = 1处找到全局最优值,WORHP的SQP算法将像这样迭代。

除了这个基本属性之外,还可能有其他导致迭代离开可行集的影响,这将非常特定于实际的求解器实现。例如,数值不准确、QP求解过程中的困难或某些恢复策略。至于为什么你的问题不能使用WORHP的SQP算法成功解决,我不能说太多,因为我对问题本身一无所知。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56615427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档