资源简介

采用切线逼近方法求解IEEE14节点电力系统多目标的无功优化问题,目标为发电机无功总出力和网损。好用的matlab代码。

资源截图

代码片段和文件信息


function [fxmin xmin] = ORPD_30bus()
clc
clear all
warning off all
global Ybus Yf Yt;

%% define named indices into bus gen branch matrices
[PQ PV REF NONE BUS_I BUS_TYPE PD QD GS BS BUS_AREA VM ...
    VA base_KV ZONE VMAX VMIN LAM_P LAM_Q MU_VMAX MU_VMIN] = idx_bus; 
[F_BUS T_BUS BR_R BR_X BR_B RATE_A RATE_B RATE_C ...
    TAP SHIFT BR_STATUS PF QF PT QT MU_SF MU_ST ...
    ANGMIN ANGMAX MU_ANGMIN MU_ANGMAX] = idx_brch;
[GEN_BUS PG QG QMAX QMIN VG Mbase GEN_STATUS PMAX PMIN ...
    MU_PMAX MU_PMIN MU_QMAX MU_QMIN PC1 PC2 QC1MIN QC1MAX ...
    QC2MIN QC2MAX RAMP_AGC RAMP_10 RAMP_30 RAMP_Q APF] = idx_gen;

[baseMVA bus gen branch areas gencost]=case_ieee30; %Input data of IEEE 30 bus test system

% Determine the value of weight change
w_start = 1;   %Initial inertia weight‘s value
w_end = 0.20;       %Final inertia weight
w_varyfor = floor(0.7*100); 
w_now = w_start;
inertdec = (w_start-w_end)/w_varyfor; %Inertia weight‘s change per iteration
iter=0;

% Initialize size of Swarm no. of control varialbes and Velocity
%size of swarm=50 (user may change it) no. of control variables=vg1 vg2
%vg5vg8 vg11 vg13 (Generator bus voltage in pu) T1 T2 T3 T4
%(Transformer tap position) QC3 QC10 QC24 (Injected reactive power of
%capacitors in MVAR)

Swarm=[unifrnd(0.901.10506)unifrnd(0.951.05504)unifrnd(120503)]; 
VStep =[unifrnd(0.040.04506)unifrnd(0.0020.002504) unifrnd(44503)];
for i=1:50 % no of particles
    global bus gen branch v1 v2 v5 v8 v11 v13
    v1=Swarm(i1);
    v2=Swarm(i2);
    v5=Swarm(i3);
    v8=Swarm(i4);
    v11=Swarm(i5);
    v13=Swarm(i6);
    bus(1VM)=Swarm(i1); 
    bus(2VM)=Swarm(i2);
    bus(5VM)=Swarm(i3);
    bus(8VM)=Swarm(i4);
    bus(11VM)=Swarm(i5);
    bus(13VM)=Swarm(i6);
    gen(1VG)=Swarm(i1); % gen1
    gen(2VG)=Swarm(i2); %gen2
    gen(3VG)=Swarm(i3);  %gen5
    gen(4VG)=Swarm(i4);  %gen8
    gen(5VG)=Swarm(i5);  %gen11
    gen(6VG)=Swarm(i6);  %gen13
    
    branch(11TAP)=Swarm(i7);% T1 transformer tap
    branch(12TAP)=Swarm(i8); %T2
    branch(15TAP)=Swarm(i9); %T3
    branch(36TAP)=Swarm(i10); %T4
    bus(3BS)=Swarm(i11); % QC3 capacitor
    bus(10BS)=Swarm(i12); % QC10 capacitor
    bus(24BS)=Swarm(i13); % QC24 capacitor
   
         global bus gen branch Yf Yt Ybus
        [Ybus Yf Yt] = makeYbus(baseMVA bus branch);% construct Ybus
        [MVAbasebusgenbranchsuccesset]=runpf; % run NR load flow
         global V
    global Ybus
    bbb=branch(:[PFQF]).^2; % ans. is P(from)^2 Q(from)^2
    ccc=bbb‘; 
    ddd=(sum(ccc))‘;
    eee=sqrt(ddd);  %actual values of apparent powers “From bus injection“ 
    
    fff=branch(:[PTQT]).^2;
    ggg=fff‘;
    hhh=(sum(ggg))‘;
    iii=sqrt(hhh); %actual values of apparent powers “To bus injection“ 
    jjj=[];
    for count_1=1:41 % j

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       12082  2013-04-11 19:44  ORPD_30bus.m
     文件      160256  2013-04-12 14:43  ORPD_introduction.doc
     文件        1313  2013-04-12 05:50  license.txt

评论

共有 条评论