I. Bài toán quy hoạch tuyến tính

Download Report

Transcript I. Bài toán quy hoạch tuyến tính

Chương 2: Quy hoạch tuyến tính





Viết tắt: QHTT
Bài toán tối ưu hóa
Áp dụng rộng rãi trong nhiều lĩnh vực
hoạt động và kinh doanh
Sử dụng toán học, máy tính giải quyết
được mô hình
Hỗ trợ trong hoạt động kinh doanh hiệu
quả
1
Một số ví dụ

Ví dụ bài toán quảng cáo (VD1)
• Quảng cáo trên truyền hình dài nhất là 4p
• Quảng cáo trên đài ít nhất là 5p
• Quảng cáo trên đài mất 80000đ/p
• Quảng cáo trên truyền hình 400000đ/p
• Hiệu quả của quảng cáo truyền hình so với
đài là 6 lần
• Chi phí tối đa cho phép: 1600000đ
2
Một số ví dụ

Ví dụ bài toán quảng cáo
• x1: số phút quảng cáo trên đài
• x2: số phút quảng cáo trên truyền hình
• x1 + 6x2  max
• 80000x1+400000x2≤1600000
• x1≥5, x1≥0
• x2≥0, x2≤4
3
Một số ví dụ

Bài toán vận tải (VD2)
• Công ty có 3 địa điểm bán lẻ: A, B, C
• Công ty có hai tổng kho, I, II
• Lượng xăng trong kho:


I:20,
II:40
• Lượng xăng tiêu thụ tại điểm bán lẻ



A: 20
B: 15
C: 15
4
Một số ví dụ

Bài toán vận tải
• Chi phí vận chuyển
A
B
C
I
500
400
700
II
600
500
500
5
Một số ví dụ

Bài toán vận tải (VD2)
• x1A+x2A=20
• x1B+x2B=15
• x1C+x2C=15
• x1A+x1B+x1C≤20
• x2A+x2B+x2C≤40
• 500x1A + 400x1B + 700x1C + 600x2A +
500x2B + 500x2C  min
• x1A, x1B,x1C,x2A,x2B,x2C≥0
6
I. Bài toán quy hoạch tuyến tính
1. Bài toán tổng quát
 Xác định vector x=(x1, …, xn)
n
f ( x) 
x
j
c j  min(max)
(1 . 1)
j 1
n
a
ij
x j  (  ,  ) b i ( i  1 .m )( 1 . 2 )
j 1
7
I. Bài toán quy hoạch tuyến tính
1. Bài toán tổng quát
• x=(x1, …, xn): nghiệm bài toán
• aij, bi, cj (i=1.m, j=1.n) là các hằng số
(tham số)
Các ràng buộc của bài toán có thể là chọn
(=, ≥, ≤)
8
I. Bài toán quy hoạch tuyến tính

Các khái niệm
• f(x): hàm mục tiêu
• Hệ 1.2 gọi là hệ ràng buộc
• Nhóm ràng buộc độc lập tuyến tính (các
ràng buộc trong 1.2 độc lập tuyến tính)
• A*j vector hàng của một nhóm ràng buộc
độc lập tuyến tính
• A: ma trận các vector ràng buộc (không
tính ràng buộc dấu)
• Ai vector cột của A
9
I. Bài toán quy hoạch tuyến tính

Các khái niệm
• x=(x1,…,xn) thỏa mãn điều kiện bài toán
gọi là một phương án
• Phương án tối ưu: là hàm f(x) đạt cực
tiểu (hoặc cực đại)
• Phương án tốt hơn:


Min: f(x1)≤f(x2), x1 tốt hơn x2
Max: f(x1)≥f(x2), x1 tốt hơn x2
• Thỏa mãn chặt là thỏa mãn theo dấu =
• Phương án cực biên: phương án thỏa
mãn chặt m ràng buộc độc lập tuyến tính
10
I. Bài toán quy hoạch tuyến tính

Ví dụ
• f(x)=x1 + 6x2  max
• 80000x1+400000x2≤1600000
• x1≥5, x1≥0
• x2≥0, x2≤4
• xA=(5,3), xB=(5,0), xC=(20,0), xD=(6,1)
• f(x): hàm mục tiêu
• xA, xB, xC, xD: là các phương án
• xA, xB, xC: là các phương án cực biên
11
I. Bài toán quy hoạch tuyến tính

Ví dụ
• f(xA)=5 + 6*3 =23
• f(xD)=6 + 6*1 =12
• Phương án xA tốt hơn phương án xD
12
I. Bài toán quy hoạch tuyến tính

Ví dụ
13
I. Bài toán quy hoạch tuyến tính
2. Bài toán quy hoạch tuyến tính dạng chuẩn,
dạng chính tắc
a. Dạng chuẩn
n
f ( x) 
x
j
c j  max (min)( 1 . 3 )
j 1
n
a
ij
x j  b i ( i  1 .m )( 1 . 4 )
j 1
x j  0 ( j  1 .n )
14
I. Bài toán quy hoạch tuyến tính
b. Dạng chính tắc
n
f ( x) 
x
j
c j  max (min)( 1 . 5 )
j 1
n
a
ij
x j  b i ( i  1 .m )( 1 . 6 )
j 1
x j  0 ( j  1 .n )
15
I. Bài toán quy hoạch tuyến tính
c. Chuẩn đổi giữa các dạng min -> max
n
f (x) 

x j c j  min (1 . 8 )
j 1
Chuyển về dạng
n
f ( x) 
x
j
c j  max (1 . 9 )
j 1
Xây dựng fd(x)=-f(x)
16
I. Bài toán quy hoạch tuyến tính
c. Chuẩn đổi giữa các dạng ≥ về dạng ≤
n
a
ij
x j  bi
j 1
n

a
ij
x j   bi
j 1
n
a
j 1
'
x j  b i (a
'
ij
'
ij
  a ij , b   b i )
'
i
17
I. Bài toán quy hoạch tuyến tính
c. Chuẩn đổi giữa các dạng = về dạng ≤
n
a
ij
x j  bi
j 1
n

a
ij
x j   bi
j 1
n
a
j 1
ij
x j  bi
18
I. Bài toán quy hoạch tuyến tính
c. Chuyển đổi giữa các dạng, biến không ràng
buộc về có ràng buộc

j

j

j

j
x j  x  x , x  0, x  0
19
I. Bài toán quy hoạch tuyến tính
c. Chuẩn đổi giữa các dạng ≤ về dạng =
n
a
ij
x j  bi
ij
x j  x n 1  bi , x n 1  0
j 1
n
a
j 1
20
I. Bài toán quy hoạch tuyến tính
2. Giải bài toán theo phương pháp hình học
 Bài toán dạng chuẩn với hai biến số
c1x1 + c2x2  max (1)
ai1x1+ai2x2 ≤ bi, i=1,m (2)
xj ≥ 0, j=1,2 (3)
Từ ý nghĩa hình học cho thấy:
dễ thấy, mỗi phương trình ai1x1+ai2x2 ≤ bi,
i=1,m xác định một nửa mặt phẳng.
Miền ràng buộc xác định một đa diện lồi trên
mặt phẳng
21
I. Bài toán quy hoạch tuyến tính
2. Giải bài toán theo phương pháp hình học
Xét c1x1 + c2x2 = , đây là một đường thẳng,
được gọi là đường mức.
Xét các điểm xk(xk1,xk2) thuộc đường mức ,
và tập đa diện lồi D (được xác định theo
2,3) sẽ có giá trị
c1x1 + c2x2 = 
Vậy bài toán trở thành bài toán tìm đường
mức cắt D có giá trị  là lớn nhất
Xây dựng những đường mức song song, dịch
chuyển theo phương pháp tuyến
22
I. Bài toán quy hoạch tuyến tính
2. Giải bài toán theo phương pháp hình học
Giá trị  thay đổi, ta dịch chuyển về phía  có
xu hướng tăng.
Đương mức cuối cùng sẽ là giá trị cực đại
23
I. Bài toán quy hoạch tuyến tính

Ví dụ giải theo phương pháp hình học
• f(x)=4x1 + 5x2  max
• 2x1+x2≤8
• x1+2x2≤7
• x2≤3
• x1≥0
• x2≥0
Xây dựng hệ trục tọa độ và các đường mức
24
I. Bài toán quy hoạch tuyến tính

Ví dụ
25
I. Bài toán quy hoạch tuyến tính

Ví dụ giải theo phương pháp hình học
• Đường 4x1+5x2=
• =22 đi qua điểm C(3,2) là điểm đường
mức có giá trị lớn nhất
 Hàm tối ưu tại điểm C(3,2), giá trị cực đại
là f(c)=22
26
I. Bài toán quy hoạch tuyến tính

Ví dụ giải theo phương pháp hình học
• f(x) = 8x1 + 6x2→ Max
• 4x1 + 2x2 ≤ 60
• 2x + 4x ≤ 48
• x, x≥ 0
1
1
2
2
Xây dựng tập tọa x1, x2 tối ưu
1. Tiến hành xây dựng miền ràng buộc
27
I. Bài toán quy hoạch tuyến tính

Ví dụ
28
I. Bài toán quy hoạch tuyến tính

Ví dụ giải theo phương pháp hình học
• Trong miền (OABC) ta tìm điểm (x , x ) sao
cho
• f(x) = 8x1 + 6x2 đạt giá trị lớn nhất.
1
2
2. Xây dựng các đường mức
• f(x) = 8x1 + 6x2 = 
• Xét các giá trị:


 = 24
 = 48
29
I. Bài toán quy hoạch tuyến tính

Ví dụ
30
I. Bài toán quy hoạch tuyến tính

Ví dụ giải theo phương pháp hình học
• Tịnh tiến theo vector pháp tuyến: n(8, 6)
thì giá trị của đường mức tăng lên
• Tiếp tục ta sẽ thấy đường thẳng đi qua
điểm B(12,6) là đường thẳng có đường
mức cao nhất
•  = 8 × 12 + 6 × 6 = 132
31
I. Bài toán quy hoạch tuyến tính

