1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập lịch thanh toán dự án sử dụng mô hình cân bằng nash và thuật toán di truyền

69 525 2

Đ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 69
Dung lượng 1,31 MB

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

Nội dung

Xuất phát từ lý do đó mà mục đích của đồ án này là nghiên cứu ứng dụng của thuật toán di truyền và mô hình cân bằng Nash vào trong công tác lập lịch thanh toán dự án nhằm đưa ra những gi

Trang 1

MỤC LỤC

MỤC LỤC 1

LỜI CẢM ƠN 3

LỜI CAM ĐOAN 4

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

DANH MỤC HÌNH VẼ 6

DANH MỤC CÁC BẢNG 6

MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH CÂN BẰNG NASH TRONG LÝ THUYẾT TRÒ CHƠI VÀ THUẬT TOÁN DI TRUYỀN 3

1.1 Tổng quan về lập lịch thanh toán dự án 3

1.2 Lý thuyết trò chơi và cân bằng Nash 4

1.2.1 Giới thiệu lý thuyết trò chơi 4

1.2.2 Các loại trò chơi 4

1.2.3 Mô hình cân bằng Nash 5

1.3 Thuật toán di truyền 5

1.3.1 Khái niệm 5

1.3.2 Các toán tử di truyền 6

1.3.3 Các bước của thuật toán di truyền 7

1.4 Kết hợp thuật toán di truyền và cân bằng Nash 8

1.5 Tiểu kết chương 1 10

CHƯƠNG 2: XÂY DỰNG THUẬT TOÁN DI TRUYỀN VÀ CÂN BẰNG NASH TRONG LẬP LỊCH THANH TOÁN DỰ ÁN 11

2.1 Mô tả bài toán 11

2.2 Mô hình hóa trò chơi và cân bằng Nash trong lập lịch thanh toán 12

2.2.1 Mạng dự án 12

2.2.2 Cách thức mô hình hóa việc thanh toán dự án 13

2.2.3 Tối ưu hóa mục tiêu 17

2.3 Thuật toán di truyền và giải pháp cân bằng Nash 18

2.3.1 Mô hình chung của thiết kế thuật toán di truyền cho bài toán lập lịch thanh toán dự án 18

2.3.2 Thiết kế thuật toán di truyền cho chiến lược thứ nhất 23

2.3.3 Thiết kế thuật toán di truyền cho chiến lược thứ hai 25

2.4 Tiểu kết chương 2 28

CHƯƠNG 3: THỬ NGHIỆM THỰC TẾ VÀ ĐÁNH GIÁ 29

3.1 Kịch bản mô phỏng 29

3.2 Các tham số của thuật toán di truyền 29

3.3 Bộ dữ liệu đầu vào 29

3.4 Đánh giá kết quả 41

Trang 2

3.5 Tiểu kết chương 3 47

CHƯƠNG 4: KẾT LUẬN VÀ KIẾN NGHỊ 48

4.1 Kết luận 48

4.2 Kiến nghị 50

4.3 Hướng phát triển của đề tài 51

TÀI LIỆU THAM KHẢO 52

PHỤ LỤC 53

Trang 3

LỜI CẢM ƠN

Đầu tiên, tôi muốn gửi lời biết ơn chân thành tới PGS.TS Huỳnh Quyết Thắng, người trực tiếp hướng dẫn và tạo điều kiện cho tôi về thời gian, sự giúp đỡ tận tình về kiến thức, sự chỉ dẫn, định hướng và tài liệu tham khảo quý báu

Tiếp theo, tôi xin cảm ơn các thầy cô trong Viện Công nghệ thông tin và Truyền thông – Đại học Bách khoa Hà Nội đã giảng dạy, truyền đạt kiến thức cho tôi trong suốt thời gian qua

Tôi cũng xin cảm ơn anh Trịnh Bảo Ngọc đã tư vấn, giúp đỡ và hỗ trợ tôi trong quá trình thực hiện đề tài này

Xin cảm ơn gia đình, bạn bè đã chia sẻ, động viên tôi trong học tập và thời gian thực hiện nghiên cứu đề tài này

Trong luận văn này chắc chắn không tránh khỏi những chỗ thiếu sót, tôi mong nhận được những lời góp ý, chỉ bảo từ thầy cô để có thể hoàn thiện đề tài của mình tốt hơn

Hà Nội, ngày 19 tháng 04 năm 2016

Người thực hiện

Nguyễn Thị Thu Bích

Trang 4

LỜI CAM ĐOAN

Luận văn Thạc sĩ “Lập lịch thanh toán dự án sử dụng mô hình cân bằng

Nash và thuật toán di truyền”, chuyên ngành Kỹ thuật Máy tính là công trình của

cá nhân tôi Các nội dung nghiên cứu và kết quả trình bày trong luận văn là trung thực, rõ ràng Các tài liệu tham khảo, nội dung trích dẫn đã ghi rõ nguồn gốc

Ngày 19 tháng 04 năm 2016

Tác giả luận văn

Nguyễn Thị Thu Bích

Trang 5

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

STT Viết tắt Viết đầy đủ Chú thích

1 AOA Activity-On-Arrow Công việc trên mũi tên

2 AON Activity-On-Node Công việc trên nút

3 GA Genetic algorithm Thuật toán di truyền

4 NPV Net Presnet Value Giá trị hiện tại của dòng tiền thuần

5 NST Nhiễm sắc thể

Trang 6

DANH MỤC HÌNH VẼ

Hình 1.1: Sơ đồ cấu trúc thuật toán di truyền 8

Hình 1.2: Mô hình chiến thuật Nash GA 9

Hình 2.1: Mô hình mạng AON 13

Hình 2.2: Mô hình mạng AOA 13

Hình 2.3: Sự tương tác giữa nhà thầu và nhà đầu tư 14

Hình 3.1: Sơ đồ mạng dự án 1 30

Hình 3.2: Sơ đồ mạng dự án 2 35

Hình 3.3: Kết quả chạy chương trình của dự án 1 43

Hình 3.4: Kết quả chạy chương trình của dự án 2 46

DANH MỤC CÁC BẢNG Bảng 3.1: Mạng dự án 1 32

Bảng 3.2: Bảng thông số các hoạt động của mạng dự án 1 34

Bảng 3.3: Mạng dự án 2 38

Bảng 3.4: Bảng thông số các hoạt động của mạng dự án 2 41

Bảng 3.5: Lịch thanh toán ban đầu của dự án 1 42

Bảng 3.6: Lịch thanh toán tối ưu theo phần mềm của dự án 1 42

Bảng 3.7: Lịch thanh toán ban đầu của dự án 2 44

Bảng 3.8: Lịch thanh toán tối ưu theo phần mềm của dự án 2 45

Trang 7

sự bất đồng giữa chủ đầu tư và nhà thầu Do đó, quá trình ra quyết định trong lập kế hoạch thanh toán dự án đều phải đáp ứng yêu cầu của cả hai bên là chủ đầu tư và nhà thầu Thông thường, chủ đầu tư luôn mong muốn việc thanh toán tất cả khoản tiền cho dự án được thực hiện muộn nhất tức là khi dự án được hoàn thành, trong khi đó mong muốn từ phía nhà thầu lại ngược lại, họ muốn các khoản thanh toán nên thực hiện ngay từ đầu khi bắt đầu dự án Bởi vậy, để giải quyết vấn đề này cần phải có một phương án phù hợp nhất cho yêu cầu của cả hai bên, đảm bảo lợi ích cho cả nhà đầu tư và nhà thầu trong suốt quá trình thực hiện dự án Xuất phát từ lý

do đó mà mục đích của đồ án này là nghiên cứu ứng dụng của thuật toán di truyền

và mô hình cân bằng Nash vào trong công tác lập lịch thanh toán dự án nhằm đưa ra những giải pháp tối ưu trong công tác lập lịch và cân bằng lợi ích cho chủ đầu tư dự

án và nhà thầu mà họ mong muốn

2 Mục tiêu của đề tài

Đề tài tập trung nghiên cứu sử dụng mô hình cân bằng Nash và thuật toán di truyền trong lập lịch thanh toán dự án

Để đạt được mục tiêu trên, đề tài tập trung vào các nhiệm vụ cụ thể như sau:

- Nghiên cứu về lý thuyết trò chơi và mô hình cân bằng Nash;

- Nghiên cứu về thuật toán di truyền và sự kết hợp thuật toán di truyền và cân bằng Nash;

