欢迎来到天天文库
浏览记录
ID:9796000
大小:61.00 KB
页数:5页
时间:2018-05-10
《基于遗传算法和非线性规划的函数寻优算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于遗传算法和非线性规划的函数寻优算法1.1案例背景 1.1.1 非线性规划方法 非线性规划是20世纪50年代才开始形成的一门新兴学科。1951年H.W.库恩和A.W.塔克发表的关于最优性条件(后来称为库恩.塔克条件)的论文是非线性规划正式诞生的一个重要标志。 非线性规划研究一个n元实函数在一组等式或不等式的约束条件下的极值问题,且目标函数和约束条件至少有一个是未知量的非线性函数。非线性规划的一个重要理论是1951年Kuhn-Tucker最优条件(简称KT条件)的建立。此后的50年代主要是对梯度法和牛顿法的研究。以Davidon(1959),Fletcher和Po
2、well(1963)提出的DFP方法为起点,60年代是研究拟牛顿方法活跃时期,同时对共轭梯度法也有较好的研究。在1970年由Broyden,Fletcher、Goldfarb 和Shanno从不同的角度共同提出的BFGS方法是目前为止最有效的拟牛顿方法。由于Broyden,Dennis 和More的工作使得拟牛顿方法的理论变得很完善。 70年代是非线性规划飞速发展时期, 约束变尺度(SQP)方法(Han和Powell为代表)和Lagrange乘子法(代表人物是Powell 和Hestenes)是这一时期主要研究成果.计算机的飞速发展使非线性规划的研究如虎添翼。80年**
3、始研究信赖域法、稀疏拟牛顿法、大规模问题的方法和并行计算,90年代研究解非线性规划问题的内点法和有限储存法。可以毫不夸张的说,这半个世纪是最优化发展的黄金时期。 1.1.2非线性规划函数 fmincon函数是Matlab最优化工具箱中用来求解非线性规划问题的重要函数,它从一个预估值出发,搜索约束条件下非线性多元函数的最小值。 1.1.3 案例 1.2 模型建立 算法流程图如下: 1.3仿真结果
4、 非线性遗传算法寻优结果如下: 普通遗传算法寻优结果如下: 主函数代码如下:%%清空环境clcclear%%遗传算法参数maxgen=30;%进化代数sizepop=100;%种群规模pcross=[0.6];%交叉概率pmutation=[0.01];%变异概率lenchrom=[11111];%变量字串长度bound=[00.9*p
5、i;00.9*pi;00.9*pi;00.9*pi;00.9*pi];%变量范围%%个体初始化individuals=struct('fitness',zeros(1,sizepop),'chrom',[]);%种群结构体avgfitness=[];%种群平均适应度bestfitness=[];%种群最佳适应度bestchrom=[];%适应度最好染色体%初始化种群fori=1:sizepopindividuals.chrom(i,:)=Code(lenchrom,bound);%随机产生个体x=individuals.chrom(i,:);individuals.fi
6、tness(i)=fun(x);%个体适应度end%找最好的染色体[bestfitnessbestindex]=min(individuals.fitness);bestchrom=individuals.chrom(bestindex,:);%最好的染色体avgfitness=sum(individuals.fitness)/sizepop;%染色体的平均适应度%记录每一代进化中最好的适应度和平均适应度trace=[avgfitnessbestfitness];%%进化开始fori=1:maxgen%选择操作individuals=Select(individuals
7、,sizepop);avgfitness=sum(individuals.fitness)/sizepop;%交叉操作individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound);%变异操作individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizepop,[imaxgen],bound);%计算适应度forj=1:sizepopx=individuals.chrom(j,:);i
此文档下载收益归作者所有