You are on page 1of 12

1

I. ĐẶT VẤN ĐỀ
1. Quy hoạch tuyến tính là gì?
Đây là một trong những thuật toán giúp cho chúng ta có thể thực hiện tối ưu hoặc lên kế
hoạch tốt nhất từ nhiều các phương án khác nhau. Có thể nói, phương án tối ưu sẽ đáp ứng
được các chỉ tiêu của một hãng, trên các hạn chế và các ràng buộc liên quan.
Nội dung mà LP nhắc đến là việc thực hiện phân bổ các nguồn lực khan hiếm giữa các hoạt
động để có được phương thức tối ưu  nhất. Từ đó giúp mang lại hiệu quả cao, lãi gộp nhiều
hoặc doanh thu cao nhất, chi phí thấp nhất.
2. Các thành phần của quy hoạch tuyến tính
Trong mô hình của quy hoạch tuyến tính được chia làm 2 bộ phận đó là Hàm Mục Tiêu và
các ràng buộc. Theo đó, các hàm mục tiêu giúp xác định mục đích hướng tới. Các ràng buộc
là các hạn chế của nguồn lực nhằm thỏa mãn các yêu cầu. Hai khái niệm này ràng buộc với
nhau, luôn đi song hành với nhau. Vì vậy, khi thực hiện cần chú ý đến cả 2 yếu tố.
3. Các ứng dụng của quy hoạch tuyến tính
Trong thực tế, qui hoạch tuyến tính được sử dụng để giải quyết những bài toán như sau:
 Nhà sản xuất muốn xây dựng tiến độ sản xuất và chính sách dự trữ nhằm đảm bảo
nhu cầu bán trong tương lai. Tiến độ và chính sách dự trữ đảm bảo cho công ty cung cấp
hàng hoá với chi phí sản xuất và dự trữ thấp nhất.
 Các nhà phân tích tài chính phải chọn danh mục đầu tư sao cho lợi nhuận thu được
từ đầu tư là cực đại.
 Nhà quản trị marketing muốn phân phối quỹ quảng cáo cho những phương tiện
quảng cáo như radio, television, báo, tạp chí. Nhà quản trị muốn lựa chọn phương tiện
quảng cáo sao cho hiệu quả quảng cáo là lớn nhất.
 Một công ty có một số kho ở vài nơi. Với nhu cầu của khách hàng đã xác định, công