Một số nhận xét phương pháp hình học
• Nếu có phương án tối ưu thì ít nhất một
đỉnh là tối ưu (có thể có nhiều hơn 1 đỉnh)
• Miền ràng buộc giới nội, khác rỗng thì có
phương án tối ưu
• Miền ràng buộc không giới nội, nhưng chặn
trên cũng có phương án tối ưu
32
I. Bài toán quy hoạch tuyến tính

Sử dụng phương pháp so sánh điểm
• Giải bằng cách so sánh các điểm đỉnh (cực
biên)
• tại O(0, 0): f(0, 0) = 0;
• tại A(0, 12): f(0, 12) = 72;
• tại C(15,0): f(15, 0) = 120;
• tại B(12, 6): f(12, 6) = 132
• Max{f(O), f(A), f(B), f(C)} =132.
• Vậy f = 132
max
33
I. Bài toán quy hoạch tuyến tính
3. Giải quyết bài toán chính tắc
• Định lý 1: Phương án x của bài toán dạng
chính tắc là cực biên khi và chỉ khi hệ
thống các vector {Aj} tương ứng với các
thành phần dương với các phương án là
độc lập tuyến tính
34
I. Bài toán quy hoạch tuyến tính
3. Giải quyết bài toán chính tắc
• f(x)=x1+4x2+6x3  max
• 3x1+4x2+4x3=10
• -x1+x2+x3=-1
• Vector x=(2,1,0) là một phương án cực biên
Vì x1=2, x2=1 là khác 0 nên xét
 3 
4
A1    , A2   
  1
1 
Độc lập tuyến tính, vậy x là phương án cực biên
35
I. Bài toán quy hoạch tuyến tính
3. Giải quyết bài toán chính tắc
• Định nghĩa: một hệ m vector {Aj} độc lập
tuyến tính bao hàm hệ thống các vector
tương ứng với các thành phần dương của
phương án cực biên x là cơ sở của phương
án cực biên ấy, ký hiệu một cách quy ước
là J, trong đó : J={j:Aj thuộc cơ sở}.
Các phần tử ngoài cơ sở của x sẽ là 0
36
I. Bài toán quy hoạch tuyến tính
4. Tính chất bài toán qui hoạch tuyến
tính
• Tính chất 1: Sự tồn tại phương án cực biên
của bài toán
Nếu bài toán có phương án và hạng của ma
trạng hệ ràng buộc bằng n (n là số biến số)
thì bài toán có phương án cực biên
37
I. Bài toán quy hoạch tuyến tính
4. Tính chất bài toán qui hoạch tuyến
tính
• Tính chất 2: Sự tồn tại phương án tối ưu
của bài toán
Nếu bài toán có phương án và trị số hàm
mục tiêu bị chặn trên (dưới) khi f(x) 
max (min) – trên tập phương án thì bài
toán có phương án tối ưu
38
I. Bài toán quy hoạch tuyến tính
4. Tính chất bài toán qui hoạch tuyến
tính
• Tính chất 3: Tính hữu hạn của số phương
án cực biên
Số phương án cực biên của bài toán quy
hoạch tuyến tính là hữu hạn
39
II. Thuật toán đơn hình
1. Nội dung phương pháp
Ý tưởng, xuất phát từ một phương án cưc
biên, tìm cách đánh giá phương án cực
biên đó, nếu chưa là phương án tối ưu
thì chuyển sang phương án cực biên tốt
hơn.
Lặp lại sau hữu hạn bước: kết luận được
phương án, hoặc không tồn tại phương
án tối ưu
40
II. Thuật toán đơn hình
2. Cơ sở lý thuyết
a. PACB và phương án bài toán
n
f ( x) 
x
j
c j  max (min)(1.5)
j 1
n
a
ij
x j  b i ( i  1 .m ) (1.6)
j 1
x j  0 (j  1.n)(1.7)
x0 phương án cực biên
J0 cơ sở phương án cực biên
41
II. Thuật toán đơn hình
2. Cơ sở lý thuyết


Xj0 là ma trận chứa các thành phần cơ sở của
phương án cực biên.
Aj0 là ma trận các vector cơ sở Aj0={Aj: jJ0)
x  0 ( k  J 0 )
0
k
Ax  b
1
J0
AJ 0 X J 0  b  X J 0  A b
42
II. Thuật toán đơn hình
2. Cơ sở lý thuyết


Ak là vector phi cơ sở kJ0
Có thể phân tích Ak theo AJ0
Ak 
x
jk
Aj
j J 0
1
J0
X k  A A k (1.8)
k 
c
j J 0
j
x jk  c k (k  J 0 ) (1.9)
43
II. Thuật toán đơn hình
2. Cơ sở lý thuyết



Ký hiệu cJ={cj: j  J0)
Δk = (cJ,Xk) – ck, Δj=0 (jJ0)
Với x(x1, …, xn) bất kỳ
xj  x 
0
j
x
k
x jk j  J 0 (1.10)
kJ 0
f(x)  f(x ) 
0

kJ 0
k
x k (1.11)
44
II. Thuật toán đơn hình
2. Cơ sở lý thuyết

Từ x0 chuyển sang x theo vector Z
45
II. Thuật toán đơn hình
2. Cơ sở lý thuyết

Mỗi xk không thuộc cơ sở xác định Zk
  x jk (j  J 0 )

k
z j   0 (j  J 0 , j  k ) (1.12)
 1 (j  k, z k  1)
k


Nếu di chuyển theo phương Zk bước θ
x ( )  x   Z ,   0 (1.13)
0
k
46
II. Thuật toán đơn hình
2. Cơ sở lý thuyết



Điều cần xem xét là x(θ) ≥ 0
• jJ0, xj(θ) = x0j – θxjk ≥ 0,
• jJ0, jk thì xj(θ)=0
• xk(θ)=θ≥0
Như vậy điều cần quan tâm nhất là
• x0j – θxjk ≥ 0
Nếu xjk ≤ 0 (jJ0), khi đó đẳng thức thỏa
mãn θ≥0, vậy Zk là phương vô hạn
47
II. Thuật toán đơn hình
2. Cơ sở lý thuyết
0
 Nếu xjk > 0, x j – θxjk ≥ 0 ứng với xjk > 0
 θ≤x0j/xjk
0
 θ0=min{x j/xjk: xjk>0},
 Vậy x(θ) phương án với điều kiện 0≤ θ ≤ θ0
 f(x(θ))=f(x0) – θΔk (1.14)
• Nếu Δk > 0  f(x(θ))<f(x0)
• Nếu Δk < 0  f(x(θ))>f(x0)
• Δk = 0  f(x(θ))=f(x0)
48
II. Thuật toán đơn hình
b. Các định lý cơ bản
Định lý 2: Dấu hiệu tối ưu của phương án cực
biên
Nếu đối với phương án cực biên x0 với cơ sở J0 của
bài toán dạng chính tắc Δk ≥ 0 (kJ0) thì phương
án x0 là phương án tối ưu (max), Δk ≤ 0 (kJ0)
trong trường hợp tiến đến min.
0
 Đây là điều kiện đủ, tuy nhiên nếu x không suy
biến thì nó cũng là điều kiện cần
 Khẳng định phương án tối ưu, không khẳng định số
phương án tối ưu

49
II. Thuật toán đơn hình
b. Các định lý cơ bản
Định lý 3: Dấu hiệu bài toán không giải được
Nếu đối với PACB x0 với cơ sở J0 của bài toán chính
tắc mà:
Tồn tại Δk > 0 mà xjk ≤ 0 (kJ0) (BT min) hoặc tồn tại
Δk < 0 mà xjk ≤ 0 (kJ0) (BT max) thì bài toán
không giải được (hàm mục tiêu không bị chặn)

50
II. Thuật toán đơn hình
b. Các định lý cơ bản
Định lý 4: Dấu hiệu điều chỉnh phương án cực
biên
Nếu đối với PACB x0 với cơ sở J0 của bài toán chính
tắc mà:
Nếu mỗi Δk > 0 mà xjk > 0 (kJ0) (BT min) hoặc tồn tại
Δk < 0 mà xjk > 0 (kJ0) (BT max) thì ta có thể điều
chỉnh PACB x0 để chuyển sang một PACB mới tốt
hơn

51
II. Thuật toán đơn hình
3. Phương pháp đơn hình
Để kiểm tra dấu hiệu bài toán có thể sử dụng
(1.8), (1.9) để tính toán
 Chuyển phương án cực biên là thay đổi một
cột trong ma trận
Đề xuất mô hình dạng bảng để dễ giải quyết
0
 Cho rằng ban đầu đã có PACB xuất phát x
 J0 là m vector đầu tiên

52
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Bài toán
f(x) = -2x1 + 3x2 + x3
 Max
2x1 – x2 + x3 + x4
=18
3x1 + x2 – 2x3
+ x5
=20
x1 + + 2x2
+ x6 = 12
Bài toán tồn tại biến x4, x5, x6 là cô lập nên
dễ dàng chọn phương án xuất phát
x0=(0,0,0,18,20,12)
Cơ sở là {A4, A5, A6}
53
II. Thuật toán đơn hình
3. Phương pháp đơn hình
Bước 1: lập bảng
54
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Bảng đơn hình
x0=(0,0,0,18,20,12)
Cơ sở là {A4, A5, A6}
55
II. Thuật toán đơn hình
3. Phương pháp đơn hình
Bước 2: Kiểm tra dấu hiệu tối ưu
Nếu
Δk ≤ 0 (kJ0) với bài toán f(x)  min
Δk ≥ 0 (kJ0) với bài toán f(x)  max
Thì phương án x0 là phương án tối ưu, và f(x0)
là giá trị tối ưu
 Với bài toán: Δ=(2, -3, -1, 0, 0, 0), nên chưa
tối ưu

