You are on page 1of 59

Chng m u

GII THIU CHUNG V NHIM V


ti iu hnh d n bng phng php PERT-PCM v ng dng gii
bi ton lp lch thi cng cng trnh, bao gm
-

Tm hiu phng php PERT-PCM (phng php s mng li).


ng dng gii bi ton lp lch thi cng cng trnh.
+ Lu tr lch thi cng cc d n
+ Cho bit thi gian bt u mt d n v thi gian kt thc d n
+ Thm mt s hng mc khi d n ang c thi cng
+ B mt s hng mc khi d n ang thi cng
+ a ra lch thi cng cc hng mc ti u nht

Trang:1

Chng I

IU HNH D N BNG PHNG PHP


PERT-CMP
(Phng php s mng li)
D n (Project) l mt tp hp cc hot ng (Activity) lin quan vi nhau
v phi c thc hin theo mt th t no cho n khi hon thnh ton b cc
hot ng. Hot ng c hiu nh l mt vic i hi thi gian, v nguyn liu
(Resource) hon thnh. Trc kia iu hnh d n ngi ta thng dng biu
Gantt (Gantt bar chart), l mt th gm cc ng k ngang, biu th im
khi cng v kt thc hot ng. Nhc im ca biu l khng xc nh c
quan h gia cc hot ng, nn khng p dng c cho cc d n ln (largescale project), i hi t k hoch (planning), iu hnh thc hin (scheduling) va
kim tra (controlling) mt cch h thng v hiu qu, thm ch phi ti u ho hiu
qu (v thi gian v tit kim nguyn liu). V vy, gn nh ng thi vo nm
1956-1958, hai phng php k hoch, iu hnh v kim tra d n ra i.
Phng php ng gng hoc phng php ng ti hn (Critical path method,
vit rt l CPM) c E.I.du Pont de Nemous v cng ty xy dng ca ng a ra.
Phng php th hai c tn l K thut xem xt v nh gi d n (Project
evaluation and review technique, vit tt l PERT) l kt qu nghin ca ca mt
cng ty t vn theo t hng ca hi qun M, dng iu hnh cc hot ng
nghin cu v pht trin chng trnh tn la i cc. Hai phng php c hnh
thnh c lp nhng rt ging nhau, cng nhm vo mc ch iu hnh thi gian
l chnh. S khc nhau chnh l trong CPM thi gian c lng cho cng vic,
c coi l tt nh (Deterministic), cn trong PERT c th l ngu nhin
(Probabilistic). Ngoi ra CPM c tnh n quan h thi gian. Ngy nay, khi pht
trin ln, hai phng php c coi l mt, di mt tn chung l Phng php
iu hnh d n PERT-CPM, hoc Phng php s mng li hoc h thng
kiu PERT (PERT-type system). N c dng thc hin rt nhiu kiu d n,
t xy dng, lp trnh my tnh, sn xut phim n vn ng tranh c chnh tr
hoc cc cuc gii phu phc tp.
Phng php iu hnh d n PERT-CPM gm ba pha (tc l ba khu): k
hoch, iu hnh v kim tra iu chnh. Pha k hoch c ni dung l lp mt s
mng li (arrow network diagram hoc arrow diagram), tng t mt th
c hng. Pha ny m u bng vic tch d n thnh nhiu hot ng ring v
nh thi gian hon thnh chng. Trong mng, mi cung c hng biu din hot
ng v c s mng biu th mi quan h gia cc hot ng. Mi nt biu th
mt bin c hoc s kin (event), nh du hon thnh mt s hot ng (activity)
l cc cung i vo nt, v bt u cc hot ng ng vi cc cung ra khi nt.
Pha iu hnh (scheduling phase) c nhim v xy dng biu thi gian, ch
r thi im bt u v kt thc ca mi hot ng v mi quan h gia cc hot
ng. Ni ring, iu quan trng l phi tnh chnh xc cc hot ng ti hn, tc
l gng (critical), cn ch c bit khi thc hin, ton b d n c hon
thnh ng hn.

Trang:2

Pha kim tra bao gm vic s dng s mng li, v biu thi gian
theo di v bo co nh k tin trin ca d n. Nu cn th phi phn tch li v
xc nh s mi cho phn d n cn li.
I. Lp s mng li
Nh trn ni, pha u ca phng php PERT-CPM l lp k hoch th
hin mt s mng li, biu din nh mt th c hng. Hy xt mt d n
xy dng mt to nh. Vic tch d n thnh cc hot ng nh o t, xy
mng, xy tng th, lp mi, t ng dy in l do kin trc s hoc k s
xy dng lm. Da vo , ngi qun l d n lp c s mng li nh
H.1.1. Cc s bn cnh cung l thi gian thc hin hot ng .
Qua s mng li H.1.1 ta thy r mi quan h gia cc hot ng v thi
gian. Chng hn hot ng (6, 8) l trt ngoi-phi sau (4, 6) l lp mi, nhng
c lp vi (5, 7) l chnh tng trong. Cng vy (4, 7) c lp vi (4, 5) v (5, 7).
y c hai hot ng gi (dummmy activity) vi thi gian thc hin bng 0
c a vo m bo qui tc s .
Cung gi (11, 12), k hiu bi ng t on, a vo m bo qui tc
khng c hai hot ng 1
cng bin c bt u v kt thc, tc l khng c 2 cung c
cng gc v ngn (tc l th n). Vic sn tng trong v lm sn c cng
bin c du l nt 9, tc l bin c lt vn tng xong, v bin c cui l nt 12
(lm sn v sn tng xong, bt u hon thin trong). Do ta phi thm nt 11
2 (11, 12).
l bin c gi v cung gi
Cung gi (5, 8) ch rng hot ng (4, 5) phi hon thnh trc khi bt u
hot ng (8, 10) (nu b cung gi ny th thi im lm hai vic l c lp).
Cung gi ny l phc v cho qui tc s mng li phi th hin quan h
3
th t cn c.
Nu quan h thi gian c dng: vic x2 bt u khi xong 1/3 vic x1, vic x3 bt
u khi xong mt na x1, th ta phi thm cc nt nh du cc bin c xong 1/3x 1
v xong 1/2x1 nh H1.2.
4
6
5

7
2

o mng

9 Xy mng

10
1
1

Khi cng

1
0

Xy th
6
Lp mi
1
Trang:3
2

1
3

4
t dy in 7

Chnh thng tng ngoi


7 Trt ngoi

Chnh thng tng trong


9

Lm sn

Sn ngoi

p vn lt tng

Sn tng

Hon thin ngoi

Hon thin trong


6
Kt thc

Hnh 1.1
Tm li: S mng li phi l mt th c hng, n, lin thng,
khng c khuyn (tc l cung c gc v ngn cng l mt nt), khng c chu trnh
c hng (directed cycle), c nt khi cng v nt kt thc.
1

x1

X2

X3

x1

x1

Hnh 1.2
II. Phn tch cc ch tiu thi gian. Xc nh ng cng.
Pha iu hnh c nhim phn tch cc ch tiu thi gian v a ra cc bng v
s liu cn thit trn s mng li. Nu trong d n phi iu hnh c nguyn
liu (hoc nhn lc) th phi xt c cc ch tiu , ta s ni n mc sau.
II.1. Tnh cc thi im.
Ch tiu y l thi im sm ca bin c (earliest time for an event) l thi
im bin c xy ra khi mi hot ng trc n c bt u sm nht c th.
Thi im sm ca bin c i thng k hiu l E i. Cc Ei c tnh theo hng
tng (forward pass), tc l i t nt khi cng theo th t tng ca nt i. Nh vy
vi nt khi cng 1 th E1 = 0. n nt 2 trong s H1.1 th E 2 r rng bng 2 v
bin c hon thnh hot ng (1, 2) phi l E 1 + t12, y t12 l thi gian thc hin
hot ng (1, 2). Vic tnh E3, E4, E5, E6, E9, E10 v E11 cng tng t v cc nt
tng ng ch c mt cung vo, khi :
Ei = Ej + tji
y j l nt ngay trc i. Chng hn E 6 + t46 = 16 + 6 = 22. Nu c nhiu
cung vo nt, tc l nhiu hot ng kt thc ti bin c, th t nh ngha E i r
rng y l thi im mi hot ng va xong c, tc l phi ly maximum ca
cc tng. Chng hn

Trang:4

E7 = max {E4 + t45,E5 + t57} = max {16 + 7, 20 + 5} = 25,


E8 = max {E5 + t58,E6 + t68} = max {20 + 0, 22 + 7} = 29
Tng qut, cng thc tnh Ei cho mi trng hp l :
Ei = maxmax {Ej + tji},
j
y j l cc nt ngay trc i, tc l c cung ni ti i. Cc E i c ghi H.1.3 l
s u trong ngoc mi nt.
Thi im mun (latest time) ca bin c j l thi im mun nht mi cung
i vo bin c j u hon thnh m khng lm thay i thi im kt thc d n
sm nht c th, k hiu l Lj. i li vi Ej, cc Lj c tnh theo hng li
(backward pass), tc l i t nt kt thc. Theo nh ngha, nt kt thc th E n =
Ln, th d H.1.1 l E13 = L13 = 44. nu bin c ch c mt cung ra, tc l mt
hot ng c bt u th, thi im mun l :
Lj =Li - tji,
Tc l thi im mun ca nt ngay sau n tr i thi gian thc hin hot ng ni
hai nt. Cc bin c 12, 11, 10, 8, 7, 6, 3, 2 v 1 H.1.1 l trng hp ny. Nu c
nhiu cung ra khi bin c, th theo nh ngha ta c :
Lj =

min {L i - t ji }
i

y min theo cc
nt i ngay sau j v
tji l thi gian thc
hin hot ng ni
(j, i). Cc nt 9, 5, 4
l trng hp ny,
chng hn :
L9 = min {L11 t9 11,
L12 t9 12} = min
(38 4, 38 - 5) = 33
Hy ch s i
xng ca qu
trnh tnh Ei v Lj.
Cc Lj c ghi
s th
2 trong
ngoc mi nt
trong H.1.3.

(0, 0)

1
2

(2, 2)

2
4

(6, 6)

10

4
4

(20, 20)

Tnh thi
gian d tr.

(29, 33)

(25, 25)

(22, 26)

II.2.

Trong thi gian d


tr (slack hoc
float) ca mt bin
c l hiu thi im
mun v thi im
sm ca n : di = Li
Ei. Thi gian d
tr (slack hoc
float) ca hot ng

(16, 16)

(33, 33)

(38, 42)

1
0

5
4

0
1
1
1

Trang:5

(38, 38)
1
2

6
1
3

(44, 44)

