1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng môn quy hoạch tuyến tính

92 576 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 92
Dung lượng 2,2 MB

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

Nội dung

Trang bị cho sinh viên kiến thức biết cách xây dựng bài toán quy hoạch tuyến tính căn bản,thiết lập được mô hình tổng quan của bài toán thông qua các bài tập ví dụ căn bản nhất như các bài tập về bài toán dinh dưỡng, bài toán lập kế hoạch sản xuất.

Trang 1

QUY HOẠCH TUYẾN TÍNH

Trương Phúc Tuấn Anh

Đại học Sài gòn

Năm học 2012-2013

Trang 2

Mục đích, yêu cầu

Mục đích: Trang bị cho sinh viên kiến thức biết cách xây dựng mô

hình bài toán

Yêu cầu: Sinh viên phải thiết lập được mô hình tổng quan của bài

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

Trang 3

Mục đích yêu cầu Chương I: Lý thuyết QHTT Chương II: Giải thuật đơn hình Chương III: Bài toán đối ngẫu Bài toán vận tải Bài tập

Bài toán dinh dưỡng

Người ta cần có một lượng (tối thiểu) chất dinh dưỡng i = 1; m do các

thức ăn j = 1; n cung cấp Giả sử:

a ij là số lượng chất dinh dưỡng loại i có trong 1 đơn vị thức ăn loại

j (i = 1; m, j = 1; n);

b i là nhu cầu tối thiểu về loại dinh dưỡng i;

c j là giá mua một đơn vị thức ăn loại j

Vấn đề đặt ra là phải mua các loại thức ăn như thế nào để tổng chi phí

bỏ ra ít nhất mà vẫn đáp ứng được yêu cầu về dinh dưỡng

Gọi x j ≥ 0(j = 1, n) là số lượng thức ăn thứ j cần mua Tổng chi phí

cho việc mua thức ăn là

Trang 4

Bài toán dinh dưỡng

Người ta cần có một lượng (tối thiểu) chất dinh dưỡng i = 1; m do các

thức ăn j = 1; n cung cấp Giả sử:

a ij là số lượng chất dinh dưỡng loại i có trong 1 đơn vị thức ăn loại

j (i = 1; m, j = 1; n);

b i là nhu cầu tối thiểu về loại dinh dưỡng i;

c j là giá mua một đơn vị thức ăn loại j

Vấn đề đặt ra là phải mua các loại thức ăn như thế nào để tổng chi phí

bỏ ra ít nhất mà vẫn đáp ứng được yêu cầu về dinh dưỡng

Vấn đề được giải quyết theo mô hình sau đây:

Gọi x j ≥ 0(j = 1, n) là số lượng thức ăn thứ j cần mua Tổng chi phí

cho việc mua thức ăn là

Trang 5

Bài toán dinh dưỡng

Vì chi phí bỏ ra để mua thức ăn phải là thấp nhất nên yêu cầu được

Lượng dinh dưỡng i thu được từ thức ăn 1 là a i1 x1(i = 1, m)

Lượng dinh dưỡng i thu được từ thức ăn 2 là a i2 x2(i = 1, m)

Lượng dinh dưỡng i thu được từ thức ăn n là a in x n(i = 1, m)

Vậy lượng dinh dưỡng thứ i thu được từ các loại thức ăn:

a i1 x1+a i2 x2+ +a in x n, (i = 1, m)

Vì lượng dinh dưỡng thứ i thu được phải thoả yêu cầu b i về dinh dưỡng

loại đó, nên ta có ràng buộc sau:

a i1 x1+a i2 x2+ +a in x n ≥ b i(i = 1, m)

Trang 6

Bài toán dinh dưỡng

Khi đó, theo yêu cầu của bài toán ta có mô hình bài toán sau đây:

Trang 7

Mục đích yêu cầu Chương I: Lý thuyết QHTT Chương II: Giải thuật đơn hình Chương III: Bài toán đối ngẫu Bài toán vận tải Bài tập

Bài toán lập kế hoạch sản xuất