56
II. Thuật toán đơn hình
3. Phương pháp đơn hình
Bước 3: Kiểm tra tính không giải được
Nếu
Δk>0 mà xjk≤0 (jJ0) với bài toán f(x)  min
Δk<0 mà xjk≤0 (jJ0) với bài toán f(x)  max
Thì bài toán không giải được
 Với bài toán: Δ=(2, -3, -1, 0, 0, 0),
 j=2, Δ2=-3, Xj*=(-1, 1, 2)
 j=3, Δ3=-1, Xj*=(1, -2, 0)
 nên bài toán có thể giải được qua bước này

57
II. Thuật toán đơn hình
3. Phương pháp đơn hình


Bước 4: Điều chỉnh PACB và lập bảng đơn
hình mới
Chọn vector đưa vào cơ sở
• Tìm MaxΔk với Δk>0 (f(x)min)
• Tìm MinΔk với Δk<0 (f(x)max)
• Giả sử Δs là giá trị tìm được, đưa As vào cơ sở mới

Min Δk=-3, Δ2=-3  s=2
58
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Bảng đơn hình
Chọn s=2
59
II. Thuật toán đơn hình
3. Phương pháp đơn hình


Bước 4: Điều chỉnh PACB và lập bảng đơn
hình mới
Chọn vector đưa ra khỏi cơ sở
Tính  0  Min
x
0
j
x js
j  J 0 , x js  0
0 

x
0
r
( r  J 0 , x rs  0 )
x rs
Ar bị loại khỏi cơ sở, xrs là trục phép biến đổi
60
II. Thuật toán đơn hình
3. Phương pháp đơn hình


Bước 4: Điều chỉnh PACB và lập bảng đơn
hình mới
Chọn vector đưa ra khỏi cơ sở
j=5, 20/1 = 20
j=6, 12/2 = 6
 r=6
61
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Biến đổi bảng
s=2
r=6
62
II. Thuật toán đơn hình
3. Phương pháp đơn hình


Bước 4: Điều chỉnh PACB và lập bảng đơn
hình mới
Biến đổi bảng
• Để tính dòng ứng với vector đưa vào (chứa
xs) trong bảng mới, lấy dòng ứng vector
loại ra (chứa xr) chia cho phần tử trục
• Để tính dòng ứng với xj trong bảng mới, ta
lấy dòng trừ đi dòng chuẩn sau khi nhân nó
với xjs
• Để tính dòng cuối bảng, ta lấy dòng cuối
trừ đi dòng chuẩn sau khi nhân nó với Δs
63
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Biến đổi bảng
s=2
r=6
Tính dòng vector đưa vào
64
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Biến đổi bảng
s=2
r=6
Tính dòng vector đưa vào
65
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Biến đổi bảng
s=2
r=6
Tính lại giá trị Δ
66
II. Thuật toán đơn hình
3. Phương pháp đơn hình
67
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Biến đổi bảng
Bảng mới
68
II. Thuật toán đơn hình
3. Phương pháp đơn hình

Thực hiện các bước tiếp theo
Thuật toán kết thúc, do các giá trị Δk>0 (kJ0),
do đó phương án x=(0,6,24,0,62,0) là
phương án tối ưu, đạt max tại 42
69
II. Thuật toán đơn hình
3. Phương pháp đơn hình


Nếu có nhiều vector thỏa mãn điều kiện đưa
ra, đưa vào thì chọn một trong các vector đó
Trường hợp bài toán suy biến thì θ0 có thể
bằng 0, khi đó chọn θ0=0 và thực hiện bình thường
70
II. Thuật toán đơn hình
4. Ví dụ
Ví dụ 2:
f(x) = - 2x1 - 6x2 + 8x3 – 5x4
x1 + 2x2 – 3x3 + x4
-2x1 + x2 + x3 - 5x4 + x5
4x1 + 7x2 - 8x3 + 2x4
- x6
xj ≥ 0 (j=1.6)
 min
