1. Trang chủ
  2. » Giáo Dục - Đào Tạo

bài giảng quy hoạch tuyến tính

126 2,2K 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 126
Dung lượng 2,33 MB

Nội dung

“Tương đương” ở đây có nghĩa là giá trị của hàm mục tiêu trong hai bài toán là như nhau và một PA của BT này cũng là PA của BT kia.● Cách đưa bài toán tổng quát về dạng chính tắc - Nếu

Trang 1

TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP

Khoa: KHOA HỌC CƠ BẢN

BÀI GIẢNG

GV: ThS HÀ ANH DŨNG

Trang 2

Chương I: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH

Trang 3

CHƯƠNG I:

I.Khái niệm về BT QHTT

1.Các ví dụ dẫn đến BT QHTT

Ví dụ 1: Bài toán lập kế hoạch sản xuất

Giả sử xí nghiệp X cần lập kế hoạch sản xuất giấy Nguyên liệu chính để sản xuất giấy là bột gỗ và chất hồ keo Xí nghiệp có thể sản xuất ba loại giấy A, B, C Mức tiêu hao nguyên liệu để sản xuất ra 1 tấn giấy A, B, C

và giá bán một tấn mỗi loại được cho trong bảng sau: ( được gọi là Bảng

hệ số kỹ thuật )

Nguyên liệu Hiện có A B C

Bột gỗ (tấn) 5500 tấn 1.5 1.8 1.6 Chất hồ keo (kg) 6800 kg 2.0 3.0 2.4

Trang 4

Bài toán được đặt ra là với nguyên vật liệu hiện có như trên thì Xí nghiệp cần phải sản xuất bao nhiêu tấn giấy mỗi loại để số tiền thu được

là tối đa Gọi x1, x2, x3 là số tấn giấy A, B, C cần sản xuất ( x1, x2, x3≥0 )

Ta có bài toán sau: tìm x1, x2, x3 sao cho:

f(x) = 27x1 + 36x2 + 30x3 → max 1.5x1 + 1.8x2 + 1.6x3 ≤ 5500 2x1 + 3x2 + 2.4x3 ≤ 6800

x1, x2, x3 ≥ 0

Ví dụ 2: Bài toán dinh dưỡng

Mỗi người chúng ta mỗi ngày, để có thể sinh hoạt và hoạt động bình thường, cần tiêu thụ ít nhất 60g protit, 50g lipid và 220g glucid Các thành phần dinh dưỡng này có trong 1g cá và 1g thịt như trong bảng dưới đây Biết rằng giá 1g cá và 1g thịt là 50 và 90 VNĐ Vậy mỗi ngày ta cần mua bao nhiêu gam thịt, cá sao cho số tiền phải chi là ít nhất nhưng vẫn đảm bảo lượng dinh dưỡng cần thiết Gọi x1 và x2 là số gam cá thịt cần mua trong ngày ( x1, x2 ≥ 0) Ta cần giải bài toán sau: tìm x1, x2 sao cho:

Trang 5

Chất dinh dưỡng Cá Thịt Protit (gam) 0.2 0.3 Lipid (gam) 0.1 0.1 Glucid (gam) 0.6 0.5

f(x) = 50x1 + 90x2 → min 0.2x1 + 0.3x2 ≥ 60 0.1x1 + 0.1x2 ≥ 50 0.6x1 + 0.5x2 ≥ 220

x1, x2 ≥ 0

Từ các ví dụ trên đây ta thành lập Bài toán quy hoạch tuyến tính (BT QHTT) tổng quát

Trang 7

■ Một số khái niệm cơ bản:

của bài toán gọi là một PA

Ràng buộc có dấu “=” được gọi là ràng buộc “chặt”; ràng buộc có dấu

“≤” hoặc “≥” là ràng buộc “lỏng”

Phương án tối ưu (PATƯ ): Một PA mà tại đó giá trị hàm mục tiêu đạt

