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

Ứng dụng giải thuật di truyền vào tối ưu chi phí, thời gian và nhân vật lực

131 40 0

Đ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 131
Dung lượng 3,15 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Luận văn này sẽ đề xuất một phương pháp để giải bài toán tối ưu chi phí, thời gian và nhân vật lực đó là ứng dụng giải thuật di truyền vào việc tìm kiếm các phương án lập tiến độ sao cho

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học: TS Đinh Công Tịnh

Trang 3

TP.HCM, ngày tháng năm 2008

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Ngày tháng năm sinh: 10/5/1982 Nơi sinh: Hà Nội

Chuyên ngành: Công nghệ và quản lý xây dựng MSHV: 00806176

1 TÊN ĐỀ TÀI:

ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO TỐI ƯU CHI PHÍ, THỜI

GIAN VÀ NHÂN VẬT LỰC

2 NHIỆM VỤ VÀ NỘI DUNG:

Chương 1: Giới thiệu

Chương 2: Tổng quan

Chương 3: Phương pháp nghiên cứu

Chương 4: Mô hình hóa bài toán

Chương 5: Giới thiệu chương trình và ví dụ minh họa

Chương 6: Kết luận và kiến nghị

3 NGÀY GIAO NHIỆM VỤ: 16/7/2007

4 NGÀY HOÀN THÀNH NHIỆM VỤ: 30/6/2008

5 HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS ĐINH CÔNG TỊNH

Nội dung và đề cương luận văn thạc sĩ đã được hội đồng chuyên ngành thông qua

Trang 4

LỜI CẢM ƠN !

Luận văn tốt nghiệp là thành quả cuối cùng thể hiện những nỗ lực và cố gắng của học viên cao học trong suốt quá trình học tập vừa qua Để có được ngày hôm nay, cho phép em bày tỏ lòng cảm ơn chân thành đến toàn thể các thầy cô giáo Trường ĐH Bách Khoa Tp HCM, đặc biệt là các thầy cô khoa xây dựng và bộ môn thi công Trong suốt thời gian qua các thầy cô đã tận tình giúp đỡ, truyền đạt cho em những kiến thức quý báu, giúp em mở rộng thêm tầm hiểu biết nhằm bắt kịp với xu thế phát triển chung của đất nước và thế giới

Cho em gửi lời cảm ơn đến TS Đinh Công Tịnh, người thầy đã tận tâm chỉ bảo, hướng dẫn em trong quá trình làm luận văn để em có thể hoàn thành luận văn Những ý kiến đóng góp, hướng dẫn của thầy là rất quan trọng góp phần thành công cho luận văn này

Xin gửi lời biết ơn đến bố mẹ, những người thân trong gia đình và các bạn bè của tôi đã luôn động viên, cổ vũ tinh thần giúp tôi vượt qua những khó khăn trong suốt quá trình học tập, làm việc và hoàn thành luận văn này

Xin cảm ơn tất cả mọi người!

Tp Hồ Chí Minh, tháng 6 năm 2008

Đỗ Ngọc Khánh

Trang 5

TÓM TẮT

Các doanh nghiệp hoạt động trong lĩnh vực xây dựng đều hướng đến một mục tiêu là lợi nhuận Để đạt lợi nhuận cao thì họ phải đề ra phương án thi công sao cho tiết kiệm chi phí nhưng vẫn phải đáp ứng yêu cầu về tiến độ của chủ đầu tư đồng thời phải phù hợp với năng lực thi công của họ Luận văn này sẽ đề xuất một phương pháp để giải bài toán tối ưu chi phí, thời gian và nhân vật lực đó là ứng dụng giải thuật di truyền vào việc tìm kiếm các phương án lập tiến độ sao cho chi phí là cực tiểu, thời gian thi công của dự án là nhỏ nhất và đạt được biểu

đồ phân phối nhân vật lực là hợp lý Đồng thời đưa ra nhiều phương án kế hoạch giúp ta có nhiều sự lựa chọn phương án nào là phù hợp với người sử dụng nhất

ABSTRACT

All of the company, operate in contruction field, have a target profit In order to high profit, they must propose the project scheduling, which save cost and satisfy the investor’s progress of project but at the same time it is suitable to their ability This thesis presents a new method to solve the time-cost tradeoff optimal problem with recource-constrained Genetic algorithm model for resource scheduling It search the scheduling so that minimize cost-time of project and distribute resource suitably At the same time the algorithm presents many project scheduling so that we have many choice of the scheduling which is the best siutablity

Trang 6

MỤC LỤC

Trang

Trang bìa

Nhiệm vụ

Lời cảm ơn

Tóm tắt nội dung luận văn

Mục lục

1 Chương 1: Giới thiệu 1

1.1 Giới thiệu 1

1.2 Đặt vấn đề 1

1.3 Mục tiêu nghiên cứu 3

1.4 Phạm nghiên cứu 3

1.5 Phương pháp nghiên cứu 4

2 Chương 2: Tổng quan 5

2.1 Quản lý dự án 5

2.1.1 Khái niệm về dự án xây dựng 5

2.1.2 Mục tiêu của quản lý dự án 5

2.1.3 Nội dung của công tác quản lý dự án 6

2.1.3.1 Quản lý quy mô dự án 6

2.1.3.2 Quản lý tiến độ dự án 6

2.1.3.3 Quản lý chi phí dự án 7

2.1.3.4 Quản lý chất lượng dự án 7

2.1.3.5 Quản lý nguồn nhân lực dự án 7

2.1.3.6 Quản lý thông tin dự án 7

2.1.3.7 Quản lý rủi ro dự án 7

2.1.3.8 Quản lý cung ứng dự án 8

2.2 Quản lý tiến độ của dự án 8

2.2.1 Khái niệm về tiến độ xây dựng 8

2.2.2 Các bước lập tiến độ 9

Trang 7

2.3 Tổng quan về những phương pháp nghiên cứu về quản lý xây dựng 12

2.3.1 Phương pháp quy hoạch toán học 12

2.3.2 Phương pháp mô phỏng 13

2.3.3 Thuật giải Heuristics 15

2.3.4 Giải thuật di truyền 17

3 Chương 3: Phương pháp nghiên cứu 20

3.1 Lý thuyết giải thuật di truyền 20

3.1.1 Giới thiệu 20

3.2 Cơ chế thực hiện của giải thuật di truyền 25

3.2.1 Mã hóa (Encoding) 25

3.2.2 Hàm thích nghi (fitness funtion) 26

3.3.3 Chọn lọc cá thể (selection) 27

3.3.3.1 Chọn lọc theo quy tắc bánh xe Roulete (Roulete wheel selection) 27

3.3.3.2 Chọn lọc xếp hạng (Rank selection) 28

3.3.3.3 Chọn lọc cắt (Truncation selection) 29

3.3.4 Lai ghép (crossover) 29

3.3.4.1 Lai ghép một điểm (one point crossover) 30

3.3.4.2 Lai ghép nhiều điểm (multipoint crossover) 30

3.3.4.3 Lai ghép đều (uniform crossover) 31

3.3.5 Đột biến (Mutation) 32

3.3.5.1 Đột biến một điểm 32

3.3.5.2 Đột biến nhiều điểm 33

3.2 Lý thuyết sơ đồ mạng 33

3.2.1 Sơ đồ mạng trên nút (PDM) 33

3.2.1.1 Thể hiện sơ đồ mạng nút 34

3.2.1.2 Đường găng, ý nghĩa của đường găng 35

3.2.1.3 Toán học và ứng dụng máy tính trong việc tính toán sơ đồ mạng 35

3.2.2 Sơ đồ mạng và kinh phí 36

3.2.2.1 Các loại phí thi công 36

3.2.2.2 Trực tiếp phí và thời gian 37

Trang 8

3.2.2 Sơ đồ mạng và nhân vật lực 39

3.2.2.1 Sắp xếp công việc theo thời gian và nhân vật lực 39

3.2.2.2 Quy tắc ưu tiên 40

4 Chương 4: Mô hình hóa bài toán 42

4.1 Đặt vấn đề 42

4.1.1 Giới thiệu 42

4.1.2 Phát biểu bài toán 43

4.1.3 Yêu cầu của bài toán 43

4.2 Mô hình hóa bài toán để giải quyết vấn đề 43

4.2.1 Cấu trúc của mô hình bài toán 43

4.2.2 Ứng dụng giải thuật di truyền để giải quyết bài toán 44

4.2.2.1 Thành lập cấu trúc gen 44

4.2.2.2 Hàm mục tiêu 45

4.2.2.3 Các điều kiện ràng buộc 46

4.2.2.4 Cơ chế thực hiện của Gas 48

4.2.2.5 Phân phối nhân vật lực hợp lý 56

5 Chương 5 Giới thiệu chương trình và các ví dụ minh họa 59

5.1 Giới thiệu chương trình và hướng dẫn sử dụng 59

5.2 Ví dụ minh họa 64

5.2.1 Ví dụ 1 64

5.2.2 Ví dụ 2: áp dụng cho công trình thực tế 69

5.3 Nhận xét tính khả thi của chương trình 77

6 Chương 6: Kết luận và kiến nghị 78

6.1 Kết luận 78

6.2 Kiến nghị 79

Tài liệu tham khảo 80

Trang 9

CHƯƠNG 1 GIỚI THIỆU 1.1 GIỚI THIỆU

Những năm gần đây, ngành xây dựng đã có những bước phát triển rất mạnh mẽ Cùng với sự phát triển của nền kinh tế quốc dân, vị trí của ngành xây dựng trong sự nghiệp phát triển kinh tế xã hội ngày càng quan trọng Ngành xây dựng đã có bước phát triển vượt bậc về công nghệ hiện đại và cũng có những thay đổi về quản lý chi phí và tiến độ công trình

Quản lý dự án xây dựng bao gồm nhiều vấn đề cần phải quản lý như quản lý tiến độ, chất lượng, chi phí, nhân vật lực Trong bối cảnh nền kinh tế thị trường, sự cạnh tranh giữa các công ty xây dựng rất khốc liệt Các công ty xây dựng không còn chỉ thực hiện duy nhất một dạng công trình xây dựng Các công ty xây dựng dân dụng cũng có thể tham gia vào các công trình cầu đường, thủy lợi, điện … nếu có đủ điều kiện và năng lực hoạt động Chính sự cạnh tranh đó, các nhà thầu không ngừng phải cải tiến biện pháp thi công, cách thức quản lý để giảm chi phí, giảm thời gian thi công dựa trên năng lực hiện có mà vẫn đảm bảo chất lượng Điều này đòi hỏi phải có một công cụ trợ giúp các nhà thầu có thể tính toán được chi phí và thời gian thi công đáng tin cậy nhất Các dự án xây dựng thường được tiến hành dưới những điều kiện rủi ro khác nhau Điều này sẽ tác động cho việc ước lượng thời gian thực hiện công tác cũng như chi phí cho các công việc đó trong quá trình lập tiến độ Nếu có được các dữ liệu lưu trữ cho thời gian và chi phí cũng như nhân vật lực cho việc thực hiện các công tác sẽ giúp ích rất nhiều cho người lập tiến độ dự án

1.2 ĐẶT VẤN ĐỀ

Quản lý tiến độ và chi phí một dự án xây dựng phải được tiến hành trong

cả 3 giai đoạn: chuẩn bị đầu tư, thực hiện đầu tư và kết thúc đầu tư Trong đó việc quản lý tiến độ và chi phí trong giai đoạn thi công xây dựng công trình là

Trang 10

quan trọng hơn cả, vì giai đoạn thi công xây dựng công trình là giai đoạn tập trung lớn nhất vốn đầu tư dự án Để quản lý tốt cần phải giám sát cả hai giai đoạn: thiết kế tiến độ và thực thi tiến độ

+ Thiết kế tiến độ: do nhà thầu thực hiện, hoặc có thể thuê tổ chức tư vấn thực hiện, dựa trên năng lực thực tế của nhà thầu và các đặc điểm công trình bên cạnh đó họ còn lên dự toán ước lượng chi phí thực hiện công trình và đưa vào giá dự thầu Về phía chủ đầu tư, họ thường thuê tư vấn để phân tích đánh giá hồ sơ dự thầu, có quan tâm đến giá dự thầu và tính khả thi của tiến độ

để thương thảo với nhà thầu khi chấp nhận thầu Một khi tiến độ và giá gói thầu đã được nhà thầu và chủ đầu tư ký trong hợp đồng thì tiến độ đó sẽ mang tính pháp luật, sẽ bị ràng buộc về các điều kiện thưởng phạt cho việc hoàn thành tiến độ

+ Thực thi tiến độ: việc thi công ở công trường sẽ được tiến hành theo tiến độ Tuy nhiên thời gian hoàn thành các công việc có thể xoay quanh thời gian dự kiến (< , =, > ) Điều đó bắt buộc người quản lý phải luôn điều khiển tiến độ sao cho thời gian hoàn thành không bị chậm trễ kéo dài

Mô hình quản lý tiến độ hiện nay là: có sự tham gia của tư vấn giám sát, chủ đầu tư (bên mua), nhà thầu (bên bán) Một mặt nhà thầu phải thành lập

“Nhóm tiến độ” để tự chịu trách nhiệm Mặt khác nhóm “Tư vấn giám sát tiến độ” do chủ đầu tư ủy nhiệm sẽ tham gia tích cực vào quá trình quản lý tiến độ trong suốt quá trình thi công

Trong công tác quản lý tiến độ thi công tối ưu nói chung, đặc biệt trong vấn đề tối ưu hóa tiến độ mạng thì những bài toán về phân phối các dạng nhân tài vật lực trong mô hình mạng xác định, và điều khiển tiến độ mạng trong quá trình thực hiện là những bài toán thường gặp nhất, có ý nghĩa thực tế nhất trong điều kiện kinh tế thị trường hiện nay, nó rất phức tạp về mặt lý thuyết và cách

áp dụng vào thực tiễn

Trang 11

Trong giai đoạn hiện nay khi mà giá cả vật tư tăng đột biến, rất nhiều nhà thầu đã phải ngừng thi công hay vẫn thi công nhưng chấp lỗ để hoàn thành

dự án thì việc quản lý chi phí được đặt lên hàng đầu Mục tiêu của các đơn vị thi công luôn là đặt được lợi nhuận tối đa điều đó cũng đồng nghĩa với việc phải quản lý chi phí rất chặt chẽ Tuy nhiên không phải vì để tiết kiệm chi phí

mà các nhà thầu xem nhẹ tiến độ dự án Việc phải đáp ứng cùng lúc nhiều yêu cầu về tối ưu chi phí, tiến độ trong khả năng nhân vật lực bị giới hạn của mình đặt ra một vấn đề lớn mà có rất nhiều nhà nghiên cứu, nhà quản lý, nhiều đề tài khoa học đã đề cập và đưa ra các phương pháp giải quyết khác nhau

Luận văn này sẽ đề xuất một phương pháp đó là ứng dụng giải thuật di truyền vào việc tìm kiếm các phương án lập tiến độ sao cho chi phí là cực tiểu, thời gian thi công của dự án là nhỏ nhất và đạt được biểu đồ phân phối nhân vật lực là hợp lý nhất đối với nhà thầu thi công

1.3 MỤC TIÊU NGHIÊN CỨU

Nghiên cứu này nhằm cung cấp cho các nhà quản lý dự án xây dựng những phương án thực hiện dự án sao cho chi phí thực hiện dự án là nhỏ nhất với thời gian hoàn thành là ngắn nhất trong điều kiện giới hạn về nhân vật lực của nhà thầu Để làm được điều này thì những mục tiêu sau sẽ được nghiên cứu:

1 Tổng quan về tình hình nghiên cứu bài toán cực tiểu chi phí, thời gian

và nhân vật lực trên thế giới và ở Việt Nam

2 Ứng dụng giải thuật di truyền để tìm kiếm giải pháp tối ưu hoặc gần tối