=8
=2
=20
71
II. Thuật toán đơn hình
Ví dụ 2
Biến đổi thành dạng dễ tìm PACB
1
-2
4
2
1
7
-3
1
-8
1
-5
2
0
1
0
0
0
-1
8
2
20
1
0
0
2
5
1
-3
-5
-4
1
-3
2
0
1
0
0
0
1
8
18
12
72
II. Thuật toán đơn hình
Ví dụ 2
Hệ Cơ Phương
số sở
án
x1
x2
x3
x4
x5
x6
-2
-2
x1
8
1
-6
2
8
-3
-5
1
0
0
0
0
0
x5
18
0
5
-5
-3
1
0
0
x6
12
0
1
-4
2
0
1
f(x)
-16
0
2
-2
3
0
0
73
II. Thuật toán đơn hình
Ví dụ 2
Hệ
số
Cơ
sở
Phương
án
x1
x2
x3
x4
x5
x6
-2
-2
x1
2
1
-6
1.5
8
-1
-5
0
0
0
0
-0.5
0
x5
36
0
6.5
-11
0
1
1.5
-5
x4
6
0
0.5
-2
1
0
0.5
f(x)
-34
0
0.5
4
0
0
-1.5
K=3, Δk = 4, xjk <0 (jJ0), Hàm mục tiêu
không bị chặn
74
II. Thuật toán đơn hình
4. Ví dụ
Ví dụ 3:
f(x) = - 2x1 + 3x2 + x3  max
2x1 - x2 + x3
≤ 18
3x1 + x2 - 2x3
≤ 20
x1 + 2x2
≤ 12
xj ≥ 0 (j=1.3)
Đây là một bài toán dạng chuẩn, cần biến đổi
thành dạng chính tắc để áp dụng thuật toán
75
II. Thuật toán đơn hình
Ví dụ 3:
f(x) = 2x1 - 3x2 - x3  min
2x1 - x2 + x3 +x4
= 18
3x1 + x2 - 2x3
+ x5
= 20
x1 + 2x2
+x6 = 12
xj ≥ 0 (j=1.6)
Bài toán dạng chính tắc, áp dụng thuật giải đơn
hình
76
II. Thuật toán đơn hình
Ví dụ 3:
Phương án cực biên ban đầu:
x0=(0,0,0,18,20,12)
Xây dựng bảng đơn hình
77
II. Thuật toán đơn hình
Ví dụ 3:
Hệ Cơ Phư
số sở ơng
án
x1
x2
x3
x4
x5
x6
2
-1
1
0
1
0
0
0
0
0
x4
18
2
-3
-1
0
x5
20
3
1
-2
0
1
0
0
x6
12
1
2
0
0
0
1
f(x)
0
-2
3
1
0
0
0
78
II. Thuật toán đơn hình
Ví dụ 3:
Hệ Cơ Phư
số sở ơng
án
x1
x2
x3
x4
x5
x6
-3
0
-1
1
0
1
0
0
0
0.5
0
x4
24
2
2.5
0
x5
14
2.5
0
-2
0
1
-1
-3
x2
6
0.5
1
0
0
0
0.5
f(x)
-18
-3.5
0
1
0
0
-2
79
II. Thuật toán đơn hình
Ví dụ 3:
Hệ Cơ Phư
số sở ơng
án
x1
x2
x3
x4
x5
x6
-3
0
-1
1
0
1
0
0
0
0.5
-1
x3
24
2
2.5
0
x5
62
7.5
0
0
2
1
0.5
-3
x2
6
0.5
1
0
0
0
0.5
f(x)
-42
-6
0
0
-1
0
-2
80
II. Thuật toán đơn hình
Ví dụ 3:
Bài toán có nghiệm x=(0,6,24,0,62,0)
Bài toán ban đầu có nghiệm x=(0,6,24)
81
III. Tìm phương án xuất phát
Trong bài toán thực tế việc tìm được phương án
cực biên, xuất phát không dễ dàng.
Sử dụng các phương pháp khác nhau
1. Phương pháp đơn hình hai pha
Ý tưởng: Công thêm vào ràng buộc thứ i biến ti
vào vế trái. ti ≥ 0. Hàm mục tiêu của phương
án mới là ∑ti  min. Sau khi giải quyết bài
toán tối ưu này (có sẵn phương án cực biên)
thì sẽ có dạng xt=(x,t=0). Lúc đó x sẽ là
phương án cực biên cho bài toán ban đầu.
Nếu hàm mục tiêu là  0 thì bài toán ban đầu
không có phương án
82
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
n
f ( x) 
x
j
c j  max (min)
j 1
n
a
ij
x j  b i ( i  1 .m )
j 1
x j  0 (j  1.n)
m
P(x, t) 
t
i
 min
i 1
n
a
ij
x j  t i  b i ( i  1 .m )
j 1
x j  0 (j  1.n), t i  0 ( i  1 .m )
83
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
f(x) = c1x1 + c2x2 +...+cnxn  min (max)
a11x1 + a12x2 +....+ a1nxn = b1
a21x1 + a22x2 +....+ a2nxn = b2
.......
am1x1 + am2x2 +....+ amnxn = bm
xj  0, j=1,2,...,n
Bài toán phụ: P(x,t) = t1 + t2 + … + tm  min
a11x1 + a12x2 +....+ a1nxn + t1= b1
a21x1 + a22x2 +....+ a2nxn + t2= b2
.......
am1x1 + am2x2 +....+ amnxn + tm= bm
xj  0, j=1,2,...,n; ti  0, i=1,2, …, m
84
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
Ví dụ:
f(x) = 3x1 + 4x2 + 2x3 + 2x4  min
2x1 + 2x2
+ x4
= 28
x1 + 5x2 + 3x3 - 2x4 + x5 = 31
2x1 - 2x2 + 2x3 + x4
= 16
Xj ≥ 0, (j=1.5)
 Xây dựng bài toán phụ, do biến x5 chỉ xuất
hiện trong một bài điều kiện ràng buộc nên
chỉ cần thêm hai giá trị t1, t2 vào hai ràng
buộc còn lại trong bài toán phụ
85
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
Ví dụ: Xây dựng phương án phụ
P(x,t) = t1 + t2  min
2x1 + 2x2
+ x4
+t1
= 28
x1 + 5x2 + 3x3 - 2x4 + x5
= 31
2x1 - 2x2 + 2x3 + x4
+ t2 = 16
Xj ≥ 0, (j=1.5), t1, t2 ≥ 0
 Phương án cực biên xuất phát
 (x1, x2, x3, x4, x5, t1, t2) = (0,0,0,0,31,28,16)
