QQ登录

只需要一步,快速开始

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

[问题求助] 多目标优化

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

1

主题

9

听众

12

积分

升级  7.37%

该用户从未签到

自我介绍
勇往直前

社区QQ达人

跳转到指定楼层
1#
发表于 2016-5-19 20:18 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
4体力
在多目标优化时,优化结果没有同时让目标满足要求,下面是我的主代码和所得结果,请大神帮忙解答:; G* H, A' ?$ F
global u;) L8 M+ u' Z' X7 @$ A: c, ~
%贝塞尔函数求根
8 @7 s  f: X- D0 X0 y( r%设定模式数为20,对于TE模式需要求得一阶贝塞尔函数的前20个非零根' _0 r* g$ t' ~* z, [7 j' W
maxs=20;%要求的贝塞尔函数的非零根个数
$ P) H2 K" J8 c/ Eincr=4.0;
$ D% T# Q& f6 c  eu(1,1)=fzero(@(x)besselj(1,x),3.9);%一阶贝塞尔函数的第一个解(在3.9附近)3 h, o0 K8 B3 R# `8 B
for s=2:maxs  F! P7 I# V. p% K. Y7 ^
    u(1,s)=fzero(@(x)besselj(1,x),u(1,s-1)+incr);%在第一个解加4附近求零阶贝塞尔函数的第二个及以上的解
4 }0 f# b& c4 G/ U' g1 @end
( b" @4 d0 P! p  {( ^7 I! i/ hNIND=40;      %个体数目400 T0 u9 K/ G" X7 y
MAXGEN=100;   %最大遗传代数1009 ~. N- m: p( E* W* @0 D8 T
NVAR=10;       %变量个数为10,前五个为半径,后五个位直波导长度
& N. o- X0 A- E1 KPRECI=20;      %变量的二进制位数# B: ?. [: F2 Z: u& q2 n
GGAP=0.9;      %代沟
, t( m& c# ]! Y( otrace1=[];9 e  f. ~: H1 g  [
trace2=[];   %性能跟踪器,1、2分别为第一目标函数、第二目标函数的跟踪
9 p: e) a! o4 J0 @( [7 M: Y%建立区域描述器. i- u5 o9 U' Q
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])];
+ m9 c8 a- R. [3 ^) C: v6 KChrom=crtbp(NIND,NVAR*PRECI);        %初始化种群- r4 S9 C7 B+ g' _1 s) t
v=bs2rv(Chrom,FieldD)/1000;               %初始种群十进制转换(单位由mm转换为m)# ]- H& C* C- b, e  ^  a
gen=1;                               %代计数器+ G% d& l6 B# H( p& M! ]8 M
%遗传开始0 w; r* }& R5 O, N1 `0 ~# J
while gen<MAXGEN: B* P) [# t1 M& G
    [NIND,N]=size(Chrom);
6 Y. d! s% w; _. v+ `% b    M=fix(NIND/2);( Q  j+ s6 l1 @. r% ^' w- r
    ObjV1=Highpass(v(1:M,);         %分组后高通目标函数值(单位m): y  O! M: {! D- u* B
    FitnV1=ranking(-ObjV1);           %分配高通适应度值(求最大值)
# \; |) N" o+ F    SelCh1=select('sus', Chrom(1:M,,FitnV1,GGAP);      %调用随机遍历抽样函数sus对第一组种群基于适应度值进行选择' y9 T0 Q+ Z- w! Z) `6 q' D
    ObjV2=Lowpass(v(M+1:NIND,);     %分组后低通目标函数值(单位m)
2 R6 @" @, o7 b/ a, |    FitnV2=ranking(ObjV2);            %分配低通适应度值(求最小值)* X. l) a. U1 N  K* m0 t1 t& A
    SelCh2=select('sus', Chrom((M+1):NIND,,FitnV2,GGAP);      %调用随机遍历抽样函数sus对第二组种群基于适应度值进行选择
# a; T/ }4 |! x    SelCh=[SelCh1;SelCh2];            %将两组选择后种群进行合并. v& c5 \1 i, r; ?: `4 X' g
    SelCh=recombin('xovsp',SelCh,0.7);%以0.7的交叉概率进行单点交叉重组! R5 W6 _& P8 H( E: r
    Chrom=mut(SelCh);                 %变异
6 @7 a) H$ X, S" c    %Chrom=reins(Chrom,SelCh);         %随机均匀选择重插入
4 _, D$ d" ?. ~$ y7 e0 j    v=bs2rv(Chrom,FieldD)/1000;            %将进化后种群十进制转换(单位由mm转换为m)1 H; F& W* F+ d9 V" D& j5 E
    trace1(gen,1)=max(Highpass(v));
6 o+ i8 Q( J0 y& \7 o    trace1(gen,2)=sum(Highpass(v))/length(Highpass(v));
8 M5 Q! F3 B- z. _: K3 y' i    trace2(gen,1)=min(Lowpass(v));/ P; I7 i7 p2 z
    trace2(gen,2)=sum(Lowpass(v))/length(Lowpass(v));2 W8 g3 {! C* A
    gen=gen+1;
  h2 }9 ?/ m9 k: |end
7 h! [% G  A  s: I, k2 kfigure(1);clf;) G! E5 {1 J3 E; X
plot(trace1(:,1));hold on;plot(trace1(:,2),'-.');1 G# L; x- P8 o' ^$ y) E  R6 ]2 I, k& b
plot(trace1(:,1),'.');plot(trace1(:,2),'.');grid;% s! T- i) k/ R5 O& g* x4 N% I
legend('解的变化','种群均值的变化'). [3 Y/ v7 ^  k" m
xlabel('迭代次数');ylabel('高通目标函数值');! O- S4 C6 w6 {$ s- t" [/ I0 @6 g+ e
figure(2);clf;
5 Y% f! ^  V2 g& K2 `plot(trace2(:,1));hold on;
7 J4 Z2 ?& K+ V* Oplot(trace2(:,2),'-.');
* Y) i* r$ f0 N8 Q6 Pplot(trace2(:,1),'.');8 U( |& a6 [5 y/ N2 B( w$ M9 m( l
plot(trace2(:,2),'.');grid;
$ ?# D- x  C! E( J: f9 M- Ylegend('解的变化','种群均值的变化')3 ~& v( N' o" y( }" s
xlabel('迭代次数');ylabel('低通目标函数值');- a1 p7 F8 E+ f& M* I
figure(3);clf;% [9 [( Z' W$ J
plot(Highpass(v));hold on;
& Z- S7 h; {( m* A1 B% k, N$ oplot(Lowpass(v),'r-.');grid;8 U/ M4 x" b0 o- Q

" C) f/ M+ Q' K

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-21 11:27 , Processed in 0.399395 second(s), 62 queries .

回顶部