基于遗传算法的随机规划(matlab)
考虑不确定性的遗传算法,将刘宝碇书的C语言代码转化为matlab代码。考虑不确定性的遗传算法,将刘宝碇书的C语言代码转化为matlab代码。
考虑不确定性的遗传算法,将刘宝碇书的C语言代码转化为matlab代码。考虑不确定性的遗传算法,将刘宝碇书的C语言代码转化为matlab代码。
function Restore_ACO clc global seed seed = RandStream('mrg32k3a'); popsize = 100; maxIter = 100; rho = 0.8; Q = 200; [branchData,busPower,busVoltage] = InputData(); %errorBranch = 6;%故障支路 %branchData(errorBranch,:) = []; %branchData(6:end,4) = branchData(6:end,4)-1;
function Y = CreateY(branchData) if nargin < 1 branchData = InputData(); end busf = branchData(:,1); bust = branchData(:,2); z = branchData(:,3); branchCount = length(busf); busCount = max([busf',bust']); Y = zeros(busCount); for n = 1:branchCount Y(busf(n),bust(n)) = Y(busf(n),bust(n))-1/z(n); Y(bust(n),busf(n)) = Y(busf(n),bust(n)); Y(busf(n),busf(n)) = Y(busf(n),busf(n))+1/z(n); Y(bust(n),bust(n)) = Y(bust(n),bust(n))+1/z(n); end end
function loss = pf_zbus() [branchData,PQ,V1] = InputData(); PQ = PQ/1000; busCount = max(max(branchData(:,1:2))); Y = CreateY(branchData); Y22 = Y(2:end,2:end); Y21 = Y(2:end,1);
function [loss,minV] = PowerFlowCalc(branchData,busPQ,busV) % place:Nanchang University % branchData % 1| 头节点i编号 % 2| 尾节点j编号 % 3|支路i-j的线路阻抗 %busV(i) 节点i电压 %S(i) 节点i复功率 %Zm(i,j) 支路i-j的线路阻抗 %tailBus headBus 前推回代顺序表 %busNum 节点数量 %current(i,j) 支路i-j的支路电流 current上三角矩阵 if nargin < 1 branchData = [ %1,2-支路两端的节点 3-支路阻抗 4-支路编号 5-开关类型(0-分段开关 1-联络开关) 1 2 0.0922+0.047j 1;
%author:Jerry Ng %time:2019.01.03 %place:Nanchang University %头结点编号要比尾节点编号大 %利用尾节点没有子节点的特点生成前推回代顺序表 %每将一个支路加入前推回代顺序表,就将该支路的尾节点删去
基于直角坐标系的牛顿法潮流计算 linedata = [ 1 4 0.1 0.4 0.01528 1; 1 3 0 0.3 0 1.1; 1 2 0.12 0.5 0.01920 1; 4 2 0.08 0.40 0.01413 1]; busdata = [ 1 0 -0.30 -0.18 1 0; 4 0 -0.55 -0.13 1 0; 3 2 0.5 0 1.10 0; 2 1 0 0 1.05 0;];