L-shape 方法

news2024/11/22 14:42:31

L-shape 方法是求解两阶段随机规划的一种常用方法,基本思想是利用切平面将第二阶段的反馈函数线性化,在构造切平面条件时有点类似 bender’s 方法。

在这里插入图片描述
注:这个图形中黑实线 Q ( x ) \mathcal{Q}(x) Q(x) 就是下面模型中的 L ( x ) \mathscr{L}(x) L(x)

两阶段随机规划的模型可以表示为:

min ⁡ x c T x + L ( x ) s . t . A x = b x ≥ 0 \begin{aligned} &\min_x\quad &&c^Tx+\mathscr{L}(x)\\ &s.t.\\ &&&Ax=b\\ &&&x\geq 0 \end{aligned} xmins.t.cTx+L(x)Ax=bx0

其中, L ( x ) = E [ Q ( x , ξ ( ω ) ) ] \mathscr{L}(x)=\mathbb{E}[Q(x, \xi(\omega))] L(x)=E[Q(x,ξ(ω))],被称作反馈函数 (recourse function),而 Q ( x , ξ ( ω ) ) Q(x, \xi(\omega)) Q(x,ξ(ω)) 为给定 x x x ω \omega ω 时,第二段模型的最优值,即:

Q ( x , ξ ( ω ) ) = min ⁡ y q ( ω ) T y s . t . T ( ω ) x + W y = h ( ω ) y ≥ 0 \begin{aligned} &&&Q(x, \xi(\omega))=\min_y q(\omega)^Ty\\ s.t.\\ &&&T(\omega)x+Wy=h(\omega)\\ &&&y\geq 0 \end{aligned} s.t.Q(x,ξ(ω))=yminq(ω)TyT(ω)x+Wy=h(ω)y0

模型中, x x x 为第一阶段的决策变量,必须在不确定性发生之前作出决定, y y y 为第二阶段的决策变量,在不确定性发生之后作出决定。 ξ \xi ξ 为随机变量,而 ω \omega ω 为随机变量的一个具体实现值,模型中的决策变量与随机变量都可以是向量形式。

上面第二个模型中,可以看出 W W W ω \omega ω 无关,即第二阶段求解变量 y y y 的系数是一个确定值,并不是随机变量。此时,上面两个模型称作固定反馈 (fixed recourse) 的两阶段随机规划模型。因为固定反馈时,第二阶段模型 x x x 的可行域为一个闭凸集,这样就能使用很多方法求解了,否则第二阶段模型 x x x 的可行域不一定是闭凸集(为什么?目前还没搞清楚)。

假设随机变量 ξ \xi ξ 具有有限个,即 K K K 个实现值(realization),每个实现值对应的概率为 p k p_k pk,则两阶段规划的扩展模型(extensive form)可以表示为:

min ⁡ x c T x + ∑ k = 1 K p k q k T y k s . t . A x = b T k x + W y k = h k , k = 1 , … , K , x ≥ 0 , y k ≥ 0 , k = 1 , … , K . \begin{aligned} &\min_x\quad &&c^Tx+\sum_{k=1}^K p_kq_k^Ty_k\\ &s.t.\\ &&&Ax=b\\ &&&T_kx+Wy_k=h_k,\quad k=1,\dots, K,\\ &&&x\geq 0,y_k\geq 0,\quad k=1,\dots, K. \end{aligned} xmins.t.cTx+k=1KpkqkTykAx=bTkx+Wyk=hk,k=1,,K,x0,yk0,k=1,,K.

为什么叫 L-shaped 方法,是因为前两个约束条件左端的系数矩阵可以写成类似 L 的形式:

A T 1 W T 2 W ⋮ T k … … W \begin{aligned} &A\\ &T_1\quad W\\ &T_2\qquad W\\ &\vdots\\ &T_k\quad\dots\dots\qquad W \end{aligned} AT1WT2WTk……W

L-shape 方法的基本步骤是:

  • 给定第一阶段求解变量 x x x 的一个初始值,带入到第二阶段的模型进行求解
  • 若有可行解,根据第二阶段的对偶值,计算出最优性切平面约束(optimality cut)添加到第一阶段的模型中
  • 若无可行解,根据另外一个构造的线性规划模型(以后补充)求出可行性约束(feasibility cut)添加到第一阶段模型中
  • 求解第一阶段模型,返回第一步
  • 循环以上过程,直到达到一定的迭代终止条件

