QQ登录

只需要一步,快速开始

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

[问题求助] 多目标优化

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

1

主题

9

听众

12

积分

升级  7.37%

该用户从未签到

自我介绍
勇往直前

社区QQ达人

跳转到指定楼层
1#
发表于 2016-5-19 20:18 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
4体力
在多目标优化时,优化结果没有同时让目标满足要求,下面是我的主代码和所得结果,请大神帮忙解答:
" h% y& J8 v2 u# hglobal u;9 t  P4 W, N$ H; w8 o6 M
%贝塞尔函数求根
5 O5 h2 v+ d7 y%设定模式数为20,对于TE模式需要求得一阶贝塞尔函数的前20个非零根" R/ F/ D* a1 j2 N
maxs=20;%要求的贝塞尔函数的非零根个数. l- i, s; Z1 r, c( G+ r
incr=4.0;, V  W* c% @: S
u(1,1)=fzero(@(x)besselj(1,x),3.9);%一阶贝塞尔函数的第一个解(在3.9附近)
2 i) E1 ?9 P, zfor s=2:maxs
2 {. Z$ j  |$ d; M- d; |5 v    u(1,s)=fzero(@(x)besselj(1,x),u(1,s-1)+incr);%在第一个解加4附近求零阶贝塞尔函数的第二个及以上的解
: ^& s1 u3 q; M  Oend
+ g1 x2 z; s& p. GNIND=40;      %个体数目40
$ @/ F% k" j$ g$ x7 oMAXGEN=100;   %最大遗传代数100
- q, L( L- B$ b& DNVAR=10;       %变量个数为10,前五个为半径,后五个位直波导长度
: U* Z! X7 Z0 iPRECI=20;      %变量的二进制位数3 G$ ^1 [+ K% o/ h& M% p% Q! @
GGAP=0.9;      %代沟
* g0 i* {+ K  E5 C7 |; Ttrace1=[];
8 ?' l3 o# `( K/ a$ d( Vtrace2=[];   %性能跟踪器,1、2分别为第一目标函数、第二目标函数的跟踪& }3 I+ z* `" T4 @6 R
%建立区域描述器0 U5 O; `8 l! H% z  O/ O
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])];) G  ~8 a+ w1 K5 ], v. B
Chrom=crtbp(NIND,NVAR*PRECI);        %初始化种群8 c; r% e) i' m
v=bs2rv(Chrom,FieldD)/1000;               %初始种群十进制转换(单位由mm转换为m)0 |* }7 y6 g+ f
gen=1;                               %代计数器
: ]6 k- ^4 [$ m9 v. n2 f9 i. P%遗传开始- I3 _/ ?: `: X  T+ K
while gen<MAXGEN4 I7 O& }; n' x, ~
    [NIND,N]=size(Chrom);* `1 S* Q( T) Y  M0 s. D
    M=fix(NIND/2);2 ?& {% }+ `+ Q) i
    ObjV1=Highpass(v(1:M,);         %分组后高通目标函数值(单位m)
6 t) Y  [% N7 |: y, @    FitnV1=ranking(-ObjV1);           %分配高通适应度值(求最大值)$ ]. E  f; V5 _8 g. A5 T
    SelCh1=select('sus', Chrom(1:M,,FitnV1,GGAP);      %调用随机遍历抽样函数sus对第一组种群基于适应度值进行选择2 v% h! i# |+ {2 T( d+ l0 e4 n% e8 i
    ObjV2=Lowpass(v(M+1:NIND,);     %分组后低通目标函数值(单位m)
: u" Q- I# \" g( q9 f    FitnV2=ranking(ObjV2);            %分配低通适应度值(求最小值)% o' E0 t5 y( a  {4 I# S
    SelCh2=select('sus', Chrom((M+1):NIND,,FitnV2,GGAP);      %调用随机遍历抽样函数sus对第二组种群基于适应度值进行选择" y. o+ ^, x8 r  P+ ~( L. C
    SelCh=[SelCh1;SelCh2];            %将两组选择后种群进行合并
: b: Z7 `6 k9 i& O    SelCh=recombin('xovsp',SelCh,0.7);%以0.7的交叉概率进行单点交叉重组$ {' K. a3 |7 I+ T9 ]
    Chrom=mut(SelCh);                 %变异
/ p- m4 {( ~: H! s    %Chrom=reins(Chrom,SelCh);         %随机均匀选择重插入
$ s4 }. [; ^* N7 c    v=bs2rv(Chrom,FieldD)/1000;            %将进化后种群十进制转换(单位由mm转换为m)0 m6 [0 I& f5 ]5 R8 e- n$ X% R
    trace1(gen,1)=max(Highpass(v));
# \+ d1 [+ L! m) b2 l. k; C    trace1(gen,2)=sum(Highpass(v))/length(Highpass(v));
% a: C) G' m+ X    trace2(gen,1)=min(Lowpass(v));- n: c1 T' L8 V# x
    trace2(gen,2)=sum(Lowpass(v))/length(Lowpass(v));) m: k" e1 I2 a; B
    gen=gen+1;
  X, ?# ]- N0 S0 U! n; ?1 q7 ~( Qend
# o6 a/ {/ @; v' I) _7 |; m5 jfigure(1);clf;
! W' \/ h) ^# |; \+ {plot(trace1(:,1));hold on;plot(trace1(:,2),'-.');
+ u! ?& L" f3 G2 n' Hplot(trace1(:,1),'.');plot(trace1(:,2),'.');grid;( p" l% K, X. K" Q8 R4 c8 _
legend('解的变化','种群均值的变化')) s: j, \& c: n  B+ h6 `
xlabel('迭代次数');ylabel('高通目标函数值');
9 j3 g6 h9 N: Y6 tfigure(2);clf;# l: n) j$ r6 l5 P
plot(trace2(:,1));hold on;4 ~: b, C3 e6 X6 e) Z* u/ N
plot(trace2(:,2),'-.');
  P* y% \1 B3 Q3 A' \, y6 N0 `plot(trace2(:,1),'.');4 b$ \6 `& X* V0 f$ A: ^
plot(trace2(:,2),'.');grid;
8 M! i8 Q/ {: ]( ?7 a6 zlegend('解的变化','种群均值的变化')
3 o, n! Z; \8 {7 o6 z, |xlabel('迭代次数');ylabel('低通目标函数值');
) [( B$ ?- v" afigure(3);clf;
$ S& f* C  V7 z" s2 Q. A. a5 _plot(Highpass(v));hold on;3 I% c9 v+ ~& [! Y
plot(Lowpass(v),'r-.');grid;
# n9 Y9 q: I; r  e& Q& ?( V- @  W9 l0 x& u8 O

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

1.jpg

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

2.jpg

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

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, 2025-10-15 03:48 , Processed in 0.547440 second(s), 62 queries .

回顶部