giá trị nhỏ nhất (min) hoặc lớn nhất (max) được gọi là PATƯ

b x

a

(max) min

x c x

f

i

n

1 j

j ij

n

1 j

j j

BT QHTT dạng chính tắc là bài toán có các ràng buộc chung là chặt,

còn các ràng buộc về dấu là không âm

Trang 8

Mọi BT QHTT tổng quát đều có thể đưa về bài toán dạng chính tắc tương đương “Tương đương” ở đây có nghĩa là giá trị của hàm mục tiêu trong hai bài toán là như nhau và một PA của BT này cũng là PA của BT kia.

● Cách đưa bài toán tổng quát về dạng chính tắc

- Nếu một ràng buộc có dấu “≤” thì ta cộng vào vế trái một biến phụ

không âm xn+i để được ràng buộc chặt

- Nếu một ràng buộc có dấu “≥” thì ta trừ đi vế trái một biến phụ không

âm xn+i để được ràng buộc chặt

- Các biến phụ không tham gia trong hàm mục tiêu

- Nếu biến xj ≤ 0 thì đổi biến xj’= − xj ≥ 0

- Nếu xj có dấu tùy ý thì đặt xj = xj’− xj’’, với xj’, xj’’≥ 0

Trang 9

Ví dụ: Đưa bài toán sau về dạng chính tắc:

Trang 10

Các biến cơ sở là x1, x2,…xm Biến không phải là cơ sở được gọi là phi

cơ sở (biến tự do)

Trang 11

Nghiệm riêng cơ bản (cơ sở) là nghiệm riêng của hệ phương trình

tuyến tính khi ta cho các biến phi cơ sở (tự do) bằng 0

Phương án cực biên (PACB) của BT QHTT là nghiệm riêng cơ bản

của hệ các ràng buộc chung và thỏa mãn các ràng buộc về dấu Ở dạng chuẩn ta có PACB là X0 = ( b1, b2,….,bm, 0, 0,….,0 )

Trang 12

Giả sử cần chọn xv là biến cơ sở của hàng thứ r ta chọn phần tử arv là

Phần tử trục Đánh dấu phần tử trục bằng dấu [ ] Lưu ý phần tử trục

phải khác 0 Hàng chứa phần tử trục được gọi là Hàng xoay, cột chứa phần tử trục được gọi là Cột xoay.

Phép khử G-J gồm 3 bước sau đây:

- Chia hàng xoay cho arv ,

- Cho các phần tử khác trên cột xoay bằng 0 ,

- Các phần tử không thuộc hàng xoay và cột xoay được tính lại theo qui tắc hình chữ nhật như sau:

Trang 13

aiv aij

Thực chất, phép khử trên chính là phép biến đổi sơ cấp: lấy hàng i trừ

đi k lần hàng r, trong đó k = a / a , nên phép khử Gauss-Jordan là

Trang 15

Định lý 1: Số PACB của BT QHTT dạng chính tắc là hữu hạn và

trong đó m là số phương trình độc lập tuyến tính và cũng chính là hạng

của hệ ràng buộc chung

,

m n

C

Định lý 2: Số thành phần dương của 1 PACB không vượt quá m (vì có

thể có biến cơ sở bằng 0 ) Nếu số thành phần dương đúng bằng m thì PACB đó là không suy biến, nếu số thành phần dương nhỏ hơn m thì PACB đó là suy biến.

Định lý 3: Một PA là PACB nếu các véc tơ cột ứng với các thành phần

khác không là độc lập tuyến tính

Định lý 4: BT QHTT dạng tổng quát nếu có PA và hạng của hệ các

ràng buộc (kể cả ràng buộc về dấu) là n thì sẽ có PACB (Giao điểm của

n mặt siêu phẳng biên)

