BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ----------------------------------------------- NGUYỄN THỊ QUỲNH VINH THUẬT TOÁN DI TRUYỀN SONG SONG GIẢI BÀI TOÁN LỘ TRÌNH VẬN CHUYỂN VỚI HẠN CHẾ VỀ THỜI GIAN (VRPTW) LUẬN VĂN THẠC SĨ KHOA HỌC CHUYÊN NGÀNH: XỬ LÝ THÔNG TIN VÀ TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: Hà Nội - 2009 17057205192201000000 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI *********♦********* NGUYỄN THỊ QUỲNH VINH THUẬT TOÁN DI TRUYỀN SONG SONG GIẢI BÀI TOÁN LỘ TRÌNH VẬN CHUYỂN VỚI HẠN CHẾ VỀ THỜI GIAN (VRPTW) LUẬN VĂN THẠC SĨ KHOA HỌC CHUYÊN NGÀNH: XỬ LÝ THÔNG TIN VÀ TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN ĐỨC NGHĨA Hà Nội - 2009 1 Lêi cam ®oan T«i xin cam ®oan luËn v¨n: "ThuËt to¸n di truyÒn song song gi¶i bµi to¸n lé tr×nh vËn chuyÓn víi h¹n chÕ thêi gian (VRPTW)" lµ c«ng tr×nh nghiªn cøu riªng cña t«i díi sù híng dÉn cña PGS.TS NguyÔn §øc NghÜa. C¸c kÕt qu¶ nghiªn cøu ®îc tr×nh bµy trong luËn v¨n lµ trung thùc, kh«ng ph¶i lµ sao chÐp toµn v¨n cña bÊt kú mét c«ng tr×nh nµo kh¸c. Mäi trÝch dÉn vµ tµi liÖu tham kh¶o trong luËn v¨n ®Òu ®îc chØ râ nguån gèc.
n¨m 2009 T¸c gi¶ luËn v¨n NguyÔn ThÞ Quúnh Vinh X¸c nhËn cña gi¸o viªn híng dÉn vÒ møc ®é hoµn thµnh cña luËn v¨n tèt nghiÖp vµ cho phÐp b¶o vÖ. n¨m 2009 Gi¸o viªn híng dÉn PGS.TS NguyÔn §øc NghÜa 2 Tãm t¾t Bµi to¸n lé tr×nh vËn chuyÓn víi h¹n chÕ vÒ thêi gian lµ mét bµi to¸n më réng cña bµi to¸n lé tr×nh vËn chuyÓn næi tiÕng. Sö dông thuËt to¸n di truyÒn ®Ó gi¶i bµi to¸n VRPTW ®· nhËn ®îc nhiÒu sù quan t©m trong nh÷ng n¨m gÇn ®©y. Trong VRPTW, mét ®éi xe ®îc khëi hµnh tõ kho chøa tíi phôc vô mét sè kh¸ch hµng t¹i c¸c vÞ trÝ kh¸c nhau trong c¸c khung thêi gian x¸c ®Þnh vµ quay trë vÒ kho chøa.
LuËn v¨n nµy ®· ®a ra mét ph¬ng ph¸p gi¶i bµi to¸n VRPTW sö dông thuËt to¸n di truyÒn song song. ThuËt to¸n sö dông mét chuçi sè nguyªn ®Ó biÓu diÔn vÞ trÝ c¸c kh¸ch hµng trong c¸c lé tr×nh vµ quÇn thÓ ban ®Çu ®îc khëi t¹o b»ng thuËt to¸n chÌn heuristic (Push Forard Insertion Heuristic). Bªn c¹nh ®ã, luËn v¨n ®· tr×nh bµy ba m« h×nh song song cho thuËt gi¶i di truyÒn: Master-Slave, Island vµ Cellular, vµ sö dông m« h×nh Master-Slave ®Ó gi¶i bµi to¸n VRPTW. Cuèi cïng, thuËt to¸n ®· ®îc thùc nghiÖm trªn 56 bµi to¸n chuÈn cña Solomon vµ ®îc so s¸nh víi c¸c lêi gi¶i tèt nhÊt hiÖn nay theo ph¬ng ph¸p heuristic.
Tõ kho¸: lé tr×nh vËn chuyÓn, thuËt to¸n di truyÒn, thuËt to¸n di truyÒn song song 3 Abstract The Vehicle Routing Problem with Time Windows is an extensive of the well-known Vehicle Routing Problem (VRP). Using genetic algorithm to solve Vehicle Routing Problem with Time Windows (VRPTW) has received considerable attention in recent years. In the VRPTW, a fleet of verhicles set-off from a depot to serve a number of customers at defferent geographic locations with various demands within specific time windows before returning to the depot eventually. This thesis proposes an approach for the solving VRPTW using a parallel genetic algorithm.
The algorithm uses an integer representation in which a string of customer identifiers represents the sequence of deliveries covered by each of the vehicles and the initial population is initialized using Push Forard Insertion Heuristic (PFIH). In addition, the thesis has presented three main parallelization models for genetic algorithms: master-slave, island and cellular, and uses a master-slave model to solve the VRPTW problem. At the end, the algorithm has been tested on the VRPTW benchmarks proposed by Solomon, which includes 56 problem instances, and compared with the best known solutions identified by heuristics. Keywords: Vehicle routing, Genetic algorithms, Parallel Genetic Algorithms 4 Lêi c¶m ¬n T«i xin ch©n thµnh c¸m ¬n c¸c tæ chøc, c¸ nh©n ®· gióp ®ì t«i vÒ mÆt néi dung cña luËn v¨n.
Sù gióp ®ì ®ã ®· gióp t«i vît qua nhiÒu khã kh¨n ®Ó hoµn thµnh luËn v¨n nghiªn cøu cña m×nh. T«i xin tr©n träng c¶m ¬n: - ViÖn ®µo t¹o Sau ®¹i häc - Trêng §¹i häc B¸ch Khoa Hµ Néi - C¸c thÇy, c« gi¸o trong ViÖn C«ng nghÖ th«ng tin vµ TruyÒn th«ng, vµ trong bé m«n Khoa häc m¸y tÝnh cïng toµn thÓ c¸c b¹n ®ång nghiÖp. Vµ ®Æc biÖt, t«i xin ch©n thµnh c¸m ¬n thÇy gi¸o, PGS. NguyÔn §øc NghÜa ngêi ®· trùc tiÕp híng dÉn vµ cho t«i nh÷ng ý kiÕn quý b¸u ®Ó t«i cã ®îc thµnh qu¶ h«m nay.
Trong mét kho¶ng thêi gian ng¾n, nh÷ng néi dung ®îc tr×nh bµy trong luËn v¨n ch¾c cha ®Çy ®ñ vµ cßn thiÕu sãt. Néi dung cña luËn v¨n sÏ cßn ®îc tiÕp tôc nghiªn cøu, hy väng tiÕp tôc nhËn ®îc nh÷ng ý kiÕn ®ãng gãp cña mäi ngêi ®Ó luËn v¨n ®îc hoµn thiÖn h¬n trong thêi gian tíi. n¨m 2009 T¸c gi¶ luËn v¨n NguyÔn ThÞ Quúnh Vinh 5 Môc lôc Môc lôc. 7 DANH MôC C¸C THUËT NG÷.
9 DANH MôC H×NH VÏ vµ b¶ng. 11 Ch¬ng 1 TæNG QUAN VÒ BµI TO¸N VRP .2 C¸c biÕn thÓ cña VRP.1 VRP víi h¹n chÕ vÒ träng t¶i (CVRP) .2 VRP víi h¹n chÕ vÒ thêi gian (VRPTW) .3 VRP nhËp xuÊt hµng kÕt hîp (VRPB).4 VRP nhËp xuÊt hµng ®ång thêi (VRPPD).3 Bµi to¸n VRP víi h¹n chÕ vÒ thêi gian (VRPTW) .1 M« h×nh to¸n häc cña bµi to¸n VRPTW .2 C¸c VRPTW më réng. 24 Ch¬ng 2 C¸C PH¦¥NG PH¸P GI¶I BµI TO¸N VRP .1 C¸c thuËt to¸n gi¶i ®óng .1 ThuËt to¸n nh¸nh vµ cËn.2 ThuËt to¸n nh¸nh vµ c¾t .2 C¸c thuËt to¸n xÊp xØ .3 C¸c thuËt to¸n heuristic cæ ®iÓn .1 Heuristic kiÕn thiÕt .2 Heuristic hai giai ®o¹n .4 ThuËt to¸n metaheristic .1 ThuËt to¸n m« pháng luyÖn kim (Simulated Annealing) .2 ThuËt to¸n t×m kiÕm Tabu .3 ThuËt to¸n di truyÒn (GA) .1 ThuËt to¸n di truyÒn ®¬n gi¶n .2 øng dông thuËt to¸n di truyÒn cho c¸c bµi to¸n s¾p xÕp chuçi .3 øng dông thuËt to¸n di truyÒn cho bµi to¸n VRP .4 ThuËt to¸n bÇy kiÕn (AS). 53 Ch¬ng 3 THUËT TO¸N DI TRUYÒN .1 Tæng quan vÒ thuËt to¸n di truyÒn .1 C¸c tham sè cña thuËt to¸n di truyÒn .2 C¸c to¸n tö di truyÒn .3 M« h×nh thuËt to¸n di truyÒn .2 C¸c m« h×nh song song ho¸ gi¶i thuËt di truyÒn .1 M« h×nh Master-slave.
67 ThuËt to¸n di truyÒn song song CHO BµI TO¸N VRPTW .2 Khëi t¹o quÇn thÓ ban ®Çu .1 Hµm thÝch nghi (fitness) .2 Chän läc theo b¸nh xe roulette.3 Chän läc c¹nh tranh (tournament).1 Thao t¸c lai dùa trªn chuçi kh¸ch hµng (SBX).2 Thao t¸c lai dùa trªn lé tr×nh (RBX).1 §ét biÕn mét møc (1M) .2 §ét biÕn hai møc (2M) .3 §ét biÕn dùa trªn sù tèi u hãa côc bé (LSM) .7 ThuËt to¸n GA song song cho bµi to¸n VRPTW. 80 Ch¬ng 5 CµI §ÆT Vµ CH¹Y THùC NGHIÖM .1 C¸c kiÕn tróc lËp tr×nh song song .2 M«i trêng cµi ®Æt .3 D÷ liÖu thùc nghiÖm .4 KÕt qu¶ thùc nghiÖm. 97 Tµi liÖu tham kh¶o. 101 7 GIíI THIÖU Trong nh÷ng thËp niªn gÇn ®©y, sö dông c¸c gãi phÇn mÒm tèi u ®Ó qu¶n lý hiÖu qu¶ qu¸ tr×nh cung cÊp hµng hãa vµ dÞch vô trong hÖ thèng ph©n phèi ngµy cµng t¨ng.
PhÇn lín c¸c øng dông thùc tÕ ®· chØ ra r»ng, m¸y tÝnh hãa nh÷ng thñ tôc cho qu¸ tr×nh lËp kÕ ho¹ch ph©n phèi s¶n phÈm tiÕt kiÖm ®îc chi phÝ ®¸ng kÓ (th«ng thêng tõ 5% tíi 20%) trong toµn bé chi phÝ vËn chuyÓn. DÔ dµng thÊy t¸c ®éng cña kho¶n tiÕt kiÖm nµy ®Õn chi phÝ s¶n xuÊt s¶n xuÊt nãi chung vµ gi¸ thµnh s¶n phÈm nãi riªng lµ kh«ng nhá. Bµi to¸n lé tr×nh vËn chuyÓn (VRP) ®îc ®a ra ®Çu tiªn bëi Danzig vµ Ranser (1959), víi øng dông ph©n phèi x¨ng dÇu cho nhµ ga, ®· dµnh ®îc sù quan t©m rÊt lín cña nhiÒu nhµ khoa häc. §· cã hµng tr¨m c¸c m« h×nh vµ thuËt to¸n kh¸c nhau cho c¸c phiªn b¶n cña VRP.
HiÖn nay, mét biÕn thÓ cña VRP, VRP víi h¹n chÕ thêi gian (VRPTW), ®îc nghiªn cøu vµ øng dông kh¸ nhiÒu trong thùc tÕ, nh c¸c øng dông dän dÑp ®êng phè, ®Þnh híng lé tr×nh xe bus, chuyªn chë ngêi khuyÕt tËt, lËp lÞch qu¸ tr×nh ph©n phèi hµng ho¸ cho ngêi b¸n hµng. Víi nh÷ng ý nghÜa thùc tiÔn ®ã cña bµi to¸n, t«i chän ®Ò tµi luËn v¨n tèt nghiÖp lµ: "ThuËt to¸n di truyÒn song song gi¶i bµi to¸n lé tr×nh vËn chuyÓn víi h¹n chÕ thêi gian (VRPTW)" Néi dung cña luËn v¨n ®îc tr×nh bµy nh sau: Ch¬ng 1: "Tæng quan vÒ bµi to¸n lé tr×nh vËn chuyÓn (VRP)" tr×nh bµy c¸c kh¸i niÖm vµ c¸c biÕn thÓ c¬ b¶n cña bµi to¸n VRP nãi chung vµ bµi to¸n VRP víi h¹n chÕ thêi gian (VRPTW) nãi riªng, mét biÕn thÓ cña bµi to¸n VRP mµ hiÖn nay ®îc nghiªn cøu vµ øng dông kh¸ nhiÒu trong thùc tÕ. Trong ®ã, chóng ta sÏ ®i t×m hiÓu chi tiÕt vÒ m« h×nh to¸n häc vµ c¸c bµi to¸n më réng cña VRPTW. Ch¬ng 2: "C¸c ph¬ng ph¸p gi¶i bµi to¸n VRP" tr×nh bµy s¬ lîc vÒ c¸c ph¬ng ph¸p gi¶i bµi to¸n VRP bao gåm: c¸c ph¬ng ph¸p gi¶i ®óng (thuËt to¸n nh¸nh vµ cËn, thuËt to¸n nh¸nh vµ c¾t) vµ c¸c ph¬ng ph¸p gi¶i gÇn ®óng (thuËt to¸n heuristic cæ ®iÓn vµ thuËt to¸n metaheuristic ).
8 Ch¬ng 3: "ThuËt to¸n di truyÒn" tr×nh bµy c¸c kh¸i niÖm c¬ b¶n vÒ thuËt to¸n di truyÒn vµ t×m hiÓu ba m« h×nh song song cho thuËt to¸n di truyÒn: m« h×nh Master- slave, m« h×nh Island vµ m« h×nh Cenllular. Ch¬ng 4: "ThuËt to¸n di truyÒn song song cho bµi to¸n VRPTW" tr×nh bµy thuËt to¸n di truyÒn cho bµi to¸n VRPTW vµ ¸p dông m« h×nh master-slave cho thuËt to¸n di truyÒn khi gi¶i bµi to¸n VRPTW Ch¬ng 5: "Cµi ®Æt vµ ch¹y thùc nghiÖm". Ch¬ng nµy tr×nh bµy kiÕn tróc cña hÖ thèng m¸y tÝnh ®îc sö dông ®Ó cµi ®Æt ch¬ng tr×nh vµ tr×nh bµy hÖ thèng ch¬ng tr×nh sÏ ®îc ch¹y thùc nghiÖm trªn bé d÷ liÖu cña Solomon. §©y lµ bé d÷ liÖu phæ biÕn thêng ®îc sö dông cho c¸c bµi to¸n VRP.
Sau ®ã, tæng hîp c¸c kÕt qu¶ ®· ®¹t ®îc cña thùc nghiÖm vµ thùc hiÖn so s¸nh kÕt qu¶ ®¹t ®îc cña ch¬ng tr×nh víi c¸c lêi gi¶i ®îc biÕt lµ tèt nhÊt hiÖn nay.