1. Trang chủ
  2. » Hoá học lớp 11

Toán quy hoạch tuyến tính

70 11 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 865,77 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sù cÇn thiÕt vÒ tèi ­u ho¸ trong qu¸ tr×nh s¶n xuÊt vµ quèc phßng cïng víi sù ra ®êi cña c¸c ph­¬ng tiÖn tÝnh to¸n ®· gióp cho lý thuyÕt quy ho¹ch tuyÕn tÝnh ph¸t triÓn hoµn thiÖn vµ c[r]

Trang 1

Bé m«n To¸n

Vò Kh¾c B¶y

Bµi gi¶ng

To¸n quy ho¹ch tuyÕn tÝnh

(Dïng cho c¸c ngµnh Kinh tÕ , QTKD, KÕ to¸n)

Hµ néi - N¨m 2010

Trang 2

mở đầu

Lý thuyết quy hoạch tuyến tính là một ngành học ra đời và được áp dụng trong thực tế qua mấy chục năm gần đây Sự cần thiết về tối ưu hoá trong quá trình sản xuất và quốc phòng cùng với sự ra đời của các phương tiện tính toán đã giúp cho lý thuyết quy hoạch tuyến tính phát triển hoàn thiện và các áp dụng của nó càng có tính hiệu quả trong thực tế

Môn học Toán Quy hoạch tuyến tính là một trong các môn học của các trường đại học nói chung và trường đại học Lâm nghiệp nói riêng Với thời lượng 30 tiết nên trong chương trình

sẽ đề cập đến một số các nội dung sau:

 Các ví dụ thực tế để dẫn đến khái niệm về bài toán quy hoạch tuyến tính

 Bài toán quy hoạch tuyến tính : với các dạng thức khác nhau

 Phương pháp đơn hình giải bài toán quy hoạch tuyến tính chính tắc , dạng tổng quát

 Bài toán vận tải

 Bài toán đối ngẫu

Trong nội dung phương pháp đơn hình sẽ giải quyết đầy đủ các trường hợp : Kiểm tra sự tồn tại nghiệm, các vấn đề đặt ẩn phụ, ẩn giả tạo, vấn đề thoái hoá

Về phần bài tập sẽ tập trung vào các nội dung:

 Thiết lập bài toán : từ các vấn đề thực tế đưa ra các công thức toán học

 Biết giải bài toán quy hoạch tuyến tính theo phương pháp đơn hình

 Thiết lập được bài toán đối ngẫu

 Biết giải bài toán vận tải : Cước phí nhỏ nhất

Trang 3

Chương I

Bài toán quy hoạch tuyến tính

I Các ví dụ dẫn đến khái niệm

1 Bài toán lập kế hoạch sản xuất : Có một xí nghiệp sản xuất hai loại sản phẩm thức ăn gia súc A và B Các sản phẩm này được sản xuất từ 3 loại nguyên liệu ngô , khoai , sắn Dự trữ từng loại nguyên liệu được cho trong bảng 1 và số lượng kg từng loại nguyên liệu dùng để sản xuất ra một bao sản phẩm cũng được ghi trong bảng 1

Vấn đề đặt ra là nên sản xuất mỗi loại sản phẩm là bao nhiêu bao để được lãi nhiều nhất Biết rằng một bao sản phẩm A lãi 50 nghìn, một bao sản phẩm B lãi 30 nghìn Loại nguyên

và x , y ≥ 0 Như vậy ta có thể phát biểu một cách ngắn gọn hơn theo ngôn ngữ toán học :

Tìm các giá trị x và y để z = 50x + 30 y > Max , với các điều kiện

Trang 4

Người ta cần vận chuyển một loại hàng từ hai xí nghiệp A và B đến 2 của hàng I và II Khả năng sản xuất hàng của các xí nghiệp , khả năng tiêu thụ hàng của các cửa hàng và cước phí vận chuyển được cho trong bảng 2 Vấn đề đặt ra là nên vận chuyển hàng từ đâu đến đâu, với số lượng là bao nhiêu, để đảm bảo cung và cầu đồng thời cước phí tổng cộng là nhỏ nhất

A - 15 (tấn) 15 (nghìn/tấn) 30 (nghìn/tấn)

B - 35 (tấn ) 20 (nghìn/tấn) 50 (nghìn/tấn)

Để giải quyết vấn đề trên ta lập mô hình toán học như sau:

Gọi x11 - lượng hàng từ xí nghiệp A đến cửa hàng I

Gọi x12 - lượng hàng từ xí nghiệp A đến cửa hàng I I

