亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pso,matlab.txt

?? 可以進行粒子群優化算法的初步計算。MATLAB計算簡便
?? TXT
字號:

[算法]帶交叉因子的粒子群優化算法matlab源程序 
網上資源
sunshine 發表于 2007-11-20 20:04:56 

帶交叉因子的粒子群優化算法matlab源程序 
大明 發表于 2006-8-26 17:04:00 


      程序源代碼:其中PSOGA.m文件,也就是主程序如下

%-----------------------------------------------
%------名稱:帶交叉因子的改進PSO算法
%------功能:求解多維無約束優化問題
%------特點:收斂性強,還可以加入變異算子
%------作者:孫明杰 <dreamsun2001@126.com>
%------單位:中國礦業大學計算數學碩2005
%------日期:2006年8月26日
%-----------------------------------------------

%格式標準化
clear all;
clc;
format long;
%初始化各個因子
c1=1.4962;    %學習因子c1
c2=1.4962;    %學習因子c2
w=0.7298;     %慣性權重w
N=20;         %粒子群規模
D=6;          %搜索空間維數(本程序適合3維及以上,不能求解1,2維)
eps=10^(-6);  %滿足條件限制的誤差(在不知道最小值時候不用設置)
MaxDT=500;    %粒子群繁殖的代數

%初始化粒子的速度和位置,數據結構用矩陣A表示
for i=1:N
    for j=1:2*D
        A(i,j)=rand;
    end
end
for i=1:N
    for j=2*D+1:3*D
        A(i,j)=A(i,j-2*D);
    end
end
%計算各個粒子的適應度
for i=1:N
    A(i,3*D+1)=fitness(A(i,1:D),D);
end
%對粒子的適應度進行排序
B=sortrows(A,3*D+1);
%排序后適應度低的前面一半粒子直接進入下一代
NextGeneration=zeros(N,3*D+1);
for i=1:N/2
    for j=1:3*D+1
        NextGeneration(i,j)=B(i,j);
    end
end
%后一半粒子進行遺傳選擇和交叉操作
for i=1:N/2
    for j=1:3*D+1
        Cross(i,j)=B(i+N/2,j);
    end
end
%產生一個隨機的交叉位置
for i=1:N/4
    Anumber=randperm(D-1);
    if Anumber(1)~=1
        position=Anumber(1);
    else
        position=Anumber(2);
    end
    %交叉進行
    for j=position:D-1
        temp=Cross(i,j);
        Cross(i,j)=Cross(N/2-i+1,j);
        Cross(N/2-i+1,j)=temp;
    end
end
%交叉結束,進行更新
for i=1:N/2
    Cross(i,3*D+1)=fitness(Cross(i,1:D),D);
    if Cross(i,3*D+1)<B(i+N/2,3*D+1)
        for j=2*D+1:3*D
            Cross(i,j)=Cross(i,j-2*D);
        end
    else
        for j=2*D+1:3*D
            Cross(i,j)=B(i,j);
        end
    end
end
%下面選擇最好的粒子N/2個進入下一代
Pool=zeros(N,3*D+1);
for i=1:N/2
    for j=1:3*D+1
        Pool(i,j)=B(i+N/2,j);
    end
end
for i=1+N/2:N
    for j=1:3*D+1
        Pool(i,j)=Cross(i-N/2,j);
    end
end
%POOLX表示排序后的粒子選擇池
PoolX=sortrows(Pool,3*D+1);
for i=1+N/2:N
    for j=1:3*D+1
        NextGeneration(i,j)=PoolX(i-N/2,j);
    end
end
Pbest=NextGeneration(i,2*D+1:3*D);
for i=2:N
    if NextGeneration(i,3*D+1)<fitness(Pbest,D)
        Pbest=NextGeneration(i,2*D+1:3*D);
    end
end
%根據粒子群公式進行迭代(Stander PSO Step)
%速度更新
for i=1:N
    for j=D+1:2*D
        A(i,j)=w*NextGeneration(i,j)+c1*rand*(NextGeneration(i,j+D)-NextGeneration(i,j-D))+c2*rand*(Pbest(j-D)-NextGeneration(i,j-D));
    end
end
%位置更新
for i=1:N
    for j=1:D
        A(i,j)=NextGeneration(i,j)+A(i,j+D);
    end
    A(i,3*D+1)=fitness(A(i,1:D),D);
    if A(i,3*D+1)<NextGeneration(i,3*D+1)
        for j=2*D+1:3*D
            A(i,j)=A(i,j-2*D);
        end
    else
        for j=2*D+1:3*D
            A(i,j)=NextGeneration(i,j-2*D);
        end
    end