- Ứng dụng thuật toán di truyền và mô hình cân bằng Nash vào lập lịch thanh toán dự

án phần mềm và đánh giá các kết quả nhận được

3 Phạm vi nghiên cứu

Trang 8

2

Trong luận văn này tôi xin nghiên cứu đến các vấn đề sau:

- Cơ sở lý luận của lý thuyết trò chơi và mô hình cân bằng Nash;

- Tổng quan về thuật toán di truyền;

- Lập lịch thanh toán dự án sử dụng mô hình cân bằng Nash và thuật toán di truyền

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

a Phương pháp nghiên cứu lý thuyết:

- Nghiên cứu tổng quan về lý thuyết trò chơi và cân bằng Nash

- Tìm hiểu về thuật toán di truyền

- Sự kết hợp thuật toán di truyền và cân bằng Nash

b Phương pháp nghiên cứu thực nghiệm:

Ứng dụng mô hình cân bằng Nash và thuật toán di truyền vào lập lịch thanh toán dự

án phần mềm

5 Kết quả

Nghiên cứu ứng dụng từ việc kết hợp thuật toán di truyền cùng mô hình cân bằng Nash trong lý thuyết trò chơi vào việc tối ưu hóa lịch thanh toán dự án, đảm bảo cân bằng những yêu cầu của chủ đầu tư và nhà thầu

Xây dựng một mô hình thực nghiệm trong quản lý lập lịch thanh toán dự án, đưa ra những giải pháp tối ưu trong lịch trình thanh toán của dự án

6 Ý nghĩa khoa học và thực tiễn

Với sự kết hợp mô hình cân bằng Nash và thuật toán di truyền sẽ tối ưu hóa trong công việc lập lịch thanh toán dự án mà vẫn đảm bảo được lợi ích của chủ đầu tư và nhà thầu

7 Bố cục luận văn

Bố cục luận văn được chia làm 4 chương như sau:

Chương 1: Tổng quan về mô hình cân bằng Nash trong lý thuyết trò chơi và thuật toán

di truyền

Chương 2: Xây dựng thuật toán di truyền và cân bằng Nash trong lập lịch thanh toán dự

án

Chương 3: Thử nghiệm thực tế và đánh giá

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

Trang 9

3

CHƯƠNG 1: TỔNG QUAN VỀ MÔ HÌNH CÂN BẰNG NASH TRONG LÝ

THUYẾT TRÒ CHƠI VÀ THUẬT TOÁN DI TRUYỀN

1.1 Tổng quan về lập lịch thanh toán dự án

Lập lịch thanh toán dự án là một kế hoạch thanh toán chi tiết của một dự án

mà chủ đầu tư cần thực hiện Mục đích của việc lập lịch thanh toán là tạo ra một quy trình thanh toán tương ứng với mỗi công việc trong dự án đã hoàn thành Số lần thanh toán sẽ phụ thuộc vào quy mô của dự án, số lượng công việc cần thực hiện và những ưu đãi của chủ đầu tư đối với nhà thầu Mỗi giai đoạn thanh toán là phần trăm số tiền dự kiến đầu tư cần trả tương ứng với một hoặc một số các công việc cần hoàn thành hay chính là các mốc của dự án Việc thanh toán phải được tương đương với giá trị công việc hoàn thành Những giá trị các công việc này do chủ đầu

tư yêu cầu và được tóm tắt trong việc phân bổ ngân sách

Việc lập lịch thanh toán thường gặp khó khăn xuất phát từ sự bất đồng giữa chủ đầu tư và nhà thầu Các chủ đầu tư muốn thực hiện việc thanh toán vào cuối dự

án tức là khi bàn giao tất cả các công việc đã hoàn thành, nhưng nhà thầu lại muốn các khoản tiền đầu tư cần thanh toán ngay lúc đầu Vậy một lịch thanh toán phù hợp

là phải cân bằng cả hai nhu cầu trên và giữ cho công việc được thực hiện đúng tiến

độ Việc lập lịch thanh toán cần một lịch trình các công việc cụ thể hay là một tiến trình triển khai dự án và để tránh các xung đột trong việc lập lịch thanh toán thì tiến

độ thanh toán phải phản ánh sát giá trị thực tế của công việc hoàn thành

Đã có nhiều thuật toán được sử dụng để giải quyết bài toán lập lịch thanh toán như: thuật toán tham lam, các thuật toán heuristic, thuật toán tìm kiếm cục bộ, thuật toán Simulated Annealing, thuật toán Tabu Search, thuật toán di truyền…Tuy nhiên hầu hết các thuật toán đều có không gian tìm kiếm khá lớn Thuật toán di truyền có lợi ích là làm giảm không gian tìm kiếm, hội tụ về lời giải toàn cục và tối ưu đa mục tiêu trong bài toán lập lịch thanh toán

Một số bài báo nước ngoài đã nghiên cứu và cho thấy kết quả khả quan khi sử dụng cân bằng Nash và thuật toán di truyền như:

Trang 10

4

- "A Preference-Based Bi-Objective Approach to the Payment Scheduling Negotiation Problem with the Extended r-Dominance and NSGAII” của tác giả Wei-neng Chen và Jun Zhang

- "Nash genetic algorithms: examples and applications" của tác giả M Sefrioui J và J Periaux

- "Scheduling of activities to maximize the net present value of projects” của tác giả Yanf KK, Talbot FB, Patterson JH

1.2 Lý thuyết trò chơi và cân bằng Nash

1.2.1 Giới thiệu lý thuyết trò chơi

Lý thuyết trò chơi là một ngành chuyên nghiên cứu về việc đưa ra quyết định chiến lược Lý thuyết trò chơi được mô tả như một lý thuyết trong toán học, nghiên cứu tình huống trong đó người chơi sẽ hành động theo các cách khác nhau để tối ưu hóa lợi ích của mình Kết quả sẽ phụ thuộc vào quyết định của tất cả người chơi, trong đó mỗi người chơi sẽ cố gắng dự đoán sự lựa chọn của những người chơi còn lại để có thể đưa ra lựa chọn tốt nhất cho mình Một vấn đề quan trọng là lý thuyết trò chơi chính là phương pháp tiếp cận để đưa ra các quyết định nhằm giải quyết một vấn đề nào đó Điều này sẽ xác định xác suất thành công khi cho trước một không gian chiến lược

1.2.2 Các loại trò chơi

a Trò chơi có tổng bằng không và trò chơi có tổng khác không:

Trò chơi có tổng bằng không là trò chơi mà tổng điểm của các người chơi bằng không, số lợi ích của người này thu được bằng thiệt hại từ người chơi khác

Trò chơi có tổng khác không là loại trò chơi mà khi lợi ích của người chơi không nhất thiết thu được từ thiệt hại của người chơi khác hay lợi ích của người chơi này không nhất thiết phải tương ứng với thiệt hại của người chơi kia

b Trò chơi thông tin hoàn hảo và trò chơi thông tin không hoàn hảo:

Trò chơi thông tin hoàn hảo là trò chơi mà người chơi biết được tất cả các nước đi của đối thủ đã thực hiện và là bài toán con của trò chơi tuần tự

Trang 11

5

Trò chơi thông tin không hoàn hảo là trò chơi mà khi người chơi không biết đầy đủ thông tin về các nước đi của người chơi khác

1.2.3 Mô hình cân bằng Nash

Một trò chơi bao gồm ba yếu tố như: một tập hợp các người chơi; một tập hợp các hành động (hay chiến lược) có sẵn cho mỗi người chơi và một tập các kết quả thưởng phạt tương ứng Các kết quả thưởng phạt này tương ứng với mỗi hành động chiến lược của người chơi đã lựa chọn Một mô hình cân bằng Nash cơ bản là một tập các hành động với các kết quả thưởng phạt nhằm đảm bảo không có bất cứ người chơi nào có thể có kết quả thưởng phạt cao hơn bằng việc làm sai lệch các lựa chọn có sẵn [6]

Định nghĩa cơ bản của cân bằng Nash là: Nếu tồn tại một tập hợp các chiến lược cho một trò chơi với đặc tính là không có một đối thủ nào có thể hưởng lợi bằng cách thay đổi chiến lược hiện tại của mình khi các đối thủ khác không thay đổi, tập hợp các chiến lược đó cùng kết quả tương ứng nhận được tạo nên cân bằng Nash