ưu với hàm mục tiêu là cực tiểu chi phí của dự án

3 Xây dựng một chương trình tin học dựa trên mô hình giải thuật ở trên để giải quyết bài toán cực tiểu chi phí, thời gian với giới hạn về nhân vật lực

1.4 PHẠM VI NGHIÊN CỨU

Trang 12

Phạm vi nghiên cứu của luận văn là cách giải quyết các bài toán xuất phát từ quan điểm của người lập kế hoạch và thực hiện tiến độ thi công dự án của nhà thầu thi công Giải quyết bài toán tiến độ mạng trong đó xem xét đồng thời ba nhân tố về chi phí, thời gian hoàn thành dự án và nhân vật lực

Giới hạn nghiên cứu là trong giai đoạn lập kế hoạch và thực hiện tiến độ thi công Mối quan hệ giữa thời gian và chi phí, giữa thời gian và nhân vật lực

là rời rạc

1.5 PHƯƠNG PHÁP NGHIÊN CỨU

- Phương pháp nghiên cứu cơ bản được áp dụng trong luận văn này là phương pháp tiến độ theo sơ đồ mạng kết hợp với giải thuật di truyền

- Sử dụng ngôn ngữ lập trình C# để mô hình hóa giải thuật thành một phần mềm tối ưu hóa

- Sử dụng dự án thực tế để kiểm tra tính khả thi của chương trình

- So sánh để đưa ra kết luận và kiến nghị

Trang 13

Chất lượng Chất lượng Chất lượng

Chất lượng

CHƯƠNG 2 TỔNG QUAN 2.1 QUẢN LÝ DỰ ÁN

2.1.1 Khái niệm về dự án xây dựng

Dự án là một nhóm các công việc được thực hiện theo một quy trình nhất định để đạt được mục tiêu đề ra, có thời điểm bắt đầu và kết thúc được ấn định trước, và sử dụng tài nguyên có giới hạn Dự án xây dựng là tập hợp những đề xuất có liên quan đến việc bỏ vốn để tạo mới, mở rộng hay cải tạo những công trình xây dựng Một dự án nói chung hay một dự án xây dựng xây dựng nói riêng gồm có ba thành tố: quy mô, kinh phí và thời gian Ba thành tố này phải được xác định rõ ràng

- Quy mô thể hiện khối lượng và chất lượng của công việc được thực hiện

- Kinh phí là chi phí thực hiện công việc tính bằng tiền

- Thời gian thể hiện trình tự trước sau thực hiện các công việc và thời gian hoàn thành dự án

Hình 2.1: Chất lượng luôn liên quan đế quy mô, kinh phí và thời gian của dự án

2.1.2 Mục tiêu của quản lý dự án:

Bất cứ một dự án xây dựng nào cũng bao gồm ba mục tiêu: chất lượng thời gian - chi phí Một dự án thành công khi thỏa các yêu cầu sau:

- Dự án hoàn thành trong thời hạn quy định (Within Time)

- Dự án hoàn thành trong chi phí cho phép (Within Cost)

Quy mô

Trang 14

- Đạt được chất lượng mong muốn (Design Performance)

- Sử dụng nguồn lực được giao một cách:

+ Hiệu quả (Effective)

+ Hữu hiệu (Efficiency)

Hình 2.2: Tam giác mục tiêu của dự án

2.1.3.Nội dung của công tác quản lý dự án:

Theo Đinh Công Tịnh (Bài giảng cao học ngành CNQLXD - 2006) 2.1.3.1 Quản lý quy mô dự án

- Giấy phép

- Hoạch định quy mô dự án

- Định nghĩa quy mô dự án

- Kiểm soát sự thay đổi của quy mô

- Kiểm tra quy mô

2.1.3.2 Quản lý tiến độ dự án

- Xác định các công tác

Trang 15

- Hoạch định tài nguyên

- Ước lượng chi phí

- Thiết lập ngân sách cho dự án

- Kiểm soát chi phí

- Tuyển mộ nhân viên

- Thành lập và duy trì Ban QLDA

2.1.3.6 Quản lý thông tin dự án

- Hoạch định thông tin

- Phân phối thông tin

- Báo cáo tiến trình

- Kết thúc quản lý

2.1.3.7 Quản lý rủi ro dự án

Trang 16

2.2.1 Khái niệm về tiến độ xây dựng

Bản chất của tiến độ xây dựng là kế hoạch thời gian thi công xây dựng của dự án xây dựng

Theo tài liệu của Nguyễn Đình Thám: tiến độ thi công là tài liệu thiết

kế, được lập trên cơ sở biện pháp tổ chức thi công đã xác định nhằm ấn định các yêu cầu sau:

- Trình tự tiến hành các công tác

- Quan hệ ràng buộc giữa chúng với nhau

- Thời gian hoàn thành từng hạng mục và toàn bộ công trình

- Nhu cầu về nhân vật lực cần thiết cho thi công tại những thời điểm nhất định

Theo TS.Ngô Quang Tường (Bài giảng cao học ngành CNQLXD - 2006)

Trang 17

- Tiến độ là thời gian hoàn thành được nói rõ trong hợp đồng hay thời gian hoàn thành tạm thời được yêu cầu cho các giai đoạn công việc

- Tiến độ là các quá trình liên tục, các giai đoạn thực hiện riêng lẻ đối với việc hoàn thành dự án

- Tiến độ xây dựng là bảng kế hoạch công việc xây dựng diễn ra trong từng đơn vị thời gian

- Tiến độ thi công là mô hình khoa học mà mô hình này được gắn liền với trục thời gian theo niên lịch

2.2.2 Các bước lập tiến độ:

Để tiến độ lập chính xác và khả thi, người lập tiến độ nên thực hiện theo mười bước sau: theo Lưu Trường Văn (Bài giảng cao học ngành CNQLXD- 2005)

1) Xác lập các mục tiêu của dự án

2) Thiết lập cơ cấu phân chia công việc (Work Breakdown Structure - WBS)

3) Tạo ra danh sách các công tác

4) Nhận dạng mối quan hệ giữa các công tác

5) Xác định các yêu cầu về nguồn lực và kiểm tra sự có sẵn của chúng 6) Xác định thời gian hoàn thành của từng công tác

7) Thiết lập tiến độ của dự án

8) Hiệu chỉnh tiến độ của dự án

9) Chú ý đến các công tác găng (Critical Activities)

10) Thực hiện theo tiến độ đã lập

2.2.3 Các dạng tiến độ

Có bốn loại tiến độ:

Trang 18

- Sơ đồ thanh ngang (sơ đồ Gantt)

- Tiến độ xiên - dây chuyền

nó đơn giản, dễ dùng và không cần có mối quan hệ qua lại giữa các công tác Một công tác trong tiến độ ngang thay đổi thì sẽ không tự động làm thay đổi những công tác tiếp sau Tiến độ ngang cũng không hợp nhất chi phí với thời gian, hay thể hiện tài nguyên, ví dụ như : giờ công mà những giá trị này thì rất quan trọng cho công tác quản lý thiết kế Một số kỹ sư thiết kế chỉ ra rằng họ không thể xác định được mối quan hệ qua lại giữa các công tác trong tiến độ thiết kế Họ dùng lý lẽ này để ủng hộ cho việc sử dụng tiến độ ngang Họ cũng cho rằng tài nguyên thì thay đổi liên tục trong một dự án thiết kế, điều này làm cho rất khó thực hiện theo tiến độ Dù vậy, nếu điều này có xảy ra đối với một

dự án thì thường là do dự án này không được lập kế hoạch, điều hành và kiểm soát tốt

Trang 19

Để khắc phục những nhược điểm trên, khi xây dựng các công trình phức tạp, quy mô lớn, người ta dùng sơ đồ mạng để lập tiến độ thi công Sơ đồ mạng coi dự án là một tập hợp các công việc có liên quan với nhau, được trình diễn dưới dạng đồ thị, gồm các nút và các cung để chỉ mối liên quan giữa các công việc Phân tích sơ đồ mạng người ta có thể xác định được những công việc nào nếu bị trì hoãn thì sẽ ảnh hưởng đến thời gian hoàn thành toàn bộ dự

