Bài giảng quy hoạch toán Chương 1. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH PHƯƠNG PHÁP HÌNH HỌC 1.1. Các bài toán thực tế 1.1.1. Bài toán lập kế hoạch sản xuất a) Ví dụ Để sản xuất kẹo và bánh cần 2 thứ nguyên liệu chính là đường và bột mì, với trữ lượng hiện có là 0,9kg đường và 1,1 kg bột mì. 1kg kẹo cần 0,5 kg đường và 0,3 kg bột mì; 1kg bánh cần 0,2kg đường và 0,4 kg bột mì. Giá 1kg kẹo là 10000đ; 1kg bánh là 20000đ. Hãy lập kế hoạch sản xuất sao cho tổng giá trị sản phẩm lớn nhất. Gọi x 1 là số kg kẹo được sản xuất; x 2 là số kg bánh được sản xuất. Có mô hình toán học: f(x) = 10000x 1 +20000x 2 → max ⎪ ⎩ ⎪ ⎨ ⎧ ≥ ≤+ ≤+ 0, 1.14.03.0 9.02.05.0 21 21 21 xx xx xx b)Tổng quát Để sản xuất n loại sản phẩm khác nhau cần m loại yếu tố sản xuất với trữ lượng hiện có là b 1 , b 2 , , b m . Hệ số hao phí yếu tố i ( i=1 m ) cho 1 đơn vị sản phẩm j (j=1 n) là a ij . Giá 1 đơn vị sản phẩm j là c j (j=1 n). Hãy lập kế hoạch sản xuất trên cơ sở các yếu tố sản xuất hiện có sao cho tổng giá trị sản phẩm lớn nhất. Gọi x j là số sản phẩm j được sản xuất, f(x) là tổng doanh thu ứng với kế hoạch sản xuất x = (x 1 ,x 2 , , x n ). Có mô hình toán học: f(x) = c ∑ = n j 1 j x j → max ⎪ ⎩ ⎪ ⎨ ⎧ =≥ =≤ ∑ = ) 1(0 ) 1( 1 njx mibxa j ij n j ij Bài giảng quy hoạch toán 1.1.2. Bài toán vận tải Có m kho hàng chứa cùng 1 loại hàng hóa với số lượng ở kho i là ai (i=1 m). Đồng thời có n cửa hàng với nhu cầu ở cửa hàng j là bj (j=1 n). Chi phí vận chuyển 1 đơn vị hàng từ kho i đến cửa hàng j là c ij . Hãy lập kế hoạch vận chuyển sao cho thỏa mãn nhu cầu các cửa hàng và chi phí vận chuyển thấp nhất. Gọi x ij là số lượng hàng chuyển từ kho i đến cửa hàng j f(x) là tổng chi phí theo kế hoạch vận chuyển x. Mô hình toán học: f(x) = ∑ ∑ c = m i 1 = n j 1 ij x ij → min ⎪ ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎪ ⎨ ⎧ ==≥ == =≤ ∑ ∑ = = ) 1, 1(0 ) 1( ) 1( 1 1 njmix njbx miax ij j m i ij i n j ij 1.1.3. Bài toán xác định khẩu phần Có n loại thức ăn gia súc, giá 1 đơn vị thức ăn j là c (j=1 n). Gia súc cần m chất dinh dưỡng với nhu cầu tối thiểu chất i là b i (i=1 m). Biết hàm lượng chất i có trong 1 đơn vị thức ăn j là a ij . Hãy xác định khẩu phần thức ăn cho gia súc sao cho chi phí thấp nhất đồng thời đảm bảo các chất dinh dưỡng cho gia súc. Gọi x j là lượng thức ăn j có trong khẩu phần, f(x) là giá khẩu phần x = (x 1 ,x 2 , , x n ). Có mô hình toán học sau: f(x) = c ∑ = n j 1 j x j → min ⎪ ⎩ ⎪ ⎨ ⎧ =≥ =≥ ∑ = ) 1(0 ) 1( 1 njx mibxa j ij n j ij 1.2. Bài toán qui hoạch tuyến tính Xét bài toán Bài giảng quy hoạch toán (1) f(x) = c ∑ = n j 1 j x j → min (2) ⎪ ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎪ ⎨ ⎧ +=≤ +=≥ == ∑ ∑ ∑ = = = ) 1( ) 1( ) 1( 1 1 1 mkibxa kpibxa pibxa ij n j ij ij n j ij ij n j ij Bài toán (1,2) gọi là bài toán quy hoạch tuyến tính dạng tổng quát, ký hiện là (d,f). * f(x) gọi là hàm mục tiêu. * Hệ (2) gọi là hệ ràng buộc. * Ma trận A = (a ij ) mxn gọi là ma trận số liệu. * Vectơ C = (c j ) n gọi là hệ số hàm mục tiêu. Mỗi bộ số x=(x 1 , x 2 , , x n ) thỏa mãn hệ ràng buộc (2) gọi là phương án, ký hiệu x ∈ d. Phương án làm cho hàm mục tiêu f(x) đạt cực trị cần tìm gọi là phương án tối ưu, hay là nghiệm của bài toán (d,f) . 1.3. Phương pháp hình học Phương pháp hình học dùng để giải bài toán (d,f) 2 ẩn, hoặc nhiều hơn 2 ẩn nhưng có thể đưa về bài toán 2 ẩn tương đương. Xét bài toán f(x) = ax +by → min (max) (d) { ) 1( miciybxa ii =≤+ Miền d d là giao các nửa mặt phẳng, hay là một đa giác. Bài toán có thể phát biểu bằng hình học như sau: Tìm trong họ đường thẳng song song ax+ by = f gọi là họ đường mức ,một đường mức ứng với f nhỏ nhất (lớn nhất) có ít nhất 1 điểm chung với miền d. Ví dụ 1.1 f(x,y) = x + 2y → max ⎪ ⎩ ⎪ ⎨ ⎧ ≥ ≤+ ≤+ 0, 1143 925 yx yx yx Bài giảng quy hoạch toán y A(0,11/4) B(1,2) d O C(9/5,0) x Qua hình vẽ thấy đường thẳng qua A(0, 4 11 ) ứng với f lớn nhất. Vậy nghiệm là x 1 =0, x 2 = 4 11 và f max = 2 11 . Nhận xét - Nghiệm là đỉnh của đa giác. - Nếu hàm mục tiêu là f(x,y) = 3x + 4y thì nghiệm là cả đoạn thẳng AB. - Giá trị f của họ đường mức tăng theo chiều của pháp vectơ. Ví dụ 1.2 f(x,y) = x + y → max ⎪ ⎩ ⎪ ⎨ ⎧ ≥ ≤− −≥− 0, 22 1 yx yx yx d A(0,1) O B(2,0) Theo hình vẽ, hàm mục tiêu không bị chặn trên trong miền d nên bài toán vô nghiệm. oOo Bài giảng Quy hoạch toán học Trang 5 ________________________________________________________________________ 1.4. Bài tập Giải các bài toán sau bằng phương pháp hình học 1. f(x) = x + 2y → max 2. f(x) = 5x - 3y → min 36 34 1 00 xy xy xy +≤ +≤ ≥≥ ⎧ ⎨ ⎪ ⎩ ⎪ , 2 xy xy xy +≤ +≥ ≥≥ ⎧ ⎨ ⎪ ⎩ ⎪ 24 36 00, 3. f(x) = 3x + y → max 4. f(x) = 2x + 3y +10 → max −+≥ +≤ ≥≥ ⎧ ⎨ ⎪ ⎩ ⎪ 36 351 00 xy xy xy, 5 36 4 24 00 xy xy xy xy + ≤ +≤ +≤ ≥≥ ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ , 5. f(x) = 2x + 5y → max 6. f(x) = x + 3y → max 22 8 3 21 00 xy xy xy xy xy +≥ +≤ +≥ +≤ ≥≥ ⎧ ⎨ ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ , 2 xy xy xy +≤ +≥ ≥≥ ⎧ ⎨ ⎪ ⎩ ⎪ 36 4 00, 7. f(x) = x + 2y → max 8. f(x) = 2x + 3y → min xy xy xy +≤ +≤ ≥≥ ⎧ ⎨ ⎪ ⎩ ⎪ 8 21 00, 4 xy xy xy xy + ≥ +≥ +≥ ≥≥ ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ 28 36 34 1 00, 2 0 0 9. f(x) = 5x 1 + 2x 2 + 3x 3 → max 10. f(x) = 2x 1 + x 3 → min xxx xx x xx x xxx 123 12 3 12 3 123 1 253 4 432 00 ++= ++≤ ++ ≤ ≥≥≥ ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ,, xxx xx x xxx 123 12 3 123 1 223 00 ++= ++ ≥ ≥≥≥ ⎧ ⎨ ⎪ ⎩ ⎪ ,, *********************** ________________________________________________________________________ GV: Phan Thanh Tao Bài giảng Quy hoạch toán học Trang 6 ________________________________________________________________________ Chương 2. PHƯƠNG PHÁP ĐƠN HÌNH 2.1. Dạng chính tắc và dạng chuẩn tắc 2.1.1. Định nghĩa Trong thực tế, đa số các bài toán có điều kiện không âm của các ẩn. Từ đó có định nghĩa dạng chính tắc là bài toán (d,f) như sau: f(x) = c ∑ = n j 1 j x j → min (1) ⎪ ⎩ ⎪ ⎨ ⎧ =≥ == ∑ = )3() 1(0 )2() 1( 1 njx mibxa j ij n j ij (2) gọi là ràng buộc cưỡng bức, (3) gọi là ràng buộc tự nhiên. Với bài toán (d,f) chính tắc, có thể giả sử m ≤n. Một trường hợp đặc biệt của dạng chính tắc là ma trận số liệu A = (a ij ) mxn có chứa đủ m vectơ cột là m vectơ đơn vị của không gian R m và b i ≥ 0 (i=1 m) gọi là dạng chuẩn tắc. Không mất tính tổng quát, có thể định nghĩa bài toán (d,f) chuẩn tắc như sau: f(x) = c ∑ = n j 1 j x j → min ⎪ ⎩ ⎪ ⎨ ⎧ =≥ ==+ ∑ += ) 1(0 ) 1( 1 njx mibxax j ij n mj iji trong đó b i ≥ 0 (i=1 m). 2.1.2. Các phép biến đổi Các phép biến đổi sau để đưa bài toán (d,f) bất kỳ về dạng chính tắc tương đương để giải, và từ đó suy ra nghiệm của bài toán ban đầu. a/ f(x) → max g(x) = -f(x) → min ⇔ b/ ∑ với x = ≤ n j ijij bxa 1 ⇔ ∑ = + =+ n j iinjij bxxa 1 n+i ≥0 ∑ với x = ≥ n j ijij bxa 1 ⇔ ∑ = + =− n j iinjij bxxa 1 n+i ≥0 x n+i gọi là ẩn phụ. Có kết luận sau: Nếu x = (x 1 , x 2 , , x n , x n+1 , , x n+m ) là nghiệm của bài toán chính tắc biến đổi thì x=(x 1 , x 2 , , x n ) là nghiệm bài toán gốc. ________________________________________________________________________ GV: Phan Thanh Tao Bài giảng Quy hoạch toán học Trang 7 ________________________________________________________________________ c/ Nếu ẩn x j không ràng buộc về dấu thì được thay bằng hiệu hai ẩn không âm. Nghĩa là đặt x j =x j ’ – x j ” với x j ’≥0, x j ”≥0. d/ Trường hợp b i < 0 thì nhân hai vế phương trình cho -1 có được b i >0. Vậy: Mọi bài toán quy hoạch tuyến tính đều có thể đưa về bài toán dạng chính tắc tương đương. Hơn nữa có thể các hệ số tự do b i trong hệ ràng buộc là không âm. 2.1.3. Phương án cơ bản Xét bài toán (d,f) dạng chính tắc f(x) = c ∑ = n j 1 j x j → min ⎪ ⎩ ⎪ ⎨ ⎧ =≥ == ∑ = ) 1(0 ) 1( 1 njx mibxa j ij n j ij Đặt A j = (a 1j , a 2j , , a mj ) là vectơ cột thứ j trong ma trận A mxn b = (b 1 , b 2 , , b m ) là cột hệ số tự do. Giả sử x = ( x 1 , x 2 , , x n ) là phương án của bài toán thì hệ vectơ { A j / x j > 0 } gọi là hệ vectơ liên kết với phương án x. Định nghĩa x ∈ d là phương án cơ bản nếu hệ véctơ liên kết với x độc lập tuyến tính. Ẩn x j gọi là ẩn cơ bản nếu x j > 0. Nhận xét: - Phương án cơ bản có tối đa m thành phần dương. Phương án cơ bản có đúng m thành phần dương gọi là không suy biến. Ngược lại gọi là suy biến. Bài toán có phương án cơ bản suy biến gọi là bài toán suy biến. - Số phương án cơ bản của một bài toán (d,f) là hữu hạn. - Với bài toán dạng chuẩn tắc thì có phương án cơ bản là x o = (b 1 , b 2 , ,b m ,0, ,0). 2.1.4. Các tính chất Tính chất 1 Bài toán (d,f) chỉ xảy ra 1 trong 3 trường hợp sau: a) Vô nghiệm b) Có 1 nghiệm duy nhất c) Vô số nghiệm. Tính chất 2 Nếu hàm mục tiêu f(x) là chặn dưới (trên ) đối với bài toán dạng min (max) trên tập phương án d thì bài toán (d,f) có nghiệm. ________________________________________________________________________ GV: Phan Thanh Tao Bài giảng Quy hoạch toán học Trang 8 ________________________________________________________________________ Tính chất 3 Nếu bài toán (d,f) có nghiệm thì có nghệm là phương án cơ bản. 2.2. Phương pháp đơn hình 2.2.1. Nội dung Xuất phát từ phương án cơ bản nào đó, tìm cách đánh giá nó. Nếu chưa tối ưu thì chuyển sang phương án cơ bản mới tốt hơn. Nếu bài toán có nghiệm thì sau hữu hạn bước sẽ tìm được phương án cơ bản tối ưu. Hơn nữa dấu hiệu vô nghiệm cũng được thể hiện trên thuật toán . Ví dụ 2.1 Xét bài toán (d,f) dạng chuẩn tắc: f(x) = x 1 -2x 2 +3x 3 -2x 4 → min ⎪ ⎩ ⎪ ⎨ ⎧ =≥ =++ =+− )4 1(0 5 432 421 321 jx xxx xxx j Có phương án cơ bản x o = (0, 0, 4, 5) và f(x o )=2 với x 3 , x 4 là ẩn cơ bản. Đánh giá: ∀ x=(x 1 ,x 2 ,x 3 ,x 4 )∈ d : ⎪ ⎩ ⎪ ⎨ ⎧ =≥ =++ =+− )4 1(0 5 432 421 321 jx xxx xxx j ⇔ ⎪ ⎩ ⎪ ⎨ ⎧ =≥ −−= +−= )4 1(0 5 324 214 213 jx xxx xxx j f(x) = x 1 -2x 2 +3x 3 -2x 4 = x 1 -2x 2 +3(4-2x 1 +3x 2 ) -2(5-x 1 -x 2 ) = 2 -3x 1 +9x 2 = 2-∆ 1 x 1 - ∆ 2 x 2 Vì x 1 , x 2 ≥0 nên nếu ∆ 1 , ∆ 2 ≤ 0 thì f(x)≥2 và x o là phương án tối ưu. Tuy nhiên, ở đây ∆ 1 =3>0 nên x o chưa phải là nghiệm. Thử chọn x 1 , x 4 làm ẩn cơ bản , cho x 2 =0 và x 3 =0. Có ⎩ ⎨ ⎧ =+ = 5 42 41 1 xx x x⇒ 1 =2 và x 4 =3. Rõ ràng A 1 , A 4 độc lập tuyến tính nên có phương án cơ bản là x = (2, 0, 0, 3) và f( x ) = - 4. Đánh giá: ∀ x=(x 1 ,x 2 ,x 3 ,x 4 )∈ d : ________________________________________________________________________ GV: Phan Thanh Tao Bài giảng Quy hoạch toán học Trang 9 ________________________________________________________________________ ⎩ ⎨ ⎧ =++ =+− 5 432 421 321 xxx xxx ⇔ ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ +−= −+= 324 321 2 1 2 5 3 2 1 2 3 2 xxx xxx f(x) = x 1 -2x 2 +3x 3 -2x 4 = (2+ 2 3 x 2 - 2 1 x 3 ) -2x 2 +3x 3 -2(3- 2 5 x 2 + 2 1 x 3 ) = - 4 + 2 9 x 2 + 2 3 x 3 (= -4-∆ 2 x 2 - ∆ 3 x 3 ) ≥ -4 Vì x 2 , x 3 ≥0 nên x là phương án tối ưu (∆ 2 , ∆ 3 ≤0). 2.2.2. Bảng đơn hình Cho bài toán (d,f) chuẩn tắc: f(x) = c ∑ = n j 1 j x j → min ⎪ ⎩ ⎪ ⎨ ⎧ =≥ ==+ ∑ += ) 1(0 ) 1( 1 njx mibxax j ij n mj iji trong đó b i ≥ 0 (i=1 m). ∀ j=1 n đặt ∆ j = ∑ c = m i 1 i a ij - c j và gọi là ước lương của ẩn x j đối với phương án cơ bản x o =(b 1 , b 2 , …, b m , 0, …, 0) với f(x o )= c ∑ = m i 1 i b i Lưu ý: ∆ i = 0 , ∀ i=1 m Có bảng đơn hình sau: Hệ số Ẩn CB P/Án x 1 c 1 x 2 c 2 … x m c m x m+1 c m+1 … x s c s … x n c n c 1 x 1 b 1 1 0 … 0 a 1,m+1 … a 1s … a 1n c 2 x 2 b 2 0 1 … 0 a 2,m+1 … a 2s … a 2n … … … … … … … … … … c r x r b r 0 0 … 0 a r,m+1 … a rs … a rn … … … … … … … … … … c m x m b m 0 0 … 1 a m,m+1 … a ms … a mn f(x) ∆ 1 ∆ 2 ∆ m ∆ m+1 ∆ s ∆ n ________________________________________________________________________ GV: Phan Thanh Tao Bài giảng Quy hoạch toán học Trang 10 ________________________________________________________________________ 2.2.3. Cơ sở lý luận Cho bài toán (d,f) chuẩn tắc: f(x) = c ∑ = n j 1 j x j → min ⎪ ⎩ ⎪ ⎨ ⎧ =≥ ==+ ∑ += ) 1(0 ) 1( 1 njx mibxax j ij n mj iji trong đó b i ≥ 0 (i=1 m). ∀ j=1 n đặt ∆ j = c ∑ = m i 1 i a ij - c j Có phương án cơ bản x o =(b 1 , b 2 , …, b m , 0, …, 0) với f(x o )= c ∑ = m i 1 i b i Định lý 1 ( Dấu hiệu tối ưu) Nếu ∆ j ≤0 với mọi j = 1 n thì x o là phương án tối ưu. Chứng minh Có f(x o )= c ∑ = m i 1 i b i ∀ x=(x j ) n ∈ d : x i + a ∑ += n mj 1 ij x j =b i (i=1 m) ⇒ x i = b i - a ∑ += n mj 1 ij x j (i=1 m) f(x) = c ∑ = n j 1 j x j = c ∑ = m i 1 i x i + c ∑ += n mj 1 j x j = c ∑ = m i 1 i (b i - a ∑ += n mj 1 ij x j ) + c ∑ += n mj 1 j x j = c ∑ = m i 1 i b i - ( c ∑ += n mj 1 ∑ = m i 1 i a ij -c j ) x j = f(x o ) - ∆ ∑ += n mj 1 j x j ≥ f(x o ) : vì ∆ j ≥0 và x j ≥ 0 (j=m+1 n) Định lý 2 ( Dấu hiệu vô nghiệm) Nếu ∃ ∆ k >0 và a ik ≤0 ∀ i = 1 m thì bài toán vô nghiệm. Chứng minh Vì ∆ i = 0 , i=1 m và ∆∀ k >0 nên có k>m. ________________________________________________________________________ GV: Phan Thanh Tao . Bài giảng quy hoạch toán Chương 1. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH PHƯƠNG PHÁP HÌNH HỌC 1. 1. Các bài toán thực tế 1. 1 .1. Bài toán lập kế hoạch sản xuất a) Ví dụ. hình toán học sau: f(x) = c ∑ = n j 1 j x j → min ⎪ ⎩ ⎪ ⎨ ⎧ =≥ =≥ ∑ = ) 1( 0 ) 1( 1 njx mibxa j ij n j ij 1. 2. Bài toán qui hoạch tuyến tính Xét bài toán Bài giảng quy hoạch toán (1) . kế hoạch sản xuất x = (x 1 ,x 2 , , x n ). Có mô hình toán học: f(x) = c ∑ = n j 1 j x j → max ⎪ ⎩ ⎪ ⎨ ⎧ =≥ =≤ ∑ = ) 1( 0 ) 1( 1 njx mibxa j ij n j ij Bài giảng quy hoạch toán 1. 1.2.