86
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
Ví dụ: Lập bảng đơn hình cho bài toán phụ
(pha 1)
Hệ Cơ Phư x1
x2 x3 x4
x5
t1
t2
số sở ơng 0
án
0
0
0
0
1
1
0 x5 31
1
5
3
-2
1
0
0
1
t1
28
2
2
0
1
0
1
0
1
t2
16
2
-2
2
1
0
0
1
P
44
4
0
2
2
0
0
0
87
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
Ví dụ: Giải bài toán phụ bằng phương
pháp đơn hình
Hệ Cơ Phư
số sở ơng
án
x1
x2
x3
x4
x5
t1
t2
0
2
0
-2.5
0
1
1
0
1
-0.5
0
0
x5
23
0
0
6
1
t1
12
0
4
-2
0
0
1
-1
0
x1
8
1
-1
1
0.5
0
0
0.5
P
12
0
4
-2
0
0
0
-2
88
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
Ví dụ: Giải bài toán phụ bằng phương pháp đơn
hình
Hệ Cơ Phư x1
x2 x3
x4 x5
t1
t2
số sở ơng
0
0
0
0
0
1
1
n
á
0
x5
5
0
0
5 -2.5 1 -1.5
1
0
x2
3
0
1 -0.5 0
0 0.25 -0.25
0
x1
P
11
0
1
0
0
0
0.5
0
0.5
0
0
0
0.25 0.25
-1
-1
Tìm được phương án tối ưu (11,3,0,0,5,0,0)
89
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
Ví dụ:
f(x) = 3x1 + 4x2 + 2x3 + 2x4  min
2x1 + 2x2
+ x4 = 28
x1 + 5x2 + 3x3 - 2x4 + x5 = 31
2x1 - 2x2 + 2x3 + x4
= 16
Xj ≥ 0, (j=1.5)
 Phương án xuất phát:
 X=(11,3,0,0,5)
 J0=(A1,A2,A5)
 Các hệ số Xjk được xác định như ở bảng trên
90
III. Tìm phương án xuất phát
1. Phương pháp đơn hình hai pha
Ví dụ: Thay phương án tối ưu vào bài toán
chính (pha 2)
Hệ Cơ Phư
số sở ơng
án
0 x5
5
4
3
x1
x2
x3
x4
x5
t1
t2
3
4
2
2
0
1
1
0
0
5
-2.5
1
-1.5
1
x2
x1
3
11
0
1
1
0
-0.5
0.5
0
0.5
0 0.25 -0.25
0 0.25 0.25
f
45
0
0
-2.5 -0.5
0 0.75 -1.25
Giải bài toán tối ưu ban đầu với PACB đã có
91
III. Tìm phương án xuất phát
2. Phương pháp đánh thuế
Để có được phương án xuất phát ta thêm các
biến ràng buộc xn+1, …, xn+m với m phương
trình ràng buộc (nếu các phương trình ràng
buộc đã có vector đơn vị thì số biến giả sẽ
giảm tương ứng)
Hàm mục tiêu sẽ thay đổi với cộng – bài toán
min (trừ - cho bài toán max) với biến giả
nhân với M (số vô cùng lớn)
92
III. Tìm phương án xuất phát
2. Phương pháp đánh thuế
n
f ( x) 
x
j
c j  max
j 1
n
a
ij
x j  b i ( i  1 .m )
j 1
x j  0 (j  1.n)
n
f( x ) 
x
j 1
m
j
cj  M
x
ni
 max
i 1
n
a
ij
x j  x n  i  b i ( i  1 .m )
j 1
x j  0 (j  1.n), x n  i  0 ( i  1 .m )
93
III. Tìm phương án xuất phát
2. Phương pháp đánh thuế
 Nếu bài toán thêm biến mới và tham số M có
nghiệm
• Nghiệm có chứa ít nhất một thành phần
xn+1, …,xn+m khác 0 thì bài toán ban đầu vô
nghiệm
• Nghiệm không chứa thành phần xn+1,
…,xn+m khác 0 thì (x1, …, xn) của phương
án tối ưu bài toán có M sẽ là phương án tối
ưu ban đầu
 Nếu bài toán thêm biến mới và tham số M vô
nghiệm, thì bài toán ban đầu vô nghiệm
94
III. Tìm phương án xuất phát
2. Phương pháp đánh thuế
 Ví dụ:
 f(x) = 2x1+ x2- x3- x4→ min
x1-x2+2x3-x4=2
2x1+x2-3x3+x4=6
x1+x2+x3+x4=7
xj≥0, j=1.4

