BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

21 1.3K 0
BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH Trong việc nghiên cứu các bài toán tối ưu nói chung, giải tích lồi giữ một vai trò rất quan trọng. Nó được sử dụng làm cơ sở toán học trong việc xây dựng các thuật toán. Quy hoạch tuyến tính là một trong những lớp bài toán tối ưu được nghiên cứu trọng vẹn cả về phương diện lý thuyết lẫn thực hành, Bài toán vận tải là một dạng đặc biệt của QHTT. Do đó chương này nhằm giới thiệu một số khái niệm và kiến thức cơ bản về giải tích lồi và QHTT. 1.1 Một số khái niệm về giải tích lồi 1.1.1 Không gian Euclude Một vector n chiều trên trường số thực là một bộ được sắp thứ tự gồm n số thực x=(x 1 , x 2 , ., x n ). Các x i , i =1, ., n gọi là các thành phần hay toạ độ của vector. Ví dụ x=(4,5,10,20). Hai vectơ x và y gọi là bằng nhau x=y, nếu x i =y i , ∀i =1, ., n. Xét hai phép toán trên các vector: Phép cộng: x+y=(x 1 +y 1 , x 2 +y 2 , ., x n +y n ) Phép nhân: αx=(αx 1 , αx 2 , ., αx n ), ∀α ∈ R Khi đó tập hợp tất cả các vector n chiều trong đó xác định phép cộng các vector, nhân một số thực với vector như trên tạo thành không gian tuyến tính n chiều trên trường số thực R, ký hiệu R n . mix i i m i i ,1,00 )( 1 ==⇔= ∑ = αα Các vector x (i) ∈R n , i =1, ., m được gọi là độc lập tuyến tính nếu: Nếu: ∑ = = m i i i xx 1 )( α với ít nhất một α i ≠ 0 thì x gọi là tổ hợp tuyến tính của các x (i) , i =1, ., m. Hơn nữa nếu α i > 0, i =1, ., m và ∑ = = m i i 1 1 α thì x gọi là tổ hợp lồi của các x (i) , i =1, ., m. Trong R n có n vector độc lập tuyến tính lập thành cơ sở của nó. Giả sử e (1) , e (2) , ., e (n) là một cơ sở của R n thì bất kỳ một vector x ∈ R n đều là tổ hợp tuyến tính của các vector e (1) , e (2) , ., e (n) . Ta gọi tích vô hướng của hai vector x=(x 1 , x 2 , ., x n ) và y=(y 1 , y 2 , ., y n ), ký hiệu, <x,y>, là một số bằng. ∑ = =>< n i ii yxyx 1 , Tích vô hướng là một dạng song tuyến tính, đối xứng, không âm, tức là: 1. <x,y> = <y, x>. ∀x,y ∈ R n 2. <x (1) + x (2) , y >=< x (1) , y >+< x (2) , y>. ∀x (1) , x (2) , y ∈ R n 3. <λx,y> = λ<x,y>. ∀x,y ∈ R n 4. <x,x> ≥ 0, ∀x∈ R n dấu bằng xẩy ra khi và chỉ khi x= 0. ∑ = =><= n i i xxxx 1 2 , Độ dài của vector x=(x 1 , x 2 , ., x n ) là một số xác định bởi. ( ) ( ) ∑ = −=>−−<=−= n i ii yxyxyxyxyx 1 2 ,, ρ Khoảng cách giữa hai vector x và y là một số xác định bởi: Không gian vector trong đó có tích vô hướng và khoảng cách như trên gọi là không gian Euclude. 1.1.2 Tập compact Dãy {x (k) }⊂R n k=1, 2, . được gọi là có giới hạn x (0) khi k → ∞ và viết ( ) 0,lim )0()( = ∞→ xx k k ρ lim x (k) = x (0) , nếu Hình cầu tâm a bán kính ρ là tập S={x∈R n :x-a≤ ρ }. Hình cầu này tạo nên ρ- lân cận của điểm a, hay gọi là lân cận của a. * Nếu tập A⊂R n chứa cùng với điểm x một lân cận của nó thì x gọi là điểm trong của A. Nếu trong lân cận bất kỳ của x ∈ A có các điểm của A và các điểm không thuộc A thì x gọi là điểm biên của tập hợp A. * Một tập A⊂R n gọi là giới nội nếu nó được chứa trong một hình cầu tâm O nào đó, tức là tồn tại số ρ đủ lớn sao cho với mọi x∈A,x≤ ρ. Một dãy {x (k) } hội tụ thì bao giờ cũng giới nội. * Một tập hợp G⊂R n được gọi là mở nếu với mọi x∈G đều tồn tại một hình cầu tâm x nằm gọn trong G. Một tập F⊂R n được gọi là đóng nếu với mọi dãy hội tụ{x (k) }⊂ F ta đều có: Fx k k ∈ ∞→ )( lim Một tập chứa mọi điểm biên của nó là tập đóng. * Tập C được gọi là tập Compact nếu từ mọi dãy vô hạn {x (k) } thuộc C đều có thể trích ra một dãy con {x (ki) } hội tụ tới phần tử thuộc C. Tập C là Compact khi và chỉ khi C đóng và giới nội. Tập Compact M của tập đóng C cũng đóng trong C. Tập con đóng M của tập Compact cũng Compact. Hàm f(x) liên tục trên tập Compact C thì sẽ đạt cực trị trên tập ấy. 1.1.3 Tập lồi Cho hai điểm a, b ∈R n . Ta gọi đường thẳng qua a, b là tập điểm có dạng x∈R n : x = λa + (1-λ)b, λ ∈ R. k → ∞ Đoạn thẳng nối hai điểm a, b là tập lồi các điểm có dạng x∈R n :x = λx + (1-λ)y, 0 ≤ λ ≤ 1 * Một tập M⊂R n được gọi là một đa tạp affine nếu với hai điểm bất kỳ x, y ∈M thì toàn bộ đường thẳng đi qua hai điểm đó cũng thuộc M. Tức là λx + (1-λ)y ∈M : ∀x,y ∈M, ∀ λ∈R. * Một siêu phẳng trong không gian R n là tập hợp tất cả các điểm x=(x 1 , x 2 , ., x n ) ∈R n thỏa mãn phương trình tuyến tính a 1 x 1 + a 2 x 2 + . + a n x n = α trong đó a 1 , a 2 , ., a n , α ∈R * Tập hợp các điểm x=(x 1 , x 2 , ., x n ) ∈R n thoản mãn bất phương trình tuyến tính a 1 x 1 + a 2 x 2 + . + a n x n ≤ α được gọi là nửa không gian đóng. * Nửa không gian được cho bởi a 1 x 1 + a 2 x 2 + . + a n x n < α được gọi là nửa không gian mở. * Tập X⊂R n được gọi là tập lồi nếu cùng với việc chứa hai điểm x, y nó chứa cả đoạn thẳng chứa hai điểm ấy, tức là chứa tất cả các điểm có dạng: λx + (1-λ)y, 0 ≤ λ ≤ 1 Ví dụ về các tập lồi: Không gian Euclide, các nửa không gian, mặt phẳng, nửa mặt phẳng, hình chữ nhật, hình vuông, hình elip, hình hộp, hình cầu . * Một tập hợp là giao của một số hữu hạn các nửa không gian đóng được gọi là tập lồi đa diện. Mệnh đề: Giao của hai tập lồi là một tập lồi. . . . . 2211 22222121 11212111        ≤+++ ≤+++ ≤+++ nnnnnn nn nn bxaxaxa bxaxaxa bxaxaxa Hệ quả 1. Giao của một số bất kỳ tập hợp lồi là tập lồi. Hệ quả 2. Miền chứa nghiệm của một hệ bất phương trình tuyến tính dạng. là một tập lồi (đa diện lồi). Một tập lồi đa diện giới nội gọi là một đa diện. Giao của tất cả các tập lồi chứa tập X gọi là bao lồi của nó, ký hiệu [X] 1.1.4 Hàm lồi * Một hàm số f(x) xác định trên tập lồi C ⊂ R n được gọi là hàm lồi trên C, nếu với mọi x, y ∈C và 0 ≤ λ ≤ 1 ta có f(λx + (1-λ)y) ≤ λf(x) + (1-λ)f(y). * Hàm f(x) được gọi là hàm lồi chặt nếu với mọi x, y ∈C và 0 ≤ λ ≤ 1 ta có. f(λx + (1-λ)y) < λf(x) + (1-λ)f(y). * Hàm f(x) được gọi là hàm lõm (lõm chặt) nếu - f(x) là hàm lồi (lồi chặt) * Hàm f(x) xác định trên C đạt cực tiểu tuyệt đối tại x* ∈C nếu f(x * ) ≤ f(x):∀ x∈C * Hàm f(x) đạt cực tiểu địa phương tại x* ∈ C nếu tồn tại lân cận mở U của x* sao cho f(x*) ≤ f(x):∀ x∈C ∩U Mệnh đề 1: Bất kỳ điểm cực tiểu địa phương nào của hàm lồi trên tập lồi cũng là điểm cực tiểu tuyệt đối. Hệ quả: Bất kỳ điểm cực đại địa phương nào của hàm lõm cũng là cực đại tuyệt đối. Mệnh đề 2: Cực đại của một hàm lồi (nếu có) trên một tập lồi có điểm cực biên bao giờ cũng đạt tại một điểm cực biên. 1.2 Bài toán Quy hoạch tuyến tính QHTT bắt nguồn từ những nghiên cứu của nhà toán học Nga nổi tiếng, Viện sỹ L.V. Kantorovich trong một loạt các công trình về bài toán kế hoạch hoá sản xuất, công bố năm 1938. Năm 1947 nhà toán học Mỹ G.B. Dantzig đã nghiên cứu và đề xuất phương pháp đơn hình (Simplex method) để giải bài toán QHTT. Năm 1952 phương pháp đơn hình đã được chạy trên máy tính điện tử của Mỹ. 1.2.1 Bài toán quy hoạch tuyến tínhBài toán tổng quát. ( ) 1.1max 1 → ∑ = j n j j xc ( ) ( ) ( ) 3.1, .,1,0 2.1 .,,1,,, 1 njx mibxa j i n j jij =≥ =≥=≤ ∑ = Để nhất quán lập luận ta xét bài toán tìm cực đại, sau đó ta xét cách chuyển bài toán tìm cực tiểu sang tìm cực đại. Bài toán tổng quát của QHTT có dạng: Ký hiệu: A=(a ij ) mxn là ma trận với các phần tử a ij (1.1) gọi là hàm mục tiêu, (1.2) là các rằng buộc. Nếu gặp bài toán Min, tức là ( ) Dx xcxf j n j j ∈ →= ∑ = min 1 ( ) Dx xcxf j n j j ∈ →−= ∑ = max 1 Thì giữ nguyên ràng buộc và đưa về bài toán Max bằng cách Nếu bài toán Max có phương án tối ưu là x* thì bài toán min cũng có phương án là x* và f min =-  f max Thật vậy, vì x* là phương án tối ưu của bài toán Max nên ta có: Dxxcxc hayDxxcxcf n j jj n j jj j n j j n j jj ∈∀≤ ∈∀−≥−= ∑∑ ∑∑ == == , , 11 * 11 * max Chứng tỏ x* là phương án tối ưu của bài toán Min và ∑ = −== n j jj fxcf 1 max * min  Dạng chuẩn và dạng chính tắc. Người ta thường xét bài toán quy hoạch tuyến tính dưới hai dạng sau: -Dạng chuẩn: njx mibxa xc j i n j jij n j jj , .,1,0 , .,1, max 1 1 =≥ =≤ → ∑ ∑ = = -Dạng chính tắc: njx mibxa xc j i n j jij j n j j , .,1,0 , .1, max 1 1 =≥ == → ∑ ∑ = =  Đưa bài toán QHTT về dạng chuẩn hoặc dạng chính tắc. Bất kỳ QHTT nào cũng có thể đưa về một trong hai dạng chuẩn hoặc chính tắc nhờ các phép biến đổi tuyến tính sau: ∑ = ≥ n j ijij bxa 1 i) Một ràng buộc ij n j ij bxa −≤− ∑ =1 .'' 1 ij n j ij bxa ≤ ∑ = Có thể đưa về ràng buộc bằng cách nhân hai vế với (-1) và viết lại ii) Một ràng buộc đẳng thức i n j jij bxa = ∑ =1 i n j jiji n j jij bxabxa −≤−≤ ∑∑ == 11 , có thể thay bằng hai ràng buộc bất đẳng thức: 0,0, ≥≥−= −+−+ jjjjj xxxxx víi iii) Một biến x j không bị ràng buộc dấu có thể thay thế bởi hiệu của hai biến không âm bằng cách đặt: iv) Một ràng buộc bất đẳng thức ij n j ij bxa ≤ ∑ =1 Có thể đưa về ràng buộc đẳng thức bằng cách đưa vào biến phụ y i ≥ 0: i n j ijij byxa =+ ∑ =1 Về nguyên tắc, áp dụng nhiều lần các phép biến đổi (i), (ii) và (iii) ta có thể đưa một bài toán QHTT bất kỳ về dạng chuẩn, sau đó áp dụng nhiều lần phép biến đổi (iv) ta sẽ đưa nó về dạng chính tắc.  Giải bài toán QHTT bằng phương pháp hình học.    =≥ =≤+ = →+ 2,1,0 , .,1, max 2111 2211 jx mibxaxa D xcxc j iii Xét bài toán QHTT dưới dạng chuẩn với hai biến số: Từ ý nghĩa hình học ta biết rằng mỗi bất phương trình tuyến tính a i1 x 1 +a i2 x 2 ≤ b i xác định một nửa mặt phẳng. ( ) 21 , xxx = . 2211 xcxc += α Như vậy miền ràng buộc D được xác định như là giao của một nửa mặt phẳng và sẽ là một đa giác lồi trên mặt phẳng. Phương trình c 1 x 1 +c 2 x 2 = α khi α thay đổi sẽ xác định trên mặt phẳng các đường thẳng song song với nhau mà ta sẽ gọi là các đường mức (với giá trị mức α ). Mỗi điểm ∈D sẽ nằm trên một đường mức với mức Bài toán đặt ra có thể phát biểu theo ngôn ngữ hình học như sau: trong số các đường mức cắt tập D, hãy tìm đường mức với gía trị lớn nhất. ( ) 21 ,ccn = Nếu dịch chuyển song song các đường mức theo hướng vector pháp tuyến của chúng thì giá trị mức sẽ tăng, nếu dịch chuyển theo hướng ngược lại thì giá trị mức sẽ giảm. Vì vậy để giải bài toán đặt ra, ta có thể tiến hành như sau. Bắt đầu từ một đường mức cắt D, ta dịch chuyển song song các đường mức theo hướng vector pháp tuyến (c 1 ,c 2 ) cho đến khi việc dịch chuyển tiếp theo làm cho đường mức không còn cắt D nữa thì dừng. Điểm của D (có thể nhiều điểm) nằm trên đường mức cuối cùng này sẽ là lời giải tối ưu cần tìm, còn giá trị của hàm mục tiêu tại đó chính là giá trị tối ưu của bài toán. Ví dụ: Xét bài toán: 0,0 3 72 82 21 2 21 21 ≥≥      ≤ ≤+ ≤+ xx x xx xx f(x)= 4x 1 +5x 2 →max y n *x x Xét đường mức: 4x 1 +5x 2 =10. Đường mức này đi qua hai điểm (0,2) và (2.5,0). Ta có x*=(3,2), f max =22 [...]... huống bài toán không có phương án tối ưu ii) Cơ sở của thuật toán Xét bài toán QHTT dưới dạng chính tắc: < c, x > → max (1.6) Ax = b (1.7) x≥0 (1.8) Trong đó A là ma trận kích thước mxn và giả sử rằng hạng của ma trận A là m (điều này không làm mất tính tổng quát) x là một vector Giả sử x là một phương án cực biên nào đó Ta ký hiệu: J* = {j| xj > 0} (1.9) Vì các vector Aj, j∈J* là độc lập tuyến tính. .. cũng chắc chắn có phương án tối ưu 1.2.2 Một số tính chất chung Mệnh đề 1: Tập hợp tất cả các phương án của một bài toán QHTT là tập lồi Tập lồi D các phương án của một bài toán QHTT xác định bởi toàn bộ các ràng buộc (1.2) và (1.3) Tập D có thể là rỗng, hoặc là một đa diện lồi hoặc là một tập lồi đa diện không giới nội Nếu D là một đa diện lồi thì bài toán có phương án, hơn nữa giá trị tối ưu của hàm... và đủ là các vector cột Aj của ma trận A ứng với các thành phần xj > 0 là độc lập tuyến tính 1.2.3 Phương pháp đơn hình giải bài toán QHTT n ∑x j =1 j = 1, x j ≥ 0, j = 1, , n (1.5) Cơ sở của phương pháp này đươc G.B Dantzig công bố năm 1947 có tên gọi là phương pháp đơn hình Sở dĩ có tên gọi như vậy là vì những bài toán đầu tiên được giải bằng phương pháp đó có các ràng buộc dạng: Mà tập hợp các điểm... jk A j j∈J Mỗi vector Ak phi cơ sở có thế biểu diễn dưới dạng tổ hợp tuyến tính của các vector cơ sở: Trong đó các hệ số zjk được xác định duy nhất bởi việc giải hệ phương trình: ∑z j∈J jk (1.11) aij = aik , i = 1, m Bài toán QHTT được gọi là không thoái hoá nếu tất cả các phương án cực biên của nó đều không thoái hoá Giả sử bài toán không thoái hoá và ta đã tìm được một phương án cực biên x=(x1, x2,... thoả mãn các ràng buộc trên là một đơn hình trong không gian n chiều  Đường lối chung và cơ sở của thuật toán i) Đường lối chung Phương pháp đơn hình dựa trên hai nhận xét sau: nếu bài toán QHTT có phương án tối ưu, đa diện lồi D có một số hữu hạn đỉnh Như vậy phải tồn tại thuật toán hữu hạn Thuật toán gồm hai giai đoạn: - Giai đoạn 1: Tìm một phương án cực biên (một đỉnh) - Giai đoạn 2: Kiểm tra điều...và x* là một đỉnh của D Qua phương pháp hình học ta thấy rằng: - Nếu quy hoạch tuyến tính có phương án tối ưu thì có ít nhất một đỉnh là tối ưu Sở dĩ nói ít nhất vì có trường hợp đường mức ở vị trí giới hạn trùng với một cạnh của D thì tất cả các điểm trên cạnh này là phương án... Mệnh đề 3: Nếu các vector A1, A2, , Ak là độc lập tuyến tính và thoả mãn x1A1+x2A2+ +xnAn=b trong đó xj > 0, j=1, k thì điểm x=(x1,x2, ,xk,0, ,0) là điểm cực biên của tập lồi đa diện D Mệnh đề 4: Nếu x =(x1,x2, ,xn) là điểm cực biên của tập lồi đa diện D thì các vector Aj trong biểu diễn (1.4) ứng với các thành phần x j > 0 lập thành hệ độc lập tuyến tính Vì ma trận A có m dòng nên từ đây suy ra rằng... sang xét thuật toán đơn hình  Thuật toán đơn hình Giả sử ta đã đưa QHTT về dạng chính tắc: cx=Z→ max Ax=b x≥0 Bước 1: Xây dựng bảng đơn hình xuất phát Tìm một phương án cực biên xuất phát x và cơ sở của nó Aj, j∈J ∑z • j∈J jk A j = Ak zjk bởi hệ phương trình: Xác định các số ∆ k = ∑ z jk c j − c k j∈J • Đối với mỗi k ∉ J , tính các ước lượng: Còn với j∈J thì ∆j = 0 Z0 = ∑ c j x j • j∈J Tính giá trị... hàm mục tiêu Bước 2: Kiểm tra tối ưu Nếu ∆k ≥ 0, ∀k ∉ J thì x là phương án tối ưu, dừng thuật toán Trái lại, chuyển sang bước 3 Bước 3: Tìm vector đưa vào cơ sở Có hai khả năng xảy ra: •Tồn tại k∉J sao cho ∆k< 0 và zjk ≤ 0, ∀j∈J thì bài toán QHTT không có lời giải tối ưu (Z không bị chặn trên) Dừng thuật toán • ∆ s = min { ∆ k ∆ k < 0} Đối với mỗi k∉J sao cho ∆k< 0 đều tồn tại j ∈ J: zjk> 0 Khi đó... án cực biên mới và cơ sở mới Cơ sở mới là {Aj,j ∈J’} với J’= J\{r} ∪ z{s} Phương án cực biên mới x’ được tính theo (1.26), khai { 〈 c , x〉 Ax = b, x ≥ 0} triển của các véc tơ Ak theo các cơ sở mới được tính theo công thức (1.28) Quay lên bước 2 ∆ s = max{ ∆ k ∆ k > 0, k ∉ J } Chú ý Đối với bài toán min thì tiêu chuẩn tối ưu là ∆k≤ 0 (∀k) và vector As được chọn đưa vào cơ sở theo công thức:  Công . method) để giải bài toán QHTT. Năm 1952 phương pháp đơn hình đã được chạy trên máy tính điện tử của Mỹ. 1.2.1 Bài toán quy hoạch tuyến tính  Bài toán tổng quát trọng. Nó được sử dụng làm cơ sở toán học trong việc xây dựng các thuật toán. Quy hoạch tuyến tính là một trong những lớp bài toán tối ưu được nghiên cứu trọng

Ngày đăng: 30/10/2013, 13:20

Hình ảnh liên quan

Để dễ tính toán, trong mỗi bước lặp ta thiết lập bảng đơn hình (xem bảng 1.1). Nếu tất cả các số trong dòng cuối (trừ hàm mục tiêu f ) đều không âm, nghĩa là - BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

d.

ễ tính toán, trong mỗi bước lặp ta thiết lập bảng đơn hình (xem bảng 1.1). Nếu tất cả các số trong dòng cuối (trừ hàm mục tiêu f ) đều không âm, nghĩa là Xem tại trang 20 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan