QQ登录

只需要一步,快速开始

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

[问题求助] 多目标优化

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

1

主题

9

听众

12

积分

升级  7.37%

该用户从未签到

自我介绍
勇往直前

社区QQ达人

跳转到指定楼层
1#
发表于 2016-5-19 20:18 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
4体力
在多目标优化时,优化结果没有同时让目标满足要求,下面是我的主代码和所得结果,请大神帮忙解答:
2 H: ^* ~' J3 A' p2 o- nglobal u;
9 l  q2 t# ]  w5 F2 O6 Q%贝塞尔函数求根( W& \6 Z5 ]6 S- V; b2 i! i6 x
%设定模式数为20,对于TE模式需要求得一阶贝塞尔函数的前20个非零根
( M( r' ~4 {3 W+ |& K  smaxs=20;%要求的贝塞尔函数的非零根个数
# ?8 `1 v, S- S- K: X* k$ l0 M# Qincr=4.0;
8 e( Z9 f5 N3 R9 Mu(1,1)=fzero(@(x)besselj(1,x),3.9);%一阶贝塞尔函数的第一个解(在3.9附近)
4 z# ?& }' \' s7 j  c( s0 q2 qfor s=2:maxs' H. }4 V1 W+ w' W$ d  T/ [6 C. I+ D5 q
    u(1,s)=fzero(@(x)besselj(1,x),u(1,s-1)+incr);%在第一个解加4附近求零阶贝塞尔函数的第二个及以上的解8 {& o( Y7 K' i- |8 f: \; r$ L
end
# v( C7 @: ~' O3 cNIND=40;      %个体数目40
5 z2 X1 G! ~! ^3 `( gMAXGEN=100;   %最大遗传代数1000 Y6 y6 p5 z6 n8 y! n8 o* X$ Z+ h
NVAR=10;       %变量个数为10,前五个为半径,后五个位直波导长度9 `: I6 ?: [# X' w; y
PRECI=20;      %变量的二进制位数
- C! O: ~7 d9 ~: DGGAP=0.9;      %代沟/ x) P) Z3 P6 m3 n" {- z
trace1=[];
0 |( e5 ]6 }9 B' v! w# Q* F' f( `trace2=[];   %性能跟踪器,1、2分别为第一目标函数、第二目标函数的跟踪8 y4 [6 G! i; F, b- T, i* `* {$ h: y( Y
%建立区域描述器
/ u8 [! f7 q/ PFieldD=[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])];8 i+ o1 t2 c! {7 i
Chrom=crtbp(NIND,NVAR*PRECI);        %初始化种群; K" r2 m) }1 c" [
v=bs2rv(Chrom,FieldD)/1000;               %初始种群十进制转换(单位由mm转换为m)" d- f2 ?4 E( P$ A1 T
gen=1;                               %代计数器9 [$ y6 s1 K! O) @5 O
%遗传开始
' L/ K) H. y& k) d$ A$ F- m, gwhile gen<MAXGEN' f8 T: t5 r. v' }  E4 j: }6 j8 M, D
    [NIND,N]=size(Chrom);: q' _# ^6 q; w/ t
    M=fix(NIND/2);$ ^: F2 Y2 L1 w/ \9 f  B, d# g3 O1 F* f
    ObjV1=Highpass(v(1:M,);         %分组后高通目标函数值(单位m)
' q; j' z# _; ^" \: G% ^    FitnV1=ranking(-ObjV1);           %分配高通适应度值(求最大值)
: _, I/ T9 S; t! ~" L    SelCh1=select('sus', Chrom(1:M,,FitnV1,GGAP);      %调用随机遍历抽样函数sus对第一组种群基于适应度值进行选择
1 P5 w( W$ x( z' a0 }; A    ObjV2=Lowpass(v(M+1:NIND,);     %分组后低通目标函数值(单位m)0 z6 M) E: Y7 O- f& H+ j" j- Y
    FitnV2=ranking(ObjV2);            %分配低通适应度值(求最小值)
! i2 d: f- J' v; }: q    SelCh2=select('sus', Chrom((M+1):NIND,,FitnV2,GGAP);      %调用随机遍历抽样函数sus对第二组种群基于适应度值进行选择
7 L% S6 x6 e/ T+ h7 W    SelCh=[SelCh1;SelCh2];            %将两组选择后种群进行合并
# H" u8 {2 {- j5 ^% |/ T0 y$ m; M    SelCh=recombin('xovsp',SelCh,0.7);%以0.7的交叉概率进行单点交叉重组6 _2 M8 A" S. C( Z- z& r, ]" \
    Chrom=mut(SelCh);                 %变异6 E, ^7 k4 {5 M1 z  X
    %Chrom=reins(Chrom,SelCh);         %随机均匀选择重插入0 A2 ~6 v2 h0 G) q! j2 K, R. b
    v=bs2rv(Chrom,FieldD)/1000;            %将进化后种群十进制转换(单位由mm转换为m)
9 A6 w: r' w6 Q& Z/ `: ?" K    trace1(gen,1)=max(Highpass(v));
- \. v" O  s7 w! z    trace1(gen,2)=sum(Highpass(v))/length(Highpass(v));( V6 b) l- Q$ o% \; o( v7 y
    trace2(gen,1)=min(Lowpass(v));$ J* s' O  ?) s# w
    trace2(gen,2)=sum(Lowpass(v))/length(Lowpass(v));
! Y9 l, e! ~4 Z* H! Y, ?    gen=gen+1;# u( k: I! i' N! x
end
- k1 b, d! {7 h, Ffigure(1);clf;
& y* {0 A- ]4 `7 ]) Splot(trace1(:,1));hold on;plot(trace1(:,2),'-.');4 F1 ]+ Z7 a% n! F$ {$ u( v
plot(trace1(:,1),'.');plot(trace1(:,2),'.');grid;7 x$ t7 R- }. D- \# i% D& N+ [
legend('解的变化','种群均值的变化')
2 b4 A" j! C0 R# ~  v1 u( m8 cxlabel('迭代次数');ylabel('高通目标函数值');+ j7 R: s$ [0 D; K
figure(2);clf;- @  x. _# ~) |* Q! r# [9 u: \4 c; x
plot(trace2(:,1));hold on;
' N* d- I# W6 F6 ^9 M% F7 Aplot(trace2(:,2),'-.');
; r4 k4 x, b5 L$ a. bplot(trace2(:,1),'.');. ?0 t, r2 |9 J$ ~( j
plot(trace2(:,2),'.');grid;( T# \5 K  k8 f/ j/ w# u
legend('解的变化','种群均值的变化')
3 o" U9 K9 ]/ Y' t. `. l) [7 ]xlabel('迭代次数');ylabel('低通目标函数值');* L3 ]4 {2 j' }8 Y' A9 U
figure(3);clf;( M$ A) U2 I2 q" Y. C
plot(Highpass(v));hold on;
$ F5 {6 c# W. `3 E7 Splot(Lowpass(v),'r-.');grid;
& V' E% _2 a7 I: q8 Q* r/ R3 z. n8 M. l

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

1.jpg

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

2.jpg

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

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-4-13 09:01 , Processed in 0.440842 second(s), 62 queries .

回顶部