Người ta muốn sản xuất n loại sản phẩm từ m loại nguyên liệu khác

nhau Giả sử:

a ij :lượng nguyên liệu loại i dùng để sản xuất 1 sản phẩm loại j

(i = 1, m; j = 1, n);

b i :số lượng nguyên liệu loại i hiện có;

c j :lợi nhuận thu được từ việc bán một đơn vị sản phẩm loại j

Vấn đề đặt ra là phải sản xuất mỗi loại sản phẩm là bao nhiêu sao cho

tổng lợi nhuận thu được từ việc bán các sản phẩm là lớn nhất trong

điều kiện nguyên liệu hiện có

Tổng lợi nhuận thu được từ việc bán các sản

Trang 8

Bài toán lập kế hoạch sản xuất

Người ta muốn sản xuất n loại sản phẩm từ m loại nguyên liệu khác

nhau Giả sử:

a ij :lượng nguyên liệu loại i dùng để sản xuất 1 sản phẩm loại j

(i = 1, m; j = 1, n);

b i :số lượng nguyên liệu loại i hiện có;

c j :lợi nhuận thu được từ việc bán một đơn vị sản phẩm loại j

Vấn đề đặt ra là phải sản xuất mỗi loại sản phẩm là bao nhiêu sao cho

tổng lợi nhuận thu được từ việc bán các sản phẩm là lớn nhất trong

điều kiện nguyên liệu hiện có

Gọi x j ≥ 0 là số lượng sản phẩm thứ j sẽ sản xuất (j = 1, n)

Tổng lợi nhuận thu được từ việc bán các sản

Trang 9

Bài toán lập kế hoạch sản xuất

Vì yêu cầu lợi nhuận thu được cao nhất, nên ta cần có

Lượng nguyên liệu thứ i dùng để sản xuất sản phẩm thứ 1: a i1 x1

Lượng nguyên liệu thứ i dùng để sản xuất sản phẩm thứ 2: a i2 x2

Lượng nguyên liệu thứ i dùng để sản xuất sản phẩm thứ n: a in x n

Vậy lượng nguyên liệu thứ i dùng để sản xuất các sản phẩm:

a i1 x1+a i2 x2+ · · · +a in x n

Vì lượng nguyên liệu thứ i dùng để sản xuất các loại sản phẩm không

thể vượt quá lượng được cung cấp là b i, nên

a i1 x1+a i2 x2+ · · · +a in x n ≤ b i, (i = 1; m)

Trang 10

Bài toán lập kế hoạch sản xuất

Vậy theo yêu cầu của bài toán ta có mô hình sau đây

Trang 11

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

Người ta cần vận chuyển hàng hoá từ m kho hàng đến n cửa hàng bán

lẻ Giả sử

Lượng hàng hoá ở kho i là s i(i = 1; m);

Nhu cầu hàng hoá ở cửa hàng j là d j(j = 1, n);

Cước phí vận chuyển một đơn vị hàng thừ kho i đến cửa hàng j là

Bài toán đặt ra là lập kế hoạch vận chuyển để tiền cước là nhỏ nhất,

với điều kiện là mỗi cửa hàng đều nhận đủ hàng và mỗi kho đều trao

Trang 12

Mục đích yêu cầu Chương I: Lý thuyết QHTT Chương II: Giải thuật đơn hình Chương III: Bài toán đối ngẫu Bài toán vận tải Bài tập

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

Gọi x ij ≥ 0 là lượng hàng hoá phải vận chuyển từ kho hàng i đến cửa

hàng j Khi đó, cước phí vận chuyển tất cả hàng hoá đến tất cả các kho

x ij ≥ 0 (1 ≤ i ≤ m; 1 ≤ j ≤ n).

Trang 13

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

Gọi x ij ≥ 0 là lượng hàng hoá phải vận chuyển từ kho hàng i đến cửa

hàng j Khi đó, cước phí vận chuyển tất cả hàng hoá đến tất cả các kho

x ij ≥ 0 (1 ≤ i ≤ m; 1 ≤ j ≤ n).

Trang 14

Ví dụ 1.1