ty muốn xác định từ mỗi kho, chúng ta sẽ vận chuyển bao nhiêu hàng đến từng khách hàng
sao cho tổng chi phí vận chuyển là nhỏ nhất…
Những ví dụ này chỉ là một vài tình huống mà qui hoạch tuyến tính được sử dụng thành
công, nhưng chúng minh họa tính đa dạng của những ứng dụng của qui hoạch tuyến tính.
Quan sát kỹ, các bài toán này có những đặc trưng chung. Trong mỗi ví dụ, chúng ta quan
tâm đến cực đại hay cực tiểu một vài đại lượng. Trong ví dụ 1, nhà sản xuất muốn cực tiểu
chi phí; trong ví dụ 2, nhà phân tích tài chính muốn cực đại lợi nhuận từ đầu tư; trong ví dụ
3, nhà quản trị muốn cực đại hiệu quả quảng cáo; và trong ví dụ 4, công ty muốn cực tiểu
chi phí vận chuyển. Trong tất cả các bài toán qui hoạch tuyến tính, mục tiêu của chúng ta
là cực đại và cực tiểu một vài đại lượng.
Tất cả các bài toán qui hoạch tuyến tính đều có đặc trưng là những ràng buộc. Trong ví dụ
1, nhà sản xuất bị ràng buộc bởi số lượng sản phẩm sản xuất và năng lực sản xuất. Bài toán
cơ cấu đầu tư bị ràng buộc bởi quĩ đầu tư. Quyết định lựa chọn phương tiện quảng cáo bị
ràng buộc bởi ngân sách và tính khả thi của phương tiện quảng cáo. Trong bài toán vận tải,
cực tiểu chi phí bị ràng buộc bởi khả năng cung cấp hàng hoá của mỗi kho. Chính vì vậy,
ràng buộc là đặc trưng chung thứ hai của mỗi bài toán qui hoạch tuyến tính.
4. Bảng vào ra
Bảng vào ra là hệ phương trình (linear) mô tả mối liên hệ giữa đầu vào và đầu ra của từng
ngành sản xuất trong nền kinh tế. Vì đầu vào của một ngành có thể là đầu ra của nhiều
ngành khác, bất kỳ một thay đổi nào trong một ngành (lao động L, thuế T, khấu hao K,
thặng dư P) đều có sự “lan tỏa” đầu ra ( tiêu dùng cuối cùng C, G, tích lũy đầu tư I, kim
ngạch xuất nhập khẩu) các ngành khác, không trực tiếp cũng gián tiếp.
2
5. Cấu trúc của bảng vào ra
Ô 1: Ô gồm các phần tử xij thể hiện chi phí trung gian ( sử dụng trung gian) của các
ngành: phần tử xij của ngành j sử dụng sản phẩm i làm chi phí trung gian trong quá
trình sản xuất sản phẩm j. Tổng theo cột của Ô 1 thể hiện tổng chi phí trung gian của từng
ngành (intermediate input).
Ô 2: Ô gồm các phần tử zik thể hiện nhu cầu cuối cùng (GDP) của các ngành được sử dụng
cho nhu cầu sử dụng cuối cùng zik, bao gồm tiêu dùng cuối cùng của hộ gia đình C, tiêu
dùng cuối cùng của chính phủ G, tích luỹ tài sản cố định, lưu động I, xuất khẩu thuần (X-
M).
Ô 3: Ô gồm các phần tử y hj thể hiện giá trị tăng thêm (GDP) của các ngành y hj bao
gồm thu nhập của người lao động (L), khấu hao tài sản cố định (K), thặng dư sản xuất (P)
và thuế sản xuất cộng trợ cấp sản xuất T (T không bao gồm thuế sản phẩm).
6. Ứng dụng của bảng vào ra
Bảng vào ra là công cụ mô tả toàn diện bức tranh kinh tế của một đất nước từ công nghệ
sản xuất được áp dụng để tạo ra sản phẩm (biểu thị bởi các hệ số chi phí sản xuất) đến sử
dụng kết quả sản xuất do nền kinh tế trong nước tạo ra và nhập khẩu (phản ánh qua cơ
cấu tích lũy, tiêu dùng và xuất khẩu) và thu nhập được tạo ra từ sản xuất (cơ cấu thu
của người lao động; khấu hao tài sản cố định; thuế sản xuất và thặng dư sản xuất).
Liên kết ngược (backward linkage): được xác định bằng tỷ lệ của tổng các phần tử theo
cột của ma trận Leontief so với mức trung bình của toàn bộ hệ thống sản xuất.
Tỷ lệ này càng cao có nghĩa liên kết ngược của ngành đó càng lớn và khi ngành đó phát
triển sẽ kéo theo sự tăng trưởng của toàn bộ hệ thống. Những ngành có chỉ tiêu liên kết
ngược lớn hơn 1 sẽ được xem là ngành có sức lan tỏa lớn. Một sự tăng hoặc giảm sản
lượng của các ngành này sẽ ảnh hưởng đáng kể đến các ngành khác và cả nền kinh tế.
Liên kết xuôi (forward linkages): được đo lường bằng tổng các phần tử theo hàng
của ma trận nghịch đảo Leontief so với mức trung bình của toàn bộ hệ thống.
Liên kết xuôi hàm ý mức độ quan trọng (nhạy cảm) của một ngành như là nguồn cung sản
phẩm vật chất và dịch vụ cho toàn bộ hệ thống sản xuất,i>1 và càng cao có nghĩa liên kết
xuôi của ngành đó càng lớn, càng thể hiện sự cần thiết của ngành đó đến các ngành còn
lại.
Thông qua Mô hình cân đối liên ngành của một hoặc một số thời kỳ, các nhà quản lý điều
hành nền kinh tế, các nhà nghiên cứu và đông đảo người sử dụng sẽ thấy được công nghệ
sản xuất của nền kinh tế thay đổi như thế nào; sẽ thấy được chất lượng tăng trưởng kinh tế
của từng thời kỳ.

