MATLAB--------2019/7/18

计划网络图

  1. 概念:
      称任何消耗资源的行动为作业,称作业的开始或结束为事件,事件本身不消耗资源。
      关键路线是累计作业时间最长的路线。
  2. 时间参数:
    1)事件的最早时间:
       事件jjj的最早时间用tE(j)t_{E}(j)tE(j)表示,它表示以事件jjj为始点的各工作最早可能开始的时间,也表示以事件jjj为终点的各工作最早可能完成的时间,它等于从始点事件到该事件的最长路线上所有工作的工时总和。事件最早时间可用下列递推公式,按照事件编号从小到大的顺序逐个计算。
    设事件编号为1,2,⋯ ,n1,2,\cdots,n1,2,,n,则:
    {tE(1)=0;tE(1)是与事件j相邻的各紧急事件的最早时间tE(j)=maxi{tE(i)+t(i,j)} \left\{ \begin{aligned} t_{E}(1)=0; \qquad \text{$t_{E}(1)$是与事件$j$相邻的各紧急事件的最早时间} \\ t_{E}(j)=\mathop{max}\limits_{i}\{t_{E}(i)+t(i,j)\} \end{aligned} \right. tE(1)=0;tE(1)是与事件j相邻的各紧急事件的最早时间tE(j)=imax{tE(i)+t(i,j)}
    2)事件的最迟时间:
    {tL(n)=总工期;tE(1)是与事件j相邻的各紧急事件的最早时间tL(j)=minj{tL(j)−t(i,j)} \left\{ \begin{aligned} t_{L}(n)=总工期; \qquad \text{$t_{E}(1)$是与事件$j$相邻的各紧急事件的最早时间} \\ t_{L}(j)=\mathop{min}\limits_{j}\{t_{L}(j)-t(i,j)\} \\ \end{aligned} \right. tL(n)=;tE(1)是与事件j相邻的各紧急事件的最早时间tL(j)=jmin{tL(j)t(i,j)}
    例4.16(求最早开工时间)
model:
sets:
events/1..8/:x;
operate(events,events)/1 2,1 3,1 4,2 5,3 4,3 5,4 6,5 6,5 7,5 8,6 7,6 8,7 8/:t;
endsets
data:
t=5 10 11 4 4 0 15 21 25 35 0 20 15;
enddata
min=@sum(events:x);
@for(operate(i,j):x(j)>=x(i)+t(i,j));
end

例4,16(将关键路看做最长路)

model:
sets:
events/1..8/:d;
operate(events,events)/1 2,1 3,1 4,2 5,3 4,3 5,4 6,5 6,5 7,5 8,6 7,6 8,7 8/:t,x;
endsets
data:
t=5 10 11 4 4 0 15 221 25 35 0 20 15;
d=1 0 0 0 0 0 0 -1;
enddata
max=@sum(operate(i,j):t(i,j)*x(i,j));
@for(events(i):@sum(operate(i,j):x(i,j))- @sum(operate(j,i):x(j,i))=d(i));
end
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值