K院t qu違 mô ph臼ng

Một phần của tài liệu BÀI BÁO CÁO ĐỒ ÁN TỐT NGHIỆP-THIẾT KẾ MẠNG QUANG (Trang 69)

T 蔚 NG QUAN H烏 H 渦 NG HÔNG IN QUANG

4.4.K院t qu違 mô ph臼ng

Thu壱t toán Dijkstra tìm 8逢運ng8i ng逸n nh医t t瑛 node ngu欝n 8院n node8ích8逢嬰c th詠c hi羽n nh逢 sau:

Ch逢挨ng 4: Th詠c hi羽n mô ph臼ng

Ch逢挨ng 4: Th詠c hi羽n mô ph臼ng

3.Click vào bi吋u t逢嬰ng “DUONG NGAN NHAT” th詠c hi羽n tìm 8逢運ng ng逸n nh医t gi英a hai c員p node b医t kì.

Ch逢挨ng 4: Th詠c hi羽n mô ph臼ng

Ch逢挨ng 4: Th詠c hi羽n mô ph臼ng

4.5. K院t lu壱n ch逢挨ng.

Ta th医y 8逢嬰c thu壱t toán 8鵜nh tuy院n Dijkstra 8逢嬰c 泳ng d映ng hi羽u qu違 trong vi羽c 8鵜nh tuy院n các lightpath trong m衣ng WDM 8吋 tìm 8逢嬰c 8逢運ng 8i t嘘i 逢u v噂i các hàm m映c tiêu (cost function) c栄a m衣ng mà ta có th吋 áp 8員t cho nó. Hàm m映c tiêu này ta có th吋 theo tiêu chí nào 8ó c栄a m衣ng nh逢 là chi phí tuy院n, l逢嬰ng l逢u l逢嬰ng, d<ng thông… S詠 áp 8員t này th詠c hi羽n b茨ng cách 8員t tr丑ng s嘘 trên các tuy院n là giá tr鵜 c栄a các hàm m映c tiêu trên. Sau quá trình 8鵜nh tuy院n 8院n các node m衣ng, các node m衣ng th詠c hi羽n gán b逢噂c sóng cho lightpath. Vi羽c gán b逢噂c sóng ph違i tho違 mãn 8i隠u ki羽n liên t映c b逢噂c sóng n院u không node m衣ng 8ó ph違i s穎 d映ng b瓜 chuy吋n 8鰻i b逢噂c sóng.

A隠 tài “8鵜nh tuy院n và gán b逢噂c sóng trong m衣ng quang WDM” 8ã cho th医y 8逢嬰c vai trò quan tr丑ng c栄a8鵜nh tuy院n và gán b逢噂c sóng trong m衣ng quang WDM, hi吋u 8逢嬰c m瓜t s嘘 gi違i thu壱t8鵜nh tuy院n và các ph逢挨ng pháp gán b逢噂c sóng cho các lightpath trong m衣ng quang.A欝ng th運i ch逢挨ng trình mô ph臼ng8ã th吋 hi羽n quá trình 8鵜nh tuy院n c栄a các lightpath t瑛 node ngu欝n 8院n node8ích8吋 8逢嬰c m瓜t8逢運ng8i t嘘i 逢u theo m瓜t hàm m映c tiêu nào 8ó. K院t thúc quá trình nghiên c泳u 8隠 tài, em8逢a ra m瓜t s嘘 nh壱n xét nh逢 sau:

v Ch逢挨ng trình mô ph臼ng th詠c hi羽n8鵜nh tuy院n v噂i m映c8ích tìm 8逢運ng8i t嘘i 逢u t瑛 node ngu欝n8院n node8ích,8ây là8逢運ng 8i duy nh医t. Tuy v壱y,8吋 t<ng c逢運ng hi羽u n<ng m衣ng thì không th吋 8挨n thu亥n ch丑n duy nh医t m瓜t tuy院n t嘘i逢u8ó mà ph違i 8ánh giá 8逢嬰c các tuy院n còn l衣i 8吋 th詠c hi羽n phân t違i, tránh tình tr衣ng m瓜t tuy院n ho衣t8瓜ng h院t công su医t trong khi8ó có nh英ng tuy院n kh違 thi còn r厩i.

