1 主要内容
之前发布了《可再生能源发电与电动汽车的协同调度策略研究》matlab版本程序,本次发布的为Python版本,采用gurobi作为求解器,有需要的可以下载对照学习研究。
首先详细介绍了优化调度模型的求解方案,分别采用二次规划、二阶锥规划对上下层模型进行求解,所采用的算法相较于智能算法求解速度更快,求解结果更准确。针对下层模型的非凸性,采用二阶锥松弛方法将将原问题的非凸可行域松弛为一个凸二阶锥可行域,提高了求解效率和准确性,并且对于辐射型网络,利用二阶锥松弛建立的松弛模型是严格的,通过二阶锥规划求解出的下界值就是原问题的最优解。然后,以改进的IEEE33节点配电网系统进行仿真,仿真结果表明,本文所提调度策略可以有效降低负荷峰谷差,降低系统网损,改善系统电压水平等。
2 部分代码
#约束 Column51 =PF33.addConstr((lin1[0]==abs_(pev1[0])), name='column51')#电动汽车无功约束 Column5 = PF33.addConstr((qev1[0]<=0.95*lin1[0]), name='column5') Column61 =PF33.addConstr((lin2[0]==abs_(pev2[0])), name='column61') Column6 = PF33.addConstr((qev2[0]<=0.95*lin2[0]), name='column6') Column71 =PF33.addConstr((lin3[0]==abs_(pev3[0])), name='column71') Column7 = PF33.addConstr((qev3[0]<=0.95*lin3[0]), name='column7') Column8 = PF33.addConstr((qev1[0]>=-0.95*lin1[0]), name='column8') Column9 = PF33.addConstr((qev2[0]>=-0.95*lin2[0]), name='column9') Column10 = PF33.addConstr((qev3[0]>=-0.95*lin3[0]), name='column10') if i in range(0,15): Column11 = PF33.addConstr((pev1[0]<=num_ask0*50/1000), name='column11')#电动汽车有功约束---充电 Column12 = PF33.addConstr((pev1[0]>=0), name='column12') Column13 = PF33.addConstr((pev2[0]<=num_ask1*50/1000), name='column13') Column14 = PF33.addConstr((pev2[0]>=0), name='column14') Column15 = PF33.addConstr((pev3[0]<=num_ask2*50/1000), name='column15') Column16 = PF33.addConstr((pev3[0]>=0), name='column16') elif i in range(15,24): Column11 = PF33.addConstr((pev1[0]>=-num_ask0*50/1000), name='column11')#电动汽车有功约束---放电 Column12 = PF33.addConstr((pev1[0]<=0), name='column12') Column13 = PF33.addConstr((pev2[0]>=-num_ask1*50/1000), name='column13') Column14 = PF33.addConstr((pev2[0]<=0), name='column14') Column15 = PF33.addConstr((pev3[0]>=-num_ask2*50/1000), name='column15') Column16 = PF33.addConstr((pev3[0]<=0), name='column16')
3 程序结果
4 下载链接
见下方联系方式