c chia lm hai loi. Thi gian d tr chung (total slack hoc total float) ca
hot ng (i, j) l :
TFij = Lj Ei tij.
TFij ch l thi gian c th tr hon ca hot ng (i,j) m khng nh hng n
thi im kt thc c d n. V n bng thi gian ti a dnh cho hot ng (i, j) l
Lj - Ei tr i thi gian
thc hin l tij. Thi gian d tr c lp (free float hoc free slack), k hiu l FF ij,
cng l k hiu thi gian dnh cho (i, j) v thi gian thc hin l t ij, nhng vi gi
thit l mi hot ng u bt u sm c th, vy :
FFij = Ej Ei tij.
Trn s mng li th di l hiu hai s trong ngoc nt i, thng c ghi
bng s trong vung cnh nt. Thi gian d tr chung ca hot ng TF ij c
ghi trong vung cnh mi cung. Cn thi gian d tr c lp ca hot ng
FFij t quan trng hn, thng khng ghi, xem
H.1.3.
Hnh
1.3
II.3. ng gng. (ng ti hn)
Cc hot ng c thi gian d tr chung bng 0 cn c ch c bit v
tr hon n s nh hng n thi gian kt thc d n. T c :
nh ngha II.3.1. ng gng hoc ng ti hn (critical path) l mt
ng i t nt khi cng n nt kt thc m mi hot ng trn ng u c
thi gian d tr chung bng 0. (Chng hn trn H.1.3 c mt ng gng l 1 > 2
> 3 > 4 >5 > 7 > 9 > 12 > 13 ) hot ng (i, j c TF ij = 0 c gi l hot
ng gng (critital activity). Bin c i c d i =0 c gi l bin c gng (critical
event).
Mt s tnh cht quan trng ca ng gng l nh sau.
1. Mi d n u c t nht mt ng gng.
2. Tt c cc hot ng (i, j) c TF ij = 0, tc l mi hot ng gng u
phi nm trn ng gng.
3. Mi bin c gng, tc l bin c i c d i = 0, u phi nm trn ng
gng. Bin c khng gng khng th nm trn ng gng.
4. ng ni nt khi cng n nt kt thc m mi bin c trn u
gng c th khng phi ng gng v c th c hot ng khng gng.
Chng hn ng 1 > 2 > 3 > 4 > 7 > 9 > 12 > 13 khng gng
v TF47 = 2.
5. ng gng l ng di nht trong cc ng ni nt khi cng n
nt kt thc.
iu 5 ny l r t nh ngha v nt khi cng v kt thc hai thi im
sm v mun trng nhau v thi gian hon thnh d n chnh l hiu thi gian
hai nt ( H.1.3 l 44 - 0). ng gng l ng gm cc hot ng khng c d
tr nn tng chiu di, tc l thi gian thc hin, l ton b thi gian thc hin d
n ( H.1.3 l 44), nn phi di nht. Trn H.1.3 ng gng c t m.
Mt th d d n c nhiu ng gng l s H.1.3 nhng vi t46 thay t
6 thnh 10. Khi thi gian d tr ca cc hot ng (6, 8), (8, 10) v (10, 13) v
thi gian d tr ca cc bin c 6, 8 v 10 u thay t 4 thnh 0. Lc ny ng 1
> 2 > 3 > 4 > 6 > 8 > 10 > 13 l ng gng th hai.
Cc ch tiu thi gian ca d n H.1.3 c ghi vo bng 1.1

Trang:6

Bin c

Thi im
sm
0
2
6
16
20
22
25
29
33
38
37
38
44

1
2
3
4
5
6
7
8
9
10
11
12
13

Thi im
mun
0
2
6
16
20
26
25
33
33
42
38
38
44

Thi gian
d tr
0
0
0
0
0
4
0
4
0
4
1
0
0

Hot ng
(1, 2)
(2, 3)
(3, 4)
(4, 5)
(4, 6)
(4, 7)
(5, 7)
(6, 8)
(7, 9)
(8, 10)
(9, 11)
(9, 12)
(10, 13)
(12, 13)

Thi gian d
tr chung
0
0
0
0
4
2
0
4
0
4
1
0
4
0

Bng1.1. Ch tiu thi gian xy nh


Ngoi cc ch tiu chnh ni trn, khi cn cc thng tin chi tit hn iu
hnh d n, ngi ta cng a ra mt s khi nim v thi gian khc na nh sau.
Thi im khi cng sm (earliest start) ca hot ng (i, j) l thi sm ca
nt gc: ESij = Ei.
Thi im hon thnh sm (earliest completion) ca hot ng (i, j) l EC ij =
Ei + tij.
Thi im khi cng mun (latest start) ca hot ng (i, j) l LSij = Lj - tij.
Thi im hon thnh mun (latest completion) ca hot ng (i, j) l LCjj =
Lj tc l thi im mun ca nt ngn.
Nhn xt rng ECij Ej , LSij Li. Tht vy, ta c
Ej =

max
k

{Ek + tkj} Ei +tij = ECij,

V i cng l mt trong cc nt k ngay trc j. Bt ng thc th hai tng t.


Thi gian d tr ca mt ng i (total float of a path) P t nt khi cng
n nt kt thc, k hiu TFp, l thi gian c th ko di thm cc hot ng trn
ng ny m khng nh hng n thi im hon thnh cng trnh, tc l
G
P
G
P
TP = t ij t ij T T ,
P
y t T l di ng gng v tij TP l di ng P, l tng thi
gian thc hin hot ng trn ng P.
H s gng (critital coefficient) biu th mc cng thng v thi gian ca
mt ng P ni nt khi cng v kt thc, khng phi ng gng G, c nh
ngha l
G

ij

K P :

T P T PG
,
T G T PG

y TPG l di qung ng (tc l mt phn ca ng) m P trng vi G.


R rng O < KP < 1 v KP cng gn 1 th thi hn thc hin cc hot ng khng
gng trong P cng cht ch.

Trang:7

Hai nh ngha trn y ca ng i c th m rng cho ng P c nt u


v cui trng vi nt trong ng gng, khng cn l nt khi cng v kt thc
ca c d n.
Th d II.1. d n trn H.1.3, ng gng dc t m. Thi im hon
thnh sm EC68 = E6 + t68 = 22 + 7 = 29 = E8, EC10, 13 = 40 < E13 = 44. Thi im
khi cng mun LS46 = L6 t46 = 26 6 = 20 > L4 = 16. By gi gi s P l ng
P
i 1 > 2 > 3 > 4 > 5 > 6 > 8 > 10 > 13 th TP = t ij =40
Nn thi gian d tr ca P l TG TP = 44 40 = 40. H s gng l
40 10

(khng c qung chung vi ng gng). Gi Q l ng 1 > 2 >


4
11
42 35 7 10

3 > 4 > 7 > 9 > 12 > 13 th T Q = 42, KQ =
. Ta thy mc d
44 35 9 11

KP =

TQ > TP nhng thi hn thc hin cc hot ng khng gng trong P li cht ch
hn hot ng khng gng (4, 7) duy nht ca Q. Nguyn nhn l (4, 7) l khng
gng duy nht, nn mi s ni lng ca Q u dn cho hot ng ny.
Ch rng cc d liu thi gian quan trng nht l cc ch tiu c trong bng
1.1. bng ny cng cho thy ng gng (ng gm cc hot ng gng, tc l
c thi gian d tr chung bng 0).

II.4. Biu thi gian


Mt cch truyn thng, bn cnh s d li bng, theo di iu hnh thi
gian cho d n l dng biu thi gian (time chart). Ta hy xt cch v v s
dng biu thi gian qua mt th d.
Th d II.2. Xt d n H.1.4, v bng 1.2 tng ng. (ch l hot ng gi
(4, 5) li l hot ng gng.)
5

6
2

H.1.4
Bin c

Ei

Li

di

1
2
3
4
5
6
7

0
2
3
6
6
13
19

0
4
3
6
6
13
19

0
2
0
0
0
0
0

Trang:8

Hot
ng
(1, 2)
(1, 3)
(2, 4)
(3, 4)
(3, 5)
(4, 5)
(4, 6)
(4, 7)
(5, 6)
(5, 7)
(6, 7)

TFij
2
0
2
0
1
0
4
11
0
8
0

Bng 1.2
Biu thi gian cho H.1.5. y ch c ttrc honh l thi gian . Cao
khng quan trng. Ta biu din cc hot ng gng pha trn. di (thi gian) l
c nh, cht ch cho cc hot ng gng. Hot ng gi (4, 5) c di bng 0
nn biu din bng on ng.
Mi hot ng khng gng biu din cao khc nhau nhn r v cc
hot ng ny c c ng v c iu hnh bng biu thi gian.
4

1
5

2
4

2
3

5
4

0
16

3
2
5

2 3 4

10

13

19
Hnh: 1.5
Biu c v t cc E i v Li Bng1.2 (hot ng gng hay khng gng th
theo TFij bng 0 hay khc 0). Cc s khng c vng ch thi gian thc hin ca
hot ng. Chng hn hot ng (1, 2) thc hin trong 2 n v thi gian, c
php x dch trong khong thi gian 4 n v (t 0 n 4). Xt su hn th s x
dch c t do trong khong thi gian ny khng l ph thuc vo FF ij = TFij. Nu
FFij = TFij th hot ng (i, j) c th c ng tu trong khong thi gian v biu
. Nu FFij < TFij th hot ng (i, j) ch c bt u mun hn thi im khi
cng sm ESij mt khong thi gian khng qu FF ij th mi khng nh hng n
cc hot ng ngay sau n (duy nht) l
(2, 4) mi c x dch tu trong khong thi gian 2 n 6. Nu (1, 2) thc hin
li li khong 1 n 3 chng hn, th nh hng n hot ng (2, 4). Mc d c
FF24 = TF24 nhng lc ny c ch cn c x dch thc hin trong khong t 3 n
6.
III. iu khin nhn lc.
Cc hot ng khng gng c php x dch nht nh, nht l khi FF ij = TFij.
C th sp t chng p ng cc yu cu khc na. Ngoi thi gian ra, chng hn
nhn lc, nguyn liu, chi ph V mt ton hc x l yu cu loi no cng vy.
y ta ni theo ngn ng nhn lc chng hn.

Trang:9

Th D III.1. Gi s nhn lc cho cc hot ng ca d n Th D II.2 i


hi nh sau:
Hot ng

S nhn
cng
0
5
0
7
3

s nhn cng

(4, 6)
(4, 7)
(5, 6)
(5, 7)
(6, 7)

2
1
2
5
6

(1, 2)
(1, 3)
(2, 4)
(3, 4)
(3, 5)

Hot ng

S nhn cng
5
6
7

10

S cng nhn
5
6
7

Ch rng ti thi im hai hot ng cng tin hnh th s nhn lc cn l


tng hai s cng nhn. V vy cn phi sp xp kho cc hot ng khng gng
i hi tng nhn cng ca c d n t (tm coi l mi ngi bit lm mi vic).
Vic sp xp ti u l phc tp, n nay ta s dng biu thi gian biu din
thm nhn lc sp xp theo trc quan. H.1.6 (a) biu din tng cng nhn cn
mi thi im nu tt c cc hot ng khng gng xp vo lc sm nht c th,
cn H.1.6 (b) l tng ng khi xp vo lc mun nht c th. Hai biu ny nn
v thng di H.1.5 na. Sp t sm nht hnh (a) cho thy mi thi im d
n cn nhiu nht l 10 cng nhn cn sp t mun nht (b) l 12 cng nhn.
hai phng n ny, s cng nhn cn cc thi im khng u. Theo trc quan ta
chnh li t (a) nh sau: chuyn hot ng (4, 6) n thi im mun nht c th,
chuyn (4, 7) n ngay sau khi (5, 7) kt thc. Kt qu c v li biu H.1.7.
(ch l hot ng (1, 2) v (2, 4) khng cn cng nhn nn khng cn v.).

Thi gian

10 11

13 14

19

10

2
12

3 4
17

(3, 5)

(4, 7)
(4, 6)

(3, 4)

(5, 7)

(1, 3)

(6, 7)
Thi gian

Trang:10
3

10 11

13 14

(5, 6)

H .I.6 (a)
(4, 7)
(3, 5)
(3, 4)

(5, 7)

(1, 3)

(4, 6)

(6, 7)

(5, 6)

H .I.6 (b)

1
5

2
1

10

4
1

S cng nhn
5
6
7

4
5

3
17

10 11

7
1

Thi gian

13 14

19

Thi
Gian

Trang:11
3

10 11

13 14

Hnh 1.7
IV. Hon thnh sm d n.
Trn y xt thi im hon thnh d n l c nh v xc nh cc ng
gng, phi thc hin cht ch d n hon thnh ng thi gian qui nh. Nu
mun gim thi gian hon thnh d n th lm th no ? Ta cng s dng ng
gng, nhng phi da vo k thut v cng ngh, ch khng phi qun l bng
ton hc c na. C th l phi dng cng ngh mi, tng vt t, cng nhn ..
c thi gian thc hin cc hot ng ngn hn. Nhng tp chung vo hot ng
no ? R rng l vo cc hot ng gng. C th l nu ta quan tm n hn ch
chi ph th vi (i, j) G, tm s gia chi ph Cij khi t c rt ngn thi gian
thc hin hot ng l tij (tm bng thc t cng ngh, khng phi thun tu ton
C

ij
hc). Khi s chn cch tng ch ph gim thi gian sao cho t min t .
ij

Gi s cc tiu l

C ij0
t ij0

. Khi di ng gng mi, tc l thi gian hon

thnh d n mi, l
~

T G T G t ij0 ,

y tng ly trn mi hot ng gng.


V. D n c tnh ngu nhin.

Trong cc mc trn ta coi thi gian thc hin cc hot ng t ij l xc nh


hon ton t u, khi lp s mng li. Do ta c m hnh tt nh
(detreministic model). Trong thc t, nhiu yu t bt nh phi c tnh n, do
thi gian thc hin hot ng (i, j) l mt bin ngu nhin (random variable),
m ta ch xc nh c phn b xc sut (probability distributtion) qua kinh
nghim v s liu thng k. T dn n phi s dng m hnh ngu nhin hoc
gi khc l m hnh xc sut (probabilistic model). Vic tnh ton cc ch tiu
iu hnh d n c hai nhim v chnh. Mt l tnh k vng (mean hoc expected
value) ca cc i lng cn tnh, chng hn thi gian thc hin hot ng
(activity time), thi gian hon thnh d n (project time), v phng sai (variance)
ca cc i lng ny. Hai l tnh xc sut ca bin c no , chng hn bin c l
d n hon thnh trc thi im T.

Trang:12

Thi gian thc hin mi hot ng, thng gi tt l thi gian hot ng,
trong m hnh ngu nhin thng c gi thit l xc nh c ba yu t sau.
Thi gian lc quan (optimistic time) k hiu l a, l thi gian cn lm xong khi
hot ng c thc hin thun li nht. Thi gian ny rt kh t c. Theo l
thuyt thng k, th y thc cht l cn di (lower bound) ca phn b xc sut.
Thi gian bi quan (pressimistic time), k hiu l b, l thi gian cn xong hot
ng khi tin hnh gp trc trc nht, tc l cn trn (upper bound) ca phn b
xc sut. Thi gian hp l nht (most likely time), k hiu l m, l thi gian hin
thc nht, tc l c xc sut ln nht (nh cao nht ca hm mt ). Ba lng
trn cha xc nh phn b xc sut ca thi gian hot ng. Do cha
xc nh k vng te tc l gi tr trung bnh theo xc sut, v phng sai 2 c
trng cho lch khi te ca thi gian hot ng. M hnh cn hai gi thit ph
hp thc t sau y.
Gi thit 1. b - a, tc l di khong m thi gian hot ng c th ly, bng
6 ln lch chun (standard deviasion), tc l ta c phng sai
2

2 (b a ) .
(1.1)
6

iu ny ng cho nhiu bin ngu nhin hay gp.


Gi thit 2. Phn b xc sut ca mi thi gian hot ng u l phn b beta
(beta distribution).
Ta hy nhc li vi kin thc xc sut. Mi i lng ngu nhin x c hai hm
quan trng nht. Hm mt xc sut (probability density fuction) f(x), a x b,
v hm phn b tch lu (cumulative distribution function) F(X), gi l hm phn
b. y gi thit l x ch ly gi tr trong [a, b] . Ta c cc quan h sau
b

f ( x)dx 1,
a

F ( X ) P{x X }

f ( x)dx,
a

X e xf ( x) dx,
a

2 ( x x e ) 2 f ( x) dx,
a

y xe l k vng v l phng sai ca bin ngu nhin x, P {} l xc sut


ca bin c {}. Mi mt trong hm mt hoc hm phn phi c trng hon
ton cho bin ngu nhin. K vng v phng sai l cc i lng quan trng. Ta
cng ni l hm mt (hoc hm phn b), xc nh hon ton phn b xc sut.
Phn b beta (beta distribution) l mt trong cc phn b xc sut ph bin nht,
xc nh bi hm mt sau, nu 0 x 1,
2

f ( x)

( )
1
x 1 (1 x ) 1
x 1 (1 x) 1 ,
( ) ( )
B ( , )

(1.2)

y , l tham s, (.) l hm c bit gamma v B(., .) l hm c bit beta,


c nh ngha bng tch phn ph thuc tham s

Trang:13

<

f(x)

( ) : t 1e t
0

>

B ( , ) : t 1 (1 t ) 1 dt
0

=1, =2

=2, =2

==1

Hnh 1.8
Nu y ly gi tr trn [a, b] v c phn b theo beta th hm mt nhn c
t (4.2) bng i bin y = a + (b - a)x. Chng hn, hm mt ca phn b beta
c dng nh H.1.8 vi 1, 1 v a = 0, b = 1.
Phn b chun (normal distribution) l phn b xc sut ph bin nht, nh
ngha bi hm mt sau.
f ( x)

1
2 2

( x )2
2 2

f(x)

, x ,

y tham s chnh l k vng


v 2 chnh l phng sai ca bin
ngu nhin x c phn b chun.
Khi bin z

x
c phn b l

phn b chun vi k vng 0,


phng sai l 1. Hm mt ca
phn b chun c dng H.1.9

Cc bin ngu nhin x1, , xn c gi l c lp (independent) nu.


P{x1 X1, , xn Xn} = P{x1 Xn},
nh ngha gii hn trung tm (centrer limit thoerem) ni rng vi cc iu
kin kh nh, tng cc bin ngu nhin c lp lun c phn b chun (khng ph
thuc vo phn b ca tng bin ngu nhin).
Tr li m hnh ngu nhin iu hnh d n. tnh k vng t e ca thi gian
hot ng, ngi ta gi thit l im gia

ab
chim t trng bng na im hp
2

l nht m. Khi
te

1
1

2m ( a b)

3
2

Trang:14

(II.3)

Th d V.1. Gi s d n xy nh H.1.1 by gi c cc thi gian hot ng l


ngu nhin c phn b beta tho hai gi thit trn v xc nh c ba mc thi
gian lc quan, bi quan v hp l nht theo bng1.3. Khi phng sai v k vng
ca cc thi gian hot ng, tnh theo cng thc (4, 1) v (4, 3) c ghi hai ct
cui.
Hot ng

Thi gian
lc quan a

(1, 2)

(2, 3)

(3, 4)

(4, 5)

(4, 6)

(4, 7)

(5, 7)

(6, 8)
(7, 9)
(8, 10)
(9, 11)

5
3
5
4

(9, 12)

(10, 13)

(12, 13)

Thi gian
hp l nht
m
2

Thi gian
bi quan b

K vng te

Phng
sai 2

1
9

18

10

1
2
1
5
2
1
7
2

4
9

10

10

11
9
17
4

7
8
9
4

1
1
4
0

1
2

1
2

1
2

4
1
2

9
8
4

1
9
4
9

Bng 1.3
Nhn xt rng ct k vng Bng1.3, do th d c xy dng c bit, trng
hon ton vi cc thi gian hot ng trong m hnh tt nh xt H.1. Do
ng gng xy dng trn cc thi gian hot ng k vng trng vi ng gng
ca m hnh tt nh H.1.2 v thi gian ca ng gng ny l 44.
Tuy nhin xc nh k vng v phng sai ca thi gian d n, ta cn thm
hai gi thit sau.
Gi thit 3. Cc thi gian hot ng l cc bin ngu nhin c lp.
Gi thit 4. ng gng xy dng trn cc thi gian hot ng k vng, lun
i hi thi gian (hon thnh mi hot ng trn n) ln hn cc ng khc.
Tnh tht chi ly trong cc th d c th th hai gi thit 3 v 4 c th khng
ng. Chng hn, Th d V.1, nu sy ra thi gian bi quan mi hot ng th
ng gng tnh l 69 (ngy). Cn ng 1 > 2 > 3 > 4 > 5 > 7 > 9 >

Trang:15

12 > 13 c thi gian bi quan l 70. Tuy vy ngi ta vn chp nhn cc gi


thuyt xp x ny. Khi , v k vng v phng sai ca tng cc bin ngu nhin
l tng ca cc k vng v phng sai nn ta c: K vng v phng sai ca thi
gian d n l tng cc k vng v phng sai ca cc thi gian hot ng trn
ng gng (xy dng theo cc k vng). n y ta nhn xt rng mt trong cc
cch p dng thc t l dng cc k vng ca cc bin, ri p dng mi tnh ton
v l lun cc mc trc vo cc k vng, thay cho cc bin tt nh.
Th d V.1 k vng v phng sai ca thi gian d n l 44 v 9, v ng
gng l 1 > 2 > 3 > 4 > 5 > 7 > 9 > 12 > 13 .
By gi ta xt vn quan trng l tnh xc sut d n hon thnh trc
mt thi hn bt buc (deadline). Theo nh l gii hn trung tm, thi gian d n
l bin ngu nhin c phn b chun. Do ta tnh c xc sut P(x X), thng
c tnh sn tra theo bng. Chng hn Bng A1 cui sch cho bit P {x xe +
K}, y l lch chun. Do K l n v lch chun.
Th d, hy tnh xc sut thi gian xy nh Th d V.1 khng qu 47 ngy.
Ta thy 47 = 44 + 3.1 = xe + K nn K = 1. Theo bng th P {x 47} = 0,1584.
Do xc sut cn tm l 1 0,1584 0,84.
Phng php iu hnh d n c tnh ngu nhin trn y thng c gi l
phng php ba c lng PERT (PERT three estimate method).
Nu cn tnh cc yu t thi gian cc bin c trung gian (khng ch thi gian
hon thnh d n, tc l bin c cui) th ta l lun nh sau. Trc ht tnh k
vng v phng sai ca thi im sm i ca bin c i. Nu ch c mt ng t
khi cng n i th, do cc hot ng l c lp k vng ca i k hiu l E(i),
bng tng cc k vng te ca thi gian cc hot ng dn n i. Khi c nhiu
ng dn n i th ngi ta coi xp x ( n gin) E(i) v Var(i) l tng cc te
v 2 ca cc hot ng theo ng n i c tng E(i) di nht. Nu c nhiu
ng vi cng E(i) th Var(i) quy c ly lng ca ng c tng cc 2 di
nht.
By gi hy tnh xc sut bin c i xong trc thi gian bt buc T i cho
trc. Theo nh l gii hn trung tm i tun theo phn b chun, ta ch vic tra
bng cc xc sut ng vi phn b chun tnh P{i Ti}. C th, tra bng,
quy v trng hp i lng z c phn b chun vi k vng 0 v phng sai 1
nh sau:
i E ( i ) Ti E ( i )

: P{z K i } ,
Var ( i )
Var ( i )

P i Ti P

y K i

Ti E ( i )
Var ( i )

bit.

VI. D n c tho hip thi gian Cc ph.


Trong cc mc trc ta trnh by v cc da n c yu cu ch yu l iu
hnh thi gian. Theo ngn ng ban u th y l phng php PERT, cc thi
gian y c th xt nh cc bin tt nh hoc ngu nhin. Cn phng php
ng gng PCM th t ngang nhau v thi gian v cc ph. Mc tiu chnh ca
PCM l chn cch tho hip thi gian thc hin mi hot ng (theo ngn ng
hnh hc) tc l bit ng cong thi gian cc ph (time cost curve) ca mi

Trang:16

Cc ph trc
tip

hot ng. Trong m hnh ton hc (xp x th tnh trng thc t) ngi ta gi thit
quan h thi gian v cc phi l tuyn tnh. Do ch cn bit hai im. Ngi ta
chn hai in nt nh sau:
im chun (normal point) c to l thi gian v cc ph ca hot ng
khi n c tin hnh trong iu kin bnh thng, tc l chun, khng c cc
ph b xung tng cng (nh lm ngoi gi, tng thit b nhn lc ). Cc im
(crash point) l im ng vi thi gian v cc ph khi u t ht mc thi gian
thc hin hot ng ngn nht c th. Mi im trung gian gia im chun v cc
im, tc l mi cch tho hip thi gian cc ph (time cost trade - off) u coi
l chp nhn c, xem H.1.10.

Kij
Cdij

Cc
im
Cxij

im
chun

Thi
gian

CDij

ng cong

dij
thi

Hnh 1.10
xij ph ca hot ng (i, j).
gian cc
D
ij

Cc k hiu trn H.1.10 r rng nh sau. D ij l dij l thi gian chun v thi
gian cc im. CDij v Cdij l cc ph chun (normal cost) v cc ph cc im
(crash cost), u ca hot ng (i, j). Gi x ij (thi gian thc hin hot ng (i, j)) l
bin quyt nh (decision variable) ca bi ton m ta cn tnh. Gi S ij l xin,
tc l h s gc ng thng biu th ng cong thi gian cc ph , tc l:
S ij

C Dij C dij
Dij d ij

Gi Kij l tung im ng thng ct trc tung. Khi cc ph ca hot


ng (i, j) tng ng vi thi gian hot ng (i, j) ng vi thi gian hot ng x ij
r rng l:
Bi ton: Chn cc xij thi gian d n khng qu thi hn bt buc T cho
trc v lm cc tiu cc ph d n C.
Nhn xt rng cc yu t ca bi ton u l tuyn tnh, ta c gng a v quy
hoch tuyn tnh nh sau:
a vo cc bin b xung yk l thi im sm Ek ca bin c k. Khi quan
h gia cc bin theo Mc 4.2 l
Ek

max
j

t jk ,

(1, 4)

y max ly theo cc bin c j ngay trc k, tc l c hot ng ni (j, k). K


hiu yk = Ek, tjk = xjk v vit li (4, 4) ta c
yi + xjk yk 0
(s rng buc l s cc bin c ngay trc k). Gi 1 l nt xut pht v n l nt kt
thc d n th

Trang:17

y1 = 0, yn T.
mc tiu th Kij l hng. Tm li ta c quy hoch tuyn tnh
min Sij xij ,
(i , j )

d ij xij Dij ,
yi xij yij 0
y1 0, yn T .

a v quy hoch tuyn tnh dng chun ta lm nh sau. i bin x ij = dij +


x ij th rng buc xij dij tr thnh rng buc du x ij 0. Thm rng buc hnh thc
yi 0, i. Rng buc ny t nhin tho do y1 = 0 v yj yi + dij + Xij.
Trng hp khng c thi hn bt buc T cho trc, tc l cn tm tho hip
tt nht gia tng cc ph v tng thi gian d n, ngi ta coi T l tham s v
gii quy hoch tuyn tnh tham s c nghim ti u nh hm ca T.

VII. Kim tra hiu chnh d n.


Sau khi dng phng php iu hnh d n PERT CPM xc nh c s
mng li, cc biu v bng tnh cc ch tiu v d n ang c tin hnh,
ngi qun l lun phi theo di, kim tra. iu kin lao ng thc t c th nhiu
bt ng. Khi cn thit c th phi dng phng php PERT CPM li, da trn
cc d liu mi, tnh ton cho phn cn lai ca d n. Sau iu hnh d n
theo cc biu v bng tnh mi.

Trang:18

CHNG 2

C S V L THUYT TH
I. Mt s khi nim c bn.
L thuyt th l mt lnh vc nghin cu c t lu v c nhiu ng dng
hin i. Nhng t tng c bn ca l thuyt th c xut vo nhng nm
u ca th k 18 bi nh ton hc li lc ngi Thy S Euler. Chnh ng l
ngi s dng th gii bi ton ni ting v ci cu thnh ph Konigsberg.
th c s dng gii cc bi ton trong nhiu lnh vc khc nhau.
Chng hn, th c th s dng xc nh cc mch vng trong vn gii tch
mch in. Chng ta c th phn bit cc hp cht ha hc hu c khc nhau vi
cng cng thc phn t nhng khc nhau v cu trc phn t nh th. Chng ta
c th xc nh xem hai my tnh trong mng c th trao i thng tin c vi
nhau khng nh m hnh th ca mng my tnh. th c trng s trn cc
cnh c th s dng gii bi ton nh: Tm ng i ngn nht gia hai thnh
ph trong mt mng giao thng. Chng ta cn s dng th gii cc bi ton
v lp lch, thi kha biu, v phn b tn s cho cc trm pht thanh v truyn
hnh
1.1. nh ngha th.
th l mt cu trc ri rc bao gm cc nh v cc cnh ni cc nh ny.
Chng ta phn bit cc loi th khc nhau bi kiu v s lng cnh ni hai
nh no ca th. c th hnh dung c ti sao li cn n cc loi th
khc nhau, chng ta s nu v d s dng chng m t mt mng my tnh. Gi
s ta c mt mng gm cc my tnh v cc knh in thoi (gi tt l knh thoi)
ni cc my tnh ny.
nh ngha 1: n th v hng G = (V,E) bao gm V l tp hp cc nh
v E l tp hp cc cp khng c th t gm hai phn t khc nhau ca V gi l
cc cnh.
Trong trng hp gia hai my tnh no thng xuyn phi truyn ti nhiu
thng tin ngi ta phi ni hai my tnh ny bi nhiu knh thoi.
nh ngha 2: a th v hng G = (V,E) bao gm l tp cc nh, v E l
h cc cp khng c th t gm hai phn t khc nhau ca V gi l cc cnh. Hai
cnh e1 v e2 c gi l cnh lp nu chng cng tng ng vi mt cp nh.
R rng mi n th u l a th, nhng khng phi a th no cng
l n th, v a th c th c 2 (hoc nhiu hn) cnh ni mt cp nh no
.
Trong mng my tnh c th c nhng knh thoi ni mt my no vi
chnh n (chng hn vi mc ch thng bo). Mng nh vy c cho trong hnh
3. Khi a th khng th m t c mng nh vy, bi v c nhng khuyn
(cnh ni mt nh vi chnh n ). Trong trng hp ny chng ta cn s dng n
cc khi nim gi th v hng, c nh ngha nh sau:
nh ngha 3: Gi th v hng G = (V,E) bao gm V l tp cc nh, v E
l h cc cp khng c th t gm hai phn t (khng nht thit phi khc nhau)
ca V gi l cc cnh. Cnh e c gi l khuyn nu c dng e = (u,u).

Trang:19

nh ngha 4: n th c hng G =(V,E) bao gm V l tp cc nh, v E


l tp cc cp c th t gm hai phn t khc nhau ca V gi l cc cung.
Nu trong mng c th c a knh thoi mt chiu, ta phi s dng n khi
nim a th c hng:
nh ngha 5: a th c hng G= (V,E) bao gm V l tp cc nh, v E l
h cc cp c th t gm hai phn t khc nhau ca V gi l cc cung. Hai cung e 1
v e2 tng ng vi cng mt cp nh c gi l cung lp.
Chng ta ch yu s lm vic vi n th v hng v n th c hng.
1.2. Cc thut ng c bn.
Trc tin ta xt thut ng m t cc nh v cc cnh ca th v hng.
nh ngha 1: Hai nh u v v ca th v hng G c gi l k nhau nu
(u,v) l cnh ca th G. Nu e = (u,v) l cnh ca th th ta ni cnh ny l
lin thuc vi hai nh u v v, hoc cng ni l cnh e l ni nh u v nh v, ng
thi cc nh u v v s c gi l cc nh u ca cnh (u,v).
c th bit bao nhiu cnh lin thuc vi mt nh, ta a vo nh ngha
sau:
nh ngha 2: Ta gi bc ca nh v trong th v hng l s cnh lin
thuc vi n v s k hiu l deg(v).
b

Hnh 1: th v hng G.
Th d 1: Xt th trong hnh 1, ta c:
deg(a)= 1, deg(b)=4, deg(c)=4, deg(f)=3, deg(d)=1, deg(e)=3, deg(g)=0.
nh bc 0 gi l nh c lp. nh bc 1 gi l nh treo. Trong th d trn nh g
l nh c lp, a v d l cc nh treo. Bc ca nh c tnh cht sau:
2m

deg(v)

v V

nh l 1: Gi s G = (V,E) l th v hng vi m cnh. Khi .


Chng minh. R rng mi cnh e = (u,v) c tnh mt ln trong deg(u) v
mt ln trong deg(v). T suy ra tng tt c cc bc ca cc nh bng hai ln s
cnh.
Th d 2: th vi n nh v mi nh c bc l 6 c bao nhiu cnh?.
Gii: Theo nh l 1, ta c 2m = 6n. T suy ra s cnh ca th l 3n.
H qu: Trong th v hng, s nh bc l (ngha l c bc l s l) l mt
s chn.
2m deg(v)
vV

deg(v) deg(v )

v O

v U

Chng minh: Thc vy gi O v U tng ng l tp nh bc l v tp


nh bc chn ca th. Ta c:

Trang:20

Do deg(v) l chn vi v l nh trong U nn tng th hai trong v phi trn


l s chn. T suy ra tng th nht (chnh l tng bc ca cc nh bc l) cng
phi l s chn, do tt c cc s hng ca n l s l, nn tng ny phi gm mt s
chn cc s hng. V vy, s nh bc l phi l s chn. Ta xt cc thut ng tng
t cho th c hng.
nh nghi 3: Nu e = (u, v) l cung ca th c hng G th ta ni hai nh
u v v l k nhau, v ni cung (u,v) ni nh u vi nh v hoc cng ni cung ny
l i ra khi nh u v i vo nh v. nh u(v) s c gi l nh u (cui) ca
cung (u, v).
Tng t nh khi nim bc, i vi th c hng ta c khi nim bn bc
ra (vo) ca mt nh.
nh ngha 4: Ta gi bn bc ra (bn bc vo) ca cc nh v trong th c
hng l s cung ca th i ra khi n (i vo n) v k hiu l deg +(v)
(deg(v)).
nh l 2: Gi s G = (V,E) l th c hng. Khi

deg
vV

(v) deg (v) E


vV

Rt nhiu tnh cht ca th c hng khng ph thuc vo hng trn cc


cung ca n. V vy, trong nhiu trng hp s thun tin hn nu ta b qua hng
trn cc cung ca th. th v hng thu c bng cch b qua hng trn
cc cung c gi l th v hng tng ng vi d th c hng cho.
1.3. ng i, chu trnh, th lin thng.
nh ngha 1: ng i di n t nh u n nh v, trong n l s nguyn
dng, trn th v hng G =(V,E) l dy x0, x1, ,xn-1,xn trong u =x0, v=xn
, (xi, xi+1) E, i= 0, 1, 2 , n-1. ng i ni trn cn c th biu din di dng
dy cc cnh: (x0, x1), (x1, x2), , (xn-1, xn).
nh u gi l nh u cn nh v gi l nh cui ca ng i. ng i c
nh u trng vi nh cui (tc l u= v) c gi l chu trnh. ng i hay chu
trnh c gi l n nu nh khng c cnh no b lp li.
nh ngha 2: ng i di n t nh u n nh v trong n l s nguyn
dng, trn th v hng G =(V, A) l dy x 0, x1, ,xn-1,xn trong u =x0,
v=xn , (xi, xi+1) A, i= 0, 1, 2 , n-1. ng i ni trn cn c th biu din di
dng dy cc cung: (x0, x1), (x1, x2), , (xn-1, xn).
nh u gi l nh u cn nh v gi l nh cui ca ng i. ng i c
nh u trng vi nh cui (tc l u= v) c gi l chu trnh. ng i hay chu
trnh c gi l n nu nh khng c cung no b lp li.
nh ngha 3: th v hng G= (V,E) c gi l lin thng nu lun tm
c ng i gia hai nh bt k ca n.
Nh vy hai my tnh by k trong mng c th trao i thng tin c vi
nhau khi v ch khi th tng ng vi mng ny l th lin thng.
nh ngha 4: Ta gi th con ca th G= (V,E) l th H = (W,F) trong
W V v FE.
Trong trng hp th l lin thng, n s r ra thnh mt s th con lin
thng i mt khng c nh chung. Nhng th con lin thng nh vy ta s gi
l cc thnh phn lin thng ca th.

Trang:21

nh ngha 5: nh v c gi l nh r nhnh nu vic loi b v cng vi


cc cnh lin thuc vi n khi th lm tng s thnh phn lin thng ca th.
Cnh e c gi l cu nu vic loi b n khi th lm tng s thnh phn lin
thng ca th.
nh ngha 6: th c hng G= (V,A) c gi l lin thng mnh nu
lun tm c ng i gia hai nh bt k ca n.
nh ngha 7: th c hng G =(V,A) c gi l lin thng yu nu th
v hng tng ng vi n l th v hng lin thng.
R rng nu th l lin thng mnh th n cng l lin thng yu, nhng iu
ngc li l khng lun ng.
nh l1: th v hng lin thng l nh hng c khi v ch khi mi
cnh ca n nm trn t nht mt chu trnh.
Chng minh: iu kin cn, gi s (u, v) l mt cnh ca th. S tn ti
ng i c hng t u n v v ngc li suy ra (u, v) phi nm trn t nht mt
chu trnh.
iu kin , th tc sau y cho php nh hng cc cnh ca thi thu
c th c hng lin thng mnh. Gi s C l chu trnh no trong th.
nh hng cc cnh trn chu trnh ny theo mt hng i vng theo n. Nu tt
c cc cnh ca th c nh hng th kt thc th tc. Ngc li chn e l
cnh cha nh hng c chung nh vi t nht mt trong s cc cnh nh
hng. Theo gi thit tm c chu trnh C cha cnh e nh ngha cc cnh cha
nh hng ca C theo mt hng dc theo chu trnh ny (khng nh hng li
cc cnh c hng). Th tc trn s lp li cho n khi tt c cc cnh ca
th c nh hng. Khi ta thu c th c hng lin thng mnh.
II. Biu din th trn my tnh.
lu tr th v thc hin cc thut ton khc nhau vi th trn my
tnh cn phi tm nhng cu trc d liu thch hp m t th. Vic chn cu
trc d liu no biu din th c tc ng rt ln n hiu qu ca thut ton.
V vy, vic chn la cu trc d liu biu din th ph thuc vo tng tnh
hung c th (bi ton v thut ton c th ). phn ny ta s xt mt s phng
php c bn biu din th trn my tnh, ng thi cng phn tch mt cch
ngn gn nhng u im cng nh nhng nhc im ca chng.
2.1. Ma trn k, Ma trn trng s.
Xt n th v hng G = (V,E), vi tp nh V= {1, 2, ,n} tp cnh E =
{e1, e2,, em}. Ta gi ma trn k ca th G l (0, 1) ma trn A = {a ij: i,j = 1, 2,
,n}vi cc phn t c xc nh theo quy tc sau y:
aij =0 nu (i,j) E v aij =1 nu (i,j) E, i,j =1, 2,,n
Th d1: Ma trn k cae th v hng cho trong hnh 1 l:
1 2 3 4 5
1
0 1 1 0
2
0
3
1 0 1 0
0
Trang:22
1 1 0 1
0
0 0 1 0
1

6
0
1
0
1

1
0 0
0

0 1 1

4
5
6
3

2
6

5
4

6
G1

Hnh 1: th v hng G v th c hng G1


Cc tnh cht ca ma trn k:
1. R rng ma trn k ca th v hng l ma trn i xng, tc l
a[i,
j]= a[j, i], i, j = 1, 2,,n. Ngc li, mi (0, 1) ma trn i xng cp n s tng
ng chnh xc n cch nh s nh (cn ni l: chnh xc n ng cu), vi mt
n th v hng n nh.
2. Tng cc phn t trn dng i (ct j) ca ma trn k chnh bng bc ca nh i
(nh j).
3. Nu k hiu aijp, i,j = 1, 2,, n. L cc phn t ca ma trn Ap = A.A.A. p
l tha s, khi aijp, i,j = 1, 2,, n. cho ta s ng i khc nhau t nh i n
nh j qua p 1 nh trung gian.
Ma trn k ca th c hng c nh ngha mt cch hon ton tng t.
Th d 2: th c hng G1 cho trong hnh 1 c ma trn k l ma trn sau.
1 2 3 4 5 6
1 0 1 1 0 0
2
0
3 0 0 0 0 0
4
0
5 0 1 0 1 0
6
0
0 0 0 0 0
0
Lu rng ma trn k ca 0th0c hng
phi l ma trn i xng.
0 1 khng
0
Ch : Trn y chng ta ch xt
1 n th. Ma trn k ca a th c th
xy dng hon ton tng t, ch khc,
thay
0 0 l 0
0 v1ghi 1 vo v tr a[i, j] nu (i, j) l
cnh ca th, chng ta s ghi k l s
0 cnh ni hai nh i v j.
Trong rt nhu vn ng dng ca l thuyt th, mi cnh e= (u, v) ca
th c gn vi mt con s c(e) (cn vit l c (u, v)) gi l trng s ca cnh e.
th trong trng hp nh vy c gi l th trng s. Trong th c trng
s, thay v ma trn k, biu din th ta dng ma trn trng s.
C = c[i,j], i,j=1,2,,n.
Vi c(i, j)= c[i, j], nu (i, j) E v c[i, j] = nu (i, j) E

Trang:23

Trong s , ty tng trng hp c th, c th c t bng mt trong cc


gi tr sau: 0, +, -.
u im ln nht ca phng php biu din th bng ma trn k (hoc
bng ma trn trng s) l tr li cu hi: hai nh u, v c k nhau trn th hay
khng, chng ta ch phi thc hin mt php so snh. Nhc im ln nht ca
phng php ny l khng ph thuc vo s cnh ca th, ta lun phi s dng
n2 n v b nh lu tr ma trn k ca n.
2.2. Danh sch cnh (cung).
Trong trng hp th tha ( th c s cnh m tha mn bt ng thc m
< 6n) ngi ta thng dng cch biu din th di dng danh sch cnh.
Trong cch biu din th bi danh sch cnh (cung) chng ta s lu tr
danh sch tt c cc cnh (cung) ca th v hng (c hng). Mi cnh (cung)
e = (x, y) ca th s tng ng vi hai bin Dau[e], Cuoi[e]. Nh vy, lu tr
th ta cn s dng 2m n v b nh. Nhc im ca cch biu din ny l
xc nh nhng nh no ca th l k vi mt nh cho trc chng ta phi lm
c m php so snh (khi duyt qua danh sch tt c cc cch ca th).
Ch : trong trng hp th c trng s ta cn thm m n v b nh lu
tr trng s ca cc cch.
2.3. Danh sch k.
Trong rt nhiu vn ng dng ca l thuyt th, cch biu din th
di dng danh sch k l cch biu din thch hp nht c s dng.
Trong cch biu din ny, vi mi nh v ca th chng ta lu tr danh
sch cc nh k vi n, m ta s k hiu l Ke(v), tc l Ke(v)={uV: (v, u) E}
khi vng lp thc hin vi mi mt phn t trong danh sch ny theo th t
cc phn t c xp xp nh sau:
For u Ke(v) do
Chng hn, trn PASCAL c th m t danh sch ny nh sau (Gi l cu trc
Forward star ):
Const
m = 100; {m s cnh}
n = 100; {n s nh}
var
Ke: array {1..m} of integer ;
Tro: array {1..n+1} of integer ;
Trong Tro [i] ghi nhn v tr bt u ca danh sch k ca nh i, i = 1, 2, n,
Tro[n+1] = 2m + 1.
III. Bi ton tm ng i ngn nht.
Trong cc ng dng thc t, bi ton tm ng i ngn nht gia hai nh ca
th lin thng c mt ngha to ln, c th dn v bi ton nh vy nhiu bi
ton thc t quan trng. V d, bi ton chn mt hnh trnh tit kim nht (theo
tiu chun khong cch hoc thi gian hoc chi ph) trn mt mng giao thng
ng b, ng thy hoc ng khng; bi ton chn mt phng php tit
kim nht a mt h ng lc lc t trng thi xut pht n mt trng thi

Trang:24

ch, bi ton lp lch thi cng cc cng on trong cng trnh thi cng ln, bi
ton la chn ng truyn tin vi chi ph nh nht trong mng thng tin, hin
nay c rt nhiu phng php gii cc bi ton nh vy. Th nhng thng
thng cc thut ton c xy dng da trn l thuyt th t ra l cc thut
ton c hiu qu nht. Trong phn ny ta s xt mt s thut ton nh vy.
3.1. Cc khi nim m u.
Trong phn ny ta ch xt th c hng G = (V,E), |V| = n, |E| = m vi cc
cung c gn trng s, ngha l mi cung (u, v) thuc E ca n c t tng
ng vi mt s thc a (u, v) gi l trng s ca n, chng ta s t a(u, v)= , nu
(u, v) E. Nu dy v0, v1,vp. l mt ng i trn G, th di ca n c
nh ngha l tng sau.
P

a(V
i 1

i 1

, Vi )

Tc l, di ca ng i chnh l tng trng s trn cc cung ca n. (ch


rng nu chng ta gn trng s cho tt c cc cung u bng 1, th ta c nh
ngha di ca ng i nh l s cung ca ng i ging nh cc phn trc
ta xt ).
Bi ton tm ng i ngn nht trn th di dng tng qut c th pht
biu nh sau:
Tm ng i c di nh nht t mt nh xut pht s V n nh cui
(ch) t V. ng i nh vy ta s gi l ng i ngn nht t s n t cn
di ca n ta s k hiu l d(s, t) v cn gi l khong cch t s n t (khong
cch nh ngha nh vy c th l s m ). Nu nh khng tn ti ng i t s
n t th ta s t d(s, t) = . R rng, nu nh mi chu trnh trong th u c
di dng, th trong ng i ngn nht khng c nh no b lp li (ng i
khng c nh no lp li s c gi l dng i c bn). Mt khc, nu th c
chu trnh vi di m (chu trnh nh vy, ngn gn ta gi l chu trnh m ) th
khong cch gia mt s cp nh no ca th c th l khng xc nh, bi
v bng cch i vng theo chu trnh ny mt s ln ln, ta c th ch ra ng i
gia cc nh ny c di nh hn bt c s thc cho trc no. Trong cc
trng hp nh vy, c th t vn tm ng i c bn ngn nht, tuy nhin
bi ton t ra s tr nn phc tp hn rt nhiu, bi v n cha bi ton xt s tn
ti ng i Hamilton trong th nh l mt trng hp ring.
Trc ht cn ch rng nu bit khong cch t s n t, trong trng hp
trng s khng m, c th tm c mt cch d dng, tm ng i ch cn
l i vi cp nh s, t V ty (s t) lun tm c v nh sao cho:
d(s, t) = d(s, v) + a(v, t).
Thc vy, nh v nh vy chnh l nh i trc nh t trong ng i ngn
nht t s n t. Tip theo ta li c th tm c nh u sao cho d(s, v)= d(s, u) +
a(u, v), t gi thit v tnh khng m ca cc trng s d dng suy ra rng dy t,
v, u, khng cha nh lp li v cha nh kt thc nh s. R rng dy thu
c xc nh (nu lt ngc th t cc nh trong n) ng i ngn nht t s n
t.
3.2. ng i ngn nht xut pht t mt nh .

Trang:25

Phn ln cc thut ton tm khong cch gia hai nh s v t c xy dng


nh k thut tnh ton m ta c th m t i th nh sau: t ma trn trng s a{u,
v}, u, v V, ta tnh cn trn d{v} ca khong cch t s n tt c cc nh v V ,
mi khi pht hin .
d{u}+a[u, v] < d[v] (1)
Cn trn d[v] s c l tt ln : d[v]=d[u] + a[u, v].
Qu trnh s kt thc khi no chng ta khng lm tt thm c bt c cn
trn no. Khi r rng gi tr ca mi d[v] s cho ta khong cch t nh c
gi l nhn ca nh v, cn vic tnh li cc li cc cn trn ny s gi l php gn
nhn cho th v ton b th tc thng gi l th tc gn nhn. Nhn thy rng
tnh khong cch t s n t, dy, ta phi tnh khong cch t s n tt c cc
nh cn li ca th. Hin nay vn cha bit thut ton no cho php tm ng
i ngn nht gia hai nh lm vic tht s hiu qu hn nhng thut ton tm
ng i ngn nht t mt nh n tt c cc nh cn li.
S tnh ton m ta va m t cn cha l xc nh bi v cn phi ch ra th
t chn cc nh u v v kim tra iu kin (!) th t chn ny c nh hng rt
ln n hiu qu ca thut ton .
By gi ta s m t thut ton Ford-Bellman tm ng ngn nht t nh s
n tt c cc nh cn li ca th. Thut ton lm vic trong trng hp trng
s ca cc cung l ty , nhng gi thit rng trong th khng c chu trnh m .
Procedure Ford-Bellman;
(*
u vo: th c hng G=(V,E) vi n nh
s V l nh xut pht.
a[u,v],u,v V ma trn trng s :
Gi thit : th khng c chu trnh m:
u ra : khong cch t nh s n tt c cc nh cn li d[v], v
Truoc[v],v V , ghi nhn nh trc v trong ng i ngn nht t s n v
*)
Begin
(* Khi to *)
for v V do
begin
d[v]: =a[s, v]:
truoc[v]: =s:
end;
d[s]:=0;
for k:=1 to n 2 do
for v V \[s] do
for u V do
if d[v] > d[u] + a[u,v] then
begin
d[v]:=d[u]+a[u,v]:
truoc[v]:=u;
end;

Trang:26

end.
Tnh ng n ca thut ton c th chng minh trn c s nguyn l ti u
ca qua hoch ng r rng l phc tp tnh ton ca thut ton l O(n 3) lu
rng chng ta c th chm dt vng lp theo K khi pht hin trong qu trnh thc
hin hai vng lp trong khng c bin d[t] no b i gi tr vic ny c th xy ra
vi k < n-2 v iu lm tng hiu qu ca thut ton trong vic gii cc ba ton
thc t. Tuy nhin, ci tin khng thc s ci thin c nh gi phc tp
ca bn thn thut ton. i vi th tha tht hn l s dng danh sch k
Ke(v), v V, biu din th, khi vng lp theo u cn vit li di dng .
For u ke(v) do
If d[v] > d[u]+a[u, v] then
begin
d[u]:= d[u]+a[u, v];
truoc[v]:=u;
end;
trong trng hp ny ta thu c thut ton vi phc tp O (n.m).
3.3. ng i ngn nht gia tt c cc cp nh
R rng ta c th gii bi ton tm ng i ngn nht gia tt c cc cp
nh ca th bng cch s dng n ln thut ton m t mc trc, trong ta
s chn s ln lt l cc nh ca th. R rng, khi ta thu c thut ton vi
phc tp l O(n3) (nu s dng thut ton Ford-Bellman) hoc O(n 3) i vi
trng hp trng s khng m hoc th khng c chu trnh. Trong trng hp
tng qut, s dng thut ton Ford-Bellman n ln khng phi l cch lm tt nht.
y ta s m t mt thut ton gii bi ton trn vi phc tp tnh ton O(n 3):
Thut ton Floyd. Thut ton c m t di y.
Procedure Floyd
(* Tm ng i ngn nht gia cc cp nh
u vo: th cho bi ma trn trng s a{i,j},i,j=1,2.,n.
.u ra:Ma trn ng i ngn nht gia cc cp nh d{i, j}=1,2.n,
trong d{i, j} cho di ng i ngn nht t i n j.
Ma trn ghi nhn ng i
P{i,j},i,j=1,2n.
Trong p{i,j}ghi nhn nh i trc nh j
Trong ng i ngn nht t i n j.
*)
Begin
(*khi to*)
for i:=1 to n do
for j:=1 to n do
begin
d{i, j}:=a{i, j};
p{i, j}:=i;
end;
(*bc lp *)
for k:=1 to n do
for i:=1 to n do

Trang:27

for j:=1 to n do
if d{i, j}>d{i, k}+d{k, j} then
begin
d{i, j}:=d{i, k}+d{k, j};
p{i, j}:= p{k, j};
end;
end;
R rng phc tp tnh ton ca thut ton l O(n3).

Trang:28

CHNG 3

BI TON LP LCH THI CNG CNG TRNH


I. Bi ton.
Vic thi cng mt cng trnh ln c chia ra lm n cng on, nh s t 1
n n. c mt s cng on m vic thc hin n ch c tin hnh sau khi mt
s cng on no hon thnh. i vi mi cng on i bit t[i] l thi gian
cn thit hon thnh n (i = 1, 2, ..n).
Ta c th xay dng th c hng n nh biu din hn ch v trnh t thc
hin cc cng vic sau: mi nh ca th tng ng vi mt th, nu cng
vic i phi c thc hin trc cng on j th trn th c cung (i, j), trng s
trn cung ny c gn bng t[i].
Thm vo 2 nh 0 v n +1 tng ng vi hai s kin c bit: nh s 0
tng ng vi cng on L khi cng, n phi c thc thc hin trc tt c
cc cng on khc, v nh n+1 tng ng vi cng on Ct bng khnh thnh
cng trnh, n phi thc hin sau tt c cc cng on, vi t[0] = t[n+1] = 0 (trn
thc t ch cn ni nh 0 vi tt c nh c bn bc vo bng 0 v ni tt c cc
nh c bn bc ra bng 0 vi nh n+1). Gi th thu c l G. R rng bi
ton t ra vn bi ton tm ng i di nht t nh 0 n tt c cc nh cn
li trn th G. Do th G r rng khng cha chu trnh, nn gi bi ton
t ra c th p dng cc thut ton c nu trn.
1.Th d: Ta c bng cc hng mc c cho trong bng di y.
Hng mc
t[i]
Hng mc phi hon thnh trc
1
10
2
15
1
0 1:0
3
10
0 1 2 : 10
4
30
2,3
0 3
: 0
5
12
4
0 1 2 4 : 25
6
15
2,3
0 1 2 4 5 : 55
7
20
5,6
0 3 6
: 10
8
10
5
0 1 2 4 5 : 55
a v bi ton th c hng, cc nh l cc hng mc nh hnh sau:
1

(10)

(12)

(0)
0

(10)
(15)

(0)

(30)

(10)
3

(12)

(15)

(15)

(20)

4
6

10

(10)

Cch gii quyt:


* Thm hai nh 0 v nh 9 ta thu c mt th c hng trong trng s
t[i] l cnh xut pht t i
* Tm ng i di nht th
- i du trng s

Trang:29

- Tm ng i ngn nht xut pht t 0


Lp
VH 1
2
3
4
Kto
0
0,0
0,0
0,
0,
1
*
1,-10 0,0
0,
2
*
0,0
2,-25
3
*
2,-25
4
*
5
6
7
8
9

5
0,
0,
0,
0,
4,-25
*

6
0,
0,
2,-25
2,-25
2,-25
2,-25
*

7
0,
0,
0,
0,
0,
5,-67
5,-67
*

8
0,
0,
0,
0,
0,
5,-67
5,-67
5,-67
*

9
0,
0,
0,
0,
0,
0,
0,
7,-87
7,-87
*

Chng trnh s dng thut ton Dijkstra tnh thi gian cc cng vic bt
u v kt thc d n.
Chng trnh thi cng cng trnh khng s dng trc tip thut ton ny m
cn ph thuc vo cc cng vic lm u tin, v vy cng vic u tin l ta phi
xc nh cng vic no l cng vic u tin, vic xc nh cng vic u tin cng
rt n gin, khi ta nhp s liu th cng vic u tin th khng c cng vic no
lm trc n.
gii bi ton trn ta c th dng nhiu phng php. Nhng trong ti ny
chng ti s dng thut ton Dijkstra.
II. Thut ton Dijkstra.
Thut ton Dijkstra c pht biu nh sau:
Trong trng hp trng s trn cc cung l khng m do Dijkstra ngh gii
bi ton tm ng i ngn nht t dnh s n cc nh cn li ca th . Thut
ton c xy dng trn c s gn cho cc nh cc nhn tm thi. Nhn ca mi
nh cho bit cn trn ca di ng i ngn nht t s n n. Cc nhn ny s
c bin i theo mt th tc lp, m mi bc lp c mt nhn tm thi tr
thnh nhn c nh. Nu nhn ca mt nh no tr thnh c nh th n s cho
ta khng phi l cn trn m l di ng i ngn nht t nh s n n. Thut
ton c m t nh sau.
Procedure Dijkstra;
(* u vo: th c hng G=(V, E) vi n nh
s V l nh xut pht a[u, v], u, v V, ma trn trng s
Gi thit: a[u, v] >= 0, u, v V
u ra: khong cch t d(s) n tt c cc nh cn li d[v], v V
Truoc [v], v V, ghi nhn nh trc v trong ng i ngn nht t s n
v
*)
Begin
(* Khi to *)
for v V do
Begin

Trang:30

d[v] := a[s, v];


Truoc[v] := s;
End;
d[s] := 0;
T := V \ {s} (*Tp cc nh c nhn tp thi *)
(* Bc lp*)
while T <> 0 do
Begin
Tm nh u T tha mn d[u] = min { d[z]: z T}
T := T \ {u}; (*C nh nhn ca nh u*)
For v T do (*Gn nhn li cho cc nh trong T*)
If d[v] > d[u] + a[u, v] then
Begin
D[v] := d[u] + a[u, v]
Truoc [v] := u;
End;
End;
End;
nh l 1: Thut ton Dijkstra tm c ng i ngn nht trn th sau thi
gian c O(n2).
Chng minh: Trc ht ta chng minh l thut ton tm ng i ngn nht t
nh s n cc nh cn li ca th. Gi s rng mt bc lp no cc nhn
c nh cho ta di cc ng i t s n cc nh c nhn c nh, ta s chng
minh rng ln lp tip theo nu nh u* thu c nhn c nh d(u*) chnh l
di ng i ngn nht t s n u*.
K hiu S: l tp hp c nhn c nh cn S 2 l tp cc nh c nhn tm thi
bc lp ang xt. Kt thc mi bc lp nhn tm thi d(v) cho ta di ca
ng i ngn nht t s n v ch qua nhng nh nm hon ton trong tp S 1. Gi
s rng ng i ngn nht t s n u* khng nm trong tp S1, tc l n i qua t
nht mt nh ca tp S2. Gi z S2 l nh u tin nh vy trn ng i ny .
Do trng s trn cc cung l khng m, nn on ng t z n u * c di L > 0
v d(z) < d(u*) L < d(u*).
Bt ng thc ny l mu thun vi cch xc nh u* l nh c nhn tm thi
nh nht. Vy ng i ngn nht t nh s n u * phi nm chn trong S1, v v
th d[u*] l di ca n. Do lm lp u tin S1 = {s}v sau mi ln lp ta ch
thm vo S1 mt nh u* nn gi thit l d(v) cho di ng i ngn nht t s
n v vi mi v S1 l ng vi bc lp u tin. Theo qui np suy ra thut ton
cho ng i ngn nht t s n mi nh ca th.
By gi ta nh gi s php ton cn thc hin theo thut ton. mi bc lp
tm ra nh u cn thc hin O(n) php ton, v gn nhn li cng phi thc
hin mt s lng php ton cng la O(n). Thut ton phi thc hin n- 1 bc lp.
Vy thi gian tnh ton ca thut ton l c O(n2).
Th d: Tm ng i ngn nht t nh 1 n cc nh cn li ca th
hnh di:
(7)
2

Trang:31

(5)
(1)

(1)

(2)
1

(1)

(2)

(1)
(4)
(3)

Minh ha thut ton Dijkstra


Kt qu tnh ton c trnh by trong bng di y.
Bc lp
Khi to
1
2
3
4
5

nh 1
0, 1
-

nh 2
1, 1*
-

nh 3
, 1
6, 2
4, 4*
-

nh 4
, 1
3, 2*
-

nh 5
, 1
, 1
7, 4
7, 4
6, 6 *
-

nh 6
, 1
8, 2
8, 2
5, 3
-

Ch :
1) Nu ch cn tm ng i ngn nht t s n t no th c th kt thc
thut ton khi nh t tr thnh nh c nhn c nh.

Trang:32

* S thut ton Dijkstra.


Bt
u

S phn t:= s nh
-1;
i:=1;

Y
i<
ngun
N
Tp nh[i]:=i;
-n[i]:=kc[ngun, i];
- trc tip n[i]:=ngun;
i:=i+1;

i:=ngun +1

Y
i s nh

N
Tp nh[i]:=i;
-n[i]:=kc[ngun, i];
- trc tip n[i]:=nh ngun;
i:=i+1;

(1)

Trang:33

(1)
Y
j s nh
-2

N
Min:= -n[nh[1]];
V tr :=1;

Y
i k

N
-n[nh[i]]
<min;

N
Min:= -n[nh[i]];
V tr :=i;

i:=i+1

nh xt:=nh[v tr];
nh[v tr]:=nh[spt];
Spt:=spt-1;
i:=1

Y
i spt
N

(3
)

(2
)

Trang:34

(4
)

(2)

(3)

(4)

X:=nh[i]

Y
-n[x] >
-n[nh
xt]+ kc[nh
xt,x];

N
-n[x]:=-n[nh xt
+ kc[nh xt,x]];
i:=i+1;

Kt
Thc

III. Gii quyt bi ton.


Sau khi a bi ton v dng th c hng, vi mi nh l mt hng mc
ta c th tin hnh nh sau:
- Chuyn thnh ma trn trng s c dng a(i, j), vi hng mc i phi c thi
cng trc hng mc j, gi tr ca a(i, j) cho bit thi gian hng mc i lm xong.
- i du gi tr ca ma trn: v d a(i, j) = -a(i, j)
- Ap dng thut ton Dijkstra.
- Kt thc thut ton ta thu c d[u] .
- i du gi tr d[u] va thu c: d[v] = -d[u]

