📄 t_opf_lp.m
字号:
function t_opf_lp(quiet)%T_OPF_LP Tests for LP-based optimal power flow.% MATPOWER% $Id: t_opf_lp.m,v 1.2 2007/06/26 16:05:20 ray Exp $% by Ray Zimmerman, PSERC Cornell% Copyright (c) 2004-2007 by Power System Engineering Research Center (PSERC)% See http://www.pserc.cornell.edu/matpower/ for more info.if nargin < 1 quiet = 0;endnum_tests = 20;t_begin(num_tests, quiet);[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;[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;casefile = 't_case9_opf';if quiet verbose = 0;else verbose = 0;endmpopt = mpoption('OUT_ALL', 0, 'VERBOSE', verbose);%% get solved AC power flow case from MAT-fileload soln9_opf; %% defines bus_soln, gen_soln, branch_soln, f_solnif have_fcn('bpmpd') | have_fcn('linprog') | have_fcn('lp') %% run dense LP-based OPF t = 'dense LP-based OPF : '; mpopt = mpoption('OUT_ALL', 0, 'VERBOSE', verbose, 'OPF_ALG', 220); [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(casefile, mpopt); t_ok(success, [t 'success']); t_is(f, f_soln, 2, [t 'f']); t_is(bus, bus_soln, 2, [t 'bus']); t_is(gen, gen_soln, 2, [t 'gen']); t_is(branch, branch_soln, 2, [t 'branch']); %% run sparse (relaxed) LP-based OPF t = 'sparse (relaxed) LP-based OPF : '; mpopt = mpoption('OUT_ALL', 0, 'VERBOSE', verbose, 'OPF_ALG', 240); [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(casefile, mpopt); t_ok(success, [t 'success']); t_is(f, f_soln, 2, [t 'f']); t_is(bus, bus_soln, 2, [t 'bus']); t_is(gen, gen_soln, 2, [t 'gen']); t_is(branch, branch_soln, 2, [t 'branch']); %% run sparse (full) LP-based OPF t = 'sparse (full) LP-based OPF : '; mpopt = mpoption('OUT_ALL', 0, 'VERBOSE', verbose, 'OPF_ALG', 260); [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(casefile, mpopt); t_ok(success, [t 'success']); t_is(f, f_soln, 2, [t 'f']); t_is(bus, bus_soln, 2, [t 'bus']); t_is(gen, gen_soln, 2, [t 'gen']); t_is(branch, branch_soln, 2, [t 'branch']);else t_skip(15, 'LP solver (BPMPD_MEX or Optimization Toolbox) not available');end%% get solved AC power flow case from MAT-fileload soln9_opf_Plim; %% defines bus_soln, gen_soln, branch_soln, f_soln%% run sparse (relaxed) LP-based OPF with active power line limitsif have_fcn('bpmpd') | have_fcn('linprog') | have_fcn('lp') t = 'sparse (relaxed) LP-based OPF (P line lim) : '; mpopt = mpoption('OUT_ALL', 0, 'VERBOSE', verbose, 'OPF_FLOW_LIM', 1, 'OPF_ALG', 240); [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(casefile, mpopt); t_ok(success, [t 'success']); t_is(f, f_soln, 2, [t 'f']); t_is(bus, bus_soln, 2, [t 'bus']); t_is(gen, gen_soln, 2, [t 'gen']); t_is(branch, branch_soln, 2, [t 'branch']);else t_skip(5, 'LP solver (BPMPD_MEX or Optimization Toolbox) not available');endt_end;return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -