Một nhà máy muốn sản xuất ra n loại sản phẩm từ m loại nguyên liệu. Biết: là lượng nguyên liệu loại i cần để sản xuất ra một đơn vị sản phẩm loại j; là lượng nguyên liệu loại i hiện có của nhà máy; là tiền lãi từ việc bán một đơn vị sản phẩm loại j;( ).Hãy xây dựng kế hoạch sản xuất cho nhà máy đem lại tổng lợi nhuận lớn nhất.Gọi là lượng sản phẩm loại j mà nhà máy cần sản xuất ( ). Kế hoạch sản xuất của nhà máy là vectơ .
Trang 1CHƯƠNG I: BÀI TOÁN QUI HOẠCH TUYẾN TÍNH
1.1 Bài toán quy hoạch tổng quát
Giả sử 1, , n; , , : n 1, ,1 1, 2
Giả sử X n Bài toán quy hoạch tổng quát có dạng:
Tìm vectơ xx1, ,x ntsao cho
min
với các điều kiện:
Bài toán (1)-(4) được kí hiệu là (P)
Hàm f(x) được gọi là hàm mục tiêu (objective function ), các hàm g h i, j gọi là các hàm ràng buộc (constraint function ), tập các vectơ x X n thỏa mãn các ràng buộc (2),(3)
gọi là tập phương án hay miền chấp nhận được của bài toán trên Phương án x0 thỏa mãn
f x f x với mọi x X n đối với bài toán min ( f x 0 f x với mọi x X n
đối với bài toán max)là phương án tối ưu hay lời giải của bài toán, khi đó f x 0 là giá trị tối ưu.
Nếu hàm mục tiêu f và các ràng buộc g h i, j đều là các hàm tuyến tính thì (P) được gọi là
bài toán quy hoạch tuyến tính (QHTT).
1.2 Một số ví dụ dẫn đến bài toán QHTT
1.2.1 Bài toán lập kế hoạch sản xuất
Một nhà máy muốn sản xuất ra n loại sản phẩm từ m loại nguyên liệu Biết:
Trang 2(1 i m,1 j n).
Hãy xây dựng kế hoạch sản xuất cho nhà máy đem lại tổng lợi nhuận lớn nhất
Gọi x j là lượng sản phẩm loại j mà nhà máy cần sản xuất (x j 0, j1,n) Kế hoạch sản xuất của nhà máy là vectơ xx1, ,x n
- tổng lợi nhuận thu được theo kế hoạch sản xuất x
Khi đó mô hình toán học của bài toán trên là:
1.2.2 Bài toán lập thực đơn
Có n loại thực phẩm T j ( j 1 ,n), biết rằng mỗi đơn vị T j chứa aij đơn vị chất i (i 1 ,m)
và có giá thành là c j đơn vị tiền Hãy lập thực đơn sao cho bữa ăn phải bảo đảm có ít nhất
b i đơn vị chất i (i 1 ,m ) mà có giá thành rẻ nhất
Lập bài toán:
Gọi x j là số đơn vị thực phẩm T j ( j 1 ,n ) sử dụng cho bữa ăn x j 0 và tổng số đơn
vị chất i có trong bữa ăn là ( 1 , )
1
n i b x ij
j x c
và thỏa mãn điều kiện
Trang 31.2.3 Bài toán vận tải
Có m kho hàng kí hiệu A1, ,A m(điểm phát) cung cấp cùng một mặt hàng nào đó với khốilượng có khả năng cung cấp tương ứng là a1, ,a mvà n cửa hàng (nơi tiêu thụ) kí hiệu
Xây dựng bài toán:
Gọi xij là lượng hàng chuyển từ kho A i tới điểm thu B j
Trang 4
n ij j=1 m ij i=1
ij
1,1,
1.3 Bài toán QHTT tổng quát
1.3.1 Các dạng của bài toán quy hoạch tuyến tính
Bài toán QHTT có ba dạng là dạng tổng quát, dạng chuẩn tắc và dạng chính tắc
1
2 1
( 1, , )( 1, , )( 1, , )
n
j n
j n
với các điều kiện
Trang 5) , 1 (
1
n j
x
m i
b x
a
j j
i j
1.3.2 Biến đổi bài toán QHTT về dạng chuẩn hoặc dạng chính tắc
Mọi bài toán QHTT tổng quát có thể biến đổi một cách tương đương về bài toán dạngchuẩn tắc hoặc dạng chính tắc Do vậy, không mất tính tổng quát ta chỉ cần xem xét bàitoán dạng chuẩn tắc hoặc dạng chính tắc
Cách chuyển bài toán tổng quát về bài toán chính tắc:
a Đưa bài toán cực đại về bài toán cực tiểu
Vì max f x x D : min f x x D : nên bài toán max f x x D : có thể thaybằng bài toán tương đương sau min f x x D : Khi đó x0 là phương án tối ưu của bàitoán min thì x0 cũng là phương án tối ưu của bài toán max và fmin gmax
b Chuyển ràng buộc bất đẳng thức về ràng buộc đẳng thức
(các biến x n i được gọi là các biến bù)
c Chuyển ràng buộc về dấu
xj 0 xj x xj; j 0
Trang 6với các điều kiện
Trang 71.4 Một số khái niệm trong giải tích lồi
Định nghĩa Đoạn thẳng với 2 đầu mút a b , n được kí hiệu và xác định như sau:
a b, : a1 b 0 1
Định nghĩa Tập hợp C n được gọi là tập hợp lồi nếu lấy 2 điểm bất kì a b C, thì
a b, C
Định nghĩa Cho tập lồi C n Điểm x C được gọi là điểm cực biên (đỉnh) của tập lồi
C nếu x không là điểm trong của bất kì đoạn thẳng nào có 2 đầu mút trong C
Định nghĩa Một tập hợp P n được gọi là một tập lồi đa diện nếu nó là giao của một
số hữu hạn các nửa không gian Nói cách khác một tập lồi đa diện là tập nghiệm của một
Tập lồi đa diện bị chặn thì gọi là đa diện lồi.
1.5 Các tính chất của bài toán QHTT
Quy hoạch tuyến tính là một trong những lớp bài toán tối ưu quan trọng và được ứngdụng rộng rãi nhất trong thực tiễn Quy hoạch tuyến tính bắt nguồn từ những nghiên cứucủa nhà toán học người Nga Kantorovich L.V trong các công trình về bài toán kế hoạchhóa sản xuất
Công bố năm 1939 Năm 1947 nhà toán học người mỹ G Dantzig đã đưa ra phương phápđơn hình đã được chạy trên máy tính điện tử ở Mỹ Ngày nay có nhiều phần mềm dùng đểgiải quyết các bài toán quy hoạch tuyến tính như Maple, Matlab,…
Trong phần này chúng tôi chỉ trình bày một số tính chất cơ bản của bài toán QHTT để từ
đó chuẩn bị cơ sở cho việc trình bày phương pháp đơn hình ở bài sau
1.5.1 Bài toán QHTT dạng tổng quát
Trang 8Ta có các tính chất sau:
a Tập các phương án của bài toán là một tập lồi đóng
b Tập các phương án tối ưu của bài toán là một tập lồi (có thể bằng rỗng)
c Nếu tập các phương án là bị chặn khác rỗng (tức nó là đa diện) thì bài toán có phương
Bài toán được viết lại như sau:
Tìm vectơ xx1, ,x ntsao cho
Định nghĩa Phương án cực biên là phương án mà là điểm cực biên.
Định lý Giả sử xx1, ,x n là phương án của bài toán (CP)
Đặt J J x j1, 2, ,n x j 0 Khi đó x là một phương án cực biên khi và chỉ khi cácvectơ cột của A ứng với các thành phần dương của x A j J j là độc lập tuyến tính
Ví dụ Cho bài toán QHTT dạng chính tắc với các điều kiện
Trang 91 2 3
40
Hướng dẫn Kiểm tra trực tiếp, ta thấy các vecto trên thỏa mãn điều kiện của bài toán nên
là các phương án của bài toán
Ta có thể kiểm tra với ba hệ A A1, 2 ; A3 ; A A A1, 2, 3 trong đó 1 2 1
, chỉ có hai hệ A A1, 2 ; A3 là độc lập tuyến tính Do đó x x1, 2 là phương án cực biên
Chú ý Nếu ma trận A có chứa ma trận đơn vị cấp k thì ta có ngay phương án cực biên x0
của bài toán
Từ định lý trên ta có các hệ quả sau:
Hệ quả Số các thành phần dương của một phương án cực biên tối đa là bằng m, trong
trường hợp số thành phần dương của phương án cực biên là m thì phương án cực biên đó
gọi là không suy biến, ngược lại là phương án cực biên suy biến.
Hệ quả Tập các phương án cực biên là hữu hạn (có thể bằng rỗng).
Ví dụ Tìm phương án cực biên không suy biến của bài toán QHTT với các ràng buộc sau
Thay x 1 0 vào hệ trên và giải hệ, ta được 2 3
9
2
Thay x 2 0 vào hệ trên và giải hệ thì hệ vô nghiệm
Thay x 3 0 vào hệ trên và giải hệ, ta được 1 2
95,2
Trang 10Kiểm tra như ví dụ trước, ta có cả hai phương án 0, ,5 ; 5, ,09 9
là hai phương án cựcbiên không suy biến
Định lý Nếu bài toán QHTT có phương án thì nó có phương án cực biên.
Định lý Bài toán QHTT (dạng tổng quát) dạng min có phương án tối ưu khi và chỉ khi
tập các phương án D khác rỗng và hàm mục tiêu bị chặn dưới trên D
Tóm lại: Đối với bài toán QHTT thì có các khả năng sau có thể xảy ra
TH1 Bài toán không có phương án
TH2 Bài toán có phương án nhưng hàm mục tiêu không bị chặn dưới (không có phương
Trang 11Bài 2 Giả sử yêu cầu tối thiểu mỗi ngày về các chất dinh dưỡng đạm, đường, khoáng chomột loại gia súc tương ứng 90g, 130g, 10g Một người chăn nuôi cần mua 3 loại thức ăn
A, B, C biết rằng hàm lượng các chất dinh dưỡng trên có trong 1 g thức ăn A, B, C và giámua mỗi kg thức ăn mỗi loại được cho trong bảng sau:
Hãy lập mô hình toán học cho bài toán trên
Bài 3 Một công ti lương thực cần vận chuyển gạo từ các kho A1, A2 với khối lượng lầnlượt là 100 tấn, 150 tấn đến các đại lí B1, B2, B3 với nhu cầu nhập hàng lần lượt là 70 tấn,
110 tấn, 90 tấn Cho biết chi phí vận chuyển gạo (ngàn/ tấn) từ các kho đến các đại líđược cho trong bảng sau:
Hãy lập mô hình toán học cho bài toán trên
Bài 4 Tìm các phương án cực biên không suy biến của bài toán QHTT với các ràng buộcsau
Đại lí Chi phí
Kho
Trang 12CHƯƠNG II: PHƯƠNG PHÁP ĐƠN HÌNH
Giáo viên thực hiện: Nguyễn Thị Mộng Tuyền 12
Trang 13Phương pháp: Dantzig đề xuất một thuật toán như sau
Xuất phát từ phương án cực biên x0, kiểm tra xem x0 có phải là lời giải tối ưu hay chưa,nếu nó chưa phải là lời giải tối ưu thì tìm cách cải tiến nó để được một phương án cựcbiên khác là x1 tốt hơn x0 theo nghĩa f x 1 f x 0 Quá trình này lặp đi lặp lại nhiềulần Vì số phương án cực biên là hữu hạn nên sau hữu hạn bước lặp ta được phương áncực biên tối ưu hoặc kết luận là bài toán không có lời giải
2.1 Cơ sở của phương pháp
Định nghĩa Ta gọi cơ sở của ma trận A là một bộ gồm m vectơ cột độc lập tuyến tính
Trang 14x k J : các biến phi cơ sở.
Với mỗi k 1,n, kí hiệu
Định lý (Điều kiện tối ưu)
Nếu k 0, k 1,n thì x0 là phương án tối ưu
Định lý (Điều kiện để hàm mục tiêu không bị chặn dưới)
Nếu tồn tại chỉ số k J 0để k 0 sao cho z jk 0, j J0 thì hàm mục tiêu không bị chặndưới trên tập các phương án Do đó, bài toán không có phương án tối ưu
Viết lại bằng kí hiệu:
Nếu: k J 0, k 0 mà z jk 0, j J0 thì f x
Định lý (Cách chuyển sang phương án cực biên tốt hơn)
Giả sử tồn tại k1, ,n sao cho k 0 và ứng với k ấy tồn tại chỉ số r J 0 sao cho0
Trang 15rk rk
Ta chứng minh x1 được xác định như trên là phương án cực biên với f x 1 f x 0
2.2 Thuật toán đơn hình cơ sở
Bước 0 Có phương án cực biên x0, xác định z jk ,
a Nếu k 0, k 1,n thì kết luận x0 là phương án tối ưu Dừng thuật toán
b Nếu k 1, ,n : k 0 chuyển sang bước 2
Bước 2 Kiểm tra hàm mục tiêu không bị chặn dưới
Nếu k 0 :z jk 0, j J0 thì f x Dừng thuật toán Kết luận bài toán vônghiệm
Khi điều kiện của bước 1 và bước 2 không thỏa mãn thì chuyển sang bước 3
Bước 3 Chuyển sang phương án cực biên tốt hơn
Tìm vectơ đưa vào cơ sở: Chọn chỉ số s J 0 sao cho s max k 0,k J 0 , khi
đó A s được đưa vào cơ sở
Tìm vectơ đưa ra cơ sở: Xác định chỉ số r J 0 sao cho
0 0
Trang 16
0 0
0
1
0 0
Đặt J1 J0\ r s Quay lại bước 0 ứng với x1 và J1
Vì số phương án cực biên là hữu hạn nên thuật toán đơn hình sẽ dừng lại sau hữu hạnbước
Sơ đồ khối của thuật toán đơn hình
Giáo viên thực hiện: Nguyễn Thị Mộng Tuyền
cóNghiệm
Vô NghiệmXét các cột với và
Trang 172.3 Công thức chuyển cơ sở
Trong bước 3 ta có phương án cực biên mới 1 1 1 1
1
1
1 0
j
r rs
2.4 Cách lập bảng đơn hình và chuyển bảng đơn hình
Thuật toán đơn hình thường được biểu diễn dưới dạng bảng Mỗi bước ứng với mộtphương án cực biên là một bảng đơn hình
Mỗi bảng đơn hình gồm n 3 cột và cách ghi số liệu trên bảng đơn hình như sau:
Trang 18A
0
r
x
1
r
z
phương án cực biên mới ứng với bảng đơn hình mới Để xây dựng bảng đơn hình tiếp theo ta lần lượt làm các việc sau:
Tìm cột xoay: Nếu phương án chưa thỏa tính tối ưu thì cột s ứng với véctơ đưa vào cơ sở A s là cột xoay
Tìm dòng xoay: Theo quy tắc tìm véctơ đưa ra cơ sở, nếu tìm được véctơ đưa ra là
r
A thì r là dòng xoay
Tìm phần tử xoay: Ta có dòng A r của ma trận A là dòng xoay, cột A s của ma trận
A là cột xoay, khi đó phần tử z rs được gọi là phần tử xoay
Từ bảng đơn hình này ta lập bảng đơn hình tiếp theo như sau:
Trên dòng xoay thay A r bởi A s
Từ các công thức phần trước để tính các số liệu mới ta dùng quy tắc hình chữ nhật như sau:
* Trên dòng xoay:
+ Giá trị mới =
* Trên các dòng khác
+ Giá trị mới = giá trị cũ
Giáo viên thực hiện: Nguyễn Thị Mộng Tuyền 18
giá trị cũ (vị trí tương ứng)
phần tử xoay
ptử trên dòng xoay ptử trên cột xoay
phần tử xoay
Trang 19(tương ứng vị trí của phần tử cần tìm trên hình chữ nhật)
x x x sao cho f x 2x13x2 x3x5 min
với các điều kiện
12-1
-11
3
100
010
001
2/37/3-1/3
001
100
010
1/3-1/31/3
Ở bước lặp thứ hai, j 0, j 1,5, do đó phương án ở bước lặp này là tối ưu
Trang 20Vậy f đạt min tại x * 0,5 / 3,14 / 3,7 / 3,0 và f x * 1/ 3.
2.5 Tìm phương án cực biên xuất phát – Giải bài toán QHTT tổng quát
Thuật toán đơn hình cơ sở chỉ áp dụng giải bài toán QHTT dạng chính tắc khi đã có sẵn
cơ sở đơn vị và phương án cực biên xuất phát của nó Tuy nhiên không phải lúc nào tacũng gặp may như vậy Trong trường hợp đó, ta phải tìm cách đưa bài toán đã cho vềdạng có thể áp dụng thuật toán đơn hình cơ sở mà tìm ra phương án cực biên xuất phát.Một trong những cách đó là dùng biến giả sẽ được trình bày dưới đây thông qua thuậttoán đánh thuế
2.5.1 Thiết lập bài toán (M – lớn)
2.5.2 Mối liên hệ giữa bài toán gốc và bài toán M -lớn
Định lý (quan hệ giữa bài toán gốc và bài toán M -lớn)
Nếu bài toán gốc (CP) có phương án thì mọi phương án cực biên tối ưu x t, củabài toán M -lớn phải có t 0
Giáo viên thực hiện: Nguyễn Thị Mộng Tuyền 20
Trang 21 Bài toán (CP) có phương án tối ưu x khi và chỉ khi bài toán M -lớn có phương ántối ưu x,0.
Nhận xét.
1 Định lý trên cho phép ta đưa việc giải bài toán gốc (chưa biết phương ná cực biên xuấtphát) về việc giải bài toán M -lớn mà bài toán này có ngay phương án cực biên xuất phát
là 0,b với cơ sở đơn vị Có các trường hợp sau xảy ra:
Khi bài toán M -lớn có phương án tối ưu x*,0 thì x* là lời giải cho bài toán gốc(CP)
Khi bài toán M -lớn có phương án tối ưu x t*, * với t * 0 bài toán gốc (CP)không có phương án
Khi bài toán M -lớn không có phương án tối ưu thì bài toán gốc không có phương
án tối ưu
2 Trong khi giải bài toán M -lớn ta không cần biết chính xác giá trị M mà ta chỉ cần giảthiết rằng M đủ lớn, lớn hơn mọi giá trị mà trong thuật toán cần phải so sánh với nó.Các biệt thức k có dạng k k k M k, 1,n m ( k, k là tính được cụ thể)
Nếu trong bài toán gốc đã có sẵn k biến đơn vị thì ta chỉ cần thêm m k biến giả trongbài toán M -lớn
2.5.3 Thuật toán đánh thuế
(i) Lập bài toán M -lớn Lập biến giả cho những vecto đơn vị còn thiếu, nếu trongbài toán gốc đã có sẵn k biến đơn vị thì ta chỉ cần thêm m k biến giả trong bài toán
M -lớn Lập bảng đơn hình xuất phát: các biệt thức k có dạng k k k M k, 1,n mnên tách ra hai dòng, dòng trên là k, dòng dưới là k
(ii) Áp dụng phương pháp đơn hình giải Khi giải so sánh các ước lượng
Trang 22Ví dụ Giải bài toán QHTT sau:
2(z41)1(z81)4(z61)
2(z42)
4(z82)4(z62)
310
100
001
00-1
010
3/21/43
010
5/2
1/4-1
100
001
00-1
-1/21/4-1
3/51/1018/5
010
100
2/5-1/102/5
001
00-1
-1/53/10-6/5
k
k
Vậy gmin 68 / 5 tại x 0,7 / 5,12 / 5,0,12 / 5,0
Giáo viên thực hiện: Nguyễn Thị Mộng Tuyền 22
Trang 23Do đó fmin 68 / 5 tại x 0,7 / 5,12 / 5,0,12 / 5.
Bài tập chương II
Bài 1 Một xí nghiệp có thể sản xuất 4 loại mặt hàng: H1,H2,H3,H4 Để sản xuất 4 loại mặt hàng này, xí nghiệp dùng 2 loại nguyên liệu N1, N2 Số nguyên liệu mà xí nghiệp huy động được tối đa tương ứng là 600kg ,800kg Định mức tiêu hao mỗi loại nguyên liệu đối với mỗi loại mặt hàng cũng như lãi 1 đơn vị hàng mặt hàng được cho trong bảng :
Bài 2 Bài toán pha trộn:
Một xí nghiệp luyện kim muốn sản xuất một loại hợp kim với 20% bạc , 30% đồng và 50% nhôm Học sử dụng các nguyên liệu: bạc, đồng nhôm Hợp kim A, hợp kim B, hợp kim C, hàm lượng bạc, đồng, nhôm trong các nguyên liệu trên cũng như giá một đơn vị khối lượng mỗi loại
( USD/kg ) được cho trong bảng dưới đây:
Trang 24Hãy lập phương án pha trộn như thế nào để giá thành là nhỏ nhất ( xi là khối lượng của các chất và tỉ lệ các chất có trong các hợp kim).
Bài 3 Giải các bài toán QHTT sau
a Tìm vecto xx x x x1, , ,2 3 4 sao cho
Trang 25CHƯƠNG III: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU
3.1 Bài toán đối ngẫu
Cho các bài toán QHTT:
Người ta gọi bài toán (P) là bài toán gốc và (D) là bài toán đối ngẫu của bài toán (P).
Qui tắc lập bài toán đối ngẫu:
i y b y
Ví dụ Viết bài toán đối ngẫu cho bài toán sau:
Tìm vectơ xx1, ,x5 sao cho
Trang 26Bài toán đối ngẫu của bài toán (P) là:
Tìm vectơ y1, ,y3 sao cho
3.2.1 Định lý đối ngẫu yếu
Định lý Xét bài toán QHTT (P) và bài toán đối ngẫu (D) của nó
Nếu x y, lần lượt là phương án bất kỳ của bài toán QHTT gốc và đối ngẫu thì