Trang:35

- Gi tr d[v] chnh l ng i di nht t 0 n nh v, khi d[v] cho ta thi


im sm nht c th bt u thc hin cng on v, ni ring d[n+1] l thi im
sm nht c th ct bng khnh thnh ton b cng trnh.
Tng t nh trn v d trn khi kt thc ton b d n, kt qu thu c nh
sau:
Gi s l khi cng d n l 1-1-2003
Th sau 87 ngy (Gi s n v tnh l ngy) ta c th ct bng khnh thnh
ton b d n.
IV. iu khin nhn lc
Cc hot ng khng gng c php x dch nht nh, nht l khi FF ij = TFij.
C th sp t chng p ng cc yu cu khc na. Ngoi thi gian ra, chng hn
nhn lc, nguyn liu, chi ph V mt ton hc x l yu cu loi no cng vy.
y ta ni theo ngn ng nhn lc chng hn.
Th D III.1. Gi s nhn lc cho cc hot ng ca d n Th D II.2 i
hi nh sau:
Hot ng
(1, 2)
(1, 3)
(2, 4)
(3, 4)
(3, 5)

S nhn
cng
0
5
0
7
3

Hot ng

s nhn cng

(4, 6)
(4, 7)
(5, 6)
(5, 7)
(6, 7)

