
含可再生能源的热电联供微网优化:考虑源荷不确定性的粒子群算法优化程序
先给各位看个刺激的——当光伏板遇上锅炉房,微电网调度直接开启地狱模式。今天咱们手撕热电联
供型微网优化,带不确定性buff的那种。老规矩,先上硬菜再喝汤,直接进代码战场。
**确定性模型就是个直球选手**,咱们先看它的目标函数怎么浪:
```python
def objective(x):
# 燃气轮机+锅炉+电网购电成本
cost = 2.8*x[0] + 0.3*x[1] + grid_price*x[2]
# 等式约束:电平衡
penalty = 0
penalty += 1000*(x[0]*0.35 + x[2] + pv - load_e)**2
# 不等式约束:设备出力限值
penalty += max(0, x[0]-200)**2 * 100
return cost + penalty
```
这代码就像东北乱炖——所有约束直接往目标函数里怼。电功率平衡用平方项狠罚,设备出力超限直
接上max函数截断。但现实哪有这么老实的光伏和负荷?这时候就得请出概率论老司机了。
**不确定性模型直接开启混沌模式**,看这机会约束的骚操作:
```python
def chance_constraint(power, prob=0.95):
# 蒙特卡洛模拟5000个场景
scenarios = np.random.normal(power, 0.2*power, 5000)
violation = np.mean(scenarios < power_min)
return max(0, violation - (1-prob)) * 5000
```
这里玩的是概率场控,5000次蒙特卡洛模拟直接暴力破解不确定性。当光伏出力波动时,要求95%的
概率下不翻车,否则罚到你怀疑人生。比确定性模型多出来的这层概率过滤,就像给调度算法戴了夜视仪。
**粒子群算法才是真打工人**,看这参数调教:
```python