Việc làm tốt hơn mục tiêu này thường dẫn tới việc làm xấu đi một số mục tiêu khác.Vì vậy việc giải các bài toán tối ưu đa mục tiêu, tức là tìm ra một phương án khả thi tốt nhất theo một
Trang 1LUẬN VĂN TỐT NGHIỆP PHƯƠNG PHÁP ĐƠN HÌNH GIẢI BÀI TOÁN
ĐA MỤC TIÊU
Giảng viên hướng dẫn : ThS TRẦN THỊ THÙY NƯƠNG
Nhóm sinhviên thực hiện : TĂNG PHẠM HỒNG OANH 070481M
Lớp : 07TN1D
Khóa : 11
Tp Hồ Chí Minh, tháng 07 năm 2011
Trang 2LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin và Toán Ứng Dụng, trường Đại Học Tôn Đức Thắng đã tạo điều kiện tốt cho chúng em thực hiện
đề tài luận văn tốt nghiệp này
Chúng em xin chân thành cảm ơn Cô, ThS Trần Thị Thùy Nương đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề tài
Chúng em cũng xin thể hiện sự kính trọng và lòng biết ơn đến Quý Thầy Cô trong Khoa Toán-Tin, những người đã trang bị cho chúng em rất nhiều kiến thức chuyên ngành, cũng như sự chỉ bảo, giúp đỡ tận tình của quý Thầy Cô đối với chúng em trong suốt quá trình học tập Tất cả các kiến thức mà chúng em lĩnh hội được từ bài giảng của các Thầy Cô là vô cùng quý giá
Chúng con xin gửi lời cảm ơn sâu sắc đến Bố, Mẹ và những người thân trong gia đình, cảm ơn những tình cảm và những lời động viên chúng con trong suốt quá trình hoàn thành luận văn này
Xin chân thành cảm ơn các anh chị và bạn bè đã ủng hộ , giúp đỡ và động viên chúng em trong thời gian học tập và nghiên cứu
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng vẫn còn nhiều thiếu sót Chúng em kính mong nhận được sự cảm thông và tận tình chỉ bảo của Cô
Nhóm sinh viên thực hiện Tăng Phạm Hồng Oanh – Trần Vương Hoàng Việt
Tháng 7/2011
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Trang 5
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT 1
DANH MỤC CÁC BẢNG BIỂU 2
DANH MỤC CÁC HÌNH VẼ 3
LỜI MỞ ĐẦU 4
CHƯƠNG I: TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP GIẢI BÀI TOÁN QUY HOẠCH ĐA MỤC TIÊU 5
1.1 Mô hình toán học của bài toán 5
1.2 Phương pháp thỏa dụng mờ Pgs Nguyễn Hải Thanh 7
1.3 Phương pháp đồ thị 8
1.3.1 Bài toán quy hoạch tuyến tính đa mục tiêu 8
1.3.2 Phương pháp giải QHĐMT dựa vào hình thức thỏa hiệp 10
1.4 Phương pháp nhượng bộ dần 18
1.5 Phương pháp thỏa hiệp TAMM 19
1.6 Phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng 19
1.7 Phương pháp từng bước của Benayoun 21
1.8 Phương pháp trọng số 22
1.9 Phương pháp ràng buộc 23
1.10 Phương pháp giải theo dãy mục tiêu đã được sắp xếp 24
CHƯƠNG II: GIẢI BÀI TOÁN QUY HOẠCH ĐA MỤC TIÊU 26
2.1 Phương pháp đơn hình giải bài toán một mục tiêu 26
2.1.1 Mô hình quy hoạch tuyến tính một mục tiêu 26
2.1.2 Bổ sung thêm về phương pháp đơn hình: 34
2.1.3 Một số ứng dụng của phương pháp đơn hình: 37
2.2 Phương pháp đơn hình giải bài toán đa mục tiêu 39
2.2.1 Cách tiếp cận theo mục tiêu cực tiểu hàm phạt 39
2.2.2 Tiếp cận theo tối ưu PARETO 42
2.2.3 Phương pháp thỏa dụng mờ Pgs Nguyễn Hải Thanh 48
2.2.4 Phương pháp đơn hình đa mục tiêu 51
CHƯƠNG III: ỨNG DỤNG CỦA ĐA MỤC TIÊU TRONG KINH TẾ 65
3.1 Các ví dụ về mô hình đa mục tiêu trong kinh tế 66
3.1.1 Kinh tế phúc lợi 66
3.1.2 Chính sách kinh tế định lượng 70
3.1.3 Chính sách tiền tệ tối ưu 72
3.1.4 Tối ưu hóa hành vi độc quyền với hàm 2 mục tiêu 73
3.1.5 Mô hình ô nhiễm Leontief đa mục tiêu 74
3.1.6 Mô hình kiểm soát môi trường phi tuyến tính 77
3.2 Các điều kiện Kuhn–Tucker cho vấn đề quy hoạch đa mục tiêu 78
3.3 Các vấn đề đối ngẫu của tối ưu hóa đa mục tiêu 85
3.3.1 Các vấn đề đối ngẫu trong tối ưu đa mục tiêu trong dạng tham số 85
3.3.2 Lý thuyết đối ngẫu cho quy hoạch từ điển lồi “Convex Lexicographic Programming” 86
3.4 Hành vi của công ty đối mặt với hàm 2 mục tiêu dưới các ràng buộc quy định 88
TÀI LIỆU THAM KHẢO 91
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
QHĐMT : Quy hoạch đa mục tiêu
QHTTĐMT : Quy hoạch tuyến tính đa mục tiêu
NNLG : Người nhận lời giải
MOLP : Multiobjective Linear Programming
(Quy hoạch tuyến tính đa mục tiêu) BFSs : Basic feasible solutions
(Phương án cơ sở chấp nhận được)
Trang 7DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1 Bảng thưởng phạt phương pháp nhượng bộ dần 18
Bảng 1.2 Bảng thưởng phạt phương pháp ràng buộc 23
Bảng 2.1 Các bảng đơn hình giải bài toán QHTT 31
Bảng 2.2 Các bảng đơn hình giải bài toán M 37
Bảng 2.3 Quy hoạch đa mục tiêu không ưu tiên 39
Bảng 2.4 Quy hoạch đa mục tiêu có ưu tiên 41
Bảng 2.5 Bảng pay – off 49
Bảng 2.6 Số liệu của những điểm cực biên hữu hiệu 59
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Minh họa đồ thị bài toán QHTT hai mục tiêu 7
Hình 1.2 Minh họa bài toán trên đồ thị 9
Hình 1.3 Minh họa bài toán trên đồ thị 9
Hình 1.4 Thỏa hiệp 13
Hình 1.5 L* thỏa hiệp 13
Hình 1.6 L* thỏa hiệp 13
Hình 1.7 Sơ đồ khối giải QHĐMT bằng phương pháp đồ thị 17
Hình 2.1 Phương pháp đồ thị giải bài toán quy hoạch tuyến tính 27
Hình 2.2 Sơ đồ khối giải bài toán QHTT 29
Hình 2.3 Quy tắc hình chữ nhật 32
Hình 2.4 Tập hữu hiệu và chấp nhận được 64
Hình 3.1 Đồ thị biểu diễn thiệt hại mà môi trường gây ra 76
Trang 9LỜI MỞ ĐẦU
Trong nhiều ứng dụng thực tế gắn liền với việc thiết kế và kế hoạch hóa trong các ngành kinh tế - kỹ thuật, điều khiển các hoạt động sản xuất, chúng ta thường hay gặp những bài toán liên quan đến việc phân tích, lựa chọn quyết định hướng vào nhiều mục tiêu khác nhau Chẳng hạn, trong một đơn vị sản xuất kinh doanh chúng ta nên chọn quyết định nào sao cho giá thành sản phẩm hạ, năng suất lao động cao, quy trình sản xuất đơn giản, thời gian ngắn… Đó là bài toán QHĐMT Mô hình toán học của bài toán này là:
Có k hàm mục tiêu ký hiệu Y1, Y2, …Yk với Yi:D® Trong đó: D là tập R
các phương án chấp nhận được Xi nói chung là một tập được sắp xếp và có quan hệ thứ tự xác định trên đó là Ri Vấn đề đặt ra là phải tìm một X0 làm tối ưu hóa (cực đại hoặc cực tiểu) đồng thời các giá trị các hàm Y1,…., Yk Trong trường hợp này nếu: " Î "X D, i:XR Xi 0thì X0 là phương án tối ưu cần tìm Song khả năng tồn tại
X0 lí tưởng như vậy là rất hiếm (mà thường không có) vì các hàm mục tiêu Yi(tương ứng các quan hệ Ri) thường không hoàn toàn độc lập với nhau, thậm chí còn
có những mâu thuẫn nhau Vậy khó khăn chủ yếu đối với việc chọn lựa quyết định
là trên tập X1,…, Xk (tích Decart của các Xi) chưa có một mối quan hệ thứ tự xác định nào
Bài toán trên đã và đang được nhiều người quan tâm, giải quyết Cho đến nay đã có nhiều phương pháp giải Tuy nhiên mỗi phương pháp đều có những ưu khuyết điểm của nó Nhưng tập trung lại ta thấy bài toán QHĐMT thường qua 2
Bước 2: Xử lý, thu gọn tập tối ưu Pareto để thu được nghiệm tối ưu
(Nhiều khi người ta thay cho việc đòi hỏi ưu tiên các hàm mục tiêu bằng đòi hỏi sự ưu tiên của phương án này với phương án kia để có thể nhanh chóng tìm được những phương án tốt hơn)
Thực tế có rất nhiều phương pháp và giải quyết khác nhau: Các phương pháp này có thể giải bài toán QHĐMT tuần tự qua hai bước chủ yếu Hoặc dùng để xử lý tập phương án tối ưu Pareto Cũng có những phương pháp giải hầu như gộp cả hai bước lại
Trang 10CHƯƠNG I: TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP GIẢI BÀI
TOÁN QUY HOẠCH ĐA MỤC TIÊU
1.1 Mô hình toán học của bài toán
Trong các bài toán kỹ thuật, công nghệ, quản lý, kinh tế nông nghiệp v.v nảy sinh từ thực tế, chúng ta thường phải xem xét để tối ưu hoá đồng thời một lúc nhiều mục tiêu Các mục tiêu này thường là khác về thứ nguyên, tức là chúng được
đo bởi các đơn vị khác nhau Những tình huống như vậy tạo ra các bài toán tối ưu
đa mục tiêu Như vậy, chúng ta cần phải tối ưu hoá (cực đại hoá hoặc cực tiểu hoá tuỳ theo tình huống thực tế) không phải là chỉ một mục tiêu nào đó, mà là đồng thời tất cả các mục tiêu đã đặt ra
Bài toán tối ưu đa mục tiêu mà trong đó miền ràng buộc D là tập lồi đa diện
và các mục tiêu zi = f i(X), với i = 1, 2,…, p là các hàm tuyến tính xác định trên D, được gọi là bài toán QHTTĐMT Khi đó, ta có mô hình toán học sau đây được gọi
Ta có thể viết bài toán này dưới dạng ma trận như sau:
Trang 11Có thể nói, bài toán QHĐMT là bài toán mà trong đó chúng ta phải tối ưu hóa cùng một lúc nhiều mục tiêu Tuy nhiên, các mục tiêu này thường đối chọi, cạnh tranh với nhau Việc làm tốt hơn mục tiêu này thường dẫn tới việc làm xấu đi một số mục tiêu khác.Vì vậy việc giải các bài toán tối ưu đa mục tiêu, tức là tìm ra một phương án khả thi tốt nhất theo một nghĩa nào đó, thực chất chính là một bài toán ra quyết định Có thể khẳng định "Tối ưu hoá chính là công cụ định lượng chủ yếu nhất của quá trình ra quyết định"
Hiện tại các tài liệu, sách chuyên khảo, tạp chí cập nhật về lĩnh vực liên ngành Toán-Tin, Khoa học quản lý, Công nghệ, Kinh tế, Điện, Cơ khí nông nghiệp, đề cập rất nhiều tới bài toán tối ưu đa mục tiêu Vấn đề nghiên cứu cơ sở lý thuyết, thuật toán, lập mô hình, xây dựng hệ máy tính trợ giúp quyết định, và áp dụng các mô hình tối ưu đa mục tiêu cho quá trình công nghệ, quản lý, là một vấn
đề liên ngành được rất nhiều nhà khoa học và kĩ sư thực hành quan tâm
· Phương án tối ưu Pareto
Khái niệm then chốt trong tối ưu hoá đa mục tiêu là khái niệm phương án tối
ưu Pareto
Định nghĩa:
Một phương án tối ưu Pareto X* có tính chất sau đây:
- Trước hết nó phải thuộc vào miền các phương án khả thi của bài toán, tức
là phải thỏa mãn tất cả các ràng buộc: *
X Î D
- Với mọi phương án khả thi khác X Î Dmà có một mục tiêu nào đó tốt hơn ( f i(X) tốt hơn f i(X*)) thì cũng phải có ít nhất một mục tiêu khác xấu hơn ( f j(X) xấu hơn f j(X*), j ¹ i )
Nói một cách khác, không tồn tại một phương án khả thi X Î D nào có thể trội hơn X* trên tổng thể
Để minh họa định nghĩa trên, ta xét ví dụ đã cho:
Trang 12
Hình 1.1 Minh họa đồ thị bài toán QHTT hai mục tiêu
Miền các phương án khả thi D (miền giới hạn bởi đoạn AB và các tia Ad, Bx) được biểu thị trên hình, n ( 1, 2)r1 - -
là hướng giảm của mục tiêu 1, còn
2
n (0, 2)r
là hướng tăng của mục tiêu 2
Lúc này A(0, 3) cũng như B(3, 0) là hai phương án tối ưu Pareto của bài toán trên Dễ thấy tập hợp P tất cả các phương án tối ưu Pareto bao gồm các điểm nằm trên đoạn AB và Ad
1.2 Phương pháp thỏa dụng mờ Pgs Nguyễn Hải Thanh
Để tìm các phương án quyết định cho một mô hình QHĐMT chúng ta có thể
sử dụng phương pháp thỏa dụng mờ cải biên do Pgs Nguyển Hải Thanh đề xuất và phát triển
Thuật giải:
a Bước khởi tạo
- Giải bài toán QHTT cho từng mục tiêu f i (i = 1, 2, , p) với m ràng buộc ban đầu, thu được các phương án tối ưu X , X , , X1 2 L(nếu với một mục tiêu nào đó bài toán không cho phương án tối ưu thì cần xem xét để chỉnh sửa lại các điều kiện ràng buộc ban đầu)
- Tính giá trị hàm mục tiêu tại L phương án X , X , , X1 2 L
Trang 13Lập bảng pay – off Xác định giá trị cận trên f và giá trị cận dưới iB fiwcủa mục tiêu f i (i = 1, 2, , L)
- Xác định các hàm thỏa dụng mờ m1( ) ( )f1 ,m2 f2 , ,mL( )fL cho từng mục tiêu dựa vào thông tin từ bảng pay-off theo công thức:
- Nếu NNLG cảm thấy chưa thỏa mãn với các giá trị đạt được của các hàm mục tiêu cũng như của các hàm thỏa dụng thì phương án thu được X(k) chưa phải là phương án tối ưu thỏa mãn nhất Đặt k = k + 1, quay về bước 1
- Nếu NNLG đã cảm thấy thỏa mãn thì phương án thu được là X(k) Chuyển sang bước 3
Bước 3: Kết thúc
Đưa ra PATƯ X(k)
Kết thúc bài toán
1.3 Phương pháp đồ thị
Mục này ta đưa ra một phương pháp giải khác: Giải bài toán QHTTĐMT (ta
có thể mở rộng cho bài toán QHĐMT tổng quát) bằng phương pháp đồ thị và những hình thức thỏa hiệp
1.3.1 Bài toán quy hoạch tuyến tính đa mục tiêu
Trang 14Trong đó:
C=(cij)kxn ; A=(aij)mxn
X=(X1, X2, …, Xn); Y=(Y1, Y2, …, Yk); b=(b1, b2, …, bm)
Y1,…, Yk là các hàm mục tiêu hay các tiêu chuẩn
Y=(Y1,…, Yk) (k>=2) gọi là một quyết định
Y={Y} gọi là tập các quyết định k - tiêu chuẩn
c) Nếu $i : Hi =Di thì loại thành phần i ra khỏi vector Y
Vấn đề đặt ra ở đây là: Tìm YÎY thỏa (1.1) và theo NNLG đó là phương án tốt nhất (hay hàm lợi ích cực đại)
a) Minh họa bài toán trên đồ thị
- Một quyết định Y có thể biểu diễn trên một tọa độ sao (hình 1.2):
- Ta vẽ đường tròn tâm S Từ S vẽ k là nửa đường thẳng tạo nên các góc ở tâm bằng 2 / kp (hình 1.2) Trên hướng i lấy Di = w, còn Hi trên đường tròn Z Khi
đó mỗi quyết định Y được biểu diễn bởi k điểm với các toạ độ Yi,…, Yk trên tọa độ sao (hình 1.3) gọi là S(Y) Nối các đỉnh tạo được một đa giác P(Y)
Trang 15Định nghĩa 3:
Tập con Yn của Y mà trong đó không chứa một quyết định nào tốt hơn
và Y" ÎY đều không tốt bằng '
n
Y Î Y thì gọi là tập quyết định không tốt hơn ( Ynchính là tập phương án tối ưu Pareto)
Định nghĩa 4:
H = (H1,…, Hk) gọi là quyết định lý tưởng (hay phương án lý tưởng)
D = (D1,…, Dk) gọi là quyết định tệ nhất ( hay phương án bất đắc dĩ)
Nói chung HÏY, DÏY
Tính chất:
1) Y1 và Y2 không tốt hơn nhau ÛS Y( ) ( )1 ËS Y2 và S Y( ) ( )2 ËS Y1
2) S(H) là hình sao đều (tâm S, đỉnh trên Z)
3) S(D)=w(thoái hoá thành một điểm)
Tương tự ta có:
1') Y1 và Y2 không tốt hơn nhau ÛP Y( )1 ËP Y( )2 vàP Y( ) ( )2 ËP Y1
2') P(H) là đa giác đều nội tiếp đường tròn Z
3') P(D)º S
1.3.2 Phương pháp giải QHĐMT dựa vào hình thức thỏa hiệp
- Khi xử lý tập nghiệm tối ưu Pareto để tìm phương án thỏa hiệp Y* mà theo NNLG đó là phương án tốt nhất Nói chung có nhiều phương pháp tìm nhưng thường không rõ ràng
- Tuy nhiên phương án Y* cần tìm phải thỏa một số điều kiện
Chẳng hạn:
n
Y Î Y Có như vậy thì Y* mới là phương án tối ưu
ü Y* không thay đổi khi ta hoán vị các mục tiêu
Trang 16Y’ ¹ Y* và Y’ ³ Y* " i
( )
* (i) (i)
Þ ³ " = với C(i) = (ci1,…… ,cin)
' * (i) (i)
hay
Y H Y H
Trang 173) Bài toán (1.6) tương đương với bài toán:
-YÎ YtTrong đó Y( )t là tập nghiệm của các bài toán sau :
£
³
£ £ " =å
Trang 18thì Y- gọi là L thỏa hiệp
(L chỉ độ đo lebergue trong E2 coi như diện tích giữa 2 đa giác (hình 1.4 và hình 1.5)
Trang 19-YÎ Y
Y Y
Þ º điều phải chứng minh
d) Giải bài toán QHTTĐMT
Trang 20(i) (i)
X D
=Î
Và Hi = C(i)X(i) trong đó:
X arg max C X
X D
=Î
** Giải bài toán này dựa vào hình thức H- thỏa hiệp, tức ta giải bài toán:
** Giải bài toán dựa trên hình thức L* thỏa hiệp
Ta giải bài toán:
Ta có Hi > Di.
** Giải theo H – thỏa hiệp
Ta giải bài toán
Trang 21** Giải theo L* thỏa hiệp
Trang 22f) Sơ đồ khối giải QHĐMT bằng phương pháp đồ thị
Hình 1.7 Sơ đồ khối giải QHĐMT bằng phương pháp đồ thị
Trang 23Thuật toán giải:
Bước 0: Giải k bài toán 1 mục tiêu riêng rẽ Sau đó lập bảng thưởng phạt
(trong đó Xi là phương án tối ưu, Yi
0 là giá trị tối ưu)
Bảng 1.1 Bảng thưởng phạt phương pháp nhượng bộ dần
Bước 1: Căn cứ vào bảng thưởng phạt và Y10 NNLG bắt Y1 phải nhượng bộ một lượng DY1 và giải bài toán:
max Y2(X)
X Î D
Y1(X) ³ Y10 - DY1 Giả sử Y2* là giá trị tối ưu của bài toán, chuyển sang bước thứ 2
Bước 2: NNLG căn cứ vào Y20 và Y2* bắt Y2 nhượng bộ một lượng DY2 và giải bài toán:
max Y3(X)
X Î D
Y1(X) ³ Y10 - DY1
Y2(X) ³ Y2* - DY2 Giả sử Y3* là giá trị tối ưu của bài toán, chuyển sang bước tiếp theo:
……
Bước k: Căn cứ vào Y0
k-1 và Y*k-1 bắt Yk-1 nhượng bộ một lượng DYk-1 và giải:
Trang 241.5 Phương pháp thỏa hiệp TAMM
Giải bài toán
max Y(X)
X Î D Thuật toán giải như sau:
Bước 1: Giải k bài toán một mục tiêu riêng rẽ Giả sử nghiệm tối ưu là Xi (i = 1, k)
gọi là độ tương đối chung
Bước 2: Giải bài toán: min W
Từ đó ta tìm được nghiệm tối ưu X&& và W &&
Ở đây hàm “lợi ích” U tỷ lệ với độ lệch tương đối chung Còn X1>X2 nếu
độ lệch tương đối chung của X1 nhỏ hơn X2 và ta có " Î X D: X >X hoặc X ~ X
1.6 Phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng
Ở đây giá trị hàm lợi ích tỷ lệ với khoảng cách từ phương án X Î D đến cái gọi là nghiệm lý tưởng Phương án X1>X2 khi và chỉ khi nghiệm X1 gần nghiệm lý tưởng hơn X2.
Định nghĩa 1: Giả sử X1, X2 Î Rn Khoảng cách giữa 2 điểm X1, X2 là một số
Trang 25Giả sử Y* là các giá trị tối ưu của từng mục tiêu riêng rẽ ( Yi*=max Y(X)) Khi đó giá trị của hàm mục tiêu Y tại X* là : (Y1*,… Yk*) và khoảng cách từ một phương án X đến nghiệm lý tưởng được xác định bởi:
a a
min Y (X) Y
k
i
a a
Trang 26Ở đây D =i Yi*-W ta hiểu là nhượng bộ của mục tiêu thứ nhất, như thế quan điểm nhượng bộ ở đây là dựa trên nhượng bộ đồng đều theo tất cả các chỉ tiêu, phương án X* là trội nhất nếu nhượng bộ “đều” của nó là nhỏ nhất
Trong trường hợp chung, tập các nghiệm của (1.26), (1.27) là tập các nghiệm thỏa hiệp tốt nhất Người ta cũng chứng minh được rằng tập các nghiệm thỏa hiệp tốt nhất là một tập con của tập các nghiệm không cải tiến được
Zeleny (1974) đã chứng minh: tập các nghiệm thỏa hiệp ứng với da(1 £ £ ¥ a )
nằm trong khoảng nghiệm ứng với d1 và da
Còn trong trường hợpa = ¥Xalucvatde có nêu ra một thuật toán thỏa hiệp
Ở đây có các quan hệ >, ~ được dựa trên các metric da:
-1.7 Phương pháp từng bước của Benayoun
Phương pháp này gần giống phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng Nó có 2 biến dạng như sau:
- Các độ lệch tương đối của hàm mục tiêu thì được gắn với một bộ trọng số tương ứng Trọng số này được xác định dựa trên khoảng biến động của từng mục tiêu
- Miền chấp nhận của nó có thể thay đổi qua các bước giải
Hàm lợi ích và các quan hệ xác định như phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm lý tưởng
Bài toán cơ bản mà phương pháp này xét:
Ta viết d'a là metric đã thay đổi
Di là miền chấp nhận được, khi i = 0 thì D0 º D
Trang 27Thuật toán giải như sau:
Bước 1: Xây dựng bảng “ thưởng phạt” xác định MI và mI (giá trị max và min của
YI(X)) ở cột I
Bước 2: Tìm các trọng số
Xác định ¥ để tính I pI:
( )2 1
*M
I
ap
a
=
å và giải bài toán i
Bước 4: Giả sử nghiệm bài toán i là X(i), đưa cho NNLG nghiệm X(i) NNLG phân
tích kết quả và xảy ra các trường hợp sau:
a) Nếu NNLG chấp nhận X(i) thì thuật toán kết thúc
b) Nếu NNLG không chấp nhận X(i) và nếu chỉ số i < k-1 thì sang bước 5
c) Nếu NNLG không thỏa mãn X(i) và i = k-1 thì chọn cách giải khác
Bước 5: NNLG phân tích kết quả và tìm ra mục tiêu I* có thể nhượng bộ cho
NNLG một lượng nhượng bộ DI* và sang bước 6
Bước 6: Xác định miền chấp nhận mới D(i+1)
Trang 28Với pi, i=1, k là các trọng số, thường xét là pi ³ 0 "i và
k i
Một đơn vị mục tiêu thứ i có thể được thay thế bởi pi đơn vị tiền tệ
Bài toán (1.30), (1.31) là 1 bài toán quy hoạch đơn chỉ phụ thuộc vào tham
số Đặc biệt với mọi Yi(i = 1,k) là các hàm tuyến tính thì ta có một bài toán quy hoạch tuyến tính phụ thuộc tham số ở hàm mục tiêu
Ở đây quan hệ >, ~ được rút ra thông qua việc so sánh hàm mục tiêu (1.30)
Thuật toán giải:
Bước 1: Xây dựng bảng thưởng phạt
a) Giải k bài toán một mục tiêu riêng rẽ Giả sử nghiệm tối ưu tương ứng là
Trang 29d) Trong cột j chọn ra giá trị lớn nhất Mj và giá trị bé nhất mj.
Bước 2: Lập bài toán:
Lj có thể nhận một trong r giái trị sau:
mj + i*(Mj - mj ) / (r-I) với i = 0, r - I
Bước 4: Với mỗi bộ giá trị của các Lj ta giải các bài toán (1.32), (1.33), (1.34) Ta
có rk-I bộ LI nên rk-I bài toán (1.32), (1.33), (1.34) Mỗi bài toán cho một nghiệm chấp nhận được Trong những nghiệm này chọn nghiệm tốt nhất
Các quan hệ >, ~ được rút ra từ việc so sánh hàm mục tiêu (1.32) Và hàm lợi ích tuyến tính theo hàm mục tiêu Yh
1.10 Phương pháp giải theo dãy mục tiêu đã được sắp xếp
Theo phương pháp này hàm lợi ích được thể hiện dưới dạng ẩn còn việc xác định quan hệ >, ~ dựa trên thứ tự dãy tiêu chuẩn <Y1,….Yk>
Ở đây thứ tự của dãy thể hiện mức độ quan trọng của dãy, có sự ưu tiên tuyệt đối cho mục tiêu đứng trước
Thuật toán giải:
Bước 0: Sắp xếp thứ tự các mục tiêu Y1,….Yk
Bước 1: Giải bài toán: maxY (X)1
Trang 31CHƯƠNG II: GIẢI BÀI TOÁN QUY HOẠCH ĐA MỤC TIÊU
2.1 Phương pháp đơn hình giải bài toán một mục tiêu
2.1.1 Mô hình quy hoạch tuyến tính một mục tiêu
a) Các bước cần thiết khi áp dụng phương pháp mô hình hoá
- Trước hết phải khảo sát, phát hiện vấn đề cần giải quyết
- Phát biểu các điều kiện ràng buộc, mục tiêu của bài toán dưới dạng định tính Sau đó lựa chọn các biến quyết định , các ẩn số và xây dựng mô hình định lượng (còn gọi là mô hình toán học)
- Thu thập số liệu, xác định phương pháp giải quyết
- Định ra quy trình giải, thuật giải Có thể giải mô hình bằng cách tính toán thông thường Đối với các mô hình lớn, gồm nhiều biến và nhiều điều kiện ràng buộc cần lập trình và giải mô hình trên máy tính
- Đánh giá kết quả Trong trường hợp phát hiện thấy có kết quả bất thường hoặc kết quả không phù hợp với thực tế, cần kiểm tra và chỉnh sửa lại quy trình giải hoặc mô hình
- Triển khai các phương án tìm được trên thực tế
Các thuật ngữ sau thường gặp khi áp dụng phương pháp mô hình hoá:
- Ứng dụng toán, toán ứng dụng (Mathematical Applications hay Applied Mathematics )
- Vận trù học (OR)
- Khoa học quản lí (MS)
b) Mô hình bài toán:
Phát biểu mô hình:
- Với mục đích tìm hiểu bước đầu, xét mô hình toán học sau đây, còn gọi là
mô hình QHTT hay bài toán QHTT, mà trong đó chúng ta muốn tối ưu hoá (cực đại hoá hay cực tiểu hoá) hàm mục tiêu:
³
Trang 32Phương pháp đồ thị:
Phương pháp đồ thị có ý nghĩa minh họa và giúp hiểu bản chất vấn đề
Bước 1: Vẽ miền ràng buộc (miền các phương án khả thi), là tập hợp các
phương án khả thi (các phương án, nếu nói một cách ngắn gọn) Mỗi phương án được thể hiện qua bộ số (x1, x2) còn gọi là vectơ nghiệm, thỏa mãn tất cả các ràng buộc đã có (xem hình 2.1)
- Trước hết chúng ta vẽ đồ thị 4x1 + 2x2 = 60 bằng cách xác định hai điểm trên đồ thị: (x1 = 0, x2 = 30) và (x2 = 0, x1 = 15)
Hình 2.1 Phương pháp đồ thị giải bài toán quy hoạch tuyến tính
Trang 33- Đường thẳng này chia mặt phẳng làm hai nửa mặt phẳng: một phần gồm các điểm (x1, x2) thỏa mãn 4x1 + 2x2 ≤ 60; một phần thỏa mãn 4x1 + 2x2 ≥ 60 Ta tìm được nửa mặt phẳng thỏa mãn 4x1 + 2x2 ≤ 60
- Tương tự, có thể vẽ đồ thị 2x1 + 4x2 = 48 bằng cách xác định hai điểm thuộc đồ thị (x1 = 0, x2 = 12) và (x 2 = 0, x1 = 24) Sau đó tìm nửa mặt phẳng thỏa mãn 2x1 + 4x2 ≤ 48
- Lúc này, giao của hai nửa mặt phẳng tìm được trên đây cho ta tập hợp các điểm (x1, x2) thỏa mãn hai ràng buộc đầu tiên Tuy nhiên, để thỏa mãn điều kiện không âm của các biến, ta chỉ xét các điểm nằm trong góc phần tư thứ nhất Vậy miền các phương án khả thi là miền giới hạn bởi tứ giác OABC (còn gọi là đơn hình
vì là miền tạo nên bởi giao của các nửa mặt phẳng)
Bước 2: Trong miền (OABC) ta tìm điểm (x1, x2) sao cho:
- Tương tự, có thể vẽ đường đồng mức thứ hai: 8x1 + 6x2 = 48 đi qua hai điểm (x1 = 0, x2 = 8) và (x2 = 0, x1 = 6) Chúng ta nhận thấy, nếu tịnh tiến song song đường đồng mức lên trên theo hướng của véctơ pháp tuyến r =
n (8,6) thì giá trị của hàm mục tiêu f = 8x1 + 6x2 tăng lên
- Vậy giá trị f lớn nhất đạt được khi đường đồng mức đi qua điểm B(12, 6) (tìm được x1 = 12, x2 = 6 bằng cách giải hệ phương trình 4x1 + 2x2 = 60 và 2x1 + 4x2 = 48)
- Kết luận: Trong các phương án khả thi thì phương án tối ưu là (x1 = 12, x2
= 6) Tại phương án này, giá trị hàm mục tiêu là lớn nhất f max = 8 x 12 + 6 x 6 =
132
- Nhận xét: Phương án tối ưu của bài toán trên (hay các bài toán QHTT khác,
nếu có) của một bài toán QHTT với miền phương án D là một tập lồi đa diện có đỉnh luôn đạt được tại ít nhất một trong các đỉnh của D Các đỉnh của D còn gọi là các điểm cực biên của nó (chính xác hơn, điểm cực biên là điểm thuộc D, mà không thể tìm được một đoạn thẳng nào cũng thuộc đơn hình nhận điểm đó là điểm trong)
Trang 34Nhận xét trên đây là một định lí toán học đã được chứng minh một cách tổng quát Nói một cách hình ảnh, muốn đạt được phương án tối ưu cho các bài toán QHTT thì cần phải “mạo hiểm” đi xét các điểm cực biên của miền phương án
Cách 2: Từ nhận xét trên, để tìm phương án tối ưu ta chỉ cần so sánh giá trị
của hàm mục tiêu tại các điểm cực biên của miền phương án
- Tính giá trị f tại O(0, 0): f (0, 0) = 0; tại A(0, 12): f (0, 12) = 72; tại C(15,0): f (15, 0) = 120; tại B(12, 6): f (12, 6) = 132 = Max{ f (O), f (A), f (B),
f (C)} Vậy f max = 132
- Nhận xét: Muốn tìm phương án tối ưu của bài toán QHTT ta xuất phát từ
một điểm cực biên nào đó, tìm cách cải thiện hàm mục tiêu bằng cách đi tới điểm cực biên kề nó Tiếp tục như vậy cho tới khi tìm được phương án tối ưu Trong trường hợp bài toán QHTT có phương án tối ưu thì quy trình giải này bao gồm hữu hạn bước (do số điểm cực biên là hữu hạn)
- Đối với bài toán QHTT đang xét, quy trình giải được minh hoạ như sau:
O(0, 0) → A(0,12) → B(12,6) dừng
f = 0 → f = 72 → f = 132 hoặc:
In và lưu trữ kết quả
Dừng
Tìm điểm cực biên
kề tốt hơn
Trang 35- Quy trình giải bài toán QHTT tổng quát có sơ đồ khối giản lược như trình bày (hình 2.2) Trong sơ đồ trên, vì mục đích trình bày vấn đề đơn giản, chúng ta không đề cập tới các trường hợp khi bài toán QHTT có miền phương án là tập rỗng (lúc đó ta không tìm được phương án xuất phát) cũng như khi ta không tìm được điểm cực biên kề tốt hơn mặc dù điều kiện tối ưu chưa thỏa mãn (lúc đó tập các giá trị hàm mục tiêu f không bị chặn)
c) Phương pháp đơn hình:
- Đây là phương pháp số giải bài toán QHTT theo sơ đồ trên Để giải ví dụ
đã cho, trước hết chúng ta cần đưa bài toán QHTT về dạng chính tắc bằng cách thêm vào các biến bù không âm x3 và x4 như sau:
Cách lập và biến đổi các bảng đơn hình:
- Để giải bài toán QHTT dạng chính tắc trên đây, cần lập một số bảng đơn hình như trình bày trong bảng 2.1 Trước hết, cần điền số liệu của bài toán đã cho vào bảng đơn hình bước 1:
- Cột 1 là cột hệ số hàm mục tiêu ứng với các biến cơ sở đã chọn Phương án xuất phát có thể chọn là x1 = x2 = 0 (đây chính là điểm gốc toạ độ O(0, 0)), do đó x3
= 60, x4 = 48) Như vậy tại bước này chúng ta chưa bước vào sản xuất, nên trong phương án chưa có đơn vị sản phẩm loại I hay II được sản xuất ra (chỉ “sản xuất” ra các lượng nguyên liệu dư thừa, ta cũng nói là các “sản phẩm” loại III và IV), và giá trị hàm mục tiêu f tạm thời bằng 0 Các biến bù có giá trị lớn hơn 0 có nghĩa là các nguyên liệu loại tương ứng chưa được sử dụng hết Ta gọi các biến x3 và x4 là các biến cơ sở vì chúng có giá trị lớn hơn 0 còn x1 và x2 là các biến ngoài cơ sở vì chúng có giá trị bằng 0 Với bài toán có hai ràng buộc, tại mỗi bước chỉ có hai biến
Trang 36Bảng 2.1 Các bảng đơn hình giải bài toán QHTT
0
1 Hàng f f 0 = 120 f 1 = 8 f 2 = 4 f 3 = 2 f 4 = 0
–1/6 1/3
Phân tích bảng đơn hình bước 1:
- Hệ số ứng với biến x1 trên hàng thứ nhất là a11 = 4 có nghĩa là tỉ lệ thay thế riêng giữa một đơn vị sản phẩm loại I và một đơn vị sản phẩm loại III là 4 (giải thích: xét phương trình ràng buộc thứ nhất 4x1 + 2x2 + x3 = 60, x1 tăng một đơn vị thì x3 phải giảm bốn đơn vị nếu giữ nguyên x2) Tương tự ta có thể giải thích được ý nghĩa của các hệ số aij khác cho trên hàng 1 và hàng 2 trong bảng đơn hình bước 1
- Chúng ta xét hàng f của bảng đơn hình Để tính f 1, cần áp dụng công thức f 1 = (cột hệ số của hàm mục tiêu) x (cột hệ số của biến x1) = 0x4 + 0x2 = (giá một đơn vị sản phẩm loại III) x (tỉ lệ thay thế riêng loại I / loại III) + (giá một đơn vị sản phẩm loại IV) x (tỉ lệ thay thế riêng loại I / loại IV) = tổng chi phí phải bỏ ra khi đưa thêm một đơn vị sản phẩm loại I vào phương án sản xuất mới = 0 Các giá trị
f j, với j = 1, 2, 3, 4, được tính tương tự và chính là các chi phí khi đưa một thêm một đơn vị sản phẩm loại xj vào phương án sản xuất mới Còn f 0 là giá trị của hàm mục tiêu đạt được tại phương án đang xét: f 0 = (cột hệ số của hàm mục tiêu) x (cột phương án) = 0x60 + 0x48 = 0
- Trên hàng Dj cần ghi các giá trị Dj, j = 1, 2, 3, 4, tính theo công thức Dj =
cj – f j = lợi nhuận trên một đơn vị sản phẩm – chi phí trên một đơn vị sản phẩm Vậy Dj là "lãi biên"/một đơn vị sản phẩm khi đưa thêm một đơn vị sản phẩm loại j vào phương án sản xuất mới Nếu Dj > 0 thì hàm mục tiêu còn tăng được khi ta đưa
Trang 37(3)
thêm các đơn vị sản phẩm loại j vào phương án sản xuất mới Có thể chứng minh được Dj chính là đạo hàm riêng ∂ f /∂xj của hàm mục tiêu f theo biến xj Như vậy,
x1 tăng lên 1 thì f tăng lên 8 còn x2 tăng lên 1 thì f tăng lên 6
- Do D1 và D2 đều dương nên vẫn còn khả năng cải thiện hàm mục tiêu khi chuyển sang (hay “xoay sang”) một phương án cực biên kề tốt hơn (quay lại nhận xét ở phần giải bài toán bằng phương pháp đồ thị: điểm cực biên kề của điểm (0, 0)
có thể là A(0, 12) hay C(15, 0))
Thủ tục xoay (pivotal procedure):
Bước 1: Chọn cột xoay là cột có Dj > 0 Lúc đó biến xj tương ứng với cột xoay được chọn làm biến cơ sở mới do xj tăng kéo theo hàm mục tiêu tăng Ở đây ta chọn đưa x1 vào làm biến cơ sở mới
Bước 2: Chọn hàng xoay để xác định đưa biến nào ra khỏi số biến cơ sở (vì
tại mỗi bước số biến cơ sở là không thay đổi) Để chọn hàng xoay, ta thực hiện quy tắc “tỉ số dương bé nhất" bằng cách lấy cột phương án (60 48)T chia tương ứng cho cột xoay (4 2)T để chọn tỉ số bé nhất Một điều cần chú ý là ta chỉ xét các tỉ số có mẫu số dương
Vì Min{60/4, 48/2} = 60/4 đạt được tại hàng đầu, nên ta đánh dấu Ö vào hàng xoay là hàng đầu (hàng tương ứng với biến x3) Do đó cần đưa x3 ra khỏi các biến cơ sở
Bước 3: Chọn phần tử xoay nằm trên giao của hàng xoay và cột xoay
Bước 4: Xoay sang bảng đơn hình mới, xác định các biến cơ sở mới để điền
vào cột biến cơ sở, đồng thời thay các giá trị trong cột hệ số hàm mục tiêu Sau đó, tính lại các phần tử của hàng xoay bằng cách lấy hàng xoay cũ chia cho phần tử xoay để có hàng mới tương ứng
Bước 5: Các phần tử còn lại của bảng đơn hình mới được tính theo quy tắc
"hình chữ nhật": (1)mới = (1)cũ – (2)cũ x (4)cũ /(3)cũ, trong đó (3) là đỉnh tương ứng với phần tử xoay (xem hình 2.3)
Hình 2.3 Quy tắc hình chữ nhật
(2)
(1) (4)
Chẳng hạn: (1)cũ = 4, 2(cũ) = 2 (3)cũ = phần tử xoay = 4, (4)cũ = 2
Þ (1)mới = 4 - 2 x 2
4 = 3
Trang 38Giải thích: Các bước xoay trên đây chỉ là phép biến đổi tương đương hệ
Bằng cách lấy phương trình (a) chia cho 4 (phần tử xoay) để có (a’), rồi lấy (b) trừ bớt 2x (a)/4 để có (b’) Đây chính là nội dung của bước 4 và bước 5 Còn bước 3 sẽ đảm bảo rằng giá trị của các biến cơ sở mới không âm (x1 = 15, x4 = 18)
- Áp dụng thủ tục xoay cho các phần tử nằm trên hàng 1 và 2 của bảng đơn hình bước 1, sau đó tính các giá trị trên hàng f j và Dj tương tự như khi lập bảng đơn hình bước 1, chúng ta sẽ nhận được bảng đơn hình bước 2
Phân tích bảng đơn hình bước 2:
- Bảng bước 2 có thể được phân tích tương tự như bảng bước 1 Cần chú ý rằng lúc này ta đang ở vị trí của điểm C(15, 0) vì x1 = 15 còn x2 = 0; giá trị của hàm mục tiêu là f 0 = 120 đã được cải thiện hơn so với bước 1 Ta thấy D2 = 2 > 0 nên còn có thể cải thiện hàm mục tiêu bằng cách chọn biến x2 làm biến cơ sở mới Thực hiện các bước xoay sang phương án cực biên kề tốt hơn, chúng ta sẽ có bảng đơn hình bước 3
Phân tích bảng đơn hình bước 3:
- Tại bảng đơn hình bước 3 ta thấy điều kiện tối ưu đã được thỏa mãn (Dj ≤
0 "j=1, 2, 3, 4) nên không còn khả năng cải thiện phương án Phương án tối ưu đã đạt được tại x1 = 12, x2 = 6, x3 = 0, x4 = 0, tức là tại điểm cực biên B(12, 6) với giá trị f max = 132
Một số chú ý:
- Điều kiện tối ưu cho các bài toán QHTT dạng Max là Dj ≤ 0 "j
- Đối với các bài toán QHTT cần cực tiểu hoá hàm mục tiêu thì điều kiện tối ưu (hay tiêu chuẩn dừng) là Dj ≥ 0 "j (nếu tồn tại j mà Dj < 0 thì cần tiếp tục cải thiện hàm mục tiêu bằng cách chọn cột j làm cột xoay )
- Trong thực tiễn giải các bài toán QHTT dạng tổng quát có thể xảy ra trường hợp không tìm được phương án xuất phát (tức là không có phương án khả thi) Lúc này có thể kết luận mô hình đã thiết lập có các điều kiện ràng buộc quá chặt chẽ, cần xem xét nới lỏng các điều kiện này
Trang 39- Trong trường hợp ta tìm được cột xoay mà không tìm được hàng xoay thì kết luận hàm mục tiêu không bị chặn trên (đối với các bài toán QHTT dạng Max) hoặc không bị chặn dưới (đối với các bài toán QHTT dạng Min) Khi đó dừng quá trình giải và kết luận mô hình quy hoạch tuyến tính
đã thiết lập không phù hợp với thực tế
2.1.2 Bổ sung thêm về phương pháp đơn hình:
a) Đưa bài toán QHTT về dạng chính tắc:
Ví dụ 1: (Trường hợp các ràng buộc đều có dấu ≤)
f = 8x1 + 6x2 → Max Với các ràng buộc:
- Đưa bài toán QHTT về dạng chính tắc như đã biết bằng cách thêm hai biến
bù (slack variables) x3 và x4 Ta có bài toán QHTT dạng chính tắc là:
vế phải của các ràng buộc không âm Ngoài ra, mỗi phương trình bắt buộc phải có một biến đứng độc lập với hệ số +1
Ví dụ 2: (Trường hợp có điều kiện ràng buộc với dấu ≥)
f = 8x1 + 6x2 → Max Với các ràng buộc:
Trang 40- Phải thêm biến giả x5 (x5 gọi là lượng vi phạm của phương trình thứ hai)
để được hệ điều kiện ràng buộc:
Ví dụ 3: (Trường hợp có biến không dương)
f = 8x1 – 6x2 → Max Với các ràng buộc:
- Lúc này muốn giải bài toán bằng phương pháp đơn hình ta phải đổi biến x'2
= –x2 Ta có bài toán QHTT với các biến đều không âm
f = 8x1 + 6x’2 → Max Với các ràng buộc:
ì + £ ï
+ £ í
ï ³ î