如何使用 Pyomo 或 Julia 将 KKT 条件、双重可行性约束添加到原始模型中?

问题描述 投票:0回答:2

我必须对某些双层问题进行建模。做法是删除第二级问题,用它们的KKT条件代替,或者用它们的最优性条件代替,比如强对偶性…… 我希望自动执行此操作,而不需要自己计算这些条件并将它们硬编码回原始值。我有两个主要问题需要您的帮助:

  1. 如何将某些约束的对偶添加到目标函数中?
  2. 有什么方法可以让我做我想做的事吗?如果没有,我可以从哪里开始编写它们,以便最终获得原始模型并返回具有原始、对偶约束和强对偶或 KKT 条件的模型?我想获得约束并手动形成对偶问题可能是正确的方法。

我真的很感谢你能提供的任何帮助,无论是在 Julia 还是 Pyomo 中。

optimization julia pyomo operations-research
2个回答
1
投票

对于 Pyomo,请参阅软件包

pyomo.bilevel
link)和
pyomo.mpec
link)。我通常更喜欢手动重新制定,这样我就知道发生了什么(并使用工具来确认我做得正确)。


0
投票

您找到解决这个问题的方法了吗?我也遇到同样的问题了

© www.soinside.com 2019 - 2024. All rights reserved.