Gọi x21 - lượng hàng từ xí nghiệp B đến cửa hàng I

Gọi x22 - lượng hàng từ xí nghiệp B đến cửa hàng I I

Như vậy cước phí tổng cộng sẽ là : Z = 15x11 + 30 x12 + 20 x21 + 50 x22 , do đó ta phải tìm các giá trị x11 , x12 , x21 , x22 để sao cho Z có giá trị nhỏ nhất và phải vận chuyển hết số hàng ( cân bằng Thu - Phát ), chú ý rằng các giá trị x11 , x12 , x21 , x22 không âm , và như vậy bài toán được phát biểu như sau :

Tìm Z = 15x11 + 30 x12 + 20 x21 + 50 x22 -> min , với các ràng buộc

Trang 5

Một đội sản xuất cần phân công một số người đi gặt lúa, còn một số người vận chuyển lúa

về kho Toàn đội có 15 lao động loại A, 20 lao động loại B và 10 lao động loại C Năng suất làm việc của mỗi loại lao động đối với từng loại công việc được cho trong bảng 3 (tính theo đơn vị sào/ngày) Hãy phân công lao động sao cho gặt được nhiều nhất và vận chuyển hết số lúa về kho gặt trong ngày đó

Để giải quyết vấn đề trên ta lập mô hình toán học như sau :

Gọi x , y , z là số lao động loại A , B , C được cử đi gặt lúa, do đó số lao động chuyển lúa sẽ là loại A : 15 - x , loại B : 20 - y , loại C : 10 - z

Vì hai công việc phải hoàn thành cân đối nên

x y z là gi trị nguy n

4 Nhận xét chung Nhìn dạng toán học của 3 bài toán trên, ta có một số nhận xét sau :

 Những bài toán này thuộc loại bài toán tìm cực đại hay cực tiểu của một hàm ( mà

ở đây là một hàm tuyến tính )

 Các ẩn phải thỏa mãn một số các điều kiện ràng buộc : bởi các đẳng thức hay bất

đẳng thức ( cũng là các dạng tuyến tính)

Trang 6

II C¸c d¹ng tæng qu¸t kh¸c nhau cña bµi to¸n quy ho¹ch tuyÕn tÝnh

1 C¸c d¹ng kh¸c nhau cña bµi to¸n

Bµi to¸n quy ho¹ch tuyÕn tÝnh tæng qu¸t lµ bµi to¸n cã d¹ng sau:

A :

1

1 1

1 1

ij j i j

n

ij j i j

n

ij j i j

ij j i

j 1 j

Trang 7

 Dạng chính tắc :

n

i i

j 1 n

ij j i

j 1 j

Chú ý rằng ở đây luôn có thể giả thiết các b i ≥ 0 ( vì nếu có một b k < 0 thì đổi dấu 2 vế ta

có được giả thiết trên) Như vậy một bài toán quy hoạch tuyến tính bất kỳ đều có thể đưa về

dạng chuẩn tắc hay dạng chính tắc ở đây ta xét bài toán chủ yếu ở dạng chính tắc

Đối với bài toán quy hoạch tuyến tính chính tắc (8) - (10) không giảm tính tổng quát ta có thể giả thiết:

1 Hệ (8) - (10) gồm m phương trình độc lập

2 m < n vì nếu m  n thì hệ (8)-(10) hoặc tương thích ( 1 nghiệm duy nhất) hoặc không tương thích, như vậy vấn đề tìm phương án tối ưu là không ý nghĩa

3 bi  0 ( i = 1,2, m ) vì nếu bi < 0 thì chỉ cần đổi dấu hai vế là được

4 Bài toán yêu cầu tính cực tiểu, vì tìm Max thì đổi về tìm Min bằng cách :

n n

n

m

b b P a

a a P a

a a P a

2

22 12 2

1

21 11

Trang 8

b) Dạng ma trận :

Min[ f = [c,X)] (11) Với điều kiện

3 Tập hợp L các phương án gọi là bị chặn nếu tồn tại một số  nào đó để với mọi

phương án X  L ta có xi <  ( i = 1, 2, , n) Các bài toán quy hoạch tuyến tính có ràng buộc dạng

hệ số của các xj trong m ràng buộc này ( như trên đã thấy) lập thành một

ma trận A cỡ m ì n Ma trận A có n cột ( vì có n biến x1 , x2 , , xn) và cột thứ j ( ứng với biến xj) được ký hiệu là Pj và gọi là véc tơ điều kiện ứng với biến xj

5* Để sử dụng cho các phát biểu sau này, người ta đưa ra hai khái niệm về các ràng buộc:

ràng buộc chặt và ràng buộc lỏng :

Trang 9

 Nếu phương án X mà ràng buộc thứ i thỏa mãn với dấu đẳng thức, tức là : n

Ta có phương án X = ( 4 , 6 ) (vì thỏa mãn điều kiện (a), (b) , (c), (d) ), và phương án

X thỏa mãn chặt điều kiện (a),(b) , thỏa mãn lỏng điều kiện (c) và (d)

3 Nhận xét

 Việc giải bài toán QHTT trên thực chất là tìm nghiệm của (12) với các ẩn xi không

âm , mà hệ phương trình tuyến tính (12) là một hệ có vô số nghiệm ( vì nếu có nghiệm duy nhất thì bài toán tối ưu không còn ý nghĩa), điều đó sẽ dẫn đến tại sao

có được giả thiết : hệ (12) có m phương trình độc lập tuyến tính với m < n và hạng của ma trận hệ số = hạng ma trận mở rộng = m

 Bài toán QHTT cũng là một bài toán tìm cực trị của một hàm nhiều biến (11), chịu một số các ràng buộc (12) và (13), nên phương pháp giải tổng quát có thể dùng phương pháp biến thiên hằng số Lagrăng, nhưng ở đây do tính chất đặc biệt của bài

toán : Hàm mục tiêu và các ràng buộc là tuyến tính với các biến, nên bài toán

QHTT sẽ được giải theo một cách khác tiện lợi hơn

4 Phương pháp giải bài toán QHTT bằng hình học

Trang 10

Để hiểu một cách đơn giản phương pháp hình học, ta trở lại bài toán ví dụ trong phần 1 mục I :

Tìm các giá trị x và y để z = 50x + 30 y > Max , với các điều kiện

 Biểu diễn các điểm có tọa độ thỏa mãn điều kiện ax + by + c  0 trong mặt phẳng Oxy

là một nửa mặt phẳng do đường thẳng ax + by + c = 0 xác định Đường thẳng ax + by + c = 0

có pháp tuyến n

= ( a , b) Nếu từ một điểm M nằm trên đường thẳng vẽ pháp tuyến n

thì pháp tuyến này sẽ hướng về phía các điểm có tọa độ (x , y) làm cho biểu thức f(x,y) = ax + by + c càng tăng lên

 Tập hợp các điểm M(x,y) thỏa mãn một hay nhiều bất đẳng thức dạng ax + by + c  0

sẽ nằm trong một miền lồi

 Miền lồi là miền mà nếu A và B bất kỳ thuộc miền lồi thì các điểm trên đọan thẳng AB

sẽ thuộc miền, tức là nếu A(xA, yA) , B(xB , yB) thuộc miền lồi thì các điểm M (x,y) với :

với 0  t  1 sẽ thuộc miền lồi

 Ta biểu diễn miền thỏa mãn điều kiện (14) trên mặt phẳng Oxy như sau:

Trang 11

Bằng cách tịnh tiến đường thẳng 50x + 30y = 0 theo hướng véc tơ pháp tuyến n

= ( 50 , 30) , khi đó các điểm nằm trên đường thẳng sẽ có tọa độ (x , y) làm cho trị của biểu thức

Z = 50x + 30y tăng lên Do có ràng buộc (14) nên các điểm này lại phải nằm trong miền được tô

đậm, cuối cùng ta được vị trí điểm M (9/2 , 5) thuộc miền tô đậm ( miền lồi mà thỏa mãn (14))

sẽ làm cho biểu thức Z = 50x + 30y đạt Max với giá trị ZMax = 375

Vậy nghiệm của bài toán sẽ là : x = 9/2 ; y = 5 khi đó ZMax = 375

Nhận xét :

 Tập hợp các điểm thỏa mãn các điều kiện ràng buộc (14) là một miền D nếu bị chặn (tức

là tồn tại một hình tròn tâm O bán kính R chứa được D và khi đó miền D sẽ là một đa giác lồi)

thì bài toán luôn có nghiệm, và nghiệm sẽ nằm trên biên của D

 Các điểm của D cũng là các phương án Điểm trên đỉnh của đa giác lồi D được gọi là

phương án cực biên

 Nếu bài toán có nghiệm thì sẽ tồn tại ít nhất một phương án cực biên ( tức là một đỉnh

của đa giác lồi D) là phương án tối ưu ( là nghiệm của bài toán)

 Số các đỉnh của miền D là hữu hạn ( tức là số các điểm cực biên là hữu hạn), vì vậy cho phép ta hạn chế được số lượng tính vì nghiệm của bài toán nằm trong số các điểm cực biên