Một xí nghiệp sản xuất ba mặt hàng H1,H2,H3 Việc sản xuất được

thực hiện theo dây chuyền trên ba máy M1,M2,M3 Tiền khấu hao mỗi

giờ tính bằng USD trên mỗi loại máy lần lượt là 2,1,3 Thời gian hoạt

động tối đa của các máy trong một tuần tính theo giờ lần lượt là 120,

100, 80 Thời gian cần thiết đối với các máy tính theo giờ để sản xuất

một đơn vị mặt hàng được cho bởi (B.1) Nguyên liệu được cung cấp

tối đa để sản xuất là 250 đơn vị; lượng nguyên liệu cần thiết để sản

xuất một đơn vị mặt hàng các loại lần lượt là 5đv; 3đv; 4đv Chi phí về

chuyên chở, tiền công và giá bán mỗi đơn vị mặt hàng các loại tính

bằng USD, được cho bởi (B.2);

Trang 16

Ví dụ 1.1

Yêu cầu:

1 Tính lợi nhuận thu được trên mỗi đơn vị mặt hàng;

2 Lập bài toán qui hoạch tuyến tính để xí nghiệp sản xuất đạt lợi

nhuận cao nhất trong tuần;

3 Lập bài toán đối ngẫu của bài toán trên, nêu ý nghĩa kinh tế của

bài toán đối ngẫu;

4 Tìm phương án tối ưu của cả bài toán

Trang 17

Giải ví dụ 1.1

Lợi nhuận thu được trên mỗi đơn vị mặt hàng:

Lợi nhuận = Giá bán - Tổng các chi phí

Lợi nhuận thu được cao nhất khi f (x) = 5x1+6x2+8x3đạt max

Thời gian sử dụng máy:

M1:4x1+3x2+x3không vượt quá 120;

M2:x1+3x2+2x3không vượt quá 100;

M3:2x1+x2+x3không vượt quá 80;

Nguyên liệu sử dụng 5x1+3x2+4x3không vượt quá 250

Trang 19

quy hoạch tuyến tính dạng tổng quát

Dạng tổng quát của bài toán quy hoạch tuyến tính là:

Trang 20

Quy hoạch tuyến tính dạng tổng quát

Trong đó:

(2) Hàm mục tiêu Là tổ hợp tuyến tính của các biến số, biểu thị

một đại lượng nào đó mà ta cần phải quan tâm của bài toán;

(3) Các ràng buộc của bài toán Là các phương trình hoặc bất

phương trình tuyến tính n biến số, sinh ra từ điều kiện của bài

toán;

(4) Các hạn chế về dấu của các biến số.

Trang 21

Người ta cũng thường trình bày bài toán quy hoạch

tuyến tính dưới dạng ma trận như sau:

Trang 22

c là véctơ chi phí (c T là chuyển vị của c)

b là véctơ giới hạn các ràng buộc

Trang 23

Quy hoạch tuyến tính dạng chính tắc

Bài toán quy hoạch tuyến tính chính tắc là bài toán quy hoạch tuyến

tính mà trong đó các ràng buộc chỉ có dấu = và các biến số đều không

Trang 24

Quy tắc biến đổi

Người ta có thể biến đổi bài toán quy hoạch tuyến tính dạng tổng quát

thành bài toán quy hoạch tuyến tính dạng chính tắc nhờ quy tắc sau

đây:

1 Nếu gặp ràng buộc i có dạng ≤ thì cộng thêm vào vế trái của ràng

buộc một biến phụ x n+i ≥ 0 để được dấu =;

2 Nếu gặp ràng buộc i có dạng ≥ thì trừ vào vế trái của ràng buộc

một biến phụ x n+i ≥ 0 để được dấu =;

3 Các biến phụ chỉ là những đại lượng giúp ta biến các ràng buộc

dạng bất đẳng thức thành đẳng thức, nó phải không ảnh hưởng gì

đến hàm mục tiêu nên không xuất hiện trong hàm mục tiêu;

4 Nếu biến x j ≤ 0 thì ta đặt x j = −x j0 với x j0 ≥ 0 rồi thay vào bài toán;