f(xm) = 2x1+x2-x3-x4 +M(x5+x6+x7) → min
x1-x2+2x3-x4+x5=2
2x1+x2-3x3+x4+x6=6
x1+x2+x3+x4+x7=7
xj≥0, j=1.7
95
III. Tìm phương án xuất phát
Ví dụ:
H C Phư
ệ ơ ơng
số sở án
x1
x2
2
1
M x5 2
1
-1
M x6 6
2
1
M x7 7
1
1
P 15M 4M- M-1
2
x3
x4
x5 x6 x7
-1
2
-3
1
1
-1 M M M
-1 1 0 0
1
0 1 0
1
0 0 1
M+ 0 0 0
1
96
III. Tìm phương án xuất phát
Ví dụ:
Hệ C Phư
số ơ ơng
sở án
x1
x2
x3
x4
x5
x6
x7
-1
2
-1
-1
M
M
0
M
0
2
2
x1
2
1
1
-1
M
x6
2
0
3
-7
3
1
0
M
x7
5
0
2
-1
2
0
1
0
0
P 7M+
4
0
5M-3 5-8M 5M1
97
III. Tìm phương án xuất phát
Ví dụ:
Hệ C
số ơ
sở
2 x1
-1 x4
M x7
P
Phư
ơng
án
2.7
0.7
3.7
(11
M+1
4)/3
x1
2
1
0
0
0
x2
x3
x4
x5 x6 x7
1
0
1
0
-2
-1
-0.3
-2.3
3.67
(11M
+8)/3
-1
0
1
0
0
M
M
M
0
0
1
0
98
III. Tìm phương án xuất phát
Ví dụ:
Hệ C Phư
số ơ ơng
sở án
x1
x2
x3
x4
x5 x6 x7
-1
0
-1
0
M
2
x1
3
1
1
0
-1 x4
3
0
1
0
1
-1 x3
1
0
0
1
0
P
2
0
-2
0
0
2
M
M
Phương án đã tối ưu
99
III. Tìm phương án xuất phát
Ví dụ:
Kết luận về bài toán:
xm=(3,0,1,3,0,0,0) là phương án tối ưu của bài
toán mở rộng
f(xm)=2
Vậy bài toán ban đầu (trước khi mở rộng) có
nghiệm:
x=(3,0,1,3)
f(x)=2
100
Chú ý khi xây dựng bảng xuất
phát
Theo công thức 1.8 thì
Xk=AJ-1Ak
Vì thế trong trường hợp ma trận AJ không là
ma trận E, thì cần phải tính lại ma trận Xk
trong phần khởi tạo.
101
Chú ý khi xây dựng bảng xuất
phát
Ví dụ:
f(x) = 3x1 + 4x2 + 2x3 + 2x4  min
2x1 + 2x2
+ x4 = 28
x1 + 5x2 + 3x3 - 2x4 + x5 = 31
2x1 - 2x2 + 2x3 + x4
= 16
Xj ≥ 0, (j=1.5)
 Phương án xuất phát:
 X=(11,3,0,0,5)
 J0=(A1,A2,A5)
 Do vậy ma trận cơ sở không là ma trận E,
cần tính ma trận nghịch đảo AJ0-1
102
Chú ý khi xây dựng bảng xuất
phát
Tính toán các ma trận Xk
Xk=AJ0-1Ak
1
2
2
5
2
-2
1
0
0
0
1
0
3
0
2
-2
1
1
0.5 0.5
-0.5 0
5 -2.5
1
0
0
0
0.25
0.25
0
0.25 -0.25
1
-1.5
1
0
0
1
103
Tính ma trận nghịch đảo

Phương pháp định thức
Ví dụ:
X=(11,3,0,0,5)
 J0=(A1,A2,A5): do ma trận không là ma
trân E nên tính ma trận nghịch đảo
1
5
1
D=-8
0
0
-8
2
2
0
A*=
-2
-2
12
2
-2
0
-2
2
-8
104
Tính ma trận nghịch đảo

Phương pháp định thức
Ví dụ:
Tính chuyển vị
Chia cho định thức
0
0
-8
-2
-2
12
-2
2
-8
A-1=
0
0.25 0.25
0
0.25
1
-1.5
0.25
1
105
Tính ma trận nghịch đảo
Phương pháp biến đổi ma trận

J0=(A1,A2,A5): Phương pháp biến đổi
tuyến tính
1
2
2
5
2
-2
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
5
-8
-12
1
-2
-2
1
-2
-2
0
1
0
0
0
1
106
Tính ma trận nghịch đảo
Phương pháp biến đổi ma trận
1
5
1
1
0
0
0
0
1
0
0.5
4
0.5
4
-0.5
-6
0.25
4
1
0
0
5
1
0
1
0.5
1
1
0.5
1
0
-0.5
-1.5
0
0.25
1
107
Tính ma trận nghịch đảo
Phương pháp biến đổi ma trận
1
0
0
0
1
0
-1.5
0
1
-1.5
0
1
2.5 -1.25
0.25 -0.25
-1.5
1
1
0
0
0
1
0
0
0
1
0
0
1
0.25 0.25
0.25 -0.25
-1.5
1
108
Quy hoạch tuyến tính
Bài tập:
109
Kết thúc quy hoạch tuyến tính
110