• 大小: 114KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-08-05
  • 语言: Matlab
  • 标签: MATLAB  定量决策  

资源简介

黑曼巴分享 祝建模成功 童叟无欺 值得拥有

资源截图

代码片段和文件信息

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


评论

共有 条评论