Hệ quả: BT QHTT dạng chính tắc nếu có PA thì sẽ có PACB (các ràng

Trang 16

Định lý 5: BT QHTT có PATƯ khi và chỉ khi nó có PA và hàm mục

tiêu bị chặn dưới với bài toán tìm min ( chặn trên với bài toán tìm max )

II PHƯƠNG PHÁP ĐƠN HÌNH

Hệ quả 3: PATƯ chỉ có thể là các điểm cực biên (PACB), cạnh biên

hoặc một phần của siêu phẳng biên

Trang 17

3 Trường hợp BT QHTT có dạng chuẩn

a Bài toán tìm f min

Thuật toán dưới đây áp dụng cho bài toán QHTT ở dạng chuẩn, tức là mỗi phương trình có một biến cơ sở, không mất tính tổng quát ta giả

thiết các biến cơ sở đó là: { x1, x2,…, xm } và PACB xuất phát là X0 =

(b1, b2, …,bm ,0,0, ,0) Thuật toán giải BT QHTT fmin gồm các bước sau:

Bước 1: Lập bảng đơn hình xuất phát:

2 Ý tưởng của phương pháp đơn hình

Nội dung của phương pháp đơn hình là tìm PATƯ ở các PACB (xem Hệ

quả 3 ở trên) Cụ thể là xuất phát từ một PACB, đánh giá xem PACB đó tối ưu chưa, nếu chưa phải là PATƯ thì ta tìm PACB tốt hơn (có giá trị hàm mục tiêu tốt hơn), cứ như vậy tới khi tìm được PATƯ, hoặc sẽ kết luận được rằng không tồn tại PATƯ Vì số PACB là hữu hạn nên số

bước thực hiện cũng hữu hạn

Trang 18

Hàng dưới cùng được gọi là hàng đặc trưng, trong đó:

là giá trị của hàm mục tiêu ứng với PACB

Trang 19

Bước 2: Kiểm tra dấu hiệu tối ưu:

+ Nếu ∆k ≤ 0 thì X0 là PATƯ và fmin = Δ0 Thuật toán kết thúc.

+ Nếu ∆ k > 0 mà aik ≤ 0 thì bài toán không có PATƯ

+ Nếu với mỗi ∆k > 0 đều có ít nhất một aik > 0 thì chuyển sang bước 3.

Bước 3: Cải tiến PACB:

- Ta sẽ đưa một biến mới vào cơ sở, đồng thời sẽ loại một biến ra khỏi

cơ sở để được PACB mới tốt hơn với giá trị của hàm mục tiêu nhỏ hơn

- Để cải thiện nhiều nhất ta sẽ chọn biến có ước lượng dương lớn nhất

để đưa vào cơ sở Giả sử ∆v > 0 lớn nhất thì xv sẽ được đưa vào cơ sở

- Trên cột v ta sẽ chọn phần tử trục (giả sử là arv) theo hai điều kiện sau:

arv > 0 và tỷ số (br / arv) là nhỏ nhất Ta đánh dấu phần tử trục arv bằng dấu [ ] Cột v sẽ là cột xoay, còn hàng r là hàng xoay

- Thực hiện phép khử G – J với phần tử trục arv ta được bảng đơn hình mới Trên hàng xoay ta có biến cơ sở mới là xv, biến cơ sở cũ trên hàng xoay bị loại ra khỏi cơ sở (các biến cơ sở khác giữ nguyên) thay xv vào

vị trí ở cột thứ nhất, và c vào vị trí ở cột thứ hai Sau đó trở lại bước 2

Trang 20

- Các giá trị trên hàng đặc trưng cũng được tính lại theo qui tắc hình chữ nhật

Lưu ý:

- Nếu mọi ước lượng của các biến phi cơ sở < 0 thì PATƯ là duy nhất

- Nếu Δk = 0 với k không thuộc cơ sở thì PATƯ không phải là duy nhất, vì nếu ta chọn cột k là cột xoay thì các giá trị trên hàng đặc trưng vẫn giữ nguyên (xem lại lưu ý 2 ở trang 9) Như vậy biến xk có thể được đưa vào cơ sở và ta được PATƯ mới

Trang 21

Trước tiên ta đưa bài toán về dạng chính tắc bằng cách cộng vào ràng buộc hai và ba hai biến phụ x5 và x6 Ta có:

Trang 23

0 0

0 1

–1

Trang 24

0 0

1 0

Trang 25

Ở bảng cuối ta thấy PATƯ X1 không phải là duy nhất vì 6 = 0 nên

ta có thể đưa x6 vào cơ sở

Trang 26

Ta có PATƯ khác là X2 = (0,0,14,0,16) Từ đó ta có vô số PATƯ:

X = α.X1 + (1 – α).X2 = α.(0,0,16,4,40,0) + (1 – α).(0,0,14,8,0,16)

= (0,0,14+2α,8-4α,40α,16-16α) Với α[0,1]

Chú ý:

Nếu bài toán QHTT không phải ở dạng chuẩn, nhưng cho trước PACB

X0 thì ta dùng phép khử Gauss-Jordan để tạo ra các biến cơ sở ứng với các thành phần dương của X0 Sau một số phép biến đổi ta sẽ có bài toán dạng chuẩn

Trang 27

Ví dụ 2: Cho bài toán:

Để giải bài toán bằng phương pháp đơn hình trước hết phải đưa bài toán về dạng chính tắc:

Trang 29

0 2 8 7

4

2 0

1 5 1

1 2

8 0

0 1

3 2

0 2 8

7 4

2 0

1 5 1

1 2

8 0

0 1 3 2

0 2 4

1 0

18 0

1 3 5

5 0

8 0

0 1 3 2

1

Ở ma trận cuối cùng ta có bài toán dạng chuẩn và

điền vào bảng đơn hình xuất phát:

Trang 31

b Bài toán tìm f max

Thuật toán tương tự như bài toán tìm fmin , có một số điểm khác là:

Ở bước 2 để có PATƯ thì Δk ≥ 0

Ở bước 3 để chọn biến cơ sở mới ta chọn Δk có giá trị âm nhỏ nhất

Hoặc ta có thể chuyển từ bài toán tìm max thành bài toán tìm min bằng cách đặt:

g(x) = - f(x) và ta có:

fmax = - gmin

Trang 32

- Dùng phương pháp đơn hình để giải bài toán (Pm), ta có các trường hợp xảy ra:

4 Trường hợp bài toán không phải dạng chuẩn

- Trước hết ta chuyển về bài toán dạng chính tắc với mọi bi ≥ 0

- Ràng buộc nào chưa có biến cơ sở thì ta cộng thêm một biến giả vào

vế trái Chúng ta phân biệt sự khác nhau giữa biến phụ và biến giả Biến giả không âm và có hệ số là M ở bài toán min và –M ở bài toán max, trong đó M là một vô cùng lớn dương

- Ký hiệu bài toán ban đầu là bài toán (G), bài toán dạng chuẩn với các biến giả là bài toán (Pm) được gọi là bài toán mở rộng

a) Trường hợp (Pm) không có PATƯ thì (P) cũng không có PATƯ

