資源簡介
黑曼巴分享
祝建模成功
童叟無欺
值得擁有

代碼片段和文件信息
function?[TeventTactivityKeyRoadFinishTime]?=?Ch10_NetTimeParamter(Matrix)
%%?程序功能說明
%第10章:網絡時間參數的計算——按照手工計算的巧妙算法,給出各時間和活動的時間參數,并給出關鍵線路
%====輸出參數====
???%Tevent????????事件的時間及關鍵事件
???%Tactivity?????活動的時間及關鍵活動、虛活動標示
???%KeyRoad???????關鍵線路,按照事件代號給出
???%FinishTime????項目完工時間
%====輸入參數====
???%Matrix????????網絡圖的賦權鄰接矩陣
%編寫時間:2012年05月;完善時間:2012年12月。
%參考文獻:張建林.?MATLAB定量預測與決策——運作案例精編[M].?北京:電子工業出版社?2012年7月。
%%?程序主體部分
m?=?size(Matrix);??????????????%計算賦權網絡圖鄰接矩陣的維度
%(1)計算各事件的時間參數
Tevent?=?zeros(m(1)5);????????%存放時間的矩陣,包括關鍵事件及時差
Tevent(:1)?=1:m(1);???????????%第1列存放事件代號
%(1-1)計算事件的最早可能發生時間,逐列順序計算
for?j?=?2:m(1)??????????????????%列標
????M?=?zeros(j1);?????????????%存放前面所有節點到即將計算的節點的開始時間
????for?i?=?1:j-1???????????????%行標
????????if?Matrix(ij)~=inf;
????????????M(i)?=?Matrix(ij);
????????????M(i)?=?Tevent(i2)+M(i);
????????else
????????????%M(i)?=?Tevent(i2);???%這條語句不能有
????????end
????end?
????Tevent(i+12)?=?max(M);?????%第2列,存放事件的最早可能開始時間
end
%(1-2)計算事件的最遲必須發生時間,逐行倒序計算
Tevent(m(1)3)?=?Tevent(m(1)2);
for?i?=?m(1)-1:-1:1????????????????????%行標
????M?=?zeros(m(1)-i1);
????for?j?=?i+1:m(1)???????????????????%列標
????????if?Matrix(ij)?~=?inf;
????????????M(j-i)?=?Matrix(ij);
????????????M(j-i)?=?Tevent(j3)-M(j-i);
????????else
????????????M(j-i)?=?Tevent(m(1)3);???%保證逆向求差時,事件點能夠取到正確值
????????end????????
????end
????Tevent(i3)?=?min(M);?????????%第3列,存放事件的最遲必須發生時間
end
%(1-3)計算各時間的時差并查找關鍵路線
q?=?1;
for?p?=?1:m(1)
????Tevent(p5)?=?Tevent(p3)-Tevent(p2);?????%第4列,存放事件的時差
????if?Tevent(p3)-Tevent(p2)?==?0
????????Tevent(p4)?=?1;???????????????????????%關鍵事件
????????index(q)?=?p;??????????????????????????%關鍵線路上的事件代號
????????q?=?q+1;???????????????????????????????%關鍵線路的指針
????else
????????Tevent(p4)?=?0;???????????????????????%非關鍵事件
????end
end
KeyRoad?=?index(1:end);
%(1-4)計算項目的完工時間
FinishTime?=?Tevent(m(1)2);
%(2)計算各項活動的時間參數,逐列順序計算
n?=?sum(sum(Matrix~=inf))-m(1);???%計算活動的數量=非無窮大元素個數減去零元素的個數
Tactivity?=?zeros(n9);???????????%存放活動時間參數的矩陣,包括活動代號、4個時間參數、是否關鍵活動和總時差
Tactivity(:1)?=?1:n;?????????????%第1列,存放活動序號
h?=?1;
for?j?=?2:m(1)????????????????????%列標
????for?i?=?1:j-1?????????????????%行標
????????if?Matrix(ij)~=inf;
????????????Tactivity(h2)?=?i;????????????????????????????%第2列,存放活動的起始節點代號
????????????Tactivity(h3)?=?j;????????????????????????????%第3列,存放活動的終止節點代號
????????????Tactivity(h4)?=?Tevent(i2);??????????????????%第4列,存放活動的最早可能開始時間
????????????Tactivity(h5)?=?Tactivity(h4)+Matrix(ij);???%第5列,存放活動的最遲必須開始時間
????????????Tactivity(h7)?=?Tevent(j3);??????????????????%第7列,存放活動的最遲必須完成時間
????????????Tactivity(h6)?=?Tactivity(h7)-Matrix(ij);???%第6列,存放活動的最早可能完成時間
????????????if?Tactivity(h6)-Tactivity(h7)?==?0??????????%第8列,表明活動是否為關鍵活動或虛活動,1表示是,0表示不是,2表示虛活動
????????????????Tactivity(h8)?=?2;????????????????????????%虛活動
????????????elseif?Tactivity(h6)-Tactivity(h4)?==?0
????????????????Tactivity(h8)?=?1;????????????????????????%關鍵活動
???????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3984??2012-07-03?11:29??19514?數據資料\Ch10_NetTimeParamter.m
?????文件???????2447??2012-05-24?11:01??19514?數據資料\Ch11_SingleCycleInventory.m
?????文件???????1919??2012-05-24?11:03??19514?數據資料\Ch19_MaxTree_Kruskal.m
?????文件???????1195??2012-05-24?11:04??19514?數據資料\Ch19_MaxTree_Prim.m
?????文件???????1811??2012-05-24?11:04??19514?數據資料\Ch19_MinTree_Kruskal.m
?????文件???????1114??2012-05-24?11:05??19514?數據資料\Ch19_MinTree_Prim.m
?????文件???????3617??2012-06-05?11:08??19514?數據資料\Ch1_FZDJ.m
?????文件???????5785??2012-05-24?11:05??19514?數據資料\Ch20_ACOA_TSP.m
?????文件???????5672??2012-05-24?11:06??19514?數據資料\Ch25_AHP.m
?????文件???????6166??2012-05-24?10:57??19514?數據資料\Ch4_Hungary.m
?????文件???????2772??2012-06-29?15:37??19514?數據資料\Ch4_Hungary1.m
?????文件???????4207??2012-05-24?10:53??19514?數據資料\Ch5_HHFZDJ.m
?????文件???????5859??2012-05-24?11:00??19514?數據資料\Ch6_SingleMachine_Rank.m
?????文件???????3059??2012-06-06?15:56??19514?數據資料\Ch7_Johnson.m
?????文件???????3735??2012-06-05?10:05??19514?數據資料\Ch7_KeyWorkpiece.m
?????文件???????3262??2012-06-06?13:13??19514?數據資料\Ch7_Palmer.m
?????文件???????1050??2012-05-09?12:44??19514?數據資料\Ch7_PlotRec.m
?????文件???????3708??2012-06-06?13:13??19514?數據資料\Ch7_Traverse.m
?????文件??????21812??2012-05-24?10:49??19514?數據資料\Ch8_GA_JSP.m
?????文件???????2223??2012-07-03?17:33??19514?數據資料\Ch9_CyclicOrdering.m
?????文件???????2245??2012-05-24?10:50??19514?數據資料\Ch9_CyclicOrdering1.m
?????文件???????1162??2012-05-10?15:02??19514?數據資料\Ch9_FirstHourRule.m
?????文件?????510976??2012-09-21?14:53??19514?數據資料\MATLAB自編程序(僅函數程序).doc
?????目錄??????????0??2013-01-18?11:08??19514?數據資料\MATLAB自編函數程序\附錄B?MATLAB自編函數程序
?????目錄??????????0??2013-01-17?15:43??19514?數據資料\MATLAB自編函數程序
?????目錄??????????0??2013-01-18?11:08??19514?數據資料
-----------?---------??----------?-----??----
???????????????599780????????????????????26
- 上一篇:matlab量化誤差分析函數
- 下一篇:數字信號處理課程設計+FIR數字濾波器
評論
共有 條評論