2
1
2
5
6

Ch rng ti thi im hai hot ng cng tin hnh th s nhn lc cn l


tng hai s cng nhn. V vy cn phi sp xp kho cc hot ng khng gng
i hi tng nhn cng ca c d n t (tm coi l mi ngi bit lm mi vic).
Vic sp xp ti u l phc tp, n nay ta s dng biu thi gian biu din
thm nhn lc sp xp theo trc quan. H.1.6 (a) biu din tng cng nhn cn
mi thi im nu tt c cc hot ng khng gng xp vo lc sm nht c th,
cn H.1.6 (b) l tng ng khi xp vo lc mun nht c th. Hai biu ny nn
v thng di H.1.5 na. Sp t sm nht hnh (a) cho thy mi thi im d
n cn nhiu nht l 10 cng nhn cn sp t mun nht (b) l 12 cng nhn.
hai phng n ny, s cng nhn cn cc thi im khng u. Theo trc quan ta
chnh li t (a) nh sau: chuyn hot ng (4, 6) n thi im mun nht c th,
chuyn (4, 7) n ngay sau khi (5, 7) kt thc. Kt qu c v li biu H.1.7.
(ch l hot ng (1, 2) v (2, 4) khng cn cng nhn nn khng cn v.).

Trang:36

Chng IV