án Sơ đồ mạng là tên chung của nhiều phương pháp như: phương pháp đường găng CPM (Critical Path Method), phương pháp “kiểm tra và đánh giá dự án” PERT (Program Evaluation and Review Technique), phương pháp sơ đồ mạng công việc MPM (Metra Potential Method)

Phương pháp đường găng CPM (Critical Path Method) là một đồ thị trình bày kế hoạch của dự án được phát triển trong những năm 1957 - 1958 bởi công ty Dupont và Remington Rand Phương pháp CPM giả thiết rằng thời gian của các công việc được xác định chính xác và bất biến trong quá trình thực hiện dự án

Một phương pháp tương tự như phương pháp CPM, đó là sơ đồ mạng PERT (Program Evaluation and Review Technique), một phương thức lập tiến

độ theo lý thuyết ngẫu nhiên được sáng lập năm 1957 với Booz, Allen và Hamington Management, trong đó thời gian hoàn thành mỗi công tác được cho dưới dạng hàm phân phối xác suất Phương pháp này được dùng chủ yếu trong công nghiệp sản xuất, nó có thể được dùng để đánh giá rủi ro cho những dự án không chắc chắn

Hai phương pháp CPM và PERT cơ bản là giống nhau về hình thức, về trình tự lập mạng, chỉ khác một điểm là: thời gian trong CPM là một đại lượng xác định, có thể tính toán được từ các định mức lao động, còn thời gian trong PERT không xác định, không có định mức để tính toán, mà phải ước lượng, vì vậy mang nhiều yếu tố ngẫu nhiên Do đó khi tính toán các thông số thời gian của CPM và PERT có khác nhau Trong thực tế việc rút ngắn thời gian chỉ có ý

Trang 20

nghĩa nếu đồng thời xét đến yếu tố chi phí Vì vậy, bài toán thời gian và chi phí

là một mục tiêu mà các nhà lập kế hoạch xây dựng phải nghiên cứu giải quyết

2.3 TỔNG QUAN VỀ NHỮNG PHƯƠNG PHÁP NGHIÊN CỨU VỀ QUẢN LÝ XÂY DỰNG

2.3.1 Phương pháp quy hoạch toán học

Phương pháp quy hoạch toán học biến đổi bài toán cực tiểu hóa về thời gian và chi phí dự án thành mô hình toán học và sử dụng các phương pháp như: quy hoạch tuyến tính, quy hoạch số nguyên hoặc quy hoạch động để giải Kelly (1961) thiết lập công thức để giải bài toán cực tiểu về thời gian và chi phí bằng cách giả thiết mối quan hệ giữa thời gian và chi phí công tác là tuyến tính Au (1989) and Pagnoni (1990) cũng sử dụng phương pháp quy hoạch tuyến tính để giải bài toán trên Nhưng phương pháp quy hoạch tuyến chỉ thích hợp với những bài toán trong đó mối quan hệ giữa thời gian và chi phí công tác

là tuyến tính, không phù hợp để giải bài toán trong đó quan hệ giữa thời gian

và chi phí là rời rạc Patterson and Huber (1974) sử dụng phương pháp quy hoạch số nguyên hỗn hợp để giải bài toán cực tiểu về thời gian và chi phí khi quan hệ giữa thời gian và chi phí công tác là tuyến tính và rời rạc Tuy nhiên, phương pháp quy hoạch số nguyên yêu cầu một số lượng giới hạn các phép tính Khi số lượng công tác quá nhiều hay sơ đồ mạng quá phức tạp thì phương pháp này tỏ ra không khả thi Burns (1996) sử dụng phương pháp lai: dùng quy hoạch tuyến tính để tìm ra đường cong tối ưu về thời gian và chi phí dự án gần với đường cong tối ưu nhất, sau đó sử dụng quy hoạch số nguyên để tìm giải pháp chính xác cho bất kỳ thời gian hoàn thành nào của dự án

Robinson (1975), De (1995) dùng phương pháp quy hoạch động để giải bài toán cực tiểu về thời gian và chi phí dự án

Tóm lại, phương pháp quy hoạch tuyến tính và quy hoạch động là hai phương pháp được sử dụng phổ biến nhất để giải quyết bài toán cực tiểu hóa về

Trang 21

thời gian - chi phí dự án xác định Trong những phương pháp này, mối quan hệ giữa thời gian và chi phí của công tác được giả định là:

- Tuyến tính hay phi tuyến

- Đường cong lõm hay lồi

- Rời rạc hay liên tục

Nhận xét: phương pháp quy hoạch toán học yêu cầu một số lượng giới hạn các phép tính toán nên chỉ áp dụng thích hợp cho những dự án có quy mô nhỏ

2.3.2 Phương pháp mô phỏng

Các nhà quản lý rất quan tâm đến bài toán tiến độ bất định vì nó phù hợp với thực tế hơn Mô hình tiến độ bất định cổ điển: PERT và mô phỏng Monte Carlo được sử dụng rất rộng rãi trong thực hành Ang , Ahuja và Arunachalam, Padila và Carr, và nhiều tác giả khác đã phát triển mô hình tiến

độ bất định để cực tiểu thời gian hoàn thành dự án và chi phí tương ứng, nhưng phần lớn những mô hình này đều dựa trên lý thuyết xác suất thống kê Những

mô hình này cho ra kết quả khá tốt cho những dự án có quy mô lớn nhưng không đảm bảo đó là giải pháp tối ưu Chẳng hạn, trong sơ đồ mạng xác suất PERT thì thời gian ước tính của mỗi công tác tuân theo quy luật phân phối bêta với ba khoảng ước lượng: thời gian thuận lợi - a, thời gian bất lợi - b và thời gian bình thường - m

Sau đó tính thời gian kỳ vọng của mỗi công tác Tij = (a + 4m + b)/6 Bài toán tiến độ bất định trở thành xác định và ta có thể áp dụng phương pháp CPM để tính thời gian và chi phí của dự án Thông qua các quá trình tính toán cho thấy phương pháp PERT có các nhược điểm sau:

- Chỉ chú ý đến một đường găng được xác định từ thời gian kỳ vọng (Tij ) của các công tác Tuy nhiên trên thực tế do thời gian biến động nên sẽ có những đường găng khác

Trang 22

- Phương sai hoàn thành dự án (σij)2 được tính toán trên cơ sở giả thiết các công việc trên đường găng là độc lập nhau Trong khi trên thực tế các công việc này có thể phụ thuộc nhau do tính chất yêu cầu công việc Do đó kết quả lời giải sẽ khác so với thực tế

Để khắc phục những nhược điểm của phương pháp PERT các nhà nghiên cứu đưa ra giải pháp dùng phương pháp mô phỏng Monte-Carlo Thực chất của mô phỏng Monte-Carlo là việc tổ hợp các kết cục bộ phận, đã được lựa chọn một cách ngẫu nhiên của các biến ngẫu nhiên để có một kết quả thực nghiệm của đại lượng tổng hợp cần phân tích Quá trình đó được lặp lại nhiều lần để có một tập hợp đủ lớn các kết quả thực nghiệm Cuối cùng xử lí thống

kê để có các đặc trưng thống kê của đại lượng tổng hợp Vì vậy thời gian hoàn thành dự án là một hàm phân phối xác suất Việc tính toán chi phí dự án ứng với mỗi trường hợp thời gian hoàn thành dự án khác nhau thì dùng phương pháp quy hoạch tuyến tính Tuy nhiên khi số lượng công tác lớn (>100 công tác) thì khối lượng tính toán quá lớn Hơn nữa nếu dùng phương pháp mô phỏng Monte-Carlo thì chỉ cho kết quả tốt nhưng không đảm bảo là tối ưu

Để khắc phục các nhược điểm của phương pháp PERT và mô phỏng Monte-Carlo, các nhà nghiên cứu đã đề nghị dùng tập mờ (fuzzy set) để mô phỏng thời gian công tác Các nhà nghiên cứu đã khẳng định rằng sử dụng lý thuyết tập mờ để mô phỏng thời gian thực hiện công tác là thích hợp nhất Do thiếu thông tin về công tác mà thời gian thực hiện các công tác sẽ được xác định dựa trên kinh nghiệm của các chuyên gia Tuy nhiên, các chuyên gia này

