Chương 1: Bài toán quy hoạch tuyến tính.Bao gồm phần mở đầu nhập môn và phương pháp hình học+bài tập,phương pháp đơn hình va đơn hình mở rộng và bài tập.Các ví dụ cụ thể,dễ hiểu
Trang 1Thời lượng: 30 tiết GV: Lê Văn Minh
1
TÀI LIỆU THAM KHẢO
[1] NGUYỄN THÀNH CẢ, Tối ưu hóa quy
hoạch tuyến tính NXB Lao Động 2010
Trang 2Tối ưu hóa nói chung và Quy hoạch tuyến tính nói
riêng là một phần kiến thức không thể thiếu cho tất
cả những người làm việc trong lĩnh vực ứng dụng
của khoa học và kỹ thuật Đặc biệt với sinh viên tin
học, nó là kiến thức căn bản của nhiều ứng dụng,
thể hiện thế mạnh và ưu việt của các phát triển tin
học vào thực tế
NỘI DUNG
Chương 1 Bài toán quy hoạch tuyến tính
Chương 2 Bài toán đối ngẫu
Chương 3 Bài toán vận tải
4
Trang 3BÀI TOÁN QUY HOẠCH
TUYẾN TÍNH
MỤC TIÊU CHƯƠNG
1. Biết được các khái niệm về bài toán QHTT
2. Hiểu được PP hình học giải bài toán QHTT(hai
biến)
3. Hiểu được PP đơn hình
6
Trang 41.1 Bài toán dẫn đến bài toán QHTT
1.2 Bài toán QHTT tổng quát
1.3 Phương pháp hình học
1.4 Các dạng đặc biệt của bài toán QHTT
1.5 Phương pháp đơn hình
1.6 Phương pháp đơn hình mở rộng
1.1 Bài toán dẫn đến bài toán QHTT
Bài toán sản xuất tối ưu:
Một Công ty sản xuất bánh trung thu cần sản xuất
3 sản phẩm bánh từ 3 loại nguyên liệu chính khác
nhau, với các thông số như sau:
8
Trang 5Giả sử các sp sau khi sản xuất được tiêu thụ hết.
Hãy lập kế hoạch sản xuất tối ưu cho Công ty?
nguyên liệu nguyên liệu(g) L1 L2 L3
Bài toán sản xuất tối ưu
Gọi xj ,j = 1,2,3 là số đơn vị sản phẩm bánh loại
cần sản xuất Ta có điều kiện
Tổng khối lượng nguyên liệu các loại dùng để sản
Trang 6Mô hình toán học của bài toán san xuất tối ưu:
Bài toán sản xuất tối ưu tổng quát
Trong đó: gọi là hệ số công nghệ
12
a
Trang 7(1.1.1) là một dạng bài toán quy hoạch tuyến tính.
1 1
Bài toán xác định khẩu phần ăn tối ưu
Bài toán pha trộn
Bài toán bổ nhiệm …
14
Trang 8Bài toán QHTT tổng quát
(1.2)
Bài toán QHTT
Phương án
Một vector n chiều thỏa hệ ràng buộc (1.2)
được gọi là một PA chấp nhận được hay PA Tập
hợp tất cả các PA của bài toán QHTT gọi là tập
phương án hay miền ràng buộc.
16
* n
x
Trang 9Phương án cơ bản
Một PA thỏa mãn với dấu đẳng thức ít nhất n ràng
buộc được gọi là phương án cơ bản Một PACB
thoản mãn đúng n ràng buộc với dấu đẳng thực gọi
là PACB không suy biến.
Phương án tối ưu
Một phương án thỏa luôn hàm mục tiêu của (1.2)
gọi là PA tối ưu
Trang 10- Tập phương án của (1.2.1) là:
- Phương án:
là 2 phương án cơ bản của bài toán (1.2.1)
- Phương án: x0=(7,3,0) là PATƯ và Zmax=11
Tính chất của bài toán QHTT
Nếu bài toán max(min) có phương án và hàm
mục tiêu bị chặn trên (dưới) thì có phương án
tối ưu
Nếu bài toán QHTT có nhiều hơn một PATƯ thì
có vô số PATƯ
Nếu x0và x1là 2 PATƯ thì bao lồi của nó là:
cũng là PATƯ của bài toán này
20
0 (1 ) ,1 [0,1]
xx x
Trang 11Xét bài toàn QHTT 2 biến:
1 1 2 2 2
Bước 1: Vẽ tập phương án của bài toán
- Vẽ các Rb ứng với dấu “=“ lên mptđ Ox1x2
- Lựa chọn các nửa mp thỏa mãn Rb với dấu
bất đẳng thức
- Tìm miền giao của các nửa mp này ta sẽ được
tập phương án của bài toán (Ω)
22
Trang 12Bước 2:Vẽ đường mức △(đường hàm mục tiêu)
- Vẽ đường đại diện cho đường hàm mục tiêu
- Xác định vector pháp tuyến n của △ có chiều
làm cho hàm mục tiêu Z tốt hơn
1.3 Phương pháp hình học
Bước 3: Xác định lời giải bài toán
Cho △ tịnh tiến theo vector pháp tuyến n:
- Nếu △ luôn tiếp xúc với tập PA (Ω) thì bài
toán không có lời giải
- Nếu △ có điểm tới hạn với (Ω) và (Ω) nằm về
một phía của △ thì bài toán có PATƯ là điểm tới
hạn này
24
Trang 13Ví dụ 1.3.1 Giải bài toán QHTT sau
Ta có tập PA của bt là đa giác ABCDE.
Tịnh tiến theo hướng vector pháp tuyến n, ta thấy điểm tới
Trang 14Ví dụ 1.3.2: Giải bài toán QHTT sau
1.3 Phương pháp hình học
Vẽ tập PA của bài toán
Vẽ đường mức : Chọn (0,0)∈() thay vào Z được
Z 0 =0
28
4 2
1 2
Trang 15Tập PA của bt
1.3 Phương pháp hình học
Cho △ di chuyển theo hướng vector pháp tuyến n
30
Trang 16Ta thấy △ có vị trí tới hạn với (Ω) là đỉnh B(2, 4)
- Bài toán Z(min) không có lời giải
- Bài toán Z(max) có PATƯ:(7/2, 3), Zmax=16
Trang 17Tập PA
1.3 Phương pháp hình học
Chú ý:
1. Tập PA của bài toán QHTT có thể là tập rỗng,
chỉ có một điểm, là đa giác lồi giới nội hoặc
không giới nội
2. Nếu tập PA của bài toán là một đa giác lồi giới
nội thì mỗi đỉnh của đa giác lồi là PACB của bài
toán Do hệ ràng buộc của bài toán QHTT là
34
Trang 183 Từ đó, nếu tập phương án là một tập lồi đa diện
thì phương án tối ưu của bài toán đạt được ít
nhất tại một điểm trong miền
4 Trường hợp hàm mục tiêu không bị chặn trong
miền ràng buộc thì bài toán không có phương án
tối ưu (Hình 2a và Hình 2b)
Phương pháp hình học
5 Nếu miền ràng buộc không có đỉnh thì bài toán
không có phương án hoặc có phương án nhưng
không có phương án tối ưu là đỉnh (Hình 2c)
Trang 196 Nếu miền Rb của bài toán là đa giác lồi giới nội
thì bước 2 và bước 3 của PP hình học có thể thay
thế bằng cách đánh giá sau:
- Vì miền Rb là đa giác lồi bị chặn nên mỗi đỉnh
của đa giác là PACB của bài toán Như vậy ta chỉ
cần tìm tọa các đỉnh của miền RB và thay các PA
này vào hàm mục tiêu
- So sánh các giá trị mục tiêu ứng với các PA đó,
PATƯ của bài toán sẽ là PA làm cho giá trị hàm
mục tiêu max hoặc min tương ứng
1.3 Phương pháp hình học
Áp dụng chú ý trên cho Ví dụ 1.3.1
Do tập PA là đa giác lồi giới nội OABCD, nên các
đỉnh O(0,0), A(0,4), B(2, 4), C(3, 2) và D(3, 0) là các
PACB của bài toán Thay Các PA này vào hàm mục
tiêu ta thấy BT đạt giá trị tối ưu tại đỉnh B(2, 4)
38
Trang 201.4.1 Bài toán QHTT dạng chính tắc
1.4.2 Biến đổi về dạng chính tắc
1.4.3 Bài toán QHTT dạng chuẩn
1.4.4 Biến đổi về dạng chuẩn
1.4.5 Bài toán QHTT tương đương
n
ij j i j
j
Trang 21Ma trận điều kiện – Vector điều kiện
Ma trận A =(aij), (i=1, ,m; j=1, ,n) là ma trận hệ số
của hệ Rbc được gọi là ma trận điều kiện của bài
toán QHTT (1.4.1) Cột j của ma trận A, kí hiệu: Aj
là cột hệ số của biến xj được gọi là vector điều kiện
Trang 22Điều kiện cần và đủ để phương án x*=(x1, ,xn) là
phương án cơ bản của bài toán QHTT (1.4.1) là hệ
vector điều kiện {Aj/ x*
j>0} độc lập tuyến tính
Ví dụ 1.4.1b:Trong ví dụ (1.4.1a) ở trên thì PA
là một PACB, vì hệ vector
độc lập tuyếntính
Trang 23Chú ý: Bài toán nhận được từ bài toán gốc bằng
cách thêm vào biến phụ được gọi là bài toán phụ
1 Hệ số của biến phụ ở hàm mục tiêu bằng 0
2 Bài toán phụ là bài toán tương đương với bài
toán gốc, i.e.,
Nếu bài toán phụ không có phương án tối ưu thì
bài toán gốc cũng không có phương án tối ưu
46
Trang 24Nếu bài toán phụ có phương án tối ưu thì bài
toán gốc cũng có phương án tối ưu và phương án
tối ưu của bài toán gốc là phương án tối ưu của
bài toán phụ bỏ đi thành phần biến phụ và đổi
các giá trị của biến mới về biến cũ theo công
thức đổi biến (nếu có)
1 2 3 4
'
1 2 3 '
Trang 251.4.3 Bài toán QHTT dạng chuẩn
Biến cơ sở ứng với ràng buộc chính thứ i là biến có
hệ số bằng 1 ở ràng buộc đó và hệ số bằng 0 ở các
ràng buộc còn lại
Trong (1.4.3) thì các biến xi, (i=1, ,m ) là các biến
cơ sở, các biến xm+1, , xnlà các biến không cơ sở
Ví dụ 1.4.3
Bài toán ở ví dụ (1.4.1a) là bài toán QHTT dạng
50
Trang 26Một bài toán QHTT dạng chính tắc nhưng chưa
phải dạng chuẩn, thì ta biến đổi về dạng chuẩn
như sau:
Nếu Rbc có vế phải <0 thì nhân 2 vế Rbc này
với (-1)
Nếu Rbc không có biến cơ sở: Thì cộng thêm
vào vế trái của Rbc đó một biến không âm để
làm biến cơ sở (biến này gọi là biến giả ).
1.4.4 Biến đổi về dạng chuẩn
Khi thêm vào biến giả thì hệ số của biến giả ở hàm
mục tiêu tương ứng sẽ là (-M) đối với bài toán max
và là (M) đối với bài toán min, trong đó M là số
dương lớn tùy ý
Bài toán dạng chuẩn nhận được từ bài toán gốc
bằng cách thêm vào các biến giả gọi là bài toán mở
rộng.
52
Trang 27Nhận xét: Bài toán mở rộng không tương
đương với bài toán gốc, i.e., lời giải của bài toán
mở rộng chưa chắc là lời giải của bài toán gốc:
Nếu bài toán mở rộng không có lời giải thì
bài toán gốc cũng không có lời giải
Nếu bài toán mở rộng có phương án tối ưu,
nhưng thành phần biến giả trong phương án
tối ưu khác 0 thì bài toán gốc không có lời
giải
1.4.4 Biến đổi về dạng chuẩn
Nếu bài toán mở rộng có phương án tối ưu và
tất cả các thành biến giả trong phương án tối
ưu đều bằng 0 thì bài toán gốc có phương án
tối ưu Khi đó phương án tối ưu của bài toán
gốc là phương án tối ưu của bài toán mở rộng
bỏ đi thành phần biến giả và biến phụ (nếu
có)
54
Trang 28Ví dụ 1.4.4: Biến đổi bài toán sau về dạng chuẩn.
1.4.5 Bài toán QHTT tương đương
Giả sử ta có bài toán QHTT:
thì bài toán QHTT tương đương của nó là:
56
1
max (*)
Trang 29Nội dung thuật toán:
Xuất phát từ một PACB x0 , ta tìm cách đánh giá
xem x0 có phải là PATƯ của bài toán chưa Nếu
chưa thì ta phải tìm cách xây dựng một PACB mới
x1 tốt hơn và đánh giá x1 có tối ưu chưa Quá trình
này cứ tiếp tục cho đến khi tìm được PATƯ hoặc
phát hiện ra bài toán không có PATƯ Quá trình
chuyển từ PACB này sang PACB tốt hơn được gọi
là một bước lặp
Thuật toán đơn hình
Do yêu cầu của thuật toán là xuất phát từ một
PACB nên để đơn giản ta xét bài toán dạng chuẩn:
58
1
max , 1, (1.5.1)
n m
Trang 30Bước 1: Xây dựng PACB xuất phát
- Cho các biến không cơ sở bằng 0, i.e., cho
xm+1=xm+2=….xn=0 Suy ra: xi=bi,( i=1, ,m)
Vậy: PACB xuất phát là
- Giá trị mục tiêu xuất phát:
m
i i i
Thuật toán đơn hình
Bước 2: Xây dựng tiêu chuẩn tối ưu
Gọi
là hệ số ước lượng của biến xj
Nếu △j≥0, j thì PACB hiện hành tối ưu
Nếu k: k< 0 thì PACB hiện hành chưa tối ưu
Chú ý:Đối với các biến cơ sở thì △j=0
Trang 31Xét PA x bất kỳ của bài toán (1.5.1) Ta có
Trang 32Bước 3: Xây dựng phương án cơ bản tốt hơn
Trường hợp: △m+k< 0 và có ít nhất một aim+k>0 thì
bài toán giải tiếp
Chọn biến không cơ sở có:
Thuật toán đơn hình
Bước 4: Thực hiện lại bước 2
Chú ý:
- Tỷ số λ0gọi là tỷ số đơn hình (cột m+k)
- Trong mỗi bước lặp thì có một biến từ ngoài cơ
sở vào làm cơ sở và một biến từ trong cơ sở đi ra
khỏi cơ sở và mỗi bước lặp là một phép biến đổi
Gauss – Jordan
64
Trang 33 Cột ci: cột hệ số hàm mục tiêu của biến cơ sở xi
Cột bi: cột PA ứng với các biến cơ sở xi
Dòng thứ 1: Ghi các biến xjcủa bài toán.
Dòng thứ 2: Ghi hệ hàm mục tiêu của các biến xj
Dòng △j: Ghi các hệ số ước lượng của xj.
66
Trang 34Chẳng hạn:
11 21
1
m m
a a
Thuật toán đơn hình dạng bảng
Ví dụ 1.5.1:Giải bài toán QHTT sau:
Ta thêm vào 3 biến phụ x4, x5, x60 vào 3 Rb chính
Trang 352 1 2
4 2 2
1 0 0
0 1 0
0 0 1
Trang 360 0
1 1/4 0 0 1/2
1/2 8
0 0 1
26 -1/2 1 0
0 1 2
14 -1/2 0 1
96 -4-4 0 3 0 0
1/2 0 1
4
Trang 37
-Nếu △j≤0, j thì PACB hiện hành tối ưu.
Nếu k: k > 0 thì PACB hiện hành chưa tối ưu
2 Xây dựng PACB mới
Chọn biến vào CS: max{△k/△k>0}
Chọn biến ra giống bài toán Z(max)
Trang 382 1 3
1 2 3
2 -1 1
1 0 0
0 1 0
0 0 1
0
0
0
4 5 6
-1 0 0 0
(3)
2 1 3
Trang 392 1/2 1 1/2 0 0 0
3 3/2 -2 -1/2 1 0 0
0 3/2 -2 -3/2 0 1
-3
0 0
2 3 0
-6
-3
0 0
0
1/2 3/2 3/2 2
-7/2
-3
0 0
1 -2 -2
-4
-3
0 0
1/2 -1/2 -3/2
-3/2 0 0
0 -7/2 -4 -3/2 0 0
- -
1.6 Thuật toán đơn hình mở rộng
Là thuật toán đơn hình giải bài toán mở rộng
(bài toán có biến giả)
Chú ý:
- Khi một biến giả được ra khỏi cơ sở thì sẽ
không được phép đưa trở lại, nên khi lập bảng
đơn hình cho bài toán mở rộng ta không cần ghi
vector đk biến giả vào bảng
78
Trang 40tính △j liên quan đến biến giả.
- Do hệ số hàm mục tiêu biến giả là +M hoặc –
M, (M>0 lớn tùy ý) nên khi so sánh △jta chỉ cần
so sánh hệ số đi theo M
- Khi tính △j dòng 2 ta khong cần trừ hệ số
hàm mục tiêu cj và khi xét tiêu chuẩn tối ưu ta ưu
tiên dòng 2
Thuật toán đơn hình mở rộng
Ví dụ 1.6.1 Giải bài toán QHTT sau:
Trang 41Ta sử dụng quan hệ bài toán max và min
Bài toán mở rộng của bt tương đương:
trong đó: x5, x6, x7là các biến phụ, x8biến giả
-5 -1 -6
-9 1 7
6 3 -8 0
0 1 -1
0 0
0
0
2 10
-1 3
-5 -1
-9 1
3 0
1 0
Trang 42Vì j≤j nên PACB ở bảng 3 đã tối ưu PATƯ
của bài toán mở rộng x*=( 0,30,40,0,0,512,0,0,0).
Trang 43Do thành phần biến giả x8trong PATƯ bằng 0, nên
bài toán tương đương có PATƯ:
x*=( 0, 30, 40, 0) và Z’min= -10Suy ra: PATƯ của bài toán đã cho:
2 3 12 1
x x
x x x