CÔNG THỨC
BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

1 PHÂN LOẠI DẠNG BÀI TOÁN QUY HOẠCH TUYẾN TÍNH


3
1.1 Dạng tổng quát của bài toán quy hoạch tuyến tính Bài
toán QHTT dạng tổng quát với n ẩn là bài toán có dạng

Trong đó
• (1) là hàm mục tiêu.
• (2) là hệ ràng buộc chính.
• (3) là ràng buộc dấu.
• (2) và (3) được gọi chung là hệ ràng buộc của bài toán.

Khi đó
• Mỗi vector x = (x x1, 2,K, xn) thõa (2) và (3) được gọi là một phương án (PA)
của bài toán.

• Mỗi phương án x thỏa (1), nghĩa là tại đó hàm mục tiêu đạt giá tị nhỏ nhất (lớn
nhất) trên tập các phương án được gọi là một phương án tối ưu (PATU) của bài
toán.
• Giải một bài toán QHTT là đi tìm một phương án tối ưu của nó hoặc chỉ ra
rằng bài toán vô nghiệm, nghĩa là bài toán không có PATU.

1.2. Dạng chính tắc của bài toán QHTT

Nhận xét. Bài toán QHTT dạng chính tắc là bài toán QHTT dạng tổng quát trong đó
• Các ràng buộc chính đều là phương trình.
• Các ẩn đều không âm.
4
1.3 Dạng chuẩn của bài toán QHTT
Bài toán QHTT dạng chuẩn là bài toán QHTT dạng chính tắc

Khi đó:
• Các ẩn ứng với các vector cột đơn vị được gọi là các ẩn cơ bản. Cụ thể ẩn ứng với
vector cột đơn vị ek là ẩn cơ bản thứ k.

• Một phương án mà các ẩn cơ bản đều bằng 0 được gọi là phương án cơ bản.
• Một phương án cơ bản có đủ m thành phần dương được gọi là không suy biến.
Ngược lại một phương án cơ bản có ít hơn m thành phần dương được gọi là suy
biến.

Chú ý. Tổng quát, trong bài toán QHTT dạng chuẩn bất kì, khi cho ẩn cơ bản thứ k bằng
hệ số tự do thứ k (k =1,2,K,m ), còn các ẩn không cơ bản bằng 0, ta được một phương án
cơ bản của bài toán. Ta gọi đây là phương án cơ bản ban đầu của bài toán.

1.2 BIẾN ĐỔI DẠNG BÀI TOÁN QHTT


1.2.1 Dạng tổng quát về dạng chính tắc

Ta có thể biến đổi bài toán dạng tổng quát về dạng chính tắc bằng các bước sau
Bước 1. Kiểm tra hệ ràng buộc chính
5

Chú ý. Các ẩn phụ là các ẩn không âm và hệ số của các ẩn phụ đó trong hàm mục tiêu là
0. Bước 2. Kiểm tra điều kiện dấu của ẩn số

1) Nếu có ẩn xj ≤ 0 thì ta thực hiện phép đổi ẩn số xj = −xj′ với xj′ ≥ 0.


2) Nếu có ẩn xj có dấu tùy ý thì ta thực hiện phép đổi ẩn số xj = xj′ − xj′′ với xj′,xj′′ ≥ 0.

Chú ý. Khi tìm được PATU của bài toán dạng chính tắc ta chỉ cần tính giá trị của các ẩn
ban đầu và bỏ đi các ẩn phụ thì sẽ được PATU của bài toán dạng tổng quát đã cho.

1.2.2 Dạng chính tắc về dạng chuẩn

Từ bài toán dạng chính tắc ta có thể xây dựng bài toán dạng chuẩn như sau
1) Khi gặp hệ số tự do bi < 0 ta đổi dấu hai vế của ràng buộc thứ i.
2) Khi ma trận hệ số ràng buộc A không chứa cột đơn vị thứ k là ek , ta đưa vào ẩn giả
xn k+ ≥ 0 và cộng thêm ẩn giả xn k+ vào vế trái phương trình ràng buộc thứ k để được

phương trình ràng buộc mới: a xk1 1 + a xk2 2 +L+ a xkn n + xn k+ = bk .

3) Hàm mục tiêu mở rộng f x( ) được xây dựng từ hàm mục tiêu ban đầu như sau

• Đối với bài toán min: f x( ) = f x( ) + M(∑an gia).


• Đối với bài toán max: f x( ) = f x( ) − M(∑an gia).

Trong đó M là đại lượng rất lớn, lớn hơn bất kì số nào cho trước.
Chú ý.
• Ẩn phụ: Tổng quát chuyển thành chính tắc
• Ẩn giả: Chính tắc chuyển thành chuẩn
Chú ý. Quan hệ giữa bài toán xuất phát và bài toán mở rộng
Mối quan hệ giữa bài toán xuất phát (A) và bài toán mở rộng (B) như sau
• B vô nghiệm suy ra A vô nghiệm
• B có nghiệm có hai trường hợp:
1) Nếu mọi ẩn giả của PATU bằng 0 thì bỏ ẩn giả ta được PATU của A 2)
Nếu có ít nhất một ẩn giả > 0 suy ra A không có PATU

Chương 2
6
PHƯƠNG PHÁP ĐƠN HÌNH

2.1 PHƯƠNG PHÁP ĐƠN HÌNH GIẢI BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
DẠNG CHUẨN
2.1.1 Thuật toán giải bài toán max
Bước lặp thứ nhất (bảng đơn hình thứ nhất)
1) Lập bảng đơn hình xuất phát
Vẽ bảng đơn hình và ghi vào đó các thành phần sau của bài toán dạng chuẩn
• Dòng 1. Ghi các ẩn của bài toán (kể cả ẩn phụ)
• Dòng 2. Ghi các hệ số của các ẩn trong hàm mục tiêu
• Cột 2. Ghi các ẩn cơ bản của bài toán theo thứ tự từ ẩn cơ bản thứ nhất đến ẩn cơ
bản cuối cùng, ta gọi cột này là cột ẩn cơ bản.

• Cột 1: Ghi tương ứng các hệ số của các ẩn cơ bản trong hàm mục tiêu, ta gọi cột
này là cột hệ số cơ bản.

• Cột 3. Ghi các số hạng tự do của hệ ràng buộc chính theo thứ tự từ trên xuống dưới,
ta gọi cột này là cột phương án.

• Cột 4. Ghi ma trận điều kiện A của bài toán.


Tính hệ số ước lượng ∆ j của các ẩn xj ( j =1,2,K, )n và ghi tương ứng vào dòng dưới cột
4, với ∆ j được tính theo công thức sau:

∆ =j (cot1)×(Aj ) −(hsxj ) (hsxj : hệ số của ẩn xj trong hàm mục tiêu).


