QQ登录

只需要一步,快速开始

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

[问题求助] 多目标优化

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

1

主题

9

听众

12

积分

升级  7.37%

该用户从未签到

自我介绍
勇往直前

社区QQ达人

跳转到指定楼层
1#
发表于 2016-5-19 20:18 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
4体力
在多目标优化时,优化结果没有同时让目标满足要求,下面是我的主代码和所得结果,请大神帮忙解答:
, J; q# y7 y( p9 c% cglobal u;
- Y3 R& X0 u1 [4 W1 U5 ?3 [%贝塞尔函数求根
$ ^' x' X, u* O+ D: y4 c5 v; U%设定模式数为20,对于TE模式需要求得一阶贝塞尔函数的前20个非零根
3 j7 ?. I9 D; w' qmaxs=20;%要求的贝塞尔函数的非零根个数9 X. ^4 P% O: ?
incr=4.0;$ f" F- r) l& p8 q4 x
u(1,1)=fzero(@(x)besselj(1,x),3.9);%一阶贝塞尔函数的第一个解(在3.9附近)
1 _9 p" W9 r4 m3 ~. X* dfor s=2:maxs
+ O, H' D. F* R/ t3 H- ^0 ~    u(1,s)=fzero(@(x)besselj(1,x),u(1,s-1)+incr);%在第一个解加4附近求零阶贝塞尔函数的第二个及以上的解+ _4 u9 c) Q0 S0 n) @
end
) X! j# S0 I; K2 ENIND=40;      %个体数目40' E9 ^: U# N: b% ^0 j' H4 {
MAXGEN=100;   %最大遗传代数100
" A6 v+ ]0 ~9 ]* c/ bNVAR=10;       %变量个数为10,前五个为半径,后五个位直波导长度
$ p% \) b. S) T* tPRECI=20;      %变量的二进制位数
9 V5 H# h% A( ?' A+ p2 z' ?GGAP=0.9;      %代沟
( @- @2 c7 G- y, Utrace1=[];
/ i, a) ]* y3 S) t* v  rtrace2=[];   %性能跟踪器,1、2分别为第一目标函数、第二目标函数的跟踪
- K( Q) A/ ]3 K) F' F4 V%建立区域描述器
% G: O7 A, h% U- TFieldD=[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])];4 n$ v, S9 y4 K! I, N6 i: q+ U
Chrom=crtbp(NIND,NVAR*PRECI);        %初始化种群
6 k6 f1 l9 M" Y3 i, Cv=bs2rv(Chrom,FieldD)/1000;               %初始种群十进制转换(单位由mm转换为m): K* O8 z) `4 N  x9 Z) ~. m
gen=1;                               %代计数器
/ C8 o) x4 n# R+ N* M% x+ }%遗传开始
: A8 K* Q2 U# Z5 N3 K" Bwhile gen<MAXGEN
. s4 ^- z# p1 U  |: k# @    [NIND,N]=size(Chrom);% P4 X; u# }3 k( U
    M=fix(NIND/2);
# f* P" Z; C3 u* I    ObjV1=Highpass(v(1:M,);         %分组后高通目标函数值(单位m)
0 K6 \7 I; ~8 |    FitnV1=ranking(-ObjV1);           %分配高通适应度值(求最大值)
. W( b# J1 \$ X  Q' s    SelCh1=select('sus', Chrom(1:M,,FitnV1,GGAP);      %调用随机遍历抽样函数sus对第一组种群基于适应度值进行选择8 w' G/ E: k, Q, X
    ObjV2=Lowpass(v(M+1:NIND,);     %分组后低通目标函数值(单位m)
2 z- y5 `# t. r4 h    FitnV2=ranking(ObjV2);            %分配低通适应度值(求最小值)
9 h; y5 W. m4 W" }% x# ]% L    SelCh2=select('sus', Chrom((M+1):NIND,,FitnV2,GGAP);      %调用随机遍历抽样函数sus对第二组种群基于适应度值进行选择
/ \6 h* [  M  Y/ Q    SelCh=[SelCh1;SelCh2];            %将两组选择后种群进行合并
! U0 ]% }* e& R' j    SelCh=recombin('xovsp',SelCh,0.7);%以0.7的交叉概率进行单点交叉重组( x) N8 W4 E" ]8 h% K" U" n+ w
    Chrom=mut(SelCh);                 %变异
5 F5 L+ B& i( ^( u# e7 C% i% s    %Chrom=reins(Chrom,SelCh);         %随机均匀选择重插入
2 H2 f) H0 ?* F    v=bs2rv(Chrom,FieldD)/1000;            %将进化后种群十进制转换(单位由mm转换为m). o" \2 o$ `; S4 u* {  s* o4 }  b
    trace1(gen,1)=max(Highpass(v));7 N7 X. G: W! n; F+ f0 j# A& y
    trace1(gen,2)=sum(Highpass(v))/length(Highpass(v));/ o4 K0 m# b# b* ~  w
    trace2(gen,1)=min(Lowpass(v));
& p# O) C1 {( C0 y  H0 P    trace2(gen,2)=sum(Lowpass(v))/length(Lowpass(v));9 t: Y4 N& x( T3 q8 M6 e' ^
    gen=gen+1;. Z% I  r! z& x0 m
end3 u, J; i. Z% Y/ o  B- |
figure(1);clf;
6 \. V2 A' l. p5 Iplot(trace1(:,1));hold on;plot(trace1(:,2),'-.');
1 {# k- f" D* y, O4 Rplot(trace1(:,1),'.');plot(trace1(:,2),'.');grid;
- v8 o4 w# ?7 M9 T/ g5 wlegend('解的变化','种群均值的变化')0 L" r5 e! o1 i) P5 h
xlabel('迭代次数');ylabel('高通目标函数值');9 [8 j+ w9 D; y1 w: S* L
figure(2);clf;$ M0 I4 Z- r) |2 }) V% G* D) z
plot(trace2(:,1));hold on;9 a2 {4 \- B) }* p/ r
plot(trace2(:,2),'-.');% C6 K2 _, n  ]7 {( s: J
plot(trace2(:,1),'.');0 |, U# A0 g4 e5 B/ G
plot(trace2(:,2),'.');grid;0 \7 n# P$ Z7 F2 R' Q* j9 w
legend('解的变化','种群均值的变化'). I5 X% B5 O' L( {
xlabel('迭代次数');ylabel('低通目标函数值');
. c) n6 S6 |! A( \figure(3);clf;" q; E9 c4 h7 o+ H3 P* `- L
plot(Highpass(v));hold on;
( M- a( U7 t% uplot(Lowpass(v),'r-.');grid;2 H1 J8 b- b" S$ D! @. h/ ^5 F" ]

+ p. |5 s+ G1 `+ X

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-14 00:11 , Processed in 0.465731 second(s), 63 queries .

回顶部