sẽ rất khó khăn để đưa ra một sự ước lượng chính xác cho thời gian thực hiện công tác vì sự xuất hiện của các yếu tố rủi ro và bất định Do đó để diễn đạt về thời gian của các công tác, các chuyên gia này thường sử dụng các thuật ngữ ngôn ngữ như: “ xấp xỉ”, “hơn hay ít”, “khoảng” Các thuật ngữ này đã dẫn tới

sự xuất hiện của mức độ bất định và do đó dẫn đến một khoảng giá trị có thể có hơn là một giá trị đơn điểm xác định Hơn nữa, với việc diễn đạt của các chuyên gia như: “nằm hợp lí trong khoảng 5 và 10 ngày, nhưng có thể xảy nhất

Trang 23

trong khoảng 7 hay 8 ngày”, đã chỉ ra rằng các chuyên gia này không chỉ không tin cậy vào hai khoảng ước lượng mà còn có một mức độ tin tưởng khác nhau cho mỗi khoảng ước lượng Những sai khác về ngôn ngữ này có thể được

mô phỏng tốt nhất bằng lý thuyết tập mờ thay vì lý thuyết xác suất Ayyub và Haldar, Wang, Wu và Hadipriono và nhiều tác giả khác đã đề xuất mô hình tiến độ mờ dưới các điều kiện không chắc chắn Những mô hình tiến độ bất định này chỉ quan tâm đến sự biến động về thời gian công tác và cao hơn nữa

là có xét đến sự ràng buộc về nguồn lực Rất hiếm có mô hình tiến độ bất định nào để giải quyết bài toán tối ưu về thời gian - chi phí công tác

2.3.3 Thuật giải Heuristics

Nhiều hoạt động của con người trong thực tiễn, từ những tính toán trong các nghiên cứu khoa học – kỹ thuật, những công việc xử lý dữ liệu cho các bài toán lớn trong quản lý kinh tế - xã hội, cho đến những hoạt động đơn giản như giải đáp câu đố, chơi cờ, đều đòi hỏi sự tham gia của trí tuệ Máy tính trở thành công cụ đắc lực ngày càng giúp con người trong việc xử lý thông tin

và không những vậy, còn có khả năng giải quyết được các nhiệm vụ ở mức độ trí tuệ ngày càng cao Theo một định nghĩa nào đó, máy tính đã được trang bị trí tuệ tính toán Trong một số lĩnh vực đặc biệt, trí tuệ tính toán của máy tính

có thể đã vượt qua khả năng của con người Ngược lại, với một số bài toán con người giải quyết khá đơn giản thì đối với máy tính, để làm được điều đó đòi hỏi phải có hoạt động tính toán ở mức độ cao, thậm chí không thể giải quyết được ở trình độ kỹ thuật điện tử và phần mềm hiện đại

Nền tảng của Trí tuệ tính toán – Computational Intelligent (còn có thể gọi là tính toán mềm – soft computing) là tìm kiếm lời giải Tìm kiếm là liệt kê một tập các lời giải từng phần có triển vọng, có tiềm năng với bài toán, nhờ đó

có thể kiểm tra liệu chúng có thực sự là lời giải cho vấn đề này hay không

Trong lĩnh vực trí tuệ tính toán, người ta thường tin rằng con người có thể dùng khả năng tư duy trực quan của mình để tìm ra được lời giải cho những bài toán phức tạp Tuy nhiên con người lại không có khuynh hướng giải bài

Trang 24

toán tổng quát có khối lượng lớn Nhật xét này gợi ý rằng những chương trình máy tính cần phải tận dụng được sự hiểu biết của con người trong các trường hợp đặc biệt để hướng việc tìm kiếm đến những lời giải tốt Tri thức này gọi là tri thức bổ sung ngoài không gian tìm kiếm gọi là tri thức Heuristics

Một vấn đề phức tạp cũng thường gặp trong quá trình duyệt và tìm kiếm lời giải trong không gian tìm kiếm là những trở ngại cho sự bùng nổ tổ hợp không thể khắc phục được Trong bối cảnh đó, các kỹ thuật tìm kiếm dạng heuristics (theo tư duy trực quan kinh nghiệm của con người) là bộ phận quan trọng trong các hệ thống trí tuệ tính toán, cho phép sử dụng các tri thức đặc biệt của riêng lĩnh vực được đề cập đến trong bài toán để tìm ra những phương cách có hiệu quả và nhanh chóng đi đến lời giải, tránh được khả năng bùng nổ

tổ hợp đã nêu ở trên

Các quy tắc heuristics – các phương pháp heuristics, được định nghĩa theo Feigenbaum Feldman là: các quy tắc, chiến lược, nghệ thuật giải hay một phương cách nào đó nhằm giảm khối lượng tìm kiếm lời giải trong không gian bài toán cực lớn

David Poole thì cho rằng “heuristics là một phương tiện thông tin nhanh chóng cho một quá trình tìm kiếm lời giải biết chiều hướng dẫn đến lời giải đích Nó cung cấp một cách thức để phỏng đoán lân cận nào của một điểm trong không gian tìm kiếm sẽ có thể dẫn đến điểm lời giải đích”

Theo Benjamin W Wah thì các thuật giải heuristics là thuật giải theo kinh nghiệm do con người chỉ định “rules of thumb” Theo đó thì heuristics là một tiến trình có thể giải quyết vấn đề bằng kinh nghiệm chủ quan của các chuyên gia trong lĩnh vực và nó không đảm bảo được sự tối ưu

Vậy các dấu hiệu đặc trưng của bài toán cho phép nhanh chóng xác định lời giải hay gọi là các heuristics, và các quy tắc sử dụng heuristics gọi là các quy tắc heuristics

Trang 25

Nhiều bài toán trong thực tế, nếu chấp nhận kết quả gần đúng thì có thể tồn tại nhiều cách giải đỡ phức tạp và hiệu quả hơn đó là các thuật giải theo kiểu heuristics, các thuật giải này là những cách giải đơn giản, độc đáo thường cho kết quả là đúng hoặc gần đúng Các cách giải này không phải lúc nào cũng dẫn đến hiệu quả cao nhất nhưng do tính đơn giản và khả năng thành công cao cho nên xét về mặt hiệu quả toàn cục vẫn có một vai trò quan trọng trong hoạt động sáng tạo giải quyết vấn đề của chúng ta Các Heuristics được con người

sử dụng thường mang đặc trưng của lời khuyên, nên khác với thuật toán xác định luôn luôn chính xác khác

Đôi khi các phương pháp giải quyết vấn đề heuristics không phải lúc nào cũng mang lại thành công và có thể một bộ heuristics này không phù hợp với quá trình tìm kiếm lời giải, trong khi đó nếu sử dụng một bộ các heuristics khác thì lại đưa đến thành công

Các heuristics tác động đến hướng tìm kiếm trong không gian bài toán

và xử lý cạnh tranh Đối với những bài toán phức tạp, số khả năng cần tìm kiếm có thể lớn đến nỗi không thể có một máy tính nào dẫu hiện đại đến đâu

có thể đáp ứng nổi Vì vậy, thủ tục tìm kiếm theo kiểu vét cạn cho các vấn đề phức tạp như vậy là không thể chấp nhận được Tuy nhiên, quá trình tìm kiếmheuristics chưa hẳn đã từng cho kết quả mong muốn Do đó cần phải áp dụng những kỹ thuật quay ngược hiệu quả trong không gian bài toán

Các đặc tính quan trọng của thuật giải Heuristics: có 2 đặc tính như sau:

- Thường tìm được lời giải tốt mặc dù không phải là lời giải tốt nhất (lời giải tối ưu)

- Thực hiện dễ dàng và nhanh chóng hơn nhiều so với thuật toán xác định nghiệm tối ưu chính xác (chẳng hạn như phương pháp vét cạn)

