最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【車間調(diào)度】基于遺傳算法實(shí)現(xiàn)柔性車間調(diào)度問(wèn)題附Matlab代碼

2022-05-16 00:13 作者:Matlab工程師  | 我要投稿

1 簡(jiǎn)介

針對(duì)傳統(tǒng)作業(yè)車間調(diào)度存在加工設(shè)備功能單一,加工工序?qū)?yīng)設(shè)備固定的問(wèn)題,采用遺傳算法進(jìn)行求解優(yōu)化.通過(guò)一個(gè)8個(gè)工件,每工件8道工序的應(yīng)用實(shí)例進(jìn)行測(cè)試,驗(yàn)證了該方法切實(shí)可行有效.

2 部分代碼

%-------------------------計(jì)算各染色體的適應(yīng)度-----------------------function [fit,Y1,Y2,Y3] = object(p,TN,N,P,m,n) ?%計(jì)算各染色體的適應(yīng)度fit = zeros(N,1);Y1 = cell(N,1);Y2 = cell(N,1);Y3 = cell(N,1); ? ?for j = 1:N ? ? ? ?Y1{j} = zeros(m,n); ? ? ? ?Y2{j} = zeros(m,n); ? ? ? ?Y3{j} = zeros(m,n); ? ?endfor w = 1:N ? ?X = p{w}; ? ? ? ? ? ? ? ? ?%變量初始化 ? ?T = TN{w}; ? ?[m,n] = size(X); ? ?Y1p = zeros(m,n); ? ?Y2p = zeros(m,n); ? ?Y3p = zeros(m,n); ? ?Q1 = zeros(m,1); ? ? ? ? %計(jì)算第一道工序的安排 ? ?Q2 = zeros(m,1); ? ?R = X(:,1); ? ? ? ? ? ? %取出第一道工序的機(jī)器號(hào) ? ?Q3 = floor(R); ? ? ? ? ?%向下取整得到各工件在第一道工序使用的機(jī)器號(hào) ? ?for k =1:P(1) ? ? ? ? ? %第一道工序的時(shí)間安排,k為機(jī)器號(hào) ? ? ? ?pos = find(Q3 == k); ? ? %在Q3中取出用機(jī)器k加工的工件編號(hào) ? ? ? ?lenpos = length(pos); ? ?%使用機(jī)器k的工件數(shù)量 ? ? ? ?if lenpos == 0 ? ? ? ?end ? ? ? ?if lenpos >= 1 ? ? ? ? ? ?Q1(pos(1)) = 0; ? ? ? ? ? ?Q2(pos(1)) = Q1(pos(1)) + T(pos(1),1); ? ? ? ? ? ?if lenpos >= 2 ? ? ? ? ? ? ? ?for j = 2:lenpos ? ? ? ? ? ? ? ? ? ?Q1(pos(j)) = Q2(pos(j-1)); ? ? ? ? ? ? ? ? ? ?Q2(pos(j)) = Q1(pos(j)) + T(pos(j),1); ? ? ? ? ? ? ? ?end ? ? ? ? ? ?end ? ? ? ?end ? ?end ? ?Y1p(:,1) = Q1; ? ?Y2p(:,1) = Q2; ? ?Y3p(:,1) = Q3; ? ?for k = 2:n ? ? ? ? ? ?%計(jì)算第2到n道工序的安排 ? ? ? ?Q1 = zeros(m,1); ? ? ? ?Q2 = zeros(m,1); ? ? ? ?R = X(:,k); ? ? ? ?%取出第k道工序的機(jī)器號(hào) ? ? ? ?Q3 = floor(R); ? ? %向下取整得到各工件在第k道工序使用的機(jī)器號(hào) ? ? ? ?R1 = X(:,k-1); ? ? %取出前一道工序的機(jī)器號(hào) ? ? ? ?Q31 = floor(R1); ? %向下取整得到各工件在前一道工序使用的機(jī)器號(hào) ? ? ? ?for i = 1:P(k) ? ? %第i道工序的時(shí)間安排,k為機(jī)器號(hào) ? ? ? ? ? ?pos = find(Q3 == i); ? ? ? ? ? ?lenpos = length(pos); ? ? ? ? ? ?pos1 = find(Q31 == i); ? ? ? ? ? ?lenpos1 = length(pos1); ? ? ? ? ? ?if lenpos == 0 ? ? ? ? ? ?end ? ? ? ? ? ?if lenpos >= 1 ? ? ? ? ? ? ? ?EndTime = Y2p(pos(1),k-1); ? ? ? ? ? ? ? ?POS = zeros(1,lenpos1); ? ? ? ? ? ? ? ?for j = 1:lenpos1 ? ? ? ? ? ? ? ? ? ?POS(j) = Y2p(pos1(j),k-1); ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ?EndTime1 = max(POS); ? ? ? ? ? ? ? ?if EndTime1 > EndTime ? ? ? ? ? ? ? ? ? ?EndTime = EndTime1; ? ? ? ? ? ? ? ?else ? ? ? ? ? ? ? ? ? ?EndTime = EndTime; ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ?Q1(pos(1)) = EndTime; ? ? ? ? ? ? ? ?Q2(pos(1)) = ?Q1(pos(1)) + T(pos(1),k-1); ? ? ? ? ? ? ? ?if lenpos >= 2 ? ? ? ? ? ? ? ? ? ?for j = 2:lenpos ? ? ? ? ? ? ? ? ? ? ? ?Q1(pos(j)) = Y2p(pos(j),k-1); ? %前一道工序的結(jié)束時(shí)間 ? ? ? ? ? ? ? ? ? ? ? ?if Q1(pos(j)) < Q2(pos(j-1)) ? ? ? ? ? ? ? ? ? ? ? ? ? ?Q1(pos(j)) = Q2(pos(j-1)); ? ? ? ? ? ? ? ? ? ? ? ?else ? ? ? ? ? ? ? ? ? ? ? ? ? ? Q1(pos(j)) = Q1(pos(j)); ? ? ? ? ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ? ? ? ? ?Q2(pos(j)) = Q1(pos(j)) + T(pos(j),k); ? ? ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ?end ? ? ? ? ? ?end ? ? ? ?end ? ?Y1p(:,k) = Q1; ? ?Y2p(:,k) = Q2; ? ?Y3p(:,k) = Q3; ? ?end ? ?Y2m = Y2p(:,n); ? ?Y2m1 = Y2p(:,n-1); ? ?Zx = max(Y2m1); ? ?Zp = max(Y2m); ? ?if Zx >Zp ? ? ? ?Zp = Zx; ? ?end ? ?fit(w) = Zp; ? ?Y1{w} = Y1p; ? ?Y2{w} = Y2p; ? ?Y3{w} = Y3p;end

3 仿真結(jié)果

4 參考文獻(xiàn)

[1]郭慶、張明路、孫立新、劉軒. 基于遺傳算法的柔性車間調(diào)度優(yōu)化[J]. 科學(xué)技術(shù)與工程, 2020, 20(29):6.

博主簡(jiǎn)介:擅長(zhǎng)智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無(wú)人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問(wèn)題可私信交流。

部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。






【車間調(diào)度】基于遺傳算法實(shí)現(xiàn)柔性車間調(diào)度問(wèn)題附Matlab代碼的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
贡嘎县| 五指山市| 大姚县| 凌源市| 上林县| 始兴县| 罗城| 郁南县| 玛曲县| 塘沽区| 河源市| 清远市| 永泰县| 盈江县| 四川省| 托克托县| 原阳县| 台东县| 太和县| 阿克苏市| 普洱| 武义县| 恩施市| 洪江市| 阜新市| 延寿县| 建昌县| 称多县| 商城县| 上高县| 荣成市| 土默特右旗| 加查县| 永康市| 岳池县| 禹城市| 曲阳县| 新密市| 巴林左旗| 云龙县| 乐都县|