Trang 12

5 Một số định nghĩa và định lý

Định nghĩa : Một phương án thỏa mãn chặt n ràng buộc độc lập tuyến tính được gọi là

phương án cực biên ( n là số biến )

Định nghĩa : Phương án cực biên được gọi là không thoái hoá hoặc không suy biến nếu

số thành phần dương của nó đúng bằng m ( tương ứng với điều kiện : phương án thỏa mãn chặt

đúng n ràng buộc) Trường hợp ngược lại là thoái hoá hoặc suy biến

Xét bài toán ở dạng chính tắc :

Định lý : Phương án X = (x1, x2, , xn) của bài toán ở dạng chính tắc (trong bài toán (11) - (13) ) là điểm cực biên khi và chỉ khi thì hệ véc tơ Pj ứng với các xj > 0 ( trong X) sẽ lập thành một hệ véc tơ độc lập tuyến tính

Hệ quả : Số thành phần dương của một phương án cực biên không thể vượt quá m, (vì

ma trận A có cỡ : m  n nên số véc tơ ĐLTT của A ≤ min(m,n)

Các tính chất cơ bản

Tính chất 1 : ( Sự tồn tại của p.a cực biên) :

Nếu bài toán có phương án, và hạng của ma trận hệ ràng buộc ( kể cả ràng buộc về dấu)

bằng n ( n là biến số) thì bài toán có phương án cực biên

Hệ quả: Nếu bài toán có phương án, và có tất cả các ràng buộc về dấu ( chẳng hạn như

bài toán ở dạng chính tắc) thì luôn có phương án cực biên

Tính chất 2 ( Sự tồn tại p.a tối ưu )

Nếu bài toán có phương án, và trị số của hàm mục tiêu bị chặn dưới khi f(x) => min (hoặc bị chặn trên khi f(x) => Max) trên tập p.a thì bài toán có p a tối ưu

Tính chất 3 : ( Sự tồn tại p.a cực biên tối ưu )

Nếu bài toán có p a cực biên và có p.a tối ưu thì bài toán có p.a cực biên tối ưu

Chú ý : Trên đây là các điều kiện đủ để kết luận sự tồn tại của p án cực biên , p án tối ưu,

phương án cực biên tối ưu

Trang 13

Chương II Phương pháp đơn hình

I nội dung của phương pháp đơn hình

1 Đặt bài toán Như trong mục 1 , phần I , chương I đã nhận xét rằng: bài toán QHTT

luôn có thể đưa về dạng chính tắc và tìm min hàm mục tiêu : vì ở dạng chuẩn tắc ta có

thể đưa về chính tắc bằng cách đặt các ẩn phụ, còn nếu tìm Max hàm tiêu thì bằng cách

đổi dấu biểu thức hàm mục tiêu khi đó bài toán trở về tìm min hàm mục tiêu

Chính vì lẽ đó ở đây ta xét bài toán

Tìm Min f = c x i i

i n

1

(11)

Với điều kiện

P1x1 + P2x2 + + Pnxn = P0 (12)

Chú ý : Vế phải của các ràng buộc (12) là véc tơ P0 có các thành phần là bi  0

Thực chất của phương pháp đơn hình là tìm một dãy các điểm cực biên sao cho điểm sau

tốt hơn điểm trước, đó là phương pháp cải tiến dần các phương án Vì các điểm cực biên là

hữu hạn nên việc thực hiện trên sẽ có kết thúc

2 Thuật toán của phương pháp đơn hình

2.1 Giả thiết rằng bài toán (11) - (13) không thoái hoá, đồng thời biết được một phương

án cực biên không thoái hoá nào đó, hoặc giả thiết Bài toán dạng chuẩn : Nếu bài

toán dạng chính tắc ( với các bi  0) và mỗi phương trình trong (12) đều có một biến số với hệ số bằng 1, đồng thời biến số này không có mặt trong các phương trình khác ( gọi là biến cô lập với hệ số bằng 1)

(sau này các giả thiết này sẽ được bỏ)

Giả thiết trên có nghĩa là : trong bài toán (11) - (13) có m véc tơ Pk - lập thành một hệ cơ sở chính tắc của không gian Rm , ( t là trong Pk chỉ có một thành phần bằng 1, còn lại bằng 0) T.là giả sử P1 , P2 , , Pm là hệ cơ sở :

Trang 14

Với giả thiết như vậy có thể tóm tắt ra đây các trình tự thực hiện của phương pháp đơn hình :

Chọn một cơ sở của phương án cực biên X0 Giả sử cơ sở đó là {Pi : i  K } , (không mất

tính tổng quát ta lấy K = { 1 ,2 , 3 , , m}) Khi đó X0 = (x1, x2 , ,xm, 0 , ,0) là một phương

án cực biên ( giả thiết không thoái hoá) của bài toán quy hoạch tuyến tính viết dưới dạng chính

tắc ( tìm min) và giá trị tương ứng của hàm mục tiêu là

f(X) = Z0 = c1 x1 + c2x2 + + cmxm với các giá trị của xi = bi ( vế phải các ràng buộc) Như vậy ta sẽ có j i j i

Bước 2 : Xét các dấu j khi đó sẽ xảy ra hai trường hợp sau :

I Nếu mọi   0 ( j = 1, 2, 3, , n) thì Xj 0 là một phương án tối ưu Thuật toán kết thúc

II Nếu có một   0 thì ta có thể tìm được một phương án mới sao cho giá trị tương jứng của hàm mục tiêu nhỏ hơn z , khi đó sẽ xảy ra các trường hợp sau:

A Nếu mọi x i j 0 ( i = 1, 2, , m - tức là các giá trị của xij cùng cột với  ) thì j

sẽ tìm được một phương án có đúng m + 1 thành phần dương và giá trị của hàm mục tiêu này

nhỏ tuỳ ý, bài toán vô nghiệm Thuật toán kết thúc

B Nếu có ít nhất một số xi j > 0 ( i = 1, 2, .,m) thì có thể xây dựng được một phương án cực biên không thoái hoá thực sự tốt hơn X0

Trang 15

( Vị trí của x rk được gọi là phần tử quay, r được gọi là cột quay, k được gọi là hàng quay)

Chú ý rằng xi = bi là vế phải các ràng buộc và do các ràng buộc là một hệ phương trình đại số tuyến tính nên ta chia hàng quay cho xrk để vị trí quay bằng 1 ; sau đó nhân hàng quay với các số thích hợp rồi đem cộng vào các hàng khác nhằm mục đích các vị trí còn lại trên cột quay( cột k) đều bằng 0 Các thao tác trên đã thay hệ phương trình của các ràng buộc bằng một

hệ tương đương, lúc này ta đã có một hệ cơ sở mới , với hệ cơ sở này thì giá trị hàm mục tiêu nhỏ hơn trước

Đến đây ta lặp lại bước 1 ( Chú ý rằng nếu ta viết các Δj cùng với cột j , khi ta nhân hàng quay với số thích hợp rồi cộng vào hàng các Δj với mục đích vị trí Δk = 0 thì khi đó ta đã tính thay cho bước 1 )

Nếu bài toán quy hoạch tuyến tính không thoái hoá thì thuật toán đơn hình sẽ kết thúc sau hữu hạn bước lặp

Hàng thứ 4 > 6 : Các giá trị aij ( là giá trị các xij ban đầu),

Hàng 3 : ghi ký hiệu các véc tơ P1 , P2 , , P6 ( sẽ là các véc tơ cột trong ma trận hệ

số của các ràng buộc được viết ở dưới )

 Cột 4: hàng thứ 4 >6 ghi giá trị vế phải ràng buộc

Trang 16

x4 , x5 trong biểu thức của f

4 Ký hiệu hàng 4 > 6 : các phần tử các cột 3 véc tơ cột C ; Các phần tử cột 4 là véc tơ P , các cột từ 5 > 10 là các véc tơ P1 > P6

5 ở hàng 7 : cột 4 là kết quả của P nhân vô hướng với C

các cột 5 > 10 là kết quả nhân vô hướng của Pk với C rồi trừ đi Ck Hàng M +1 chính là các

  ; vậy phần tử quay là ( 1,6) và P6 được thay cho P2

7 ở cột 3 : viết P6 thay cho P2 và cùng hàng ở cột 3 được viết thay bởi giá trị của C6

8 Sử dụng hai phép biến đổi sơ cấp của ma trận trên hàng đối với ma trận có các phần

tử từ hàng 4 > 7 ( kể cả hàng có mã M + 1, M + 2 ) , cột 4 > 10 với mục đích đưa

phần tử quay về 1 , còn các phần tử cùng cột về 0

( Hai phép biến đổi sơ cấp ở đây là :

+ Nhân, chia một hàng với một số khác 0 + Nhân một hàng với một số rồi đem cộng vào hàng khác

Trang 17

c¸c gi¸ trÞ trong cét 4 , víi gi¸ trÞ fmin ë hµng M+1, cét 4

Trang 19

x x

x x

2.2 Vấn đề ẩn giả tạo

Như trên ta đã giả thiết có được phương án cực biên ban đầu, tức là có sẵn m véc tơ đơn vị trong

số các véc tơ P1, P2, ,Pn, nhưng không phải lúc nào cũng có sẵn cho ta như vậy Để giải quyết vấn đề này, năm 1952 Orden đề xuất phương pháp ẩn giả tạo Giả sử bài toán (11) - (13) trong

đó có một số véc tơ đơn vị chưa có trong số các véc tơ P1, P2, ,Pn, ta có thể bổ sung vào các ẩn giả tạo để được bài toán sau:

Giả sử trong số các véc tơ P1, P2, ,Pn không có các véc tơ đơn vị nào:

Trang 20

Có thể chọn trước một số M 0 đủ lớn để sao cho với mọi M >M 0 thì:

1) Bài toán gốc (11) - (13) có nghiệm là X khi và chỉ khi bài toán (M) có nghiệm là

Y = (X,0)

2) Nếu bài toán gốc (11) - (13) có phương án thì mọi phương án tối ưu (nghiệm) của