2.3.4 Giải thuật di truyền

Thuật giải genetic (di truyền) là thuật giải tìm kiếm trên cơ chế chọn lọc và di truyền tự nhiên, do đó những từ ngữ dùng trong thuật giải được lấy từ

Trang 26

sinh học Lý thuyết và thực tế đã chứng minh tính hiệu quả và độ tin cậy của thuật toán genetic đối với các không gian bài toán phức tạp Ý tưởng về thuật toán genetic do giáo sư John Holland phát triển và đã được dùng để giải các bài toán tối ưu trong nhiều lĩnh vực như kỹ thuật, kinh tế, y học …

Theo L.P.Alvarez, thuật giải di truyền (do Holland đề xuất) là một kỹ thuật máy học (learning machine) bắt chước quá trình của sự tiến hóa trong tự nhiên, nó sử dụng một cách tìm kiếm song song, trực tiếp và ngẫu nhiên dựa trên những quy luật di truyền của quần thể nhân tạo để giải quyết vấn đề đặt ra

GA là kỹ thuật rất thích nghi cho việc tìm kiếm giải pháp tối ưu khi chúng ta có quá nhiều giải pháp nhưng không có giá trị, hay vấn đề quá phức tạp không biết cách nào giải quyết GA được Kenneth de Jong đánh giá là kỹ thuật tìm kiếm lời giải cho những vấn đề phức tạp tốt nhất hiện nay

Thuật giải di truyền là kỹ thuật giúp giải quyết vấn đề bắt chước theo

sự tiến hóa của sinh vật, trong điều kiện quy định sẵn của môi trường Phương tiện để thực hiện cách giải quyết vấn đề này là các chương trình tin học gồm các bước phải thi hành, từ việc chọn giải pháp tiêu biểu cho vấn đề, cho đến việc chọn các hàm số thích nghi cũng như các phương pháp tiến hóa để tạo cho giải pháp ngày càng thích nghi hơn Như vậy GA không chú trọng đến giải pháp duy nhất và chính xác như các phương pháp tìm kiếm cổ điển ( ta sẽ nhắc lại ở các phần sau), trái lại GA xét đến toàn bộ các giải pháp và lựa chọn lấy giải pháp tương đối tốt nhất nếu không nói là tối ưu

GA mạnh hơn các thuật giải tìm kiếm khác rất nhiều vì nhiều tính chất, nhưng khác biệt quan trọng nhất của GA và các kỹ thuật tìm kiếm khác là GA

là một thuật giải tìm kiếm theo chùm (tức GA duy trì và và xử lý một tập các lời giải mà ta gọi là quần thể) – tất cả các phương pháp khác chỉ xử lý một điểm trong không gian tìm kiếm

GA tuy dựa trên tính ngẫu nhiên nhưng có hướng dẫn bởi hàm số thích nghi, GA không phải là thuật toán ngẫu nhiên đơn giản, GA khai thác hiệu quả

Trang 27

thông tin tiền sử chứa trong các chuỗi mã hóa để khám phá những điểm tìm kiếm mới nhằm cải thiện cơ hội đạt đến một giải pháp Có một số bài toán yêu cầu tìm kiếm tối ưu toàn cục với không gian tìm kiếm lớn và không thể kiểm soát được Việc tìm kiếm trong toàn bộ không gian như thế, để có giải pháp tối

ưu một cách chắc chắn sẽ tốn thời gian và lãng phí tài nguyên tính toán đôi khi không thể thực hiện được GA được sử dụng đặc biệt cho những bài toán này nhờ khả năng duyệt qua không gian tìm kiếm đại diện mà không thực sự đi qua từng điểm của toàn bộ không gian Chúng sử dụng thông tin thu thập được trong một phần bất kỳ của không gian để hướng việc tìm kiếm tới những vùng hứa hẹn hơn có khả năng dẫn đến giải pháp tối ưu Do đó, không có nghĩa là

“đoán mò” như nhiều người lầm tưởng, trái lại GA có một nền tảng toán học rất vững chắc

Trang 28

CHƯƠNG 3 PHƯƠNG PHÁP NGHIÊN CỨU 3.1 LÝ THUYẾT GIẢI THUẬT DI TRUYỀN

3.1.1 Giới thiệu

Với khả năng hiện nay, máy tính đã giúp giải được rất nhiều bài toán khó mà trước kia thường không thể giải được bằng tay Mặc dù vậy , vẫn còn một số lớn các bài toán rất thú vị nhưng chưa có thuật giải hợp lý để giải chúng Trong số đó, các bài toán tối ưu là những bài toán thường xuyên gặp phải trong các ứng dụng thực tiễn

Trong thực tiễn, có nhiều bài toán tối ưu quan trọng đòi hỏi những thuật

giải chất lượng cao Ví dụ, ta có thể áp dụng phương pháp mô phỏng luyện

thép để giải bài toán tìm đường đi ngắn nhất cho xe cứu hỏa, hay bài toán người du lịch … Cũng có nhiều bài toán tối ưu tổ hợp có thể được giải gần đúng trên máy tính hiện đại bằng kỹ thuật Monte Carlo

Nói chung, bài toán tối ưu có thể được xem như bài toán tìm kiếm giải pháp tốt nhất trong không gian vô cùng lớn các giải pháp Khi không gian tìm kiếm nhỏ, các phương pháp cổ điển như trên cũng đủ thích hợp, nhưng khi không gian lớn cần phải dùng đến những kỹ thuật trí tuệ nhân tạo đặc biệt Thuật giải di truyền (GA) là một trong những kỹ thuật đó GA là một loại thuật giải mô phỏng các hiện tượng tự nhiên: kế thừa và đấu tranh sinh tồn để cải tiến lời giải và khảo sát không gian lời giải Khái niệm kế thừa và đấu tranh sinh tồn được giải thích qua thí dụ về sự tiến hóa của một quần thể nhỏ như sau:

Có một quần thể thỏ Trong số đó có một số con nhanh nhẹn và thông minh hơn những con khác Những chú thỏ nhanh nhẹn và thông minh có xác suất bị chồn cáo ăn thịt nhỏ hơn, do đó chúng tồn tại để làm những gì tốt nhất

có thể: tạo thêm nhiều thỏ tốt Dĩ nhiên, một số thỏ chậm chạp, đần độn cũng

Trang 29

sống chỉ vì may mắn Quần thể những chú thỏ còn sống sót sẽ bắt đầu sinh sản Việc sinh sản này sẽ tạo ra một hỗn hợp tốt về “nguyên liệu di truyền thỏ” Một số thỏ chậm chạp có con với những con thỏ nhanh, một số thỏ nhanh với thỏ nhanh, một số thỏ thông minh với thỏ đần độn vv … Và trên tất cả, thiên nhiên thỉnh thoảng lại ném vào một con thỏ “hoang dã” bằng cách làm đột biến nguyên liệu di truyền thỏ Những chú thỏ con do kết quả này, sẽ nhanh hơn và thông minh hơn những con trong quần thể gốc vì có nhiều bố mẹ nhanh nhẹn

và thông minh hơn đã thoát chết khỏi chồn cáo (Thật hay là những con chồn cũng trải qua những tiến trình tương tự, nếu không những con thỏ sẽ trở nên nhanh và thông minh hơn đến nỗi những con chồn không thể bắt chúng được )

Khi tìm hiểu lời giải tối ưu, thuật giải di truyền cũng thực hiện các bước tương ứng với câu chuyện đấu tranh sinh tồn của loài thỏ

Thuật giải di truyền sử dụng các thuật ngữ vay mượn của di truyền học

Ta có thể nói về các cá thể (hay kiểu gen, cấu trúc), trong một quần thể, những