5 Nếu biến x j là tùy ý thì ta đặt x j =x j0− x

j với x j0,x0”

j ≥ 0 rồi thayvào bài toán;

6 Trong trường hợp, trong số các ràng buộc có dòng mà vế phải của

dòng đó là giá trị âm thì đổi dấu cả hai vế

Trang 25

x=[x1x2 · · · x n]T là một phương án khả thi của (P) khi và chỉ khi

Ax = b và x ≥ 0;

Một phương án tối ưu của (P) là một phương án khả thi của (P)

mà giá trị của hàm mục tiêu tương ứng đạt max/min.

Trang 26

Ví dụ 1.2

Ví dụ 1.2

Biến đổi bài toán quy hoạch tuyến tính sau đây về dạng chính tắc và

viết bài toán chính tắc dưới dạng ma trận:

Trang 27

Giải ví dụ 1.2

Ta thêm ẩn phụ x4,x5≥ 0 vào ràng buộc thứ nhất và ràng buộc thứ ba

Thay x30 = −x3≥ 0 Thay x2=x20 − x

2 ≥ 0, với x20,x2”≥ 0Bài toán quy hoạch tuyến tính có dạng chính tắc sau:

Trang 30

Phương án x được gọi là Phương án cực biên nếu tập các cột của

A ứng với các giá trị x i>0 độc lập tuyến tính

Trang 31

Đặc điểm của tập các Phương án

1 Tập các phương án của một quy hoạch tuyến tính là một tập lồi

2 Tập các phương án tối uu của một quy hoạch tuyến tính là một tập

lồi

3 Một quy hoạch tuyến tính luôn có hữu hạn các Phương án cực

biên

4 Nếu tập các phương án của một quy hoạch tuyến tính chính tắc

không rỗng thì QHTT dó có ít nhất một phương án cực biên

5 Nếu QHTT chính tắc có phương án tối uu thì có ít nhất một

phương án cực biên là phương án tối uu

6 Điều kiện cần và đủ để một QHTT có phương án tối uu là tập các

phương án không rỗng và hàm mục tiêu bị chặn

Trang 32

Phương pháp hình học

Từ những kết quả trên người ta có cách giải bài toán quy hoạch tuyến

tính hai biến bằng phương pháp hình học thông qua ví dụ sau :

Xét bài toán quy hoạch tuyến tính

A, B, C, D, O là các điểm cực biên Giá trị hàm mục tiêu tại đó là:

f (A) = 18; f (B) = 22; f (C) = 18; f (D) = 8; f (O) = 0 Phương án tối ưu

của bài toán đạt được tại B: x1=4 và x2=5

Trang 34

Giải thuật đơn hình cơ bản

Xét bài toán quy hoạch tuyến tính chuẩn tắc:

f (x) = z = c T x → min

(

Ax = b

x ≥ 0 Giả sử rằng sau khi hoán vị các cột trong A ta chọn được ma trận cơ

sở B thoả sự phân hoạch sau:

A = [B N]; c T = [c B c N];x T = [x B x N]Giải thuật đơn hình cơ bản được thực hiện như sau:

Trang 35

Giải thuật đơn hình cơ bản:

1 Khởi tạo: ¯A0=A; ¯ b0=b

2 Thực hiện bước lặp với k = 0, 1, 2,

a) Xác định phương án cơ sở khả thi:

¯T

k =c T − c B T k A¯k;d) Nếu ¯c k T ≥ 0 (đối với bài toán min) thì giải thuật dừng, và

x k = [x B k = ¯b k x N k =0] là phương án tối ưu và

Trang 36

Giải thuật đơn hình cơ bản

Giải thuật đơn hình cơ bản:

3 Cập nhật các giá trị mới:

a) Xác định chỉ số cột của pivot: ¯c s=max{|¯ c k| ∈ ¯c N}

b) Nếu ¯N s≤ 0 thì thuật toán dừng, bài toán không có phương án

Trang 38

Ta thấy c1T;c2T;c3T ≤ 0 Do đó phương án x0chưa tối ưu, ta xây

dựng phương án mới tốt hơn

Trang 39

Ta thấy c3T ≤ 0 (Ở ngoài cơ sở) Do đó phương án x1chưa tối ưu, ta

xây dựng phương án mới tốt hơn

Trang 40

Ta thấy c j T ≥ 0 (Ở ngoài cơ sở) Do đó phương án x2tối ưu Vậy

phương án tối ưu của bài toán là x T = [2 0 1] và fmin(x) = −13

Trang 41

Giải thuật đơn hình cải biên

Nếu gặp bài toán quy hoạch tuyến tính dạng chính tắc không có ma

trận cơ sở là ma trận đơn vị, người ta có thể cộng thêm vào vế trái của

các ràng buộc các biến giả để làm xuất hiện ma trận đơn vị Vì các

biến giả cải biên có ảnh hưởng đến hàm mục tiêu nên cũng sẽ có sự

cải biên hàm mục tiêu

Quan hệ giữa bài toán cải biên và bài toán xuất phát

Nếu x T = [x1 x n]là phương án tối ưu của bài toán xuất phát

khi và chỉ khi ¯x T = [x1 x n0 0] là phương án tối ưu của bài

toán cải biên;

Nếu bài toán cải biên có một phương án tối ưu mà trong dó có ít

nhất một biến giả cải biên khác 0 thì bài toán xuất phát không có

phương án tối ưu

Hai bài toán cải biên thường dùng là bài toán hai pha và bài toán M vô

Trang 42

Bài toán hai pha

Pha 1: Tìm phương án tối ưu cho bài toán cải biên với hàm mục

tiêu cải biên là

z0 = (tổng các biến cải biên) → min

Pha 2: Tìm phương án tối ưu cho bài toán xuất phát với phương

án co sở xuất phát là phương án tối ưu vừa tìm được ở Pha 1 Ở

Pha 2 này, các biến giả cải biên bị loại ra khỏi các ràng buộc và

hàm mục tiêu được cập nhật lại

Trang 43

Bài toán M vô cùng lớn

Bài toán M vô cùng lớn là bài toán cải biên với hàm mục tiêu cải biên

như sau:

z0 =z + M(tổng các biến cải biên) → min

z0 =z − M(tổng các biến cải biên) → max.

Trong quá trình tìm nghiệm tối ưu của bài toán cải biên ta sẽ loại dần

các biến giả cải biên ra khỏi cơ sở (tất cả đều bằng 0) Nếu quá trình

này không loại được hết các biến giả cải biên ra khỏi cơ sở thì bài toán

xuất phát không có nghiệm

Trang 44

Vài trường hợp suy biến

1 Khi thực hiện thuật toán don hình, các các trường hợp bất thường

có thể xảy ra khi phương án cực biên nhận được có ít hơn m

thành phần duong Trường hợp bất thường này được gọi là trường

hợp suy biến

2 Trường hợp suy biến xảy ra khi xác định biến đưa vào là x s, tồn tại

tỷ số ¯b i/ ¯N is=0, với ¯N is<0

3 Lưu ý rằng, ngay cả phưong án cực biên x là phương án không

suy biến thì phưong án cực biên tiếp theo vẫn có thể là phưong án

suy biến Điều này xảy ra khi xác định biến đưa vào là x s, thì có từ

hai tỷ số ¯b i/ ¯N is=0 trở lên

4 Nếu không có cách khắc phục thì hiện tượng suy biến có thể làm

cho phưong pháp đon hình lặp vô hạn

Trang 45

Quy tắc Bland

Với biến x s là biến đưa vào, biến đưa ra x r được chọn là biến có chỉ số

nhỏ nhất thỏa mãn điều kiện chọn biến ra:

Trang 47

Bằng cách thêm vào các biến giả x4,x5lần lượt vào các ràng buộc 1

và 2 ta thu được bài toán cải biên

Trang 48

Ta thấy ¯c1T; ¯c2T; ¯c3T ≤ 0 Do đó phương án x0chưa tối ưu, ta xây