GII THIU NGN NG LP TRNH


Visual Basic l mt ngn ng lp trnh kh ph bin hin nay, n l mt cng
c rt tin li cho hu ht cc chng trnh ng dng, cc chng trnh s l theo
yu cu ca ngi dng. iu c bit ca ngn ng Visual Basic l n dng
ngay giao din ngi dng ha , hay GUI (Graphical User Interface).
iu c bit, Visual Basic cho php b xung cc menu, hp vn bn, nt
lnh, nt ty chn (cho cc la chn loi tr), cc hp kim tra (cho cc la chn
khng loi tr), cc hp danh sch, thanh cun, cc hp tp tin v th mc cho cc
ca s trng. Bn c th dng cc li (Grid) qun l d liu theo bng. Bn c
th truyn thng vi cc ng dng Windows khc, v c th l quan trng nht,
bn s c mt phng php d dng ngi dng iu kim v truy cp cc c s
d liu. (Nhng thnh phn cVisual basic gi l iu Kim (control)).
C th c nhiu ca s trn mn hnh. Cc ca s ny c ton qun truy cp
clipboard v cc thng tin trong hu ht cc ng dng Windows khc chy cng
lc. Bn c th dng Visual Basic truyn thng vi cc ng dng khc ang
chy di Windows. Dng phin bn hin i nht ca cng ngh COM/OLE
trong Windows.
Phng thc lp trnh ca Visual Basic l thit k trc, vit lnh sau. V vy
mi trng lm vic khng phc tp nh cc ngn ng lp trnh khc. Chng bao
gm cc i tng.
I. Ca s thuc tnh.
1. Mt s thuc tnh ca i tng Form.
Thuc tnh
Th hin vi gi tr xc lp
Name
Dng t tn cho Form, tn ny s c dng cho th
tc m bn vit m.
Appearance Quy nh cch th hin ca Form
0 Flat (Form phng)
1 3D (Form ni)
Backcolor
Chn mu nn ca Form
Bordestyle
Quy nh kiu khung ca Form
Caption
Quy nh tiu ca Form
Controlbox
Nu t l true th ca s c Controlmenubox.
Nu t l False th ca s khng c Controlmenubox.
Icon

Dng Icon c biu tngnh th no khi bn click nt


minimize
Max buttion Nu t l true th ca s c nt Maximize
Nu t l false th ca s khng c nt Maximize
Min buttion
Nu t l true th ca s c nt Minimize
Nu t l false th ca s khng c nt Miniimize
Moveable
Nu t l true th c th nhn Mouse vo tiu v ko
i ni khc, nu False th khng ko i c
Showintaskbar True: ca s ny hin ln tn ca n cng th hin trong

Trang:37

Visiable
Windowstate

taskbar ca ind, nu False th khng.


True: Thy Form
False: n Form
Quy nh kch thc Form
0 Bnh thng
1 Cc tiu
2 Cc i

2. Mt s thuc tnh ca ca s Lable


Thuc tnh
Th hin vi gi tr xc lp
Name
Tn ca lable
Alignment
Canh ni dung ca lable
0 Canh tri
1 Canh phi
2 Canh gia
Autosize
Bn chon true n t ng co gin cho va ni dung ca
n
Chn false th bn t iu chnh cho va
Backcolor
Quy nh mu nn cho lable
Caption
Ghi ch trn lable
Font
Chn kiu ch cho lable
Fontcolor
Quy nh mu ch trn lable
3. Mt s thuc tnh ca i tng Textbox.
Thuc tnh
Name
Alignment

Appearance
Backcolor
Font
Forecolor
Maxlength
Multiline
Scrollbar
Text
Visible

Th hin vi gi tr xc lp
t tn cho Textbox
Canh ni dung ca textbox
0 Canh tri
1 Canh phi
2 Canh gia
Quy nh cch th hin ca Textbox
0 flat bnh thng
1 3D 3 chiu
Quy nh mu nn cho Textbox
Chn kiu ch cho textbox
Quy nh mu ch trn textbox
Quy nh s k t ti a nhp vo textbox
True: c th xung hng khi chiu ngang khng
False: khng xung hng
Dng xc lp hp textbox khng c thanh cun dc,
ngang hc c hai vi iu kin thuc tnh Mulltiline =
true
Bn hy xa ch v trng
Quy nh text c c nhn thy trn form hay khng
True: nhn thy, False: khng nhn thy

Trang:38

4. Thuc tnh ca i tng Commandbox


Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho i tng Commandbox
Caption
Lm tiu cho nt
Font
Chn font cho nt
Visible
True: nt nhn thy
False: nt khng nhn thy
5. Thuc tnh i tng Checkbox.
Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho checkbox
Alignment
Canh ni dung ca checkbox
Appearance Quy nh cch th hin ca Checkbox
Backcolor
Quy nh mu nn cho checkbox
Font
Chn kiu ch cho checkbox
Caption
Dng tiu cho checkbox
Forecolor
Quy nh mu ch cho checkbox
Value
0: Khng chn
1: trng thi chn
2: Trng thi xm
Visible
True: Khng nhn thy
False: nhn thy
6. Thuc tnh hay dng ca i tng picturebox
Thuc tnh
Th hin vi gi tr xc lp
Name
Tn cho i tng picturebox
Autosize
True: t ng t li kch thc ca i tng cho va
vi kch thc ca hnh c t vo
False: nu hnh t vo ln hn kch thc th hnh ny
s b che khut
Picture
Dng lu tr bc hnh bn mun trnh by
Align
Dng quy nh cch b tr c bit ca picture trn
form
Autoredraw Hnh s khng b xa i khi bn thu nh hay phng to
kch thc
Fillcolor
Quy nh mu t cho cc phng thc ha
Fillstyle
Quy nh dng mu t
Drawstyle
Quy nh ng nt v
Drawith
Quy nh dy nt v
7. Mt s thuc tnh hay dng ca i tng Image.
Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho i tng Image
Picture
Tng t nh thuc tnh picture ca i tng
picturebox
Borderstyle
Quy nh kiu khung c (1) hoc khng c khung(0)

Trang:39

Stretch

True: hnh s t ng co gin sao cho va vn trong i


tng
False: i tng s t iruf chnh cho va vi hnh

8. Mt s thuc tnh hay dng ca i tng Listbox.


Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho i tng Listbox
Colums
Dng th hin listbox c bao nhiu ct, mc nhin l
1
Integranlhieght True: Listbox s t iu chnh kch thc sao cho khng
c mc no b che khut na chng
False: th s chnh xc nh khi bn thit k
Listcount
Xc gh danh sch c bao nhiu mc, bn ch c th
c ch khng t li gi tr
List
Quy nh mt danh sch cho Listbox
Multiselect
Quy nh mi ln ch c th chn mt hay nhiu mc
Listindex
Mc ang c focut trong danh sch l mc th bao
nhiu
Selcount
Cho bit hin ang c bao nhiu mc c chn trong
danh sch
Sorted
True: Sp xp danh sch theo th t
False: sp xp nh trnh t bn a vo
9. Mt s thuc tnh hay dng ca i tng Combobox
Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho i tng combobox
Style
Quy nh kiu cho combobox
Sorted
True: Sp xp theo th t Alphabet
False: sp xp nh trnh t bn a vo
10. Mt s thuc tnh hay dng ca i tng Timer
Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho i tng Timer
Enable
True: cho php pht ra s kin thi gian
False: ngc li
Interval
L g tr s dng quy nh bao nhiu lu th pht ra s
kin thi gian. n v tnh l miligiy. Nu t l 0 th
i tng timer khng hot ng
11. Mt s thuc tnh hay dng ca i tng frame
Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho i tng frame
Caption
Ni dung ca tiu frame
12. Mt s thuc tnh hay dng ca i tng Button
Thuc tnh
Th hin vi gi tr xc lp

Trang:40

Name
Alignment
Caption
Font
Value

t tn cho i tng option button


Quy nh v tr nt chn
0: nt chn nm bn tri tiu
1: nt chn nm bn phi tiu
Tiu ca option button
Chn font ch cho tiu
Nu gi tr ny bng true th option ny ang c chn,
ngc li th n ang v tr khng c chn

