You are on page 1of 64

ĐỀ CƢƠNG TOÁN NÂNG CAO

CHƢƠNG 1. BÀI TOÁN TỐI ƢU TỔNG QUÁT


1. Bài toán tối ƣu tổng quát và phân loại
1.1. Bài toán tối ƣu tổng quát
1.2. Bhân loại các bài toán tối ƣu
2. Ví dụ về xây dựng bài toán tối ƣu trong kỹ thuật điện

CHƢƠNG 2. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VÀ PHƢƠNG PHÁP GIẢI
1. Mô hình quy hoạch tuyến tính
2. Phƣơng pháp đồ thị
3. Phƣơng pháp đơn hình
2.1. Tìm hiểu quy trình tính toán
2.2. Khung thuật toán đơn hình
4. Cơ sở toán học của phƣơng pháp đơn hình
4.1. Phát biểu bài toán quy hoạch tuyến tính dạng chính tắc
4.2. Công thức số gia hàm mục tiêu
4.3. Tiêu chuẩn tối ƣu
4.4. Thuật toán đơn hình cho bài toán quy hoạch tuyến tính dạng chính tắc
5. Bổ sung thêm về phƣơng pháp đơn hình
5.1. Đƣa bài toán quy hoạch tuyến tính về dạng chính tắc
5.2. Phƣơng pháp đơn hình mở rộng
5.3. Phƣơng pháp đơn hình hai pha
5.4. Phƣơng pháp đơn hình cải biên
6. Ứng dụng bài toán quy hoạch tuyến tính trong kỹ thuật điện (bài toán cho sẵn)

CHƢƠNG 3. BÀI TOÁN ĐỐI NGẪU CỦA BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
1. Phát biểu bài toán đối ngẫu
1.1. Phát biểu bài toán
1.2. Ý nghĩa của bài toán đối ngẫu
1.3. Quy tắc viết bài toán đối ngẫu
1.4. Các tính chất và ý nghĩa của cặp bài toán đối ngẫu
2. Thuật toán đơn hình đối ngẫu
2.1. Quy trình tính toán và phát biểu thuật toán
2.2. Cơ sở của phƣơng pháp đơn hình đối ngẫu
3. Ứng dụng bài toán đối ngẫu của bài toán quy hoạch tuyến tính trong kỹ thuật điện (bài toán cho sẵn)

CHƢƠNG 4. MỘT SỐ PHƢƠNG PHÁP QUY HOẠCH PHI TUYẾN


1. Các khái niệm cơ bản của bài toán tối ƣu phi tuyến
1.1. Phát biểu bài toán tối ƣu phi tuyến
1.2. Phân loại các bài toán tối ƣu phi tuyến toàn cục
1.3. Bài toán quy hoạch lồi
1.4. Hàm nhiều biến khả vi cấp một và cấp hai
2. Một số phƣơng pháp giải bài toán quy hoạch phi tuyến không ràng buộc
2.1. Phƣơng pháp đƣờng dốc nhất
2.2. Phƣơng pháp newton
2.3. Phƣơng pháp huớng liên hợp
3. Thiết lập điều kiện tối ƣu kuhn – tucker cho các bài toán quy hoạch phi tuyến có ràng buộc
3.1. Hàm lagrànge
3.2. Thiết lập điều kiện kuhn – tucker
4. Một số phƣơng pháp giải quy hoạch toàn phƣơng
4.1. Bài toán quy hoạch toàn phƣơng
4.2. Phát biểu điều kiện kuhn – tucker cho bài toán quy hoạch toàn phƣơng
4.3. Phƣơng pháp wolfe giải bài toán quy hoạch toàn phƣơng
4.4. Giải bài toán quy hoạch toàn phƣơng bằng bài toán bù
5. Ví dụ về ứng dụng quy hoạch phi tuyến để tìm công suất phát tối ƣu của các nhà máy điện (bài toán cho
sẵn)

CHƢƠNG 5 QUY HOẠCH THỰC NGHIỆM

CHƢƠNG 6. QUY HOẠCH ĐỘNG


1. Bài toán quy hoạch động
1.1. Khái niệm
1.2 Một số ví dụ về bài toán quy hoạch động
1.3 Nguyên lý tối ƣu Bellman
2. Các bƣớc thực hiện để giải bài toán quy hoạch động
3. Một số bài toán quy hoạch động
MỤC LỤC

CHƢƠNG 1. BÀI TOÁN TỐI ƢU TỔNG QUÁT (2 tiết).......................................................... 4


CHƢƠNG 2. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VÀ PHƢƠNG PHÁP GIẢI (8 tiết) 8
CHƢƠNG 3. BÀI TOÁN ĐỐI NGẪU CỦA BÀI TOÁN QUY HOẠCH TUYẾN TÍNH (4 tiết) 22
CHƢƠNG 4. MỘT SỐ PHƢƠNG PHÁP QUY HOẠCH PHI TUYẾN (12 tiết) .................... 28
CHƢƠNG 5. QUY HOẠCH ĐỘNG (4 tiết) ............................................................................. 55
Hạn chế của phƣơng pháp QHĐ ............................................................................................. 61
CHƯƠNG 1. BÀI TOÁN TỐI ƯU TỔNG QUÁT
1. Bài toán tối ƣu tổng quát và phân loại
1.1. Bài toán tối ƣu tổng quát
Tối ƣu hóa là một trong những lĩnh vực kinh điển của toán học có ảnh huởng đến hầu hết các lĩnh vực khoa học –
công nghệ và kinh tế – xã hội. Trong thực tế, việc tìm giải pháp tối ƣu cho một vấn đề nào đó chiếm một vai trò hết
sức quan trọng. Phƣơng án tối ƣu là phƣơng án hợp lý nhất, tốt nhất, tiết kiệm chi phí, tài nguyên, nguồn lực mà lại
cho hiệu quả cao.
Ví dụ 1.
Tìm sao cho f(x) =
Bài toán tối ƣu trên có dạng cực đại hoá đuợc giải nhƣ sau:
Cho f’(x) = 3 – 3 = 0, ta có các nghiệm là x = –1 và x = +1.
Xét giá trị hàm số f(x) tại các nghiệm vừa tìm đuợc và tại các giá trị x = –2.2 và x = 1.8 (các điểm đầu mút của đoạn
[–2.2 1.8]), ta có f(–2.2) = –3.048 , f(–1) = 3, f(1) = –1, f(1.8) = 1.432.
Vậy giá trị x cần tìm là x = –1. Kết quả của bài toán đuợc minh hoạ trên hình I.1.

Cho hàm số f: .
Bài toán tối ưu tổng quát có dạng: Max (Min) f(x), với x .

Như vậy, cần tìm điểm sao cho hàm mục tiêu f(x) đạt đuợc giá trị lớn nhất đối với bài
toán Max – cực đại hoá (giá trị bé nhất đối với bài toán Min– cực tiểu hoá).

Ðiểm đuợc gọi là phƣơng án khả thi (hay phƣơng án chấp nhận đuợc hoặc phƣơng án,
nếu nói vắn tắt) của bài toán tối ƣu: Max (Min) f(x), với x . Miền D đƣợc gọi là miền ràng buộc. Các toạ
độ thành phần của điểm x đƣợc gọi là các biến quyết định, còn x cũng đuợc gọi là véc tơ quyết định.

Xét bài toán cực đại hoá: Max f(x), với x .


+ Ðiểm đuợc gọi là điểm tối ƣu (hay phƣơng án tối ƣu) toàn cục nếu
và f(x*) f(x), .
+ Ðiểm đƣợc gọi là điểm tối ƣu (hay phƣơng án tối ƣu) địa phƣơng nếu và tồn tại một lân cận đủ
nhỏ của điểm sao cho f( ) f(x), .

Xét bài toán cực tiểu hóa: Min f(x), với x .


+ Ðiểm đuợc gọi là điểm tối ƣu (hay phƣơng án tối ƣu) toàn cục nếu
và f(x*) f(x), .
+ Ðiểm đƣợc gọi là điểm tối ƣu (hay phƣơng án tối ƣu) địa phƣơng nếu và tồn tại một lân cận đủ
nhỏ của điểm sao cho f( ) f(x), .
Ví dụ 2.
Xét bài toán tối ƣu sau:
Max
với điều kiện ràng buộc
x
Bài toán tối ƣu trên đây còn đƣợc gọi là bài toán quy hoạch tuyến tính. Nguời ta dã chứng minh đƣợc rằng mọi
phƣơng án tối ƣu địa phƣơng của bài toán quy hoạch tuyến tính cũng đồng thời là phƣơng án tối ƣu toàn cục.
1.2. Phân loại các bài toán tối ƣu
Các bài toán tối ƣu còn đƣợc gọi là các bài toán quy hoạch toán học và đƣợc chia ra thành các lớp sau:
– Bài toán quy hoạch tuyến tính (BTQHTT),
– Bài toán tối ưu phi tuyến hay còn gọi là bài toán quy hoạch phi tuyến (BTQHPT), bao gồm cả bài toán quy hoạch
lồi (BTQHL) và bài toán quy hoạch toàn phƣơng (BTQHTP),
– Bài toán tối ưu rời rạc, bài toán tối ưu nguyên và hỗn hợp nguyên.
– Bài toán quy hoạch động,
– Bài toán quy hoạch đa mục tiêu,
– Bài toán quy hoạch ngẫu nhiên/mờ ...
2. Một số ví dụ về bài toán tối ƣu trong kỹ thuật điện
a. Bài toán lựa chọn vị trí xây dựng nhà máy
Giả sử cho mạng điện gồm có 3 phụ tải nhƣ hình 1.2. Cần xác định vị trí của nhà máy sao cho tổng chiều dài đây
dẫn

Thỏa mãn điều kiện:

Hình 1.2. Mạng điện ví dụ


b. Bài toán tối ƣu về tổn thất công suất/tổn thất điện năng trên mạng điện
Cho mạng điện có 2 nhà máy cung cấp cho 3 phụ tải nhƣ hình 1.3.
Hình 1.3. Vị trí nhà máy và mạng điện
Bài toán 1: Cần xác định công suất các nhà máy A và B sao cho tổng công suất tác dụng của 2 nhà máy phát ra là
bé nhất.
Nhƣ vậy hàm mục tiêu:

Thỏa mãn các ràng buộc:


+Cân bằng công suất trong mạng: ̇ ̇ ̇ ̇ ̇ ∑ ̇ (với ̇ tổn thất công suất trên đƣờng đây
thứ j trong lƣới)
+Giới hạn công suất tại các máy phát

+Giới hạn điện áp tại các nút thứ i bất kỳ trong lƣới (có thể xem xét đến)

+Giới hạn khả năng phát nóng của đƣờng đây thứ j bất kỳ trong lƣới (có thể xem xét đến):

Bài toán 2: Cần xác định công suất các nhà máy A và B sao cho tổng tổn thất công suất tác dụng trên lƣới là bé
nhất. Nhƣ vậy hàm mục tiêu:
∑ ̇ ∑
Các điều kiện ràng buộc tƣơng tự nhƣ bài toán 1:
̇ ̇ ̇ ̇ ̇ ∑ ̇

Bài toán 3: Cần xác định công suất các nhà máy A và B sao cho tổng chi phí vận hành của 2 nhà máy là bé nhất
với chi phí vận hành của các nhà máy đƣợc biểu điễn Nhƣ vậy hàm mục tiêu:

Các điều kiện ràng buộc tƣơng tự nhƣ bài toán 1:


̇ ̇ ̇ ̇ ̇ ∑ ̇
CHƯƠNG 2. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VÀ PHƯƠNG PHÁP GIẢI

1. Mô hình quy hoạch tuyến tính


Mô hình toán học sau:

với các điều kiện ràng buộc

{
Mô hình toán học này đƣợc gọi là mô hình quy hoạch tuyến tính hay bài toán quy hoạch tuyến tính (BTQHTT), 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.

Ví dụ: xác định giá trị để cho

Với các ràng buộc

2. Giải bài toán QHTT bằng phƣơ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 đề.
Buớc 1: Vẽ miền các phƣơng án khả thi (còn gọi là miền ràng buộc) 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ố ( ), thoả mãn tất cả các ràng buộc đã
có kể cả điều kiện không âm của các biến (xem hình II.1).

– 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 ( ) thoả mãn các ràng buộc.
Tuy nhiên, để thoả 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 (nói vắn tắt hơn, miền phƣơng án) là miền giới hạn bởi tứ giác OABC (còn gọi là tập
lồi đa điện vì là miền tạo nên bởi giao của các nửa mặt phẳng).
Buớc 2: Trong miền (OABC) ta tìm điểm ( ) sao cho
đạt giá trị lớn nhất.

Cách 1. Dùng đƣờng đồng mức. Tùy theo giá trị của mà z có những mức giá trị khác nhau.
– Vẽ đƣờng đồng mức: ở mức c = 24, (ta có thể chọn giá trị c bất kỳ, nhƣng chọn c = 24 là bội số
chung của 6 và 8 để việc tìm tọa độ các điểm cắt hai trục tọa độ thuận lợi hơn). Dễ dàng tìm đuợc hai điểm nằm
trên đƣờng đồng mức này là ( ) và ( ). Các điểm nằm trên đƣờng đồng mức này đều
cho giá trị hàm mục tiêu z = 24.
– Tƣơng tự, có thể vẽ đƣờng đồng mức thứ hai: đi qua hai điểm ( ) và (
). Chúng ta nhận thấy, nếu tịnh tiến song song đƣờng đồng mức lên trên theo huớng của véc tơ pháp tuyến
n(8, 6) thì giá trị của hàm mục tiêu z tăng lên.
Vậy giá trị z lớn nhất đạt đƣợc khi đƣờng đồng mức đi qua điểm B( bằng cách giải hệ phƣơng
trình và )
Do đó, trong các phƣơng án khả thi thì phƣơng án tối ƣu là ( ). Tại phƣơng án này, giá trị hàm mục
tiêu là lớn nhất zmax= 8 × 12 + 6 × 6 = 132.

Nhận xét. Phƣơng án tối ƣu (nếu có) của một BTQHTT với miền phƣơng án D, là một tập
lồi đa điện có đỉnh, luôn đạt đuợc tại ít nhất một trong các đỉnh của D. Các đỉnh này còn đuợc gọi
là các điểm cực biên của tập lồi đa điện D (chính xác hơn, điểm cực biên là điểm thuộc tập lồi đa
điện, mà không thể tìm đuợc một đoạn thẳng nào cũng thuộc tập lồi đa điện nhận điểm đó là điểm
trong). Nói một cách hình ảnh, muốn đạt đƣợc phƣơng án tối ƣu cho các BTQHTT 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, đối với BTQHTT có phƣơng án tối ƣu và có miền phƣơng án D là tập lồi đa điện có đỉnh,
ta có thể tìm phƣơng án tối ƣu bằng cách 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 D. Quay lại ví
dụ 1, ta có giá trị z tại O(0, 0): z (0, 0) = 0, tại A(0,12): z(0, 12) = 72, tại C(15, 0): z(15, 0) = 120 và tại B(12, 6):
z(12, 6) = 132 (đạt zmax)

Nhận xét.
Xét BTQHTT có phƣơng án tối ƣu và có miền phƣơng án D là tập lồi đa điện có đỉnh. Ðể tìm phƣơng án tối ƣu, ta
xuất phát từ một điểm cực biên nào đó và 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ề tốt
hơn. Tiếp tục nhƣ vậy cho tới khi tìm đuợc phƣơng án tối ƣu. Quy trình giải này bao gồm hữu hạn buớc do số điểm
cực biên là hữu hạn. Ðối với BTQHTT trong ví dụ 1, quy trình giải đuợc minh hoạ nhƣ sau:
O(0, 0) => A(0, 12) => B(12, 6) dừng
z=0 z = 72 z = 132
hoặc:
O(0, 0) => C(15, 0) => B(12, 6) dừng
z=0 z = 120 z = 132
Quy trình giải BTQHTT tổng quát có sơ đồ khối giản luợc nhƣ trình bày trên hình II.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 truờng hợp khi
BTQHTT có miền phƣơng án là tập rỗng (lúc đó ta không tìm đƣợc phƣơng án cực biê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 thoả mãn (lúc đó hàm mục
tiêu z không bị chặn).

3. Giải bài toán QHTT bằng phƣơng pháp đơn hình

3.1. Phân loại bài toán QHTT


Xét bài toán QHTT sau
Max
với ràng buộc

a. Bài toán quy hoạch tuyến tính dạng chuẩn tắc

Bài toán QHTT trên đây đƣợc gọi là BTQHTT dạng chuẩn tắc nếu hạng của A bằng m và .
Ví dụ
Xác định giá trị để cho

Với các ràng buộc

Nhƣ vậy ta có thể viết bài toán lại thành:

Với các ràng buộc


ở đây:
c=[8 6 ]
[ ] ; [ ]
Rõ ràng, hạng của ma trận rank(A)=2 và b>0 nên bài toán trên thuộc QHTT dạng chuẩn tắc
Ghi chú: hạng của ma trận là số hàng khác không của ma trận
Nhƣ vậy ma trận B là ma trận chứ 2 véc tơ độc lập tuyến tính [ ] và [ ]

b. Bài toán quy hoạch tuyến tính dạng chính tắc


Bài toán QHTT trên đây đƣợc gọi là BTQHTT dạng chính tắc nếu hạng của A bằng m và . Ngoài ra, nếu A
có m véc tơ cột là các véc tơ đơn vị độc lập tuyến tính.
Ví dụ:
Xác định giá trị để cho

Với các ràng buộc

Nhƣ vậy ta có thể viết bài toán lại thành:

Với các ràng buộc


ở đây:
c=[8 6 0 0]
[ ] ; [ ]
Rõ ràng, hạng của ma trận rank(A)=2 và b>0, ngoài ra trong ma trận A có vecto cột 3 và 4
[ ] và [ ] là 2 vecto độc lập tuyến tính. Vì vậy bài toán có dạng chính tắc.

Trong truờng hợp BTQHTT dạng chính tắc, không làm giảm tính tổng quát, chúng ta luôn có thể phát biểu lại nhƣ
sau:

với các điều kiện ràng buộc

{
Ta có thể viết

Với ràng buộc

Trong đó
;

[ ]

[ ]
Ta có thể viết lại [ ] với là véc tơ cột j của ma trận A.

Với bài toán QHTT dạng chính tắc, ta coi m véc tơ cột là các véc tơ độc lập tuyến tính.
Khi đó các biến gọi là biến cơ sở và các biến còn lại ( gọi là các biến phi
cơ sở.
3.2. Phương án cực biên
Ðối với BTQHTT dạng chính tắc luôn có thể tìm đuợc một phƣơng án xuất phát
, trong đó n phần tử đầu tiên đều bằng 0. Ðây là một phương án cực biên.
Một cách tổng quát, xét một phân rã tùy ý của ma trận A = [N B] với B là ma trận vuông đuợc tạo nên từ m véc tơ
cột độc lập tuyến tính của A, N là ma trận đƣợc tạo nên từ các véc tơ cột còn lại. Lúc đó, một phương án cực biên
của BTQHTT tƣơng ứng với sự phân rã trên của A và véc tơ x
;
[ ]

[ ]

[ ]
.
Ma trận B đƣợc gọi là ma trận cơ sở tƣơng ứng với . Nhƣ vậy, một phƣơng án cực biên không có quá m tọa độ
dƣơng. Phƣơng án cực biên có đúng m tọa độ dƣơng đƣợc gọi là phƣơng án cực biên không suy biến, nếu trái lại,
đó là phƣơng án cực biên suy biến.
Ví dụ:
Xác định giá trị , để cho

Với các ràng buộc

Nhƣ vậy: c=[8 6 0 0]


[ ] ; với [ ] và [ ]
[ ]

Nhƣ vậy ma trận B là ma trận chứa 2 véc tơ độc lập tuyến tính [ ] và [ ]

Và véc tơ [ ]
Nhƣ vậy chúng ta có thể viết
[ ]

Nếu thì [ ]
Như vậy phương án cực biên của ví dụ
4. Cơ sở toán học của phƣơng pháp đơn hình
Xét BTQHTTdạng sau đây (với các ràng buộc đều có dấu =):

với các điều kiện ràng buộc

{
Ta có thể viết

[ ] [ ]
Trong đó véc tơ là véc tơ cột j của ma trận A
Ở đây

và lần lƣợt là ma trận đơn vị tƣơng ứng với các biến

[ ]
cơ sở

và . là các biến phi cơ sở.

[ ]

Ðối với BTQHTT dạng chính tắc luôn có thể tìm đuợc một phƣơng án xuất phát

4.1. Công thức số gia hàm mục tiêu


Xét BTQHTT dạng chính tắc, giả sử x là phƣơng án cực biên tƣơng ứng với phân rã A = [N B], với B là ma trận
cơ sở, còn x là một phƣơng án khác. Ðặt là véc tơ số gia các biến quyết định. Chúng ta tìm cách thiết
lập công thức số gia hàm mục tiêu:

=>
[ ]
Khi ta đặt

Thay vào công thức tính
Ta có: [ ]
Chú ý: nên

Vậy
[ ]=
=[ ]
Nhƣ vậy
4.3. Tiêu chuẩn tối ƣu
Xét phƣơng án cực biên x của BTQHTT dạng chính tắc:

Với ràng buộc

x=[ ] và A = [N B].
Lúc này ta có f(X)

Ðịnh lý 1. Xét BTQHTT dạng chính tắc. Ðiều kiện đủ để một phƣơng án cực biên x = [ ] (tƣơng ứng với phân rã
A = [N B], với B là ma trận cơ sở) là phƣơng án tối ƣu là:
.
Nguợc lại, nếu x là phƣơng án cực biên tối ƣu không suy biến thì ta cũng có

Chú ý: Nếu nhƣ bài toán


Thì điều kiện tối ƣu

4.4. Quy trình giải bài toán QHTT theo phƣơng pháp đơn hình
Quy trình chung thành lập bảng đơn hình nhƣ sau:
Bước 1:
Xác định biến cơ sở và phi cơ sở
Lập bảng chứa ma trận A và các véc tơ c
Xác định
Bước 2:
- Kiểm tra điều kiện để tối ƣu. Nếu bài toán thoả mãn điều kiện tối ƣu thì nghiệm của bài toán đạt tối ƣu: tất cả các
biến phi cơ sở đều bằng 0 và biến cơ sở có giá trị tƣơng ứng nhƣ cột (
- Nếu điều kiện tối ƣu chƣa đạt đƣợc thì dựa vào điều kiện tối ƣu để xác định biến cần phải đƣa ra khỏi danh
sách các biến cơ sở và đƣa biến phi cơ sở ( vào danh sách biến cơ sở thay
thế.
Sử dụng phƣơng pháp nhân và cộng hàng để biến véc tơ cột của biến cơ sở mới về véc tơ đơn vị
Xác định lại
Quay lại bƣớc 2
Để cụ thể hơn, ta xét bài toán QHTT dạng chính tắt nhƣ sau:

với các điều kiện ràng buộc

{
Với

và lần lƣợt là ma trận đơn vị tƣơng ứng với các biến

[ ]
cơ sở

và là ma trận tƣơng ứng biến phi cơ sở và

[ ]
các biến phi cơ sở

Chú ý: BTQHTT có dạng chính tắc là BTQHTT với các biến không âm, các ràng buộc có dấu “=”, hệ số 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ới bài toán trên, cách lập và biến đổi các bảng đơn hình
Chú ý: đây là bài toán tìm nghiệm để hàm mục tiêu đạt nên điều kiện để hàm mục tiêu đạt cực đại

Biến Giá
cơ trị
sở biến
cơ sở

∑ + +...
+ + +...
+

Bƣớc 2
Nếu không tồn tại bài toán đã đạt tối ƣu. Nghiệm để bài toán đạt tối ƣu: tất cả các biến
phi cơ sở đều bằng 0 và biến cơ sở có giá trị tƣơng ứng nhƣ cột (

Nếu tồn tại thì bài toán chƣa tối ƣu


a. Cần chọn biến đƣa vào biến cơ sở và biến loại khỏi tập biến cơ sở
- Cách xác định biến đưa vào tập biến cơ sở: Chọn cột có là cột có
max. Nhƣ vậy ta đƣa biến vào biến cơ sở.
- Cách xác định biến loại ra khỏi cơ sở: ở cột ứng với biến biến ta chỉ quan tâm đến các
phần tử ở các hàng thứ k có và tính tỷ số . Biến bị loại ra khỏi biến cơ sở là biến
mà có tỷ số bé nhất. Giả sử biến bị loại ra khỏi cơ sở.
b. Tiến hành đƣa biến cơ sở và loại biến cơ sở:
Lập bảng đơn hình thứ 2 với: 2 cột đầu tiên
- thay cho biến bị loại ra khỏi cơ sở
- Biến cột ứng với thành cột cơ sở [0;...1;...0]
Nguyên tắc: - lấy các phần tử trên hàng thứ k (từ cột thứ 3 trở đi) chia cho
- Các hàng còn lại sẽ quy đổi về hàng k sao cho các phần tử khác trên cột j đều bằng 0
ngoại trừ
0

Tính lại
Tính lại
Lập lại bƣớc 2
Ví dụ: xác định giá trị , để cho

Với các ràng buộc

{
Giá trị
Hằng số Biến cơ biến cơ
c sở sở 8 6 0 0
0 60 4 2 1 0 60/4=15
0 48 2 4 0 1 48/2=24
0 0 0 0
8 6 0 0

8 15 1 0.5 0.25 0 30
0 18 0 3 -0.5 1 6
8 4 2 0
0 2 -2 0

8 12 1 0 0.333333 -0.16667
6 6 0 1 -0.16667 0.333333
132 8 6 1.666667 0.666667
0 0 -1.66667 -0.66667
Nhƣ vậy, nghiệm tối ƣu x=(12,6,0,0) và hàm mục tiêu f(x)=132.
4.4. Thuật toán đơn hình
Thuật toán đơn hình đƣợc thể hiện nhƣ hình 2.3.

Hình 2.3. Thuật toán đơn hình

5. Bổ sung thêm về phƣơng pháp đơn hình


Xét BTQHTT dạng tổng quát:
với các điều kiện ràng buộc

{
Trong đó
- Ký hiệu có thể hiểu là hoặc = đối với các ràng buộc.
- Ðối với điều kiện về dấu của các biến 0 có thể hiểu là hoặc có dấu tuỳ ý.

Muốn giải một BTQHTT có dạng tổng quát, truớc hết cần đƣa nó về dạng chuẩn tắc. Chú ý BTQHTT dạng chính
tắc là bài toán với các biến không âm, các ràng buộc với dấu “=”, hệ số 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.
5.1. Ðƣa bài toán quy hoạch tuyến tính về dạng chuẩn tắc
Phương pháp:
Ta sử dụng các biến bù để đƣa ràng buộc về dấu “=” và các biến phụ /biến giả để có đƣợc các biến cơ sở. Các biến
bù, biến phụ/ biến giả chỉ là những đại lƣợng giúp ta biến các ràng buộc dạng bất đẳng thức thành đẳng thức, nó
không ảnh hƣởng gì đến hàm mục tiêu nên không xuất hiện trong hàm mục tiêu.

 Đưa
Ví dụ: ∑ ∑
 Đưa ràng buộc về dấu “=” bằng cách thêm các biến bù với hệ số âm:

∑ {
 Đưa ràng buộc về dấu “=” bằng cách thêm các biến bù với hệ số dương


∑ {

 Nếu thì ta đặt với rồi thay vào bài toán


 Nếu biến là tùy ý (không có điều kiện về dấu) thì ta đặt
với và
 Chuyển đổi bài toán min về bài toán max như sau:

 Chuyển vế đổi dấu (áp dụng cho trường hợp có điều kiện ràng buộc dương)

với các điều kiện ràng buộc

{
Ví dụ:
Xác định giá trị để cho

Với các ràng buộc

Để đƣa bài toán về chuẩn tắc, trƣớc hết chúng ta

Ở đây “ nên chƣa đảm bảo đƣợc ma trận A có 2 véc tơ đơn vị nên ta phải thêm 1 biến giả . Nhƣ vậy,
rang buộc

5.3. Phƣơng pháp đơn hình hai pha


Trong trƣờng hợp chúng ta chƣa biết truớc một cơ sở xuất phát nào, cũng chƣa biết các ràng buộc có độc lập tuyến
tính hay không. Tiến trình giải bài toán cần đƣợc chia làm 2 pha:
- Pha I : Tìm phƣơng án cực biên xuất phát
- Pha II: Giải bài toán bằng phƣơng pháp đơn hình từ phƣơng án xuất phát tìm đƣợc. Pha II dã đƣợc nghiên cứu
trong mục trên. Ta cần quan tâm đến việc giải quyết pha I.

a. Pha I: Tìm phƣơng án cực biên xuất phát


Giả sử b 0. Giải bài toán QHTT phụ:

với các điều kiện ràng buộc

Với gọi là các biến phụ hay biến giả. Rõ ràng, do giả thiết b>0, bài toán có cơ sở xuất
phát có dạng ma trận đơn vị và hàm mục tiêu của bài toán phụ bị chặn duới bởi 0 nên
bài toán luôn luôn có lời giải tối ƣu. Do đó, giải bài toán QHTT phụ ta đƣợc lời giải với cơ sở tối ƣu
B*.
Ghi chú: Hàm mục tiêu của bài toán phụ phải đạt min bất kể bài toán gốc đạt min hay max.
Ðịnh lý 2.7 Giả sử bài toán QHTT phụ ta đƣợc lời giải tối ƣu . Khi đó:
i) Nếu y* 0 thì bài toán gốc không có phƣơng án tối ƣu
ii) Nếu y* = 0 thì bài toán gốc có phƣơng án cực biên xuất phát là
Các tình huống xảy ra khi y* = 0
a) Nếu B* chỉ chứa các cột của biến gốc: Có thể chuyển sang pha II.
b) Nếu B* có chứa các cột của biến pha: Nghĩa là nó có chứa các cột Ap với p> n.
Khi đó B* không phải là cơ sở của bài toán gốc. Có 2 truờng hợp:
-Nếu = 0 với thì ràng buộc p của bài toán là tổ hợp tuyến tính các ràng buộc còn lại, nên có thể xóa Ap
trong B*;
- Nếu n, ≠0 thì dùng làm phần tử xoay để thay Ap bởi Aq…
Tiếp tục nhƣ vậy đến khi ta đƣợc cơ sở của bài toán gốc thì chuyển sang pha 2.
Ví dụ: giải bài toán QHTT
Với các ràng buộc

Lập bài toán phụ

Giải bài toán phụ với cơ sở xuất phát B=(A5,A6,A7)

Biến cơ sở Giá trị biến cơ


sở
1 15 1 -2 -1 0 1 0 0
1 20 1 -1 -1 1 0 1 0
1 52 2 0 -1 2 0 0 1
-4 3 3 -3 0 0 0
0 15 1 -2 -1 0 1 0 0
1 5 0 1 0 1 -1 1 0
1 22 0 4 1 2 -2 0 1
0 -5 -1 -3 4 0 0
0 25 1 0 -1 2 -1 2 0
0 5 0 1 0 1 -1 1 0
1 2 0 0 1 -2 2 -4 1
0 0 -1 2 -1 5 0
0 27 1 0 0 0 1 -2 1
0 5 0 1 0 1 -1 1 0
0 2 0 0 1 -2 2 -4 1
0 0 0 0 1 1 1

- Cơ sở tối ƣu của bài toán phụ chỉ chứa các cột của biến gốc ( . Chuyển sang pha II.

Biến cơ sở Giá trị biến cơ sở


1 27 1 0 0 0
-2 5 0 1 0 1
1 2 0 0 1 -2
0 0 0 -1
1 27 1 0 0 0
-5 5 0 1 0 1
1 12 0 2 1 0
0 1 0 0

Bài toán gốc có phƣơng án tối ƣu: x* = ( 27, 0, 12, 5) và


F* =F(x*) = 1x27 -5x5 +1x12 = 14.
Chú ý: khi giải bài toán QHTT bằng phƣơng pháp đơn hình hai pha:
- Không cần lập bài toán phụ mà chỉ cần lập bảng đơn hình cho pha I ngay;
- Trong bảng đơn hình ở pha I không cần ghi các cột của các biến pha x6, x7, x8
Vì chúng không ảnh huởng đến quá trình phân tích và giải bài toán.
6. Ứng dụng bài toán quy hoạch tuyến tính trong kỹ thuật điện (bài toán cho sẵn)
Ví dụ: Giả sử cho mạng điện gồm có 5 phụ tải nhƣ hình 2.4. Cần xác định vị trí của nhà máy sao cho tổng chiều dài
đây dẫn

Thỏa mãn điều kiện:

Hình 2.4. Mạng điện ví dụ


CHƯƠNG 3. BÀI TOÁN ĐỐI NGẪU CỦA BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

1. Phát biểu bài toán đối ngẫu không đối xứng


1.1. Phát biểu bài toán

Xét bài toán tối ƣu dạng chuẩn


(P): (P*):
{ {
Xét bài toán tối ƣu dạng chính tắc
(P): (P*):
{
1.2. Quy tắc viết bài toán đối ngẫu
Trong trƣờng hợp bài toán tối ƣu tuyến tính tổng quát, những quy tắc sau đây đƣợc áp dụng để xây dựng bài toán
đối ngẫu tƣơng ứng

BÀI TOÁN GỐC BÀI TOÁN ĐỐI NGẪU


Hàm mục tiêu
max min
Biến đối ngẫu
Mỗi ràng buộc Một biến đối ngẫu
Cho phí đối ngẫu và giới hạn ràng buộc
Chi phí đối ngẫu Giới hạn ràng buộc
Ma trận ràng buộc
Ma trận ràng buộc Ma trận chuyển vị
Chiều của ràng buộc và dấu của biến
Ràng buộc trong bài toán max Biến đối ngẫu trong bài toán min
có dấu “ ” có dấu “ ” (trái chiều)
Ràng buộc trong bài toán max Biến đối ngẫu trong bài toán min
có dấu “=” có dấu tùy ý
Ràng buộc trong bài toán max Biến đối ngẫu trong bài toán min có dấu
có dấu “ ” “ 0”
Biến của bài toán max Ràng buộc đối ngẫu của bài toán min có
có dấu “ 0” dấu “ ”
Biến của bài toán max Ràng buộc đối ngẫu của bài toán min có
có dấu tùy ý dấu “ ”
Biến của bài toán max Ràng buộc đối ngẫu của bài toán min có
có dấu “ 0” dấu “ ”
Xét các ràng buộc dạng ma trận của một bài toán quy hoạch tuyến tính tổng quát nhƣ sau:

[ ][ ] [ ]
Khi đó, quan hệ về dấu của ràng buộc nhƣ sau

Ví dụ:
Cho bài toán QHTT gốc với

Với các ràng buộc

Viết dƣới dạng ma trận ta có:

[ ][ ] [ ]

 Bài toán đối ngẫu

[ ][ ] [ ]

1.3. Các tính chất và ý nghĩa của cặp bài toán đối ngẫu
ất đối ngẫu:
- Bài toán (P) tìm min thì bài toán (P*) tìm max;
- Bài toán (P) có n biến và m ràng buộc đẳng thức; Bài toán (P*) có m biến và n ràng buộc bất đẳng thức;
-Véc tơ hệ số của hàm mục tiêu bài toán (P) là vế phải của ràng buộc trong bài toán (P*) và nguợc lại.
ất bất đối xứng:
- Bài toán (P) m ràng buộc chặt; Bài toán (P*) có n ràng buộc lỏng;
- Bài toán (P) có n biến xj không âm; Bài toán (P*) có m biến không đòi hỏi về dấu.
Ðịnh lý 1 Nếu D và D* thì ta có G (y) F(x).
Ðịnh lý 2 Nếu bài toán này có phƣơng án tối ƣu thì bài toán kia cũng có phƣơng án tối ƣu và giá trị tối ƣu của
chúng bằng nhau.
Ðịnh lý 3 Nếu một trong hai bài toán không có phƣơng án tối ƣu thì bài toán kia không có phƣơng án (vô nghiệm).
Ðịnh lí 4 (Ðộ lệch bù yếu).
x*, y* là phương án tối ưu của (P), (P*) x*, y* là phuong án của (P), (P*) và thỏa mãn điều kiện: trong các
cặp ràng buộc đối ngẫu, nếu ràng buộc này là lỏng thì ràng buộc kia là chặt.
Hệ quả: Một ràng buộc là lỏng đối với một phƣơng án tối ƣu của bài toán này thì ràng buộc đối ngẫu với nó
phải là chặt đối với mọi phƣơng án tối ƣu của bài toán kia.
Ví dụ: Giả sử bài toán (P)

[ ][ ] [ ]

Bài toán đối ngẫu (P*)

[ ][ ] [ ]

Giả sử BT gốc có nghiệm tối ƣu x*=(0,14, 6,5) với f(x*)=54, Tìm nghiệm của bài toán đối ngẫu sử dụng định lý
độ lệch bù
Từ x*=(0,14, 6,5) các ràng buộc chung trong bài toán đối ngẫu
=> ràng buộc “ “
>0 =>ràng buộc (2) “=“
ràng buộc “=“
ràng buộc “=“

Vậy ta có [ ] [ ] (5)

[ ]
Ngoài ra từ các ràng buộc biến: so sánh Ax và b

[ ][ ] [ ]

[ ] [ ]

Để tìm nghiệm ta chỉ cần giải hệ (5)


Bỏ phƣơng trình đầu tiên (5) ta có nghiệm

[ ][ ] [ ]=> =2;

2. Thuật toán đơn hình đối ngẫu


2.1. Quy trình tính toán và phát biểu thuật toán
Sau đây là khung thuật toán của phƣơng pháp đơn hình đối ngẫu đƣợc phát biểu cho BTQHTT:
Min z = , với x D = {x : Ax = b, x 0}.

Buớc khởi tạo


– Tìm một phƣơng án đối ngẫu khả thi tƣơng ứng với ma trận cơ sở B trong một phân rã nào
đó A = [N B]: điều kiện , j có thể không đƣợc thoả mãn nhƣng luôn có
– Tính
= , j = ̅̅̅̅̅ , trong đó n là số biến của bài toán đang xét.
Các buớc lặp
Buớc 1: Kiểm tra điều kiện tối ƣu. Nếu điều kiện tối ƣu , j = ̅̅̅̅̅, đã đƣợc thoả mãn thì in / lƣu
trữ kết quả của bài toán và dừng.
Buớc 2: Nếu tồn tại một chỉ số j sao cho < 0 thì chúng ta cần xác định biến đƣa vào và đƣa ra khỏi cơ
sở tƣơng tự nhƣ phƣơng pháp đơn hình với các khác biệt sau:
– Biến đƣa ra khỏi cơ sở là biến mà có < 0 (thông thuờng với trị tuyệt đối lớn nhất, hoặc chọn ngẫu
nhiên).
– Sau đó biến đƣa vào cơ sở theo quy tắc tỷ số âm lớn nhất (các tỷ số đƣợc tạo ra bằng cách lấy
hàng “chia” cho hàng và chỉ xét các tỷ số có mẫu số âm). Nếu không tìm đƣợc biến đƣa vào cơ sở
thì kết luận bài toán không có phƣơng án khả thi, in / lƣu trữ kết quả của bài toán và chuyển sang
buớc kết thúc.
– Nếu tìm đƣợc biến đƣa vào cơ sở thì thực hiện các buớc tiếp theo để đƣa
về vec tơ đơn vị
– Tính lại các j j = 1, n và quay lại buớc 1.

Ví dụ:

Với các ràng buộc

Hệ số Biến cơ Phƣơng 3 2 0 0 0
hàm sở án
mục tiêu
0 -4 -1 -2 1 0 0
0 -3 -1 -1 0 1 0
0 -4 -2 -1 0 0 1
0 0 0 0 0
= 3 2 0 0 0
0 -4 0 -3 2 0 -1
0 -2 0 -1 0 2 -1
3 2 1 0.5 0 0 -0.5
3 1.5 0 0 -1.5
= 0 0.5 0 0 1.5
2 4/3 0 1 -2/3 0 1/3
0 -1/3 0 0 -1/3 1 -1/3
3 4/3 1 0 1/3 0 -2/3
3 2 -1/3 0 0
= 0 0 1/3 0 4/3
2 2 0 1 0 -2 1
0 1 0 0 1 -3 1
3 1 1 0 0 1 -1
3 2 0 -1 -1
= 0 0 0 1 1
Nhƣ vậy nghiệm

3. Ứng dụng bài toán đối ngẫu của bài toán quy hoạch tuyến tính trong kỹ thuật điện (bài toán cho sẵn)
Giả sử cho mạng điện gồm có 3 phụ tải nhƣ hình vẽ 3.1. Cần xác định vị trí của nhà máy sao cho tổng chiều dài đây
dẫn đạt nhỏ nhất
Thỏa mãn điều kiện:

Hàm mục tiêu:

Các ràng buộc:


Hình 3.1. Mạng điện ví dụ
Hãy giải bài toán bằng phƣơng pháp đối ngẫu.
CHƯƠNG 4. MỘT SỐ PHƯƠNG PHÁP QUY HOẠCH PHI TUYẾN

1. Các khái niệm cơ bản của bài toán tối ƣu phi tuyến
1.1. Phát biểu bài toán tối ƣu phi tuyến
Cho các hàm số f, Bài toán tối ƣu phi tuyến tổng quát có dạng chính tắc
nhƣ sau:
Max (Min) f(x),
Với các ràng buộc
{
Nếu hàm mục tiêu f(x) hoặc ít nhất một trong các hàm ràng buộc , j = 1,2, …, m là phi tuyến thì chúng
ta có bài toán tối ƣu phi tuyến, hay còn gọi là bài toán quy hoạch phi tuyến (BTQHPT).

Các dạng khác của bài toán tối ƣu có thể đƣa về dạng chính tắc trên đây theo những quy tắc nhất định.

Với ký hiệu D là miền ràng buộc (hay miền các phƣơng án khả thi) cho bởi các ràng buộc (i) và / hoặc (ii) thì
BTQHPT có thể viết gọn hơn nhƣ sau:
f(x) Max (Min), với x D.
Trong truờng hợp D , ta có BTQHPT không ràng buộc.
Nếu trái lại, D là tập con thực sự của thì có BTQHPT có ràng buộc.
Ví dụ 1.
Bài toán sau là BTQHPT không có ràng buộc:

Ví dụ 2.
Bài toán sau là BTQHPT có ràng buộc:

thỏa mãn

Ðịnh nghĩa 1.
Ðiểm x = (x1, x2, ..., xn) đƣợc gọi là phƣơng án khả thi (hay phƣơng án, nếu nói vắn tắt) của bài toán tối
ƣu: Max (Min) f(x), với x . Các toạ độ thành phần của điểm x đƣợc gọi là các biến quyết định.
Ðịnh nghĩa 2.
Ðối với bài toán cực đại hoá:
Max f(x), với ,
Điểm x* ) đƣợc gọi là điểm tối ƣu (hay phƣơng án tối ƣu) toàn cục nếu x* và f(x*) f(x),
.
Ðiểm ̅ đƣợc gọi là điểm tối ƣu (hay phƣơng án tối ƣu) địa phƣơng nếu ̅ và f( ̅ ) f(x),
với là một lân cận đủ nhỏ của điểm ̅ .
Ðối với bài toán cực tiểu hoá:
Min f(x), với x ,
Điểm x* đƣợc gọi là điểm tối ƣu (hay phƣơng án tối ƣu) toàn cục nếu và f(x*) f(x), . Ðiểm
̅ đƣợc gọi là điểm tối ƣu (hay phƣơng án tối ƣu) địa phƣơng nếu ̅ và f( ̅ ) f(x), với
là một lân cận đủ nhỏ của điểm ̅ .
1.2. Phân loại các phƣơng pháp giải bài toán tối ƣu phi tuyến toàn cục
Các phƣơng pháp giải BTQHPT toàn cục đƣợc phân ra thành hai lớp:
+ Phƣơng pháp tất định (deterministic methods)
+ Phƣơng pháp ngẫu nhiên (stochastic methods).
Phƣơng pháp tất định sử dụng các tính chất giải tích của hàm mục tiêu và các hàm ràng buộc. Một số dạng bài toán
tối ƣu toàn cục với những tính chất giải tích nhất định của hàm mục tiêu và các hàm ràng buộc có thể giải đƣợc
bằng các phƣơng pháp tất định thích hợp, chẳng hạn nhƣ phƣơng pháp quy hoạch toàn phƣơng, quy hoạch tách,
quy hoạch lồi, … Trong các truờng hợp đó phƣơng án tối ƣu toàn cục có thể tìm đƣợc sau một số hữu hạn buớc
tính toán với độ chính xác chọn truớc. Tuy nhiên, đối với nhiều lớp bài toán tối ƣu toàn cục phƣơng pháp tất định tỏ
ra không có hiệu quả.
Trong khi đó, các phƣơng pháp ngẫu nhiên nhƣ: phƣơng pháp đã khởi tạo (multistart), mô phỏng (simulated
annealing), thuật giải đi truyền (genetic algorithm), kỹ thuật tìm kiếm ngẫu nhiên có điều khiển (controlled random
search technique)… có thể áp dụng để giải các bài toán tối ƣu toàn cục dạng bất kỳ, không đòi hỏi các tính chất đặc
biệt của hàm mục tiêu hay các hàm ràng buộc. Tuy nhiên, các phƣơng pháp này thuờng chỉ cho phƣơng án “gần”
tối ƣu khá tốt sau một số hữu hạn buớc mà không kiểm soát đƣợc độ chính xác của phƣơng án tìm đƣợc.
Ðể bắt đầu nghiên cứu về quy hoạch phi tuyến, trong chƣơng này, chúng ta sẽ giới hạn trong việc tìm hiểu một số
khái niệm cơ bản cũng nhƣ làm quen với một số phƣơng pháp cổ điển trong tối ƣu phi tuyến.

1.3. Bài toán quy hoạch lồi


Ðịnh nghĩa 3.
Tập lồi là tập S đều nằm trong S. Nói cách khác, S có tính chất: mọi đoạn thẳng nối ,
đều là tập lồi khi và chỉ khi thì x=
Các ví dụ sau đây là tập lồi

[ ] [ ]
Trong truờng hợp c) S là giao của các nửa không gian đóng .

Các tính chất của tập lồi


Cho các tập lồi khi đó
là tập lồi
với

Ðịnh nghĩa 4.
Cho tập lồi khác rỗng . Hàm số f: S R đƣợc gọi là hàm lồi nếu thì f(

Ðịnh nghĩa 5.
BTQHPT toàn cục: f(x) Min với x S, trong đó S là tập lồi và f(x) là hàm lồi, đƣợc gọi là bài toán quy
hoạch lồi (BTQHL).
Ðịnh lý 1.
Ðối với BTQHL, mọi phƣơng án tối ƣu địa phƣơng cũng là phƣơng án tối ƣu toàn cục. BTQHTT là truờng hợp
riêng BTQHL nên nó cũng có tính chất trên.

1.4. Hàm nhiều biến khả vi cấp một và cấp hai


Ðịnh nghĩa 6 (hàm khả vi cấp một).
Cho tập khác rỗng S và hàm số . Hàm f đƣợc gọi là hàm khả vi tại nếu ta luôn có
‖ ‖ ,
Trong đó,
và làvéc tơ građient của f tại
Nhận xét.
Có thể chứng minh đƣợc rằng nếu f là hàm khả vi (cấp một) và nếu là phƣơng án tối ƣu (địa phƣơng)
thì
Ví dụ:
Xét hàm 2 biến f(x)=

[ ] thì [ ]

vậy f( )= [ ] √

Tại điểm cực tiểu (0,0) có [ ].


Ðịnh nghĩa 7 (hàm khả vi cấp hai).
Xét tập khác rỗng , và hàm f: . Hàm f đƣợc gọi là khả vi cấp hai tại nếu tồn tại véc tơ građient
f( ) và ma trận đối xứng cấp n, đƣợc gọi là ma trận Hessian H( , sao cho:
‖ ‖ , đúng với , trong đó,
.

2. Một số phƣơng pháp giải bài toán quy hoạch phi tuyến không ràng buộc
Các phƣơng pháp giải tích giải BTQHPT không ràng buộc chia thành hai lớp: phƣơng pháp không sử dụng đạo hàm
và phƣơng pháp sử dụng đạo hàm. Trong mục này chúng ta sẽ nghiên cứu một số phƣơng pháp sử dụng đạo hàm
nhƣ phƣơng pháp đƣờng dốc nhất (còn gọi là phƣơng pháp građient), phƣơng pháp Newton thông qua việc trình
bày các thuật toán và ví dụ.
2.1. Phƣơng pháp đƣờng dốc nhất
Phƣơng pháp đƣờng dốc nhất (The steepest descent method) là một trong các phƣơng pháp cổ điển thông dụng nhất
giải BTQHPT không ràng buộc nhiều biến.
Xét BTQHPT không ràng buộc tổng quát:
Min f(x), x = ( )
Ta gọi véc tơ d là huớng giảm của hàm f: tại x nếu sao cho
Giả sử hàm f là khả vi tại x. Ngoài ra giả sử rằng Lúc đó, có thể chứng minh đƣợc huớng
là huớng giảm nhanh nhất, tức là là lời giải của bài toán Minf(x, d), trong đó f’(x, d) là
đạo hàm theo huớng d tại x, với điều kiện .
Thật vậy, do f khả vi tại x nên:
,
Với,

vậy đạo hàm theo huớng d tại x chính là

Do nên theo bất đẳng thức Schwartz:


với
nên ta có
nên d là huớng giảm nhanh nhất của hàm f tại x. Nếu biểu thức đƣợc coi là bằng 0, thì với một giá
trị cố định và với điều kiện đạt giá trị cực tiểu tại Tuy nhiên,
biểu thức không nhất thiết phải bằng 0, nên sau khi huớng giảm nhanh nhất
dã đƣợc chọn, cần xác định để cực tiểu hóa
Thuật toán đường dốc nhất
Buớc khởi tạo
Chọn > 0 làm sai số kết thúc. Lấy một điểm xuất phát , đặt k:=1 và chuyển sang các
buớc lặp.
Các buớc lặp (buớc lặp thứ k)
Buớc 1:
Nếu thì đặt = – f( ) và chuyển sang buớc 2.
Buớc 2:
Tìm là phƣơng án tối ƣu của bài toán cực tiểu hóa hàm một biến f(
(phụ thuộc vào biến ).
Ðặt , và chuyển về buớc 1.
Buớc kết thúc.
Nếu thì dừng.
Ví dụ 6.
Giải BTQHPT:
bằng phƣơng pháp đƣờng dốc nhất. Quá trình giải đƣợc tóm tắt trong bảng V.1 (các véc tơ đƣợc viết duới dạng
hàng) và đƣợc minh họa trên hình.

Chú ý:
Phƣơng pháp đƣờng dốc nhất tỏ ra khá hiệu quả trong các buớc lặp ở giai đoạn đầu. Tuy nhiên, càng gần tới điểm
dừng thì thuật giải càng tỏ ra kém hiệu quả khi nó chỉ dịch chuyển đƣợc các buớc vuông góc khá ngắn. Ðiều này
đƣợc giải thích khá dễ dàng do tại buớc lặp thứ k hàm mục tiêu giảm đi một luợng là
Ví dụ 2
Giải BTQHPT: bằng phƣơng pháp đƣờng dốc nhất

Giải:
Ta dễ dàng tính đƣợc
= ( )
= ( )
Vậy ta có

Lấy đạo hàm

Ta tính được

Bƣớc

1 0 3 40 -16 24 28.844 16 -24 0.0955


2 1.529 0.705 0.235 -0.705 -0.470 0.848 0.705 0.470 0.65
3 1.988 1.011 0.001 -0.094 0.141 0.169 0.094 -0.141 0.0955
4 1.997 0.998 8.14E-06 -0.004 -0.002 0.004 0.004 0.002 0.65
5 1.999 1.000 4.79E-08 -0.000 0.000 0.000 0.000 -0.000 0.0955

2.2. Phƣơng pháp newton


Trong phƣơng pháp đƣờng dốc nhất, quy tắc dịch chuyển cho bởi
với = – f( )
Trong phƣơng pháp Newton, ta cũng có quy tắc dịch chuyển tƣơng tự với đƣợc thay thế bởi , trong
đó H( ) là ma trận Hessian đƣợc tính tại điểm với điều kiện ma trận này khả nghịch. Giả sử rằng dãy { } hội
tụ tới với và H( ) xác định dƣơng, trong đó
f(x) là hàm khả vi cấp hai. Lúc đó, với các điểm khá sát , H( ) cũng xác định dƣơng nên là
ma trận khả nghịch.
Sau đây, chúng ta giải thích ý nghĩa của quy tắc dịch chuyển: x
trong phƣơng pháp Newton. Ðối với hàm khả vi cấp hai chúng ta có thể viết:
‖ ‖ ,
.
Bởi vậy, có thể xấp xỉ f(x) bởi:

Ngoài ra, dễ thấy điều kiện cần để q(x) đạt giá trị cực tiểu là:

Giả sử ma trận H( ) khả nghịch thì điểm tiếp theo nên xem xét chính là điểm

Ví dụ:
Giải BTQHPT:
2.3. Phƣơng pháp huớng liên hợp
Ðịnh nghĩa 8 (huớng liên hợp).
Cho H là một ma trận đối xứng cấp . Các véc tơ đƣợc gọi là các huớng liên hợp (tƣơng ứng với
ma trận H) nếu chúng là độc lập tuyến tính và
Sau đây là thuật toán của phƣơng pháp huớng liên hợp (the conjugate đirection method) do Zangwill đề xuất. Có
thể chứng minh đƣợc thuật toán sẽ luôn tìm ra đƣợc Phƣơng án tối ƣu đối với các BTQHPT có hàm mục tiêu dạng
f(x) = Hx + x, với p là véc tơ cột n toạ độ, H là ma trận đối xứng cấp n×n. Ngoài ra, nếu BTQHPT không có
hàm mục tiêu dạng trên thì thuật toán vẫn hội tụ tới điểm có nếu tập là tập
giới nội trong đó là điểm xuất phát của thuật toán. Dễ thấy, nếu hàm f(x) là hàm lồi thì thuật toán sẽ cho phƣơng
án tối ƣu toàn cục.
Thuật toán huớng liên hợp Zangwill
Buớc khởi tạo
Chọn e > 0 làm sai số kết thúc. Lấy một điểm xuất phát , đặt , = – f( ),
đặt k=j =1 và chuyển sang các buớc lặp.
Các buớc lặp
Buớc 1:
Tìm là phƣơng án tối ƣu của bài toán cực tiểu hóa hàm một biến (phụ thuộc vào biến ).
Ðặt . Nếu j = n thì chuyển về buớc 4, nếu trái lại chuyển về buớc 2.
Buớc 2:
Ðặt d = –– f( ) và ̂ là phƣơng án tối ƣu của bài toán cực tiểu hóa hàm một
biến (phụ thuộc vào biến 0).
Ðặt , i = 1 và chuyển về buớc 3.
Buớc 3:
Nếu | ( )| thì dừng với .
Nếu trái lại, đặt là phƣơng án tối ƣu của bàitoán cực tiểu hóa hàm một biến ) (phụ thuộc vào biến
0). Ðặt .
+ Nếu i <j thì thay i bởi i + 1 và lặp lại buớc 3.
+ Nếu trái lại, đặt , thay j bởi j + 1 và chuyển về buớc 1.
Buớc 4:
Ðặt . Ðặt = – f( ), thay k bởi k+1, đặt j = 1 và chuyển về buớc 1.

Ví dụ: Giải BTQHPT:


3. Thiết lập điều kiện tối ƣu kuhn – tucker cho các bài toán quy hoạch phi tuyến có ràng buộc
3.1. Hàm lagrànge
Xét BTQHPT tổng quát:
Max (Min) f(x), với ̅̅̅̅̅̅
Lúc đó, hàm (đối ngẫu) Lagrànge tƣơng ứng với bài toán trên có dạng sau:

Với điều kiện


̅̅̅̅̅̅
Ta ký hiệu và thì
Đặt hàm Lagrànge đƣợc định nghĩa trên đây đƣợc viết lại duới dạng

( ) ∑

Chúng ta gọi các điểm là điểm dừng của hàm Lagrànge nếu điểm
thỏa mãn hệ điều kiện sau đây:


{

{
Ðịnh lý
Cho x là phƣơng án tối ƣu của BTQHPT với hàm mục tiêu f(x) và các hàm ràng buộc , là các hàm
khả vi. Xét tập các chỉ số I đƣợc xác định bởi I = {i: = 0}. Giả sử các véc tơ là độc lập tuyến
tính. Lúc đó, tồn tại véc tơ m toạ độ sao cho ( , ) là điểm dừng của hàm Lagrànge.
Ví dụ: Tìm các nghiệm số x1 , x2 sao cho :

với ràng buộc

Ràng buộc có thể viết lại dƣới dạng:

Thành lập hàm Lagrange:

Điều kiện đạt cực trị của hàm mục tiêu L(P):
Giải hệ 3 phƣơng trình trên đƣợc :

và và

Xét các đạo hàm bậc hai tại điểm dừng:

nên hàm L(X) và hàm mục tiêu F(X) đạt cực tiểu tại điểm X*(18/11, 6/11); và khi đó giá trị hàm mục tiêu là:

3.2. Thiết lập điều kiện kuhn – tucker


Xét hệ điều kiện bao gồm điều kiện điểm dừng của hàm Lagrànge và điều kiện ràng buộc
của BTQHPT (5.2):

∑ ∑

{ {
Hệ điều kiện trên đây đƣợc gọi là điều kiện Kuhn – Tucker của BTQHPT (5.2).
Ví dụ
Thiết lập điều kiện Kuhn – Tucker cho BTQHPT sau:

với điều kiện x = ( , ) là miền ràng buộc đƣợc xác định bởi

{
{
Có thể kiểm nghiệm đƣợc rằng trong ví dụ này chúng ta có BTQHL với hàm Lagrànge:

với
Điều kiện Kuhn-Tucker
{
Giải các phƣơng trình (1)-(6) ta có:

thỏa mãn điều kiện dừng của hàm Lagrànge.


Vậy phƣơng án tối ƣu toàn cục là x1 = 0, x2 = 1 ứng với fmin = 1 (xem hình V.6).

4. Một số phƣơng pháp giải quy hoạch toàn phƣơng


4.1. Bài toán quy hoạch toàn phƣơng
BTQHPT sau:

; Q là ma trận đối xứng cấp n: với

Ví dụ

Với các ràng buộc

Nhƣ vậy

[ ], [ ], [ ]

4.2. Phát biểu điều kiện kuhn – tucker cho bài toán quy hoạch toàn phƣơng

∑ ∑∑

Các ràng buộc


{
Thiết lập hàm Lagrànge: ∑ (∑ ) ∑ (để phân biệt chúng ta ký hiệu
. Điều kiện Kuhn-Tucker đƣợc viết là

∑ ∑

∑ ∑

{ {
Trong đó ∑ gọi là biến bù ứng với ràng buộc thứ i,
4.2.1. Giải bài toán quy hoạch toàn phƣơng bằng bài toán bù
BTQHPT sau:

; Q là ma trận đối xứng cấp n: với


Hay ∑ ∑ ∑
Các ràng buộc

Thiết lập hàm Lagrànge:


∑ (∑ ) ∑ (để phân biệt chúng ta ký hiệu .
Điều kiện Kuhn-Tucker đƣợc viết là

∑ ∑

{
∑ ∑

{
Vậy chúng ta có thể thiết lập bài toán bù tƣơng ứng với hệ điều kiện trên nhƣ sau:

Trong đó

[ ]
Chúng ta sẽ đƣa hệ

{ (*) về hệ { (**)

Trong hệ trên véc tơ (cột) đƣợc gọi là véc tơ giả. Ðể giải hệ (*), cần xét truớc tiên
hệ (**). áp dụng các thủ tục xoay trong các bảng đơn hình với các quy tắc đặc biệt nhằm đƣa ra khỏi cơ sở, trong
khi vẫn đảm bảo đƣợc điều kiện không âm của các biến , chúng ta sẽ tìm đƣợc
nghiệm của hệ (*).
4.2.2. Giải bài toán quy hoạch toàn phƣơng bằng bài đơn hình 2 pha
BTQHPT sau:

; Q là ma trận đối xứng cấp n: với


Hay ∑ ∑ ∑
Các ràng buộc

Điều kiện Kuhn-Tucker đƣợc viết là


∑ ∑

{
Nguyên tắc: Trong (1) và (2) nếu phƣơng trình nào chƣa có biến cơ sở, ta thêm biến phụ và giải pha I của bài
toán đơn hình

Thỏa mãn

∑ ∑

Ví dụ: Giải BTQHPT sau:


=3
với điều kiện x = ( , ) là miền ràng buộc đƣợc xác định bởi

Giải:
Hàm Largrange đƣợc viết

Điều kiện Kuhn-Tucker đƣợc viết

{
Hoặc

{
Giải bài toán theo phƣơng pháp đơn hình 2 pha bằng cách thêm biến phụ và giải bài toán phụ

Sao cho
{
Biến cơ phƣơng x1 x2 1 2 s1 s2 s3 s4 y1
c sở án 0 0 0 0 0 0 0 0 1
0 s1 3 -2 -2 -1 -2 1 0 0 0 0
1 y1 1 2 2 1 -1 0 -1 0 0 1
0 s3 2 1 1 0 0 0 0 1 0 0
0 s4 1 2 -1 0 0 0 0 0 1 0
Z 2 2 1 -1 0 -1 0 0 1
ci-Z -2 -2 -1 1 0 1 0 0 0
Vòng 2
0 s1 4 0 0 0 -3 1 -1 0 0 1
0 x2 0.5 1 1 0.5 -0.5 0 -0.5 0 0 0.5
0 s3 1.5 0 0 -0.5 0.5 0 0.5 1 0 -0.5
0 s4 1.5 3 0 0.5 -0.5 0 -0.5 0 1 0.5
Z 0 0 0 0 0 0 0 0 0
C-Z 0 0 0 0 0 0 0 0 1
x1=0;x2=0.5; 1=0; 2=0;s1=4;s2=0;s3=1.5;s4=1.5 =>f=-1/4
Ghi chú: Khi chọn biến vào ra sao cho luôn đảm bảo
4.3 Giải bài toán quy hoạch toàn phƣơng theo phƣơng pháp Beatle
BTQHTP sau:

; Q là ma trận đối xứng dƣơng cấp n: với



Các ràng buộc {

Phƣơng pháp giải:


Thêm biến bù vào ràng buộc ∑ (2)
C
Chọn các biến cơ sở và phi cơ sở và C=[ N B]
Vòng lặp k=1
Bƣớc 1: Chọn điểm xuất phát với và
Bƣớc 2:
-Từ (2) tính biến cơ sở mới theo biến phi cơ sở mới
-Thế các biến cơ sở mới vào hàm mục tiêu để hàm mục tiêu chỉ chứa các biến phi cơ sở
Bƣớc 3: Tính với
Kiểm tra điều kiện: (<=0 cho bài toán max và >=0 với bài toán min)
Nếu thì kết thúc
Nếu thì chọn biến làm biến cơ sở mới nếu | | là max
Khi làm biến cơ sở thì phải chọn biến loại ra khỏi danh sách biến cơ sở cũ
Cho: -
- =0=> .
Ghi chú: nếu hoặc <0 thì chúng ta không xét
Có 2 trƣờng hợp xảy ra:
Nếu , thì biến tƣơng ứng bị loại và thành biến phi cơ sở
Nếu = , thì ta ta đặt thêm biến mới làm biến tự do và là phi cơ sở (số biến cơ sở đƣợc
tăng thêm 1 biến)
Với và đƣa vào danh sách các ràng buộc
Tăng k=k+1
Tiếp tục lặp lại Bƣớc 2
Ví dụ: Giải BTQHPT sau:
= -3
với điều kiện x = ( , ) là miền ràng buộc đƣợc xác định bởi

{
5. Ví dụ về ứng dụng quy hoạch phi tuyến để tìm công suất phát tối ƣu của các nhà máy điện (bài toán cho
sẵn)
Cho mạng điện có 2 nhà máy cung cấp cho 3 phụ tải nhƣ hình 1.3.

Hình 4.3. Vị trí nhà máy và mạng điện


Bài toán 1: Cần xác định công suất các nhà máy A và B sao cho tổng công suất tác dụng của 2 nhà máy phát ra là
bé nhất.
Bài toán 2: Cần xác định công suất các nhà máy A và B sao cho tổng tổn thất công suất tác dụng trên lƣới là bé
nhất.
Bài toán 3: Cần xác định công suất các nhà máy A và B sao cho tổng chi phí vận hành của 2 nhà máy là bé nhất
với chi phí vận hành của các nhà máy đƣợc biểu điễn
CHƯƠNG 5. QUY HOẠCH THỰC NGHIỆM

1.1. Khái niệm


Định nghĩa qui hoạch thực nghiệm: qui hoạch thực nghiệm là tập hợp các tác động nhằm đưa ra
chiến thuật làm thực nghiệm từ giai đoạn đầu đến giai đoạn kết thúc của quá trình nghiên cứu đối
tượng (từ nhận thông tin mô phỏng đến việc tạo ra mô hình toán, xác định các điều kiện tối ưu),
trong điều kiện đã hoặc chưa hiểu biết đầy đủ về cơ chế của đối tượng.
Đối tượng của qui hoạch thực nghiệm trong các ngành công nghệ: Là một quá trình hoặc hiện
tượng nào đó có những tính chất, đặc điểm chưa biết cần nghiên cứu. Người nghiên cứu có thể
chưa hiểu biết đầu đủ về đối tượng, nhưng đã có một số thông tin tiên nghiệm dù chỉ là sự liệt kê
sơ lược những thông tin biến đổi, ảnh hưởng đến tính chất đối tượng. Có thể hình dung chúng
như một “hộp đen” trong Hệ thống điều khiển gồm các tín hiệu đầu vào và đầu ra, như ở hình 1

Hình 1
- Các tín hiệu đầu vào được chia thành ba nhóm:
1) Các biến kiểm tra được và điều khiển được, mà người nghiên cứu có thể điều chỉnh theo dự
định, biểu diễn bằng vectơ:
Z = [Z1, Z2, ..., Zk]
2) Các biến kiểm tra được nhưng không điều khiển được, biểu diễn bằng vectơ:
T = [T1, T2, ..., Th]
3) Các biến không kiểm tra được và không điều khiển được, biểu diễn bằng vectơ:
E = [E1, E2, ..., Ef]
- Các tín hiệu đầu ra dùng để đánh giá đối tượng là vectơ Y = (y1, y2,..., yq). Chúng thường được
gọi là các hàm mục tiêu. Biểu diễn hình học của hàm mục tiêu được gọi là mặt đáp ứng (bề mặt
biếu diễn).
* Các phương pháp qui hoạc thực nghiệm :
- Thực nghiệm sàng lọc: là thực nghiệm mà nhiệm vụ của nó là tách những yếu tố ảnh hưởng
đáng kể ra khỏi những yếu tố đầu vào để tiếp tục nghiên cứu chúng trong các thực nghiệm cần
thiết.
- Thực nghiệm mô phỏng: là thực nghiệm liên quan tới việc mô phỏng hiện tượng cần nghiên
cứu.
- Thực nghiệm cực trị : là thực nghiệm được phát triển từ thực nghiệm mô phỏng. Nhiệm vụ của
nó là xây dựng mô hình toán thực nghiệm, theo đó xác định giá trị tối ưu của hàm mục tiêu và các
biến của hàm.
* Kế hoạch thực nghiệm :
Đối với các thực nghiệm tích cực, miền tác động là miền các giá trị có thể có của các yếu tố Z trong
thực nghiệm. Trong miền tác động có miền qui hoạch
- Miền giá trị của các yếu tố vào Z - trong đó chứa vừa đủ các điểm thí nghiệm của thực nghiệm. Nói
cách khác, đó là miền tạo bởi phạm vị thay đổi các yếu tố Z theo kế hoạch thực nghiệm xác định. Kế
hoạch thực nghiệm bao gồm các điểm thí nghiệm gọi là điểm của kế hoạch. Đó là một bộ (còn gọi là
phƣơng án) kết hợp các giá trị cụ thể của các yếu tố vào Z, ứng với điều kiện tiến hành một thí
nghiệm trong tập hợp các thí nghiệm của thực nghiệm. Tại điểm thứ i của kế hoạch, bộ kết hợp các
giá trị Zji bao gồm giá trị cụ thể của k yếu tố đầu vào :
Zji = [Z1i, Z2i, ..., Zkj]
Trong đó: i = 1, 2, ..., N là điểm thí nghiệm thứ i của kế hoạch thứ N là số điểm thí nghiệm
của kế hoạch.
j = 1, 2, ..., k là yếu tố thứ j ; k là số yếu tố đầu vào.
1.2. Các nguyên tắc cơ bản của qui hoạch thực nghiệm
Nguyên tắc không lấy toàn bộ trạng thái đầu vào

Để có thông tin toàn diện về tính chất hàm mục tiêu về nguyên tắc cần tiến hành vô số các thực
nghiệm trong miền qui hoạch.

+1

* M(x1, x2)

-1

Ví dụ, trong trƣờng hợp có hai yếu tố, nếu cho mỗi yếu tố biến đổi liên tục từ -1 đến +1 thì miền
thực nghiệm sẽ là hình vuông chứa vô số điểm M(x1, x2) đặc trƣng cho trạng thái đầu vào.
Về lý thuyết nếu không tiến hành tất cả các thực nghiệm đó thì có thể bỏ sót đặc điểm nào đó của
hàm mục tiêu, tuy nhiên thực tế không thể thực hiện đƣợc điều đó. Do vậy ngƣời nghiên cứu chỉ có
thể lấy những giá trị rời rạc, chọn mức biến đổi nào đó cho các yếu tố. Sự lựa chọn này cần có cơ sở
khoa học, nó gắn liền với sự lựa chọn dạng hàm. Dạng hàm thông thƣờng là bậc một hoặc bậc 2 và
số mức biến đổi thƣờng là hai hoặc ba.
Nguyên tắc phức tạp dần mô hình toán học

Khi chƣa có thông tin ban đầu về các tính chất của hàm mục tiêu, thì không nên xây dựng mô hình
phức tạp của đối tƣợng để tránh chi phí vô ích về thời gian, phƣơng tiện vật chất nếu không dùng
đến mô hình đó. Nên bắt đầu từ những mô hình đơn giản nhất, ứng với những thông tin ban đầu đã
có về đối tƣợng.
Logic tiến hành thực nghiệm là nên làm ít thí nghiệm để có mô hình đơn giản (ví dụ mô hình tuyến
tính), kiểm tra tính tƣơng hợp của mô hình:
- Nếu mô hình tương hợp, đạt yêu cầu thì dừng lại, hoặc cải tiến;
- Nếu mô hình không thì tiến hành giai đoạn tiếp theo của thực nghiệm : làm những thí nghiệm
mới, bổ sung để rồi nhận đƣợc mô hình phức tạp hơn (ví dụ mô hình phi tuyến), kiểm tra mô hình
mới cho đến khi đạt đƣợc mô hình hữu dụng.
Nguyên tắc đối chứng với nhiễu
Độ chính xác của mô hình phải tƣơng xứng với cƣờng độ nhiễu ngẫu nhiên mà chúng tác động lên
kết quả đo hàm mục tiêu. Trong cùng điều kiện nhƣ nhau, độ nhiễu càng nhỏ thì mô hình càng phải
chính xác, phải phức tạp hơn.

1.3. Các bƣớc qui hoạch thực nghiệm cực trị


1.3.1 Chọn thông số nghiên cứu
Phân loại các yếu tố ảnh hƣởng lên đối tƣợng thành các nhóm Z, T và E. Một mặt đƣa ra những biện
pháp tích cực để hạn chế tác động của các nhóm yếu tố T và E, mặt khác phải phân tích để chọn từ Z
các yếu tố ảnh hƣởng chính, loại bớt những yếu tố không cần thiết, nhằm đảm bảo tính khả thi và
hiệu quả của thực nghiệm
Lựa chọn chỉ tiêu (mục tiêu) đánh giá đối tƣợng, sao cho các chỉ tiêu này vừa đáp ứng các yêu cầu
của phƣơng pháp qui hoạch thực nghiệm, vừa đại diện nhất cho các điều kiện tối ƣu của đối tƣợng
nghiên cứu.
Căn cứ vào số yếu tố ảnh hƣởng chính, chỉ tiêu đánh giá, mục đích, nhiệm vụ thực nghiệm, ngƣời
nghiên cứu phải biết nhóm các yếu tố vào theo kế hoạch thực nghiệm.
Trong giai đoạn này, miên qui hoạch và số mức thay đổi của các yếu tố ảnh hƣởng phải đƣợc xác
định sơ bộ.
1.3.2 Lập kế hoạch thực nghiệm
Chọn đƣợc dạng kế hoạch thí nghiệm phù hợp với điều kiện tiến hành thí nghiệm và với đặc điểm
các yếu tố của đối tƣợng.
Mỗi dạng kế hoạch đặc trƣng bởi các chuẩn tối ƣu và tính chất khác nhau. Nên quan tâm nhiều đến
điều kiện thí nghiệm và đặc điểm đo đạc, nhận giá trị của mục tiêu.
1.3.3 Tiến hành thí nghiệm nhận thông tin
Sử dụng các phƣơng pháp riêng cho từng đối tƣợng
Sử dụng một số phƣơng pháp xử lý số liệu, kiểm tả một số giả thiết thống kê. Việc xử lý nhanh các
thông tin ngay trong quá trình nhận chúng có tác dụng tích cực, giúp xác minh kịp thời những thí
nghiệm cần bổ sung khi điều kiện thí nghiệm còn đang cho phép với các phép kiểm tra đồng nhất
phƣơng sai, tính liên thuộc của số liệu bị nghi ngờ, mức độ ảnh hƣởng của các yếu tố...
1.3.4 Xây dựng và kiểm tra mô hình thực nghiệm
Sử dụng phƣơng pháp bình phƣơng nhỏ nhất và các nội dung phân tích hồi qui, phân tích phƣơng sai
để xác định giá trị của các hệ số trong mô hình hồi qui đa thức, kiểm tra mô hình theo độ tƣơng
thích và khả năng làm việc. Tùy theo loại thực nghiệm mà mô hình là tuyến tính hay phi tuyến. Ví
dụ các dạng phƣơng trình hồi qui:
- Mô hình bậc hai tuyến tính:
Mô hình bậc hai phi tuyến:

Trong đó: B = [b0, b1, b2 ..., bk, b11, b12, ..., bjj] là các hệ số hồi qui.

1.4. Phƣơng pháp xác định các hệ số trong mô hình thực nghiệm
Phƣơng pháp bình phƣơng nhỏ nhất (BPNN)
Là phƣơng án cơ bản có hiệu lực khi xử lí các số liệu thực nghiệm và xây dựng mô hình thống kê
cho nhiều đối tƣợng nghiên cứu thuộc các lĩnh vực khác nhau.
Phƣơng pháp này cho phép xác định các hệ số của phƣơng trình hồi qui đã chọn sao cho độ lệch của
sự phụ thuộc đã cho so với số liệu thực nghiệm
là nhỏ nhất.

∑ ̃

Trong đó : Yu là giá trị thực nghiệm ứng với k thông số tối ƣu ở thí nghiệm thứ u.
̃ là giá trị theo phƣơng trình hồi qui số tối ƣu ở thí nghiệm thứ u.
1.5. Một số mô hồi quy
1.5.1 Hồi quy tuyến tính một biến
1.5.1.1 Mô hình bậc nhất
Phƣơng trình hồi quy tuyến tính một biến số có dạng: ̃
Các hệ số của phương trình hồi quy được xác định bằng phương pháp bình phương nhỏ nhất (BPNN),.

Hàm mục tiêu

∑ ̃ ∑

ở đó ứng với ta có ̃ và số thí nghiệm là N.


Bằng cách lần lƣợt lấy đạo hàm hàm mục tiêu theo rồi cho bằng 0. Ta có hệ phƣơng trình
chuẩn có dạng:


{

∑ ∑

∑ ∑ ∑
{
Ví dụ

Cho phụ tải A có công suất cực đại được thống kê theo năm như sau

Năm Số thứ tự năm Công suất cực đại MW


2010 1 15
2011 2 15.5
2012 3 16.2
2013 4 17
2014 5 17.1
2015 6 17.2
2016 7 17.8
2017 8 18.5
2018 9 19.5
2019 10 20
2020 11 20.1
Hãy xác định công suất cực đại của phụ tải vào năm 2022 nếu mô hình dự báo bậc 1

Giải

Mô hình dự báo ̂

Xác định các hằng số a và b

Ta có

Hàm mục tiêu về tổng sai số dự báo: ∑ ̂

Hay : ∑

Ta lấy đạo hàm theo a và b


{
Đơn giản hoá

∑ ∑ ∑

∑ ∑
{

Ta lập bảng như sau

Năm

2010 1 15 1 15

2011 2 15.5 4 31

2012 3 16.2 9 48.6

2013 4 17 16 68

2014 5 17.1 25 85.5

2015 6 17.2 36 103.2

2016 7 17.8 49 124.6

2017 8 18.5 64 148

2018 9 19.5 81 175.5

2019 10 20 100 200

2020 11 20.1 121 221.1

Tổng 66 193.9 506 1220.5

Ta có hệ phương trình

Kết quả 

Mô hình dự báo ̂

Vậy năm 2022 ứng với t=13

̂ MW

51
1.5.1.2Mô hình bậc 2 (Hồi quy parabol)
Phƣơng trình hồi quy parabol - bậc hai một biến có dạng:
̃

Các hệ số của phƣơng trình hồi quy cũng đƣợc xác định bằng phƣơng pháp bình phƣơng
nhỏ nhất (BPNN), với số thí nghiệm là N.

∑ ̃

Tƣơng tự, ta có

Hệ phương trình chuẩn có dạng:

1.5.1.3 Mô hình hàm số mũ (hồi quy hàm số mũ)


Khi số thực nghiệm N bé, nếu tăng bậc của đa thức có thể dẫn đến việc tăng phƣơng
sai dƣ. Lúc này để giảm số các hệ số không xác định, ta dùng hồi quy hàm số mũ.
Việc xác định các hệ số của phƣơng trình hồi quy có thể rất khó khăn do phải giải hệ
phƣơng trình phi tuyến. Việc tính toán sẽ trở nên đơn giản hơn nếu tiến hành thay thế
các biến số và hạ bậc đa thức.
Ví dụ các quan hệ kiểu hàm số mũ nhƣ sau :

Đƣợc logarit hóa :

Sau khi đặt :

Ta sẽ nhận đƣợc phƣơng trình tuyến tính với các biến số :


̂ ̂

Các hệ số a0, a1, b1 đƣợc xác định theo phƣơng pháp BPNN. Từ a0 và a1 có thể tính đƣợc
b0 và b1.
1.5.2 Mô hình đa biến (Hồi quy nhiều biến)

52
Nếu cần nghiên cứu liên kết tƣơng quan giữa nhiều đại lƣợng ngƣời ta dùng phƣơng
trình hồi quy nhiều biến:

̃ ∑ ∑ ∑

Phƣơng pháp này cho phép xác định các hệ số của phƣơng trình hồi qui đã chọn sao cho
độ lệch của sự phụ thuộc đã cho so với số liệu thực nghiệm là nhỏ nhất.

∑ ̃

Trong đó

Yu là giá trị thực nghiệm ứng với k thông số tối ƣu ở thí nghiệm thứ u.
̃ là giá trị theo phƣơng trình hồi qui số tối ƣu ở thí nghiệm thứ u

Ví dụ xét PTHQ nhƣ sau:

Vậy ta lập hàm sai số giữa hàm hồi quy và giá trị đo đƣợc

cực tiểu khi thỏa mãn các điều kiện sau:

Có thể viết dƣới dạng sau:


{
53
Nhƣ vậy giải hệ pƣơng trình sau sẽ đƣợc các hệ số hồi quy

∑ ∑ ∑ ∑ ∑

∑ ∑ ∑ ∑ ∑

∑ ∑ ∑ ∑ ∑

∑ ∑ ∑ ∑ ∑
{

54
CHƯƠNG 6. QUY HOẠCH ĐỘNG

1. Bài toán quy hoạch động


1.1. Khái niệm
Quy hoạch động (QHĐ) là một trong những phƣơng pháp tối ƣu hóa hiện đại và mạnh mẽ. Đối tƣợng
của QHĐ là những quá trình nhiều bƣớc nói chung và các quá trình phát triển theo thời gian nói riêng.
Cơ sở của phƣơng pháp Quy hoạch động là nguyên tắc tối ƣu gắn liền với tên tuổi của nhà toán học
Mỹ Bellman: “Dáng điệu tối ưu có tính chất là dù trạng thái và điều khiển ban đầu có dạng như thế
nào thì điều khiển tiếp theo cũng phải là tối ưu trong trạng thái thu được là kết quả tác động của
những điều khiển ban đầu”.
Bên cạnh nguyên tắc tối ƣu, nguyên tắc quan trọng thứ hai của phƣơng pháp QHĐ là nguyên tắc lồng:
Bài toán tối ưu đang xét được lồng vào trong một họ các bài toán tối ưu tương tự.
Việc áp dụng kết hợp nguyên tắc tối ƣu và nguyên tắc lồng sẽ dẫn đến các phương trình hàm truy toán
đối với giá trị tối ƣu của hàm mục tiêu. Những phƣơng trình thu đƣợc sẽ cho phép ta viết ra đƣợc lần
lƣợt các điều khiển tối ƣu cho bài toán xuất phát.
Bài toán tính toán điều khiển cả quá trình sẽ đƣợc chia thành một dãy các bài toán điều khiển đơn giản
hơn cho từng giai đoạn của quá trình. Nghĩa là việc tối ƣu hóa đƣợc thực hiện dần từng bƣớc, nhƣng
đảm bảo lời giải tối ƣu cho cả quá trình n bƣớc.
2. PHƢƠNG PHÁP PHƢƠNG TRÌNH TRUY TOÁN QHĐ

2.1 Bài toán phân phối tài nguyên

Để dễ hiểu phƣơng pháp QHĐ ta xét một bài toán thực tế về phân phối tài nguyên nhƣ sau:
Có một loại tài nguyên (ví dụ như nhân công, tiền, máy, nguyên liệu, vật tư,…) có trữ lượng là b. Cần
phải phân phối lượng tài nguyên này cho n đơn vị sản xuất thứ j (hoặc cho n công việc) với j = 1 ÷ n.
Biết rằng nếu phân phối cho đơn vị sản xuất thứ j một lượng tài nguyên xj thì ta thu được một hiệu quả
(tiền lời) là Cj(xj).
Hãy tìm cách phân phối lượng tài nguyên b cho n đơn vị sản xuất sao cho tổng hiệu quả của n đơn vị
sản xuất là lớn nhất (tối ưu).
Bài toán đƣợc mô tả dƣới dạng toán học nhƣ sau:
Cần tìm các nghiệm số x1, x2,…,xj,…, xn sao cho cực đại hàm mục tiêu:

∑ (2. 1)

Và thỏa mãn các điều kiện ràng buộc:


(2. 2)
với mọi j = 1 ÷ n.
Đây là một bài toán tối ƣu hóa, đƣợc đặt tên là bài toán (P). Hiệu quả tối ƣu của bài toán P này (tiền
lời max) đƣợc ký hiệu là fn(b), là tiền lời thu đƣợc lớn nhất khi phân phối b tài nguyên cho n đơn vị
sản xuất.
Sau đây ta sẽ giải bài toán này bằng phƣơng pháp QHĐ.
2.2 Phƣơng trình truy toán QHĐ

Để giải bài toán P ở trên ta lồng bài toán P vào một họ các bài toán (quá trình) sau:
Cần tìm các nghiệm số x1, x2,…,xj,…, xk sao cho cực đại hàm mục tiêu:

∑ ( ) (2. 3)

55
và thỏa mãn các ràng buộc:


(2. 4)

Bài toán này đƣợc gọi là bài toán Pk().


Ta nhận thấy rằng: Khi cho k và  thay đổi thì bài toán Pk() sẽ thay đổi tạo thành một họ các bài toán
tƣơng tự chứa bài toán ban đầu P khi k = n và  = b. Nghĩa là ta đã sử dụng nguyên tắc lồng, lồng bài
toán P đang xét vào họ bài toán Pk(); và đã chuyển một bài toán (quá trình) tĩnh thành một quá trình
động (nhiều giai đoạn, hay nhiều bƣớc tùy ý nghĩa của bài toán).
Ta ký hiệu fk() là hiệu quả tối ƣu của bài toán Pk().
Áp dụng nguyên tắc tối ƣu ta giải bài toán Pk() nhƣ sau:
Cần phải tìm các nghiệm xj (j =1÷k) sao cho đạt cực đại hàm mục tiêu (2. 3) và thỏa mãn ràng buộc (2.
4). Giả sử ta phân phối cho đơn vị sản xuất thứ k một lƣợng tài nguyên bằng xk (xem nhƣ là điều khiển
ban đầu) và hiệu quả thu đƣợc sẽ là Ck(xk). Theo nguyên tắc tối ƣu thì lƣợng tài nguyên còn lại là ( -
xk) phải đƣợc phân phối tối ƣu cho (k-1) đơn vị còn lại (xem nhƣ là điều khiển tiếp theo), và hiệu quả
tối ƣu thu đƣợc của phân phối này là fk-1( - xk). Hiệu quả của k đơn vị sản xuất sẽ là:
(2. 5)
Vậy ta cần phải tìm điều khiển xk sao cho hiệu quả tổng tính theo biểu thức (2. 5) phải đạt cực đại,
nghĩa là xk là nghiệm của phƣơng trình sau:
(2. 6)

Đây chính là phƣơng trình truy toán của QHĐ (hay còn gọi là phƣơng trình phiếm hàm Bellman).
Vì nếu biết f1() = C1() với các giá trị  thay đổi (từ 1 đến b), thay giá trị của f1() vào (2. 6) ta sẽ
tìm đƣợc các giá trị f2() (  = 1 ÷ b) nhƣ sau:
(2. 7)
Biết f2() ta sẽ tìm đƣợc f3(). Cứ tiếp tục tính nhƣ thế đến lúc ta sẽ tìm đƣợc fk(). Cho k và  thay
đổi, cuối cùng ta sẽ tìm đƣợc fn(b) ứng với trƣờng hợp k = n và  = b.
2.3 Bài toán thực tế

Ví dụ 1: Một công ty có 6 máy công cụ cần phân bố cho đơn vị sản xuất của mình. Biết rằng nếu
phân phối xj máy cho đơn vị thứ j thì sẽ mang lại hiệu quả là Cj(xj) cho trong Bảng 2. 1. Hãy tìm
phương án phân phối tối ưu 6 máy sao cho công ty có hiệu quả lớn nhất.
Bảng 2. 1. Hiệu quả của các đơn vị sản xuất
Số máy đƣợc Tiền lãi (hiệu quả) ĐVT: triệu đồng
phân phối xj C1(x1) C2(x2) C3(x3)
0 0 0 0
1 4 2 3
2 6 4 4
3 7 6 4
4 8 7 4
5 8 8 4
6 8 9 4

Bài toán đƣợc điễn đạt toán học nhƣ sau:


Cần xác định các nghiệm số {x1, x2, x3} sao cho cực đại hàm mục tiêu:

56
∑ ( ) (2. 8)
Và thỏa mãn các ràng buộc:


(2. 9)
với mọi j = 1 ÷ 3.
Gọi fk() là hiệu quả tối ƣu (tiền lãi lớn nhất) khi phân phối  máy cho k đơn vị sản xuất. Theo (2. 6)
phƣơng trình truy toán QHĐ sẽ là:
(2. 10)
Lần lƣợt cho k thay đổi từ 1 đến 3 và  thay đổi từ 0 đến 6, theo phƣơng pháp QHĐ bài toán sẽ đƣợc
tính toán gồm các bƣớc nhƣ sau:
1. Cho k =1: nghĩa là ta giả thiết công ty chỉ có 1 đơn vị sản xuất, là đơn vị số 1 chẳng hạn.
Khi đó f1() = C1(); cho  thay đổi từ 0 đến 6 ta tính đƣợc các hiệu quả tối ƣu f1() nhƣ sau:
f1(0) = C1(0) = 0 (triệu đồng)
f1(1) = C1(1) = 4 (triệu đồng)
f1(2) = C1(2) = 6 (triệu đồng)
f1(3) = C1(3) = 7 (triệu đồng)
f1(4) = C1(4) = 8 (triệu đồng)
f1(5) = C1(5) = 8 (triệu đồng)
f1(6) = C1(6) = 8 (triệu đồng)
Các giá trị này sẽ đƣợc dùng trong bƣớc tính tiếp theo với k = 2.
2. Cho k =2: nghĩa là ta giả thiết công ty có 2 đơn vị sản xuất, là đơn vị số 1 và thêm đơn vị
sản xuất số 2 chẳng hạn.
Theo (2. 10) phƣơng trình QHĐ sẽ là :
(2. 11)
Cho  thay đổi từ 0 đến 6, ta tính đƣợc các hiệu quả tối ƣu f2() nhƣ sau:
- Khi  = 0: f2(0) = 0;
- Khi  = 1:
với 0 ≤ x2 ≤ 1
=
= (triệu đồng)
- Khi  = 2:
với 0 ≤ x2 ≤ 2
=
= (triệu đồng)
- Khi  = 3:
với 0 ≤ x2 ≤ 3
=
= (triệu đồng)
- Khi  = 4:
với 0 ≤ x2 ≤ 4
= { }
= (triệu đồng)
- Khi  = 5:
với 0 ≤ x2 ≤ 5

57
= { }
= (triệu đồng)
- Khi  = 6:
với 0 ≤ x2 ≤ 6
= { }
=
(triệu đồng)
Tổng kết cuối bƣớc này ta đã tính và chỉ cần lƣu lại các thông tin sau:
f2(1) = 4 triệu x2 = 0
f2(2) = 6 triệu x2 = 0
f2(3) = 8 triệu x2 = 1 hoặc x2 = 2
f2(4) = 10 triệu x2 = 2 hoặc x2 = 3
f2(5) = 12 triệu x2 = 3
f2(6) = 13 triệu x2 = 3 hoặc x2 = 4
Đây là các phƣơng án tối ƣu khi phân phối  máy cho hai đơn vị sản xuất số 1 và số 2. Ta nhận thấy
phƣơng án tối ƣu có thể có nhiều nhƣng giá trị tối ƣu của hàm mục tiêu là duy nhất. Ví dụ nhƣ các
trƣờng hợp  = 3, 4, 6.
3. Cho k = 3:
Đây là bƣớc tính khi xét công ty có đủ 3 đơn vị sản xuất nhƣ bài toán yêu cầu. Ở bƣớc này ta có thể
tìm ngay hiệu quả tối ƣu f3(6) khi cho  = 6 mà không cần cho  thay đổi nữa, vì ta không cần tính tất
cả các giá trị f3(6) để tính f4(6).
Phƣơng trình QHĐ khi k = 3 sẽ là:
với 0 ≤ x3 ≤ 6
= { }
=
triệu đồng
Nhƣ vậy, hiệu quả tối ƣu là f3(6) = 15 triệu đồng.
Truy ngƣợc về cách tính f3(6), ta thấy hiệu quả tối ƣu này chính là:

ứng với x3 = 1 máy, C3(x3) = 3 triệu


Truy ngƣợc về bƣớc tính k = 2, từ biểu thức tính f2(5) ta có:

Suy ra đƣợc x2 = 3 máy và x1 = 2 máy; C2(x2) = 6 triệu và C1(x1) = 6 triệu


Tóm lại, phƣơng án phân bố tối ƣu là:
Đơn vị 1 Đơn vị 2 Đơn vị 3 Tổng cộng
Số máy (máy) x1 = 2 x2 = 3 x3 = 1 6
Tiền lời (triệu) C1 = 6 C2 = 6 C3 = 3 f3(6) =15
Nhận xét:
- Bài toán đƣợc phân thành các bài toán tối ƣu từng bƣớc, cuối mỗi bƣớc chỉ cần lƣu lại kết
quả fk() do vậy sẽ giải phóng đáng kể đƣợc bộ nhớ của máy tính khi lập trình.
- Trong ví dụ trên, ở bƣớc k = 1 ta giả thiết đơn vị sản xuất là đơn vị số 1. Ta có thể tùy ý
chọn là đơn vị số 2 hoặc 3 để làm bài toán xuất phát. Tƣơng tự nhƣ vậy đối với bƣớc 2, nhƣng lƣu ý
phải có đơn vị đã xét ở bƣớc 1 (Sinh viên có thể tự kiểm tra lại kết quả).
- Một bài toán tối ƣu có thể có nhiều phƣơng án tối ƣu nhƣng giá trị tối ƣu của hàm mục tiêu
là duy nhất.
3. Một số bài toán quy hoạch động
58
3.1 Khái niệm về phƣơng pháp quy hoạch động (QHĐ)
Phƣơng pháp quy hoạch động cùng nguyên lý tối ƣu đƣợc nhà toán học Mỹ R.Bellman đề xuất vào
những năm 50 của thế kỷ 20. Phƣơng pháp này đã đƣợc áp dụng để giải hàng loạt bài toán thực tế
trong các quá trình kỹ thuật cộng nghệ, tổ chức sản xuất, kế hoạch hoá kinh tế… Tuy nhiên cần lƣu ý
rằng có một số bài toán mà cách giải bằng quy hoạch động tỏ ra không thích hợp.
Nguyên lý tối ƣu của R.Bellmam đƣợc phát biểu nhƣ sau: “tối ưu bước thứ n bằng cách tối ưu tất cả
con đường tiến đến bước n-1 và chọn con đường có tổng chi phí từ bước đến bước n-1 và từ n- đến
n là thấp nhất (nhiều nhất).

Chú ý rằng nguyên lý này được thừa nhận mà không chứng minh.
Trong thực tế, ta thƣờng gặp một số bài toán tối ƣu loại sau: Có một đại lƣợng f hình thành trong một
quá trình gồm nhiều giai đoạn và ta chỉ quan tâm đến kết quả cuối cùng là giá trị của f phải lớn nhất
hoặc nhỏ nhất, ta gọi chung là giá trị tối ƣu của f. Giá trị của f phụ thuộc vào những đại lƣợng xuất
hiện trong bài toán mà mỗi bộ giá trị của chúng đƣợc gọi là một trạng thái của hệ thống và phụ thuộc
vào cách thức đạt đƣợc giá trị f trong từng giai đoạn mà mỗi cách tổ chức đƣợc gọi là một điều khiển.
Đại lƣợng f thƣờng đƣợc gọi là hàm mục tiêu và quá trình đạt đƣợc giá trị tối ƣu của f đƣợc gọi là quá
trình điều khiển tối ưu.
Nguyên lý tối ƣu Bellman (cũng gọi là nguyên lý Bellman) có thể điễn giải theo một cách khác nhƣ
sau: “Với mỗi quá trình điều khiển tối ƣu, đối với trạng thái bắt đầu A0, với trạng thái A trong quá trình
đó, phần quá trình kể từ trạng thái A xem nhƣ trạng thái bắt đầu cũng là tối ƣu”.
Phƣơng pháp tìm điều khiển tối ƣu theo nguyên lý Bellman thƣờng đƣợc gọi là quy hoạch động. Thuật
ngữ này nói lên thực chất của quá trình điều khiển là động: Có thể trong một số bƣớc đầu tiên lựa chọn
điều khiển tối ƣu dƣờng nhƣ không tốt nhƣng tựu chung cả quá trình lại là tốt nhất.
Ta có thể giải thích ý này qua bài toán sau: Cho một dãy N số nguyên A1, A2,…,AN. Hãy tìm cách xoá
đi một số ít nhất số hạng để dãy còn lại là đơn điệu hay nói cách khác hãy chọn một số nhiều nhất các
số hạng sao cho dãy B gồm các số hạng đó theo trình tự xuất hiện trong dãy A là đơn điệu.
Quá trình chọn B đƣợc điều khiển qua N giai đoạn để đạt đƣợc mục tiêu là số lƣợng số hạng của
dãy B là nhiều nhất, điều khiển ở giai đoạn i thể hiện việc chọn hay không chọn Ai vào dãy B.
Giả sử dãy đã cho là 1 8 10 2 4 6 7. Nếu ta chọn lần lƣợt 1, 8, 10 thì chỉ chọn đƣợc 3 số hạng nhƣng
nếu bỏ qua 8 và 10 thì ta chọn đƣợc 5 số hạng 1, 2, 4, 6, 7.
Khi giải một bài toán bằng cách “chia để trị” chuyển việc giải bài toán kích thƣớc lớn về việc giải
nhiều bài toán cùng kiểu có kích thƣớc nhỏ hơn thì thuật toán này thƣờng đƣợc thể hiện bằng các
chƣơng trình con đệ quy. Khi đó, trên thực tế, nhiều kết quả trung gian phải tính nhiều lần.
Vậy ý tƣởng cơ bản của quy hoạch động thật đơn giản: Tránh tính toán lại mọi thứ hai lần, mà lƣu giữ
kết quả đã tìm kiếm đƣợc vào một bảng làm giả thiết cho việc tìm kiếm những kết quả của trƣờng hợp
59
sau. Chúng ta sẽ làm đầy dần giá trị của bảng này bởi các kết quả của những trƣờng hợp trƣớc đã đƣợc
giải. Kết quả cuối cùng chính là kết quả của bài toán cần giải. Nói cách khác phƣơng pháp quy hoạch
động đã thể hiện sức mạnh của nguyên lý chia để trị đến cao độ.
Quy hoạch động là kỹ thuật thiết kế bottom-up (từ dƣới lên). Nó đƣợc bắt đầu với những trƣờng hợp
con nhỏ nhất (thƣờng là đơn giải nhất và giải đƣợc ngay). Bằng cách tổ hợp các kết quả đã có (không
phải tính lại) của các trƣờng hợp con, sẽ đạt đạt tới kết quả của trƣờng hợp có kích thƣớc lớn dần lên
và tổng quát hơn, cho đến khi cuối cùng đạt tới lời giải của trƣờng hợp tổng quát nhất.
Trong một số trƣờng hợp, khi giải một bài toán A, trƣớc hết ta tìm họ bài toán A(p) phụ thuộc tham số
p (có thể p là một véc tơ) mà A(p0)=A với p0 là trạng thái ban đầu của bài toán A. Sau đó tìm cách giải
họ bài toán A(p) với tham số p bằng cách áp dụng nguyên lý tối ƣu của Bellman. Cuối cùng cho
p=p0 sẽ nhận đƣợc kết quả của bài toán A ban đầu.
3.2 Các bƣớc thực hiện quy hoạch động
Bước 1: Lập hệ thức
Dựa vào nguyên lý tối ƣu tìm cách chia quá trình giải bài toán thành từng giai đoạn, sau đó tìm hệ thức
biểu điễn tƣơng quan quyết định của bƣớc đang xử lý với các bƣớc đã xử lý trƣớc đó. Hoặc tìm cách
phân rã bài toán thành các “bài toán con” tƣơng tự có kích thƣớc nhỏ hơn, tìm hệ thức nêu quan hệ
giữa kết quả bài toán kích thƣớc đã cho với kết quả của các “bài toán con” cùng kiểu có kích thƣớc
nhỏ hơn của nó nhằm xây dựng phƣơng trình truy toán (dạng hàm hoặc thủ tục đệ quy).
Về một cách xây dựng phương trình truy toán:
Ta chia việc giải bài toán thành n giai đoạn. Mỗi giai đoạn i có trạng thái ban đầu là t(i) và chịu tác
động điều khiển d(i) sẽ biến thành trạng thái tiếp theo t(i+1) của giai đoạn i+1 (i=1,2,…,n-1). Theo
nguyên lý tối ƣu của Bellman thì việc tối ƣu giai đoạn cuối cùng không làm ảnh hƣởng đến kết quả
toàn bài toán. Với trạng thái ban đầu là t(n) sau khi làm giai đoạn n tốt nhất ta có trạng thái ban đầu
của giai đoạn n-1 là t(n-1) và tác động điều khiển của giai đoạn n-1 là d(n-1), có thể tiếp tục xét đến
giai đoạn n-1. Sau khi tối ƣu giai đoạn n-1 ta lại có t(n-2) và d(n-2) và lại có thể tối ƣu giai đoạn n-2
… cho đến khi các giai đoạn từ n giảm đến 1 đƣợc tối ƣu thì coi nhƣ hoàn thành bài toán. Gọi giá trị
tối ƣu của bài toán tính đến giai đoạn k là Fk giá trị tối ƣu của bài toán tính riêng ở giai đoạn k
là Gk thì
Fk = Fk-1 + Gk
Hay là:
Bước 2: Tổ chức dữ liệu và chƣơng trình
Tổ chức dữ liệu sao cho đạt các yêu cầu sau:
 Dữ liệu đƣợc tính toán dần theo các bƣớc.
 Dữ liệu đƣợc lƣu trữ để giảm lƣợng tính toán lặp lại.
 Kích thƣớc miền nhớ dành cho lƣu trữ dữ liệu càng nhỏ càng tốt, kiểu dữ liệu đƣợc chọn phù hợp,
nên chọn đơn giản dễ truy cập.
Cụ thể
 Các giá trị của Fk thƣờng đƣợc lƣu trữ trong một bảng (mảng một chiều hoặc hai, ba, v.v… chiều).
 Cần lƣu ý khởi trị các giá trị ban đầu của bảng cho thích hợp, đó là các kết quả của các bài toán
con có kích cỡ nhỏ nhất của bài toán đang giải:
 Dựa vào công thức, phƣơng trình truy toán (*) và các giá trị đã có trong bảng để tìm dần các giá trị
còn lại của bảng.
 Ngoài ra còn cần mảng lƣu trữ nghiệm tƣơng ứng với các giá trị tối ƣu trong từng gian đoạn.
 Dựa vào bảng lƣu trữ nghiệm và bảng giá trị tối ƣu trong từng giai đoạn đã xây dựng, tìm ra kết
quả bài toán.
Bước 3: Làm tốt
Làm tốt thuật toán bằng cách thu gọn hệ thức (*) và giảm kích thƣớc miền nhớ. Thƣờng tìm cách dùng
mảng một chiều thay cho mảng hai chiều nếu giá trị một dòng (hoặc cột) của mảng hai chiều chỉ phụ
thuộc một dòng (hoặc cột) kề trƣớc.

60
Trong một số trƣờng hợp có thể thay mảng hai chiều với các giá trị phần tử chỉ nhận giá trị 0, 1 bởi
mảng hai chiều mới bằng cách dùng kỹ thuật quản lý bit.
3.3 Các thao tác tổng quát của phương pháp QHĐ
1. Xây dựng hàm QHĐ
2. Lập bảng lưu lại giá trị của hàm
3. Tính các giá trị ban đầu của bảng
4. Tính các giá trị còn lại theo kích thước tăng dần của bảng cho đến khi đạt được giá trị tối ưu cần
tìm
5. Dùng bảng lưu để truy xuất lời giải tối ưu.
Hạn chế của phƣơng pháp QHĐ
Việc tìm công thức, phƣơng trình truy toán hoặc tìm cách phân rã bài toán nhiều khi đòi hỏi sự phân
tích tổng hợp rất công phu, dễ sai sót, khó nhận ra nhƣ thế nào là thích hợp, đòi hỏi nhiều thời gian suy
nghĩ. Đồng thời không phải lúc nào kết hợp lời giải của các bài toán con cũng cho kết quả của bài toán
lớn hơn.
Khi bảng lƣu trữ đòi hỏi mảng hai, ba chiều … thì khó có thể xử lý dữ liệu với kích cỡ mỗi chiều lớn
hàng trăm.
Có những bài toán không thể giải đƣợc bằng quy hoạch động.
Bài toán đƣờng đi ngắn nhất
Ví dụ
Mỗi ngày công ty xây dựng Kiến An cần phải vận chuyển vữa bê tông tƣơi từ nhà máy sản xuất vữa bê
tông thƣơng phẩm Cửu Long đến công trƣờng xây dựng nhà thi đấu Hoàn Hảo. Hãy tìm đƣờng đi
ngắn nhất từ nhà máy sản xuất vữa bê tông Cửu Long (nút 1) đến công trƣờng (nút 7) . S ơ đồ mạng
lƣới đƣờng với chiều dài các nhánh đƣờng nhƣ trong hình

Gọi
• f(n,s): khoảng cách ngắn nhất hay chi phí vận chuyển thấp nhất khi di chuyển từ nút s đến nút cuối
cùng ở giai đoạn
• c(s,j): khoảng cách hay chi phí vận chuyển từ nút s đến nút j
• d(n s): các quy d(n,s): các quyết định ở giai đoạn n (các nút s ẽ đi qua tƣ nút xuất phát s)
• s: tr ạng thái, tƣơng ứng với nút xuất phát trong giai trong giai đoạn n
f(n,s) = min [C(s,j) + f(n-1,j)]
xét tất cả các nhánh đƣờng xuất phát từ nút s

Bài toán này có 3 giai đoạn


• Giai đoạn 3 có một trạng thái (nút xuất phát là nút 1)
• Giai đoạn 2 có ba trạng thái (nút xuất p hát là nút 2,3,4)
• Giai đoạn 1 có hai trạng thái (nút xuất phát là nút 5,6).

61
Lời giải bài toán tìm i bài toán tìm đƣờng đi ngắn nhất – giai đoạn 1

Trạng thái F(1,s) D(1,s)


5 14 7
6 2 7

Lời giải bài toán tìm i bài toán tìm đƣờng đi ngắn nhất – giai đoạn 2

Trạng thái Quyết định F(2.s) D(2,s)


(D(2,s))
Nút 5 Nút 6
4 4+14 10+2 12 6
3 12+14 6+2 8 6
2 10+14 24 5
Lời giải bài toán tìm i bài toán tìm đƣờng đi ngắn nhất – giai đoạn 3

Trạng thái Quyết định F(2.s) D(2,s)


(D(2,s))
Nút 4 Nút 6 Nút 2
1 2+12 5+8 4+24 13 3

Bài toán tận dụng sức chứa


Ví dụ 8.2 Công ty xây lắp Xalaco dùng một xe tải có trọng tải 7 tấn để chở 3 loại cấu kiện nặng 1 tấn,
2 tấn, và 3 tấn. Tiền lời chở cấu kiện nặng 1 tấn là 200.000 đồng, 2 tấn là 500.000 đồng và 3 tấn là 800
000. Nên chở bao nhiêu chiếc mỗi loại để đƣợc tiền lời nhiều nhất?
Gọi:
• n là số loại cấu kiện
• j: cấu kiện thứ j (j =1 j (j =1÷n)
• w(j) là trọng lƣợng một cấu kiện loại j
• x(j) là số lƣợng cấu kiện loại j nên chở
• R(j,x(j)) là tiền lời chở x(j) cấu kiện loại j
• g(j,w) là tiền lời tích luỹ lớn nhất khi chở cấu kiện loại j, j-1, …, 1 khi trọng tải của xe còn w
Không có trình tự về thời gian ra quyết định nhƣng có thể xem quyết định chở bao nhiêu cấu kiện loại
j là một giai đoạn. Lời giải tối ƣu tƣơng ứng với giá trị tiền lời lớn nhất trong điều kiện trọng tải của xe
dành để chở cấu kiện j, j1,…,1 là w. Khi đã quyết định chở x(j) cấu kiện loại j thì trọng tải xe dành để
chở cấu kiện j-1,… chỉ còn là w-w(j)x(j)
( ) ( )
Giai đoạn 1: quyết định chở bao nhiêu cấu kiện 1 tấn

Trạng thái g(j,w) x(j)

62
0 0 0
1 2 1
2 4 2
3 6 3
4 8 4
5 10 5
6 12 6
7 14 7

Giai đoạn 2: quyết định chở bao nhiêu cấu kiện 2 tấn

Trạng thái Quyết định (số lƣợng cấu kiện) g(j,w) x(j)
0 1 2 3
0 0 0 0
1 0+2 2 0
2 0+4 5 5 1
3 0+6 5+2 7 1
4 0+8 5+4 10 10 2
5 0+10 5+6 10+2 12 2
6 0+12 5+8 10+4 15 17 3
7 0+14 5+10 10+6 15+2 17 3
Giai đoạn 3: quyết định chở bao nhiêu cấu kiện 3 tấn
Trạng thái Quyết định (số lƣợng cấu kiện) g(j,w) x(j)
0 1 2
7 0+17 8+10 16+2 18 1 hay 2
Vậy nên chở 1 cấu kiện 3 tấn và 2 cấu kiệ 2 tấn hay chở 2 cấu kiện 3 tấn và 1 cấu kiện 1 tấn để đƣợc
nhiều lời nhất
Bài toán kế hoạch sản xuất và tồn trữ
Ví d ụ 8.3 Công ty xây dựng AMC có nhu cầu sử dụng mỗi tháng một bộ máy lạnh trung tâm trong
vòng 3 tháng tới. Mỗi đầu tháng cửa hàng điện lạnh Đilaco đều đến công ty AMC để chào hàng. Công
ty AMC có thể đặt mua số lƣợng máy lạnh theo yêu cầu của tháng đó. Do chi phí vận chuyển, Đilaco
đề nghị sẽ giảm giá bán tùy theo số lƣợng máy đặt mua. Nhƣng nếu số máy đặt mua lớn hơn yêu cầu
sử dụng trong tháng đó thì lại tốn kém chi phí bảo quản số máy dƣ chƣa dùng đến. Biết rằng giá mua
một bộ máy là là 7.200$, từ ba bộ trở lên thì chỉ phải trả thêm 7.000$ cho mỗi bộ mua thêm (vì chi phí
cho một lần chuyên chở xem nhƣ là 200$), chi phí tồn trữ một bộ máy trong vòng một tháng là 150$.
Vậy công ty nên đặt mua máy nhƣ thế nào để giảm tối đa chi phí.
• P(n): số lƣợng hàng đƣợc mua hay sản xuất trong thời đoạn n
• D(n): Nhu cầu tiêu thụ hàng trong thời đoạn n
• I(n-1): lƣợng hàng tồn trữ vào đầu thời đoạn (n-1) khi lƣợng hàng tồn trữ đầu thời đoạn n là I(n),
I(n-1) = I(n) + P(n) – D (n)
• S(n): chi phí chuẩn bị cho một đợt sản xuất/chi phí đặt hàng cho một lần nhập hàng
• V(P(n),I(n)): chi phí sản xuất/mua sắm và tồn trữ hàng chi phí này là hàm s, chi phí này là hàm số
của lƣợng hàng hoá tồn trữ và sản xuất/mua sắm trong thời đoạn n
• C(n,P(n),I(n)): chi phí tổng cộng của thời đoạn n
= S(n) + V(P(n) I(n)) nếu P(n)>0
= V(P(n),I(n)) nếu P(n)=0
• f ( n,i): tổng chi phí mua sắm/sản xuất và tồn trữ từ thời đoạn 1 đến thời đoạn thứ n với mức tồn trữ
đầu thời đoạn n là i

63
f(n,i)=min{C(n,P(n),i+P(n) -D(n))+f(n - 1, i+P(n) - D(n))}
• Bài toán chia làm ba thời đoạn (mỗi thời đoạn tƣơng ứng 1 bài toán nhỏ ):
- Thời đoạn 1(n =1) = tháng thứ 3
- Thời đoạn 2(n=2) =tháng thứ 2
- Thời đoạn 3(n 3) = tháng thứ 1
Lời giải cho bài toán là lời giải bài toán ở thời đoạn 3 (tháng thứ 1)

Xét bài toán ở thời đoạn 1(n=1) ( tháng thứ 3):


Gọi:
- i: là mức tồn trữ ở đầu tháng thứ 3.(thời đoạn này i=0,1 )
- f(1,i): là tổng chi phí mua sắm và bảo quản hàng từ giai đoạn cuối cùng đến giai đoạn thứ n với
mức tồn trữ đầu giai đoạn n là i cũng là tổng chi phí mua sắm và bảo quản ở tháng thứ 3
- P(1): số máy đƣợc mua trong tháng 3 (giai đoạn 1)
• Giai đoạn 1: xét số lƣợng máy còn tồn trữ đầu tháng thứ 3
Trạng thái Quyết định F(1,i) P(1)
0 1
0 - 7,2 7,2 1
1 0 - 0 0
- Xét bài toán ở Thời đoạn 2 (n=1 ) (tháng th ứ 2):
Gọi: - i: là mức tồn trữ ở đầu tháng thứ 2 (thời đoạn này i=0,1, 2 )
- f(2,i) , : là tổng chi phí mua sắm và bảo quản hàng từ thời đoạn cuối cùng đến thời đoạn thứ n với
mức tồn trữ đầu thời đoạn n là i cũng là tổng chi phí mua sắm và bảo quản hàng ở tháng thứ 3 và
tháng thứ 2
- P(2): số máy đƣợc mua trong tháng 2 (thời đoạn 2)
Giai đoạn 2: xét số lƣợng máy còn tồn trữ đầu tháng thứ 2
Trạng thái Quyết định F(2,i) P(2)
0 1 2
0 - (7,2+0)+7,2 (14,4+0,15)+0 14,4 1
1 (0+0)+7,2 (7,2+0,15)+0 - 7,2 0
2 (0+0,15)+0 - - 0,15 0

Trạng thái Quyết định F(2,i) P(2)


0 1
0 - 7,2 7,2 1
1 0 - 0 0

Xét bài toán ở Thời đoạn 3 (n=3) (tháng thứ 1):


Gọi:
i: là mức tồn trữ ở đầu tháng thứ 1.(thời đoạn này i=0 )
- f(3,i): là tổng chi phí mua sắm và bảo quản từ thời đoạn cuối cùng đến thời đoạn thứ n với mức
tồn trữ đầu thời đoạn n là i, là tổng chi phí mua sắm và bảo quản ở tháng thứ 3, tháng thứ 2 và
tháng thứ 1 hàm mục tiêu của bài toán
- P(3): số máy đƣợc mua trong tháng 1 (thời đoạn 3)
Giai đoạn 3: xét số lƣợng máy tồn trữ đầu tháng thứ 1
Trạng thái Quyết định F(3,i) P(3)
1 2 3
0 7,2+14,4 (14,4+0,15)+7,2 (21,2+2x0,15)+0,15 21,6 1

Vậy: Mua một máy vào 1 tháng

64

You might also like