Nhanh can 2
-
Upload
huuhuy1987 -
Category
Documents
-
view
216 -
download
1
Transcript of Nhanh can 2
-
Phng Php Nhnh Cn
(Branch and Bound)Nhm thc hin
Trn Th Kim DungPhan Th Thu HNguyn Th Ngaon Th PhngA3K50 Ton Tin ng dng
-
Ni dung
t vn tngThut giiCi t nh giV d minh ha -
t vn
Bi ton thc t: Bi ton ngi giao hngMt ngi cn phi giao hng ti N thnh ph T1, T2, , TnCij: chi ph i t thnh ph Ti n thnh ph Tj (i=1,2,,N; j = 1,2,,N)Yu cu: xc nh hnh trnh tha mni qua tt c cc thnh ph, mi thnh ph qua ng 1 ln, ri quay tr li thnh ph xut pht.Chi ph nh nht -
t vn [2]
Gii quyt bi ton: Phng php vt cnPhng php vt cn quay luiMt s phng php khcNhc im:Phi xt c nhng phng n khng kh thi(gy bng n t hp khi d liu u vo n ln)
-
t vn [3]
M hnh thnh ph
S dng thut ton quay lui
-
tng
tng thut ton:Gi li 1 phng n mu.Tnh chi ph ca cc phng n khc ngay trong qu trnh xy dng. Tt hn: Cp nht li phng n mu v i tipKhng tt hn: Quay li bc trn xt phng n khc -
Thut gii
Bi ton ti u: Tm min{f(x): x D}vi X={a=(a1, a2, , an) Ai (i=1, 2, n) : P(x)}
|Ai< | i=1, 2, , n vi P l mt tnh cht trn tp Ai
Nghim bi ton c dng x= ( x1,x2,,xn ). Bc 1: Xut pht t x1, xy dng mt phng n mu f* Bc i: xy dng c nghim thnh phn (x1, x2,, xi-1)nh gi cn: tm g xc nh trn Xi:g(x1,,xi) < Min { f(a): a=(a1,,an) thuc X, xi=ai, i=1,,n}
Gi s x* l li gii tt nht ti thi im , f* l gi tr tt nht f*=f(x*) Nu f* -
Ci t
Try(i) {
for ( j=1->n )
if ( chp nhn c ) {
Xc nh xi theo j;
Ghi nhn trng thi mi;
if ( i=n )
Cp nht li gii ti u;
else {
Xc nh cn g(x1,,xi);
if ( g(x1,,xi) < f* )
Try(i+1)
}
}
}
-
nh gi
u im:Gim c chi ph: do loi b c nhng bc i khng cn thit (nh nh gi cn)
Nhc im:Vic xy dng hm g ph thuc vo tng bi ton ti u t hp c th. Hm g phi m bo iu kin:
Vic tnh gi tr ca g phi n gin hn vic gii bi ton t hp tm min= min{f(a): a=(a1,,an) thuc X, xi=ai, i=1,,n}Gi tr ca g(a1, a2,, ak) phi st vi cc gi tr ca min. -
V d minh ha
Bi ton ngi a hng tngThut gii v nh giCi tMinh ha -
V d minh ha[2]
tngGi p l 1 hon v ca {1,,n} ta c hnh trnh Tp(1)->Tp(2)->->Tp(n)C n! hnh trnhNu c nh nh xut pht l nh 1 th c (n-1)! hnh trnh, bi ton tr thnh :Tm Min{f(a2,,an): (a2,,an) l hon v ca {2,,n}} vi f(a1,..,an)=C1,a2+Ca2,a3++Can-1,an+Can,1
Ta s kt hp nh gi nhnh cn trong qu trnh lit k phng n ca thut ton quay lui -
V d minh ha [3]
Thut gii v nh gi:C nh nh xut pht l nh 1, duyt vng lp t j=2Ti bc i: nh gi cn: t Cmin=Min{Cij: i,j={1,..,n}}Gi s i on ng T1->T2->->Ti vi chi ph: Si=C1,x2+Cx2,x3++Cxi-1,xiHm cn: g (x1,,xi)=Si+(n-i+1)CminLu du bng mng logic Daxet[]:Daxet[j]=1 nu T[j] qua0 nu T[j] cha qua
Xc nh xi=j, cp nht Daxet[j]=1v S=S+Cxi-1,xiNu i=n, Tong=S+Cxn,1; Nu (Tong< f*)th li gii ti u=x; f*=Tong;Nu Daxet[j]=0 th S=S-Cxi-1,xi -
V d minh ha [4]
Ci t:Try(i)
for ( j= 2 -> n )
if ( !Daxet[j] )
{
x[i]=j;
Daxet[j]=1;
S=S+C[x[i-1]] [x[i]];
if (i= =n) //cap nhat toi uu
{
tong=S+C[x[n]] [x[1]];
if ( tong< f* ) {
Lgtu=x;//loi giai toi uu
f*=tong;
}
}
else {
g=S+(n-i+1)*Cmin; //nh
gi cn
if (g < f* )
Try ( i +1 );
}
S=S-C[x[i-1]] [x[i]];
Daxet[j]=0;
}
-
V d minh ha [5]
Minh haGii bi ton ngi a hng vi ma trn chi ph nh sau:
C = 0 3 14 18 15
3 0 4 22 20
17 9 0 16 4
6 2 7 0 12
9 15 11 5 0
-
V d minh ha [6]
B cc nhnh ny
do g f*
Minh ha [2]g = S + (n-i+1) * Cmin
(1)
f* =
(1,2)
S=3;g=11
(1,2,5)
S=23;g=
(1,2,4)
S=25;g=31
(1,2,3,4)
S=23;g=27
(1,2,3)
S=7;g=13
(1,2,3,5)
S=11;g=15
(1,3)
S=14;g=22
(1,2,3,4,5)
S=35;g=37
(1,2,3,5,4)
S=16;g=18
(1,4)
S=18;g=26
(1,5)
S=15;g=23
Cp nht f*= 16+6 =22
HTT 1->2->3->5->4->1
Cp nht f* = 35+9= 44
HTT 1->2->3->4->5->1
-
Mt s bi ton khc
Bi ton ci ti xch:C n loi vt, mi loi c khi lng khng hn ch vt loi i c c trng bi:Trng lng WiGi tr s dng ViChn t vo trong 1 ti xch Tng trng lng m Tng gi tr s dng ca cc vt trong ti l ln nht