BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH
KHOA KHOA HỌC CƠ BẢN
BỘ MÔN QUY HOẠCH TUYẾN TÍNH
Viện Công nghệ Sinh học – Thực phẩm
Lớp : 211301202
GVHD : TS. Võ Văn Tuấn Dũng
TP. HCM, ngày 25 tháng 4 năm 2009
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH
KHOA KHOA HỌC CƠ BẢN
BỘ MÔN QUY HOẠCH TUYẾN TÍNH
Viện Công nghệ Sinh học – Thực phẩm
Lớp : 211301202
GVHD : TS. Võ Văn Tuấn Dũng
1. Nguyễn Trung Nhân : 0771637
2. Mai Hạnh Nguyên : 0770613
3. Huỳnh Thành Trung : 0771757
4. Hồ Thị Thanh Hiếu : 0771725
5. Dương Thị Hà Như : 0771496
6. Cao Thị Ngọc Tuyền : 0770834
7. Mai Nguyễn Thục Hiền : 0770770
8. Vũ Kim Hường : 0771102
TP. HCM, ngày 25 tháng 4 năm 2009
LỜI MỞ ĐẦU
1. Lý do chọn đề tài
Trong thực tế ta thường hay gặp các tình huống là phải lựa chọn một trong số
những quyết định quan trọng để đưa ra những phương án hoặc chiến lược tốt nhất
trong sản xuất kinh doanh hay trong một trò chơi mà đối thủ là một kẻ thông minh và
nguy hiểm…Khi đó ta cần phải lập mô hình toán học quy hoạch tuyến tính để có
được phương án tối ưu cần thiết.
Trong đó phương pháp đơn hình được George Bemanrd Dantzig đưa ra năm
1947 cùng lúc với việc khai sinh ra quy hoạch tuyến tính, phương pháp này thực sự
có hiệu quả để giải những bài toán quy hoạch tuyến tính cỡ lớn trong thực tế mà ta
thường gặp, như để vận chuyển hàng hóa đầy đủ nhưng có tổng chi phí là nhỏ nhất –
đây chính là bài toán vận tải. Hoặc trong kinh doanh phải lập kế hoạch sản xuất đối
với các nguyên liệu và sản phẩm để thu được tổng lợi nhuận là lớn nhất…
Kiến thức sau khi học quy hoạch tuyến tính rất cần thiết, đây là những kiến
thức rất quan trọng để xây dựng một mô hình toán học cho bất kỳ bài toán phức tạp
nào trong thực tế, chỉ cần xây dựng các thuật toán đã mô hình hóa ngôn ngữ nhờ việc
lập trình trên máy tính ta có thể giải quy hoạch tuyến tính một cách dể dàng nhanh
chóng và chính xác. Như vậy việc học quy hoạch tuyến tính rất quan trọng, nó đem
lại những hiệu quả kinh tế rất lớn nếu biết lập các mô hình và tính toán đúng quy
cách.
2. Đối tượng nghiên cứu và phương pháp nghiên cứu.
Quy hoạch tuyến tính là lĩnh vực nghiên cứu các bài toán tối ưu mà hàm mục
tiêu là vấn đề được quan tâm nhất và các ràng buộc là các yêu cầu ,điều kiện của kế
hoạch đặt ra, đều là hàm và các phương trình, bất phương trình tuyến tính. Các bước
để nghiên cứu và ứng dụng một bài toán quy hoạch tuyến tính điển hình là:
Xác định vấn đề cần giải quyết, thu thập dữ liệu .
Lập mô hình toán học thật chính xác.
Xây dựng các thuật toán để giải bài toán trên các lập trình máy tính.
Tính toán thử và điều chỉnh mô hình nếu cần .
Áp dụng để giải các bài toán thực tế .
CHƯƠNG 1:
BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
A. LÝ THUYẾT
1. ĐỊNH NGHĨA
Bài toán quy hoạch tuyến tính (qhtt) tổng quát có dạng:
Tìm x
j
, j=1,2,…,n sao cho: f=
min
1
→
∑
=
j
n
j
j
xc
(max) (1)
Với hệ ràng buộc:
i
n
j
jij
bxa
≥
=
≤
∑
=1
, i=1,2,…,m (2)
≤
≥
tùyý
x
j
0
0
, j=1,2,…,n (3)
(1) được gọi là hàm mục tiêu, nó có thể là cực tiểu (min) hay cực đại (max).
(2) được gọi là các ràng buộc chung hay ràng buộc hàm, nó có thể có dạng
bất đẳng thức (≤ hay ≥) hoặc có dạng đẳng thức (=).
(3) được gọi là các ràng buộc dấu (của biến), nó có thể không âm (≥0),
không dương (≤0) hay tùy ý.
Như vậy, bài toán QHTT là bài toán có các biểu thức xác định hàm mục tiêu
và các ràng buộc chung đều ở dạng tuyến tính.
Véctơ x=(x
1
, x
2
,…,x
n
)
T
được gọi là phương án (pa) hay lời giải chấp nhận
được của bài toán QHTT nếu nó thỏa mãn hệ ràng buộc của bài toán.
Phương án x*=(
T
n
xxx ),...,,
**
2
*
1
được gọi là phương án tối ưu (patư) hay lời
giải tối ưu, nghiệm tối ưu của bài toán QHTT nếu giá trị hàm mục tiêu tại đó là tốt
nhất.
Tức là: f(x*)=
j
n
j
jj
n
j
j
xcxfxc
∑∑
==
=
≥
≤
1
*
1
)(
là giá trị hàm mục tiêu tại phương án
x=(x
1
,x
2
,…,x
n
)
T
bất kỳ. (Dấu ≤ ứng với bài toán cực tiểu. Dấu ≥ ứng với bài toán cực
đại).
Giải bài toán QHTT tức là tìm phương án tối ưu của nó (nếu có).
Hai bài toán QHTT được gọi là tương đương với nhau nếu chúng có chung
tập hợp các phương án tối ưu.
Mệnh đề: (Quan hệ giữa bài toán cực đại và bài toán cực tiểu)
f (x) max g(x) f (x) min
(1) (2)
x X x X
→ = − →
⇔
∈ ∈
(Trong đó: X là tập hợp các phương án)
Tức là: nếu đổi dấu hàm mục tiêu và đổi loại hàm mục tiêu thì ta được bài
toán tương đương. Vì lí do này mà khi nghiên cứu cách giải bài toán qhtt, người ta
chỉ xét bài toán có loại hàm mục tiêu là cực tiểu (hay chỉ xét bài toán có loại hàm
mục tiêu là cực đại)
2. PHƯƠNG PHÁP HÌNH HỌC GIẢI BÀI TOÁN QUI HOẠCH
TUYẾN TÍNH 2 BIẾN
Bài toán có dạng: tìm x=(x
1
,x
2
)
T
sao cho f(x)=c
1
x
1
+c
2
x
2
min (max)
Với hệ ràng buộc: a
i1
x
1
+a
i2
x
2
≥b
i
, i=1,2,…,m
Chú ý:
- Ràng buộc chung có dạng: a≤b, ta đưa về dạng tương đương là: -a≥-b.
- Ràng buộc chung có dạng: a = b thì tương đương với: a≥b và –a≥-b.
- Còn các ràng buộc biến có thể xem là các trường hợp riêng của các ràng buộc
chung.
Như vậy, hệ ràng buộc của bài toán QHTT có 2 biến luôn luôn có thể giả thiết
là có dạng: a
i1
x
1
+a
i2
x
2
≥b
i
; i=l, 2..., m
2.1. Xác định miền phương án
Đưa các điểm (x
1
,x
2
) lên hệ trục tọa độ vuông góc. Ta xác định được các điểm
thỏa mãn phương trình: a
i1
x
1
+a
i2
x
2
=b, hình thành nên một đường thẳng chia mặt
phẳng tọa độ thành 2 nửa mặt phẳng (mp). Một nửa mp bao gồm các điểm (x
1
, x
2
)
thỏa mãn bất phương trình: a
i1
x
1
+a
i2
x
2
≥b
i
, và nửa kia bao gồm các điểm (x
1
, x
2
) thỏa
mãn bất phương trình: a
i1
x
1
+a
i2
x
2
≤b
i
.
Trong thực hành, để xác định nửa mp nào ứng với bất phương trình:
a
i1
x
1
+a
i2
x
2
≥b
i
. Ta thường lấy một điểm đặc biệt như (0,0); (0,1); (1,0);… thay vào bất
phương tình, nếu nó thỏa mãn thì nửa mp chứa điểm đặc biệt đó là nửa mp phải tìm;
còn nếu nó không thỏa mãn thì nửa mp phải tìm là nửa mp không chứa điểm đặc biệt
đó.
Các điểm thỏa mãn hệ ràng buộc của bài toán là các điểm thuộc miền giao của
các nửa mp xác định các bất phương trình tương ứng, nó tạo nên một hình đa giác lồi
có thể bị giới nội hay không bị giới nội; hoặc miền giao là rỗng ứng với trường hợp
hệ ràng buộc không tương thích. Trường hợp miễn phương án X không rỗng ta thực
hiện tiếp bước sau.
2.2. Xác định phương án tối ưu
Một điểm x=(x
1
,x
2
)
T
bất kỳ nằm trong mp tọa độ sẽ cho ta giá trị hàm mục tiêu
là: c
1
x
1
+c
2
x
2
=f.
Tập hợp tất cả các điểm có cùng giá trị hàm mục tiêu là f hình thành nên một
đường thẳng vuông góc với véctơ
OC
với C=(c
1
,c
2
)
T
. Đường thẳng này được gọi là
đường thẳng mục tiêu có mức là f.
Đặc điểm của các đường thẳng mục tiêu là: nếu tịnh tiến đường thẳng mục
tiêu theo cùng hướng vectơ
OC
thì giá trị hàm mục tiêu sẽ tăng lên. Còn nếu tịnh
tiến theo hướng ngược với vectơ
OC
thì giá trị hàm mục tiêu sẽ giảm đi.
3. CÁCH ĐƯA BÀI TOÁN QHTT BẤT KỲ VỀ DẠNG CHÍNH TẮC
Bài toán qhtt dạng chính tắc là bài toán qhtt có tất cả các ràng buộc chung
đều ở dạng đẳng thức và tất cả các biến đều không âm.
Tức là bài toán có dạng: f=
min
1
→
∑
=
j
n
j
j
xc
(max)
Với hệ ràng buộc:
i
n
j
jij
bxa =
∑
=1
, i=1,2,…,m
x≥0, j=1,2,…,n
Trường hợp ràng buộc chung có dấu bất đẳng thức ≤ (hay ≥) thì ta cộng
thêm (hay trừ đi) một biến phụ (biến bù) vào vế trái để cân bằng. Biến phụ phải ≥ 0
và hệ số tương ứng trong hàm mục tiêu phải bằng 0.
Trường hợp biến có điều kiện ≤ 0 (hay tùy ý) thì ta thay biến đó bằng
“đối” của biến không âm (hay bằng hiệu của biến không âm)
Kết luận: Mọi bài toán qhtt đều đưa được về dạng chính tắc và việc giải bài
toán qhtt đã cho tương đương với việc giải bài toán qhtt dạng chính tắc tương ứng với
nó, theo nghĩa là nếu bài toán dạng chính tắc có patư thì từ đó suy ra được patư của
bài toán ban đầu, còn nếu bài toán dạng chính tắc không có phương án tối ưu thì bài
toán ban đầu cũng không có patư. Nói cách khác: Bài toán ban đầu có patư khi và
chỉ khi bài toán dạng chính tắc tương ứng với nó có patư.
Như vậy ta chỉ cần tìm cách giải bài toán qhtt dạng chính tắc.
4. PHƯƠNG PHÁP KHỬ GAUSS-JORDAN. NGHIỆM CƠ BẢN CỦA HỆ
PHƯƠNG TRÌNH TUYẾN TÍNH
4.1. Phương pháp khử Gauss-Jordan
Xét hệ thống gồm m phương trình tuyến tính, n biến:
=+++
=+++
=+++
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
...
............................................
...
...
2211
22222121
11212111
Dạng bảng:
b x
1
x
2
… x
v
… x
n
a
10
a
20
…
a
r0
…
a
m0
a
11
a
21
…
a
r1
…
a
m1
a
12
a
22
…
a
r2
…
a
m2
…
…
…
…
…
…
a
1v
a
2v
…
a
rv
…
a
mv
…
…
…
…
…
…
a
1n
a
2n
…
a
rn
…
a
mn
a’
10
a’
20
…
a
r0
/a
rv
…
a’
m0
a’
11
a’
21
…
a
r1
/a
rv
…
a’
m1
a’
12
a’
22
…
a
r2
/a
rv
…
a’
m2
…
…
…
…
…
…
0
0
…
1
…
0
…
…
…
…
…
…
a’
1n
a’
2n
…
a
rn
/a
rv
…
a’
mn
Trong đó: a
i0
=b
i
, i=1,2,…,m
Phép khử Gauss –Jordan (gọi tắt là phép khử) với phần tử trục (Phần tử giải;
Phần tử chủ yếu) là a
rv
≠0 (Dòng r được gọi là dòng xoay, cột v được gọi là cột xoay)
cho bảng mới tương đương với bảng cũ, theo nghĩa là 2 hệ thống tương ứng với 2
bảng là tương đương với nhau.
Quy tắc thực hiện:
- Các phần tử trên dòng xoay đều chia cho phần tử trục.
- Các phần tử còn lại trên cột xoay đều biến thành 0.
- Các phần tử khác tính theo qui tắc đường chéo hình chữ nhật rồi chia cho phần
tử trục:
[ ]
rv
ivrjrvij
rv
rvrj
vij
ij
a
aaaa
a
aa
aa
a
−×
==
1
'
(i=1,2,…,m; j=0,1,2,…,n; i≠r; j≠v)
Áp dụng giải hệ phương trình tuyến tính: Lần lượt thực hiện các phép khử
Gauss-Jordan với các phần tử trục nằm trên các dòng khác nhau, bảng cuối cùng sẽ
cho ta lời giải của hệ phương trình (không chọn phần tử trục nằm trên cột b)
Lưu ý:
- Trong trường hợp có nhiều phần tử có thể được chọn làm phần tử trục, ta nên
chọn phần tử sao cho dễ thực hiện phép chia nhất.
- Trên dòng xoay, nếu có phần tử bằng 0 thì cột tương ứng (tức là cột có phần tử
=0 này) được giữ nguyên giá trị.
- Trên cột xoay, nếu có phần tử bằng 0 thì dòng tương ứng (tức là dòng có phấn
tử =0 này) được giữ nguyên giá trị.
4.2. Nghiệm cơ sở của hệ phương trình tuyến tính
Nghiệm cơ sở (nghiệm cơ bản) của 1 hệ phương trình tuyến tính là nghiệm
nhận được từ dạng nghiệm tổng quát khi có các biến tự do nhận giá trị 0.
Biến cơ sở (biến cơ bản) ứng với một phương trình là biến có hệ số là 1 ở
phương trình đó và có hệ số là 0 ở các phương tình còn lại (nói cách khác: các hệ số
tương ứng với biến cơ sở tạo nên các vectơ đơn vị)
Các biến không có đặc điểm trên được gọi là các biến phi cơ sở.
Trong dạng nghiệm tổng quát, các biến cơ sở đóng vai trò là các biến phụ
thuộc còn các biến phi cơ sở là các biến tự do.
Nhận xét: khi thực hiện phép khử với 1 phần tử trục thì biến ở cột xoay sẽ trở
thành biến cơ sở tương ứng với dòng xoay.
Ta thấy một nghiệm cơ sở tương ứng với một dạng nghiệm tổng quát, mà các
dạng nghiệm tổng quát khác nhau là do hệ các biến tự do (hay hệ các biến cơ sở) là
khác nhau. Do đó để tìm tất cả nghiệm cơ sở ta đưa vào bảng tính cột x
B
chứa các
biến cơ sở tương ứng với mỗi phương trình và tiến hành thực hiện các phép khử với
các phần tử trục được chọn sao cho thu được các hệ biến cơ sở khác nhau.
Nghiệm cơ sở tương ứng với mỗi bảng sẽ được xác định bằng các cho các
biến cơ sở nhận giá trị tương ứng ở cột b, các biến không nằm trong hệ biến cơ sở
nhận giá trị 0.
- Nghiệm cơ sở suy biến là nghiệm cơ sở tương ứng với nó nhiều hơn 1 hệ
biến cơ sở.
- Nghiệm cơ sở không suy biến là nghiệm cơ sở có tương ứng với nó đúng 1
hệ biến cơ sở.
5. PHƯƠNG ÁN CỰC BIÊN
Pacb (phương án cơ sở; phương án cơ bản) của bài toán qhtt dạng chính tắc là
phương án đồng thời là nghiệm cơ sở của hệ các ràng buộc chung.
Nói cách khác, pacb là nghiệm cơ sở của hệ các ràng buộc chung có thỏa điều
kiện về dấu của các biến.
- Pacb không suy biến là pacb có tương ứng với nó đúng một hệ biến cơ sở.
- Pacb suy biến là pacb có tương ứng với nó nhiều hơn một hệ biến cơ sở.
Do số nghiệm cơ sở của một hệ phương trình tuyến tính là hữu hạng nên số
pacb là hữu hạng.
Số thành phần dương (>0) trong một pacb không vượt quá hạng của hệ ràng
buộc chung.
Pacb có số thành phần lớn hơn 0 đúng bằng hạng của hệ ràng buộc chung sẽ là
pacb không suy biến. Ngược lại, pacb có số thành phần lớn hơn 0 nhỏ hơn hạng của
hệ ràng buộc chung có thể là phương án cực biên suy biến.
6. CƠ SỞ GIẢI TÍCH LỒI
Tập hợp lồi: Là tập hợp phương án thỏa điều kiện: Nếu có 2 điểm bất kỳ
thuộc nó thì cả đoạn thẳng nối 2 điểm cũng thuộc tập hợp đó.
Định nghĩa: Điểm cực biên của một tập lồi X là điểm thuộc X, nhưng không
phải là điểm trong của bất cứ đoạn thẳng nào nằm trong X.
Đỉnh của 1 tập lồi X là điểm thuộc X và tồn tại 1 siêu phẳng sao cho X nằm
hoàn toàn về 1 phía của nó và siêu phẳng cắt X chỉ tại điểm đó.
Lưu ý: phương trình đoạn thẳng có thể viết dưới dạng: x=x
o
+αz,
∀
α
[ ]
21
,
αα
∈
Đây là đoạn thẳng nằm trên đường thẳng đi qua điểm x
o
và có vectơ chỉ
phương là z.
7. CÁC ĐỊNH LÝ
Định lý 1 (dấu hiệu của pacb): Một phương án của bài toán qhtt dạng chính
tắt là pacb khi và chỉ khi hệ véctơ cột tương ứng với các thành phần dương (>0) là
độc lập tuyến tính.
Định lý 2 (Điều kiện tồn tại pacb): Bài toán qhtt dạng chính tắc nếu có pa
thì sẽ có pacb.
Định lý 3 (ý nghĩa hình học của pacb): một pacb tương ứng với 1 điểm cực
biên (đỉnh) của tập phương án.
Định lý 4 (định lý biểu diễn):
i
K
i
L
i
i
i
i
zxxXx
∑ ∑
= =
+=⇔∈
1 1
βα
Trong đó x
1
,…,x
K
là các pacb; z
1
,…,z
L
là các vectơ chỉ phương các cạnh vô
hạn.
0≥∀
i
α
, i=1,…,K;
0
≥∀
i
β
, i=1,…,L và α
1
+…+ α
K
=1
Tức là pa x được biểu diễn dưới dạng tổ hợp lồi của các pacb cộng với tổ hợp
không âm của các vectơ chỉ phương các cạnh vô hạn.
Định lý 5 (điều kiện tồn tại pacb): bài toán qhtt có patư khi và chỉ khi nó
có phương án và hàm mục tiêu bị chặn dưới đối với bài toán cực tiểu (hay bị chặn
trên đối với bài toán cực đại) trên tập phương án.
Nếu bài toán qhtt dạng chính tắc có patư thì sẽ có 1 pacb là patư.
B. BÀI TẬP
1. Lập mô hình toán học các bài toán sau:
a. Một xí nghiệp đóng tàu đánh cá cần đóng 2 loại tàu 100 mã lực và 50 mã lực. Trong
xí nghiệp có 3 loại thợ chính quyết định sản lượng kế hoạch. Thợ rèn có 2000 công,
thợ sắt có 3000 công, thợ mộc có 1500 công. Định mức lao động của mỗi loại tàu
được cho trong bản:
Loại tàu
100 mã lực 50 mã lực
Thợ sắt (3000)
Thợ rèn (2000)
Thợ mộc (1500)
150
120
80
70
50
40
(công/sản phẩm)
Hỏi xí nghiệp nên đóng tàu mỗi loại bao nhiêu để đạt tổng số mã lực cao nhất?
Giải
Gọi x
1
, x
2
lần lượt là số tàu 100 mã lực và 50 mã lực cần đóng
f(x)=100x
1
+50x
2
max
Điều kiện:
≥≥
≤+
≤+
≤+
0x,0x
1500x40x80
2000x50x120
3000x70x150
21
21
21
21
b. Một xí nghiệp có thể sử dụng tối đa 510 giờ máy cán, 360 giờ máy tiện, 150 giờ máy
mài để chế tạo 3 loại sản phẩm A, B, C. Để chế tạo một đơn vị sản phẩm A cần 9 giờ
máy cán, 5 giờ máy tiện, 3 giờ máy mài; 1 đơn vị sản phẩm B cần 3 giờ máy cán, 4
giờ máy tiện; 1 đơn vị sản phẩm C cần 5 giờ máy cán. 3 giờ máy tiện, 2 giờ máy mài.
Mỗi sản phẩm A trị giá 48 ngàn đồng, mỗi sản phẩm B trị giá 16 ngàn đồng, mỗi sản
phẩm C trị giá 27 ngàn đồng.
Định mức
lao động
Loại thợ
Vấn đề đặt ra là xí nghiệp cấn chế tạo bao nhiêu đơn vị sản phẩm mỗi loại để
tổng giá trị sản phẩm xí nghiệp thu được là lớn nhất, với điều kiện không dùng quá số
giờ hiện có của mỗi loại máy.
Giải
Ta có bảng tóm tắt như sau:
Loại sp
Thiết bị
A (48) B (16) C (27)
Máy cán (510) 9 3 5
Máy tiện (360) 5 4 3
Máy mài (150) 3 0 2
Gọi x
1
, x
2
, x
3
là số đơn vị sản phẩm loại A, B, C
f(x)= 48x
1
+16x
2
+27x
3
max
Điều kiện:
=≥
≤+
≤++
≤++
3,2,1j,0x
150x2x3
360x3x4x5
510x5x3x9
j
31
321
321
c. Một xí nghiệp điện cơ sản xuất quạt điện các loại. Cần cắt từ một tấm tôn các cánh
quạt điện theo 3 kiểu A, B, C. Có 6 mẫu cắt khác nhau theo bảng sau:
Kiểu cánh
quạt
Mẫu cắt
1 2 3 4 5 6
A
B
C
2
0
0
1
1
0
1
0
1
0
2
0
0
1
2
0
0
3
Chỉ tiêu sản lượng sản phẩm của xí nghiệp phải hoàn thành ít nhất 4000 cánh
quạt kiểu A, 5000 cánh quạt kiểu B, 3000 cánh quạt kiểu C. Hỏi xí nghiệp có phương
án cắt như thế nào để có phế liệu ít nhất?
Giải
Gọi x
j
là số tấm tôn cắt theo mẫu j
f(x)= 2x
1
+ 2x
2
+ 2x
3
+ 2x
4
+ 3x
5
+ 3x
6
min
Điều kiện:
=≥
≥++
≥++
≥++
6,5,4,3,2,1j,0x
3000x3x2x
5000xx2x
4000xxx2
j
653
542
321
d. Cần vận chuyển 1 loại hàng hóa từ 3 xí nghiệp A1, A2, A3 đến các cửa hàng B1, B2,
B3, B4. lượng hàng có ở mỗi xí nghiệp và chi phí vận chuyển 1 đơn vị hàng được
cho ở bảng sau:
Cửa
hàng
B
1
B
2
B
3
B
4
Khả năng
hàng hóa
A
1
A
2
A
3
3
1
1
4
2
5
0
5
8
1
6
2
40
30
30
Nhu cầu hàng hóa 20 25 30 15
Hãy lập kế hoạch vận chuyển sao cho tổng chi phí vận chuyển là bé nhất?
Giải
Gọi x
ij
là lượng hàng hóa cần vận chuyển từ xí nghiệp A
i
(i = 1, 2, 3) đến cửa
hàng B
j
(j=1, 2, 3, 4).
f(x) = 3x
11
+ 4x
12
+ x
14
+ x
21
+ 2x
22
+ 5x
23
+ 6x
24
+ x
31
+ 5x
32
+ 8x
33
+ 2x
34
min
Điều kiện:
==≥
=++
=+
=++
=++
≤+++
≤+++
≤++
3,2,1,4,3,2,1,0
15
30
20
20
30
30
40
342414
3323
322212
312111
34333231
24232221
141211
ijx
xxx
xx
xxx
xxx
xxxx
xxxx
xxx
ij
e. Công ty may mặc Long Vũ hiện đang lập kế hoạch sản xuất 3 mặt hàng áo Jaket, áo
Chemis, áo Bludong. Được biết chi phí giở công sản xuất của từng mặt hàng qua 3
công đoạn cắt, may, hoàn chỉnh như sau:
Chemis Bludong Jaket
Giờ công bộ phận cắt 0.2 0.4 0.3
Giờ công bộ phận may 0.3 0.5 0.4
Giờ công bộ phận hoàn
chỉnh
0.1 0.2 0.1
Đơn giá (USD/sp) 2.3 3.6 2.8
Năng lực tối đa của các bộ phận như sau:
- Bộ phận cắt: 1250 giờ công
Chi phí
vận chuyển
Xí nghiệp
- Bộ phận may: 1650 giờ công
- Bộ phận hoàn chỉnh: 540 giờ công
Tối thiểu mỗi loại phải sản xuất 200 sản phẩm. Hãy tính kế hoạch sản xuất
mỗi loại sản phẩm bao nhiêu để đạt tổng giá trị sản phẩm lớn nhất và vẫn đảm bảo
các điều kiện về năng lực sản phẩm và qui định số lượng sản phẩn tối thiểu.
Giải
Gọi x
1
, x
2
, x
3
là số đơn vị sản phẩm Chemis, Bludong, Jaket.
f(x)= 2,3x
1
+ 3,6x
2
+ 2,8x
3
max
Điều kiện:
=≥
≤++
≤++
≤++
3,2,1,200
5401.02.01.0
16504.05.03.0
12503.04.02.0
321
321
321
jx
xxx
xxx
xxx
j
f. Nhà máy sản xuất thiết bị nghe nhìn điện tử Hanel lắp ráp thành phẩm máy thu hình
TV, Stereo, loa thùng từ các bộ phận khác nhau. Tên các bộ phận và số lượng còn
trong kho của chúng được bộ phận KHO cung cấp trong bản sau:
Tên bộ phận Kho
Số lượng bộ phận sử dụng khi lắp
ráp
TV Stereo Loa thùng
Khung 450 1 1 0
Đèn hình 250 1 0 0
Loa 800 2 2 1
Nguồn 450 1 1 0
Hệ thống điện 600 2 1 1
Lợi nhuận đơn vị (S) 75 50 35
Tìm giải pháp lắp ráp số lượng máy thu hình TV, Stereo, loa thùng từ số bộ
phận còn trong kho để đem lại tổng lợi nhuận cao nhất?
Giải
Gọi x
1
, x
2
, x
3
là số lượng máy thu hình TV, Stereo, loa thùng
f(x) = 75x
1
+ 50x
2
+ 35x
3
max
1 2
1
1 2 3
1 2
1 2 3
j
x x 450
x 250
2x 2x x 800
x x 450
2x x x 600
x 0
+ ≤
≤
+ + ≤
+ ≤
+ + ≤
≥
Điều kiện:
2. Đưa về dạng chuẩn tắc và chính tắc các bài toán qui hoạch tuyến tính sau:
a. f(x) = 2x
1
- x
2
max
Điều kiện:
≥≥
=++
≥−−
≤+−
ýtùyx,0x,0x
4xxx
3xx2x2
2xx2x
231
321
321
321
Giải
Dạng chính tắc: thay x
2
= x
4
- x
5
(x
4
, x
5
≥ 0) và thêm 2 biến phụ x
6
, x
7
≥ 0.
Ta được bài toán: f(x) = 2x
1
- x
4
+ x
5
max
Điều kiện:
1 3 4 5 6
1 3 4 5 7
1 3 4 5
2 2 2
2 2 2 3
4
0( 1,3,4,5,6,7)
j
x x x x x
x x x x x
x x x x
x j
+ − + + =
− − + − =
+ + − =
≥ =
Dạng chuẩn tắc: thay x
2
= x
4
- x
5
(x
4
, x
5
≥ 0).
Ta được bài toán: f(x)= 2x
1
- x
4
+ x
5
max
Điều kiện:
1 3 4 5
1 3 4 5
1 3 4 5
1 3 4 5
1 3 4 5
1 3 4 5
1 3 4 5
2 2 2
2 2 2
2 2 2 3
2 2 2 3
4
4
4
0( 1,3,4,5)
0( 1,3,4,5)
j
j
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x x x x
x j
x j
+ − + ≤
+ − + ≤
− + + − ≤ −
− − + ≥
+ + − ≤
⇔
+ + − =
− − − + ≤ −
≥ =
≥ =
b. f(x)= 3x
1
+ x
2
min
Điều kiện:
≥≥
=−
≤+
≥
0,0
52
4
3
21
21
21
1
xx
xx
xx
x
Giải
Dạng chính tắc: thêm 2 biến phụ x
3
, x
4
≥ 0. Ta có: f(x) = 3x
1
+ x
2
min
Điều kiện:
=≥
=−
=++
=−
4,3,2,1,0
52
4
3
21
421
31
jx
xx
xxx
xx
j
Dạng chuẩn tắc: f(x) = 3x
1
+ x
2
min
Điều kiện:
=≥
−≥+−
≥−
−≥−−
≥
4,3,2,1j,0x
5xx2
5xx2
4xx
3x
j
21
21
21
1
3. Viết các bài toán qui hoạch tuyến tính sau ở dạng chính tắc:
a. f(x) = 4x
1
+ 3x
2
- 2x
3
min
Điều kiện:
1 2 3
1 2 3
1 2 3
1 2 3
x x 4x 6
2x x 3x 8
3x 4x 2x 3
x 0,x 0, x tùyý
− − + =
+ − ≤
+ − ≥
≥ ≥
Giải
Đặt x
3
=x
4
-x
5
(x
4
, x
5
≥0), thêm 2 biến phụ x
6
, x
7
≥0.
Ta có: F(x) = 4x
1
+ 3x
2
- 2(x
4
- x
5
) min
Điều kiện:
=≥
=−+−+
=++−+
=−+−−
7,6,5,4,2,1j,0x
3xx2x2x4x3
8xx3x3xx2
6x4x4xx
j
75421
65421
5421
b. f(x) = 3x
1
+ x
2
min
Điều kiện:
≥≥
≥+−−
=−+
≤−+
ýtùyx,0x,0x
25x2x6x3
10xx2x5
15xx2x4
231
321
321
321
Giải
Đặt x
2
= x
4
- x
5
(x
4
, x
5
≥ 0), thêm 2 biến phụ x
6
, x
7
≥ 0.
Ta có: f(x) = 3x
1
+ x
4
– x
5
min
Điều kiện:
1 3 4 5 6
1 3 4 5
1 3 4 5 7
4 2 2 15
5 2 2 10
3 2 6 6 25
0, (1,3, 4,5,6,7)
j
x x x x x
x x x x
x x x x x
x j
− + − + =
− + − =
− + − + − =
≥ =
4. Cho bài toán qui hoạch tuyến tính dạng chính tắc:
f(x) = 2x
1
+ x
2
- x
3
+ x
4
max
Điều kiện:
=≥
=+−
=++
=+++
3,2,1,0
42
2
62
321
421
4321
jx
xxx
xxx
xxxx
j
a. Hãy chỉ rõ 1 phương án của bài toán
b. Xác định tập phương án của bài toán
Giải
a. Sử dụng phương pháp Gauss-Jordan, ta lập bảng:
b x
1
x
2
x
3
x
4
6
2
4
1
1
1
1
1
-2
2
0
1
1
1
0
6
-4
-2
1
0
0
1
0
-3
2
-2
-1
1
0
-1
2
2
0
1
0
0
1
0
-3
0
1
0
1
0
-1
2
2
0
1
0
0
-2
3
0
0
1
0
0
0
1
hệ phương trình:
−=
=
+=
⇔
=+
=
=−
24
3
21
42
3
21
x3x
2x
x22x
0xx3
2x
2x2x
Cho x
2
= α ⇒ x
4
= -3α, x
1
= 2 + 2α
Chọn α = 0: ta có một phương án (2, 0, 2, 0)
b. Tập phương án của bài toán:
D=
{ }
R,3x,2x,x,22x)x,x,x,x(x
43214321
∈αα−==α=α+==
5. Vẽ miền thỏa mãn các bất phương trình tuyến tính (bậc nhất) sau:
- 2x
1
+ 5x
2
≤ 10, - x
1
+ 3x
2
≤ 3, 2x
1
+ x
2
≤ 6, x
1
+ 2x
2
≥ 2
Chỉ rõ các điểm cực biên (đỉnh) của miền này.
Giải
Điểm cực biên của miền này là A(15/7,12/7); B(10/3,-2/3); C(0,1)
6. Dùng phương pháp hình học giải các qui hoạch tuyến tính 2 biến sau:
a. F(x) = - x
1
+ x
2
max
Điều kiện:
≥≥
≤+
≤+
≤+
0,0
93
623
1
21
21
21
21
xx
xx
xx
xx
Giải
Miền ràng buộc: OAB
Phương án tối ưu: A(0,1)
Trị tối ưu: f
max
=1
b. f(x) = 5x
1
+ 4x
2
max
Điều kiện:
≥≥
≤+
≤−
≤+
0,0
1223
42
82
21
21
21
21
xx
xx
xx
xx
Giải
Miền ràng buộc: OABC
Phương án tối ưu: B (2,3)
Trị tối ưu: f
max
= 22
c. f(x) = 5x
1
+ 3x
2
max
Điều kiện:
≥≥
≥−
≤−
≤+
0,0
02
0
62
21
21
21
21
xx
xx
xx
xx
Giải
Miền ràng buộc: OAB
Phương án tối ưu: B(3/2,3)
Trị tối ưu: f
max
= 33/2
d. f(x) = -4x
1
+3x
2
min
Điều kiện:
≥≥
≤−
≥+
≤+
0,0
2
632
6
21
21
21
21
xx
xx
xx
xx
Giải
Miền ràng buộc: ABCD
Phương án tối ưu: B (4,2)
Trị tối ưu: f
min
= -10
7. Tìm các phương án cực biên không suy biến của bài toán qui hoạch tuyến tính với
điều kiện ràng buộc sau đây:
a. Điều kiện:
≥≥≥
=++
=−−
0,0,0
3
1
321
321
321
xxx
xxx
xxx
Giải
Nhận xét: phương án cực biên của bài toán có nhiều nhất 2 thành phần > 0
có ít nhất 1 thành phần = 0
Cho x
1
=0 VN
Cho x
2
=0 x
1
= 2, x
3
=1 x
1
= (2,0,1)
Xét hệ {A
1
,A
3
} độc lập tuyến tính và x
1
, x
3
> 0 x
1
là phương án cực biên
không suy biến.
Cho x
3
=0 x
1
=2, x
2
=1 x
2
= (2,1,0)
Xét hệ {A
1
,A
2
} độc lập tuyến tính và x
1
, x
2
> 0 x
2
là phương án cực biên
không suy biến.
b. Điều kiện:
≥≥≥
=+−
=++
0,0,0
1432
10
321
321
321
xxx
xxx
xxx
Giải
Nhận xét: phương án cực biên của bài toán có nhiều nhất 2 thành phần > 0
có ít nhất 1 thành phần = 0
Cho x
1
= 0 x
2
= 4, x
3
= 6 x
1
= (0, 4, 6)
Xét hệ {A
2
,A
3
} độc lập tuyến tính và x
2
, x
3
> 0 x
1
là phương án cực biên
không suy biến.
Cho x
2
= 0 x
1
= 16, x
3
= -6 x
2
= (16, 0, -6) không thỏa điều kiện x
3
> 0
Cho x
3
= 0 x
1
= 8, x
2
= 2 x
3
= (8, 2, 0)
Xét hệ {A
1
,A
2
} độc lập tuyến tính và x
1
, x
2
> 0 x
3
là phương án cực biên
không suy biến
c. Điều kiện:
≥≥≥
=−
=++
0x,0x,0x
0xx
4xxx
321
21
321
Giải
Nhận xét: phương án cực biên của bài toán có nhiều nhất 2 thành phần > 0
có ít nhất 1 thành phần = 0
Cho x
1
= 0 x
2
= 0, x
3
= 4 x
1
= (0,0,4)
Xét hệ {A
2
, A
3
} độc lập tuyến tính và chỉ có x
3
> 0 x
1
là phương án cực biên
suy biến
Cho x
2
= 0 x
1
= 0, x
3
= 4 x
2
= x
1
= (0,0,4)
Xét hệ {A
1
, A
3
} độc lập tuyến tính và chỉ có x
3
> 0 x
2
là phương án cực biên
suy biến
Cho x
3
= 0 x
1
= x
2
= 2 x
3
= (2,2,0)
Xét hệ {A
1
,A
2
} độc lập tuyến tính và x
1
, x
2
> 0 x
3
là phương án cực biên
không suy biến
8. Cho bài toán: f(x) = x
1
+ 6x
3
- 5x
4
min (P)
Điều kiện:
≥
=+−
=++
0,,,
82
532
4321
432
431
xxxx
xxx
xxx
a. Liệt kê tất cả các phương án của (P)
b. Chứng tỏ (P) có phương án tối ưu. Từ đó chỉ ra phương án cực biên tối ưu
Giải
a. Nhận xét: phương án cực biên của bài toán có nhiều nhất 2 thành phần > 0
có ít nhất 2 thành phần = 0
Cho x
1
= x
2
= 0 x
3
= -2, x
4
= 3 không thỏa điều kiện x
3
> 0
Cho x
1
= x
3
= 0 x
2
= 14/3, x
4
= 5/3 x
1
= (0,14/3,0,5/3)
Xét hệ {A
2
, A
4
} độc lập tuyến tính x
1
là phương án cực biên không suy biến
Cho x
1
= x
4
= 0 x
2
= 21/2, x
3
= 5/2 x
2
= (0, 21/2, 5/2, 0)
Xét hệ {A
2
, A
3
} độc lập tuyến tính x
2
là phương án cực biên không suy biến
Cho x
2
= x
3
= 0 x
1
= -7, x
4
= 4 x
3
= (-7, 0, 0, 4) không thỏa điều kiện x
1
> 0
Cho x
2
= x
4
= 0 x
1
= 21, x
3
= -8 x
4
= (21, 0, -8, 0) không thỏa điều kiện
x
3
> 0
Cho x
3
= x
4
= 0 x
1
= 5, x
2
= 8 x
5
= (5, 8, 0, 0)
Xét hệ {A
1
, A
2
} độc lập tuyến tính x
5
là phương án cực biên không suy biến
Cho x
1
= x
2
= x
3
= 0 VN
Cho x
1
= x
2
= x
4
= 0 VN
Cho x
1
= x
3
= x
4
= 0 VN
Cho x
2
= x
3
= x
4
=0 VN
b. Ta có f = x
1
+ 6x
3
-
3
5
( 5 – x
1
- 2x
3
)=
3
8
x
1
+
3
28
x
3
-
3
25
3
25
−≥
Vậy hàm mục tiêu bị chặn dưới, tập phương án không rỗng, do đó bài tóan có
phương án tối ưu. Vậy sẽ có ít nhất một phương án cực biên là phương án tối ưu.
Từ các phương án cực biên trên, ta có:
f(x
1
) = x
1
+ 6x
3
- 5x
4
= -5.5/3 = -25/3
f(x
2
) = x
1
+ 6x
3
- 5x
4
= 6.5/2 = 15
f(x
5
)= x
1
+ 6x
3
- 5x
4
= 5
Vậy x
1
= (0,14/3,0,5/3) là phương án tối ưu của bài toán và trị tối ưu là -25/3
CHƯƠNG 2:
PHƯƠNG PHÁP ĐƠN HÌNH
A. LÝ THUYẾT
1. THUẬT TOÁN ĐƠN HÌNH:
Xét bài toán QHTT sau:
Trong đó A là ma trận cấp mxn, b
∈ R
m
và x
∈ R
n
Giả thiết: m
≤
n, rank(A) = m và bài toán không suy biến
Ký hiệu bài toán (1) – (3) là bài toán ( D,f ), trong đó D là miền ràng buộc.
Ý tưởng của phương pháp đơn hình
Bắt đầu từ một phương án cực biên
x
0
nào đó của bài toán.
Kiểm tra
x
0
có tối ưu không (so sánh giá trị hàm mục tiêu tại
x
0
đó
và giá trị hà mục tiêu tại các đỉnh kế với nó.
-
x
0
thỏa mãn tiêu chuẩn tối ưu hoặc phát hiện bài toán không có phương án tối
ưu: dừng thuật toán.
- Trái lại, phương pháp sẽ tìm một phương án cực biên mới tốt hơn (giá trị ham mục
tiêu nhỏ hơn) mà nó là một đỉnh kề của đỉnh trước đó. Trở lại bước kiểm tra tối ưu.
Pacb ban đầu
x
0
x
opt
Thuật toán đơn hình giải bài tập ( D,f ):
Bước 1:
Tìm một phương án cực biên ban đầu
x
0
với cơ sở
{
A
j
, j ∈ J
0
}
gồm m vectơ
độc lập tuyến tính của A
Giả sử
x
0
= (
x
1
0
, x
2
0
,… , x
m
0
,0,… ,0
), với
x
j
0
>0
( j = 1,…, m ).
Ký hiệu: J
0
=
{
j , x
j
>0
}
= { 1, 2,…, m }. Hệ
{
A
j
, j ∈ J
0
}
là cơ sở của
x
0
biến
x
j
(
j ∈ J
0
)
là biến cơ sở.
Mỗi vectơ cột A
k
(k = 1, 2, … , n) của A được biểu diễn qua cơ sở
{
A
j
, j ∈ J
0
}
A
k
= z
1k
A
1
+ z
2k
A
2
+ … + z
mk
A
m
, k = 1, 2, …, n
f
0
=¿c , x
0
>¿c
1
x
1
0
+c
2
x
2
0
+…+c
m
x
m
0
Tính
∆
k
=c
1
z
1k
+c
2
z
2k
+…+c
m
z
mk
−c
k
,k=1, … ,n
Lập bảng đơn hình ứng với
x
0
Cơ
sở
Hệ
số c
j
Phương
án
x
1
… x
m
… x
k
… x
n
θ
c
1
… c
m
… c
k
… c
n
A
1
c
1
x
1
0
1 … 0 …
z
1k
…
z
1n
A
2
c
2
x
2
0
0 … 0 …
z
2k
…
z
2n
… … … … … … … … … …
A
i
c
i
x
i
0
0 … 0 …
z
ik
…
z
¿
… …. … … … … … … … …
A
m
c
m
x
m
0
0 … 1 …
z
mk
…
z
mn
f (x
0
)
∆
1
…
∆
m
…
∆
k
…
∆
n
Nhận xét:
∆
j
=0,∀ j ∈ J
0
Ta có thể đặt:
z
i0
=x
i
0
(
i=1, 2,… ,m
)
z
m+1,0
= f
(
x
0
)
z
m+1, k
= ∆
k
(
k=1,2,…,n
)
Bước 2: (kiểm tra tối ưu)
Nếu
z
m+1, k
≤ 0,∀ j=1,2,… , n
, thì
x
0
là phương án tối ưu: dừng thuật toán. Trái lại, chuyển
sang bước 3.
Bước 3: (Kiểm tra bài toán không có phương án tối ưu)
Nếu
∃ k :1≤ k ≤ n
sao cho
z
m+1,k
>0
và
z
ik
≤ 0 ,∀i=1, 2,… , m
Thì bài toán đã cho không có phương án tối ưu và hàm mục tiêu giảm vô hàn
trong miền ràng buộc: dừng thuật toán.
Trái lại chuyển sang bước 4.
Bước 4: (Xây dựng phương án cực biên mới)
Chọn vectơ đưa vào cơ sở:
Chọn s thỏa mãn:
z
m+1, s
=max
{
z
m+1, k
: z
m+1, k
>0
}
Đưa vectơ A
s
vào cơ sở
Xác định vectơ loại khỏi cơ sở:
Tính
θ
0
=min
{
z
i0
z
is
: z
is
>0
}
=
z
r0
z
rs
Giả sử tên biến cơ sở thứ r là
x
i
r
Đưa vectơ
A
i
r
ra khỏi cơ sở
Xây dựng phương án cực biên mới: Phương án mới x
1
được xác định như sau:
Phương án x
1
tương ứng vói cơ sở J
1
= ( J
0
\ {i
r
}
∪
{s})
Và
f
(
x
1
)
= f
0
−θ
0
z
m+1, s
< f
0
Tính các hệ số
z
ik
'
mới (i = 1, 2, …, m+1 ; k = 0, … , n)
Trở lại thực hiện bước và tiếp tục thuật toán cho tới khi nhận được phương án
tối ưu (bước 2) hoặc phát hiện bài toán không có phương án tối ưu (bước 3) thì dừng
Để tính toán lại các hệ số z
ik
khi thay đổi từ cơ sở cũ sang cơ sở mới, có thể sử
dụng các công thức sau:
(i = 1, 2, …, m+1; k = 0, 1, …, n)
(Chỉ số cột s và chỉ số hàng r được xác định ở bước 4)
Nhận xét: Với giả thiết bài toán không suy biến thì thuật toán giải nêu trên
phải dừng sau một số hữu hạn bước lặp, bởi vì mỗi lần thực hiện bước 4 ta nhận
được phương án cực biên mới tốt hơn phương án cực biên trước đó và số phương án
cực biên của bài toán là hữu hạn.
2. CÁCH TÌM PHƯƠNG ÁN CỰC BIÊN VÀ CƠ SỞ BAN ĐẦU
Xét bài toán QHTT dạng chính tắc ( D,f ):