end
%下面進入主要循環,循環到最大次數得到最優解和最小值
%DDTime=1;
for time=1:MaxDT
    B=sortrows(A,3*D+1);
    NextGeneration=zeros(N,3*D+1);
    for i=1:N/2
        for j=1:3*D+1
            NextGeneration(i,j)=B(i,j);
        end
    end
    %遺傳選擇交叉
    for i=1:N/2
        for j=1:3*D+1
            Cross(i,j)=B(i+N/2,j);
        end
    end

    for i=1:N/4
        Anumber=randperm(D-1);
        if Anumber(1)~=1
            position=Anumber(1);
        else
            position=Anumber(2);
        end
        
        for j=position:D-1
            temp=Cross(i,j);
            Cross(i,j)=Cross(N/2-i+1,j);
            Cross(N/2-i+1,j)=temp;
        end
    end
    %交叉結束,進行更新
    for i=1:N/2
        Cross(i,3*D+1)=fitness(Cross(i,1:D),D);
        if Cross(i,3*D+1)<B(i+N/2,3*D+1)
            for j=2*D+1:3*D
                Cross(i,j)=Cross(i,j-2*D);
            end
        else
            for j=2*D+1:3*D
                Cross(i,j)=B(i,j);
            end
        end
    end
    %下面選擇最好的粒子N/2個進入下一代
    Pool=zeros(N,3*D+1);
    for i=1:N/2
        for j=1:3*D+1
            Pool(i,j)=B(i+N/2,j);
        end
    end
    for i=1+N/2:N
        for j=1:3*D+1
            Pool(i,j)=Cross(i-N/2,j);
        end
    end
    
    PoolX=sortrows(Pool,3*D+1);
    for i=1+N/2:N
        for j=1:3*D+1
            NextGeneration(i,j)=PoolX(i-N/2,j);
        end
    end
    Pbest=NextGeneration(i,2*D+1:3*D);
    for i=2:N
        if NextGeneration(i,3*D+1)<fitness(Pbest,D)
            Pbest=NextGeneration(i,2*D+1:3*D);
        end
    end
    %根據粒子群公式進行迭代
    for i=1:N
        for j=D+1:2*D
            A(i,j)=w*NextGeneration(i,j)+c1*rand*(NextGeneration(i,j+D)-NextGeneration(i,j-D))+c2*rand*(Pbest(j-D)-NextGeneration(i,j-D));
       end
    end
    
    for i=1:N
        for j=1:D
            A(i,j)=NextGeneration(i,j)+A(i,j+D);
        end
        A(i,3*D+1)=fitness(A(i,1:D),D);
        if A(i,3*D+1)<NextGeneration(i,3*D+1)
            for j=2*D+1:3*D
                A(i,j)=A(i,j-2*D);
            end
        else
            for j=2*D+1:3*D
                A(i,j)=NextGeneration(i,j-2*D);
            end
        end
    end
    Pg(time)=fitness(Pbest,D);
    %DDTime=DDTime+1;
    %if fitness(Pbest,D)<eps
        %break;
    %end
