• 基于动态规划法的水力发电优化调度(Python代码实现)


    💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥
    🎉作者研究:🏅🏅🏅本科计算机专业,研究生电气学硕主要研究方向是电力系统和智能算法、机器学习和深度学习。目前熟悉python网页爬虫、机器学习、群智能算法、深度学习的相关内容。希望将计算机和电网有效结合!⭐️⭐️⭐️
    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者,博主专门做了一个专栏目录,整个专栏只放了一篇文章,足见我对其重视程度:博主专栏目录。做到极度细致,方便大家进行学习!亲民!!!还有我开了一个专栏给女朋友的,很浪漫的喔,代码学累的时候去瞧一瞧,看一看:女朋友的浪漫邂逅。有问题可以私密博主,博主看到会在第一时间回复。
    📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文,算法,机器学习和人工智能学习。
    🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以免费的关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!

                              

                                        🎉🎉欢迎您的到来🎉🎉

                         ⛅⛅⛅ 📃个人主页:电力系统科研室🌈🌈🌈

                        📚📚📚📋专栏目录:电力系统与算法之美👨‍💻👨‍💻👨‍💻

                               

    【现在公众号名字改为:荔枝科研社】

    👨‍🎓博主课外兴趣:中西方哲学,送予读者:

    👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。在我这个专栏记录我有空时的一些哲学思考和科研笔记:科研和哲思。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。

         或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

    📋📋📋本文目录如下:⛳️⛳️⛳️

    目录

    1 概述

    2 数学模型

    2.1 目标函数

    2.2 约束条件

    3 运行结果

    4 文章详细讲解及Python代码 

    5 写在最后 

    1 概述

    对于本文,我们选择使用动态规划,因为它看起来很适合解决这类问题,因为我们可以将问题分成阶段。动态规划是一种用于优化的方法,通过将问题划分为多个子问题以构建最优解来计算最优解。动态规划基于贝尔曼最优。也就是说,任何最优策略都由最优子策略组成,其中最优解的任何部分本身都是最优的。例如,在将城市 x 连接到城市 z 的最短路径问题中,如果路径通过城市 y,则 x 和 y 之间的路径是最优的。动态规划适用于几个已知问题,例如背包问题、调度、最短路径等。动态规划算法将始终一个一个地解决子问题,并且要解决子问题,它将依赖于在前一个子问题中找到的解决方案。由于该系统,可以保证动态规划算法找到的解决方案是最优的。

    动态规划通过每个子问题仅解决一次这一事实,可以降低空间和时间复杂性。在我们优化水电生产的案例中,涡轮机是一个子问题。实际上,使用从第一个涡轮机开始的简单递归函数列出涡轮机问题的所有可能解决方案是很容易的,并且对于每个潜在的流量,将递归地尝试每个其他涡轮机的所有流量。但是使用这种方法,我们会发现自己计算了每个涡轮机在一定流量下产生的功率的数倍。这就是为什么在动态规划中,我们会找到更有效的解决方案,因此将计算存储在动态规划表中,以便只执行一次。然后,当我们需要它们时,我们将在这些表中查找值。动态规划包括两个阶段,前向阶段(前向传播)和后向阶段(后向传播)。

    2 数学模型

    为了解决这个问题,我们首先看一下它的数学公式。原则是根据总流量(Qtot)和上游海拔最大化电力生产,我们将寻求最大化优化策略,因此我们将有:

                                    \max \sum_{i=1}^{5} P_{i}\left(Q_{i}\right)

    使用 Qi 分配给涡轮机 i 的流量。和 Pi 涡轮 i 的生产函数(见附录 A )。那么对于约束,我们只有最大总流量约束和最小流量限制:

                                     \sum_{i=1}^{5} Q_{i} \leq Q_{t o t}

                                      Q_{i} \geq 0

    所以我们得到了最终的模型:

    2.1 目标函数

                                        \max \sum_{i=1}^{5} P_{i}\left(Q_{i}\right)

    2.2 约束条件

                                       \sum_{i=1}^{5} Q_{i} \leq Q_{t o t}

                                       Q_{i} \geq 0

    更详细模型讲解见第4部分。

    3 运行结果

     

     

    4 文章详细讲解及Python代码 

    本文仅展现部分代码,全部代码见:🍞正在为您运送作品详情

    5 写在最后 

    部分理论引用网络文献,若有侵权请联系博主删除。 

  • 相关阅读:
    20李沐动手学深度学习v2/参数管理
    JDBC连接数据库
    [JAVAee]Spring拦截器
    c#调用谷歌浏览器打开文件 系统找不到指定的文件
    react-router 如何在组件外路由跳转
    【无标题】读书笔记之《智能化社会:未来人们如何生活、相爱和思考》
    Unity优化之Drawcall
    UE5加载websocket模块为空
    免费数据 | 新库上线 | CnOpenData中国保险中介机构网点全集数据
    芯片制造的成本与定价
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/126064584