當前位置:首頁 » 操作系統 » 遺傳演算法車間調度

遺傳演算法車間調度

發布時間: 2022-08-11 05:57:34

⑴ 用遺傳演算法求解作業車間調度的MATLAB程序問題

你好歹看一下程序嘛,人家都給你注釋了輸入輸出都是啥,你使用的時候得先給輸入賦值。在命令行輸入M=啥,N=啥···然後再輸[Zp,Y1p,Y2p,Y3p,Xp,LC1,LC2]=JSPGA(M,N,Pm,T,P)
左邊這些就是輸出了,要是運行成功會在workspace裡面看到

⑵ matlab車間調度遺傳演算法中隨機產生初始種群的問題,,求教

P應該是一個大小為n的數組,P(j)表示數組第j個元素;eps在matalab中叫做「浮點零」,也叫是matalab中的零值。用特殊的MATLAB數eps來代替在一個數組中的零元素,eps近似為2.2e-16。不是最小的數,而是系統能准確表示的浮點數的精度;rand是matlab中的隨機數,(0,1)間。
X(i,j)=1+(P(j)-eps)*rand;表示給矩陣X的第i行第j列的元素賦值,值為[1,P(j))范圍內的隨機數。
我解釋的您還滿意不?能在採納時加點懸賞分嗎?謝謝

⑶ 求助:遺傳演算法解決車間作業調度問題(使用貪心演算法)的代碼

車間調度問題一般都用蟻群演算法,遺傳演算法一般都做排課系統的,如果你要排課的我這有

⑷ 誰有車間作業調度問題遺傳演算法的MATLAB源碼,要完整的程序哦~

function [Zp,Y1p,Y2p,Y3p,Xp,LC1,LC2]=JSPGA(M,N,Pm,T,P)
%--------------------------------------------------------------------------
% JSPGA.m
% 車間作業調度問題遺傳演算法
%--------------------------------------------------------------------------
% 輸入參數列表
% M 遺傳進化迭代次數
% N 種群規模(取偶數)
% Pm 變異概率
% T m×n的矩陣,存儲m個工件n個工序的加工時間
% P 1×n的向量,n個工序中,每一個工序所具有的機床數目
% 輸出參數列表
% Zp 最優的Makespan值
% Y1p 最優方案中,各工件各工序的開始時刻,可根據它繪出甘特圖
% Y2p 最優方案中,各工件各工序的結束時刻,可根據它繪出甘特圖
% Y3p 最優方案中,各工件各工序使用的機器編號
% Xp 最優決策變數的值,決策變數是一個實數編碼的m×n矩陣
% LC1 收斂曲線1,各代最優個體適應值的記錄
% LC2 收斂曲線2,各代群體平均適應值的記錄
% 最後,程序還將繪出三副圖片:兩條收斂曲線圖和甘特圖(各工件的調度時序圖)

%第一步:變數初始化
[m,n]=size(T);%m是總工件數,n是總工序數
Xp=zeros(m,n);%最優決策變數
LC1=zeros(1,M);%收斂曲線1
LC2=zeros(1,N);%收斂曲線2

%第二步:隨機產生初始種群
farm=cell(1,N);%採用細胞結構存儲種群
for k=1:N
X=zeros(m,n);
for j=1:n
for i=1:m
X(i,j)=1+(P(j)-eps)*rand;
end
end
farm{k}=X;
end

counter=0;%設置迭代計數器
while counter

%第三步:交叉
newfarm=cell(1,N);%交叉產生的新種群存在其中
Ser=randperm(N);
for i=1:2:(N-1)
A=farm{Ser(i)};%父代個體
B=farm{Ser(i+1)};
Manner=unidrnd(2);%隨機選擇交叉方式
if Manner==1
cp=unidrnd(m-1);%隨機選擇交叉點
%雙親雙子單點交叉
a=[A(1:cp,:);B((cp+1):m,:)];%子代個體
b=[B(1:cp,:);A((cp+1):m,:)];
else
cp=unidrnd(n-1);%隨機選擇交叉點
a=[A(:,1:cp),B(:,(cp+1):n)];%雙親雙子單點交叉
b=[B(:,1:cp),A(:,(cp+1):n)];
end
newfarm{i}=a;%交叉後的子代存入newfarm
newfarm{i+1}=b;
end
%新舊種群合並
FARM=[farm,newfarm];

%第四步:選擇復制
FITNESS=zeros(1,2*N);
fitness=zeros(1,N);
plotif=0;
for i=1:(2*N)
X=FARM{i};
Z=COST(X,T,P,plotif);%調用計算費用的子函數
FITNESS(i)=Z;
end
%選擇復制採取兩兩隨機配對競爭的方式,具有保留最優個體的能力
Ser=randperm(2*N);
for i=1:N
f1=FITNESS(Ser(2*i-1));
f2=FITNESS(Ser(2*i));
if f1<=f2
farm{i}=FARM{Ser(2*i-1)};
fitness(i)=FITNESS(Ser(2*i-1));
else
farm{i}=FARM{Ser(2*i)};
fitness(i)=FITNESS(Ser(2*i));
end
end
%記錄最佳個體和收斂曲線
minfitness=min(fitness)
meanfitness=mean(fitness)
LC1(counter+1)=minfitness;%收斂曲線1,各代最優個體適應值的記錄
LC2(counter+1)=meanfitness;%收斂曲線2,各代群體平均適應值的記錄
pos=find(fitness==minfitness);
Xp=farm{pos(1)};

