Bài giảng Tối ưu hóa và quy hoạch tuyến tính - Chương 1: Bài toán quy hoạch tuyến tính, cung cấp cho người học những kiến thức như: Bài toán dẫn đến bài toán quy hoạch tuyến tính; Bài toán quy hoạch tuyến tính tổng quát, chính tắc, chuẩn tắc; Phương pháp hình học; Các dạng đặc biệt của bài toán quy hoạch tuyến tính; Phương pháp đơn hình; Phương pháp đơn hình mở rộng (ko thi). Mời các bạn cùng tham khảo!
Trang 1TUYẾN TÍNH
Thời lượng: 30 tiết
ltnhan1001@gmail.com
1
Trang 2[1] NGUYỄN THÀNH CẢ, Tối ưu hóa quy
hoạch tuyến tính NXB Lao Động 2010
2
Trang 3Tối ưu hóa và Quy hoạch tuyến tính
Tố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ế
Trang 4NỘI DUNG
Chương 1 Bài toán quy hoạch tuyến tính (bài 1,2- Tuần 1,2)
Chương 2 Bài toán đối ngẫu (bài 3-tuần 3)
Chương 3 Bài toán vận tải (Bài 4-Tuần 4)
Trang 5CHƯƠNG 1
BÀI TOÁN QUY HOẠCH
TUYẾN TÍNH
Trang 6MỤ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 (THI: 5đ)
Trang 7NỘI DUNG CHƯƠNG
1.1 Bài toán dẫn đến bài toán QHTT
1.2 Bài toán QHTT tổng quát, chính tắc, chuẩn tắc
Trang 81.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:
Trang 9Khối lượng nguyên liệu(g)
Loại bánh L1 L2 L3 Đường 10000 10 20 20 Bột 50000 20 30 30 Sữa 30000 20 30 40 Giá bán 1 đv sản phẩm ($) 2 3 4
9
Trang 10Bà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 xuất 3 sản phẩm:
Trang 11Bài toán sản xuất tối ưu
Mô hình toán học của bài toán san xuất tối ưu:
Trang 12Bài toán sản xuất tối ưu tổng quát
Trong đó: gọi là hệ số công nghệ aij
Trang 13Mô hình toán học của bài toán QHTT
n
ij j i j
Trang 14Một số bài toán khác
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 …
Trang 151.2 Bài toán QHTT
Bài toán QHTT tổng quát
(1.2)
Trang 16Bà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
* n
Trang 171.2 Bài toán QHTT
Phương án cơ bản (PACB)
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ả 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.1) gọi là PA tối ưu
Trang 191.2 Bài toán QHTT
- 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 Thật vậy:
Trang 20Tí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 x0 và x1 là 2 PATƯ thì bao lồi của nó là:
cũng là PATƯ của bài toán này
Trang 211.3 Phương pháp hình học
Xét bài toàn QHTT 2 biến:
2 1
Trang 221.3 Phương pháp hình học
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 (Ω)
Trang 231.3 Phương pháp hình học
- Vẽ đường đại diện cho đường hàm mục tiêu
- Chọn điểm bất kì (x0
1, x02) trong tập PA (Ω) Thay điểm này vào hàm mục tiêu Z và tìm Z0 Sau
đó vẽ đường thẳng: c1x1+ c2x2 = Z0
- Xác định vector pháp tuyến n= (c1,c2) của
△ có chiều làm cho hàm mục tiêu Z tốt hơn
Trang 241.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
Trang 251.3 Phương pháp hình học
Ví 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 hạn của và tập PA là cạnh BC
Trang 27x
Trang 281.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
n
Trang 291.3 Phương pháp hình học
Tập PA của bt
Trang 301.3 Phương pháp hình học
Cho △ di chuyển theo hướng vector pháp tuyến n
Trang 321.3 Phương pháp hình học
Ví dụ 1.3.3: Giải bài toán QHTT sau:
ĐS:
- 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 331.3 Phương pháp hình học
Tập PA
Trang 341.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à hữu hạn nên đa giác lồi cũng chỉ có hữu hạn đỉnh
Trang 351.3 Phương pháp hình học
3 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)
Trang 36Phươ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 371.3 Phương pháp hình học
6 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
Trang 381.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)
Vậy PATƯ của bt là: x*=(2, 4) và Zmax=26
Trang 391.4 Các dạng đặc biệt của bài toán QHTT
1.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
Trang 401.4.1 Bài toán QHTT dạng chính tắc
Bài toán QHTT dạng chính tắc là bài toán QHTT
có ràng buộc chính (Rbc) ở dạng đẳng thức và ràng buộc dấu (Rbd) không âm
n
ij j i j
j
Z c x
a x b i m
Trang 411.4.1 Bài toán QHTT dạng chính tắc
Ma 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
của biến xj
Trang 44Bài toán QHTT dạng chính tắc
Định lý: Xét bài toán QHTT chính tắc (1.4.1)
Đ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ến tính
Trang 461.4.2 Biến đổi về dạng chính tắc
Chú ý: 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
Trang 471.4.2 Biến đổi về dạng chính tắc
Nế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ó)
Trang 491.4.3 Bài toán QHTT dạng chuẩn
Trang 501.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, , xn là 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
chuẩn với các biến cơ sở là: x2, x4 và x6
Trang 511.4.4 Biến đổi về dạng chuẩn
Mộ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ả ).
Trang 521.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
Trang 531.4.4 Biến đổi về dạng chuẩn
Nhậ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
Trang 541.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ó)
Trang 551.4.4 Biến đổi về dạng chuẩn
Ví dụ 1.4.4: Biến đổi bài toán sau về dạng chuẩn
Trang 561.4.5 Bài toán QHTT tương đương
Giả sử ta có bài toán QHTT:
Trang 571.5 Thuật toán đơn hình
Nộ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
Trang 58Thuậ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:
Trang 59Thuật toán đơn hình
Bướ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:
Trang 60Thuậ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 61Tiêu chuẩn tối ưu
Xét PA x’ bất kỳ của bài toán (1.5.1) Ta có
Trang 62Tiêu chuẩn tối ưu
Trang 63Thuật toán đơn hình
Bướ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ó:
Trang 64Thuật toán đơn hình
Chú ý:
- Tỷ số λ0 gọ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
Trang 65Thuật toán đơn hình dạng bảng
Trang 66Thuật toán đơn hình dạng bảng
Ghi chú:
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 xj củ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
Cách tính △j= tích vô hướng cột c i với vector điều
kiện a ij của biến xj trừ đi hệ số c j của xj
Trang 67Thuật toán đơn hình dạng bảng
Trang 68Thuậ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 thứ 1,2,3 tương ứng ta sẽ có bt dạng chuẩn
Trang 69Thuật toán đơn hình dạng bảng
Trang 71Thuật toán đơn hình dạng bảng
Trang 72Thuật toán đơn hình dạng bảng
Trang 731 Tiêu chuẩn tối ưu
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)
73
Trang 74Thuật toán đơn hình dạng bảng
Trang 77Thuật toán đơn hình dạng bảng
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
1 0
-3/2 0 0
0 -7/2 -4 -3/2 0 0
- -
-*
min
(2,0,0), Z 6
Trang 781.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
- Dòng △j chia làm 2 dòng: dòng 1 dùng tính
△j liên quan biến bài toán và biến phụ (nếu có), dòng 2:
Trang 79Thuật toán đơn hình mở rộng
tí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 △j ta chỉ cần
so sánh hệ số đi theo M
- Khi tính △j dòng 2 ta không 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 trước
Trang 80Thuật toán đơn hình mở rộng
Ví dụ 1.6.1 Giải bài toán QHTT sau:
Trang 81Thuật toán đơn hình mở rộng
Ta 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, x7 là các biến phụ, x8 biến giả Các biến cơ sở: x5, x6 và x8
Trang 824
3 -1
Trang 84Thuật toán đơn hình mở rộng
Giải tiếp bài toán ta được PATƯ của bài toán mở
rộng x*=( 0,30,40,0,0,512,0,0,0)
Do thành phần biến giả x8 trong PATƯ bằng 0, nên bài toán tương đương có PATƯ:
x*=( 0, 30, 40, 0) và Z’min= -10 Suy ra: PATƯ của bài toán đã cho:
x*=( 0, 30, 40, 0) và Zmax= -Z’min=10
Trang 85) 2 3 min
2 2 2
2 3 12 1