13. Mt s thuc tnh hay dng ca i tng line


Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho i tng line
Bordercolor
Quy nh mu cho ng thng
Borderwith
Quy nh dy ca ng thng
Borderstyle
Quy nh kiu ng thng c gi tr t 0 n 7
X1, X2, X3, X4 Xc nh ta ca ng thng trn form
Drawmode
Quy nh mode v ng
14. Mt s thuc tnh hay dng ca i tng Shape
Thuc tnh
Th hin vi gi tr xc lp
Name
t tn cho i tng shape
Shape
Quy nh mt s hnh dng
0: Hnh ch nht
1: Hnh vung
2: hnh ellipse
3: Hnh trn
4: Hnh ch nht trn gc
5: Hnh vung trn gc
Fillstyle
Quy nh cc kiu v c gi tr t 0 n 7
Fillcolor
Quy nh mu t bn trong ca hnh
Borderstyle
Quy nh kiu kiu ng vin ca hnh
Borderwith
Quy nh dy nt ca hnh
Berdercolor
Quy nh mu ng vin
Backstyle
Quy nh mu nn ca hnh
Backcolor
Quy nh mu ca phn nn khi backstyle l Opque
II. Bin, Kiu bin v cch khai bo
1. Bin
Tng t nh cc ngn ng lp trnh khc, bin l mt yu t khng th thiu,
bin nh l mt phn ca b nh, mun d dng ta phi khai bo. Tn bin khng
di qu 255 k t, c tnh gi nh, khng dng cc k hiu, trnh dng cc t kha
ca VB
2. Kiu ca bin
Khi khai bo bin ta phi khai ba kiu cho n. Trong VB, ngi ta dng mt
loi tip ng nh $, &, #, @, bit bin c kiu l g, c th nh sau:

Trang:41

- String: l kiu d liu chui, khong gi tr c th ln n hai t k t. Nhn


bit bin ny bng tip ng $
V d: Hoten$ = Trn Vn Hai.
- Byte: l kiu s nguyn dng, khong gi tr t 0 n 255.
- Long: l cc s nguyn, khong gi trn t 2.147.483.648 n
2.147.483.647. Nhn bit bin ny bng du & cui
V d: A& 50.
- Integer: l cc s nguyn t 32.768 n 32.767. Nhn bit bng du %
cui
V d: b% = 1234
- Single: l cc s c du chm thp phn, c gi tr m t 3,402823E8 n
1,40129823E8 v c ga tr dng t 1,401298E-45 n 3,402823E8.
Nhn bit bng du ! cui
V d: C! = 4.7
- Double: l cc s c du chm thp phn. Nhn bit bng du # cui.
Khong gi tr t 1,797693134486231E308 n 44,94065645841247E-324, gi
tr dng t 44,94065645841247E-324 n 1,797693134486231E308.
V d: D# = 6.432
- Currency: C 15 s nm bn tri du phy, 4 s nm bn tri du phy. Nhp
bit bng du @ cui. Khong gi tr t 922337203685477,5808 n
922337203685477,5807.
V d: e@ = 5.1234.
- Date: Lu rt thng tin v thi gian. Nhn bit bng du # u v cui.
V d: ngay = #12/12/2003#
- Boolean: bin logic c gi tr true hay false dng gn gi tr hay trong cc
cu lnh iu kin
- Variant: Lu tt c cc gi tr khc nhau.
3. Cch Khai bo
Ngoi cch nhn bit bin bng cc tip v ng, ta c th khai bo bin nh sau:
DIM <Tenbien> AS <kieubien>
Vi d: DIM Ten AS String
III. Cc php ton trong Visual Basic
1. Cc ton t trong Visual Basic
- Ton t ^: Dng tnh ly tha
- Ton t *: Dng nhn hai s hng
- Ton t \: Chia hai s ly phn nguyn
- Ton t / : Chia hai s ly gi tr thc
- Mod: Chia ly phn d
- Ton t +: Cng hai ton hng
- Ton t -: Tr hai ton hng
2. Th t u tin cc php ton
Php tnh ly tha
i mt s thnh s m
Nhn v chia
Chia s nguyn
Chia ly s d
Cng v tr

Trang:42

3. Ton t gn
a=b
4. Ton t quan h
K hiu
=
<
<=
<>
>
>=
5. Ton t logic

Y ngha
Bng nhau
Nh hn
Nh hn hoc bng
Khc nhau
Ln hn
Ln hn hoc bng

A
True
False
- Php ton AND, OR v XOR
A
B
True
True
True
False
False
True
False
False

V d
A=b
A<b
A<=b
A<>b
a>b
a>=b

NOT A
False
True
A And B
True
False
False
False

A or B
True
True
True
False

IV. Cc cu trc iu khin


1. Cu trc la chn IF
Cu trc la chn IF cho php ta r chng trnh thnh 2 nhnh, nu bn
mun r nhiu nhnh th c th s dng cu trc IF lng nhau.
Cu trc If khng c Else
If <iu kin> Then
___________
End If
Cu trc If c Else
If <iu kin> Then
____________
Else
____________
End If
2. Cu trc Select Case
Cu trc ny c dng khi bn xt nhiu iu kin cho mt bin no
CASE <Giatri1>
_____ Cc lnh
CASE <Giatri2>
_____ Cc lnh
CASE <Giatrin>
_____ Cc lnh
CASE ELSE

Trang:43

_________
END SELECT
3. Cu trc DO WHILE .. LOOP
Cu trc nh sau
DO WHILE <biu thc iu kin>
cc lnh
LOOP
Cu lnh ny thc hin nh sau:
Trc tin n kim tra iu kin: nu iu kin ng th thc hin lnh sau
kim tra iu kin cho n khi diu kin sai th thc hin sau lnh LOOP
Nu iu kin sai th thc hin lnh sau LOOP, b qua lnh gia DO LOOP
4. Cu trc Do . Loop WHILE
Cu trc nh sau
Do
Cc lnh
Loop While
Cu lnh ny thc hin nh sau:
Cc cu lnh sau Do s c thc hin, sau mi xt iu kin khi iu kin
sai th mi thc hin lnh sau Loop
Nu iu kin sai th thc hin lnh sau Loop
5. Cu trc Do Loop Until
Cu trc nh sau:
Do
Cc lnh
Loop until <iu Kin>
Cu lnh thc hin nh sau
Cc lnh sau do s c thc hin trc cho n khi no iu kin ng
6. Cu trc For Next
Cu trc nh sau
For <Bin = Gi tr u> to <gi tr cui> Step [khong tng]
Cc lnh
Next Bin
dng cu trc For ta dng pht biu Exit For
Ngoi ra, mun thot ra khi th tc vi iu kin no ta dng th tc Exit
Sub
V. Th tc v hm
1. Th tc
Khi lp trnh ta thng gp nhng on chng trnh hay lp i lp li nhiu
ln nhng ch khc nhau. chng trnh phc tp, cc on ny c thay
th bng cc chng trnh con tng ng, khi cn ta ch cn gi n ra m khng
cn pah vit li c on.
Mt khc, i vi mt s chng trnh ln v phc tp. Vic xem xt tng
quan cng nh vic g ri, hiu chnh s rt kh khn. Vic lp cc chng trnh

Trang:44

con s chia chng trnh ra thnh tng khi, tng modul. iu ny gip cho chng
ta kim tra, g ri v iu khin d dng.
Cu trc ca mt th tc c dng nh sau:
Sub <tn th tc>
______________ Cc lnh
End Sub
Nu bn mun dng th tc ny trong ton b chng trnh th bn dng thm
t kha Public trc t kha Sub, cn nu bn ch mun dng trong mt form
cha n th bn thm t kha Private trc t kha Sub
2. Hm
Hm cng tng t nh th tc, ch khc l ta dng hm khi mun nhn li
mt kt qu tr li ca hm.
Cu trc hm nh sau:
Function <Tn hm> (tham s AS Kiu) AS <Kiu tr v>
______________ Cc Lnh
Tn hm = Gi tr
End Function
VI. Mt s lnh ca Visual Basic
1. Lnh End
Dng chm st chng trnh ang chy, khi lnh ny thc hin th cc ca
s chng trnh s ng li v gii phng ra khi b nh. Lnh ny thng c
s dng cho nt lnh c tn Exit ci bin c Click
V d
Sub Command1_Click()
End
End Sub
2. Lnh Exit Do
Lnh ny dng thot khi vng lp Do
V d
Do While
____________
Exit Do
3. Lnh Exit For
Lnh ny dng thot khi vng lp For
4. Lnh Exit Sub
Lnh ny dng thot khi chng trnh con no
5. Lnh Beep
Lnh ny pht ra ting Beep
6. Lnh Date
Lnh ny cho php bn t li ngy gi ca h thng.
C php: Date = #Ngy#
V d
Date = #07/12/20003#
Text1 = Date

Trang:45

7. Lnh Time
Lnh ny cho php bn t li gi ca h thng
C php: Time = #gi#
V d:
Time = # 11:53:AM#
8. Lnh Load
Lnh ny dng np mt Form vo b nh
C php: Laod tn Form
V d
Load form1
Form1.Show
9. Lnh Chdrive
Dng i a lm vic
V d:
Chdrive D: chuyn xang lm vic trn a D
10. Lnh MkDir
Dng to th mc mi trn a
V d:
MkDir C:/Baitap To th mc bi tp nm th mc gc a C
11. Lnh ChDir
Dng thay i th mc lm vic.
V d:
ChDir \Lythuyet chuyn xang lm vic th mc l thuyt
12. Lnh RmDir
Lnh ny dng xa th mc rng ang tn ti rn a.
V d:
RmDir C:\Baitap Xa th mc Baitap trn a C
13. Lnh Kill
Dng xa mt hay nhiu tp tin trn a
V d:
Kill C:\baitap\bt1.txt xa tp tin bt1.txt trong th mc baitap trn C
14. Lnh Name
Lnh ny dng i tin mt tp tin trn cng mt a.
V d:
Name C:\bt.txt as C:\baitap.txt
15. Lnh AppActive title [, Wait]
Dng kch hot mt ca s trong mt chng trnh no ang chy.
VII. Mt s hm dng trong VB
1. Hm Abs (Number)
Hm ny tr v mt s l gi tr tuyt i ca Nuumber
2. Hm Sin(Number AS Double)
Tnh Sin ca mt gc
3. Hm Cos (number AS Double)
Tnh Cos ca mt gc
4. Hm Tan (number AS Double)

Trang:46

Tnh Tan ca mt gc
5. Hm Atn (number AS Double)
Tnh Artang ca mt gc
6. Hm Int (number)
Tr v phn nguyn ca mt s nu l s dng. Cn nu l s m th s tr v
phn nguyn c gi tr nh hn mt n v.
7. Hm Fix (number)
Hm tr v phn nguyn ca mt s.
8. Hm Sgn (Number)
Hm tr v mt s nguyn.
- Nu so >0 s tr v gi tr l 1
- Nu so <0 s tr v gi tr l 1
- Nu so = 0 s tr v gi tr l 0
9. Hm Sqr (Number)
Tnh cn bc hai ca mt s
10. Hm Exp (Number)
Tnh e m ca mt s
11. Hm Log ()
Tnh Logarit ca mt s. Hm tr v gi tr thc
12. Hm round (Biu thc [,so])
Hm ny s lm trn s
13. Hm Rnd ([Number])
Hm tr v mt s thc ngu nhin
14. Hm Day (Bin)
Tr v s ghi ngy ca bin nhp vo
15. Hm Month (Bin)
Tr v s ghi thng ca bin nhp vo
16. Hm Year (bin)
Tr v s ghi nm ca bin nhp vo
17. Hm Now
Tr v ngy thng nm v thi gian hin ti
18. Hm Weekday (bin)
Cho bit th my trong tun
19. Hm Hour (thoigian)
Cho bit gi ng vi bin.
20. Hm Minute (thoigian)
Cho bit pht ng vi bin.
21. second (thoigian)
Cho bit giy ng vi bin.
22. Hm Replace (chuoi, chuoicantim, chuoithaythe, vitrithaythe,
solanthaythe)
Thay th chui ny bng mt chui khc.
23. Hm Val (string)
Tr v mt s thc tng ng vi chui String. String phi l mt chui gm
cc k s hp l.
- Gi tr ca hm l 0 nu chui c k t u l k t

Trang:47

- Gi tr ca hm l mt s nu chui hon ton l cc k s.


Nu cc k t s vit cch nhau th hm ny s ct b khong trng v cho tr
v gi tr bng vi dy ny.
24. Hm Str (Number)
Hm tr v mt chui k t.
Chui ny lun lun c mt k t u ghi du trong trng hp s m, hoc
mt khong trng trong trng hp s dng
25. Hm Qbcolor (color)
Hm cho mu ca mt i tng no
26. Hm RGB (red, green, blue)
Chn mu bt k qua t l 3 mu chun Red, Green, Blue.
27. Hm Asc (String)
Tr v m Ascii ca k t string
28. Hm Chr (CharCode)
Hm tr v mt k t tng ng vi mt m Ascii no
29. Hm Len (Expreession)
Cho bit chiu di ca chui
30. Hm Ltrim (string)
Hm ny tr v mt chui sau khi ct b mt s khong trng bn tri ca
chui
31. Hm Rtrim (string)
Hm ny tr v mt chui sau khi ct b mt s khong trng bn phi ca
chui
32. Hm Trim (string)
Hm ny tr v mt chui sau khi ct b mt s khong trng bn tri v
bn phi ca chui
33. Hm Left (String, n)
Hm tr v mt chui k t c ct t n k t (k c k t trng) bn tri ca
chui String.
34. Hm Right (String, n)
Hm tr v mt chui k t c ct t n k t (k c k t trng) bn phi
ca chui String.
35. Hm Mid (String, n [, length])
Hm ny tr v mt chui, chui ny c ly t chui String bt u t v tr
n vi chiu dai length.
36. Hm Space (n)
Hm tr v mt chui gn n khong trng.
37. Hm String (n, k t)
Hm tr v mt chui k t ging nhau.
38. Hm Instr (Start, S1, S2, Compare)
Dng tm mt chui con c nm trong chui m hay khng, nu c th nm
v tr th my.
Start: V tr bt u tm, khng ghi th tm v tr u
S1 v S2 l chui m v chui con
Compare c gi tr
0: So snh chnh xc tng k t
1: So snh khng phn bit ch hoa, ch thng

Trang:48