Cân bằng Nash trong game cộng tác với 2 người chơi với 2 chiến lược khác nhau và người này biết hành động của người kia, ở trạng thái cả 2 đều tối ưu được lợi ích của mình với trạng thái tương ứng của đối thủ thì khi đó ta được trạng thái cân bằng Nash Như vậy bằng việc luân phiên thay đổi kế hoạch của mình dựa trên

kế hoạch của đối thủ để đến khi cả hai không thể tối ưu được nữa, khi đó cả 2 đều đạt được lợi ích

1.3 Thuật toán di truyền

1.3.1 Khái niệm

Thuật toán di truyền (Genetic algorithm – GA) là một phương pháp tìm kiếm tối ưu mô phỏng quá trình tiến hóa của tự nhiên, thuộc lớp thuật toán tiến hóa và sử dụng các kỹ thuật như kế thừa, đột biến, lai ghép, chọn lọc

Trong thuật toán di truyền, từ một quần thể gồm các cá thể tương ứng với một tập các “lời giải cho bài toán” và để đạt tới một lời giải tối ưu là một quá trình tiến

Trang 12

6

hóa nhằm tạo ra các thế hệ tốt hơn Mỗi cá thể lời giải được xem như một nhiễm sắc thể chứa các gen (thành phần của lời giải) có thể bị thay đổi Quá trình tiến hóa được bắt đầu từ một quần thể ngẫu nhiên các cá thể và quá trình tiến hóa được tiến hành qua các thế hệ vòng lặp Trong mỗi thế hệ, độ thích nghi của mỗi cá thể được đánh giá lại và độ thích nghi thường được lấy từ giá trị hàm mục tiêu ban đầu Quá trình lựa chọn cá thể để tiến hành lai ghép, đột biến là một quá trình lựa chọn ngẫu nhiên dựa trên mức độ thích nghi của cá thể, từ đó hình thành nên thế hệ mới Quá trình tiến hóa sẽ dừng lại khi đạt số thế hệ xác định hoặc thỏa mãn điều kiện dừng cho trước [9]

Thuật toán di truyền sử dụng một số thuật ngữ của ngành di truyền học như: Nhiễm sắc thể, Quần thể, Gen… Nhiễm sắc thể (NST) được tạo thành từ các Gen (được biểu diễn của một chuỗi tuyến tính) Mỗi gen mang một số đặc trưng và có vị trí nhất định trong NST Mỗi NST sẽ biểu diễn một lời giải của bài toán

1.3.2 Các toán tử di truyền

a Toán tử chọn lọc:

Toán tử chọn lọc (hay tái sinh) thường là toán tử đầu tiền áp dụng trong một quần thể Toán tử chọn lọc là hình thức chọn lọc cá thể tốt nhất và có dạng như một tổ hợp lai ghép Toán tử chọn lọc thường được sử dụng chính là để chọn lọc các

cá thể có độ thích nghi phù hợp tương ứng với điều kiện đặt ra của bài toán

b Toán tử lai ghép:

Toán tử lai ghép chính là quá trình tạo NST mới trên cơ sở các NST cha

mẹ bằng cách ghép một đoạn trên NST cha mẹ với nhau được một cá thể mới để đưa vào quần thể [10]

Trang 13

7

Toán tử đột biến là cá thể con mang một số đặc tính không có trong mã di truyền của cha mẹ hay một đoạn mã di truyền đã bị thay đổi tức là khác với cá thể cha mẹ Toán tử di truyền được thực hiện bằng cách chọn ngẫu nhiên một đoạn mã

di truyền trong quần thể rồi tạo ra một số k ngẫu nhiên trong khoảng từ 1 đến m với điều kiện 1 ≤ k ≤ m rồi thay đổi mã thứ k và đưa vào quần thể để tham gia quá trình

tiến hóa ở thế hệ tiếp theo [10]

1.3.3 Các bước của thuật toán di truyền

Thuật toán di truyền lại là một phương thức giải quyết vấn đề bài toán bằng cách sử dụng mô hình di truyền tiến hóa, tìm kiếm các giải pháp gần đúng nhằm tối

ưu hóa và tìm kiếm các vấn đề [9]

Bởi vậy, quy trình cơ bản của thuật toán di truyền bắt đầu bằng bước khởi tạo một quần thể ban đầu là các chuỗi nhiễm sắc thể gồm các gen tương ứng với lời giải của bài toán Các nhiễm sắc thể này sẽ được tính độ thích nghi thông qua hàm thích nghi hay độ phù hợp của lời giải Nếu độ thích nghi của các nhiễm sắc thể này chưa thỏa mãn điều kiện dừng của bài toán thì sẽ được tiến hành lai ghép và đột biến tạo

ra nhiễm sắc thể mới Các nhiễm sắc thể mới được tạo ra sẽ được tính lại độ thích nghi và nếu chưa thỏa mãn thì sẽ quay lại các bước sinh sản nhằm tạo ra một lời giải phù hợp nhất với bài toán Thuật toán sẽ kết thúc khi thỏa mãn các điều kiện dừng cho trước Các bước của thuật toán được thể hiện bằng sơ đồ sau [9]:

Trang 14

8

Nhận các tham số của bài toán

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

Kết thúc

Bắt đầu

Lựa chọn giải pháp tốt

nhất

Hình 1.1: Sơ đồ cấu trúc thuật toán di truyền

1.4 Kết hợp thuật toán di truyền và cân bằng Nash

Một vấn đề đặt ra về trạng thái cân bằng Nash chính là việc tìm ra nó không đơn giản Nhưng bằng việc kết hợp cân bằng Nash với thuật toán di truyền, bài toán

đã trở nên dễ dàng hơn

Ta có thể thấy rằng trong lý thuyết trò chơi, mỗi người chơi có một tập các chiến lược, khi các bên đều đạt được lợi ích nhất định thì trò chơi sẽ ở trạng thái cân bằng Nash Nếu xem tập các chiến lược của người chơi như một tập quần thể lời giải tương ứng, chiến lược tối ưu được tìm dựa trên những người chơi khác xem như cách tạo thế hệ mới trong thuật toán di truyền, dựa trên ý tưởng này ta có sự kết hợp giữa thuật toán di truyền và cân bằng Nash trong lý thuyết trò chơi

Trang 15

9

Tối ưu P1XYP2 P1 ~ Quần thể 1 P2 ~ Quần thể 2

Tối ưu Yk+1

Cố định Y từ người chơi 2

Tối ưu Xk

Cố định Y từ người chơi 2

Tối ưu Yk

Cố định X từ người chơi 1 Gửi

Ký hiệu s = XY là mục tiêu đồng thời của cả 2 người chơi Theo lý thuyết cân bằng Nash, người chơi 1 tối ưu s bằng việc giữ nguyên chiến lược Y của người chơi

2 và chỉ tối ưu chiến lược X của mình Ngược lại, khi người chơi 2 tối ưu s thì chỉ

tối ưu trên tập chiến lược Y của mình và giữ nguyên X [8]

Giả thiết ở thế hệ thứ k-1, tập các chiến lược tối ưu của cả hai lần lượt là Xk-1,

Yk-1 Ở thế hệ thứ k, người chơi P1 tìm ra tập chiến lược tối ưu Xk bằng việc đánh

Hình 1.2: Mô hình chiến thuật Nash GA

Trang 16

10

giá s = XkYk-1 Tại cùng thời điểm, người chơi P2 tìm ra Yk bằng việc đánh giá s =

Xk-1Yk [8]

Sau bước tối ưu, người chơi P1 gửi các giá trị tốt nhất Xk vừa tìm được cho P2

và ngược lại Các giá trị Xk,Yk này lại được tiếp tục sử dụng cho thế hệ k+1 Trạng thái cân bằng quần thể tương ứng với việc cả 2 người chơi đều không thể tối ưu hơn được phương án của mình Chú ý là quá trình tối ưu có thể được thực hiện tuần tự hoặc tiến hành song song [8]

mô hình cân bằng Nash vào lập lịch thanh toán dự án trong chương 2

Trang 17

11

CHƯƠNG 2: XÂY DỰNG THUẬT TOÁN DI TRUYỀN VÀ CÂN BẰNG

NASH TRONG LẬP LỊCH THANH TOÁN DỰ ÁN 2.1 Mô tả bài toán

Bài toán lập lịch thanh toán dự án là một bài toán tối ưu đa mục tiêu Bài toán cũng là một mô hình trò chơi thông tin đầy đủ và có tổng khác không gồm hai đối thủ là chủ đầu tư và nhà thầu Giá trị tổng số tiền cần thanh toán tại mỗi giai đoạn của dự án luôn lớn hơn không Mô hình cân bằng Nash là kết quả mà bài toán cần đạt đến chính là cân bằng lợi ích cho chủ đầu tư và nhà thầu cũng định hướng cách gải quyết cho bài toán lập lịch thanh toán Việc áp dụng giải thuật di truyền bằng việc mô phỏng các khoản cần thanh toán trong mỗi giai đoạn và các công việc cần thực hiện trên nhiễm sắc thể được lai ghép và đột biến sẽ tạo ra một không gian tìm kiếm lời giải tối ưu cho bài toán

Lịch thanh toán dự án gồm nhiều process Một process trong dự án là một mảng việc /tiến trình trong một dự bao gồm các activities hay còn gọi là các task Mỗi process này gồm một hay nhiều các hoạt động hay activities cần thực hiện trong dự án được thể hiện trên các nút của mô hình mạng dự án

Trong việc thanh toán các khoản tiền của dự án thì cả nhà thầu và chủ đầu tư đều muốn tối đa lợi nhuận hoạt động tài chính và giá trị NPV (Net Presnet Value - Giá trị hiện tại dòng tiền thuần) của họ Ngân sách bao gồm tỉ suất lợi nhuận được thỏa mãn bởi hai bên Các nhà thầu đáp ứng các chi phí cho công việc và bằng việc

sử dụng các khoản thanh toán của ngân sách của chủ đầu tư Tiền tích lũy của các nhà thầu mang giá trị âm nếu giả sử nhà thầu được vay vốn với một lãi xuất vay vồn lớn hơn lãi xuất chiết khấu thường được sử dụng để tính toán NPV Tiến độ thanh toán tối ưu nhất với nhà thầu là có được tổng số thanh toán một lần khi bắt đầu dự

án Sau khi nhận được tổng số tiền trả ban đầu, các nhà thầu sẽ cố gắng giảm thiểu chi phí của mình bằng cách lập lịch trình công việc theo cách thức sao cho dòng chảy tiền mặt cao hơn Để tính toán NPV của chủ đầu tư, ta giả định rằng ngân sách ban đầu là có sẵn và NPV của tất cả các khoản giải ngân bởi chủ đầu tư phải được trừ vào khoản tiền này Tiến độ thanh toán tối ưu nhất của chủ đầu tư là việc thanh

Trang 18

12

toán một lần duy nhất khi dự án đã được hoàn thành Sau đó, chủ đầu tư sẽ không phải lo lắng về lịch trình công việc mà chỉ quan tâm đến thời hạn dự án Tiến độ thanh toán dự án tối ưu cho cả nhà thầu và nhà đầu tư được gọi là giải pháp lý tưởng cho cả hai tức là có một lịch trình thanh toán tương ứng với các công việc đã hoàn thành của dự án

Cả hai lịch trình thanh toán và lịch trình hoạt động có ảnh hưởng đáng kể tới NPV của chủ đầu tư và nhà thầu Cả chủ đầu tư và nhà thầu đều có ý định muốn tối

đa hóa NPV của riêng mình nhưng gia tăng NPV của người này lại thường gây ra

sự sụt giảm NPV của người khác và đây chính là những điều cần giải quyết trong bài toán lập lịch thanh toán dự án đảm bảo cả lợi ích của nhà đầu tư và nhà thầu trong suốt quá trình thực hiện dự án

Sự phối hợp cả Lý thuyết trò chơi và Giải thuật di truyền để dưa ra mô hình giải quyết bài toán, cụ thể là điều chỉnh hệ thống gen của thuật toán di truyền thỏa mãn mô hình Win-Win của Lý thuyết trò chơi Những Activities cần thực hiện và số tiền cần thanh toán tương ứng sẽ được biểu diễn trên gen của thuật toán

2.2 Mô hình hóa trò chơi và cân bằng Nash trong lập lịch thanh toán

2.2.1 Mạng dự án

Mạng dự án là một phương pháp mà tính cốt lõi của nó là dùng lý thuyết trò chơi có hướng để xác định đường đi trong mạng, từ khởi điểm khởi đầu dự án đến thời điểm kết thúc dự án, qua một số công việc và các mối quan hệ giữa các công việc này Một mạng dự án còn thể hiện mối quan hệ qua một số các quyền ưu tiên (thứ bậc) của hoạt động tham gia trong dự án [7]

Có hai dạng mạng dự án thường gặp là AON (Activity-on-node: công việc trên nút) và AOA (Activity-on-arrow: công việc trên mũi tên)

Trang 19

13

Trong kiểu mạng dự án AON thì mỗi sự kiện được đặt trên mũi tên và các nút thể hiện các công việc cần làm còn các sự kiện của dự án được thể hiện trên các mũi tên

Trong kiểu mạng dự án AOA thì mỗi sự kiện được đặt trên nút dự án, mỗi công việc được đặt trên mũi tên

2.2.2 Cách thức mô hình hóa việc thanh toán dự án

Các vấn đề trong việc điều phối tiến độ thanh toán dự án được thể hiện qua các nút công việc trong mô hình mạng dự án AON Giả định rằng các điều khoản thanh toán trong hợp đồng dự án được thể hiện trong các giai đoạn khác nhau và việc thanh toán dự án được thực hiện tại một nút của một mạng lưới hoạt động nơi

mà sẽ được hoàn thành từ một hay nhiều hoạt động Dự án sẽ được bắt đầu tại nút công việc đầu tiên và sẽ kết thúc tại nút công việc cuối cùng Vì vậy, trong việc đưa

ra các quyết định lập tiến độ thanh toán dự án thì giao thức lý tưởng nhất cho chủ

Trang 20

14

đầu tư là việc chỉ phải thanh toán số tiền một lần cho tất cả khi dự án kết thúc Trong trường hợp này thì giá trị hiện tại của dòng tiền là tối thiểu Tuy nhiên giao thức có lợi nhất cho nhà thầu là có thể có được các khoản tiền thanh toán cho dự án khi dự án mới bắt đầu Trong trường hợp này, giá trị dòng tiền hiện tại của nhà đầu

tư lại đạt mức tối đa

Vì vậy, vấn đề của việc tối ưu hóa tiến độ thanh toán dự án có thể được mô hình hóa thành một dạng trò chơi với thông tin đầy đủ được đại diện bởi các tập chiến lược như sau [1]:

G = {𝑆𝑜, 𝑆𝑐, 𝐹𝑜 , 𝐹𝑐 }

Trong đó:

 𝑆𝑜 : Tập các chiến lược của chủ đầu tư

 𝐹𝑜 : Sự chênh lệch chi phí so với khoản đầu tư tối ưu của chủ đầu tư

 𝑆𝑐 : Tập các chiến lược của nhà thầu hay nhóm phát triển dự án

 𝐹𝑐 : Lợi ích ròng của nhà thầu

Để xây dựng một lịch tiến độ thanh toán dự án thì chủ đầu tư phải đưa ra một danh sách các khoản thanh toán như sau:

Payment list: (𝑝𝑎𝑦1,𝑝𝑎𝑦2, ,𝑝𝑎𝑦𝑁)

Trong biểu thức này, pay i là phần trăm ngân sách mà chủ đầu tư định trả cho

nhà thầu tại sự kiện i Danh sách các khoản cần thanh toán phải đáp ứng các ràng

buộc sau:

Chủ đầu tư

Nhà thầu

Hình 2.3: Sự tương tác giữa nhà thầu và nhà đầu tư

Trang 21

15

Trước khi xác định các chi phí, xác định lợi ích của chủ đầu tư và nhà thầu thì trước hết cần phải xác định được tỷ lệ chiết khấu Bởi giá trị tiền mặt có thể bị thay đổi sau một khoảng thời gian nhất định nào đó do lạm phát, biến động tỷ giá và chi phí cơ hội Như vậy, có thể thấy rằng giá trị của khoản tiền dự kiến ban đầu sẽ suy giảm sau một thời gian nhất định trong khi số tiền này có thể sẽ được mang đi đầu

tư để thu lợi nhuận Nên tỷ lệ chiết khấu sẽ là giá trị để tính giá trị tiền bị hao hụt do chi phí cơ hội và suy ra giá trị lợi nhuận ròng sẽ được tính như sau:

∆𝑖 = 𝐵𝑖− 𝐶𝑖 tại 𝑡𝑖 (2.2) Trong đó:

 ∆𝑖 : là lợi ích ròng

 B i : là doanh thu thuần

 C i : là chi phí cho các giai đoạn của dự án trong khoảng thời gian t i

Để tính lợi ích ròng trong thời gian bắt đầu dự án t 0 thì cần phải sử dụng tỷ lệ chiết khấu để tính giá trị dòng tiền bị sụt giảm như sau:

∆𝑖0= 𝐵𝑖− 𝐶𝑖

Trong đó, r là lãi suất chiết khấu và ∆𝑖0 là lợi ích ròng trong thời gian t i so với

lợi ích ròng trong thời gian t 0 Thông thường khi chọn t 0 = 0 ta sẽ có:

( 1+𝑟 ) 𝑡𝑖

𝑁 𝑖=0

− ∑ 𝐶𝑖

( 1+𝑟 ) 𝑡𝑖

𝑁 𝑖=0

Trang 22

− ∑ 𝐶𝑖

( 1+𝑟 ) 𝑡𝑖

𝑁 𝑖=0

≈ ∑ 𝐵𝑖 𝑒−𝑟.𝑡𝑖 𝑁

𝑖=0

− ∑ 𝐶𝑖 𝑒−𝑟.𝑡𝑖 𝑁

Đối với chủ đầu tư:

Từ công thức trên, ta thấy rằng phương án thanh toán tốt nhất đối với chủ đầu

tư là thanh toán các khoản tiền khi dự án hoàn thành Bởi vậy, giá trị 𝑡𝐹𝑖𝑛𝑖𝑠ℎ là lớn nhất mà 𝑡𝐹𝑖𝑛𝑖𝑠ℎ chính là thời gian để hoàn thành toàn bộ dự án Giá trị nhỏ nhất đối

với chủ đầu tư tại t 0 = 0 sẽ là:

𝑈( 1 + 𝑟 )𝑡𝑓𝑖𝑛𝑖𝑠ℎ ≈ 𝑈 𝑒

Các trường hợp khác về các khoản chi phí để tối ưu khoản đầu tư cho chủ đầu

tư là F 0 sẽ được tính như sau:

𝐹0 = ∑𝑝𝑎𝑦𝑖

100 𝑈 𝑒

−𝑟.𝑡𝑖 − 𝑈 𝑒−𝑟.𝑡𝐹𝑖𝑛𝑖𝑠ℎ 𝑁

𝑖=1

(2.9)

Bởi vậy cần giảm thiểu F 0 để giảm các khoản chi phí mà chủ đầu tư phải trả

Đối với nhà thầu:

Đối với nhà thầu (hay nhóm phát triển dự án) có thể dễ dàng thấy được họ muốn các khoản thanh toán được thực hiện càng sớm càng tốt để tối đa hóa lợi nhuận ròng Vì vậy, lợi nhuận ròng của nhà thầu sẽ được tính bằng công thức sau:

Trang 23

17

𝐹𝑐 = ∑𝑝𝑎𝑦𝑖

100 𝑈 𝑒

−𝑟.𝑡𝑖 𝑁

𝑖=0

− ∑ 𝐶𝑖 𝑒−𝑟.𝑡𝑖 𝑁

𝑖=0

(2.10)

Vì lý do này mà để đáp ứng được yêu cầu của nhà thầu thì cần tối đa hóa giá trị hàm 𝐹𝑐

Như vậy, để tìm được phương án tối ưu đáp ứng được cả yêu cầu của chủ đầu

tư và nhà thầu thì việc sử dụng thuật toán di truyền sẽ tìm kiếm được kết quả tối ưu

và đạt được cân bằng Nash cho mô hình bài toán lập lịch thanh toán hay còn là mô hình trò chơi gồm hai người chơi là chủ đầu tư và nhà thầu

2.2.3 Tối ưu hóa mục tiêu

Trong quá trình thanh toán dự án, chủ đầu tư xác định tiến độ thanh toán được đưa ra trong danh sách cần thanh toán với nhà thầu từ đó sẽ xác định được lịch trình hoạt động cụ thể của danh sách công việc và danh sách chế độ tương ứng Khi cả chủ đầu tư và nhà thầu muốn tối ưu hóa NPV của mình và đạt được lợi ích tối đa,

đó là lý do mà họ hợp tác, đàm phán với nhau để đưa ra quyết định cuối cùng cho lịch trình thanh toán và lịch trình công việc tương ứng Nếu lịch trình công việc không được tối ưu hóa tốt thì nhà thầu sẽ phải thay đổi lịch trình công việc nhằm nâng cao giá trị NPV để có lợi cho mình Với một lịch trình thanh toán nhất định, vấn đề tối ưu hóa NPV của chủ đầu tư chỉ là việc điều phối giải quyết các ràng buộc tài nguyên với tiền chiết khấu ròng Để thuận tiện cho việc đưa ra quyết định, cần

có một giải pháp dựa trên sự khác biệt giữa giá trị giới hạn NPV của nhà thầu và

NPV thực tế tương ứng với lịch trình công việc Giả sử với giải pháp x với một lịch

trình hoạt động được đánh giá như theo các bước sau [7]:

Bước 1: Đánh giá các ràng buộc trên 𝑁𝑃𝑉𝑜𝑢𝑝𝑝𝑒𝑟/𝑃𝑆 của NPV chủ đầu tư khi

lịch trình thanh toán PS được cố định Các ràng buộc trên thu được từ việc:

- Bỏ qua tất cả các hạn chế về tài nguyên, nhân lực

- Giả sử tất cả các sự kiện, biến cố xảy ra sớm nhất có thể để các khoản thanh toán xảy ra càng sớm càng tốt

Trang 24

18

- Chi phí xảy ra càng muộn càng tốt

- Giả sử mọi công việc được thực hiện theo cách thức mà chi phí tốn kém là thấp nhất

Bước 2: Tính toán sự khác biệt giữa các ràng buộc 𝑁𝑃𝑉𝑜𝑢𝑝𝑝𝑒𝑟/𝑃𝑆 và NPV thực

tế của đẩu tư là NPVo

OD(x) = 𝑁𝑃𝑉𝑜𝑢𝑝𝑝𝑒𝑟/𝑃𝑆  NPVo (2.11)

Nếu giá trị mức tối ưu hóa OD(x) là nhỏ thì có nghĩa là lịch trình công việc trong giải pháp x cũng được tối ưu hóa Nếu không, lịch trình công việc trong x không tối ưu hóa, do đó x sẽ không được lựa chọn [7]

2.3 Thuật toán di truyền và giải pháp cân bằng Nash

Thuật toán di truyền là một công cụ hiệu quả cho các vấn đề tối ưu hóa tổ hợp

Nó được áp dụng để xây dựng mô hình hóa giải quyết các mô hình trò chơi với thông tin đầy đủ, tối ưu hóa tiến độ thanh toán dự án

2.3.1 Mô hình chung của thiết kế thuật toán di truyền cho bài toán lập lịch thanh toán dự án

a) Các ràng buộc của bài toán

Mô hình giải quyết bài toán lập lịch thanh toán phải thỏa mãn một số yêu cầu ràng buộc sau:

 Một trạng thái của dự án được hoàn thành khi tất cả các hoạt động ràng buộc với nó phải được hoàn thành

 Việc chuyển đổi trạng thái dự án được thực hiện khi các trạng thái dự

án ràng buộc trước đó đã được hoàn thành

b) Lược đồ mã hóa

Trong việc tối ưu việc thanh toán dự án, cả tiến độ thanh toán và tiến độ hoạt động của dự án cũng cần phải được tối ưu Để biểu diễn các quyết định được tối ưu thì ta thiết kế một giải pháp để xem xét vấn đề này:

 Payment list: (𝑝𝑎𝑦1,𝑝𝑎𝑦2, ,𝑝𝑎𝑦𝑁)

Trang 25

19

 Activity list: (𝑎1 , 𝑎2 , … , 𝑎𝑁 )

Để đạt được yêu cầu mong muốn như ở trên ta phải sử dụng hàm thích nghi

F Adaptability như sau:

Bởi vì 𝐹0 > 0 nên 𝐹𝐴𝑑𝑎𝑝𝑡𝑎𝑏𝑖𝑙𝑖𝑡𝑦 đạt một giá trị tối đa khi hàm thích nghi của nhà thầu là 𝐹𝑐 đạt giá trị tối đa và hàm thích nghi của chủ đầu tư 𝐹𝑜 đạt giá trị tối thiểu Ta nhân đôi 𝐹0 để đảm bảo rằng ∑ 𝑝𝑎𝑦𝑖

100 𝑈 𝑒−𝑟.𝑡𝑖

𝑁 𝑖=0

không bị hạn chế khi tính toán hàm thích nghi Bởi vậy, ta suy ra công thức tính hàm thích nghi như sau:

100 𝑈 𝑒

−𝑟.𝑡𝑖 𝑁

𝑖=0

– ∑ 𝐶𝑖 𝑒−𝑟.𝑡𝑖 𝑁

Do đó, chúng ta cần phải tìm ra lịch thanh toán dự án đúng tiến độ hoạt động

để tối đa hàm thích nghi 𝐹𝐴𝑑𝑎𝑝𝑡𝑎𝑏𝑖𝑙𝑖𝑡𝑦và là hàm chọn lọc

c) Mô hình Nhiễm sắc thể

Trong một điều kiện đơn giản ta phân tích một dự án gồm 10 nút Vì vậy để đồng thời tìm được một kết quả tối ưu cho cả nhà thầu và nhà đầu tư thì chúng ta sẽ chọn 1 Nhiễm sắc thể gồm 20 gen Trên NST này có 10 gen đầu tiên đại diện cho ngân sách cho từng giai đoạn của dự án, 10 gen tiếp theo là số lượng công việc phải làm ở mỗi đoạn của dự án đối với nhà thầu Tất nhiên có những nhiệm vụ quan trọng phải được ưu tiên bằng cách xác định thứ tự ưu tiên cho hoạt động này Nguyên tắc của công việc này là phải đảm bảo cho các Nhiễm sắc thể mà có tổng giá trị 10 gen đầu tiên bằng 100 và tổng giá trị của 10 gen cuối bằng tổng số tác vụ

sẽ được thực hiện bởi nhà thầu Ví dụ:

Trong ví dụ này thì cho ta thấy là nhà thầu có 20 nhiệm vụ (tổng của 10 gen cuối) để hoàn thành dự án này đúng với tiến độ thanh toán Cụ thể:

Trang 26

họ phải hoàn thành nhiệm vụ 2, 3 và 4 rồi cứ tiếp tục thực hiện như vậy cho đến khi

họ hoàn thành tất cả các nhiệm vụ

d) Khởi tạo

Để xây dựng quần thể với một mật độ nhất định thì ta phải xây dựng một

phương pháp cho phép tạo ra ngẫu nhiên một mảng n các phần tử Ví dụ, nếu trường hợp có biến n = 20 và nó rất quan trọng là mảng phải đáp ứng các điều kiện

chúng ta đưa ra đối với nhiễm sắc thể

e) Chọn lọc

Để có được lời giải tốt hơn sau mỗi thế hệ thì chúng ta phải chọn các nhiễm sắc thể tốt nhất để thực hiện lai ghép chéo Điều quan trọng là chúng ta phải thực hiện sắp xếp nhiễm sắc thể theo thứ tự của tầm quan trọng của hàm chọn lọc theo hướng giảm dần Như vậy, các nhiễm sắc thể trong quần thể là những nhiễm sắc thể

có giá trị lớn nhất của hàm chọn lọc và là giải pháp tốt nhất mà chúng ta có sau mỗi thế hệ

Trang 27

21

có là giải pháp tốt nhất Chúng ta sẽ tiến hành lai ghép một nửa đầu tiên của đoạn

nhiễm sắc thể trong quần thể (với 2n nhiễm sắc thể) và gọi đoạn nhiễm sắc thể sẽ được ghép đầu tiên của C là C 1 (với n1= n/2 nhiễm sắc thể) và thực hiện lai ghép chéo mỗi đoạn trong C 1 được gọi là nhiễm sắc thể mẹ cùng với nhiễm sắc thể được

chọn ngẫu nhiên trong C gọi là nhiễm sắc thể cha Mỗi lần 2 nhiếm sắc thể được lai

ghép sẽ tạo ra 2 thế hệ sau Sau khi thực hiện lai ghép trong quần thể ta thu được

2.n1= n nhiễm sắc thể mới Chúng ta lại tiến hành lai ghép một đoạn khác của

nhiễm sắc thể của quần thể ban đầu sẽ được n nhiễm sắc thể mới Sau đó chúng ta

sẽ sắp xếp độ thích nghi theo hướng giảm dần (quần thể hiện tại sẽ bao gồm một nửa số nhiễm sắc thể từ quần thể ban đầu và một nửa số nhiễm sắc thể mới) Như vậy chúng ta có một thế hệ mới với nhiễm sắc thể mới là giải pháp phù hợp nhất

Vấn đề quan trọng tiếp theo là sau khi chúng ta có cặp nhiễm sắc thể để tiến hành lai ghép thì chúng ta cần quản lý việc lai ghép để đảm bảo các hạn chế không đáng có Chẳng hạn chúng ta xem xét một nhiễm sắc thể gồm 20 gen, và để đảm bảo yêu cầu thì ta chia nhiễm sắc thể thành hai phần, đoạn đầu gồm 10 gen đầu và đoạn sau là 10 gen tiếp theo đó Trước khi thực hiện lai ghép thì ta vẫn cần thực hiện chọn đoạn nhiễm sắc thể cần lai ghép để chắc chắn là kế hoạch được khả thi và đảm bảo sự đa dạng nguồn tài nguyên di truyền nên ta chọn 4 đoạn để lai ghép, 2 đoạn đầu là tổng 10 gen và 2 đoạn sau là tổng 10 gen còn lại Tại vị trí cắt sẽ chọn

ngẫu nhiên hai điểm tại hai vị trí khác nhau và gọi hai điểm cắt này là cut-1 và cut-2 trong đó cut-1 < cut-2 Với một cặp gen cha-mẹ ta được 2 thế hệ con là thế hệ con 1

là thế hệ con 2 với số lượng gen tương đương với số lượng gen của cha-mẹ Sau đó

ta sao chép những gen trong các đoạn cut-1 tới cut-2 của cha mẹ, sao chép nó thành đoạn cut-1 và cut-2 của thế hệ con 1 và thế hệ con 2 Đối với thế hệ con 1 sau khi thừa hưởng yếu tố di truyền từ cut-1 tới cut-2 của nhiễm sắc thể cha thì bước tiếp

theo ta cần thực hiện sao chép đoạn gen của mẹ trong đó gồm có một đoạn gen đầu

và từ cut-2 đến kết thúc nhiễm sắc thể mẹ nhưng để đảm bảo các ràng buộc ta tạo ra một biến gọi là $sum ( $sum phải nhỏ hơn hoặc bằng 100) và khởi tạo các giá trị của

$sum bằng tổng giá trị của các gen nằm trong đoạn từ vị trí cut-1 đến cut-2 Sau mỗi

Trang 28

22

lần sao chép đoạn gen của nhiễm sắc thể thì sẽ tính toán lại gía trị tổng bằng cách thêm giá trị của các gen đã được bổ sung bởi vậy sẽ nảy sinh một vài trường hợp Trường hợp thứ nhất là sẽ có tổng vượt quá 100 sau khi thêm một gen nào đó vào,

nếu gen cuối cùng thì đơn giản là ta gán một giá trị của gen bằng 100 trừ đi $sum, ta

sẽ gán giá trị ngẫu nhiên từ gen hiện tại cho tới đoạn gen cuối cùng sao cho tổng giá

trị của các gen này bằng 100 trừ đi $sum Trường hợp thứ hai có thể xảy ra là tổng

của tất cả các gen lại nhỏ hơn 100 thì lúc này ta giữ lại giá trị cuối cùng khi thêm

các gen và tính toán lại $sum rồi gán giá trị cho gen cuối bằng 100 trừ đi $sum Từ

đó, ta sẽ đảm bảo được các hạn chế và ta cũng làm tương tự quá trình này với 10 gen và thế hệ con 2 còn lại.Ta có ví dụ minh họa như sau:

Đột biến sẽ được tiến hành cùng với quá trình lai ghép Mỗi một thế hệ con

sẽ được đột biến với xác suất đột biến là 𝑝𝑥 Tương tự như vậy, khi chúng ta thực hiện lai ghép chéo ta sẽ tách các nhiễm sắc thể thành hai đoạn gồm 10 gen đầu tiên

và 10 gen cuối cùng và tiến hành đột biến trên hai đoạn này Với mỗi quy trình trong việc thực hiện đột biến thì ta chỉ trao đổi ngẫu nhiên các gen trong nhiễm sắc thể với điều kiện hai đoạn gen này là không giống nhau

Trang 29

23

Điều kiện để hoàn thành quá trình của bài toán này là thời gian hoạt động của kết quả tốt nhất trong các thế hệ không thay đổi nữa hoặc sau một số lượng các thế

hệ nhất định có kết quả tốt nhất không khác so với ∆% ngân sách đầu tư Giá trị này

sẽ được điều chỉnh tùy thuộc vào các vấn đề đưa ra nhằm đạt được một giải pháp với thời gian tính toán phù hợp

i) Lựa chọn các thông số

Các thông số được sử dụng trong thuật toán sẽ được lựa chọn một cách chính xác nhằm nâng cao tính hiệu quả của thuật toán di truyền và bên cạnh đó chương trình cũng có chức năng cho phép tùy chỉnh các thông số tùy thuộc vào số lượng các giai đoạn của dự án cũng như các yêu cầu về thời gian cho phép

2.3.2 Thiết kế thuật toán di truyền cho chiến lược thứ nhất

Ý nghĩa của chiến lược:

Chiến lược đầu tiên này sẽ xác định giá trị thích nghi cho chủ đầu tư hay NPVo hay nhằm tối ưu hóa NPVo trong việc lập lịch thanh toán Kết qủa thu được ở chiến lược thứ nhất này là quá trình các giai đoạn cần thanh toán cho nhà thầu Hàm mục tiêu trong chiến lược đầu tiên này sẽ được tính theo công thức:

Z = 𝑁𝑃𝑉𝑜𝑖𝑑𝑒𝑎𝑙 𝑁𝑃𝑉 𝑜

𝑁𝑃𝑉𝑜𝑖𝑑𝑒𝑎𝑙 𝑁𝑃𝑉𝑐𝑖𝑑𝑒𝑎𝑙 𝑁𝑃𝑉 𝑐

Trong đó ideal chỉ giải pháp lý tưởng trong trường hợp tương ứng với giá trị

thuần của nhà thầu NPV c và giá trị thuần của chủ đầu tư NPV o

Khi tính toán giá trị của hàm mục tiêu của các NST, ta làm tròn giá trị đến chữ

số có nghĩa thứ hai Với một giá trị hàm mục tiêu nhất định có thể tồn tại một số

giải pháp tương ứng để NPV c và NPV o khác nhau, giải pháp đó được gọi là giải pháp chi phối Rõ ràng các giải pháp chi phối này sẽ được đưa ra bởi việc ra quyết

định Giả định rằng NPV c được tính bằng cách sử dụng cùng một tỉ lệ chiết khấu r với NPV o

Mã:

Trang 30

24

Tiến độ thanh toán được cung cấp bởi chủ đầu tư được sử dụng như là các nhiễm sắc thể (NST) trong thuật toán di truyền Sự biểu diễn của NST liên quan đến tỉ lệ phần trăm của tiến độ thanh toán dự án sẽ được trả tại các nút trạng thái dự

án NST được ký hiệu bằng một loạt các số là số nút trong mạng lưới hoạt động Vì vậy mỗi số nguyên đại diện cho một gen của NST Số gen có liên quan trực tiếp đến kích thước của các đơn vị phần trăm ngân sách phân bổ cho một gen Nếu số NST

có 20 gen thì mỗi gen sẽ được phân bổ 5% ngân sách tương ứng với NST đó Vì vậy số tiền mà chủ đầu tư phải trả cho một nút được thể hiện bởi tần số xuất hiện của các gen đại diện cho nút đó trong NST [1]

Thao tác:

Tần số xuất hiện của các gen đại diện cho các nút quan trọng trong việc thể hiện tiến độ thanh toán dự án của chủ đầu tư

Toán tử lai ghép: Để áp dụng được các toán tử lai ghép chéo, hai điểm được

lựa chọn để phân chia NST cha mẹ thành 3 phần Những NST con được hình thành bằng cách lấy những phần tử đầu tiên, phần tử cuối cùng của NST mẹ và phần giữa của NST cha Lấy một ví dụ về toán tử lai ghép chéo hai điểm được đưa ra như hình dưới đây Các gen chuyển sang NST con sẽ được in đậm Kết quả lai ghép chéo trên một con duy nhất [1]

Toán tử đột biến: Hai loại toán tử đột biến được xem xét là toán tử đột biến

toàn cục và toán tử đột biến địa phương Toán tử đột biến toàn cục là một NST được chọn để gây đột biến với xác suất đột biến toàn cục và mỗi điểm của cá thể trên NST được xem xét để sử dụng các xác suất đột biến toàn cục, các điểm được đột biến gán với một sự kiện ngẫu nhiên Trên một NST có thể chọn nhiều hơn một nơi để gây đột biến Toán tử đột biến địa phương là một NST được chọn để gây đột biến với xác suất đột biến địa phương và một nơi trên NST được chọn để biến đổi, các nơi được chọn gây đột biến được gán với một sự kiện ngẫu nhiên Do đó, chỉ có một gen là bị đột biến trên một NST được lựa chọn [1]

Trang 31

25

Giá trị hàm thích nghi: Để xác định giá trị thích nghi của một NST X của

chiến lược đầu tiên này ta lấy giá trị hàm mục tiêu cho NST X trừ đi giá trị lớn nhất của hàm mục tiêu trong quần thể Để tính toán được giá trị thích nghi, ta cần phải

xác định được hai giá trị NPV c và NPV o Mỗi NST X sinh ra trong chiến lược đầu

tiên này sẽ được gửi đến chiến lược thứ hai để xác định giá trị NPV o lớn nhất, xác định vị trí và thời gian tương ứng với các khoản thanh toán Các thông tin này được

sử dụng cùng với cơ cấu thanh toán để tính NPV c [1]

Khả năng thích nghi:

Sau khi chủ đầu tư cung cấp một lịch trình thanh toán cho nhà thầu, nhà thầu

cố gắng tối đa hóa NPV c bằng cách điều chỉnh mạng lưới hoạt động của mình để có lịch trình tương ứng Lịch trình của nhà thầu được giao cho các chủ đầu tư tính toán

NPV o của nó theo hai lịch trình Các hàm lợi ích được chỉ định trong khả năng thích

ứng hay thích nghi của các NST Nó được coi là tỉ lệ chiết khấu (r) cho cả nhà thầu

và chủ đầu tư là như nhau cho việc tính toán NPV o và NPV o i Ngoài ra nếu số lượng

các khoản thanh toán của chủ đầu tư không đủ thì khoản tiền của nhà thầu so với

ngân sách ban đầu sẽ được một lãi xuất i cao hơn r [1]

2.3.3 Thiết kế thuật toán di truyền cho chiến lược thứ hai

Ý nghĩa của chiến lược:

Mục tiêu trong chiến lược thứ hai là tối đa hóa NPV o trong phần trăm thanh toán cụ thể Sự phân phối thanh toán được đặt lên một cá thể của chiến lược đầu tiên, cá thể mà giá trị thích nghi đã được xác định Kết quả thu được từ chiến lược thứ hai là một lịch trình công việc, hoạt động được xác định bằng việc tối đa hóa

NPV o

Mã:

NST của việc điều phối các hoạt động của nhà thầu sẽ có thể đại diện cho các hoạt động bao gồm các bước và các chế độ hoạt động của các hoạt động, công việc Mỗi gen phải có số thứ tự và chế độ hoạt động tương ứng Mỗi gen trong NST đã

Trang 32

 Chọn ngẫu nhiên một cặp cha mẹ

 Tìm công việc, hoạt động đầu tiên trong cha mẹ được chọn mà chưa gán cho con nào Công việc, hoạt động đó sẽ trở thành công việc, hoạt động kế tiếp trên con

 Nếu việc gán các hoạt động được thực hiện giống nhau trên cả cha mẹ, thì việc gán các hoạt động trên con cũng hoàn toàn tương tự Còn nếu không, chọn một cách thức gán của cha mẹ một cách ngẫu nhiên và ghi nó vào con

 Nếu tất cả các gen của NST con được hoàn thành thì STOP

 Còn nếu không tiếp tục xem xét tới gen tiếp theo trong con và lặp lại vòng lặp LOOP