未完待续。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/589635.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

剑指 Offer 04. 二维数组中的查找解题思路

文章目录 标题解题思路优化 标题 在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整…

ARM-伪操作

目录 协处理器指令 伪操作 安装交叉编译工具 Makefile 进入命令:vi ASM-ARM.s 宏定义 make之后查看ASM-ARM.dis反汇编文件 预编译指令 申请一个字的空间 .word 申请多个字节空间 嵌套编程 方式一:汇编跳转到C 方式二:C跳转到汇编 方式三&…

2023/5/30面试小结

一、本应会但并不会的题 1.用js写一个栈 class Stack {constructor() {this.items [];}// 添加元素到栈顶push(element) {this.items.push(element);}// 移除栈顶元素并返回pop() {return this.items.pop();}// 返回栈顶元素peak() {return this.items[this.items.length - …

HashMap有哪些线程安全的处理方式(面试题)

HashMap有哪些线程安全的处理方式&#xff08;面试题&#xff09; 概念1. synchronizedMap(Map<K,V> m)2. ConcurrentHashMapConcurrentHashMap Jdk1.7 vs Jdk1.8 概念 基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作&#xff0c;并允许使用 null 值和 null…

数字孪生3D可视化技术在数字化水利行业中的应用

城市供水数字孪生系统是一种基于web3d开发和数字孪生技术构建的智能运维系统&#xff0c;它可以将实际设备与虚拟模型相结合&#xff0c;实现对城市供水系统的实时监测、预测和优化。 智慧供水系统是智慧水务建设的新目标与新高度&#xff0c;能够实现城市内部原水供水以及污水…

ASEMI单向可控硅BT169D参数,BT169D规格,BT169D大小

编辑-Z 单向可控硅BT169D参数&#xff1a; 型号&#xff1a;BT169D 断态重复峰值电压VDRM&#xff1a;600V 平均通电电流IT(AV)&#xff1a;0.6A R.M.S通电电流IT(RMS)&#xff1a;0.8A 通态浪涌电流ITSM&#xff1a;10A 平均栅极功耗PG(AV)&#xff1a;0.1W 峰值门功率…

Curl【实例 01】curl下载使用及cmd实例脚本分享(通过请求下载文件)

Curl 官方下载地址 可下载不同平台不同版本的安装包。 这里写目录标题 1.是什么1.1 curl1.2 bat和cmd 2.常用命令2.1 发送GET请求并显示响应头信息2.2 显示详细的请求和响应信息2.3 限制重定向次数2.4 带Json数据的Post请求发送2.5 带文件的Post请求发送2.6 使用代理服务器发送…

付费订阅故事难讲,腾讯音乐如何“过河”?

作者 | 艺馨 豆乳拿铁 排版 | Cathy 监制 | Yoda 出品 | 不二研究 腾讯音乐如何“过河”&#xff1f; 近日&#xff0c;腾讯音乐娱乐集团&#xff08;下称“腾讯音乐”&#xff0c;01698.HK&#xff09;公布了2022全年及2023年一季度财报。 腾讯音乐是一家提供在线音乐及…

使用 LangChain 和 Elasticsearch 的隐私优先 AI 搜索

作者&#xff1a;Dave Erickson 在过去的几个周末里&#xff0c;我一直在 “即时工程” 的迷人世界中度过&#xff0c;并了解像 Elasticsearch 这样的矢量数据库如何通过充当长期记忆和语义知识存储来增强像 ChatGPT 这样的大型语言模型 (LLM)。 然而&#xff0c;让我和许多其他…

波奇学STL:String入门和迭代器

目录 ​编辑 Constructor/Destructor/Operator Constructor:构造函数 Iterator:迭代器 begin()/end():迭代器像指针一样访问问函数 个人对迭代器的理解 rbegin()/rend():迭代器反向移动 除了用迭代器访问元素外string类还可以[]下标 Capacity:容量&#xff1f; s.siz…

Hystrix入门使用 服务熔断 服务降级 服务雪崩

一、概念 hystrix停止更新&#xff0c;理念优秀。 分布式系统面临的问题: 对于复杂的分布式体系&#xff0c;有数十个依赖&#xff0c;依赖不可避免的错误。 服务会出现雪崩&#xff0c;高可用受到破坏。 Hystrix就是用于解决分布式系统延迟和容错的开源库。 保证在一个依赖出…

Python五彩气球

文章目录 前言Turtle基础1.1 Turtle画板1.2 Turtle画笔1.3 Turtle画图1.4 Turtle填色1.5 Turtle写字 五彩气球气球类漂浮函数气球函数六一祝福 尾声 前言 六一要来啦&#xff0c;快来领取博主精心准备的五彩气球吧&#xff01; Turtle基础 小海龟(Turtle)是Python中画图的一…

SpringBatch历史数据的清理方案及实现

SpringBatch历史数据的清理方案及实现 需求背景 SpringBatch的程序已经运行了将近一年&#xff0c;数据量已经达到了一定的数据量级别。 对SpringBatch历史数据的清理也被提上日程。 但是SpringBatch的代码中似乎没有找到清理历史数据的代码&#xff0c;在官方文档中也没有…

一、STM32程序下载软件_FlyMCU

1、软件简介 (1)FlyMCU是一款STM32下载程序的软件。 (2)FlyMCU采用ISP下载方式。 (3)ISP&#xff1a;在线系统编程。 (4)FlyMCU支持STM32F1、STM32F2、STM32F4系列&#xff0c;其他暂不支持&#xff0c;后续应该也不会更新了。 (5)STM32芯片的ISP下载&#xff0c;只能使用…

LINUX系统编程-----中

文章目录 进程间的通信管道popen 和 pclosepipeFIFO 共享内存system V 版本的共享内存创建/获取共享内存 共享内存涉及的函数共享内存的通信两个进程同时对共享内存进行读写 信号量使用信号量保护共享资源消息队列死锁 信号内核不可中断状态 进程间的通信 管道 在操作系统中&…

【备战秋招】每日一题:4月1日美团春招(二批)第三题:题面+题目思路 + C++/python/js/Go/java带注释

2023大厂笔试模拟练习网站&#xff08;含题解&#xff09; www.codefun2000.com 最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据&#xff0c;挂载到我们的OJ上&#xff0c;供大家学习交流&#xff0c;体会笔试难度。现已录入200道互联网大厂模拟练习题&…

Electron简单开发

文章目录 1.参考网站2.HelloWold编写2.1新建空文件夹2.2node初始化2.3安装electron依赖2.4添加.gitignore 文件2.5创建main.js文件和index.html2.6运行electron应用 3.打包 接到一个任务&#xff0c;将electron集成到solidworks中&#xff0c;所以记录一下electron的简单操作&a…

【操作系统】05.文件管理

文件管理 文件的属性 文件内部数据的组织 文件之间的组织 操作系统向上层提供功能 创建文件 删除文件 打开文件 关闭文件 读文件 写文件 文件的逻辑结构 无结构文件 有结构文件 顺序文件 文件的物理结构 磁盘块&#xff08;文件块&#xff09; 连续分配 优点 对于机…

操作系统 四、文件管理

文章目录 4.1 文件的逻辑结构4.2 文件目录4.2.1 目录结构4.2.1.1 单级目录结构4.2.1.2 两级目录结构4.2.1.3 多级目录结构4.2.1.4 无环图目录结构 4.2.2 索引结点(FCB的改进) 4.3 文件的物理结构4.3.1 连续分配4.3.2 链接分配4.3.2.1 隐式链接4.3.2.2 显式链接 4.3.3 索引分配 …

稠密点云获取方法(二)

作为高分辨率三维重建的方法之一,从单张图像生成稠密三维点云在计算机视觉领域中一直有着较高的关注度。 以下文献提出了一种针对二维和三维信息融合的方法以解决三维点云稀疏难以检测远处的目标的问题。 Multimodal Virtual Point 3D Detection 该文献提出一种将 RGB 传感器…