Nhanh can 2

16
Phương Pháp Nhánh Cận Phương Pháp Nhánh Cận (Branch and Bound) (Branch and Bound) Nhóm thực hiện Nhóm thực hiện 1. 1. Trần Thị Kim Trần Thị Kim Dung Dung 2. 2. Phan Thị Thu Hà Phan Thị Thu Hà 3. 3. Nguyễn Thị Nga Nguyễn Thị Nga 4. 4. Đoàn Thị Phương Đoàn Thị Phương A3K50 – Toán Tin ứng dụng A3K50 – Toán Tin ứng dụng

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 Phng

    A3K50 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] qua

    0 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 ha

    Gii 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