bài toán (M) phải có dạng (X,0) Tức là nếu mọi phương án tối ưu của bài toán (M)

đều có ít nhất một thành phần x n + i

( i = 1, 2, ,m) thì bài toán gốc (11) - (13) không có phương án tối ưu nào

Trong thực tế khi phải dùng đến ẩn giả tạo, ta không cần phải xác định giá trị M0 mà luôn coi M

là một số dương khá lớn, vì vai trò M chỉ ở trong chứng minh, không ảnh hưởng đến nghiệm và việc tìm nghiệm của bài toán

Do hàm mục tiêu  là tuyến tính với M nên các ước lượng j trong bài toán (M) cũng tuyến tính với M tức là có dạng : j = j + M j Do M rất lớn nên quy tắc so sánh như sau:

j > 0 nếu j > 0 ( bất kể j ), hoặc ( j = 0 và j > 0 )

j > i nếu j > i hoặc ( j = i và j > i ) trong bảng đơn hình hàng thứ m + 1 ghi các j còn hàng thứ m + 2 ghi các j

Trang 21

VÝ dô

T×m min cña f(X) = 3x1 - 2x2 + x3 víi c¸c rµng buéc :

Trang 22

Nghiệm của bài toán : f min = f( 0, 26/7 , 18/7 , 0 , 20/7) = -34 / 7 = - 4.857

