【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

这篇具有很好参考价值的文章主要介绍了【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

2.1 CCGKKT

2.2  CCGSD

2.3  SPKKT

2.4 SDSP

2.5 MP 

🎉3 文献来源

🌈4 Python代码及文章


💥1 概述

文献来源:

【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

 本文提出了一种求解两阶段鲁棒优化问题的列约束生成算法。与现有的bender式切割平面方法相比,圆柱和约束生成算法是一个通用的过程,具有统一的方法来处理最优性和可行性。对两阶段鲁棒位置-运输问题的计算研究表明,该算法的执行速度快了一个数量级。

原文摘要:

In this paper, we present a column-and-constraint generation algorithm to solve two-stage robust optimization problems. Compared with existing Benders-style cutting plane methods, the column-and- constraint generation algorithm is a general procedure with a unified approach to deal with optimality and feasibility. A computational study on a two-stage robust location-transportation problem shows that it performs an order of magnitude faster.

鲁棒优化(RO)[4 - 6,12,9,10]是近年来处理数据不确定性的一种优化方法。因为它的导出是为了对冲输入数据中的任何扰动,所以(单级)反渗透模型的解往往过于保守。为了解决这一问题,引入并研究了两阶段反渗透(以及更通用的多级反渗透),也称为鲁棒可调或可适应优化,其中第二阶段问题是在第一阶段决策做出并揭示不确定性之后对决策建模。由于建模能力的提高,两级反渗透已经成为一种流行的决策工具。应用包括网络/运输问题[1,16,13],投资组合优化[17]和电力系统调度问题[21,15,8]。

然而,两级反渗透模型的计算非常困难。

如[3]所示,即使是一个简单的两级RO问题也可能是np困难的。为了克服计算负担,研究了两种求解策略。第一种是使用近似算法,这种算法假设第二阶段的决策是不确定性的简单函数,例如仿射函数;参见[7]中的示例。第二类算法寻求按照Benders分解方法推导精确解,即利用第二阶段决策问题的对偶解逐步构造第一阶段决策的值函数[19,21,8,15,13]。我们称之为本德斯-对偶切割平面算法。

在[21]中,我们采用不同的切割平面策略来解决风力供应不确定的电力系统调度问题。该策略不使用第二阶段决策问题的对偶解来创建约束;相反,它在确定的场景的原始空间中动态地生成约束与资源决策变量,这与宾德斯-双过程背后的哲学非常不同。因此,它在[21]中被表示为原始切割算法,但实际上它是一个列-约束生成过程。在这项研究中,我们开发并提出了这个求解程序,在一个通用的设置和基准的弯曲双切割平面程序。

在列-约束生成过程中,生成的变量和约束与两阶段随机规划模型中的变量和约束非常相似。此外,当不确定性集是离散的和有限的,通过枚举集中每个场景的变量和约束,可以构造一个等效的整体优化公式[17]。然而,据我们所知,除了[21]中的工作外,还没有报道过在切割平面过程中使用这些变量和约束来解决两级RO问题的算法。这是该切割平面算法在一般设置中的第一次介绍,并首次从理论上和系统地比较了其与bender -dual切割平面方法的性能。

📚2 运行结果

2.1 CCGKKT

【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

2.2  CCGSD

【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

2.3  SPKKT

【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

2.4 SDSP

【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

2.5 MP 

【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

🎉3 文献来源

部分理论来源于网络,如有侵权请联系删除。

【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)文章来源地址https://www.toymoban.com/news/detail-414644.html

🌈4 Python代码及文章