Trang 33

Bài toán ban đầu (G):

x

) m 1, (i

b x

a

(max) min

x c x

f

j

i n

1

j

j ij

n

1 j

j j

b) Trường hợp (Pm) có PATƯ :

- Nếu tất cả các biến giả trong PATƯ của (Pm) đều bằng 0 thì (P) có

PATƯ chính là PATƯ của (Pm) mà loại đi các thành phần tương ứng với các biến giả

- Nếu trong PATƯ của (Pm) có các biến giả khác 0 thì (P) không có PA,

n i

M x x

Trang 34

Ví dụ 3: Giải bài toán sau bằng phương pháp đơn hình:

f(x) = 3x1 + 4x2 + 2x3 + 2x4  min 2x1 + 2x2 + x4 = 28

Ta thấy bài toán không phải là dạng chuẩn Ở ràng buộc thứ nhất và thứ

ba chưa có biến cơ sở ta thêm vào các biến giả x6 và x7 Ta được bài toán

mở rộng:

Trang 35

Ta có dạng chuẩn xuất phát, dùng phương pháp đơn hình

để giải bài toán mở rộng:

Trang 36

4 -3

0 -4

2 -2

2 -2

0 0

0 0

0 0

0 0

4 -7

-2 1

0

-1/2

0 0

