4. 容量优化理论基础:优化问题建模、目标函数与约束条件、线性规划与非线性规划
各位同学,咱们今天聊聊容量优化的理论基础。说白了,就是怎么用数学语言,把“怎么配风储容量最划算”这个问题说清楚。
我刚开始做风储项目那会儿,总觉得拍脑袋定个容量比例就行。结果呢?要么储能配多了,投资回报率低得可怜;要么配少了,弃风率居高不下。后来我才明白,这事儿必须得靠优化理论来指导。
4.1 优化问题建模——把工程问题翻译成数学语言
优化问题建模,就是把一个实际的工程问题,抽象成一个数学表达式。我个人习惯,先问自己三个问题:
- 决策变量是什么?——我要决定什么?比如风机容量、储能功率、储能容量。
- 目标是什么?——我想达到什么效果?比如总成本最小、弃风损失最小。
- 限制条件是什么?——有哪些约束?比如场地面积、投资预算、电网接入限制。
举个例子,一个简单的风储容量优化问题,可以这样建模:
决策变量:
P_wind:风机额定功率(MW)
E_storage:储能额定容量(MWh)
P_storage:储能额定功率(MW)
目标函数:
min 总成本 = 风机投资成本 + 储能投资成本 + 弃风惩罚成本
约束条件:
1. 投资预算 ≤ 总预算上限
2. 储能SOC在0~100%之间
3. 弃风率 ≤ 允许的最大弃风率
4. 风机出力 ≤ 当地风资源可发电量
嗯,这里要注意,建模的时候千万别把问题搞得太复杂。我在项目中遇到过,有人一上来就建了个几百个变量的模型,结果求解器跑三天三夜都算不出来。我的建议是:先建一个简单的、能跑通的模型,再逐步增加细节。
4.2 目标函数与约束条件——优化问题的“方向盘”和“护栏”
目标函数,就是你要优化的那个指标。它就像方向盘,决定了优化方向。约束条件,就是你不能逾越的边界,像护栏一样。
4.2.1 常见的目标函数
在风储容量优化中,常见的目标函数有这几类:
| 目标类型 | 数学表达式 | 适用场景 |
|---|---|---|
| 成本最小化 | min (C_wind + C_storage + C_curtailment) | 投资决策阶段 |
| 收益最大化 | max (R_electricity - C_total) | 运营优化阶段 |
| 弃风率最小化 | min (弃风电量 / 总发电量) | 高弃风率地区 |
| 多目标优化 | min (w1*成本 + w2*弃风率) | 综合权衡场景 |
你想想看,如果只追求成本最小,那干脆不配储能算了,但弃风率会很高。如果只追求弃风率最小,那配个超级大的储能,成本又受不了。所以,多目标优化在实际项目中更常见。
4.2.2 约束条件的分类
约束条件,说白了就是“你不能乱来”。我把它分成三类:
- 物理约束:比如储能SOC不能超过100%,也不能低于0%。这是物理定律,改不了的。
- 经济约束:比如总投资不能超过预算。这是老板定的,也改不了。
- 运行约束:比如弃风率不能超过5%。这是政策要求,还是改不了。
4.3 线性规划与非线性规划——两种求解思路
优化问题建好模了,接下来就是求解。根据目标函数和约束条件的数学性质,可以分为线性规划和非线性规划。
4.3.1 线性规划(LP)
线性规划,就是目标函数和约束条件都是线性的。说白了,就是所有变量都是一次方,没有平方、没有乘积、没有三角函数。
线性规划的优点:
- 求解速度快,成熟算法多(比如单纯形法、内点法)
- 一定能找到全局最优解
- 对大规模问题友好
线性规划的缺点:
- 表达能力有限,很多实际问题是非线性的
- 比如储能充放电效率,其实是和功率相关的非线性函数
举个例子,一个简化的线性规划模型:
目标函数:min 0.5*P_wind + 0.8*E_storage + 0.2*P_storage
约束条件:
P_wind + P_storage ≥ 10 (满足负荷需求)
E_storage ≤ 5 (储能容量上限)
P_wind ≥ 0, E_storage ≥ 0, P_storage ≥ 0
这个模型很简单,用Excel的求解器都能算出来。
4.3.2 非线性规划(NLP)
非线性规划,就是目标函数或约束条件中,至少有一个是非线性的。比如:
- 目标函数里有平方项:min (P_wind² + E_storage²)
- 约束条件里有乘积项:P_wind * η(P_storage) ≥ 10
- 有三角函数、指数函数等
非线性规划的挑战:
- 求解速度慢,尤其是大规模问题
- 可能陷入局部最优,找不到全局最优
- 对初始值敏感,不同的初始值可能得到不同的解
4.3.3 如何选择?
我个人习惯,先试试线性规划。如果线性规划的结果和实际偏差太大,再考虑非线性规划。你想想看,线性规划求解只要几秒钟,非线性规划可能要几个小时。在工程实践中,时间成本也是成本。
下面这张图,是我总结的优化方法选择流程:
嗯,这张图的核心逻辑就是:能线性就线性,不能线性就近似,实在不行再用非线性。这个原则,在我做过的十几个风储项目中,从来没出过问题。
4.4 小结
这一章的内容,说白了就是三件事:
- 建模:把工程问题翻译成数学语言,明确决策变量、目标函数和约束条件。
- 目标与约束:目标函数是方向盘,约束条件是护栏,两者缺一不可。
- 线性 vs 非线性:线性规划简单高效,非线性规划灵活但复杂。我的建议是,优先用线性规划。
记住,优化理论不是纸上谈兵。我在项目中见过太多人,模型建得漂漂亮亮,结果一跑就出问题。所以,动手实践才是王道。下一章,我会带大家用Python实现一个完整的容量优化案例,到时候你们就明白了。
公众号:蓝海资料掘金营,微信deep3321