cá thể này cũng còn được gọi là chuỗi hay các nhiễm sắc thể Điều này có thể gây chút lẫn lộn: mỗi tế bào của một cơ thể của một chủng loại đã cho, mang một số những nhiễm sắc thể nào đó (thí dụ: người có 46 nhiễm sắc thể) nhưng trong thuật giải di truyền, ta chỉ nói về những cá thể có một nhiễm sắc Các nhiễm sắc thể được tạo thành từ các đơn vị - các gen - biểu diễn trong một chuỗi tuyến tính; mỗi gen kiểm soát một hay một số đặc trưng Gen với những đặc trưng nhất định có vị trí nhất định trong nhiễm sắc thể Bất cứ đặc trưng nào của mỗi cá thể có thể tự biểu hiện một cách phân biệt; và gen có thể nhận một số giá trị khác nhau (các giá trị về tính năng)

Mỗi kiểu (nhóm) gen (ta gọi là một nhiễm sắc thể) sẽ biểu diễn một lời giải của bài toán đang giải (ý nghĩa của một nhiễm sắc thể cụ thể được người

sử dụng xác định trước) Một tiến trình tiến hóa được thực hiện trên một quần thể các nhiễm sắc thể tương ứng với một quá trình tìm kiếm lời giải trong không gian lời giải Tìm kiếm đó cần cân đối hai mục tiêu có vẻ mâu thuẫn

Trang 30

nhau) : khai thác những lời giải tốt nhất và khảo sát những không gian tìm

kiếm Leo đồi là một thí dụ về chiến lược cho phép khai thác và cải thiện lời

giải tốt nhất hiện hành, nhưng leo đồi lại bỏ qua việc khảo sát không gian tìm

kiếm Ngược lại tìm kiếm ngẫu nhiên là một thí dụ điển hình của chiến lược

khảo sát không gian tìm kiếm mà không chú ý đến việc khai thác những vùng đầy hứa hẹn của không gian Thuật giải di truyền (GA) là phương pháp tìm kiếm (độc lập miền) tạo được sự cân đối đáng kể giữa việc khai thác và khảo sát không gian tìm kiếm

Thực ra GA thuộc lớp các thuật giải xác suất, nhưng lại rất khác những thuật giải ngẫu nhiên vì chúng kết hợp các phần tử tìm kiếm trực tiếp và ngẫu nhiên Khác biệt quan trọng giữa tìm kiếm của GA và các phương pháp tìm kiếm khác là GA duy trì và xử lý một tập các lời giải (ta gọi là một quần thể) tất cả những phương pháp khác chỉ xử lý một điểm trong không gian tìm kiếm Chính vì thế GA mạnh hơn các phương pháp tìm kiếm hiện có rất nhiều

Đơn cử, ta so sánh GA với hai phương pháp tìm kiếm hiện được sử dụng rộng rãi: Leo đồi và Mô phỏng luyện thép

Phương pháp leo đồi dùng kỹ thuật lặp và áp dụng cho một điểm duy nhất (điểm hiện hành trong không gian tìm kiếm) Trong mỗi bước lặp, một điểm mới được chọn từ lân cận của điểm hiện hành (vì thế leo đồi còn được gọi là phương pháp tìm kiếm lân cận hay tìm kiếm cục bộ) Nếu điểm mới cho giá trị (của hàm mục tiêu) tốt hơn, điểm mới sẽ trở thành điểm hiện hành Nếu không, một lân cận khác sẽ được chọn và thử Quá trình trên sẽ dừng nếu không cải thiện thêm được cho lời giải hiện hành

Rõ ràng là phương pháp leo đồi chỉ cung cấp các giá trị tối ưu cục bộ và những giá trị này phụ thuộc rất nhiều vào điểm khởi đầu Hơn nữa, không có thông tin sẵn có về sai số tương đối (thỏa tối ưu toàn cục) của lời giải tìm được

Trang 31

Để tăng cơ hội thành công, phương pháp leo đồi thường được thực hiện nhiều lần, mỗi lần với một điểm khởi đầu khác nhau (những điểm này không cần chọn ngẫu nhiên, một tập hợp các điểm khởi đầu của một lần thực thi phụ thuộc vào kết quả của những lần chạy trước đó)

Kỹ thuật mô phỏng luyện thép là một kỹ thuật khắc phục những bất lợi của phương pháp leo đồi: lời giải không còn tùy thuộc nhiều vào điểm khởi đầu nữa và thường là gần với điểm tối ưu Đạt được điều này là nhờ đưa vào xác suất nhận p Xác suất p là hàm theo giá trị của hàm mục tiêu đối với điểm hiện hành và điểm mới, và một tham số điều khiển bổ sung, tham số “nhiệt độ”

T Nói chung, nhiệt độ T càng thấp thì cơ hội nhận điểm mới càng nhỏ Khi thực hiện thuật giải, nhiệt độ T của hệ thống sẽ được hạ thấp dần theo từng bước Thuật giải dừng khi T nhỏ hơn một ngưỡng cho trước, với ngưỡng này thì gần như không còn thay đổi nào được chấp nhận nữa

Như đã đề cập, GA thực hiện tiến trình tìm kiếm lời giải tối ưu theo nhiều hướng, bằng cách duy trì một quần thể các lời giải, và thúc đẩy sự thành hình và trao đổi thông tin giữa các hướng này Quần thể trải qua tiến trình tiến hóa: ở mỗi thế hệ lại tái sinh các lời giải tương đối “tốt”, trong khi các lời giải tương đối “xấu” thì chết đi Để phân biệt các lời giải khác nhau, hàm mục tiêu được dùng để đóng vai trò môi trường

Cấu trúc của một thuật giải di truyền đơn giản tương tự với cấu trúc của bất kỳ chương trình tiến hóa nào Ở bước lặp t, thuật giải di truyền duy trì một quần thể các lời giải (các nhiễm sắc thể, các véc tơ) Mỗi lời giải được lượng giá để biết được độ thích nghi của nó Rồi một quần thể mới (lần lặp thứ t + 1) được hình thành bằng cách chọn giữ lại những cá thể thích nghi nhất Một số

cá thể của quần thể này trải qua những biến đổi nhờ lai tạo (phép lai ghép) và đột biến (phép đột biến), hình thành nên những lời giải mới Phép lai ghép kết hợp các tính chất của hai nhiễm sắc thể ‘cha’ và ‘mẹ’ để tạo ra các nhiễm sắc

Trang 32

thể ‘con’ bằng cách hoán vị các đoạn gen tương ứng của cha và mẹ Phép lai cho phép trao đổi thông tin giữa các lời giải

Khác với phép lai, phép đột biến thay đổi một cách ngẫu nhiên một hay nhiều gen của nhiễm sắc thể được chọn, thay đổi này được thực hiện với một xác suất thể hiện tốc độ đột biến Phép đột biến cho phép đưa thêm các thông tin mới vào quần thể làm cho chất liệu di truyền phong phú thêm

Một thuật giải di truyền (hay một chương trình tiến hóa bất kỳ) giải một bài toán cụ thể phải gồm năm thành phần sau đây :

• Cách biểu diễn di truyền cho lời giải của bài toán

• Cách khởi tạo quần thể ban đầu

• Một hàm lượng giá đóng vai trò môi trường, đánh giá các lời giải theo mức độ thích nghi của chúng

• Các phép toán di truyền

• Các tham số khác (kích thước quần thể, xác suất áp dụng các phép toán di truyền vv…)

Trang 33

Thực hiện các toán tử

di truyền

để phát sinh quần thể mới

no

Hình 3.1: Sơ đồ cấu trúc tổng quát của thuật giải di truyền (Pohlheim, 1994-1997) 3.2 Cơ chế thực hiện của giải thuật di truyền

3.2.1 Mã hóa (Encoding)

Trong lĩnh vực điều khiển ta thường tìm cực trị của hàm F(X) , trong đó X

= [x1, x2, x3… ] Mỗi lời giải của bài toán tìm cực trị được mã hóa thành một chuỗi NST, mỗi thông số xi sẽ được mã hóa thành một đoạn gien trên chuỗi NST Có 4 cách thường dùng để mã hóa bài toán này là:

Bắt đầu

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

Đánh giá hàm mục tiêu

Đạt được mục tiêu tối ưu

Cá thể tốt nhất

Kết quả

Chọn lọc Lai ghép Đột biến

Kết thúc Yes

Trang 34

