微电网调度这活儿看着简单实际全是坑,光柴油发电机和光伏电池的配合就能让工程师头秃。今天咱们用遗传算法来折腾这个多约束优化问题,MATLAB代码直接开撸
基于遗传算法的微电网运行优化的MATLAB代码目标函数为运行成本之和最小注释详细。先看目标函数怎么算总成本。柴油机烧油、设备维护、买电费用这三座大山必须安排明白function total_cost cost_function(x) % x为决策变量矩阵24小时各设备出力 diesel_power x(:,1); % 柴油发电机出力 pv_power x(:,2); % 光伏实际出力 grid_power x(:,3); % 网购电量 % 柴油机成本燃料维护 fuel_cost 0.8 * sum(diesel_power); % 0.8元/度燃料费 maintenance 0.1 * sum(diesel_power.^2); % 非线性维护成本 % 购电成本分时电价 time_price [ones(1,7)*0.5, ones(1,10)*1.2, ones(1,7)*0.8]; grid_cost grid_power * time_price; total_cost fuel_cost maintenance grid_cost; end这里有个骚操作——维护成本用平方项模拟设备损耗电网购电搞了个分时电价数组。注意矩阵乘法算总电费比for循环优雅多了向量化处理才是MATLAB的精髓。约束处理是个技术活直接上罚函数法简单粗暴function penalty check_constraints(x) load_demand [20 18 ... ]; % 24小时负荷需求 pv_max [0 0 0 5 10 ... ]; % 光伏预测出力 % 功率平衡约束 power_balance sum(x,2) - load_demand; p_balance_violation sum(abs(power_balance)); % 设备出力限制 diesel_limit sum(max(x(:,1)-50,0) max(10-x(:,1),0)); % 柴油机10-50kW pv_limit sum(max(x(:,2)-pv_max,0)); grid_limit sum(max(abs(x(:,3))-30,0)); % 网购电不超过30kW penalty 1e4*(p_balance_violation diesel_limit pv_limit grid_limit); end罚函数系数1e4可不是随便拍的脑袋实测发现太小了约束不起作用太大了又影响收敛。这里把功率平衡和设备限制都揉在一起处理不等式约束比用遗传算法自带的限制函数更灵活。基于遗传算法的微电网运行优化的MATLAB代码目标函数为运行成本之和最小注释详细。主函数里算法参数设置也有讲究options optimoptions(ga,... PopulationSize,50,... MaxGenerations,200,... CrossoverFraction,0.8,... MutationFcn,mutationadaptfeasible,... Display,iter); nvars 24*3; % 24小时*3个变量 [A,b] create_Aeq(); % 生成储能系统时序约束矩阵 best_solution ga((x)cost_function(x)check_constraints(x),... nvars,[],[],A,b,lb,ub,[],options);这里用了自适应的可行域变异函数比标准变异算子更适合带约束的问题。储能系统的充放电状态用线性约束矩阵Aeq来处理比写进罚函数更准确——毕竟荷电状态SOC必须满足时序上的累积关系。跑完算法看结果典型收敛曲线长这样Generation | Mean Cost | Best Cost ----------------------------------- 1 | 8.9e4 | 6.2e4 10 | 5.1e4 | 4.7e4 50 | 4.3e4 | 4.1e4 200 | 4.05e4 | 3.98e4前10代成本骤降说明初始化范围可能设大了后期微调阶段得迭代上百次。最优解里柴油机在电价峰值时段满负荷运行光伏弃光率控制在5%以下储能系统完美扮演了削峰填谷的角色。这版代码还能继续魔改——把预测误差考虑进去上鲁棒优化或者接入实际天气数据动态调整光伏预测。遗传算法虽然计算慢但在小规模微电网问题上还是能打关键是约束处理够灵活改目标函数时不用动算法框架。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2430517.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!