Các toán tử đột biến: Với chiến lược thứ hai này, có hai kiểu toán tử đột biến

và đột biến tái định vị và đột biến đảo bit Đột biến tái định vị chọn ngẫu nhiên ra hai vị trí trong NST và chuyển nội dung vị trí trước xuống vị trí sau Đột biến tái định vị có thể gây ra các hành vi vi phạm quyền ưu tiên, do vậy một chức năng sửa chữa đơn giản được bổ sung đột biến tái định vị [1]

Toán tử đột biến đảo bit sử dụng để thay đổi các lựa chọn cho một hoạt động đối với các toán tử hoạt động, phương thức hoạt động, các NST được lựa chọn một

Trang 33

27

cách ngẫu nhiên và các chế độ hoạt động cũng được phân chia ngẫu nhiên để đáp ứng tiến độ thanh toán

Vấn đề điều phối, thời hạn: Để có được giá trị NPV một cá thể trong quẩn thể

thì trước tiên cá thể đó phải được lên kế hoạch điều phối Điều phối được sử dụng là một điều phối chuyển tiếp với việc điều phối hoạt động xảy ra càng sớm càng tốt nhưng vẫn đảm bảo không vi phạm các hạn chế tài nguyên, nguồn lực và sắp đặt các hoạt động trên các NST [1]

Giả sử có hai hoạt động, công việc xảy ra liên tiếp là act1 và act2 trên NST

theo đúng thứ tự và giả sử cả hai đều có đầy đủ các điều kiện, tức là những hoạt động xảy ra trước nó đã được điều phối Nếu các nguồn lực, tài nguyên có sẵn

không đủ cho act1 thì act2 cũng sẽ không được điều phối ngay cả khi nguồn lực, tài

nguyên đủ cho việc lập lịch Do đó, việc điều phối lập lịch sẽ giữ nguyên vị trí, trật

tự, thứ tự của các hoạt động có trên NST, có nghĩa là bất kỳ hoạt động nào trong vị trí sẽ có thời gian bắt đầu nhỏ hơn một hoạt động trong một vị trí nằm trước nó trên NST Hơn nữa, để cải thiện tiến độ bằng cách không dịch chuyển thứ tự các hoạt động, công việc trên NST với thời gian bắt đầu các hoạt động bao hàm các sự can thiệp với quá trình tiến hóa tự nhiên của thuật toán di truyền Lịch trình, điều phối lập lịch được sửa đổi theo cách này sẽ tương ứng với một NST khác trong quá trình tạo ra thuật toán mới

Giá trị thích nghi: Một khi NST được điều phối, thời hạn kết thúc hoạt động

công việc thì để tính hàm mục tiêu cho chiến lược thứ hai này là cần tính tỉ lệ chiết khấu, tỉ lệ cho vay, thời gian và số lượng tiền phải trả cần phải được xác định Giá trị thích nghi của NST trong quần thể được tính bằng giá trị tối thiểu NPV của quần thể trừ đi giá trị NPV của NST

Khả năng thích nghi:

Sau khi nhận được thông tin về chế độ thanh toán được đưa ra bởi chủ đầu tư thì nhà đầu tư sẽ điều chỉnh mạng lưới hoạt động và các chế độ hoạt động tối đa hóa

NPV c [1]

Trang 34

28

2.4 Tiểu kết chương 2

Chương này đã mô tả cách thức sử dụng thuật toán di truyền trong bài toán lập lịch thanh toán Mỗi dự án bao gồm nhiều công việc hay là các activities là các gen

trên nhiễm sắc thể Mỗi nhiễm sắc thể có n gen trong đó nửa số gen đầu là các

khoản tiền cần thanh toán tương ứng với nửa số gen còn lại là các activities cần thực hiện Một lịch thanh toán dự án là các quá trình (process) trong đó là tập các activities Việc tiến hành lai ghép, đột biến và tính giá trị hàm thích nghi cho mỗi cá thể sẽ đánh giá sự phù hợp của lời giải Đây là tiền đề để xây dựng mô hình thực nghiệm trong chương 3

Ngày đăng: 25/07/2017, 21:39

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] DENG Ze-min, GAO Chun-ping and LI Zhong-xue (2007). "Optimization of project payment schedules with Nash Equilibrium model". Journal of Chongqing University (English Edition, ISSN 1671-8224) Sách, tạp chí
Tiêu đề: Optimization of project payment schedules with Nash Equilibrium model
Tác giả: DENG Ze-min, GAO Chun-ping and LI Zhong-xue
Năm: 2007
[2] Massimo Orazio Spata and Salvatore Rinaudo (2010). "Merging Nash Equilibrium solution with Genetic algorithm: the game genetic algorithm". Journal of Convergence Information Technology Volume 5, Number 9, Pages 9-15 Sách, tạp chí
Tiêu đề: Merging Nash Equilibrium solution with Genetic algorithm: the game genetic algorithm
Tác giả: Massimo Orazio Spata and Salvatore Rinaudo
Năm: 2010
[3] Osborne, Martin J (2004). “An Introduction to Game Theory”. New York: Oxford University Press Sách, tạp chí
Tiêu đề: An Introduction to Game Theory
Tác giả: Osborne, Martin J
Năm: 2004
[4] Rajarshi (Raj) Bhattacharya (2013). “Leveraging Game Theory in strategic sourcing”. Genpact Limited Sách, tạp chí
Tiêu đề: “Leveraging Game Theory in strategic sourcing”
Tác giả: Rajarshi (Raj) Bhattacharya
Năm: 2013
[5] Theodore L. Turocy (2001). “Game Theory”. Texas A&amp;M University. Bernhard von Stengel. London School of Economics. CDAM Research Report LSE-CDAM [6] William A. Darity, Jr (2007). “International Encyclopedia of the Social Sciences”. Macmillan Reference USA, Vol 5: pp. 540-541 Sách, tạp chí
Tiêu đề: Game Theory”. Texas A&M University. Bernhard von Stengel. London School of Economics. CDAM Research Report LSE-CDAM [6] William A. Darity, Jr (2007). “International Encyclopedia of the Social Sciences
Tác giả: Theodore L. Turocy (2001). “Game Theory”. Texas A&amp;M University. Bernhard von Stengel. London School of Economics. CDAM Research Report LSE-CDAM [6] William A. Darity, Jr
Năm: 2007
[7] Wei-neng Chen and Jun Zhang (2012). "A Preference-Based Bi-Objective Approach to the Payment Scheduling Negotiation Problem with the Extended r- Dominance and NSGAII". Proceedings of the 14th annual conference on Genetic and evolutionary computation Sách, tạp chí
Tiêu đề: A Preference-Based Bi-Objective Approach to the Payment Scheduling Negotiation Problem with the Extended r-Dominance and NSGAII
Tác giả: Wei-neng Chen and Jun Zhang
Năm: 2012
[8] M. Sefrioui J and J. Periaux ( 2000) . "Nash genetic algorithms: examples and applications". Proceedings of the Congress on Evolutionary Computation, vol.1, pp.509-516 Sách, tạp chí
Tiêu đề: Nash genetic algorithms: examples and applications
[9] S. N. Sivanandam, S. N. Deepa (2008), Introduction to Genetic Algorithms, Springer Science+Business Media, LLC Sách, tạp chí
Tiêu đề: Introduction to Genetic Algorithms
Tác giả: S. N. Sivanandam, S. N. Deepa
Năm: 2008
[10] Prajneshu Gupta , Mir Asif Iquebal (2006). “Genetic Algorithms and their Applications: An Overview”. I.A.S.R.I., Library Avenue, New Delhi-110012 Sách, tạp chí
Tiêu đề: Genetic Algorithms and their Applications: An Overview
Tác giả: Prajneshu Gupta , Mir Asif Iquebal
Năm: 2006
[11] Yanf KK, Talbot FB, Patterson JH (1990). "Scheduling of activities to maximize the net present value of projects". European Journal of Operational Research, Volume 49, Issue 1, Pages 35-49 Sách, tạp chí
Tiêu đề: Scheduling of activities to maximize the net present value of projects
Tác giả: Yanf KK, Talbot FB, Patterson JH
Năm: 1990

TRÍCH ĐOẠN

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

w