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

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

?? crosspso.txt

?? 帶交叉因子的粒子群MATLAB算法程序
?? TXT
字號:
 整整忙了一下午,終于把自己構思的新改進方法在Matlab上編程實現了.現在把程序放在博客上,希望也在研究這個算法的朋友們看一下程序提出寶貴意見.

   程序源代碼:其中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-------------------------

    還有一個關于被優化函數的m文件,我沒有放上來,根據不同的函數,構造不同的m文件.哎呀,這一個程序編了2個小時,好累啊.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂影院一区二区| 久久精品一区二区三区不卡| 久久成人羞羞网站| 亚洲线精品一区二区三区| 欧美mv日韩mv| 日韩视频在线观看一区二区| 国产精品伊人色| 日本不卡一二三区黄网| 亚洲最大成人网4388xx| 国产精品乱码久久久久久| 精品久久久久久久久久久久包黑料 | 日韩一级片网址| 在线看国产一区| 欧美日韩在线播| 日韩一区二区视频在线观看| 日韩美女视频在线| 久久在线观看免费| 国产精品午夜在线| 亚洲在线视频网站| 久久99久久久久| 波多野结衣中文字幕一区 | 中文字幕一区二区三区不卡在线 | 亚洲欧洲三级电影| 亚洲香肠在线观看| 精品一区二区免费视频| 懂色av中文一区二区三区| 色综合久久中文字幕综合网 | 日韩电影免费一区| 国产成人综合亚洲91猫咪| 不卡视频一二三| 在线观看91精品国产麻豆| 久久新电视剧免费观看| 亚洲视频在线一区二区| 日韩综合小视频| 国产成人福利片| 欧美日韩三级在线| 国产欧美日韩不卡| 日本一不卡视频| 91在线视频观看| 精品国产乱子伦一区| 亚洲男同性视频| 国产一区二区毛片| 欧美日高清视频| 中文字幕在线一区| 久久精品国内一区二区三区| 97精品电影院| 国产欧美一区二区精品仙草咪| 一区二区三区精品在线观看| 国产精品一区免费视频| 欧美在线999| 日韩伦理电影网| 国产成人啪午夜精品网站男同| 7777精品伊人久久久大香线蕉的 | 日本韩国欧美在线| 久久久久久久久蜜桃| 午夜免费久久看| 色婷婷综合视频在线观看| 久久影院电视剧免费观看| 日韩一区欧美二区| 欧美三级电影一区| 亚洲一区在线观看免费观看电影高清 | 成人欧美一区二区三区1314| 男女视频一区二区| 欧美精品在线观看一区二区| 中文字幕亚洲电影| 波多野结衣中文一区| 久久一区二区三区国产精品| 日本在线不卡一区| 91精品国产黑色紧身裤美女| 午夜久久久久久电影| 欧美在线免费观看亚洲| 亚洲一区二区三区免费视频| 91丨九色丨国产丨porny| 精品三级av在线| 免费观看在线色综合| 91麻豆精品91久久久久同性| 亚洲成人在线观看视频| 欧美日韩视频在线一区二区| 亚洲成人一区在线| 欧美乱熟臀69xxxxxx| 日日摸夜夜添夜夜添国产精品| 欧美日韩卡一卡二| 亚洲高清免费观看高清完整版在线观看| 不卡的av在线播放| 免费一级欧美片在线观看| 欧美日韩一二三| 免费av网站大全久久| 亚洲一区二区三区在线| 欧美日韩国产区一| 日韩vs国产vs欧美| 2022国产精品视频| 风间由美一区二区av101 | 成人午夜av影视| 亚洲精品在线免费观看视频| 精品国产91乱码一区二区三区 | 成人开心网精品视频| 日韩成人dvd| 亚洲综合av网| 亚洲美女在线国产| 国产偷国产偷亚洲高清人白洁 | 狠狠色伊人亚洲综合成人| 亚洲国产精品精华液网站| 成人免费在线视频观看| 国产精品无遮挡| 中文字幕欧美日韩一区| 精品99999| 精品国产制服丝袜高跟| 日韩亚洲欧美综合| 欧美一区二区三区视频| 欧美日本韩国一区二区三区视频| 91免费观看视频| 91社区在线播放| 99久久免费精品高清特色大片| 福利视频网站一区二区三区| 久草热8精品视频在线观看| 青青草原综合久久大伊人精品优势| 亚洲电影一区二区三区| 亚洲狠狠爱一区二区三区| 亚洲一区二区偷拍精品| 亚洲成人av一区二区三区| 亚洲网友自拍偷拍| 日日夜夜免费精品| 老色鬼精品视频在线观看播放| 美女www一区二区| 久久99精品国产| 国产高清亚洲一区| 成人av免费在线观看| 91视频免费播放| 欧美日韩情趣电影| 欧美一级一区二区| 久久精品在这里| 亚洲日穴在线视频| 五月天国产精品| 奇米一区二区三区av| 国产一区二区成人久久免费影院 | 国产欧美日韩卡一| 国产精品成人一区二区三区夜夜夜| 专区另类欧美日韩| 亚洲成av人**亚洲成av**| 免费在线观看不卡| 粉嫩aⅴ一区二区三区四区| 欧美久久久久久久久中文字幕| 欧美日韩久久一区二区| 精品福利一二区| 成人欧美一区二区三区小说| 亚洲777理论| 国产福利一区在线观看| 在线影院国内精品| 精品国产乱码久久久久久久 | 精品欧美黑人一区二区三区| 国产女主播视频一区二区| 亚洲欧美一区二区三区孕妇| 人人狠狠综合久久亚洲| 国产成人精品免费| 欧美午夜精品一区| 久久久久国产免费免费| 亚洲一区二区三区四区中文字幕| 九色综合国产一区二区三区| caoporn国产精品| 日韩一区二区三区高清免费看看| 国产精品美日韩| 日本不卡123| 色欧美88888久久久久久影院| 精品久久久久久亚洲综合网| 亚洲视频一二三| 激情综合亚洲精品| 欧美日韩美女一区二区| 国产精品人成在线观看免费| 日本中文字幕一区二区视频| av爱爱亚洲一区| 久久天天做天天爱综合色| 亚洲五月六月丁香激情| www.欧美日韩| 久久日一线二线三线suv| 性感美女久久精品| 色综合一个色综合亚洲| 国产午夜亚洲精品不卡| 免费成人你懂的| 欧美日本在线视频| 亚洲裸体xxx| av中文字幕亚洲| 国产日产欧美一区二区视频| 日本视频中文字幕一区二区三区| 91在线观看视频| 国产精品久久毛片| 高清国产一区二区三区| 久久久久99精品一区| 轻轻草成人在线| 日韩一区二区在线免费观看| 午夜伦理一区二区| 欧美麻豆精品久久久久久| 一区二区三区 在线观看视频| 99久久亚洲一区二区三区青草| 久久精品在这里| 国产98色在线|日韩| 久久综合色综合88| 国产一区二区三区精品视频| 欧美mv日韩mv| 精品一区二区av| 久久久久久久久久美女|