2.3 Vấn đề thoái hoá

Trong tính toán nếu gặp hiện tương thoái hoá ta có thể tiến hành xác định Pr như sau Tính

0

min

i k

i x

i k

x x

 Nếu cực tiểu này đạt tại chỉ một chỉ số i = r thì véc tơ Pr bị loại ra khỏi cơ sở

 Nếu min xét trên đạt ở nhiều hơn hai chỉ số tức là

0

i k

p i

x

i k pk

x x

x x

 , + Nếu cực tiểu đạt ở một chỉ số p = r thì Pr bị loại ra

+ Nếu cực tiểu đạt trên một tập hợp chỉ số C1 thì ta xét tiếp 2

1

min p

p C pk

x x

cứ tiếp tục như vậy phải đến lúc cực tiểu đang xét chỉ đạt trên một chỉ số Vì nếu ngược lại thì sẽ có hai hàng trên bảng đơn hình tỷ lệ với nhau, tức là có hai ràng buộc trùng nhau, ta đã phải loại ngay từ đầu vì nó dẫn đến hạng của ma trận A không bằng m

Sau khi đưa ra sơ đồ thuật toán tổng quát, chúng tôi viết chương trình thực hiện tính toán trên máy và có in một số kết quả ví dụ

Trang 23

i k

i x i

Trang 25

Sơ đồ thuật toán tổng quát của phương pháp đơn hình

Bắt đầu Nhập các giá trị của các ci, ai j , bi

 Kiểm tra đưa về chính tắc => tự động đặt ẩn phụ.và

đưa về dạng chính tắc với các bi  0

 Kiểm tra các véc tơ đơn vị Pj => tự động đặt ẩn giả tạo

Nghiệm Xét các cột Pj với j > 0 và xi j  0  i Có Vônghiệm

Trang 26

II các bước thực hiện giải bài toán QHTT theo phương pháp đơn hình

1 Đưa bài toán về dạng chính tắc và tìm min , các ràng buộc với vế phải bi  0

A) Xét trên hàng i

