QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4585|回复: 0
打印 上一主题 下一主题

[问题求助] 多目标优化

[复制链接]
字体大小: 正常 放大

1

主题

9

听众

12

积分

升级  7.37%

该用户从未签到

自我介绍
勇往直前

社区QQ达人

跳转到指定楼层
1#
发表于 2016-5-19 20:18 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
4体力
在多目标优化时,优化结果没有同时让目标满足要求,下面是我的主代码和所得结果,请大神帮忙解答:1 ?& \( B+ R' c- o
global u;! s3 l: w  c" b: I
%贝塞尔函数求根
. J5 h: t+ A/ Y+ t%设定模式数为20,对于TE模式需要求得一阶贝塞尔函数的前20个非零根
1 a  z/ B' j2 r* {% _maxs=20;%要求的贝塞尔函数的非零根个数
3 u, x( H' W% y; Yincr=4.0;
( d& D0 N+ [6 G5 j" O8 iu(1,1)=fzero(@(x)besselj(1,x),3.9);%一阶贝塞尔函数的第一个解(在3.9附近)
5 N4 q) v# V7 j4 zfor s=2:maxs
& U# ~/ m* l" _; \    u(1,s)=fzero(@(x)besselj(1,x),u(1,s-1)+incr);%在第一个解加4附近求零阶贝塞尔函数的第二个及以上的解9 {9 g6 |. P3 E6 }+ u
end
  W' n4 l) Q7 T  ANIND=40;      %个体数目40
. H; \( B! |$ I3 {MAXGEN=100;   %最大遗传代数100  u5 C. w, b+ z, v
NVAR=10;       %变量个数为10,前五个为半径,后五个位直波导长度
5 S8 Z) o; w: z, {( j- JPRECI=20;      %变量的二进制位数
9 X# A/ R! k6 ?GGAP=0.9;      %代沟
4 Q, d& u2 T& H) ttrace1=[];( S5 y+ o% M$ s* P4 Q6 F3 L
trace2=[];   %性能跟踪器,1、2分别为第一目标函数、第二目标函数的跟踪
+ C7 @( O8 x) L$ \' Z+ M%建立区域描述器
+ S& D) @% S. K8 `' o( l4 }FieldD=[rep([PRECI],[1,NVAR]);[20,20,20,20,20,10,10,10,10,10;50,50,50,50,50,100,100,100,100,100];rep([1;0;1;1],[1,NVAR])];' n" C5 w1 {/ U
Chrom=crtbp(NIND,NVAR*PRECI);        %初始化种群
; [$ O& a9 E* av=bs2rv(Chrom,FieldD)/1000;               %初始种群十进制转换(单位由mm转换为m)
  @  j% Q( ~: C6 Xgen=1;                               %代计数器& i! i6 a0 d: e( s- v
%遗传开始* I/ h3 J/ a: i: d) W
while gen<MAXGEN; [/ e2 O; s5 a' z# }
    [NIND,N]=size(Chrom);
! Y1 i+ y. E+ Q6 S$ ^    M=fix(NIND/2);& V3 }0 i0 @( R. A" M. t9 N. K. r
    ObjV1=Highpass(v(1:M,);         %分组后高通目标函数值(单位m)
% ]& i8 T4 R8 H9 O    FitnV1=ranking(-ObjV1);           %分配高通适应度值(求最大值)6 I5 v3 P/ R5 F2 k
    SelCh1=select('sus', Chrom(1:M,,FitnV1,GGAP);      %调用随机遍历抽样函数sus对第一组种群基于适应度值进行选择
6 S( ~/ p9 O$ |, w- p, y( c# D, h    ObjV2=Lowpass(v(M+1:NIND,);     %分组后低通目标函数值(单位m)
* {" q- \' \( i0 h/ D  m    FitnV2=ranking(ObjV2);            %分配低通适应度值(求最小值)+ y8 K' `* W* b, u& L
    SelCh2=select('sus', Chrom((M+1):NIND,,FitnV2,GGAP);      %调用随机遍历抽样函数sus对第二组种群基于适应度值进行选择
0 i0 M! M, K! m    SelCh=[SelCh1;SelCh2];            %将两组选择后种群进行合并  [4 ?" j2 e" a4 t( W
    SelCh=recombin('xovsp',SelCh,0.7);%以0.7的交叉概率进行单点交叉重组9 R% {: H7 ?' k7 |' U; T1 Y4 f) }
    Chrom=mut(SelCh);                 %变异  C9 D* a- E/ d' P5 O) F% p
    %Chrom=reins(Chrom,SelCh);         %随机均匀选择重插入
  i) U- t  E- X+ L  Q! L    v=bs2rv(Chrom,FieldD)/1000;            %将进化后种群十进制转换(单位由mm转换为m)
) P* L& c! _1 w    trace1(gen,1)=max(Highpass(v));$ g& ^( J/ W/ N5 f1 m
    trace1(gen,2)=sum(Highpass(v))/length(Highpass(v));( v9 y' ]! U  i0 @. \
    trace2(gen,1)=min(Lowpass(v));
3 e/ I5 Q4 ]6 [3 v4 n    trace2(gen,2)=sum(Lowpass(v))/length(Lowpass(v));
, W# y' G( A& K    gen=gen+1;3 m7 n3 ~! T( g# m1 h( \
end
4 N4 Q3 D  z% b+ i' Ffigure(1);clf;
6 S% c8 g" q4 l1 f) `- t5 g3 rplot(trace1(:,1));hold on;plot(trace1(:,2),'-.');
/ {4 m: F+ [- V! W) b9 Tplot(trace1(:,1),'.');plot(trace1(:,2),'.');grid;
4 T+ @. R9 `+ ~8 v6 V0 rlegend('解的变化','种群均值的变化')0 o4 V! Z+ T/ }- B( @+ b  z
xlabel('迭代次数');ylabel('高通目标函数值');
0 A' j8 D& o1 q0 F6 D9 hfigure(2);clf;6 t; m9 M. U& B
plot(trace2(:,1));hold on;3 f' n2 Q, z5 d- f( @; v$ T
plot(trace2(:,2),'-.');
" c' X: ~) l- rplot(trace2(:,1),'.');
7 q) I# i; D7 J- i( m: s+ u( ]plot(trace2(:,2),'.');grid;
( q8 ~7 \6 H+ T" o- W% y! ~% t6 elegend('解的变化','种群均值的变化')5 i0 e/ b% C( |% ]0 V4 I& U7 H5 ^
xlabel('迭代次数');ylabel('低通目标函数值');& ]- e8 N: i; s
figure(3);clf;* k4 ~3 u' a* N) T+ B% `0 n3 {
plot(Highpass(v));hold on;$ O% [; N3 ?# z4 |1 k5 I/ e2 ?' r' I
plot(Lowpass(v),'r-.');grid;; r! H& z# S# J; ^& h! i1 C7 z
5 G/ @8 Y" E4 z" Y0 |

1.jpg (63.87 KB, 下载次数: 1042)

1.jpg

2.jpg (67.12 KB, 下载次数: 1003)

2.jpg

3.jpg (47.82 KB, 下载次数: 972)

3.jpg

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-8-6 21:54 , Processed in 0.531967 second(s), 63 queries .

回顶部