2: Ch dng trong khi lp trnh cho Microsoft Acess


39. Hm Ucase (string)
i thnh ch hoa.
40. Hm Lcase (string)
i thnh ch thng.
41. Hm Format (Value, format)
Dng nh dng
42. Hm IIF (<Bieu thuc>,<Gia tri1>,<Gia tri2>)
Hm ny tr v gi tr 1 nu biu thc ng, v ngc li th tr v gi tr 2.
VIII. Cc phng thc trong VB
1. Phng thc Print
In ra mn hnh ca mt biu mu, mt dng duy nht ti v tr hin thi ca
con tr.
2. Phng thc CLS
Dng xa
3. Phng thc Move (Left As String [,top][,width][,height])
Dng di chuyn i tng n v tr xc nh v hiu chnh n vi kch
thc mi.
4. Phng thc Scale (x1,y1)-(x2,y2)
Dng quy nh li ta trn form
5. Phng thc Line (x1, y1) (x2, y2), color, BF
Dng v mt ng thng hay mt hnh ch nht
6. Phng thc Circle
Dng v mt hnh trn, ellipse, cung trn, cung ellipse trn Form hay trn
Picturebox.

Trang:49

Chng 5

CI T BI TON
I. Phn tch bi ton.
1. Cc chc nng chnh ca bi ton.
Chng trnh gm cc chc nng sau:
- p dng phng php PERT-PCM vo gii quyt bi ton lp lch thi
cng cng trnh, cng vic ny nhm lp ra mt lch thi cng cc cng trnh trong
mt d n sao cho thi gian hon thnh d n l ti u nht v thi gian, chng ta
ch cn nhn vo lch lp ra l iu khin c d n ca chng ta.
- iu khin nhn lc khi thi cng cc cng trnh, cng vic ny gip chng ta
iu khin lng nhn cng hin c.
2. Cu trc d liu ca bi ton.
D liu ca bi ton c lu tr di dng mt bng ghi c cu trc nh sau:
Type LuuTru
DinhDau As Long
DinhCuoi As Long
GiaTri As Long
NgayThiHanh As Date
Ten As String * 50
End Type
Trong DinhDau lu tr s th t ca hng mc cn phi lm trc, v d
nh sau
1

(10)

(12)

(0)
0

(10)
(15)

(0)

(30)

(10)
3

(12)

(15)

(15)

(20)

4
6

11

(10)

th khi DinhDau s c gi tr l 1, DinhCuoi s c gi tr l 2 v lc GiaTri s


bng 10, ngy thi hnh dng lu tr ngy bt u thi hnh d n, cn bin Ten
dng lu tr tn cc hng mc cn thi cng, v d hng mc (1,2 ) l xy tng
chng hn, khi lc lu tr d liu s lu tr tt c cc bin .
Chng trnh cn lu tr thm mt File dng lu tr thn tn cc hng mc
n cng c dng mt bng ghi nh sau;
Type HocvienType
TenHM As String * 50
End Type
Bin TenHM dng lu tr cc tn hng mc, cc tn ny s c lu tr di
dng mt File cng cp vi File ngun ca chng trnh khi chng trnh chy, n
c tc dng cp nht nhng tn hng mc mi cho chng trnh ca chng ta.
II. Gii thiu chng trnh.

Trang:50

Chng trnh bao gm hai cng vic chnh l: Lp lch thi cng cng trnh v
iu khin nhn lc
1. Lp lch thi cng cng trnh.
Chng trnh c t chc di mt Menu chnh c dng nh sau

Menu chnh ca chng trnh ny lin kt vi mi Form ca chng trnh,


y ta c th s dng chng trnh Help c hng dn s dng hoc ti mi
biu tng ca chng trnh u c Tooltip bng ting Vit hin ln, v vy bn c
th d dng s dng chng trnh ny.
T Form chnh ny ta c th tin hnh c cc cng vic nh sau:
- M mt File mi nhp d liu t u: bng cch bm vo biu tng New
c hnh t giy trng, hoc bm vo Menu File/New chng trnh bt u lm
vic.

+ Sau khi bm New th chng trnh s cho mt Form cha c d liu. T y


bn c th nhp d liu tnh ton: u tin l nhp s hng mc cn lm trong
mt d n, y s hng mc phi l s, v s phi l s dng.
+ Nu bn nhp sai chng trnh s thng bo li v yu cu bn nhp li
cho n khi no nhp ng th thi, bn cng c th Click vo nt HyB hy
b cng vic nhp d liu.
+ Sau khi nhp xong bn c th bm nt Enter xc nh s bn va nhp,
hoc Click vo biu tng Tip Tc , chng trnh s kim tra sem bn nhp
ng cha. Nu cha ng th bn phi nhp li.

Trang:51

+ Bn c th hy b bng cch Click vo biu tng Hy B hoc nhn phm


ESC hy b vic nhp d liu ca mnh v quay tr li Form ban u.

+ Sau khi nhp xong s hng mc cn tnh ton v nhn Enter chng trnh s
cho mt bng tnh trong bn cn phi nhp tn ca tng hng mc m trong d
n cn phi lm, y bn c th g trc tip tn tng hng mc hoc bn c th
s dng phng php gp th t mt danh sch bn cnh, nu tn hng mc no
cha c th bn c th b xung tn hng mc bng cch Click vo mc B xung
tn hng mc, tip theo bn nhp thi gian lm xong ca tng hng mc mt v s
rng buc gia cc hng mc vi nhau, nu c mt hng mc m c nhiu hn 2
hng mc phi lm trc th phi nhp chng cch nhau bng du ,
+ Nu hng mc no m khng lm t u th bn c th b trng khng cn
nhp iu kin rng buc tc l hng mc s lm u tin, khng cn phi lm
sau bt ca hng mc no.
+ Khi nhp xong bn c th bm Enter hoc Click vo biu tng S Liu
Nhp xc nh vic nhp d liu ca bn.
+ Khi lp d liu mi bn cn ch l nhp thi gian bt u tin hnh d n,
thi gian bt u y phi ln hn thi gian hin ti, nu khng chng trnh
cng s hin mt thng bo ni rng bn nhp sai, v tt nhin bn phi nhp li.

Trang:52

+ Nu bn mun hy b vic nhp ca bn, bn c th bm vo nt Quay Li


hoc bm nt ESC thot khi chng trnh v quay tr li mn hnh ban u.

+ Nu trong qu trnh nhp d liu bn khng bit cch bn c th tham kho


hng dn bng cch Click vo biu tng Tr Gip

+ Nu vic nhp d liu tt bn c th bm nt Quay Li tip tc chng


trnh.

Trang:53

- Sau khi c d liu bn c th c c mt th m t s lin h gia cc


hng mc bng cch Click vo biu tng Imetate hoc t Menu Imetate\Graph s

cho ta th m t d liu.
+ Bn cng c th in d liu ra giy bng cch bm vo biu tng my in
trn Form d liu ny.
+ Bn Click vo biu tng Quay Li tr li Menu chnh.
- Tip theo, nu bn mun xem lch thi cng cc hng mc trong d n nh th
no bn c th Click vo biu tng Design trn Toolbar hoc Design trn thanh
Menu bn c th xem chi tit lch thi cng cc hng mc trong d n. Form c
dng nh sau:

+ y c 4 ct. Ct th nht ghi th t cc hng mc c thi cng, ct th


hai cho bit tn hng mc cn thi cng, ct th 3 cho bit s lng thi gian hng
mc bt u tin hnh, tt nhin i vi hng mc cui cng th y l thi
im ct bng khnh thnh d n ny, ct th 4 in ra ngy m hng mc bt u

Trang:54

tin hnh, iu ny s gip cho cc nh qun l nhn s tham gia trong cc d n


qun l d n ca mnh c d dng hn. Nhng s liu y bn ch c th xem
ch khng xa hay sa i mt ci g c. Bn cng c th xut d liu ra my in.
+ Kt thc Form ny bn c th Click vo biu tng quay li tr v Menu
chnh.
- Sau khi tham kho song lch thi hnh d n bn c th lu tr d liu vo
trong my tnh ca bn bng cch Click vo Menu File\Save
+ Chng trnh s a ra hp hi thoi cho php bn lu tr d liu vo u
ty bn. Sau khi chn c ni lu tr bn nhp tn File v Click vo nt Save,
n s ghi ton b d liu cho bn.
+ Trong chng trnh ny bn ch c th lu tn File vi phn m rng l
*.PCM, y khng c g l rng buc c bi v ti mun t ra mt ci g gi
nh cm n nhng ngi i trc h nghin ca c mt ng dng quan
trng nh th ny, mt ng dng m n em li nhiu li nhun cho con ngi khi
xy dng cc d n ln. Form c dng:

- Tng t nh ghi d liu lu tr, bn cng c th c d liu m bn


lu tr ra bng cch Click vo Menu\File\Open
+ Sau bn cng c th l chn tp tin no cha d liu m bn cn m,
Form c dng nh sau:

Trang:55

- n y cng vic tng chng nh hon tt nhng mi chuyn khng


phi n gin nh vy. Trong thc t c nhng d n m khi ngi ta thi cng ri
mi thy c mt s cng vic khng thch hp, v nh th h phi ph ra, hoc c
nhng lc h khng cn mt s hng mc no , v cng c nhng lc h li
mun thm mt s hng mc no . Tt nhin y l nhng iu m nhng nh
qun l h cng khng mun, nhng trong thc t nhng chuyn nh th ny n

vn tn ti. Chnh v vy m trong chng trnh ny ti cng c cp n vn


ny.

Trang:56

- Form ny s m ra nhng d n m ang c thi cng, lc ny th gi s


t trng hp chng ta l nhng ngi ang iu hnh nhng d n , nhng
y n gin hn nhiu v y ch l gi s thi. Lc bn c th b xung mt
hng mc no vo trong danh sch cc hng mc s c thi cng, v mt iu
tt nhin l ta chng phi nhp thi gian lm xong hng mc va nhp . Form
y c dng nh sau:
+ Bn c th thm vo bao nhiu hng mc ty bn, nhng lu l sau mi
ln thm vo th phi nh l th t thi cng s b thay i, v hng mc thm vo
khng c ln hn hng mc cui cng l 2 v khi bt u thm vo Gi s d n
ca bn c 100 hng mc m bn thm vo hng muc th 102 th khng c,
chng trnh s bo li v bn phi nhp li. Sau mi ln nhp d liu bn c th
nhn phm Enter xc nh vic nhp ca bn.
- Tng t nh thm hng mc vic b mt s hng mc cng din ra tng
t, bn ch cn Click vo biu tng xa hng mc l s c mt ca s tng t
nh ca s nhp hng mc thm vo cho bn nhp .
+ Sau Khi kt thc vic thm hay xa mt s hng mc bn phi Click vo
biu tng nhp s liu chng trnh tnh ton li cho bn, lc ny lch thi cng
li c mt lch mi, khc hn lch ban u nu nh bn thm vo hoc b i mt
s hng mc khng cn thi cng.
- Nu nh bn nhp d liu mi hay m mt file lu trong a m bn
sa i d liu bn trong th bn ln lu d liu vo mt File th vic nhp d
liu hay sa i d liu mi c tc dng. y chng trnh n bit c ta
lu hay cha, nu cha lu th khi no thot khi chng trnh n s nhc nh
chng ta l c lu d liu hay khng.

+ Nu bn click vo yes th mt ca s ghi File li hin ra yu cu bn ghi tn


file v Click vo nt Save.

2. iu khin nhn lc.


Cng tng t nh lp lch thi cng cng trnh y chng trnh cng bao
gm cc cng on tng t nh trn. Khi kt thc chng trnh s cho ta mt
bng trong a ra mt danh sch bao gm s cng nhn cn c cho mi cng
vic.

Trang:57

III. Chng trnh ngun.


Trong chng trnh ny bao gm rt nhiu hm v th tc y ch xin a ra
mt th tc quan trng l mt th tc chnh trong chng trnh, th tc ny
trong phn lp lch thi cng trnh l thut ton Dijsktra, thut ton c vit nh
sau.
Public Sub Dijkstra()
Dim v, u, minp As Long
S=0
For v = 0 To n + 1
D(v) = A(S, v)
Truoc(v) = S
Final(v) = False
Next v
Truoc(S) = 0
D(S) = 0
Final(S) = True
Do W7hile Not Final(T)
'Tim u la dinh co nhan tam thoi nho nhat
minp = 3000000
For v = 0 To n + 1
If (Not Final(v)) And (minp > D(v)) Then
u=v
minp = D(v)
End If
Final(u) = True
Next v ' chu y
'============================================
If Not Final(T) Then
For v = 0 To n + 1
If (Not Final(v)) And (D(v) + A(u, v) < D(u)) Then
D(v) = D(u) + A(u, v)
Truoc(v) = u
End If
Next v
End If
Loop
End Sub

Trang:58

KT LUN
Trong s pht trin vt bc ca x hi hin nay, vic xy dng cc d n ln
c rt nhiu chuyn gia c nhiu kinh nghim tr gip h hon thnh d n
ny, ng thi h cng c nhng kinh nghim hon thnh cc d n .
Tuy nhin hon thnh nhng d n ln th vi s pht trin ca cng
ngh thng tin hin nay phn no gp phn vo cng cuc pht trin v xy
dng nn kinh t ca nc nh.
Trong thi gian lm ti ny. Vi mt cng ngh ti u nghin cu v
pht trin trong xy dng v iu hnh nhng d n ln (Nht l nhng d n i
hi s chnh xc, i hi phi tit kim nhn lc, tit kim thi gian nhng phi
hon thnh trong mt thi gian sm nht), nhng phn no p ng c c
cc nhu cu cn thit trn.
ti iu hnh d n bng phng php PERT-PCM v ng dng gii
quyt bi ton lp lch thi cng cng trnh vi s ch bo tn tnh ca thy
Nh An gip em hon thnh ti ny.
Do thi gian v kinh nghim hn ch nn ti chc vn cha ht khi nhng
thiu xt. Trong thi gian sau ti s c gng hon thnh chng v c th a ra s
dng trong cuc sng hin nay.

Trang:59

You might also like