資源簡(jiǎn)介
matlab遺傳算法車間調(diào)度
代碼片段和文件信息
function?[ZpY1pY2pY3p]=COST(XTPplotif)
%??JSPGA的內(nèi)聯(lián)子函數(shù),用于求調(diào)度方案的Makespan值
%??輸入?yún)?shù)列表
%??X???????調(diào)度方案的編碼矩陣,是一個(gè)實(shí)數(shù)編碼的m×n矩陣
%??T???????m×n的矩陣,存儲(chǔ)m個(gè)工件n個(gè)工序的加工時(shí)間
%??P???????1×n的向量,n個(gè)工序中,每一個(gè)工序所具有的機(jī)床數(shù)目
%??plotif??是否繪甘特圖的控制參數(shù)
%??輸出參數(shù)列表
%??Zp??????最優(yōu)的Makespan值
%??Y1p?????最優(yōu)方案中,各工件各工序的開始時(shí)刻
%??Y2p?????最優(yōu)方案中,各工件各工序的結(jié)束時(shí)刻
%??Y3p?????最優(yōu)方案中,各工件各工序使用的機(jī)器編號(hào)
%第一步:變量初始化
[mn]=size(X);
Y1p=zeros(mn);
Y2p=zeros(mn);
Y3p=zeros(mn);
%第二步:計(jì)算第一道工序的安排
Q1=zeros(m1);
Q2=zeros(m1);
R=X(:1);%取出第一道工序
Q3=floor(R);%向下取整即得到各工件在第一道工序使用的機(jī)器的編號(hào)
%下面計(jì)算各工件第一道工序的開始時(shí)刻和結(jié)束時(shí)刻
for?i=1:P(1)%取出機(jī)器編號(hào)
????pos=find(Q3==i);%取出使用編號(hào)為i的機(jī)器為其加工的工件的編號(hào)
????lenpos=length(pos);
????if?lenpos>=1
????????Q1(pos(1))=0;
????????if?lenpos>=2
????????????for?j=2:lenpos
????????????????Q1(pos(j))=Q2(pos(j-1));
?????????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-08-28?19:43??遺傳算法??車間調(diào)度?代碼\
?????文件????????3262??2011-08-28?19:42??遺傳算法??車間調(diào)度?代碼\COST.m
?????文件????????3511??2011-08-28?19:42??遺傳算法??車間調(diào)度?代碼\JSPGA.m
?????文件?????????587??2011-08-28?18:13??遺傳算法??車間調(diào)度?代碼\PlotRec.m
- 上一篇:matlab血壓處理程序
- 下一篇:匈牙利算法hungarian的MATLAB代碼
評(píng)論
共有 條評(píng)論