0 0

Trang 37

0 0

0 0

0 –5/2

0 –1/2

0 0

Ở bảng cuối ta có mọi ước lượng đều ≤ 0 Thuật toán kết Thúc với

fmin = 45 và PATƯ là X = ( 11, 3, 0, 0, 5 )

Trang 38

- Khi tất cả các ước lượng trên hàng hệ số M bằng 0 thì ta gạch hàng

đó đi và như vậy ta trở lại bài toán (G) với dạng chuẩn xuất phát

Lưu ý khi giải bài toán mở rộng:

- Nếu một biến giả bị loại khỏi cơ sở thì ta không quan tâm tới biến đó nữa, có nghĩa là không tính giá trị của các phần tử trên cột đó

- Khi xét dấu của các ước lượng ta quan tâm tới hàng ước lượng với hệ

Ở đây ta có ∆0 = 5M – 9, ∆1 = – M + 7 < 0, ∆2 = 3 > 0, ∆3 = –2M – 5 < 0,

∆ = 4 > 0

Trang 41

PA

M

M

x3 4

x4 1

x5 0

x6 0

x7 x8– M – M

Trang 43

IV Bài toán QHTT đối ngẫu

1 Khái niệm về bài toán đối ngẫu

Ví dụ: Bài toán mặc cả mua bán

Ta quay lại bài toán lập kế hoạch sản xuất của xí nghiệp giấy Mứctiêu hao nguyên liệu để sản xuất ra 1 tấn giấy A,B,C và giá thànhmột tấn mỗi loại được cho trong bảng sau:

Trang 44

Gọi x1, x2, x3 là số tấn giấy A, B, C cần sản xuất Ta có bài toán:

5500y1 + 6800y2 → min

Đối với người bán, giá bán nguyên vật liệu cho 1 tấn giấy phảikhông ít hơn giá 1 tấn giấy thành phẩm có nghĩa là:

Trang 45

Như vậy để thuận mua vừa bán ta giải bài toán sau:

1.5y1 + 2y2 ≥ 271.8y1 + 3y2 ≥ 361.6y1 + 2.4y2 ≥ 30

2 Quy tắc thành lập bài toán đối ngẫu:

- Nếu ở bài toán gốc f(x) → min thì ở bài toán đối ngẫu ta có:

f y   m và ngược lại

- Số ràng buộc chung (không kể ràng buộc dấu) trong bài toán này bằng

số biến số trong bài toán kia, nghĩa là tương ứng với một ràng buộc

chung của bài toán này là một biến số của bài toán kia

- Hệ số trong hàm mục tiêu của bài toán này là vế phải của hệ ràng

buộc trong bài toán kia

Trang 46

Lược đồ tổng quát xây dựng bài toán đối ngẫu:

Bài toán gốc Bài toán đối ngẫu

0 0

1

m

i i i

Trang 47

Ví dụ 1: Viết bài toán đối ngẫu của bài toán sau:

f(x) = −4x1 + x2 + 5x3 + 3x5  min

3x1 − 6x2 − x3 + 2x4 + 4x5 ≥ –15

−2x1 + 3x2 + 4x3 − 5x4 + x5  8 − 6x2 + 3x3 + 8x4 − 4x5 = 9

3x1 + 2x2 − 3x4 + x5 ≥ 24  x1, x3, x5 ≥ 0 , x4 ≤ 0, x2 tuỳ ý

Trang 48

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

= –15y1 + 8y2 + 9y3 + 24y4  max

3y1 − 2y2 + 3y4  –4

−6y1 + 3y2 − 6y3 + 2y4 = 1

− y1 + 4y2 + 3y3  5