到了这里,关于【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 微电网两阶段鲁棒优化经济调度方法(Python代码实现)

    微电网两阶段鲁棒优化经济调度方法(Python代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Python代码实现 上一次用

    2023年04月18日
    浏览(6)
  • 优化问题----等式约束与不等式约束问题求解

    优化问题----等式约束与不等式约束问题求解

    目录 先总结一波: 1. 等式约束问题求解 (1)一阶必要条件 (2)二阶充分条件 2.不等式约束问题求解 2.1 可行下降方向 2.2 KTT条件(Kuhn-Tucker条件) (1)Gordan定理 (2)Fritz John定理 (3)KTT条件  (4)KTT的一个应用实例 对于无约束极值问题,可以采用解析方法和直接方法两

    2024年02月05日
    浏览(7)
  • python求解带约束的优化问题

    python求解带约束的优化问题

    带约束的优化问题可被定义为: 在python中,可以使用 scipy 的 optimize 包进行求解,具体求解函数为 linprog ,下面举例说明求解方法: 假设问题被定义为: 首先,求解最大值问题,我们可以通过取负转换为求解最小值问题,包括不等式约束也是如此,那么该问题的python求解代

    2024年02月08日
    浏览(7)
  • OM | 强化学习 + 约束规划求解组合优化问题

    OM | 强化学习 + 约束规划求解组合优化问题

    组合优化在航空航天、交通规划以及经济学等众多学科领域中有广泛应用,其目标是在有限集中寻找最优解。然而状态空间过大的问题让目前组合优化变得棘手。在过去的几年中,使用深度强化学习(deep reinforcement learning,DRL)解决组合优化问题受到广泛关注。然而,现有的

    2024年02月10日
    浏览(8)
  • scipy求解约束无导数优化问题:SHGO算法

    scipy求解约束无导数优化问题:SHGO算法

    SHGO,即simplicial homology global optimize,来自2018年的文章,是一种基于组合拓扑学的优化方法,是一个非常新的算法。 这种算法适用于CDFO(constrained deriviate free optimisation)问题,所谓无导数优化,就是把目标函数当作黑箱子处理,而无法获取其一阶导数,自然也不能通过导数来判

    2024年02月14日
    浏览(7)
  • 【机会约束、鲁棒优化】机会约束和鲁棒优化研究优化【ccDCOPF】研究(Matlab代码实现)

    【机会约束、鲁棒优化】机会约束和鲁棒优化研究优化【ccDCOPF】研究(Matlab代码实现)

      💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 ​ 随

    2024年02月06日
    浏览(8)
  • 详细介绍如何使用Ipopt非线性求解器求解带约束的最优化问题

    详细介绍如何使用Ipopt非线性求解器求解带约束的最优化问题

       本文中将详细介绍如何使用Ipopt非线性求解器求解带约束的最优化问题,结合给出的带约束的最优化问题示例,给出相应的完整的C++程序,并给出详细的解释和注释,以及编译规则等    一、Ipopt库的安装和测试    本部分内容在之前的文章《Ubuntu20.04安装Ipopt的流程介

    2024年02月08日
    浏览(14)
  • 鲁棒优化入门(6)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(上)

    鲁棒优化入门(6)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(上)

            上一篇博客介绍了使用 Yalmip工具箱 求解单阶段鲁棒优化的方法。这篇文章将和大家一起继续研究如何使用 Yalmip工具箱 求解 两阶段鲁棒优化 (默认看到这篇博客时已经有一定的基础了,如果没有可以看看我专栏里的其他文章)。关于 两阶段鲁棒优化 与 列与约束生

    2024年02月07日
    浏览(9)
  • 鲁棒优化入门(7)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(下)

    鲁棒优化入门(7)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(下)

            上一篇博客介绍了使用 Yalmip工具箱 求解单阶段鲁棒优化的方法。这篇文章将和大家一起继续研究如何使用 Yalmip工具箱 求解 两阶段鲁棒优化 (默认看到这篇博客时已经有一定的基础了,如果没有可以看看我专栏里的其他文章)。关于 两阶段鲁棒优化 与 列与约束生

    2024年01月16日
    浏览(7)
  • 鲁棒优化入门(5)—Matlab+Yalmip求解鲁棒优化编程实战

    鲁棒优化入门(5)—Matlab+Yalmip求解鲁棒优化编程实战

            之前的博客:鲁棒优化入门(二)——基于matlab+yalmip求解鲁棒优化问题         去年发布了使用Yalmip工具箱求解鲁棒优化问题的博客之后,陆陆续续有朋友问我相关的问题,有人形容从学习这篇博客到求解论文中的鲁棒优化问题,就好像刚学会求导公式,就要

    2024年02月08日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包