1 运筹笔记-随机规划(Stochastic Programming)
目录
- 随机规划
- 报童问题
- 求解方法
随机规划
研究约束条件中的系数和目标函数中的参数均为随机变量时的线性规划问题。用于研究具有不确定性的决策问题。随机规划的中心问题是选择参数,使收益的数学期望达到最大。
报童问题
经典的运筹问题
假设某种产品的订购数量 xxx,产品需求 ddd。 订购成本为 ccc 。 如果需求 ddd 大于 xxx,则脱销单位损失 c1c_1c1。如果需求 ddd 小于 xxx ,则滞销单位损失为 c2c_2c2。
总成本为
F(x,d)=cx+c1[d−x]++c2[x−d]+F(x,d)=cx+c_1[d-x]_++c_2[x-d]_+F(x,d)=cx+c1[d−x]++c2[x−d]+
如果将部分参数转换为不确定的,将需求视为随机变量 DDD ,则转化为一个随机规划问题
min{f(x,D):=E[F(x,D)]}min\lbrace f(x,D):= \mathbb{E}[F(x,D)] \rbracemin{f(x,D):=E[F(x,D)]}
其中,E[⋅]\mathbb{E}[\cdot]E[⋅] 为所有随机变量的期望。
但是,这些参数又不是完全没有已知信息。假设一些概率分布信息是已知的。
假设随机变量 DDD 的概率密度函数为 H(x):=Pr(D≤x)H(x):=Pr(D≤x)H(x):=Pr(D≤x),则
E[F(x,D)]=cE(D)+c1x+c2∫0xH(t)dt\begin{aligned} \mathbb{E}[F(x,D)]=c\mathbb{E}(D)+c_1x+ c_2\int_0^x H(t)dt \end{aligned} E[F(x,D)]=cE(D)+c1x+c2∫0xH(t)dt
推导:
求解方法
1.基于场景的建模方法(Scenario-based): 根据假设的分布信息,生成若干个具有代表性的场景(Scenarios),每一个场景就对应一组参数,一个模型,并且这个场景有其对应的概率,使用不同的情景代替随机变量,问题转化为线性问题。对于较大规模的问题,情景树将会特别巨大从而难以求解,需要一定的情景树生成技巧从而减少问题规模。
假设有n个场景,需求分别为 d1,d2,...,dnd_1,d_2,...,d_nd1,d2,...,dn,对应的概率为 p1,p2,...,pnp_1,p_2,...,p_np1,p2,...,pn,则期望可以表示为:
E[F(x,D)]=∑i=1npiF(xi,di)\mathbb{E}[F(x,D)]=\sum_{i=1}^np_iF(x_i,d_i)E[F(x,D)]=i=1∑npiF(xi,di)
2.机会约束规划
利用机会约束,将随机问题转化为线性问题。
通俗来讲,机会约束规划是指允许决策不满足约束条件,但是决策满足约束条件的概率不低于事先设定的置信水平的规划求解模型时,目标达到最优的理论。给定置信水平,其一般化的模型描述如下:
minf(x)s.t.P{h(x,ε)}≤α\begin{aligned} min f(x) s.t. P\{h(x,\varepsilon)\}≤α \end{aligned} minf(x)s.t.P{h(x,ε)}≤α
3.鲁棒优化
4.抽样平均近似方法 SAA,Sample Average Approximation
1 运筹笔记-随机规划(Stochastic Programming)相关推荐
- 【Machine Learning 学习笔记】Stochastic Dual Coordinate Ascent for SVM 代码实现
[Machine Learning 学习笔记]Stochastic Dual Coordinate Ascent for SVM 代码实现 通过本篇博客记录一下Stochastic Dual Coor ...
- 论文笔记——Asynchronous Stochastic Gradient Descent with Delay Compensation
论文笔记--Asynchronous Stochastic Gradient Descent with Delay Compensation 论文对ASGD算法进行了改进,对具有延迟的梯度设计了新的更 ...
- 论文笔记:Stochastic Weight Completion for Road Networks using Graph Convolutional Networks
ICDE2019 pytorch 笔记: 复现论文 Stochastic Weight Completion for Road Networks using Graph Convolutional N ...
- MITx - 6.00.1x 笔记(4) Good Programming Practices
Testing and Debugging 防御性编程 测试的几种情况 Bugs Debugging Exceptions and Assertions try except else finally ...
- 读书笔记--Head First Programming 目录
1. 转载于:https://www.cnblogs.com/0x2D-0x22/p/4059191.html
- 初识随机规划:用一个小例子理解随机规划
文章目录 初识随机规划:一个小小例子 生产计划的例子 参数的不确定性 随机规划模型(Stochastic Programming) Python调用Gurobi求解随机规划模型 参考文献 Olittl ...
- 运筹学状态转移方程例子_动态规划 Dynamic Programming
从运筹学和算法的角度综合介绍动态规划 规划论 Mathematical Programming / Mathematical Optimization In mathematics, computer ...
- Uncertainty Modeling and Optimization-不确定性建模与优化-理论篇(高速更新中)
Uncertainty Modeling and Optimization-不确定性建模与优化 目录 Uncertainty Modeling and Optimization-不确定性建模与优化 0 ...
- OREILLY Programming .NET 3.5 读书笔记之一
OREILLY Programming .NET 3.5 读书笔记之一 <Programming .NET 3.5>是OREILLY 2008.08出版的.NET 3.5 开发书籍,作者是 ...
最新文章
- BigDecimal 转换为int 或者其他类型
- 从头学起androidlt;AutoCompleteTextView文章提示文本框.十九.gt;
- Apache与Tomcat 区别联系​
- MATLAB与C#混合编程
- 遇到的Ajax相关问题
- 一张图get jQuery所有方法
- PHP 循环删除无限分类子节点
- php编译自己库文件,php编译后追加库模块-gd库
- 【渝粤教育】国家开放大学2018年春季 8625-22T老年心理健康 参考试题
- linux快速php,Linux 下的这些高效指令,是你快速学习的神器
- Debian11服务器系统默认不存在sudo命令的解决办法
- 创建线程方式二 java 1615474026
- 为什么有些蓝牙耳机有底噪?高音质便宜实惠的蓝牙耳机分享
- 微分方程建模——以传染病模型为例
- activex控件无法安装解决方法
- 哥德巴赫猜想 php,C++_c++验证哥德巴赫猜想,哥德巴赫猜想是世界近代三大 - phpStudy...
- 软著申请技巧及注意事项
- 怎么成为日上会员直邮_怎么成为日上会员vip
- buct2018年程序设计实训作业一部分题目解答
- android画板需求分析,基于Android的画板的设计与实现论文.doc
热门文章
- 新宝总结过年红包行情来了
- 你了解VMware和VMware认证吗?
- 【算法】有序链表转换二叉搜索树和从中序与后序遍历序列构造二叉树Java解答参考
- Java版知识付费源码 Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台
- 浏览器HTTPS访问问题
- 二维码生成器小程序搭建
- 让ERP的服务更开放! ——用微服务架构搭建的一套基于EBS的API服务系统
- swift5 接入内购全流程
- 从两款《绝地求生》手游,聊一聊腾讯“内战”
- linux vsftpd配置