dựng phương án mới tốt hơn, ta thấy | ¯c1 | lớn nhất, nên ẩn x1là ẩn

đưa vào, ẩn đưa ra là x5

Trang 51

Giải ví dụ 2.3

Bằng cách thêm ẩn phụ x4≥ 0 vào ràng buộc thứ nhất, hai biến giả

x5,x6lần lượt vào các ràng buộc 2 và 3 ta thu được bài toán cải biên

Trang 52

Giải ví dụ 2.3

Ta thấy ¯c T1, ¯c2T, ¯c3T ≤ 0 nên x0chưa là phương án tối ưu

Ta xây dựng phương án mới x1, với |¯c1T | lớn nhất, nên x1là ẩn đưa vào

và ẩn đưa ra khỏi cơ sở là x6

Bước lặp k = 1, ta có bảng đon hình sau:

Trang 53

Giải ví dụ 2.3

Ta thấy ¯c T3 ≤ 0 nên x1chưa là phương án tối ưu

Ta xây dựng phương án mới x2, với ¯c T

3 ≤ 0 nên x3là ẩn đưa vào và ẩn

đưa ra khỏi cơ sở là x1

Bước lặp k = 2, ta có bảng đon hình sau:

Ta nhận thấy các ¯c T j trong cơ sở đều ≥ 0, nên bài toán (M) có phương

án tối ưu x T = [0 0 8 2 0 0] với ẩn giả x5=0, x6=0

Vậy phương án tối ưu của bài toán gốc x T = [0 0 8] và f (x) = 8

Trang 55

Giải ví dụ 2.4

Bằng cách thêm ẩn phụ x4,x5≥ 0 vào ràng buộc thứ nhất và thứ hai,

hai biến giả x6,x7lần lượt vào các ràng buộc thứ nhất và thứ ba ta thu

được bài toán cải biên

Trang 56

Giải ví dụ 2.4

Ta thấy ¯c T3 >0, nên x0chưa tối ưu, ta xây dựng phương án mới x1với

ẩn đưa vào cơ sở là x3và ẩn đưa ra là x6Bước lặp k = 1, ta có bảng

Phương án tối ưu của bài toán (M) là x = [0 ; 0 ; 6 ; 0 ; 16 ; 0 ; 13] T, với

x7=13 6= 0 nên bài toán gốc không có phuong án tối ưu

Trang 57

Bài toán (D) đối ngẫu của bài toán sản xuất (P)

Với các giả thiết của bài toán (P)(6), giả sử có một người muốn mua lại

toàn bộ nguyên liệu Giá bán nguyên liệu phải là bao nhiêu để người

mua được mua với giá rẻ nhất và người bán không thiệt so với bán

thành phẩm

Gọi y ij là giá bán một đơn vị nguyên liệu thứ i (i = 1; m) Tổng số tiền

mà người mua chi ra để mua nguyên liệu là

Trang 58

Bài toán (D) đối ngẫu của bài toán sản xuất (P)( 8 )

Do đó ta có bài toán: Tìm y = (y1;y2; y m)sao cho

Trang 59

Đối ngẫu của bài toán chính tắc

Xét bài toán quy hoạch tuyến tính chính tắc

Để giới hạn giá trị hàm mục tiêu tối ưu, ta tìm một cận dưới của

hàm mục tiêu Để làm điều này ta thực hiện như sau:

Trang 60

Đối ngẫu của bài toán chính tắc

Với mỗi x ≥ 0 chưa thỏa ràng buộc của bài toán, tức là b − Ax 6= 0, ta

xét bài toán nới lỏng

L(x, y) = c T x + y T(b − Ax) → min

x ≥ 0; y T = [y1 y m]tùy ý

Gọi g(y) là giá trị hàm mục tiêu của bài toán nới lỏng,

g(y) = min{c T x + y T(b − Ax)} ≤ c T x + y T(b − Ax).

Trong trường hợp x là phưong án của bài toán ban đầu thì b − Ax = 0

nên g(y) ≤ c T x.

Ngày đăng: 05/04/2017, 10:40

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w