2y1 − 5y2 + 8y3 – 3y4 ≥ 0 4y1 + y2 − 4y3 + y4  3

Trang 49

Ví dụ 2: Viết bài toán đối ngẫu của bài toán sau:

Ta có bài toán đối ngẫu:

(y) = 35y1 + 30y2 +50y3 min

3y1 + 2y2 + 5y3 ≥ 14

5y1 + 3y2 + 2y3 ≤ 12

4y1 + 6y2 + 3y3 = 17

y 1 ≥ 0, y2 tuỳ ý, y3 ≤ 0

Trang 50

Lưu ý: Nếu BT gốc ở dạng chính tắc thì BT đối ngẫu có dạng :

Bài toán gốc Bài toán đối ngẫu

Trang 51

Lưu ý: Nếu BT gốc ở dạng chính tắc thì BT đối ngẫu có dạng :

f

1

n

j j j

= bi yi tùy ý, với i = 1,

m

x ≥ 0 ≤ c với j = 1, n

Trang 52

3 Các định lý đối ngẫu

Trong các định lý dưới đây ta giả thiết bài toán gốc là f(x) → min

Định lý 1: Nếu X và Y là 2 PA bất kỳ của cặp bài toán đối ngẫu thì ta

luôn có f(x) ≥ (y) Dấu bằng xảy ra khi và chỉ khi X và Y là các

PATƯ, có nghĩa là f(X)min = (Y)max

Định lý 2: Nếu bài toán này có PATƯ thì bài toán kia cũng có PATƯ

và ngược lại nếu bài toán này không có PATƯ thì bài toán kia cũng không có PATƯ

Định lý 3: Điều kiện cần và đủ để X0 và Y0 là các PATƯ khi và chỉ khi X0 và Y0là các PA và thoả mãn:

Có nghĩa là trong cặp ràng buộc đối ngẫu, nếu ràng buộc này lỏng

thì ràng buộc kia phải chặt

Trang 53

4 Thuật toán của phương pháp đơn hình đối ngẫu:

- Thực hiện phép khử Gauss-Jordan với phần tử trục arv sau đó quay

lại bước 2.

Bước 1: Đưa bài toán về dạng chính tắc sau đó dùng phép biến đổi G –

J để tạo ra mỗi dòng một biến cơ sở Sau đó lập bảng đơn hình xuất phát

Bước 2:

- Nếu bi ≥ 0 thì ta có bài toán dạng chuẩn xuất phát

- Nếu tồn tại bi < 0 thì ta có giả PACB xuất phát và chuyển sang bước 3.

br

- Nếu trên hàng chứa br ta có arj ≥ 0 thì bài toán không có PA

- Nếu tồn tại arj < 0 thì ta chọn phần tử trục là phần tử arj < 0 với tỷ số

Δj / arj có giá trị tuyệt đối nhỏ nhất Giả sử đó là arv

Trang 54

Ví dụ 1: Giải BT QHTT sau bằng phương pháp đơn hình đối

Trang 55

Đưa bài toán về dạng chính tắc:

f(x) = x1 + 3x2 + 2x3 + 3x4 + 5x5  min

x1 + 2x2 − x3 + x4 − x5 = −3

− x2 − x3 + 2x4 + 4x5 − x6 = 18

− x2 − 3x3 + 2x5 + x7 = 10

x Đổi dấu hai vế ràng buộc thứ 2 ta có giả PACB xuất phát : j ≥ 0 (j = 1…7)

X = (-3, 0, 0, 0, 0, −18, 10) với các biến cơ sở là {x1, x6, x7} Lập bảng đơn hình tương ứng:

Trang 58

Áp dụng định lý đối ngẫu 3 ta có thể xác định PATƯ của

bài toán đối ngẫu dựa vào PATƯ của bài toán gốc Ứng với mỗi thành phần dương xj ta có phương trình:

c y

m

1 i

Ngày đăng: 27/08/2014, 21:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w