QQ登录

只需要一步,快速开始

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

[问题求助] 多目标优化

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

1

主题

9

听众

12

积分

升级  7.37%

该用户从未签到

自我介绍
勇往直前

社区QQ达人

跳转到指定楼层
1#
发表于 2016-5-19 20:18 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
4体力
在多目标优化时,优化结果没有同时让目标满足要求,下面是我的主代码和所得结果,请大神帮忙解答:9 r; B% L! r8 h/ S, ]) s) n+ I
global u;
5 x1 E% j. _5 }- O6 X, s0 z9 d! h%贝塞尔函数求根# @* V- R  m% [
%设定模式数为20,对于TE模式需要求得一阶贝塞尔函数的前20个非零根* k! ], D4 M  V+ ?( ?6 J; D7 h
maxs=20;%要求的贝塞尔函数的非零根个数& I/ w( t4 J5 }% m* K% P- x2 A8 u2 D
incr=4.0;& i: A( d6 c8 b) `
u(1,1)=fzero(@(x)besselj(1,x),3.9);%一阶贝塞尔函数的第一个解(在3.9附近)% p( z) M  N' g, A# |( `
for s=2:maxs/ y5 B; d9 k* }; j1 R% k
    u(1,s)=fzero(@(x)besselj(1,x),u(1,s-1)+incr);%在第一个解加4附近求零阶贝塞尔函数的第二个及以上的解
7 y5 d; C5 ?+ @. Mend
- \1 V' m/ ]  _1 FNIND=40;      %个体数目403 A& c+ ]5 r5 v* K: O# J
MAXGEN=100;   %最大遗传代数100$ o1 m) s% Z( o2 A* S- }1 K9 y
NVAR=10;       %变量个数为10,前五个为半径,后五个位直波导长度$ j* w& i* @, b
PRECI=20;      %变量的二进制位数! i; x9 U& P0 X
GGAP=0.9;      %代沟  _; r* e5 V# s" k
trace1=[];
* H. P2 }4 s) H2 D1 g0 Atrace2=[];   %性能跟踪器,1、2分别为第一目标函数、第二目标函数的跟踪
: J; f  M4 n% {0 n6 d# ]%建立区域描述器
3 h8 o' P5 d& l- LFieldD=[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])];
$ y0 o& ?- ]7 g1 f$ fChrom=crtbp(NIND,NVAR*PRECI);        %初始化种群7 `7 V0 f! G& p6 ^) q2 S
v=bs2rv(Chrom,FieldD)/1000;               %初始种群十进制转换(单位由mm转换为m)  [( o! g- J7 h( D
gen=1;                               %代计数器, w2 l/ s$ i: d) @
%遗传开始: K% [' g' x4 k, t) D1 C2 P, D
while gen<MAXGEN. A1 ~" |' ?* }' o
    [NIND,N]=size(Chrom);7 q+ R: }  G: {. C! H- U1 k
    M=fix(NIND/2);
( s9 j4 j3 ~& X1 l" q) O; N    ObjV1=Highpass(v(1:M,);         %分组后高通目标函数值(单位m)2 [/ ^. C( ~! v4 ^8 a
    FitnV1=ranking(-ObjV1);           %分配高通适应度值(求最大值)
$ a+ J% d2 e: `: U9 x    SelCh1=select('sus', Chrom(1:M,,FitnV1,GGAP);      %调用随机遍历抽样函数sus对第一组种群基于适应度值进行选择, z3 M% h0 B  Z
    ObjV2=Lowpass(v(M+1:NIND,);     %分组后低通目标函数值(单位m)
' C; j: E/ W" U. o    FitnV2=ranking(ObjV2);            %分配低通适应度值(求最小值)' w1 r) [! s  R* U
    SelCh2=select('sus', Chrom((M+1):NIND,,FitnV2,GGAP);      %调用随机遍历抽样函数sus对第二组种群基于适应度值进行选择/ h( L3 _# ?/ T2 s
    SelCh=[SelCh1;SelCh2];            %将两组选择后种群进行合并
5 P7 Q! M" A4 F/ e# x* h    SelCh=recombin('xovsp',SelCh,0.7);%以0.7的交叉概率进行单点交叉重组
1 v: Y+ o. v( r2 e3 K    Chrom=mut(SelCh);                 %变异
" f  D( f3 Y" }' p    %Chrom=reins(Chrom,SelCh);         %随机均匀选择重插入
; Z# k, i6 O$ {  c    v=bs2rv(Chrom,FieldD)/1000;            %将进化后种群十进制转换(单位由mm转换为m)
! {) W. C3 ~3 j1 ?, ~4 B    trace1(gen,1)=max(Highpass(v));8 h, S: S' N* j" a: j
    trace1(gen,2)=sum(Highpass(v))/length(Highpass(v));$ R+ o6 G" n# C/ x& |' A. c7 `
    trace2(gen,1)=min(Lowpass(v));
% W; R; L  @3 K* R7 ?* i' e" @    trace2(gen,2)=sum(Lowpass(v))/length(Lowpass(v));8 Z( b* z4 H7 `3 E5 U! l* `
    gen=gen+1;& x* c7 N( g' s1 A' P
end7 b$ t1 n' o8 w+ E2 p1 q- g
figure(1);clf;; r4 d; u. q0 @
plot(trace1(:,1));hold on;plot(trace1(:,2),'-.');4 V& ^: h! t* {2 e* ?8 p/ f9 x0 X
plot(trace1(:,1),'.');plot(trace1(:,2),'.');grid;1 k. ^( A: d) C; ^- M* p% M* C
legend('解的变化','种群均值的变化')
* ?4 ~1 a6 N: d4 M' P- h4 uxlabel('迭代次数');ylabel('高通目标函数值');
8 @# ]5 @& D2 M9 u1 mfigure(2);clf;  d3 L4 w3 _+ m# A% b
plot(trace2(:,1));hold on;
  E+ l0 C) |2 ~9 e! ?) c4 @# uplot(trace2(:,2),'-.');
3 E6 o) c6 A4 ^plot(trace2(:,1),'.');, R( q2 C" y6 a  j( U$ P/ y
plot(trace2(:,2),'.');grid;
. j9 i: |6 J6 y# L) p% K: Elegend('解的变化','种群均值的变化')
( Y" u2 K# \- o$ c  h& z, ~0 |xlabel('迭代次数');ylabel('低通目标函数值');
' p  z! C5 n) s9 Xfigure(3);clf;
( I, X( V4 H9 Kplot(Highpass(v));hold on;: ^3 _" k& V- A+ [0 d& J0 B
plot(Lowpass(v),'r-.');grid;4 S3 T! P; g/ `# K  y0 E

! B( W  {5 w0 ^8 w" h" m

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

1.jpg

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

2.jpg

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

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, 2024-4-27 05:16 , Processed in 0.368826 second(s), 64 queries .

回顶部