clc;
clear;
close;
% 电力系统经济调度 Matlab 程序
% 使用 MATPOWER 工具箱
% 作者:123Bot
% 引用 MATPOWER 工具箱
% addpath('路径/matpower7.1/'); % 更改“路径”为正确的 MATPOWER 安装路径
% 加载CASE30系统数据
mpc = loadcase('case30');
% 定义输入和输出变量
mpc.gencost(:,5)=0;
pmin = mpc.gen(:,10);
pmax = mpc.gen(:,9);
pld = sum(mpc.bus(:,3));
% 定义粒子群算法参数
popsize = 50; % 种群大小
maxgen = 200; % 最大迭代次数
C1 = 1.75; % 加速系数1
C2 = 1.75; % 加速系数2
Wmax = 0.9; % 最大惯性权重
Wmin = 0.4; % 最小惯性权重
% 初始化粒子群算法参数
W = Wmax; % 初始惯性权重
xmin = pmin; % 最小搜索空间
xmax = pmax; % 最大搜索空间
fitfun = @CostFunction; % 目标函数
funcHandle = @(x) feval(fitfun, x, mpc); % 目标函数处理
nvars = size(mpc.gen,1); % 变量维数
% 初始化种群和速度
pop = repmat(xmin,popsize,1) + rand(popsize,nvars).*(repmat(xmax,popsize,