end
%算法結束,得到的結果顯示如下:
disp('****************************************************')
disp('最后得到的最優位置為:')
X=Pbest'
disp('得到的函數最小值為:')
Minimize=fitness(Pbest,D)
disp('****************************************************')
%繪制進化代數和適應度關系曲線圖
xx=linspace(1,MaxDT,MaxDT);
yy=Pg(xx);
plot(xx,yy,'b-')
hold on
grid on
title('帶交叉因子的粒子群優化算法進化代數與適應度值關系曲線圖')
legend('粒子適應度曲線走勢')
%------算法結束---DreamSun GL & HF-------------------------
 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品成人免费精品自在线观看| 亚洲第一成人在线| 亚洲电影你懂得| 国产成人综合网| 色琪琪一区二区三区亚洲区| 日韩亚洲欧美在线| 一区二区三区四区精品在线视频| 寂寞少妇一区二区三区| 欧美婷婷六月丁香综合色| 久久九九久久九九| 美女视频一区在线观看| 色婷婷av一区二区三区软件| 久久久久久99精品| 九九在线精品视频| 色香色香欲天天天影视综合网| 久久久91精品国产一区二区三区| 首页亚洲欧美制服丝腿| 91国偷自产一区二区开放时间| 国产视频一区在线观看| 美女久久久精品| 国产精品不卡视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美亚洲精品一区| 一区二区三区国产| 91免费视频网址| 国产精品久久久久久久久晋中| 精品影视av免费| 欧美高清激情brazzers| 亚洲小说欧美激情另类| 成人18视频日本| 国产精品久久久一本精品 | 亚洲一区二区av在线| 成人免费视频网站在线观看| 国产三级精品三级在线专区| 狠狠色狠狠色综合日日91app| 日韩一级黄色片| 青青草视频一区| 精品91自产拍在线观看一区| 久久精品久久综合| 久久综合色综合88| 国产.精品.日韩.另类.中文.在线.播放| 26uuu成人网一区二区三区| 激情av综合网| 国产欧美视频一区二区| 成人av在线资源| 亚洲精品免费在线观看| 欧美日韩激情一区二区三区| 舔着乳尖日韩一区| 日韩精品专区在线| 国产精品一区免费视频| 国产精品免费观看视频| 色综合久久久网| 图片区日韩欧美亚洲| 日韩欧美高清一区| 国产成人8x视频一区二区| 亚洲美女免费视频| 色偷偷成人一区二区三区91 | 91黄色免费网站| 香港成人在线视频| 精品理论电影在线观看| 成人毛片老司机大片| 亚洲精品久久久久久国产精华液| 欧美日韩在线免费视频| 国产一区啦啦啦在线观看| 国产精品不卡一区二区三区| 欧美美女黄视频| 精品一区二区三区久久| 亚洲欧美一区二区在线观看| 欧美日韩一区小说| 国产老肥熟一区二区三区| 亚洲乱码国产乱码精品精98午夜 | 亚洲精品在线观| 91久久精品日日躁夜夜躁欧美| 日韩高清在线一区| 国产丝袜欧美中文另类| 欧美午夜片在线看| 国产乱对白刺激视频不卡| 亚洲妇女屁股眼交7| 国产清纯美女被跳蛋高潮一区二区久久w | 久久这里都是精品| 欧美网站一区二区| 不卡欧美aaaaa| 九九**精品视频免费播放| 亚洲综合免费观看高清完整版在线 | 91精品欧美久久久久久动漫 | 国产在线视频一区二区三区| 一区二区三区四区不卡视频| 久久久不卡网国产精品一区| 欧美日本在线观看| 国产成人鲁色资源国产91色综| 五月天激情小说综合| 中文字幕一区二区在线观看 | 日韩三级av在线播放| 91久久精品国产91性色tv| 高清不卡一二三区| 久久精品久久久精品美女| 午夜亚洲国产au精品一区二区 | 国产日韩成人精品| 91精品国产91热久久久做人人| 在线看日本不卡| av在线不卡网| 丁香亚洲综合激情啪啪综合| 精品一区二区三区久久| 热久久免费视频| 亚洲成人综合网站| 亚洲第一会所有码转帖| 亚洲午夜激情av| 有坂深雪av一区二区精品| 亚洲视频一区二区在线| 国产精品污www在线观看| 久久久久久久电影| 久久久av毛片精品| 久久精品夜色噜噜亚洲a∨| 欧美变态tickle挠乳网站| 日韩一区二区在线播放| 制服丝袜中文字幕一区| 91精品国产综合久久精品| 欧美高清激情brazzers| 91精品国产综合久久福利| 538prom精品视频线放| 欧美美女bb生活片| 欧美久久一二区| 欧美va亚洲va在线观看蝴蝶网| 日韩三级精品电影久久久 | 日韩欧美在线1卡| 日韩欧美一区在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 2021国产精品久久精品| 国产农村妇女精品| 亚洲欧洲av色图| 亚洲另类春色国产| 天堂蜜桃一区二区三区| 激情图区综合网| 国产成人免费视频网站| 色综合久久久久久久久久久| 在线观看国产日韩| 欧美变态tickle挠乳网站| 久久精品亚洲精品国产欧美kt∨| 国产日韩精品一区二区浪潮av| 国产精品每日更新| 亚洲精品成人少妇| 日韩电影免费在线| 粉嫩av一区二区三区粉嫩| 91麻豆高清视频| 欧美日韩三级在线| 欧美精品一区视频| 日韩一区日韩二区| 日韩精品一二区| 丰满放荡岳乱妇91ww| 在线一区二区三区| 日韩免费高清av| 国产精品美女久久久久久| 亚洲成人午夜电影| 国产成人丝袜美腿| 欧美日韩亚洲综合| 国产欧美一区二区三区鸳鸯浴| 亚洲激情自拍偷拍| 麻豆视频观看网址久久| 色婷婷精品大在线视频| 26uuu色噜噜精品一区二区| 亚洲日本丝袜连裤袜办公室| 精品系列免费在线观看| 色综合久久99| 国产三级欧美三级| 亚洲成av人片在线| 不卡在线视频中文字幕| 日韩免费高清电影| 亚洲午夜激情av| 99在线热播精品免费| 精品99一区二区三区| 亚洲18影院在线观看| 97久久精品人人做人人爽| 精品国产成人系列| 天天做天天摸天天爽国产一区| av一本久道久久综合久久鬼色| 日韩欧美你懂的| 亚洲第一福利视频在线| 色综合网色综合| 国产女主播一区| 国产一区二区三区在线看麻豆| 欧美一区二区精品在线| 亚洲国产日韩在线一区模特 | 欧美成人一区二区三区片免费| 一区二区三区中文在线观看| 懂色av一区二区三区蜜臀| 久久夜色精品国产噜噜av| 美女尤物国产一区| 欧美伦理影视网| 亚洲18色成人| 欧美三级韩国三级日本一级| 亚洲在线成人精品| 欧美最新大片在线看| 亚洲人成亚洲人成在线观看图片| 不卡的看片网站| 国产精品护士白丝一区av| 成人免费视频国产在线观看| 国产午夜精品一区二区| 狠狠色丁香婷婷综合| 久久嫩草精品久久久精品| 国产一区二区免费视频|