微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Python scipy.optimize

如何解决使用Python scipy.optimize

如何使用scipy.optimize.minimize编写由以下两个级别组成的双级优化问题,(1)是上级问题,而(2)是下级问题:

  1. 最小化线性规划问题,但需遵守
  2. 最小化二次规划问题

我知道如何编写二次编程的单个目标函数,并将其作为典型的scipy.optimize.minimize例程(步骤2本身),但是如何添加上层最小化问题有自己的目标功能scipy能否处理最小化问题而受到较低的最小化问题?使用minimizelinprog粗略地概述代码会有所帮助

解决方法

我不认为scipy求解器对此非常适合。

用于双层问题的标准方法是形成内部问题的KKT条件,并将这些条件添加为外部问题的约束。互补条件使这个问题变得困难。您需要一个全局NLP求解器或MIP求解器才能将其求解为已证明的最佳状态。 Here是线性双层问题的一些公式。如果内部问题是(凸)QP问题,事情会变得有些困难,但是可以应用相同的想法(形成内部问题的KKT条件)。

有关更多信息,请参见Bard,实用双层优化:算法和应用,Springer,1998年。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。