Bắt đầu với k = 1 a) Xét trên cột k : 1) Nếu gặp ai k > 0 =>

 nếu có được a j k = 0 với mọi j i thì chia hàng thứ i cho ai k ( kể cả bi )

2) Nếu gặp ai k  0 =>

+ nếu k = n thì bổ sung ẩn giả tạo và véc tơ cơ sở ( là véc tơ đơn vị)

có thành phần thứ i = 1 =>

Trang 27

* Nếu i < m thì i := i +1 Trở về bước A)

* Nếu i = m => kết thúc phần I + Nếu k < n thì k : = k + 1 ( tức là chuyển sang xét ở cột k +1) => mục a)

Kết thúc I

4 Sau khi đã có hệ cơ sở Pk => viết các véc tơ cơ sở ( ở cột Cơ sở) và các Ci tương ứng ( ở cột C ) => thực hiện tính giá trị ở hàng M +1 , hàng M+2 , => tìm phần tử quay => Giả sử phần tử quay ở Hàng i , cột J ( trong ma trận ai j ), khi đó véc tơ Pj sẽ thay cho véc tơ ở hàng i (trong cột Cơ sở)

5 Sử dụng hai phép biến đổi sơ cấp trên Hàng đưa cột quay ( cột thứ J ) về véc tơ đơn vị: có thành phần thứ i = 1 => quay trở lại 4 đến khi có dấu hiệu kết thúc : Có nghiệm, hoặc vô nghiệm

Ví dụ Tìm Max f(X) = x1 - 3x2 + x3 với các ràng buộc :

1 Đưa bài toán về dạng chính tắc với hàm mục tiêu : tìm min

Min g(X) = -x1 + 3x2 - x3 với các ràng buộc

Trang 28

NghiÖm bµi to¸n (2) min g(X) = g(1 ,0 , 0 ) = -1

=> nghiÖm bµi to¸n (1) : Max f(X) = f(1 ,0 , 0 ) = 1 ; ( = - g(X) )

Trang 29

Chương IIi Phương pháp phân phối Trong chương này ta xét chủ yếu bài toán vận tải , có thể dùng phương pháp đơn hình để giải bài toán này, nhưng đối với bài toán dạng này thì phương pháp phân phối tỏ ra hiệu quả hơn : ngắn gọn và thuận lợi Phương pháp phân phối được ra đời sớm hơn phương pháp đơn hình

Giả sử có m kho hàng ( nơi phát hàng) và n cửa hàng ( nơi tiêu thụ) Cần phải bố trí

vận chuyển thế nào để cho cước phí tổng cộng là nhỏ nhất Ta đặt :

ai - Lượng hàng ở kho i cần chuyển đi ( i = 1 , 2 , , m )

bj - lượng hàng cần ở cửa hàng j ( j = 1, 2 , , n)

Ci j - Cước phí vận chuyển cho một đơn vị hàng từ kho i đến của hàng j

xi j - lượng hàng chuyển từ kho i đến của hàng j

m

i j j i

Trang 31

Để thực hiện các thao tác của phương pháp phân phối , ta sẽ tìm hiểu một số tính chất về bảng :

II Một số tính chất về bảng

Xét một bảng có m hàng và n cột Ô giao của hàng thứ i vầ cột j gọi là ô (i , j)

 Một tập hợp ô có dạng : (i1 , j1 ) ; (i1 , j2) ; (i2 , j2) ; (i2 , j3) ; tức là hai ô liên tiếp

nhau bao giờ cũng nằm trên cùng một hàng hay cùng một cột và ba ô liên tiếp sẽ

không cùng một hàng hoặc không cùng một cột Tập hợp ô như vậy được gọi là một dây chuyền

 Một dây chuyền khép kín được gọi là một chu trình => như vậy một chu trình sẽ là

một tập hợp ô có dạng: (i1 , j1 ) ; (i1 , j2) ; (i2 , j2) ; (i2 , j3) ; ; (ik , j1)

 Số ô của một chu trình là chẵn

Ví dụ Dây chuyền A > B : ( 1 ,1) ; (1, 3) ; ( 2 , 3) ; ( 2 , 4) Chu trình : (2 , 1) ; (2 , 2 ) ; ( 3 , 2) ; (3 , 4) ; (4 , 4) ; ( 4, 1)

Trang 32

 Tập hợp các giá trị xi j được gọi là một phương án của bài toán vận tải nếu nó thỏa

