QQ登录

只需要一步,快速开始

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

[问题求助] 多目标优化

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

1

主题

9

听众

12

积分

升级  7.37%

该用户从未签到

自我介绍
勇往直前

社区QQ达人

跳转到指定楼层
1#
发表于 2016-5-19 20:18 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
4体力
在多目标优化时,优化结果没有同时让目标满足要求,下面是我的主代码和所得结果,请大神帮忙解答:
- j" g" l. l9 g6 J5 E% s6 R) qglobal u;
2 Q) @$ M3 Z4 _+ M9 P- ^6 o, d. i%贝塞尔函数求根
! F& R- A3 z3 @' @: T%设定模式数为20,对于TE模式需要求得一阶贝塞尔函数的前20个非零根& {( O# w  A& ?
maxs=20;%要求的贝塞尔函数的非零根个数. A: N' \! F& ]. l
incr=4.0;% ^" r- L0 g# o9 _% k! N+ n
u(1,1)=fzero(@(x)besselj(1,x),3.9);%一阶贝塞尔函数的第一个解(在3.9附近)6 a9 m, B: n( C4 p
for s=2:maxs
% e7 v0 i4 e/ V1 ~6 Y    u(1,s)=fzero(@(x)besselj(1,x),u(1,s-1)+incr);%在第一个解加4附近求零阶贝塞尔函数的第二个及以上的解) k: q! r9 p, V' {0 L
end9 Y9 M- o+ g: \" ^
NIND=40;      %个体数目40
3 e7 }% q3 e# O- f$ S) k) iMAXGEN=100;   %最大遗传代数1009 ?. N  G' }, m+ {8 _/ Z
NVAR=10;       %变量个数为10,前五个为半径,后五个位直波导长度
- U- L' j) n, ~! iPRECI=20;      %变量的二进制位数* i1 ~4 O& F& v6 k  g- |8 Y
GGAP=0.9;      %代沟5 h' {5 f3 C& ]1 b
trace1=[];' E& \# A$ h8 a1 j4 j
trace2=[];   %性能跟踪器,1、2分别为第一目标函数、第二目标函数的跟踪
, E* S. L3 o, r* _/ S4 c%建立区域描述器
2 v8 [0 }/ k  zFieldD=[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])];
' @  q4 n* y/ U/ f% tChrom=crtbp(NIND,NVAR*PRECI);        %初始化种群6 m* D0 b7 B  k$ A; P! c
v=bs2rv(Chrom,FieldD)/1000;               %初始种群十进制转换(单位由mm转换为m)
- A& T8 @: e3 V+ ?8 j# k- ngen=1;                               %代计数器  a, r( p0 l1 j3 z2 D' A. t
%遗传开始
' m! \% `$ t4 \6 o4 C7 r1 s, Owhile gen<MAXGEN& W0 W; z  P9 D' R% v3 t. A/ V/ A) K
    [NIND,N]=size(Chrom);1 ]' G; Q7 u0 o3 r; v
    M=fix(NIND/2);
# F3 j; X  `8 x6 Z/ S( p! o* s    ObjV1=Highpass(v(1:M,);         %分组后高通目标函数值(单位m)
8 a0 e4 E  c& [    FitnV1=ranking(-ObjV1);           %分配高通适应度值(求最大值)
6 `4 b! F1 r2 E. }" J    SelCh1=select('sus', Chrom(1:M,,FitnV1,GGAP);      %调用随机遍历抽样函数sus对第一组种群基于适应度值进行选择
  X( U8 ~# ~" j    ObjV2=Lowpass(v(M+1:NIND,);     %分组后低通目标函数值(单位m)
6 Y6 K6 `& a+ I) [$ l4 A( J7 j    FitnV2=ranking(ObjV2);            %分配低通适应度值(求最小值)
  ~3 R3 H+ |! F& L  v    SelCh2=select('sus', Chrom((M+1):NIND,,FitnV2,GGAP);      %调用随机遍历抽样函数sus对第二组种群基于适应度值进行选择+ v8 N/ ~+ H. ^' I' g- j7 F: N% X
    SelCh=[SelCh1;SelCh2];            %将两组选择后种群进行合并  p' b5 o& e% c0 {3 q
    SelCh=recombin('xovsp',SelCh,0.7);%以0.7的交叉概率进行单点交叉重组
: G& \, W# l' b* g% ?    Chrom=mut(SelCh);                 %变异, P( L/ V7 C3 f+ M% b
    %Chrom=reins(Chrom,SelCh);         %随机均匀选择重插入- J, S! ~+ ]% c; {
    v=bs2rv(Chrom,FieldD)/1000;            %将进化后种群十进制转换(单位由mm转换为m)" J0 w3 m# A. C% T; Y  j
    trace1(gen,1)=max(Highpass(v));
5 t9 K6 ^  H) W0 V    trace1(gen,2)=sum(Highpass(v))/length(Highpass(v));5 L9 J& b2 t1 T! h9 |; F* A4 [5 V
    trace2(gen,1)=min(Lowpass(v));+ O& @# N# u9 e! b
    trace2(gen,2)=sum(Lowpass(v))/length(Lowpass(v));5 F7 e+ a5 Q# R4 l$ |: ]1 E
    gen=gen+1;: A! v: ?# s2 K9 {
end2 P$ _4 g& _0 C3 ~
figure(1);clf;
- @$ q4 B# O: p* tplot(trace1(:,1));hold on;plot(trace1(:,2),'-.');7 R. s+ B. q" e% e& T3 v7 ^
plot(trace1(:,1),'.');plot(trace1(:,2),'.');grid;  f7 k( ~- Z/ x1 m, E4 z( e
legend('解的变化','种群均值的变化')6 o  D/ s, |' w
xlabel('迭代次数');ylabel('高通目标函数值');
% u! r6 k: P; N7 qfigure(2);clf;
7 I0 @( O" y/ n0 l" u4 jplot(trace2(:,1));hold on;# I7 a, ^+ T5 `  i
plot(trace2(:,2),'-.');
1 e" B, t* x9 b1 D. g* Fplot(trace2(:,1),'.');
6 I) K2 o* s5 w) Fplot(trace2(:,2),'.');grid;2 j! X/ C+ _$ o6 G! W. b# K5 e
legend('解的变化','种群均值的变化')) Q5 M4 y9 Q& w* r( f% H4 ]
xlabel('迭代次数');ylabel('低通目标函数值');
% y7 `& N0 l& u# a5 Ofigure(3);clf;6 j3 h2 Y& ^8 }1 f% v) k
plot(Highpass(v));hold on;5 {5 `! U8 `1 R
plot(Lowpass(v),'r-.');grid;; _" y  p1 V1 f) A& m: C
$ u  J4 ~( [4 M9 A! W2 s2 G( d

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

1.jpg

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

2.jpg

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

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-5-28 11:11 , Processed in 0.280004 second(s), 63 queries .

回顶部