| 2 | 1/1 | 返回列表 |
| 查看: 3457 | 回復: 1 | |||
tanzouqing新蟲 (小有名氣)
|
[求助]
Matlab的遺傳算法求解多目標優(yōu)化問題
|
|
下面是經(jīng)典的基于Matlab的遺傳算法的多目標優(yōu)化程序, 我的疑問: 為何沒有為何沒有”重插入子代的新種群”這一步驟? 如reins重新插入函數(shù) M文件func1.m function f1=func1(x) f1=x(:,1).*x(:,1)/4+x(:,2).*x(:,2)/4; %第一目標函數(shù) M文件func2.m function f2=func2(x) f2=x(:,1).*(1-x(:,2))+10; %第二目標函數(shù) M文件GA-func.m function GA() clear;clc;close all NIND=100; %個體數(shù)目 MAXGEN=50; %最大遺傳代數(shù) NVAR=2; %變量個數(shù) PRECI=20; %變量的二進制位數(shù) GGAP=0.9; %代溝 trace1=[];trace2=[];trace3=[]; %性能跟蹤 %建立區(qū)域描述器 % rep([PRECI],[1,NVAR]) FieldD=[rep([PRECI],[1,NVAR]);rep([1;2],[1,NVAR]);rep([1;0;1;1],[1,NVAR])]; Chrom=crtbp(NIND,NVAR*PRECI); %初始種群 v=bs2rv(Chrom,FieldD) ; %初始種群十進制轉(zhuǎn)換 gen=1; while gen M=fix(NIND/2); ObjV1=func1(v(1:M, ); %分組后第一目標函數(shù)值FitnV1=ranking(ObjV1); %分配適應度值 SelCh1=select('sus',Chrom(1:M, ,FitnV1,GGAP); %選擇ObjV2=func2(v(M+1:NIND, ); %分組后第二目標函數(shù)值FitnV2=ranking(ObjV2); %分配適應度值 SelCh2=select('sus',Chrom(M+1:NIND, ,FitnV2,GGAP); %選擇SelCh=[SelCh1;SelCh2]; %合并 SelCh=recombin('xovsp',SelCh,0.7); %重組 Chrom=mut(SelCh); %變異 v=bs2rv(Chrom,FieldD); %二進制轉(zhuǎn)化為十進制 trace1(gen,1)=min(func1(v)); trace1(gen,2)=sum(func1(v))/length(func1(v)); trace2(gen,1)=min(func2(v)); trace2(gen,2)=sum(func2(v))/length(func2(v)); trace3(gen,1)=min(func1(v)+func2(v)); trace3(gen,2)=sum(func1(v))/length(func1(v))+sum(func2(v))/length(func2(v)); gen=gen+1; end figure(1);clf; plot(trace1(:,1));hold on;plot(trace1(:,2),'-.'); plot(trace1(:,1),'.');plot(trace1(:,2),'.');grid on; legend('解的變化','種群均值的變化') xlabel('迭代次數(shù)');ylabel('第一目標函數(shù)值'); figure(2);clf; plot(trace2(:,1));hold on; plot(trace2(:,2),'-.'); plot(trace2(:,1),'.'); plot(trace2(:,2),'.');grid; legend('解的變化','種群均值的變化'); xlabel('迭代次數(shù)');ylabel('第二目標函數(shù)值'); figure(3);clf; plot(trace3(:,1));hold on; plot(trace3(:,2),'-.'); plot(trace3(:,1),'.'); plot(trace3(:,2),'.');grid; legend('解的變化','種群均值的變化'); xlabel('迭代次數(shù)');ylabel('目標函數(shù)值之和'); figure(4);clf;plot(func1(v));hold on; plot(func2(v),'r-.');grid; [v,func1(v),func2(v)] %查看數(shù)值結果 |
|
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料/農(nóng)業(yè)專業(yè),07/08開頭均可,過線就行 +3 | 呵唔哦豁 2026-03-23 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 327求調(diào)劑 +5 | prayer13 2026-03-23 | 5/250 |
|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +7 | 生物工程調(diào)劑 2026-03-17 | 12/600 |
|
|
[考研] 263求調(diào)劑 +6 | yqdszhdap- 2026-03-22 | 9/450 |
|
|
[考研] 070300,一志愿北航320求調(diào)劑 +3 | Jerry0216 2026-03-22 | 5/250 |
|
|
[考研] 323求調(diào)劑 +6 | 洼小桶 2026-03-18 | 6/300 |
|
|
[考研] 0854電子信息求調(diào)劑 +3 | α____ 2026-03-22 | 3/150 |
|
|
[考研] 求調(diào)劑 +7 | Auroracx 2026-03-22 | 7/350 |
|
|
[考研] 材料學碩301分求調(diào)劑 +7 | Liyouyumairs 2026-03-21 | 7/350 |
|
|
[考研] 311求調(diào)劑 +3 | 勇敢的小吳 2026-03-20 | 3/150 |
|
|
[考研] 299求調(diào)劑 +5 | shxchem 2026-03-20 | 7/350 |
|
|
[考研] 0805材料320求調(diào)劑 +3 | 深海物語 2026-03-20 | 3/150 |
|
|
[考研] 材料與化工(0856)304求 B區(qū) 調(diào)劑 +3 | 邱gl 2026-03-21 | 3/150 |
|
|
[考研] 332求調(diào)劑 +3 | 鳳凰院丁真 2026-03-20 | 3/150 |
|
|
[考研] 南昌大學材料專碩311分求調(diào)劑 +6 | 77chaselx 2026-03-20 | 6/300 |
|
|
[考研] 288求調(diào)劑 +16 | 于海海海海 2026-03-19 | 16/800 |
|
|
[考研] 一志愿蘇州大學材料求調(diào)劑,總分315(英一) +5 | sbdksD 2026-03-19 | 5/250 |
|
|
[考研] 廣西大學家禽遺傳育種課題組2026年碩士招生(接收計算機專業(yè)調(diào)劑) +3 | 123阿標 2026-03-17 | 3/150 |
|
|
[考研] 0703化學調(diào)劑 +4 | 18889395102 2026-03-18 | 4/200 |
|
|
[考研] 考研求調(diào)劑 +3 | 橘頌. 2026-03-17 | 4/200 |
|