mãn các điều kiện (2) , (3) , (4) Phương án được gọi là tối ưu ( hay là nghiệm của bài

toán) nếu là hàm mục tiêu (1) đạt cực tiểu Một phương án trong bài toán vận tải có thể xem như là một ma trận X   xi j m n

 Ô (i ,j ) ứng với x i j > 0 được gọi là ô sử dụng của phương án X

 Một phương án mà các ô sử dụng không lập thành chu trình gọi là một phương án cơ

sở

 Gọi H là tập hợp các ô sử dụng của phương án cơ sở X , khi đó theo định lý II.1 thì

số ô của H không thể quá m + n -1 Nếu số ô của H đúng bằng m + n -1 thì phương

án cơ sở được gọi là không thoái hóa, nếu số ô của H ít hơn m + n -1 thì phương án cơ sở được gọi là thoái hóa

 Trong trường hợp thoái hóa ta có thể bổ sung cho tập H thêm một số ô sử dụng 0 ( tức

là xi j = 0 ) để cho H có đúng m + n - 1 ô không chu trình , những ô bổ sung loại này

m

i j j i

Trang 33

A’p dụng định lý trên , ta có thể quy 0 các ô chọn , tức là biến đổi cước phí các ô chọn

trong một phương án cơ sở thành 0 mà vẫn giữ được bài toán tương đương

Giả sử X là một phương án cơ sở, H là tập các ô chọn tương ứng gồm m + n -1 ô chọn không chu trình Để c’i j = 0 vố mọi ô (i , j)  H ta sẽ chọn các giá trị ri và sj sao cho :

c’i j = ci j + ri + sj = 0 ; (i , j)  H

Việc này dẫn đến giải hệ phương trình đại số tuyến tính có m + n ẩn ri và sj nhưng chỉ

có m + n -1 phương trình , chú ý rằng ma trận của hệ phương trình này có hạng bằng m + n -1 nhỏ hơn số ẩn là m + n => hệ có vô số nghiệm : m + n - 1 ẩn phụ thuộc vào 1 tham số ( rk hoặc sp nào đó) Vì vậy ta có thể cho giá trị tham số này bằng 0 để có thể tính nhanh các ẩn của ri và sj còn lại

Trang 34

 Nếu c i j 0 với mọi (i ,j) H thì X là phương án tối ưu

 Nếu có một số c i j < 0 với (i ,j) H thì ta có thể xây dựng được một phương án cơ sở mới X’ tốt hơn ( trong trường hợp không thoái hóa )

A’p dụng định lý trên ta xây dựng một phương án X’ tốt hơn như sau :

 Tìm ô (i ,j)  H có cước phí âm nhỏ nhất gọi là ô ( r, s) , khi đó tập hợp ô H (r,s)

sẽ có mọt chu trình V duy nhất , số ô của chu trình là chẵn Đánh số các ô của chu trình : số 1 cho ô (r , s) ; khi đó các ô trên V được chia thành 2 tập : Vc- tập ô chẵn,

 Phương án X’ có các x’i j được tính như sau :

( , ) ( , ) ( , )

Trang 35

Chú ý Nếu X không thoái hóa thì > 0 , khi đó X’ tốt hơn X Nếu X thoái hóa thì  có thể bằng 0 , khi đó X’ tốt ngang X

3 Phương pháp tìm phương án cơ sở ban đầu:

Có nhiều phương pháp để tìm phương án cơ sở ban đầu ở đây chỉ đưa ra 1 phương pháp

Phương pháp ưu tiên theo cước phí nhỏ nhất :

Giả sử cr k là phần tử nhỏ nhất trong ma trận cước phí C = ( ci j ) Ta sẽ phân phối vào ô (r, k) một cách tối đa có thể có được :

0 0

r k

a nếu a b và x với j k x

Khi xắp xếp trên bảng, ở mối ô: ta đặt các c i j ở góc phải dưới cùng còn x i j ghi góc trái trên

IV thuật toán Phương pháp phân phối

Giải bài toán vận tải ta thực hiện theo các bước sau :

1 Lập bảng : ghi các cước phí và lượng hàng thu - phát tương ứng

2 Xây dựng phương án cơ sở ban đầu với tập hợp ô chọn H ( sử dụng phương pháp ưu tiên theo cước phí nhỏ nhất )

3 Quy 0 cước phí các ô chọn

4 Kiểm tra các ô loại ( tức là các ô (i , j)  H ) :

 Nếu c i j 0 với mọi (i ,j) H thì X là phương án tối ưu

 Nếu có một số c i j < 0 với (i ,j) H thì ta có thể xây dựng được một phương án cơ sở mới X’ tốt hơn ( trong trường hợp không thoái hóa ) => trở về bước 3

Ngày đăng: 29/01/2021, 03:09

w