求一个遗传算法进行电力系统优化调度 代码
恩,弄好了,我当时是花钱买的程序,代码老长老长了,具体资料好像已经被我删了。
1、要看你组合优化是属于哪种问题,一般的组合优化都是混合整数线性或非线性的,那么就不行了,因此要对遗传算法改进才能计算。2、如果有现成的工具箱求解你的组合优化问题肯定要方便些,但碰到具体问题,可能要对参数进行一些设置更改,所以最好能有编程基础,那样就可以自己修改工具箱里面的参数或策略了对你的补充问题,组合优化问题一般都是用matlab和lingo实现吧。建议买一本数学建模的书看一看,都涉及到组合优化问题,也可以下载论文看看。lingo对编程要简单些,主要是求混合规划,缺点是似乎还不能用上多目标问题,一般的组合优化都属于多目标问题。但是matlab功能强大的多。
发一份自编的MATLAB遗传算法代码,用简单遗传算法(Simple Genetic Algorithm or Standard Genetic Algorithm ,SGA)求取函数最大值,初版编写于7年前上学期间,当时是MATLAB 5.x,在算法运行效率方面做了修改,主要是采用矩阵操作减少了循环。遗传算法为群体优化算法,也就是从多个初始解开始进行优化,每个解称为一个染色体,各染色体之间通过竞争、合作、单独变异,不断进化。
优化时先要将实际问题转换到遗传空间,就是把实际问题的解用染色体表示,称为编码,反过程为解码,因为优化后要进行评价,所以要返回问题空间,故要进行解码。SGA采用二进制编码,染色体就是二进制位串,每一位可称为一个基因;解码时应注意将染色体解码到问题可行域内。
遗传算法模拟“适者生存,优胜劣汰”的进化机制,染色体适应生存环境的能力用适应度函数衡量。对于优化问题,适应度函数由目标函数变换而来。一般遗传算法求解最大值问题,如果是最小值问题,则通过取倒数或者加负号处理。SGA要求适应度函数>0,对于<0的问题,要通过加一个足够大的正数来解决。这样,适应度函数值大的染色体生存能力强。
遗传算法有三个进化算子:选择(复制)、交叉和变异。
SGA中,选择采用轮盘赌方法,也就是将染色体分布在一个圆盘上,每个染色体占据一定的扇形区域,扇形区域的面积大小和染色体的适应度大小成正比。如果轮盘中心装一个可以转动的指针的话,旋转指针,指针停下来时会指向某一个区域,则该区域对应的染色体被选中。显然适应度高的染色体由于所占的扇形区域大,因此被选中的几率高,可能被选中多次,而适应度低的可能一次也选不中,从而被淘汰。算法实现时采用随机数方法,先将每个染色体的适应度除以所有染色体适应度的和,再累加,使他们根据适应度的大小分布于0-1之间,适应度大的占的区域大,然后随机生成一个0-1之间的随机数,随机数落到哪个区域,对应的染色体就被选中。重复操作,选出群体规模规定数目的染色体。这个操作就是“优胜劣汰,适者生存”,但没有产生新个体。
交叉模拟有性繁殖,由两个染色体共同作用产生后代,SGA采用单点交叉。由于SGA为二进制编码,所以染色体为二进制位串,随机生成一个小于位串长度的随机整数,交换两个染色体该点后的那部分位串。参与交叉的染色体是轮盘赌选出来的个体,并且还要根据选择概率来确定是否进行交叉(生成0-1之间随机数,看随机数是否小于规定的交叉概率),否则直接进入变异操作。这个操作是产生新个体的主要方法,不过基因都来自父辈个体。
变异采用位点变异,对于二进制位串,0变为1,1变为0就是变异。采用概率确定变异位,对每一位生成一个0-1之间的随机数,看是否小于规定的变异概率,小于的变异,否则保持原状。这个操作能够使个体不同于父辈而具有自己独立的特征基因,主要用于跳出局部极值。
遗传算法认为生物由低级到高级进化,后代比前一代强,但实际操作中可能有退化现象,所以采用最佳个体保留法,也就是曾经出现的最好个体,一定要保证生存下来,使后代至少不差于前一代。大致有两种类型,一种是把出现的最优个体单独保存,最后输出,不影响原来的进化过程;一种是将最优个体保存入子群,也进行选择、交叉、变异,这样能充分利用模式,但也可能导致过早收敛。
由于是基本遗传算法,所以优化能力一般,解决简单问题尚可,高维、复杂问题就需要进行改进了。
下面为代码。函数最大值为3905.9262,此时两个参数均为-2.0480,有时会出现局部极值,此时一个参数为-2.0480,一个为2.0480。算法中变异概率pm=0.05,交叉概率pc=0.8。如果不采用最优模式保留,结果会更丰富些,也就是算法最后不一定收敛于极值点,当然局部收敛现象也会有所减少,但最终寻得的解不一定是本次执行中曾找到过的最好解。
(注:一位网名为mosquitee的朋友提醒我:原代码的变异点位置有问题。检验后发现是将最初的循环实现方法改为矩阵实现方法时为了最优去掉mm的第N行所致,导致变异点位置发生了变化,现做了修改,修改部分加了颜色标记,非常感谢mosquitee,2010-4-22)
% Optimizing a function using Simple Genetic Algorithm with elitist preserved
%Max f(x1,x2)=100*(x1*x1-x2).^2+(1-x1).^2; -2.0480<=x1,x2<=2.0480
% Author: Wang Yonglin (wylin77@126.com)
clc;clear all;
format long;%设定数据显示格式
%初始化参数
T=100;%仿真代数
N=80;% 群体规模
pm=0.05;pc=0.8;%交叉变异概率
umax=2.048;umin=-2.048;%参数取值范围
L=10;%单个参数字串长度,总编码长度2L
bval=round(rand(N,2*L));%初始种群
bestv=-inf;%最优适应度初值
%迭代开始
for ii=1:T
%解码,计算适应度
for i=1:N
y1=0;y2=0;
for j=1:1:L
y1=y1+bval(i,L-j+1)*2^(j-1);
end
x1=(umax-umin)*y1/(2^L-1)+umin;
for j=1:1:L
y2=y2+bval(i,2*L-j+1)*2^(j-1);
end
x2=(umax-umin)*y2/(2^L-1)+umin;
obj(i)=100*(x1*x1-x2).^2+(1-x1).^2; %目标函数
xx(i,:)=[x1,x2];
end
func=obj;%目标函数转换为适应度函数
p=func./sum(func);
q=cumsum(p);%累加
[fmax,indmax]=max(func);%求当代最佳个体
if fmax>=bestv
bestv=fmax;%到目前为止最优适应度值
bvalxx=bval(indmax,:);%到目前为止最佳位串
optxx=xx(indmax,:);%到目前为止最优参数
end
Bfit1(ii)=bestv; % 存储每代的最优适应度
%%%%遗传操作开始
%轮盘赌选择
for i=1:(N-1)
r=rand;
tmp=find(r<=q);
newbval(i,:)=bval(tmp(1),:);
end
newbval(N,:)=bvalxx;%最优保留
bval=newbval;
%单点交叉
for i=1:2:(N-1)
cc=rand;
if cc<pc
point=ceil(rand*(2*L-1));%取得一个1到2L-1的整数
ch=bval(i,:);
bval(i,point+1:2*L)=bval(i+1,point+1:2*L);
bval(i+1,point+1:2*L)=ch(1,point+1:2*L);
end
end
bval(N,:)=bvalxx;%最优保留
%位点变异
mm=rand(N,2*L)<pm;%N行
mm(N,:)=zeros(1,2*L);%最后一行不变异,强制赋0
bval(mm)=1-bval(mm);
end
%输出
plot(Bfit1);% 绘制最优适应度进化曲线
bestv %输出最优适应度值
optxx %输出最优参数
智能系统智能系统品牌
电力系统中发电机、变压器、电动机等电机电器设备的设计、生产、运行、控制是一个复杂的过程,国内外的电气工作者将人工智能技术引入到电气设备的优化设计、故障诊断及控制中,取得了良好的控制效果。 用遗传算法对电器设备的设计进行优化,可以降低成本,缩短计算时间,提高产品设计的效率和质量。 应用于电气设备故障诊断的智...
励磁电流单位功率因数控制方法
1、PID控制法:通过比较发电机输出电压与设定值的差异,计算出控制量的调节量,实现对输出电压的自动调节。2、模糊控制法:通过设定一系列模糊规则,根据发电机输出电压的偏差和变化率,模糊控制器可以输出相应的励磁电流调节量,实现对输出电压的自动调节。3、遗传算法控制法:通过对励磁电流进行编码,利用...
智能控制的应用
3.电力电子学研究领域中的智能控制电力系统中发电机、变压器、电动机等电机电器设备的设计、生产、运行、控制是一个复杂的过程,国内外的电气工作者将人工智能技术引入到电气设备的优化设计、故障诊断及控制中,取得了良好的控制效果。遗传算法是一种先进的优化算法,采用此方法来对电器设备的设计进行优化,...
无功优化分类
电力行业的无功补偿装置优化主要针对高压配电网和中低压配电网两个关键领域进行。在高压网中,采用"分层分区、就地平衡"的原则,通过整合实际负荷水平或预测数据,遗传算法和快速潮流计算方法被巧妙应用。目标是优化220kV、110kV及35kV变电所中的并联电容器和电抗器的部署,如安装位置、容量和分组方式。这种...
王竹荣科研项目
王竹荣教授的科研项目涵盖了一系列领域,其中包括:主持的项目: 大规模结点度约束最小生成树问题的优化算法,由省教育厅科学研究计划项目资助,编号00K1108。 基于遗传算法的整流变压器优化系统研究,同样来自省教育厅科学研究计划项目,编号05JK273。 智能优化系统软件框架研究,校博士启动金项目,...
试分析电气自动化在电气工程中的应用
此外,为了使电气工程中的电气自动化得到有效的实现,其元件和系统的自动保护、自动传输网络信息以及自动控制等功能应当得到充分发挥,使电力生产能够得到顺利进行,从而实现可靠的、安全的电网供电,最终确保电气工程的安全性和稳定性。> 1.2电气自动化技术在电气过程中应用的发展 电气工程从投入生产到开发...
考虑生态的多目标水电站水库混沌优化调度研究目录
本文主要探讨考虑生态的多目标水电站水库混沌优化调度的深入研究。首先,前言部分简要介绍了研究的背景,强调了在全球范围内,水电站水库优化调度的重要性及其国内外研究的最新动态,同时概述了本书的主要研究内容和技术路线,即通过混沌理论预测入库径流,构建生态调度模型,并采用混沌遗传算法进行优化调度。第二...
4天3晚环行川西南 长安智电iDD“双雄”实力几何?
此次试驾路线中有不少盘山路,UNI-V 智电iDD在急速过弯时车体响应非常灵敏,车身姿态控制也极为优秀。当然,马牌MC6轮胎、DTV动态转矩矢量控制系统等配备和技术,以及通过“遗传算法”调校的悬架同样功不可没。安全性方面,UNI-V智电iDD配备了全温域电池温控系统,可以让电池在零下35℃至55℃的环境...
火电厂热工过程先进控制技术内容简介?
下篇则主要探讨热工过程计算智能方法及其应用。作者在此基础上对传统神经网络算法进行了创新,提出了优化算法和动态递归网络,实现了神经网络与混沌优化策略、PSO算法的结合,形成了一种新型的智能融合优化方法。针对标准遗传算法的局限,本书提出改进算法,融合了模糊技术和量子计算,创造出模糊量子遗传算法,...
电力系统继电保护的发展历史
电力系统继电保护的发展经历了机电型、整流型、晶体管型和集成电路型几个阶段微机继电保护的发展史微机继电保护指的是以数字式计算机(包括微型机)为基础而构成的继电保护。它起源于20世纪60年代中后期,是在英国、澳大利亚和美国。微机继电保护的发展史微机继电保护指的是以数字式计算机(包括微型机)...
仇庾孚宁: matlab自带的有遗传算法工具箱,也就是两个函数,分别是 x = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options)options = gaoptimset('param1',value1,'param2',value2,...)在帮助文件(doc ga/gaoptimset)里面自己好还看看它的用法就可以了,每一个参数都有详细的说明,应该可以帮助到你.
邯郸县15725836878: 遗传算法优化电力系统无功问题 - ?
仇庾孚宁: GA程序流程:0、初始化GA参数:种群数N、控制变量数M、选择概率、交叉概率、变异概率;1、设置控制变量初值, i=1;2、计算第i个粒子的潮流;3、根据潮流结果计算网损,计算第i个粒子的目标函数及适应度函数并保存,i++;4、i是否大于M,若否,则转步骤2,若是,则转下一步;5、得到最优粒子及其适应度,判断适应度变化是否小于某阀值,若小,则转步骤8,否则继续下一步;6、选择操作;交叉操作;变异操作;7、i=1,转步骤2;8、输出最优粒子及其适应度.
邯郸县15725836878: 智能控制的应用 - ?
仇庾孚宁: 实际系统由于存在复杂性、非线性、时变性、不确定性和不完全性等,一般无法获得精确的数学模型. 应用传统控制理论进行控制必须提出并遵循一些比较苛刻的线性化假设,而这些假设在应用中往往与实际情况不相吻合. 对于某些复杂的和...
邯郸县15725836878: 应用改进遗传算法优化电网购入电量的论文?
仇庾孚宁: 可以参考一下这篇文献:粒子群算法和遗传算法是差不多的哦,改动一下就可以了改进粒子群优化算法用于电网优化购入电量作 者: 张涛 蔡金锭 ZHANG Tao CAI Jinding 作者单位: 福州大学电气工程及自动化学院,福州,350002 刊 名: 高...
邯郸县15725836878: 如何用遗传算法求解调度问题. - ?
仇庾孚宁: 群智能优化算法及其应用看秀娟,秀娟雷蕾:科学出版社,
邯郸县15725836878: 使用遗传算法优化控制器参数效果好吗 - ?
仇庾孚宁: 您好,对于控制器参数的多指标优化问题,提出了一种新型优化设计方法.通过分别设计的各个性能指标的满意度函数,反映出各性能指标对控制系统的具体要求;并用综合满意度函数的设计,反映出对控制目标的综合要求.由此给出了一种优化模型.应用遗传算法自动搜索,实现控制器参数的优化.仿真实验效果良好,表明了本文方法的灵活实用性.@金炜东@陈立@李岗¥西南交通大学电气工程学院对于控制器参数的多指标优化问题,提出了一种新型优化设计方法.通过分别设计的各个性能指标的满意度函数,反映出各性能指标对控制系统的具体要求;并用综合满意度函数的设计,反映出对控制目标的综合要求.
邯郸县15725836878: 用MATLAB编程编程解决优化问题 - ?
仇庾孚宁: 打开matlab2014a程序,在主工具栏找到应用程序一栏,打开optimization选项.问题输入 在optimization程序中,首先根据不同的问题类型选择不同的模型,同时输入约束等.选择优化程序运行的条件 在最中间的一栏中添加优化程序运行的条件,如优化截止的标准,画图的要求等等.开始运算 点击start即可实现优化程序的运行,在图示的框中即可出现运行结果.5 查看帮助文件 在程序的最右边,是一个帮助文件,如果你有什么疑问,可以直接在帮助文件中查找.
邯郸县15725836878: 用遗传算法工具箱求解一个多目标优化问题,现在需要一个matlab程序,求高人指点 - ?
仇庾孚宁: 用遗传算法工具箱求解一个多目标优化问题的步骤:1、根据题意,建立自定义目标函数,ga_fun1(x)2、在命令窗口中,输入>> optimtool %调用遗传算法工具箱3、在遗传算法工具箱界面中,分别对Fitness function框内输入@ga_fun1();A框内输入[1,1,1];b框内输入16;Aeq框内输入[];beq框内输入[];Lower框内输入[0,0,0];Upper框内输入[];4、单击Start.得到x=4.508 y=2.513 z=1.912值.
邯郸县15725836878: 各位谁擅长遗传算法呀,我这有个函数得用遗传算法编一下,进行最优化求解的过程,最好是用Matlab.?
仇庾孚宁: % 主程序 %遗传算法主程序 %Name:genmain.m %author:杨幂 clear clf %%初始化 popsize=50; %群体大小 chromlength=30; %字符串长度(个体长度) pc=0.6; %交叉概率 pm=0.1; %变异概率 pop=initpop(popsize,chromlength); %随机...
邯郸县15725836878: 用matlab遗传算法解决函数优化问题 - ?
仇庾孚宁: 用ga函数,ga函数就是遗传算法的函数,它的调用格式为: X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON,options) FITNESSFCN就是待优化函数,NVARS为变量个数,然后后面的lb是下界,ub是上界,你这个问题就需要这4个位...