Chú ý. Nếu xj là ẩn cơ bản thì ∆ =j 0.
Tính trị số f0 = (cot1)×(cot3) và ghi dưới cột 3.
2) Xác định phương án cơ bản xuất phát
Với bảng đơn hình vừa lập được thì phương án cơ bản xuất phát x0 của bài toán được
xác định như sau: Cho các ẩn ở cột 2 nhận giá trị tương ứng ở cột 3, các ẩn còn lại
nhận giá trị 0. Trị số của hàm mục tiêu tại phương án cơ bản xuất phát x0 là f x( 0) = f0 .
3) Đánh giá tính tối ưu của phương án cơ bản xuất phát
• Dấu hiệu tối ưu. Nếu hệ số ước lượng của các ẩn đều không âm, ∆ ≥j 0,∀j thì
phương án cơ bản xuất phát x0 là phương án tối ưu của bài toán. Thuật toán kết thúc
với kết luận: Bài toán có PATU là x0 và GTTU là f x( 0).
7
• Dấu hiệu của bài toán không có PATU. Nếu có ẩn không cơ bản xk có hệ số ước
lượng âm và cột điều kiện Ak của ẩn đó có các thành phần đều không dương, ∆ <k 0 và
aik ≤ 0;∀i thì bài toán không có phương án tối ưu. Thuật toán kết thúc với kết luận:

Bài toán không có PATU.


Nếu không xảy ra cả hai trường hợp trên thì thuật toán tiếp tục trong bước lặp thứ hai
Bước lặp thứ hai (Bảng đơn hình thứ hai)
1) Tìm ẩn đưa vào
Trong tất cả các ∆ <j 0 ta chọn ∆ <v 0 nhỏ nhất (ta đánh dấu * cho ∆ <v 0 nhỏ nhất trong
bảng). Khi đó, xv là ẩn mà ta sẽ đưa vào hệ ẩn cơ bản. Cột Av được gọi là cột chủ yếu.

2) Tìm ẩn đưa ra
Thực hiện phép chia lần lượt các số của cột phương án cho các số dương của cột chủ
yếu và ghi các thương số λi đó vào cột cuối cùng.
Xác định λr = min{ }λi (Ta đánh dấu * cho λr nhỏ nhất trong bảng). Khi đó xr là ẩn mà
ta đưa ra khỏi hệ ẩn cơ bản. Dòng có chứa xr được gọi là dòng chủ yếu. Số dương nằm
trên dòng chủ yếu và cột chủ yếu được gọi là hệ số chủ yếu.

Chú ý. Nếu cột chủ yếu chỉ có một số dương thì số dương đó là hệ số chủ yếu, dòng có
số dương đó là dòng chủ yếu, ẩn nằm trên dòng chủ yếu là ẩn được đưa ra. 3) Lập bảng
đơn hình thứ hai

• Cột 2: Thay ẩn đưa ra bằng ẩn đưa vào, các ẩn cơ bản còn lại giữ nguyên. Dòng có
ẩn đưa vào gọi là dòng chuẩn.

• Cột 1: Thay hệ số của ẩn đưa ra bằng hệ số của ẩn đưa vào, các hệ số của các ẩn cơ
bản còn lại giữ nguyên.

Các thành phần còn lại được xác định theo dòng như sau
• Dòng chuẩn = Dòng chủ yếu chia cho hệ số chủ yếu.
• Dòng thứ i = Dòng thứ i (cũ) – aiv.dòng chuẩn. (aiv: số nằm trên giao của dòng i và
cột chủ yếu).

Các hệ số ước lượng và trị số của hàm mục tiêu trong bảng thứ hai được tính và ghi
như bảng thứ nhất.

4) Xác định và đánh giá phương án cơ bản thứ hai (như bước lặp thứ nhất)
8
2.1.2 Thuật toán giải bài toán min

Giải tương tự bài toán max với chú ý sau


• Điều kiện tối ưu: ∆ ≤j 0,∀j

• Điều kiện không có PATU: ∃∆ >k 0 và aik ≤ 0,∀i


• Ẩn được chọn đưa vào: Ẩn ứng với ∆ >k 0 lớn nhất.

2.2 PHƯƠNG PHÁP ĐƠN HÌNH MỞ RỘNG GIẢI BÀI TOÁN QUY HOẠCH
TUYẾN TÍNH DẠNG CHÍNH TẮC
Thuật toán đơn hình mở rộng giải bài toán QHTT dạng chính tắc tương tự như thuật toán
đơn hình giải bài toán QHTT dạng chuẩn nhưng có một số lưu ý như sau

1) Do hàm mục tiêu mở rộng là f x( ) = f x( ) + ∑(angia) đối với bài toán min và f x( ) = f x(
) − ∑(angia) đối với bài toán max, nên trong bảng đơn hình ở cột hệ số có thể có các hệ
số phụ thuộc M. Khi đó ở dòng cuối các hệ số sẽ có dạng aM +b, do đó người ta thường
chia dòng cuối thành hai dòng nhỏ: Dòng trên ghi a và dòng dưới ghi b.

2) Vì M là một đại lượng dương rất lớn, nên khi so sánh các số hạng aM + b và cM + d ta
có quy tắc sau

3) Trong bảng đơn hình đầu tiên các ẩn giả đều có trong ẩn cơ bản. Mỗi khi một ẩn giả bị
đưa ra khỏi hệ ẩn cơ bản thì không bao giờ ta đưa ẩn giả đó trở lại nữa, vì vậy trong bảng
đơn hình ta có thể bỏ đi các cột ứng với các ẩn giả.
9
BÀI TOÁN ĐỐI NGẪU

3.1 Định nghĩa

Chú ý. Bài toán (D) được lập từ bài toán (P) theo nguyên tắc sau
1. Số ẩn của bài toán (D) bằng số ràng buộc chính của bài toán (P) và số ràng buộc chính
của bài toán (D) bằng số ẩn của bài toán (P).

2. Hệ số của ẩn yi trong hàm mục tiêu của bài toán (D) là số hạng tự do bi trong hệ ràng
buộc chính của bài toán (P).

3. Các hệ số của các ẩn và hệ số tự do trong ràng buộc chính thứ j của bài toán (D) là các
hệ số tương ứng của ẩn xj trong hệ ràng buộc chính và hàm mục tiêu của bài toán (P).

4. Nếu (P) là bài toán max thì (D) là bài toán min và hệ ràng buộc chính của bài toán (D)
là hệ bất phương trình với dấu ≥ . Nếu (P) là bài toán min thì (D) là bài toán max và hệ
ràng buộc chính của bài toán (D) là hệ bất phương trình với dấu ≤ .
5. Các ẩn của bài toán (D) đều có dấu tùy ý.
10

3.2 Cách lập bài toán đối ngẫu

Bài toán đối ngẫu được lập trực tiếp theo quy tắc sau, gọi là quy tắc đối ngẫu

3.3 Cặp ràng buộc đối ngẫu

Trong một cặp ràng buộc đối ngẫu (P) và (D) như trong định nghĩa thì ta có n cặp ràng
buộc đối ngẫu như sau:

3.4 Định lý đối ngẫu


Định lý độ lệch bù yếu. Điều kiện cần và đủ để phương án x0 của bài toán (P) và
phương án y0 của bài toán (D) đều là phương án tối ưu là trong các cặp ràng buộc đối ngẫu
của bài toán đó: Nếu một ràng buộc thỏa mãn phương án với dấu bất đẳng thức thực sự thì
ràng buộc còn lại phải thõa mãn phương án với dấu bằng.
11
Ứng dụng. Nhờ định lý độ lệch bù yếu, khi ta biết được một phương án tối ưu của
một trong hai bài toán của cặp bài toán đối ngẫu thì ta có thể tìm được tập phương án tối
ưu của bài toán còn lại. Ứng dụng này thường được sử dụng trong việc giải quyết các vấn
đề của bài toán QHTT.
12

You might also like