v Sau khi th詠c hi羽n 8鵜nh tuy院n cho lightpath, ph違i th詠c hi羽n gán b逢噂c sóng cho nó. N院u toàn b瓜 node m衣ng không s穎 d映ng b瓜 chuy吋n 8鰻i b逢噂c sóng thì toàn b瓜 các tuy院n trên 8逢運ng 8i t瑛 ngu嘘n 8院n 8ích ch雨"8逢嬰c gán m瓜t b逢噂c sóng duy nh医t. Tuy nhiên, tài nguyên s嘘 b逢噂c sóng trên m厩i node m衣ng có h衣n, 8k隠u này làm xác su医t t逸c ngh胤n r医t cao khi m瓜t node m衣ng không cung c医p b逢噂c sóng 8ã ràng bu瓜c t瑛 tr逢噂c. Vì th院, các m衣ng hi羽n nay luôn tìm cách th詠c hi羽n 8鵜nh tuy院n và gán b逢噂c sóng sao cho 8衣t 8逢嬰c t嘘i逢u m衣ng là gi違m xác su医t t逸c ngh胤n.

Ngày nay, ng逢運i ta 8ang h逢噂ng t噂i m衣ng toàn quang mà m丑i công vi羽c x穎 lí 8隠u th詠c hi羽n hoàn toàn trong mi隠n quang. M衣ng toàn quang h泳a h姻n s胤"8em l衣i t嘘c 8瓜 cao, giá thành m衣ng s胤"8逢嬰c gi違m xu嘘ng m瓜t cách 8áng k吋.

A欝 án 8逢嬰c hoàn thành trong th運i gian h衣n ch院, 8員t n隠n móng cho vi羽c nghiên c泳u và phát tri吋n sau này, vì th院 không th吋 tránh kh臼i nh英ng thi院u sót. Hi v丑ng trong th運i gian t噂i v噂i kinh nghi羽m th詠c ti宇n, em s胤 c嘘 g逸ng hoàn thi羽n h挨n 8隠 tài c栄a mình.

[1] Nguy宇n A泳c Ngh a- Nguy宇n Tô Thành, “Toán R運i R衣c”, Nhà xu医t B違n A衣i H丑c Qu嘘c Gia Hà N瓜i_2004

[2] http://www.2cool4u.ch/

[3] Senior, John.M, “Optical fiber communications”, Library of Congress Cataloging in Publication Data.

[4] George N. Rouskas, “Routing and Wavelength Assignment in Optical WDM Networks”, Department of Computer Science_2000.

[5] Krishna M.Sivalingam, SureshSubramaniam, “Optical WDM Networks- Principles and Practice”, Kluwer Academic Publishers_2000.

[6]http://HowStuffWork/HowRoutingAlgorithmsWork

[7] “H羽 th嘘ng thông tin quang/Vô tuy院n”, LG Information and Communication LTD (LGIC)

[8] Nguy宇n Duy Nh壱t Vi宇n, “K thu壱t chuy吋n m衣ch trong m衣ng di羽n r瓜ng”, A衣i h丑c Bách Khoa Aà N印ng

[9] Regis J. BUD Bates, “Optical Switching and Networking Handbook”, McGraw- Hill Companies

[10]http://en.wikipedia.org/wiki/Dijkstra’s algorithm [11]http://vi.wikipedia.org/wiki/

[12] Jun Zheng, Hussien T. Mousftah, “Distributed lightpath control for wavelength-routed WDM network”, University of Ottawa

[13] Jin seek Choi, Nada Golmie, Francois Lapeyrere, Frederic Mouveaux and David Su, “A functional Classification of Routing and Wavelength Assignment Shemes in DWDM networks: Static Case”, National Institute of Standards and Technology, Gaithersburg, MD, USA

PH LC § Th詠c hi羽n thêm bi院n và th詠c hi羽n mã l羽nh sau: void CAlgorithmsView::OnAddNode() { m_Dijkstra.StartAddNodes(); } void CAlgorithmsView::OnAddEdge() { m_Dijkstra.StartAddEdges(); } void CAlgorithmsView::OnShortestPath() { CShorthestPath dlg; if(dlg.DoModal()==IDOK) // { m_Dijkstra.ShortestPath(dlg.m_node1, dlg.m_node2); } } § Th詠c hi羽n v胤 các node và các c衣nh b茨ng mã nh逢 sau: class CGraph { public: long GetNrNodes(); CGraph(); virtual ~CGraph();

VTYPE_EDGE m_edges; // dãy các c衣nh

VTYPE_NODE_P d; // array of longs that contain // the shortest path at every step

VTYPE_NODE_P pi; // array of longs that contain // the predecessor of each node for the shortest path }; // // // // // // // // // // // // // // class CNode { public: CNode Copy();

double m_cost; // gia tri trong so long m_NodeNr; // so node

POINT m_p; // diem do hoa cho node CNode(); virtual ~CNode(); }; // // // // // // // // // // // class CEdge { public: (adsbygoogle = window.adsbygoogle || []).push({});

bool m_red; // ve duong di ngan nhat

// (neu mot canh la mot phan cua duong di ngan nhat thi no duoc ve mau do) double m_cost; // trong so cua canh (lay gia tri ngau nhien tu 0-9)

long m_secondNode; long m_firstNode; POINT m_secondPct; POINT m_firstPct; CEdge();

virtual ~CEdge(); };

// ve canh bat dau tu node dau den node cuoi § Thu壱t toán Dijkstra:

// The Dijkstra's algorithm

STDMETHODIMP CDijkstra::ShortestPath(long node1, long node2) {

ReleaseGraph();

InitializeSource(g, g.m_nodes[node1-1]); // Thiet lap S ve rong

VTYPE_NODE S; // Dat cac node vao Q

VTYPE_NODE Q;

VTYPE_NODE::iterator kl;

for(kl=g.m_nodes.begin(); kl<g.m_nodes.end(); kl++) {

CNode node = (*kl).Copy(); Q.push_back(node);

}

// Algorithm while(Q.size()) {

CNode nod = ExtractMin(Q); // tach node tim duoc ra khoi tap Q // dua node nay vao tapS

S.push_back(nod);

VTYPE_NODE::iterator kl;

for(kl=g.m_nodes.begin(); kl<g.m_nodes.end(); kl++) {

{

bool gasit = false;

VTYPE_NODE::iterator kll; for(kll=Q.begin(); kll<Q.end(); kll++) { if((*kll).m_NodeNr == (*kl).m_NodeNr) gasit = true; } if(gasit) Relax(nod, (*kl), GetEdgeVal(nod, (*kl))); } } } RefreshDone(node1, node2); return S_OK; } § L羽nh th詠c hi羽n v胤: // Draw HDC dc = ::GetDC(m_hWnd); HPEN pen=CreatePen(PS_SOLID,0,RGB(0,0,0)); HPEN penred=CreatePen(PS_SOLID,2,RGB(255,0,0)); HBRUSH brush=CreateSolidBrush(RGB(0,0,0)); HPEN oldpen; HPEN oldbrush; oldpen=(HPEN)SelectObject(dc,pen); RECT rc; ::GetClientRect(m_hWndCD, &rc);

HFONT OldFont = (HFONT)::SelectObject(dc, m_lmfont); long nr = 0; VTYPE_NODE::iterator kl; for(kl=g.m_nodes.begin(); kl<g.m_nodes.end(); kl++) { char s[5]; ltoa((*kl).m_NodeNr, s, 10);; Ellipse(dc, (*kl).m_p.x-10, (*kl).m_p.y-10, (*kl).m_p.x+10, (*kl).m_p.y+10); if(nr<9) TextOut(dc, (*kl).m_p.x-5, (*kl).m_p.y-8, s, 1); else TextOut(dc, (*kl).m_p.x-8, (*kl).m_p.y-8, s, 2); nr++; } oldbrush=(HPEN)SelectObject(dc,brush); VTYPE_EDGE::iterator kll; for(kll=g.m_edges.begin(); kll<g.m_edges.end(); kll++) { HPEN temp; if((*kll).m_red) temp=(HPEN)SelectObject(dc,penred);

MoveToEx(dc, (*kll).m_firstPct.x, (*kll).m_firstPct.y, NULL); LineTo(dc, (*kll).m_secondPct.x, (*kll).m_secondPct.y); Ellipse(dc, (*kll).m_secondPct.x-5, (*kll).m_secondPct.y-5, (*kll).m_secondPct.x+5, (*kll).m_secondPct.y+5);

POINT po;

po.x = ((*kll).m_firstPct.x+(*kll).m_secondPct.x)/2; po.y = ((*kll).m_firstPct.y+(*kll).m_secondPct.y)/2; char s[5];

ltoa((*kll).m_cost, s, 10); TextOut(dc, po.x, po.y, s, 1); if((*kll).m_red) SelectObject(dc,temp); } ::SelectObject(dc, OldFont); SelectObject(dc,oldpen); SelectObject(dc,oldbrush); DeleteObject(pen); DeleteObject(brush); ::ReleaseDC(m_hWnd, dc); } } void CDijkstra::ReleaseGraph() { g.d.clear(); g.pi.clear(); VTYPE_EDGE::iterator kll; for(kll=g.m_edges.begin(); kll<g.m_edges.end(); kll++) { (*kll).m_red = false; } Refresh(); }

Một phần của tài liệu BÀI BÁO CÁO ĐỒ ÁN TỐT NGHIỆP-THIẾT KẾ MẠNG QUANG (Trang 69)