既然是优化问题,那首先需要关注的就是目标函数。网上查了一圈,主流回复是最小化发电成本,当然有许多确保潮流不越线的约束。
目标函数具体怎么写的,可以上matpower官网查看runopf的说明(https://matpower.org/docs/ref/matpower5.0/runopf.html),逐级点入
能够看到这个opf_setup函数就是用来设置目标函数的,我们点进去看看源代码:
首先是约束部分
接着是目标函数:
进一步查看opf_model就可以看到目标函数的具体表达形式了。
其实今天记录这个小问题的初衷是发现调用runopf求解最优潮流的结果无法保证功率平衡,大家可以试着用runopf跑一下case118的最优潮流,最后算一下总发电量减去负荷是小于零的,这还没算损耗呢。可见下次如果考虑系统不平衡量的优化,恐怕直接调用runopf就不太合适了,可以尝试修改matpower自带目标函数(当然相对困难一些),或者自己编程求解。