| 2 | 1/1 | 返回列表 |
| 查看: 3456 | 回復: 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ù)值結(jié)果 |
|
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料專業(yè)求調(diào)劑 +9 | hanamiko 2026-03-18 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 一志愿南航材料專317分求調(diào)劑 +3 | 炸呀炸呀炸薯條 2026-03-23 | 3/150 |
|
|
[考研] 一志愿上海交大生物與醫(yī)藥專碩324分,求調(diào)劑 +5 | jiajunX 2026-03-22 | 5/250 |
|
|
[考研] 求調(diào)劑一志愿武漢理工大學材料工程(085601) +3 | WW.' 2026-03-23 | 5/250 |
|
|
[考研] 081700 調(diào)劑 267分 +5 | 迷人的哈哈 2026-03-23 | 5/250 |
|
|
[考研] 298求調(diào)劑 +8 | 上岸6666@ 2026-03-20 | 8/400 |
|
|
[考研] 280分求調(diào)劑 一志愿085802 +4 | PUMPT 2026-03-22 | 7/350 |
|
|
[考研] 一志愿西安交通大學材料工程專業(yè) 282分求調(diào)劑 +11 | 楓橋ZL 2026-03-18 | 13/650 |
|
|
[考研] 287求調(diào)劑 +8 | 晨昏線與星海 2026-03-19 | 9/450 |
|
|
[考研] 354求調(diào)劑 +7 | Tyoumou 2026-03-18 | 10/500 |
|
|
[考研] 307求調(diào)劑 +3 | 余意卿 2026-03-18 | 3/150 |
|
|
[考研] 材料 271求調(diào)劑 +5 | 展信悅_ 2026-03-21 | 5/250 |
|
|
[考研] 22 350 本科985求調(diào)劑,求老登收留 +3 | 李軼男003 2026-03-20 | 3/150 |
|
|
[考研] 一志愿 西北大學 ,070300化學學碩,總分287,雙非一本,求調(diào)劑。 +3 | 晨昏線與星海 2026-03-18 | 3/150 |
|
|
[考研] 308求調(diào)劑 +3 | 阿姐阿姐家啊 2026-03-18 | 3/150 |
|
|
[考研] 288求調(diào)劑 +16 | 于海海海海 2026-03-19 | 16/800 |
|
|
[考研] 0817 化學工程 299分求調(diào)劑 有科研經(jīng)歷 有二區(qū)文章 +22 | rare12345 2026-03-18 | 22/1100 |
|
|
[考研] 085600材料與化工調(diào)劑 324分 +10 | llllkkkhh 2026-03-18 | 12/600 |
|
|
[考研] 材料,紡織,生物(0856、0710),化學招生啦 +3 | Eember. 2026-03-17 | 9/450 |
|
|
[碩博家園] 湖北工業(yè)大學 生命科學與健康學院-課題組招收2026級食品/生物方向碩士 +3 | 1喜春8 2026-03-17 | 5/250 |
|