3.2.2 Hàm thích nghi (fitness funtion)

Hàm thích nghi dùng để đánh giá các cá thể, cá thể nào có độ thích nghi tốt hơn sẽ tồn tại qua quá trình chọn lọc tự nhiên và có nhiều cơ hội để lai ghép

Trang 35

Thường hàm thích nghi chính là hàm cần tìm cực trị (hàm mục tiêu) hoặc biến đổi tương đương của hàm cần tìm cực trị

3.3.3 Chọn lọc cá thể (selection)

Mục đích của chọn lọc là tìm ra những NST tốt (độ thích nghi cao) Sau khi chọn lọc, ta được một quần thể mới gồm những cá thể tốt của quần thể trước đĩ

Cĩ nhiều phương pháp để chọn lọc cá thể: chọn lọc theo quy tắc bánh xe Roulete (Roulete wheel selection), chọn lọc xếp hạng (Rank selection), chọn lọc cắt…

3.3.3.1 Chọn lọc theo quy tắc bánh xe Roulete (Roulete wheel selection)

Các NST được chọn dựa vào độ thích nghi tương ứng NST tốt hơn sẽ cĩ nhiều cơ hội để lựa chọn hơn Tưởng tượng rằng ta chia bánh xe Roulete thành các rãnh để chứa tồn bộ các NST trong quần thể Độ lớn của rãnh tỷ lệ với giá trị của hàm thích nghi, giống như hình vẽ sau:

Hình 3.3: Chọn lọc theo quy tắc bánh xe Roulete Quá trình thực hiện như sau:

Tính độ thích nghi eval(vi) của mỗi nhiễm sắc thể vi (i=1 pop-size), với pop-size là kích thước của quần thể:

) ( ) (v i f v i

eval = với f(vi) là hàm mục tiêu

Tìm tổng giá trị thích nghi F cho tồn quần thể:

Trang 36

F= ∑

=

size pop

i

_ 1

eval(vi) Tính xác xuất chọn pi cho mỗi nhiễm sắc thể vi :

pi =

=

size pop

i

i

i

v eval

v eval

_ 1

) (

) (

Tính xác xuất tích luỹ qi cho mỗi nhiễm sắc thể vi :

Phát sinh 1 số ngẫu nhiên r trong khoảng [0,1 ]

Nếu r ≤ q1 thì chọn nhiễm sắc thể đầu tiên v1, ngược lại chọn nhiễm sắc thể

vi sao cho qi-1< r ≤ qi

3.3.3.2 Chọn lọc xếp hạng (Rank selection)

Chọn lọc theo quy tắc bánh xe Roulete sẽ gặp khó khăn khi giá trị của hàm thích nghi của các NST chênh lệch quá nhiều Thí dụ, nếu hàm thích nghi của NST tốt nhất chiếm 90% kích thước bánh xe Roulete thì những NST khác sẽ có cơ hội lựa chọn rất thấp

Lựa chọn xếp hạng: đầu tiên phân hạng quần thể các NST và sau đó mỗi NST sẽ nhận một giá trị hàm thích nghi theo sự phân hạng này NST tồi nhất sẽ nhận giá trị 1, NST tồi ít hơn sẽ nhận giá trị 2, …, cho đến NST tốt nhất sẽ nhận giá trị N (N: số lượng NST trong quần thể)

Quá trình thực hiện như sau:

Trang 37

Hình 3.4: phân bố của các NST trước khi xếp hạng

Hình 3.5: phân bố của các NST sau khi xếp hạng Sau khi thực hiện quá trình này, toàn bộ các NST sẽ có cơ hội được lựa chọn Tuy nhiên, phương pháp này sẽ dẫn đến khả năng hội tụ của bài toán chậm, bởi vì NST tốt nhất không khác quá nhiều so với những NST khác

Trang 38

• Phát sinh một số ngẫu nhiên r trong khoảng [0,1]

• Nếu r< Pc thì chọn NST đó để lai tạo

Nguyên tắc chung thực hiện phép lai ghép là bắt cặp ngẫu nhiên hai NST trong quần thể sau khi đã qua bước chọn lọc để tạo ra hai NST con, mỗi NST con thừa hưởng một phần gien của cha, một phần gien của mẹ

3.3.4.1 Lai ghép một điểm (one point crossover)

Lai ghép một điểm là chọn ngẫu nhiên một điểm trên NST bố (mẹ) và thay đổi phần bên phải của hai NST bố (mẹ) để tạo ra những NST con

2 1 7 8 6 4

3 5 8 1 36 5

2 1 7 1 36 5

3 5 8 8 6 4 Hình 3.6: Cơ chế lai ghép một điểm

3.3.4.2 Lai ghép nhiều điểm (multipoint crossover)

Trong phương pháp này thay vì chỉ chọn một điểm để lai ghép, ta chọn

m điểm lai ghép k1, k2 ,…, km , m điểm lai ghép này sẽ chia chuỗi nhiễm sắc thể của hai cá thể cha mẹ A, B thành m+1 đoạn Chuỗi nhiễm sắc thể của hai con sẽ được tạo ra bằng cách ghép các đoạn này của 2 nhiễm sắc thể A, B theo qui tắc: các đoạn ở vị trí lẻ được giữ nguyên, các đoạn ở vị trí chẵn sẽ được hoán chuyển với nhau

Trang 39

2 1 7 8 6 4 5 2 6 0 9

3 5 8 1 36 5 10 26 1 5 11

Hình 3.7: Cơ chế lai ghép nhiều điểm

3.3.4.3 Lai ghép đều (uniform crossover)

Lai ghép đều là phương pháp lai ghép tổng quát nhất Trong lai ghép đều ta sử dụng hai mặt nạ mA và mB để tạo ra hai chuỗi nhiễm sắc thể con A’

và B’ Hai mặt nạ này là một chuỗi số nhị phân có cùng chiều dài với A, B Mặt nạ này có thể được phát sinh một cách ngẫu nhiên khi tiến hành lai ghép hoặc kế thừa từ thế hệ trước Giá trị bit của mặt nạ sẽ quyết định thành phần gene nào của cá thể con sẽ được trích ra từ gene của cha mẹ Qui tắc này như sau:

Giá trị bit thứ i trong mặt nạ mX (X bằng A hoặc B) có giá trị 1 sẽ cho biết: gene thứ i trong chuỗi nhiễm sắc thể của cá thể con X’ được sao chép từ gene thứ i của cá thể cha mẹ A

Ngược lại, giá trị bit thứ i trong mặt nạ mX (X bằng A hoặc B) có giá trị

0 sẽ cho biết: gene thứ i trong chuỗi nhiễm sắc thể của cá thể con X’ sẽ được sao chép từ gene thứ i của cá thể cha mẹ B

Về nguyên tắc, mặt nạ mA và mB độc lập với nhau Tuy nhiên, trên thực tế, người ta thường dùng cặp mặt nạ đảo nhau, nghĩa là mA = NOT(mB)

Dễ nhận ra rằng lai ghép một điểm, lai ghép nhiều điểm là các trường hợp đặc

Trang 40

biệt của lai ghép đều Chẳng hạn như với lai ghép một điểm với vị trí lai ghép

là k, ta chỉ việc dùng mặt nạ mA có k-1 bit đầu là 1 và các bit còn lại là 0 và mặt nạ mB = NOT(mA) [16]

Quá trình đột biến được tiến hành như sau:

• Phát sinh một số ngẫu nhiên r trong khoảng [0,1]

• Nếu r< Pm thì hãy đột biến bit đó

3.3.5.1 Đột biến một điểm

Điểm đột biến được chọn ngẫu nhiên, giá trị gene tại điểm đột biến sẽ thay đổi ngẫu nhiên bằng giá trị bất kỳ trong bộ gene (khác với giá trị gene hiện tại) Nếu chuỗi nhiễm sắc thể được mã hóa nhị phân (bộ gene chỉ có hai

ký hiệu 0 và 1) thì hiện tượng đột biến làm đảo bit tại điểm đột biến

Ngày đăng: 15/02/2021, 17:36

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm