1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giải thuật di truyền và ứng dụng đối với bài toán vận tải

81 927 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 508,49 KB

Nội dung

DANH MỤC CÁC CHỮ VIẾT TẮTGA – Genetic Algorithm: giải thuật di truyền EC - Evolutionary computation: tính toán tiến hóa EP - Evolutionary Programming: quy hoạch tiến hóa ES - Evolutionar

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

-

VŨ THỊ KHÁNH TRÌNH

GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG ĐỐI VỚI

BÀI TOÁN VẬN TẢI

Trang 2

LỜI CAM ĐOAN

Sau quá trình học tập tại Trường Đại học Công nghệ thôngtin và Truyền thông, với những kiến thức lý thuyết và thực hành đãtích lũy được, với việc vận dụng các kiến thức vào thực tế, em đã tựnghiên cứu các tài liệu, các công trình nghiên cứu, đồng thời có sự phântích, tổng hợp, đúc kết và phát triển để hoàn thành luận văn thạc sĩ củamình Em xin cam đoan luận văn này là công trình do bản thân em tựtìm hiểu, nghiên cứu và hoàn thành dưới sự hướng dẫn của thầy giáo,

TS Vũ Vinh Quang

Thái Nguyên, tháng 7 năm 2014

Học viên

Vũ Thị Khánh Trình

Trang 3

LỜI CẢM ƠN

Trong thời gian hai năm của chương trình đào tạo thạc sĩ, trong đógần một nửa thời gian dành cho các môn học, thời gian còn lại dành choviệc lựa chọn luận văn, giáo viên hướng dẫn, tập trung vào nghiên cứu,viết, chỉnh sửa và hoàn thiện luận văn Với quỹ thời gian như vậy và với

vị trí công việc đang phải đảm nhận, không riêng bản thân em mà hầuhết các sinh viên cao học muốn hoàn thành tốt luận văn của mình trướchết đều phải có sự sắp xếp thời gian hợp lý, có sự tập trung học tập vànghiên cứu với tinh thần nghiêm túc, nỗ lực hết mình; tiếp đến là có sựủng hộ về tinh thần, sự giúp đỡ về chuyên môn - một trong những điềukiện không thể thiếu quyết định đến việc thành công của luận văn

Để hoàn thành được luận văn này trước tiên em xin gửi lời cảm ơnsâu sắc đến thầy giáo hướng dẫn TS Vũ Vinh Quang, là người địnhhướng nội dung, hướng phát triển của luận văn và có nhiều ý kiến đónggóp quan trọng về những vấn đề chuyên môn của luận văn, giúp em tháo

gỡ kịp thời những vướng mắc trong quá trình làm luận văn

Em cũng xin chân thành cảm ơn các thầy, cô giáo Trường Đại họcCông nghệ thông tin và Truyền thông và bạn bè cùng lớp đã có những

ý kiến bổ ích để luận văn được hoàn thiện hơn Xin cảm ơn gia đình,người thân, đồng nghiệp luôn quan tâm, ủng hộ về tinh thần trong suốtthời gian học tập và hoàn thành luận văn

Em xin hứa sẽ cố gắng tự nghiên cứu, nâng cao năng lực chuyên môncủa mình để sau khi hoàn thành luận văn này sẽ có hướng tập trungnghiên cứu sâu hơn, tiếp tục hoàn thiện luận văn này để có những ứngdụng thiết thực trong thực tế

Thái Nguyên, tháng 7 năm 2014

Học viên

Vũ Thị Khánh Trình

Trang 4

MỤC LỤC

Lời cam đoan i

Lời cám ơn ii

Danh mục các chữ viết tắt vi

Danh mục các bảng vii

Danh mục các hình viii

LỜI MỞ ĐẦU 1

Chương 1 Bài toán vận tải 3

1.1 Bài toán quy hoạch tuyến tính 3

1.1.1 Mô hình một số bài toán thực tế 3

1.1.2 Bài toán quy hoạch tuyến tính 6

1.2 Bài toán vận tải 11

1.3 Thuật toán phân phối giải bài toán vận tải 13

1.3.1 Định nghĩa 13

1.3.2 Cơ sở lý luận của thuật toán 14

1.3.3 Thuật toán phân phối 16

1.3.4 Vấn đề chọn phương án ban đầu 17

1.4 Các dạng khác của bài toán vận tải 18

1.4.1 Bài toán vận tải không cân bằng thu phát 18

1.4.2 Bài toán vận tải dạng cực đại 20

Chương 2 Giải thuật di truyền và ứng dụng đối với bài toán vận tải 28

2.1 Giới thiệu về Giải thuật di truyền 28

Trang 5

2.2 Các khái niệm cơ bản 29

2.2.1 Cá thể, nhiễm sắc thể 29

2.2.2 Quần thể 29

2.2.3 Chọn lọc (Selection) 30

2.2.4 Lai ghép (Crossover) 30

2.2.5 Đột biến (Mutation) 30

2.3 Mô hình GA 30

2.4 Các tham số của GA 32

2.4.1 Kích thước quần thể 32

2.4.2 Xác suất lai ghép 32

2.4.3 Xác suất đột biến 32

2.5 Cơ chế thực hiện GA 33

2.5.1 Mã hóa 33

2.5.2 Khởi tạo quần thể ban đầu 34

2.5.3 Xác định hàm thích nghi 34

2.5.4 Cơ chế lựa chọn 34

2.6 Thuật toán di truyền kinh điển 36

2.6.1 Mã hóa 36

2.6.2 Toán tử chọn lọc 36

2.6.3 Toán tử lai ghép 37

2.6.4 Toán tử đột biến 39

2.7 Thuật toán di truyền mã hóa số thực (RCGA) 40

2.7.1 Giới thiệu 40

2.7.2 Các toán tử của RCGA 41

2.8 Thuật toán di truyền với bài toán vận tải cân bằng 46

2.8.1 Biểu diễn lời giải bài toán vận tải bằng véc tơ 46

2.8.2 Biểu diễn lời giải bài toán vận tải bằng ma trận 51

Chương 3 Một số kết quả thực nghiệm 56

3.1 Mô tả các thuật toán di truyền 56

3.1.1 Toán tử khởi tạo 56

Trang 6

3.1.2 Toán tử lai ghép 58

3.1.3 Toán tử đột biến 58

3.1.4 Toán tử lựa chọn 59

3.2 Một số kết quả cài đặt 59

Phần kết luận 63

Tài liệu tham khảo 64

Phần phụ lục 65

Trang 7

DANH MỤC CÁC CHỮ VIẾT TẮT

GA – Genetic Algorithm: giải thuật di truyền

EC - Evolutionary computation: tính toán tiến hóa

EP - Evolutionary Programming: quy hoạch tiến hóa

ES - Evolutionary Strategies: các chiến lược tiến hóa

GP - Genetic Programming: lập trình di truyền

CS - Classifier Systems: các hệ thống phân loại

NST: nhiễm sắc thểSelection: chọn lọc

Crossover: lai ghépMutation: đột biếnReproduction: sinh sản

pop_size: kích cỡ quần thểRCGA: thuật toán di truyền

mã hóa số thựcArithmetic Crossover: lai số học

BLX-α - Blend Crossover: lai ghép BLX-α

UNDX - Unimodal Normal

Distributed Crossover: lai ghép UNDXCMX - Center of Mass Crossover: lai ghép CMX

MFX - Multi-parentFeature-wise Crossover: lai ghép - MFX

SX - Seed Crossover: lai ghép SX

Trang 8

Bảng 3.1: Kết quả sau 10 lần chạy ngẫu nhiên.

Bảng 3.2: Kết quả sau 10 lần chạy ngẫu nhiên

Trang 9

Hình 3.1: Đồ thị nghiệm tại lần chạy thứ 10

Hình 3.2: Đồ thị nghiệm tại lần chạy thứ 10

Trang 10

LỜI MỞ ĐẦU

Trong thực tế, việc tìm kiếm các phương pháp giải lớp các bài toántối ưu là một lĩnh vực được các nhà khoa học trên thế giới đặc biệt quantâm Đã có rất nhiều các công trình nghiên cứu về lĩnh vực này, chủyếu được phát triển trong lý thuyết tối ưu hóa áp dụng trong lý thuyếtquy hoạch toán học và mô hình các bài toán trong công nghệ thông tin

để tìm kiếm các thuật toán giải các lớp bài toán NPC Trong thời giangần đây một hướng nghiên cứu quan trọng được phát triển trong lĩnhvực tính toán tiến hóa, đó chính là nghiên cứu về thuật toán di truyền(Genetic Algorithm - GA)

Xuất phát từ thuyết tiến hóa muôn loài của Darwin, các nhà toánhọc John Holland (1975) và Goldberg (1989) đã đề xuất và phát triển

GA Đây là một kỹ thuật chung tìm cách giải quyết bài toán bằng việc

mô phỏng sự tiến hóa của con người hay của sinh vật nói chung dựa trênnhững điều kiện được qui định sẵn của bài toán

GA là một thuật toán đưa ra lời giải tương đối tối ưu Tư tưởngchính của thuật toán là tìm kiếm lời giải tối ưu dựa trên cơ chế lai ghép,chọn lọc, sử dụng các nguyên lý về tính di truyền, sự thích nghi và sựsống các cá thể thích nghi nhất trong tự nhiên từ đó tiếp cận đến lờigiải tối ưu của bài toán đang xét

Đối với lý thuyết quy hoạch tuyến tính nói chung thì bài toán vậntải là một mô hình có ứng dụng quan trọng trong thực tế, đây là bàitoán kinh điển đã được nghiên cứu Đã có nhiều thuật toán được đề xuấttrong lý thuyết tối ưu để giải bài toán này như: Các thuật toán thế vị(thuật toán phân phối, thuật toán quy không ô chọn), bài toán quy hoạchnguyên

Với những lý do trên, em chọn đề tài "Giải thuật di truyền vàứng dụng đối với bài toán vận tải" làm luận văn tốt nghiệp.Nội dung chính của luận văn gồm 3 chương:

Chương 1 - Bài toán vận tải: trình bày những kiến thức cơ bảnnhất về bài toán vận tải - một dạng đặc biệt của bài toán quy hoạchtuyến tính và thuật toán phân phối để giải bài toán vận tải

Trang 11

Chương 2 - Giải thuật di truyền và ứng dụng đối với bàitoán vận tải: trình bày các khái niệm cơ bản, mô hình, các tham số cơbản, các phép toán, cơ chế thực hiện tổng quát của thuật toán di truyền,thuật toán di truyền kinh điển, thuật toán di truyền mã hóa số thực,thuật toán di truyền với bài toán vận tải cân bằng.

Chương 3 - Một số kết quả thực nghiệm: trình bày các kết quảcài đặt thử nghiệm khi giải bài toán vận tải bằng thuật toán GA

Các kết quả lý thuyết về bài toán vận tải kiểm nghiệm thông qua cácchương trình thực nghiệm viết trên Matlab version 7.0

Trang 12

Chương 1 BÀI TOÁN VẬN TẢI

Nội dung của chương được tham khảo ở các tài liệu [1], [2], [3], [4]

1.1 Bài toán quy hoạch tuyến tính

1.1.1 Mô hình một số bài toán thực tế

Chương này sẽ trình bày những kiến thức cơ bản nhất của bài toánquy hoạch tuyến tính Năm 1947, G B Dantzig đã đưa ra mô hình toánhọc này sau khi nghiên cứu các bài toán lập kế hoạch cho lực lượng khôngquân Mỹ Ban đầu, ông gọi là "Quy hoạch trong cấu trúc tuyến tính"(Programming in a linear structure) Mùa hè năm 1948, G B Dantzig

đã đồng ý sử dụng tên gọi ngắn gọn là "Quy hoạch tuyến tính" (LinearProgramming) sau khi được Tijalling Koopmans góp ý Nhiều năm sau,Albert Tuckey dùng thuật ngữ ngắn hơn là "Linear Program" Ngay saukhi G B Dantzig đưa ra mô hình quy hoạch tuyến tính, người ta thấynhiều bài toán thực tế thuộc nhiều lĩnh vực khác nhau có thể mô tảbằng mô hình bài toán quy hoạch tuyến tính

Ví dụ 1.1 Bài toán lập kế hoạch sản xuất (Production Planning lem) Công ty Reddy Mikks sản xuất hai loại sản phẩm là sơn nội thất

Prob-và sơn ngoài trời Nguyên liệu gồm hai loại A Prob-và B với nguồn dự trữtương ứng là 60 tấn và 80 tấn Để sản xuất một tấn sơn nội thất cần

2 tấn nguyên liệu A, 1 tấn nguyên liệu B và để sản xuất một tấn sơnngoài trời cần 1 tấn nguyên liệu A, 2 tấn nguyên liệu B Được biết nhucầu thị trường sử dụng hai loại sản phẩm này trong một ngày là:

- Nhu cầu sơn nội thất không hơn nhu cầu sơn ngoài trời quá 1 tấn;

- Nhu cầu cực đại của sơn nội thất là 2 tấn

Giá bán buôn 1 tấn sơn nội thất là 2000 USD, 1 tấn sơn ngoài trời

Trang 13

là 3000 USD.

Vấn đề đặt ra là cần sản xuất mỗi ngày như thế nào để doanh thu

là lớn nhất

Gọi x1 là số lượng sơn nội thất cần sản xuất trong một ngày;

Gọi x2 là số lượng sơn ngoài trời cần sản xuất trong một ngày;

x1, x2 gọi là các biến (variable) hay là một phương án (alternative)của bài toán Vì sản lượng sản phẩm phải là một số thực không âm, nên

x1 ≥ 0, x2 ≥ 0, đơn vị tính là tấn Khi đó doanh thu trong một ngày thuđược sẽ là

F (x) = 2000x1 + 3000x2

và F được gọi là hàm mục tiêu (objective funtion)

Mặt khác, số lượng sản phẩm được sản xuất x1, x2 không thể vượtquá số lượng nguyên liệu dự trữ hạn chế Các hạn chế trên các biến x1, x2gọi là các ràng buộc (constraint), cụ thể là:

(2x1 + x2 ≤ 60

Ta có mô hình toán học của bài toán lập kế hoạch sản xuất như sau:Tìm phương án chấp nhận được làm hàm mục tiêu F (x) đạt cực đạimax và được biểu diễn dưới dạng toán học dưới đây:

Trang 14

Một đội sản xuất cần phân công một số người đi gặt, số còn lại thì ởnhà đập lúa Cả đội có 12 lao động loại A, 26 lao động loại B và 16 laođộng loại C Năng suất làm việc của lao động loại A trong một ngày gặtđược 2 sào và đập được 5 sào; tương ứng với lao động loại B là 1, 8 và

3, 6; lao động loại C là 1, 5 và 2, 4 Hãy phân công lao động sao cho gặtđược nhiều nhất và số lúa được gặt về cũng được đập hết trong ngày.Gọi x, y, z lần lượt là số lao động các loại A, B, C được phân công để

đi gặt lúa, x ≥ 0, y ≥ 0, z ≥ 0 Khi đó số lao động ở nhà đập lúa tươngứng là: 12 − x, 26 − y và 16 − z

Mặt khác, hai công việc phải đảm bảo cân đối, nên:

2x + 1, 8y + 1, 5z = 5(12 − x) + 3, 6(26 − y) + 2, 4(16 − z)

hay

7x + 5, 4y + 3, 9z = 192Khi đó mô hình toán học của bài toán này là:

Ví dụ 1.3 Bài toán vận tải (Transportation Problem) Ta xét một dạngbài toán tổng quát

Trong quá trình sản xuất, hàng hoá được vận chuyển từ 02 kho A,

B đến 02 cửa hàng bán lẻ I, II Lượng hàng ở kho A 15 tấn, kho B 15tấn và nhu cầu tiêu thụ ở kho I là 10 tấn, kho II là 20 tấn Cước phí vậnchuyển một tấn hàng hoá từ kho A đến hai cửa hàng I, II tương ứng là

1 triệu VNĐ, 3 triệu VNĐ và kho B đến hai cửa hàng I, II tương ứng là

2 triệu VNĐ, 5 triệu VNĐ:

Yêu cầu đặt ra là hãy lập kế hoạch vận chuyển hàng hoá từ kho A, Bđến cửa hàng thứ I, II sao cho tổng chi phí là ít nhất, với điều kiện cáckho phát hết hàng và các siêu thị, cửa hàng nhận đủ số hàng hoá theonhu cầu

Gọi lượng hàng vận chuyển từ kho i đến cửa hàng j là xij (i = 1, 2;

j = 1, 2; xij ≥ 0) Ta có kế hoạch vận chuyển, hay còn gọi là phương ánvận chuyển hàng hoá là một ma trận thực cấp 2 × 2, X = (xij) Khi đócước phí vận chuyển hàng hoá là

F (x) = x11+ 3x12 + 2x21 + 5x22

Trang 15

Ta phải tìm các xij sao cho F là nhỏ nhất Chú ý rằng xij ≥ 0 khôngđược giảm tùy ý, vì phải đảm bảo phải phát hết hàng ở các kho và cáccửa hàng phải nhận đủ số hàng theo nhu cầu Ta có:

Nhận xét 1.1 Các bài toán trên đều dẫn đến một mô hình chung làtìm nghiệm của hệ ràng buộc sao cho một hàm mục tiêu F (x) đạt maxhoặc min Đây chính là mô hình tổng quát của bài toán tối ưu

1.1.2 Bài toán quy hoạch tuyến tính

Bài toán quy hoạch tuyến tính có dạng tổng quát đầy đủ như sau:

Trang 16

trong đó F (x) gọi là hàm mục tiêu.

Một ràng buộc đẳng thức có thể thay thế bằng hai ràng buộc dạngbất đẳng thức, cụ thể là:

Trang 17

Định lý sau đây cho ta thấy phép biến đổi đó không làm thay đổibản chất của bài toán.

Định lý 1.1 Mỗi nghiệm X = (α1, α2, , αn) của bất phương trình:

Trang 18

Ví dụ 1.4 Đưa bài toán sau đây về dạng chính tắc:

x1, x2, x5, x6, x7, x8 ≥ 0Tiếp theo, do x3, x4 không có ràng buộc về dấu, nên ta đặt:

Trang 19

Trong thực tế, cần sử dụng hợp lý, linh hoạt các phép biến đổi ở trên

để số các biến số và các ràng buộc của bài toán là ít nhất Ta có mộtchú ý quan trọng sau đây:

Chú ý 1.1 Không giảm tính tổng quát, đối với bài toán quy hoạchtuyến tính dạng chính tắc, ta đặt một số giả thiết sau:

Trang 20

3 bi ≥ 0, (i = 1, 2, , m) Trong trường hợp ngược lại ta nhân hai vếcủa phương trình với −1;

4 Bài toán yêu cầu tìm cực tiểu min Nếu đề bài yêu cầu tìm cực đạimax thì ta chuyển về bài toán tìm cực tiểu min bằng phép biếnđổi:

max(F (x)) = − min(−F (x))

1.2 Bài toán vận tải

Giả sử có m kho hàng (gọi là các trạm phát) và n điểm tiêu thụ (gọi

là các trạm thu) Khả năng cung cấp hàng ở kho thứ i tương ứng là aiđơn vị, i = 1, 2, , m và nhu cầu tiêu thụ ở điểm thứ j là bj đơn vị,

j = 1, 2, , n (ai ≥ 0, bj ≥ 0) Cước phí vận chuyển một đơn vị hàng hoá

từ kho i đến điểm tiêu thụ j là cij VNĐ Giả thiết khả năng cung cấpbằng nhu cầu tiêu thụ

Cần phải lập kế hoạch vận chuyển hàng hoá từ kho thứ i đến điểmtiêu thụ j sao cho tổng chi phí là ít nhất, với điều kiện các kho phát hếthàng và điểm tiêu thụ nhận đủ số hàng hoá theo nhu cầu

Ký hiệu xij là số hàng cần vận chuyển từ điểm i đến điểm j (i =

1, 2, , m; j = 1, 2, , n; xij ≥ 0) Khi đó phương án vận chuyển hànghoá là một ma trận thực cấp m × n, X = (xij) và cước phí vận chuyểnhàng hoá là:

Bên cạnh đó ta còn phải chú ý khả năng cung cấp hàng hoá của kho

i, cũng như khả năng tiêu thụ hàng hóa của cửa hàng j, do đó các ràngbuộc về ẩn sẽ là:

Trang 21

Ta có mô hình toán học của bài toán vận tải là:

Chú ý 1.2 1 Mô hình này là một bài toán quy hoạch tuyến tính ở

dạng chính tắc nhưng có cấu trúc đặc biệt Mỗi ẩn có mặt tronghai phương trình của hệ ràng buộc và tất cả các hệ số của ẩn trong

Trang 22

1.3 Thuật toán phân phối giải bài toán vận

Ô (i, j) ứng với xij > 0 được gọi là ô chọn của phương án X

Một phương án mà các ô chọn không lập thành một chu trình gọi làmột phương án cơ sở (hay phương án cực biên)

Ký hiệu H là tập hợp các ô chọn của phương án cơ sở X, khi đó số

ô chọn không vượt quá m + n − 1 Trong trường hợp số ô đúng bằng

m + n − 1 thì phương án cơ sở gọi là không suy biến, nếu số ô nhỏ thua

m + n − 1 thì phương án cơ sở gọi là suy biến

Nếu phương án cơ sở là suy biến thì ta có thể bổ sung vào tập H thêmmột số ô suy biến với giá trị xij = 0 sao cho tập H có đúng m + n − 1 ô

và không chứa chu trình Ô chọn loại này gọi là ô chọn 0

Do vậy ta luôn có thể giả thiết phương án cơ sở X ứng với tập Hluôn có đúng m + n − 1 ô chọn và không chứa chu trình

Trang 23

1.3.2 Cơ sở lý luận của thuật toán

Định lý 1.2 Gọi C = (cij) là ma trận cước phí của bài toán vận tải(i = 1, 2, , m; j = 1, 2, , n) Nếu ta cộng vào mỗi phần tử của hàng imột số ri và cộng vào mỗi phần tử của cột j một số sj tùy ý, ta sẽ đượcmột bài toán vận tải mới, tương đương với bài toán vận tải ban đầu cócùng phương án tối ưu

Chứng minh Nếu thay C = (cij) bởi ma trận C0 = (cij+ ri+ sj) ta đượcbài toán vận tải mới chỉ khác bài toán ở hàm mục tiêu, còn tất cả cácràng buộc đều giống nhau Ta có:

Suy ra hàm mục tiêu của hai bài toán chỉ khác nhau đúng một hằng

số Do đó nếu X là nghiệm của bài toán ban đầu thì X cũng là nghiệmcủa bài toán mới và ngược lại

Trên cơ sở của Định lý 1.2 ta có thể tìm phương án tối ưu bằng cáchquy 0 ô chọn, tức là biến cước phí của các ô chọn trong một phương án

cơ sở thành 0 mà vẫn có được một bài toán tương đương Cụ thể nhưsau:

Giả sử X là một phương án cơ sở, H là tập hợp các ô chọn tươngứng gồm m + n − 1 ô chọn không chứa chu trình Với mỗi ô (i, j) ∈ H

ta chọn cặp số ri, sj sao cho:

c0ij = cij + ri + sj = 0,tức là ta phải giải hệ phương trình m + n ẩn ri, sj dạng:

cij + ri + sj = 0, (i, j) ∈ H, i = 1, 2, , m, j = 1, 2, , n (1.16)

Trang 24

Hệ phương trình (1.16) có m + n ẩn, nhưng chỉ có m + n − 1 phươngtrình độc lập với nhau, nên hệ nghiệm phụ thuộc đúng một tham số vàluôn luôn có vô số nghiệm Do đó ta sẽ chọn tham số đó bằng 0 để tínhnhanh các ẩn còn lại Việc giải hệ phương trình (1.16) gọi là quy 0 ôchọn.

Định lý 1.3 Giả sử X = (xij) là một phương án cơ sở với tập hợp các

ô chọn H và cij = 0 với (i, j) ∈ H

1 Nếu cij > 0 với mọi ô (i, j) /∈ H thì X là phương án tối ưu;

2 Nếu có ít nhất một số cij < 0 với ô (i, j) /∈ H thì X không làphương án tối ưu Khi đó ta có thể xây dựng được một phương án

cơ sở mới X0 tốt hơn phương án X

Chứng minh 1 Đặt z = F (c) Vì các cij = 0 với (i, j) ∈ H, nên:

Bắt đầu từ ô (io, jo) ta đánh số thứ tự từ số 1 cho chu trình V Khi

đó số các ô trên V chia thành hai lớp Ký hiệu Vc là tập hợp các ô chẵn,

Trang 25

Chú ý 1.3 Nếu phương án cơ sở X là không suy biến thì θo > 0, do

đó X0 thực sự tốt hơn X Nếu X suy biến thì θo có thể bằng 0, trongtrường hợp này X0 tốt bằng X Cả hai trường hợp X0 là phương án chấpnhận được

Định lý 1.3 xác định một dấu hiệu tối ưu của các phương án cơ sở và

đề ra một phương pháp, thuật toán để điều chỉnh phương án cơ sở chogần đến phương án tối ưu hơn

1.3.3 Thuật toán phân phối

Thuật toán phân phối tìm phương án tối ưu của bài toán vận tảigồm các bước sau:

Bước 1 Xây dựng phương án cơ sở ban đầu X với tập hợp H có

m + n − 1 ô chọn;

Bước 2 Quy 0 các ô chọn, xác định được các giá trị ri, sj; tính giátrị của cước phí giả c0ij = cij + ri+ sj ở các ô loại, kiểm tra dấu cước phígiả ở các ô loại

Nếu c0ij ≥ 0, (i, j) /∈ H, thì X là phương án tối ưu;

Nếu tồn tại ít nhất một số c0ij < 0, (i, j) /∈ H, thì ta thực hiện điềuchỉnh để xác định một phương án cơ sở mới X0 không xấu hơn X, trong

đó ô (io, jo) là một ô chọn trong phương án cơ sở mới X0;

Bước 3 Xác định ô đưa vào trong số các ô loại mà cước phí giả âm

có giá trị nhỏ nhất, giả sử đó là ô (i∗, j∗) Tìm ô đưa ra trong số các ôchọn thuộc H Xác định chu trình V gồm các ô chọn thuộc H và đi qua ô(i∗, j∗), ô (i∗, j∗) chia V thành tập đỉnh chẵn Vc và tập đỉnh lẻ Vl, trong

đó (i∗, j∗) ∈ Vl Ô đưa ra là ô (io, jo) mà có θo = min{xij, (i, j) ∈ Vc};Bước 4 Xây dựng phương án mới X0 = (x0ij) như sau:

Quay trở lại bước 2 để kiểm tra xem phương án X0 có phải là phương

án tối ưu hay không Quá trình sẽ dừng lại khi xác định được phương

án tối ưu Xopt

Trang 26

1.3.4 Vấn đề chọn phương án ban đầu

Có nhiều phương án tìm phương án cơ sở ban đầu Trong mục này tachỉ tìm hiểu phương án ưu tiên theo tiêu chuẩn có lợi nhất hay phương

án ưu tiên ô có cước phí nhỏ nhất Nội dung được mô tả dưới đây.Giả sử crk là có giá trị bé nhất trong ma trận cước phí C = (cij) Ta

sẽ ưu tiên phân phối vào ô này luợng hàng tối đa có thể được, tức là:

là bk − ar Ta lại tiếp tục thực hiện phân phối theo nguyên tắc trên đốivới phần còn lại cho đến hết

Trường hợp thứ hai được thực hiện tương tự Cột thứ k đã nhận đủ

số hàng theo nhu cầu, khả năng cung cấp hàng ở trạm phát r là ar− bk.Phương án được xây dựng như trên là không chứa chu trình, do đó

nó là một phương án cơ sở Trong trường hợp chưa đủ m + n − 1 ô chọnthì ta có thể thêm một số ô chọn 0 để được một phương án không suybiến

Trang 27

Vì c0ij ≥ 0, ∀(i, j) nên fmin = 730.

1.4 Các dạng khác của bài toán vận tải

1.4.1 Bài toán vận tải không cân bằng thu phát

Nếu a 6= b thì bài toán không có phương án Tuy nhiên thực tế khôngđòi hỏi phải chở hết hàng từ các trạm phát mới đáp ứng yêu cầu cáctrạm thu hay trái lại có thể lượng hàng ở các trạm phát không đáp ứngđược yêu cầu các trạm thu Khi đó ta thêm trạm thu giả am+1 hoặc trạmphát giả bn+1 bằng chênh lệch giữa tổng thu và tổng phát:

am+1 = b − a nếu a < bhoặc

bn+1 = a − b nếu a > bLượng hàng vận chuyển từ trạm phát ai đến trạm thu giả bn+1, nghĩa

là lượng hàng đó được giữ lại ai và lượng hàng chuyển từ trạm phát giả

am+1 đến trạm thu bj nghĩa là tại bj lượng hàng ấy không được thoảmãn

Tất nhiên cước phí các ô trên trạm giả bằng không

Cước phí ở các trạm giả bằng không, thường nhỏ nhất, nhưng vẫn

ưu tiên phân phối cho các ô có cước phí dương nhỏ nhất ở các ô khôngphải của trạm giả, cuối cùng hàng còn lại phân phối vào các ô của trạmgiả

Ví dụ 1.6 a = 120, b = 100 Thêm trạm thu giả với b4 = 20

Trang 29

1.4.2 Bài toán vận tải dạng cực đại

Xét bài toán vận tải dạng cực đại max

Trang 30

Ví dụ 1.7 Bài toán phân phối lao động: Một công ty vận tải biển cầntuyển 110 người để bố trí 10 người làm máy trưởng (MT), 25 thợ 1, 30thợ 2 và 45 thợ 3 Phòng Nhân sự tìm được 90 người gồm 25 kỹ sư (KS),

20 trung cấp (TC) và 45 công nhân (CN) Khả năng cán bộ được đánhgiá theo công việc qua bảng sau:

MT Thợ 1 Thợ 2 Thợ 3

Cần bố trí sao cho sử dụng tối đa năng lực của mọi người

Đây là bài toán vận tải dạng max không cân bằng thu phát Đưa vàotrạm phát giả: a4 = 110 − 90 = 20

Trang 31

c0ij ≥ 0 với mọi 1 ≤ i, j ≤ 4 Do đó, ta suy ra, đây là phương án tối

ưu và fmax = 400 Vậy có phương án phân phối lao động tối ưu như sau:

10 kỹ sư làm Máy trưởng;

Đặt xij = 1 nếu người i làm việc j; ngược lại đặt xij = 0 Bài toánnày còn gọi là bài toán quy hoạch nguyên 0 − 1 Bảng năng suất đượccho dưới đây:

Trang 32

Ta giải bài toán như sau:

c0ij ≤ 0 với mọi 1 ≤ i, j ≤ 5, nên ta có phương án tối ưu và fmax = 24

Bài toán xe rỗng ứng dụng thường xuyên trong thực tế, nên đượcxem là một dạng đặc biệt của bài toán vận tải

Ví dụ 1.9 Công ty vận tải cần hoàn thành hợp đồng chở hàng (bảng1.1) Hãy lập kế hoạch vận chuyển sao cho tổng số tấn xe rỗng ít nhất.Với cự ly các địa điểm như trong bảng 1.2

Trang 33

TT Hàng Cung Cầu Khối lượng

Cước phí là cự ly; nơi có hàng là trạm thu xe rỗng, nơi cần hàng làtrạm phát xe rỗng

Đây là bài toán vận tải cân bằng thu và phát dạng cực tiểu Ta giả

sử rằng A1, A2 là các trạm có nguồn xe vận tải đủ đáp ứng nhu cầu vậntải hàng hóa

Trang 35

c0ij ≥ 0 với mọi i, j, nên Fmin = 1404.

Bảng phân phối xe rỗng với tổng tấn×km xe rỗng ít nhất là:

1 A2 (24 xi măng) → B2 → A5 (24 muối) → B4 → A2

2 A2 (10 xi măng) → B3 → A5 (10 muối) → B4 → A2

3 A1 (42 than) → B1 → A4 (42 gạo) → B4 → A1

4 A1 (8 than) → B1 → A4 (8 gạo) → B5 → A3 (8 sắt) → B4 → A1

Trang 36

Kết luận: Chương 1 chủ yếu trình bày những kiến thức cơ bản nhất

về Bài toán vận tải - một dạng đặc biệt Bài toán Quy hoạch tuyến tính.Phương pháp giải Bài toán vận tải là Thuật toán phân phối với chiếnlược quy 0 ô chọn là phương pháp giải đơn giản và dễ sử dụng Nội dungcủa Bài toán vận tải cũng đề cập đến trường hợp bài toán vận tải khôngcân bằng mà để giải nó, ta sẽ chuyển sang bài toán vận tải cân bằngthông qua việc bổ sung thêm trạm thu giả hoặc trạm phát giả Việc giảibài toán vận tải tìm max cũng được giải quyết nhanh chóng nhờ đẳngthức max f = − min(−f )

Trang 37

Chương 2

GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG ĐỐI VỚI BÀI TOÁN VẬN TẢI

Nội dung của chương được tham khảo ở tài liệu [5], [6], [7], [8], [9]

2.1 Giới thiệu về Giải thuật di truyền

Trong công nghệ thông tin, Giải thuật di truyền (Genetic Algorithm– GA) là một thành phần của Tính toán tiến hóa (Evolutionary compu-tation – EC), một lĩnh vực được coi là có tốc độ phát triển nhanh củatrí tuệ nhân tạo Có thể chia EC thành 5 hướng nghiên cứu như sau:

- GA (Genetic Algorithm - GA): Dựa vào quá trình di truyền trong

tự nhiên để cải tiến lời giải qua các thế hệ bắt nguồn từ một tập các lờigiải ban đầu

- Quy hoạch tiến hoá (Evolutionary Programming - EP): Dựa vàoquy luật tiến hoá, tìm phương pháp kết hợp đủ khả năng giải quyết trọnvẹn một bài toán từ một lớp các phương pháp giải quyết được một sốphần của bài toán

- Các chiến lược tiến hoá (Evolutionary Strategies - ES): Dựa trênmột số chiến lược ban đầu, tiến hoá để tạo ra những chiến lược mới phùhợp với môi trường thực tế một cách tốt nhất

- Lập trình di truyền (Genetic Programming - GP): Mở rộng GAtrong lĩnh vực các chương trình của máy tính Mục đích của nó là đểsinh ra một cách tự động các chương trình máy tính giải quyết một cáchtối ưu một vấn đề cụ thể

- Các hệ thống phân loại (Classifier Systems - CS): Các GA đặcbiệt được dùng trong việc học máy và việc phát hiện các quy tắc trongcác hệ dựa trên các quy tắc

Trang 38

GA cũng như các thuật toán tiến hoá đều được hình thành dựa trênmột quan niệm được coi là một tiên đề phù hợp với thực tế khách quan.

Đó là quan niệm "Quá trình tiến hoá tự nhiên là quá trình hoàn hảonhất, hợp lý nhất và tự nó đã mang tính tối ưu" Quá trình tiến hoá thểhiện tính tối ưu ở chỗ thế hệ sau bao giờ cũng tốt hơn thế hệ trước

Sự hình thành và phát triển của GA trên thế giới có thể được điểmqua các mốc thời gian quan trọng như sau:

Năm 1960, ý tưởng đầu tiên về Tính toán tiến hoá được berg giới thiệu trong công trình “Evolution Strategies” (Các chiến lượctiến hoá) Ý tưởng này sau đó được nhiều nhà nghiên cứu phát triển.Năm 1975, Giải thuật gen do John Holland phát minh và đượcphát triển bởi ông cùng với các đồng nghiệp và những sinh viên Cuốnsách "Adaption in Natural and Artificial Systems" (Sự thích nghi trongcác hệ tự nhiên và nhân tạo) đã tổng hợp các kết quả của quá trìnhnghiên cứu và phát triển đó

Rechen-Năm 1992, John Koza đã dùng GA để xây dựng các chương trìnhgiải quyết một số bài toán và gọi phương pháp này là “Lập trình gen”.Ngày nay GA càng trở nên quan trọng, đặc biệt là trong lĩnh vựctối ưu hoá, một lĩnh vực có nhiều bài toán thú vị, được ứng dụng nhiềutrong thực tiễn nhưng thường khó và chưa có giải thuật hiệu quả để giải

2.2 Các khái niệm cơ bản

2.2.2 Quần thể

Quần thể là một tập hợp các cá thể có cùng một số đặc điểm nàođấy Trong GA ta quan niệm quần thể là một tập các lời giải của mộtbài toán

Trang 39

2.2.3 Chọn lọc (Selection)

Trong tự nhiên, quá trình chọn lọc và đấu tranh sinh tồn đã làmthay đổi các cá thể trong quần thể Những cá thể tốt, thích nghi đượcvới điều kiện sống thì có khả năng đấu tranh lớn hơn, do đó có thể tồntại và sinh sản Các cá thể không thích nghi được với điều kiện sống thìdần mất đi Dựa vào nguyên lý của quá trình chọn lọc và đấu tranh sinhtồn trong tự nhiên, chọn lựa các cá thể trong GA chính là cách chọn các

cá thể có độ thích nghi tốt để đưa vào thế hệ tiếp theo hoặc để cho laighép, với mục đích là sinh ra các cá thể mới tốt hơn Có nhiều cách đểlựa chọn nhưng cuối cùng đều nhằm đáp ứng mục tiêu là các cá thể tốt

sẽ có khả năng được chọn cao hơn

2.2.4 Lai ghép (Crossover)

Lai ghép trong tự nhiên là sự kết hợp các tính trạng của bố mẹ đểsinh ra thế hệ con Trong GA, lai ghép được coi là một sự tổ hợp lại cáctính chất (thành phần) trong hai lời giải cha mẹ nào đó để sinh ra mộtlời giải mới mà có đặc tính mong muốn là tốt hơn thế hệ cha mẹ Đây

là một quá trình xảy ra chủ yếu trong GA

2.2.5 Đột biến (Mutation)

Đột biến là sự biến đổi tại một (hay một số) gen của NST ban đầu

để tạo ra một NST mới Đột biến có xác suất xảy ra thấp hơn lai ghép.Đột biến có thể tạo ra một cá thể mới tốt hơn hoặc xấu hơn cá thể banđầu Tuy nhiên trong GA thì ta luôn muốn tạo ra những phép đột biếncho phép cải thiện lời giải qua từng thế hệ

2.3 Mô hình GA

Với các khái niệm được giới thiệu ở trên, GA được mô tả bởi sơ đồtheo hình 2.1 sau đây:

Trang 40

Hình 2.1: Sơ đồ mô tả GA

1 Xác lập các tham số ban đầu của bài toán

2 Khởi tạo: Sinh ngẫu nhiên một quần thể gồm n cá thể (là n lờigiải ban đầu của bài toán)

3 Xác lập quần thể mới: tạo quần thể mới bằng cách lặp lại các bướcsau cho đến khi quần thể mới hoàn thành, bao gồm:

3.1 Tính độ thích nghi của mỗi cá thể

3.2 Kiểm tra điều kiện kết thúc giải thuật

3.3 Chọn lọc các cá thể bố mẹ từ quần thể cũ theo độ thích nghicủa chúng (cá thể có độ thích nghi càng cao thì càng có nhiều khả năngđược chọn)

3.4 Tiến hành lai ghép các cặp bố-mẹ với một xác suất lai ghépđược chọn để tạo ra một cá thể mới

3.5 Tiến hành đột biến với xác suất đột biến được chọn xác định

cá thể đột biến

4 Kiểm tra điều kiện dừng: Nếu điều kiện được thỏa mãn thì thuậttoán kết thúc và trả về lời giải tốt nhất chính là quần thể hiện tại

Ngày đăng: 21/03/2016, 14:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w