%第五步:變異
for i=1:N
if Pm>rand;%變異概率為Pm
X=farm{i};
I=unidrnd(m);
J=unidrnd(n);
X(I,J)=1+(P(J)-eps)*rand;
farm{i}=X;
end
end
farm{pos(1)}=Xp;

counter=counter+1
end

%輸出結果並繪圖
figure(1);
plotif=1;
X=Xp;
[Zp,Y1p,Y2p,Y3p]=COST(X,T,P,plotif);
figure(2);
plot(LC1);
figure(3);
plot(LC2);

⑸ 基於遺傳演算法用VB實現車間調度問題

不好意思啊 ,我也是不知道啊

⑹ 遺傳演算法具體應用

1、函數優化

函數優化是遺傳演算法的經典應用領域,也是遺傳演算法進行性能評價的常用算例,許多人構造出了各種各樣復雜形式的測試函數:連續函數和離散函數、凸函數和凹函數、低維函數和高維函數、單峰函數和多峰函數等。

2、組合優化

隨著問題規模的增大,組合優化問題的搜索空間也急劇增大,有時在目前的計算上用枚舉法很難求出最優解。對這類復雜的問題,人們已經意識到應把主要精力放在尋求滿意解上,而遺傳演算法是尋求這種滿意解的最佳工具之一。

此外,GA也在生產調度問題、自動控制、機器人學、圖象處理、人工生命、遺傳編碼和機器學習等方面獲得了廣泛的運用。

3、車間調度

車間調度問題是一個典型的NP-Hard問題,遺傳演算法作為一種經典的智能演算法廣泛用於車間調度中,很多學者都致力於用遺傳演算法解決車間調度問題,現今也取得了十分豐碩的成果。

從最初的傳統車間調度(JSP)問題到柔性作業車間調度問題(FJSP),遺傳演算法都有優異的表現,在很多算例中都得到了最優或近優解。


(6)遺傳演算法車間調度擴展閱讀:

遺傳演算法的缺點

1、編碼不規范及編碼存在表示的不準確性。

2、單一的遺傳演算法編碼不能全面地將優化問題的約束表示出來。考慮約束的一個方法就是對不可行解採用閾值,這樣,計算的時間必然增加。

3、遺傳演算法通常的效率比其他傳統的優化方法低。

4、遺傳演算法容易過早收斂。

5、遺傳演算法對演算法的精度、可行度、計算復雜性等方面,還沒有有效的定量分析方法。

⑺ 遺傳演算法有哪些比較直觀的應用呢

1函數優化

數優化是遺傳演算法的經典應用領域,也是遺傳演算法進行性能評價的常用算例,許多人構造出了各種各樣復雜形式的測試函數:連續函數和離散函數、凸函數和凹函數、低維函數和高維函數、單峰函數和多峰函數等。

2。車間調度

間調度問題是一個典型的NP-Hard問題,遺傳演算法作為一種經典的智能演算法廣泛用於車間調度中,很多學者都致力於用遺傳演算法解決車間調度問題,現今也取得了十分豐碩的成果。

⑻ matlab遺傳演算法解決車間調度問題

你要的ranking文件是MATLAB工具包裡面的文件,要的話我可以發給你,或者你到網上找找gaot就知道了,另外,你這個文件裡面有沒有select.m這個文件,我這里缺失這個,有的話給我發一個

⑼ 基於遺傳演算法的流水車間調度的C語言編程問題

http://www.cppblog.com/assist/archive/2007/05/26/24873.html

⑽ 基於遺傳演算法求解作業車間調度的MATLAB程序問題

車間作業調度問題遺傳演算法 %--- % 輸入參數列表 % M 遺傳進化迭代次數 %你從網上找的這部分程序肯定不全,這個T應該是一個存放數據的矩陣,要單獨

熱點內容
買的騰訊伺服器是裝在電腦上嗎 發布:2025-01-15 23:25:58 瀏覽:410
如何查看電腦的配置是不是i5 發布:2025-01-15 23:24:21 瀏覽:433
PI資料庫 發布:2025-01-15 23:14:42 瀏覽:882
我的世界手機版暖心伺服器 發布:2025-01-15 23:05:02 瀏覽:169
xts壓縮比 發布:2025-01-15 23:02:41 瀏覽:424
怎麼看聯系人存儲位置 發布:2025-01-15 22:47:14 瀏覽:794
旗艦560配置的是什麼發動機 發布:2025-01-15 22:40:59 瀏覽:626
sql多表連接查詢 發布:2025-01-15 22:33:12 瀏覽:221
android網路休眠 發布:2025-01-15 22:32:12 瀏覽:350
怎麼不下魯大師查看電腦配置 發布:2025-01-15 22:30:23 瀏覽:311