Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 31

CÔNG CỤ TOÁN CHO CNTT

CHƯƠNG 4

Giảng viên: Vũ Văn Thỏa


CHƯƠNG 4. CÁC PHƯƠNG PHÁP TOÁN TỐI ƯU

 Bài toán tối ưu tổng quát


 Qui hoạch động
 Qui hoạch đa mục tiêu

27/10/2023 CCT cho CN59TT 2/53


4.1 Mở đầu
 Đặt bài toán
 Phân loại các bài toán tối ưu
 Vấn đề mô hình hóa toán học

27/10/2023 CCT cho CN59TT 3/53


4.1.1 Đặt bài toán
 Khi giải quyết các bài toán thực tế, một vấn đề hết sức quan
trọng cần phải quan tâm là tiết kiệm vật tư, vốn, tài nguyên,
sức lao động và thời gian, tức là cần tối ưu hóa theo một
nghĩa nào đó.
Dạng tổng quát của bài toán tối ưu:
 Cực đại (hoặc cực tiểu) hàm: F(x)  max (min) (1)
Điều kiện: Gi(x) ≤ (=, ≥) Bi, i = 1..m (2) x  XRn (3)
Bài toán (1)-(3) gọi là một qui hoạch.

27/10/2023 CCT cho CN59TT 4/107


Các thuật ngữ
 F(x) gọi là hàm mục tiêu,
 Gi(x), i = 1..m, gọi là các hàm ràng buộc, mỗi đẳng thức hoặc bất đẳng
thức trong (2) gọi là một ràng buộc.
 D = { x  X | Gi(x) ≤ (=, ≥) B, i = 1..m} gọi là miền chấp nhận được hay là tập
các phương án.
 x = (x1, ..., xn)  D gọi là một phương án (hay lời giải) chấp nhận được.
 Một phương án x*  D được gọi là phương án (lời giải) tối ưu nếu:
 F(x*) ≥ F(x),  x  D (đối với bài toán cực đại)
 F(x*) ≤ F(x),  x  D (đối với bài toán cực tiểu).
 F(x*) gọi là giá trị tối ưu của bài toán (1)-(3).

27/10/2023 CCT cho CN59TT 5/107


4.1.2 Phân loại các bài toán tối ưu
Phương pháp hiển nhiên nhất để giải bài toán tối ưu (1)-(3) là phương
pháp thử sai-vét cạn (Duyệt toàn thể): tính giá trị của hàm mục tiêu
F(x) của tất cả các phương án x  D rồi so sánh để tìm ra giá trị và
phương án tối ưu.
Phương pháp này khó có thể thực hiện được do tập D thường có rất
nhiều phần tử.
 cần phải nghiên cứu trước về mặt lý thuyết để có thể tách ra từ bài
toán tổng quát những lớp bài toán “dễ giải”.

27/10/2023 CCT cho CN59TT 6/107


Một số dạng bài toán tối ưu
 Qui hoạch tuyến tính nếu hàm mục tiêu F(x) và các hàm ràng buộc
Gi(x), i = 1..m, đều là tuyến tính. Trường hợp đặc biệt là bài toán
vận tải.
 Qui hoạch tham số nếu các hệ số trong biểu thức của hàm mục tiêu
và của các ràng buộc phụ thuộc vào tham số.
 Qui hoạch động nếu đối tượng xét là quá trình có nhiều giai đoạn
nói chung, hay các quá trình phát triển theo thời gian nói riêng.
 Qui hoạch phi tuyến nếu F(x) hoặc ít nhất một trong các hàm Gi(x)
là phi tuyến.
 Qui hoạch rời rạc nếu miền ràng buộc D là tập rời rạc. Trong trường
hợp các biến chỉ nhận giá trị nguyên gọi là qui hoạch nguyên.
 Qui hoạch đa mục tiêu nếu F(x) là một họ các hàm trên cùng miền
ràng buộc D.

27/10/2023 CCT cho CN59TT 7/107


4.1.3 Vấn đề mô hình hóa toán học
 Để giải quyết một vấn đề thực tế cần xây dựng mô hình toán học của nó.
Việc mô hình hóa toán học cho một vấn đề thực tế có thể chia ra 4 bước:
Bước 1. Xây dựng mô hình định tính cho vấn đề thực tế: xác định các yếu tố
có ý nghĩa quan trọng nhất và xác lập các quy luật mà chúng phải tuân theo
 phát biểu mô hình bằng lời, bảng, biểu đồ và các điều kiện kinh tế, kỹ
thuật, tự nhiên, xã hội, các mục tiêu cần đạt được.
Bước 2. Xây dựng mô hình toán học trên cơ sở mô hình định tính trong
bước 1: diễn đạt lại dưới dạng các ngôn ngữ toán học cho mô hình định tính
 chọn các biến số đặc trưng của hệ thống, tìm mối liên hệ giữa các biến số
và các hệ số điều khiển, xác định hàm mục tiêu, diễn tả các điều kiện kinh tế,
kỹ thuật, ... bởi các phương trình, bất phương trình.
Bước 3. Sử dụng các công cụ Toán để khảo sát và giải quyết bài toán hình
thành trong bước 2.
Bước 4. Phân tích và kiểm định lại các kết quả thu được trong bước 3.

27/10/2023 CCT cho CN59TT 8/107


Các kịch bản xử lí
 Kịch bản 1: Mô hình và kết quả tính toán phù hợp với thực tế.  có
thể sử dụng mô hình và phương pháp tính đã xây dựng.
 Kịch bản 2: Mô hình và kết quả tính toán không phù hợp với thực
tế. Khi đó cần tìm hiểu các lỗi gây ra điều đó:
 Kết quả tính toán trong bước 3 không đủ độ chính xác cần thiết,
 Số liệu INPUT có thể chưa đầy đủ và chính xác,
 Mô hình định tính xây dựng chưa phản ánh đầy đủ hiện tượng thực tế hoặc mô
hình toán học được xây dựng ở bước 2 chưa thỏa đáng.

 cần phải quay lại bước 1 để tiến hành lại các bước cần thiết.

27/10/2023 CCT cho CN59TT 9/107


4.2 Qui hoạch động
 Khái niệm
 Nội dung

27/10/2023 CCT cho CN59TT 10/107


4.2.1 Khái niệm
 Đối tượng của Quy hoạch động (QHĐ) là các hệ thống có quá
trình phát triển theo thời gian hoặc các bài toán với hàm mục
tiêu là tổng của một số hàm tách biến và phải giải bài toán
qua nhiều giai đoạn.
 Có thể tìm được công thức truy hồi biểu diễn giai đoạn hiện
thời qua các kết quả tính toán đã biết của các giai đoạn trước.
 Đặc trưng cơ bản của QHĐ là dựa trên nguyên tắc tối ưu do
nhà toán học Bellman (Mỹ) nêu ra:
Dáng điệu tối ưu có tính chất là dù trạng thái ban đầu và điều
khiển ban đầu có dạng như thế nào thì điều khiển tiếp theo cũng
tối ưu với trạng thái thu được trong kết quả của những điều khiển
ban đầu.

27/10/2023 CCT cho CN59TT 11/107


4.2.2 Nội dung của phương pháp QHĐ

1) Bài toán phân phối tài nguyên một chiều và


phương trình truy toán
 Xét quá trình phân phối một tài nguyên:
 Giả sử có 1 loại tài nguyên trữ lượng b cần phân phối
cho n đội sản xuất. Biết rằng nếu phân phối cho đơn
vị j một lượng tài nguyên là xj thì hiệu quả mang lại là
cj(xj), j= 1,2,...,n.
 Hãy lập kế hoạch phân phối tài nguyên sao cho tổng
hiệu quả là lớn nhất?

27/10/2023 CCT cho CN59TT 12/107


Mô hình toán học của bài toán
 Trong đó:
 2.1 là hàm mục tiêu
 2,2 là các ràng buộc.

 Kí hiệu bài toán (2.1) -


(2.2) là pn(b) và giá trị tối
ưu tương ứng là fn(b).

27/10/2023 CCT cho CN59TT 13/107


Nguyên tắc lồng
 Trong đó:
 Bài toán (2.3)-(2,4) kí hiệu là
Pk(a) với giá trị tối ưu fk(a).
 Bài toán (2.1)-(2.2) là
trường hợp riêng của bài
toán trên khi k = n; a = b.
 Bài toán (2.3)-(2,4) nhận
được bằng cách tham số
hóa (2.1)-(2.2)
 Quá trình trên sử dụng
nguyên tắc lồng hay tham
số hóa

27/10/2023 CCT cho CN59TT 14/107


Xây dựng công thức QHĐ
 Xét bài toán (2.3)-(2.4) theo nguyên tắc tối ưu của QHĐ. Giả sử ta
phân phối cho đơn vị thứ k lượng tài nguyên Xk
 lượng tài nguyên còn lại là a - Xk sẽ được phân phối tói ưu cho k-1
đơn vị với hiệu quả tổng là
ck(Xk) + fk-1(a – Xk) (2.5)

 Ta phải tìm giá trị Xk sao cho tổng hiệu quả (2.5) là lớn nhất
fk(a) = Max{ck(Xk) + fk-1(a – Xk); 0  Xk  a; k= 1, …, n} (2.6)

 (2.6) gọi là phương trình truy toán của QHĐ hay công thức QHĐ.

27/10/2023 CCT cho CN59TT 15/107


Lược đồ tính toán
 Khởi tạo:
 f0(a) = 0 và fk(0) = 0, với 0  a  b, 0  k  n.
 cj(0) = 0, với 1  j  n
 Tính với k = 1: f1(a) = c1(a), 1  a  b
Quá trình lặp:
Với mọi k, 2  k  n, tính fk(a) theo (2.6):
fk(a) = Max{ck(Xk)+ fk-1(a – Xk); 1  Xk  a}, 1  a  b
 Kết quả: Tính
fn(b) = max {cn(Xn) + fn-1(a - Xn) | 0 ≤ Xn ≤ a}

27/10/2023 CCT cho CN59TT 16/107


2) Ví dụ
 Một công ty có 6 máy
cần phân phối cho 3 cơ
sở sản xuất. Biết rằng,
nếu phân phối xi máy
cho cơ sở thứ j thì tiền
lãi thu được là cj(xi) cho
trong bảng sau đây.
 Hãy tìm cách phân phối
máy sao cho tổng tiền
lãi lớn nhất?

27/10/2023 CCT cho CN59TT 17/107


Giải ví dụ 1
Mô hình của bài toán:
f(x)= c1(x1)+c2(x2)+c3(x3)max,
với điều kiện:

 Gọi hiệu quả tối ưu của bài


toán là f3(6).

27/10/2023 CCT cho CN59TT 18/107


Lồng bài toán vào họ:
Gọi hiệu quả tối ưu của bài
toán là fk(a), 1  a  6, 1  k 
6.
Khởi tạo:
 f0(a) = 0, với 0  a  6.
 fk(0) = 0, với 0  k  3.
 cj(0) = 0, với 1  j  3
 Công thức QHĐ:
fk(a) = Max{ckxk + fk-1(a – xk); 0
 xk  a}, 0  a  6

27/10/2023 CCT cho CN59TT 19/107


Tính với k = 1
 Xét bài toán trong trường hợp chỉ giao máy cho cơ sở thứ
nhất: f1(a) = c1(x1), 1  a  6.

 Kết quả tính toán:

27/10/2023 CCT cho CN59TT 20/107


Tính với k = 2
 Xét bài toán trong trường hợp chỉ giao máy cho cơ sở 1 và
2: f2(a) = Max{c1(x2) + f1(a-x2)}, 1  a  6.
 Kết quả tính toán:
 f2(0) = max{ c2(0) + f1(0)} = 0.
 f2(1) = max{ c2(0) + f1(1), c2(1) + f1(0)} = max{ 0 + 3, 4 + 0} = 4.
 f2(2) = max{ c2(0) + f1(2), c2(1) + f1(1), c2(2) + f1(0)} = max{ 0 + 4,
4 + 3, 6 + 0} = 7.
 f2(3) = max{ c2(0) + f1(3), c2(1) + f1(2), c2(2) + f1(1), c2(3) + f1(0)} =
max{ 0 + 4, 4 + 4, 6 + 3, 7 + 0} = 9.

27/10/2023 CCT cho CN59TT 21/107


Kết quả tính với k = 2
 f2(4) = max{ c2(0) + f1(4), c2(1) + f1(3), c2(2) + f1(2), c2(3) + f1(1),
c2(4) + f1(0)} = max{ 0 + 4, 4 + 4, 6 + 4, 7 + 3, 8 + 0} = 10.
 f2(5) = max{ c2(0) + f1(5), c2(1) + f1(4), c2(2) + f1(3), c2(3) + f1(2),
c2(4) + f1(1), c2(5) + f1(0)} = max{ 0 + 4, 4 + 4, 6 + 4, 8 + 3, 8 + 0} =
11.
 f2(6) = max{ c2(0) + f1(6), c2(1) + f1(5), c2(2) + f1(4), c2(3) + f1(3),
c2(4) + f1(2), c2(5) + f1(1), c2(6) + f1(0)} = max{ 0 + 4, 4 + 4, 6 + 4, 7
+ 3, 8 + 4, 8 + 3, 8 + 0} = 12.

27/10/2023 CCT cho CN59TT 22/107


Tổng hợp kết quả với k = 2

27/10/2023 CCT cho CN59TT 23/107


Tính với k = 3
 Chỉ cần tính f3(6):
f3(6) = max{c3(0) + f2(6), c3(1) + f2(5), c3(2) + f2(4), c3(3) + f2(3), c3(4)
+ f2(2), c3(5) + f2(1), c3(6) + f2(0)} = max{0 + 12, 2 + 11, 4 + 10, 6 + 9,
7 + 7, 8 + 4, 9 + 0} = 15.
Từ đó có kết quả:
x3 = 3, f2(3) = 9  x2 = 2, f1(1) = 3  x1 = 1.
Kết luận:
Số tiền lãi lớn nhất là: f3(6) = 15
Phương án phân phối máy tối ưu: x1 = 1, x2 = 2, x3 = 3

27/10/2023 CCT cho CN59TT 24/107


4.3 Qui hoạch đa mục tiêu
 Mô hình toán học
 Các phương pháp giải

27/10/2023 CCT cho CN59TT 25/107


4.3.1 Mô hình toán học của bài toán

Có k hàm mục tiêu Y1, Y2, …, Yk : Yj: D  R, j = 1, 2, ..., k ,

với D  Rn là tập hợp các phương án chấp nhận được x = (x1, x2, ..., xn).
Cần tìm một phương án x*  D tối ưu hóa (cực đại hoặc cực tiểu) cho
vecto hàm mục tiêu Y(x) = (Y1(x), Y2(x), ..., Yk(x)) theo một cách nào
đó chấp nhận được.
Mô hình của bài toán qui hoạch đa mục tiêu (QHĐMT):
Y(x)  max (min), x  D  Rn, Y(x)  Rk

27/10/2023 CCT cho CN59TT 26/107


4.3.2 Tổng quan các phương pháp giải bài toán

Tìm một phương án tối ưu lý tưởng cho bài toán QHĐMT tthường
không có kết quả vì các hàm mục tiêu Yj, j = 1, ... k, có thể phụ thuộc
lẫn nhau hoặc mâu thuẫn với nhau.
Khi giải các bài toán QHĐMT cần chú ý đến sở thích (đòi hỏi) của
người nhận lời giải (NNLG), tức là khách hàng.
Đòi hỏi của NNLG: Trong tập các phương án tối ưu theo nghĩa nào đó
có:
 Quan hệ trội hơn (tốt hơn), kí hiệu là >>,
 Quan hệ không phân biệt, kí hiệu là ,
 Các quan hệ được hình thành từ việc so sánh « lợi ích » của các phương án. « Lợi
ích » là một hàm U : Y(D)  R thỏa mãn một số điều kiện nào đó khái quát từ bài
toán cụ thể và hiện tượng thực tế.
 Chọn lời giải tối ưu cho bài toán dựa vào đòi hỏi của NNLG.

27/10/2023 CCT cho CN59TT 27/107


Mô hình và phương pháp giải
 Mô hình bài toán QHĐMT kết hợp với lợi ích U của
NNLG:
Max {U(Y(x)) | x  D}

 Phương pháp chung để giải bài toán QHĐMT là tìm


nghiệm gần đúng chấp nhận được của bài toán.
 Có thể giải bài toán QHĐMT bằng các phương pháp đồ thị
(hình học) hoặc bằng cách áp dụng lý thuyết mờ.

27/10/2023 CCT cho CN59TT 28/107


Một số phương pháp giải QHĐMT

Phương pháp nhượng bộ dần


Phương pháp thỏa hiệp của TAMM
Phương pháp tìm nghiệm có khoảng cách ngắn nhất đến
nghiệm lý tưởng
Phương pháp giải theo dãy mục tiêu đã được sắp xếp
Phương pháp người – máy
Phương pháp thích nghi ổn định tối ưu hóa vecto

27/10/2023 CCT cho CN59TT 29/107


Thảo luận

27/10/2023 CCT cho CN30TT 30/53


27/10/2023 CCT cho CN59TT 31/107

You might also like