DE 求解器手册 — 确定性等价(随机规划)
1. 引言
DE(确定性等价,Deterministic Equivalent)求解器是 GAMS EMP(扩展数学规划)框架的一部分,用于求解随机规划问题。DE 将具有随机参数的随机规划模型转化为其确定性等价形式,然后使用标准求解器进行求解。
DE 支持两阶段和多阶段随机线性规划、二次规划、非线性规划以及所有这些模型的混合整数版本。
2. 使用方法
要在 GAMS 中使用 DE 求解器,需在 EMP 框架内指定:
File mymodel / '%emp.info%' /;
put mymodel;
$onput
DE
subsolver conopt
solveEVProb
evsubsolver minos
$offput
mymodel.optfile = 1;
solve mymodel min obj using emp scenario dict;
其中:
- DE — 指定使用 DE 求解器
- subsolver — 指定用于求解确定性等价的子求解器(如 conopt、minos、cplex 等)
- solveEVProb — 指示求解期望值问题
- evsubsolver — 期望值问题的求解器
随机数据和场景方案通过 EMP 注释和场景字典文件传递给 DE。
3. DE 可处理的模型类型
DE 可以求解两阶段和多阶段随机线性、二次和非线性模型,以及所有这些模型的混合整数版本。此外,DE 还可以处理另外两类随机模型:
- 机会约束随机规划(Chance Constraints)
- 风险度量随机规划(VaR — 风险价值 和 CVaR — 条件风险价值,也称为预期亏损 Expected Shortfall)
4. 机会约束
在机会约束随机规划中,目标是在随机数据实现之前做出最优决策,同时允许约束以一定的概率被违反。数学上,带有机会约束的随机线性规划可表示为:
\[
\begin{array}{ll}
\textrm{Min}_{x} & c^T x \\
\textrm{s.t.} & P(A x \leq b) \geq p \\
& x \geq 0
\end{array}
\]
其中 \(x \in \mathbb{R}^n\) 是决策变量,\(c^T\) 为目标函数系数,\(A \in \mathbb{R}^{m \times n}\) 为随机矩阵(系数),\(b \in \mathbb{R}^m\) 为随机向量(约束右端项)。机会约束随机规划的显著特征是约束(或其中一些)可以以概率 \(\epsilon = 1-p\) 被违反,其中 \(0 < p \leq 1\)。
DE 提供三种重新表述选项来求解机会约束随机规划:使用大 M 方法的混合整数规划重新表述、凸包重新表述以及使用指示变量和指示约束的方法。默认使用 MIP 重新表述(大 M 的默认值为 10000,可自定义)。使用选项 ccreform 可以选择重新表述方法。
注意:选项 solveEVProb 不适用于机会约束模型以及带有 VaR 和 CVaR 的模型。机会约束中的随机变量可以服从离散或连续概率分布。机会约束随机规划中没有阶段的概念。
5. VaR 与 CVaR
风险价值(VaR)
带有 VaR 的模型通过将注释转换为新的变量和方程来重新表述。DE 自动优化目标函数变量的期望值,也支持其他风险度量如 VaR 和 CVaR。
数学上,DE 可以求解以下形式的问题:
\[
\begin{array}{ll}
\textrm{Min}_{x} & \mathcal{R}(z)
\end{array}
\]
其中 \(z\) 表示目标函数变量,\(\mathcal{R}\) 表示风险度量(如期望值、VaR 或 CVaR)。
VaR 模型使用二元指示变量进行重新表述。对于每个场景,如果收益 \(R \geq \underline{VaR}_{\theta}[R]\),则指示变量为 1,否则为 0。大 M 的默认值为 1000(与机会约束的默认值不同),可使用选项 varbigm 进行自定义。
条件风险价值(CVaR)
带有 CVaR 的模型通过引入三个新变量和三个相关方程来重新表述。DE 引入目标变量、目标值和概率变量来计算条件风险价值。
6. 选项参考
| 选项 | 描述 | 默认值 |
| ccreform | 机会约束重新表述方法:0=MIP(大 M),1=凸包,2=指示约束 | 0 |
| evsubsolver | 期望值问题的子求解器 | conopt |
| numstages | 阶段数 | 2 |
| solveminmax | 求解最小最大问题 | 0 |
| solveEVProb | 求解期望值问题 | 0 |
| subsolver | 确定性等价的子求解器 | conopt |
| varbigm | VaR 模型中大 M 的值 | 1000 |
在线留言
尊敬的客户朋友,如您有任何意见建议,请通过下表反馈给我们,我们会尽快与您联系。
|