当前位置: 首页 > news >正文

电力系统两阶段随机优化(Matlab实现)

目录

目录

1 概述

2 单级随机优化算法

2.1 随机化-最小化

2.2 随机逐次凸近似 (SCA)

3 两级随机优化算法

3.1 批处理算法

3.2 在线算法

4 Matlab代码实现


1 概述

在与随机系统状态向量关联的两阶段随机优化问题中,优化变量分为两组。长期变量适应随机状态的分布/统计,随机状态以较慢的时间尺度变化。短期变量适应系统状态的实现,系统状态以更快的时间尺度变化。因此,两阶段随机优化问题可以分解为一系列短期(第二阶段)子问题和长期(第一阶段)主问题。长期主问题的目标函数包含期望算子 w.r.t. 随机系统状态, 期望算子的论证涉及短期子问题的最优解.基于长期主问题/短期子问题的结构,我们可以将两阶段随机优化问题分为几类。具体而言,在两阶段随机线性规划(LP)/凸问题中,长期主问题和短期子问题都属于LP/凸问题,而在两阶段非凸优化问题中,长期主问题或短期子问题都是非凸的。

两阶段随机优化在各种关键应用领域中发挥着关键作用,例如无线资源优化、金融工程和风险管理、交通网络设计、机器学习等。然而,它仍然远未成熟,缺乏高效和通用的两阶段随机优化算法,如下所述。


2 单级随机优化算法

由于许多算法用于求解单级随机优化1 可以扩展为求解两阶段随机优化问题,我们首先回顾一下求解单级问题的常用算法。单阶段随机非凸优化有三种主要的现有方法。

基于随机梯度的方法:随机梯度/次梯度 是解决随机优化问题的常用方法。在每次迭代中,获得目标函数梯度的无偏估计,并执行梯度样更新。在某些技术条件下,几乎可以肯定可以建立与静止点的收敛。随机梯度法的变体已经提出。例如,提出了一种梯度平均方法,其中每次迭代时更新的梯度投影基于当前和过去梯度样本的平均值。此外,还有一些算法在梯度和迭代(优化变量)中均值。

2.1 随机化-最小化

随机正数最小化 (MM)是众所周知的 MM 方法的随机对应物。具体而言,在每次迭代中,首先获得一个示例代理函数作为示例目标函数的上限。然后通过最小化平均代理项函数来获得更新的优化变量。直观地说,平均代理函数倾向于收敛到目标函数的确定性上限,该上限与目标函数的值及其导数在极限点匹配,从中可以证明算法的任何极限点都是静止点。

2.2 随机逐次凸近似 (SCA)

SCA 与MM相似,因为它也迭代最小化了代理函数序列。但是,代理项函数上的条件是不同的。SCA 要求代理函数是凸的,但不一定是目标函数的上限。 针对多智能体网络中的非凸随机和效用优化问题, 提出了一种随机并行SCA方法.在中,提出了一种约束随机SCA(CSSCA)算法来查找一般单级随机优化问题的稳态点,其目标函数和约束函数都是非凸的。


3 两级随机优化算法

现有的两阶段随机优化算法可以分为两类:批量算法和在线算法。迭代时t,批处理算法使用所有可用的t系统状态的样本以更新长期变量,需要求解 t短期子问题。另一方面,在线算法仅使用系统状态的当前样本来更新长期变量,并且在每次迭代时解决一个短期子问题。因此,在线算法比批处理算法更受欢迎,因为它的内存要求和复杂性较低。

3.1 批处理算法

大多数两阶段随机优化算法属于批处理算法。一种广泛使用的批处理算法是随机切割平面算法(SCPA),它仅适用于两阶段随机凸问题,在一些文献中,提出了一种近似随机切割平面算法(ASCPA),为一类具有分段线性目标函数的两阶段随机非凸优化问题找到次最优解。在[2]中,提出了一种批量交替优化(AO)算法来寻找两阶段随机非凸优化问题的静止点。上述所有批处理算法都需要在每次迭代时求解大量短期子问题,如果短期问题没有闭合形式的解决方案,其复杂性可能会变得不可接受。

3.2 在线算法

只有少数在线算法可用于两阶段随机优化。在某些情况下,当短期子问题为凸时,可以从凸优化中的扰动和灵敏度分析中获得长期主问题的目标函数的梯度/次梯度。在这种情况下,可以使用简单的随机梯度/顺层算法来解决长期主问题。然而,已知随机梯度/次梯度算法具有较慢的收敛速度。对于极端情况,当短期子问题具有闭合形式解时,我们可以将长期主问题转换为单阶段随机优化问题,并应用各种单阶段在线算法来解决长期主问题。

4 Matlab代码实现

相关文章:

  • LinuxC高级作业1
  • 1.Seata 1.5.2 seata-server搭建
  • 物联网行业中小型嵌入式文件系统详解以及使用
  • 三相可控整流电路 (三相半波,三相桥式)
  • LabVIEW提高开发效率技巧----VI服务器和动态调用
  • PostgreSQL - tutorial
  • Vant Weapp
  • uniapp:启动图 .9png 制作教程
  • 回归预测 | Matlab实现SSA-BiLSTM-Attention麻雀算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测
  • 备战蓝桥杯————k个一组反转单链表
  • 微信小程序(4)- 事件系统和模板语法
  • 【非递归版】归并排序算法(2)
  • 基于GINA/凭证提供程序的自助密码管理
  • 如何通过引用传递变量?
  • C++虚函数与多态
  • 获取rdp保存的凭证
  • 谁能主宰智能驾驶赛道?「芯片+感知」是第一主角
  • 【有营养的算法笔记】从推导证明的角度深剖前缀和与差分算法
  • 3D格式转换工具HOOPS Exchange助力3D 打印软件实现质的飞跃
  • 需求的收集,筛选和排序
  • 【Kotlin 协程】Flow 异步流 ④ ( 流的构建器函数 | flow 构建器函数 | flowOf 构建器函数 | asFlow 构建器函数 )
  • WMS系统这么重要?一文教你找到理想中的WMS系统
  • 【Python】matplotlib.axes.Axes.pie()实例讲解
  • 路由器的工作原理(计算机网络-网络层)
  • 【Vue 快速入门系列】如何更优雅的使用vuex进行组件间通信
  • 【Python测试】期末测试
  • STM32正点原子图片——显示实验
  • DSP_TMS320F28377D_eCAP学习笔记
  • 蓝牙耳机什么牌子好?音质好、配置高的蓝牙耳机分享
  • Java时间差
  • PyTorch笔记 - Batch\Layer\Instance\Group\Weight Normalization 源码
  • 三、Flex布局简介