Tải bản đầy đủ (.ppt) (74 trang)

áp dụng các mô hình toán học để giải bài toán quy hoạch

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (518.61 KB, 74 trang )

Chương 4
áp dụng các mô hình toán học để
giải bài toán qui hoạch
4.1. Khái niệm về bài toán qui hoạch
4.2. Qui hoạch tuyến tính
4.3. Bài toán vận tải
4.4. Qui hoạch số nguyên
4.5. Qui hoạch phi tuyến
4.5. Phương pháp qui hoạch động
1


4.1. Kh¸i niÖm vÒ bµi to¸n qui ho¹ch
4.1.1. Bµi to¸n qui ho¹ch tæng qu¸t

Bài toán qui hoạch tổng quát được phát biểu như sau:
Xác định tập giá trị các biến: X = {x1, x2, … , xn}
Sao cho hàm f(X) → min (max) đồng thời thỏa mãn các
điều kiện gi(X) (≤;=;≥) bi (i = 1,2,…,m)
x j ∈ X ⊂ R n ( j = 1, 2,..., n)

Được gọi là một bài toán qui hoạch.

2


4.1. Kh¸i niÖm vÒ bµi to¸n qui ho¹ch
4.1.1. Bµi to¸n qui ho¹ch tæng qu¸t










Hàm f(X) gọi là hàm mục tiêu.
Các hàm gi(X); (i = 1,2,…,m) được gọi là các ràng buộc.
Tập hợp D = {x j ∈ X;g i (X)(≤; =; ≥)b i }
(i = 1…m; j = 1…n) gọi là miền ràng buộc.
Mỗi điểm gọi là 1 phương án (PA).
Một PA có đạt cực đại hay cực tiểu của hàm mục tiêu.
Cụ thể: đối với bài toán min f (X* ) ≤ f (X), ∀X ∈ D
đối với bài toán max f (X* ) ≥ f (X), ∀X ∈ D
Được gọi là lời giải tối ưu.
Khi đó giá trị f(X*) được gọi là giá trị tối ưu hóa của bài
toán qui hoạch.
3


4.1. Kh¸i niÖm vÒ bµi to¸n qui ho¹ch
4.1.2. Ph©n lo¹i bµi to¸n qui ho¹ch

1, Một bài toán qui hoạch được gọi là bài toán qui
hoạch tuyến tính nếu hàm mục tiêu f(X) và tất cả các
hàm ràng buộc gi(X); i = 1,2,…,m là tuyến tính:
n

f (X) = ∑ c j x j → min(max)
j=1

n

g i (X) = ∑ a ij x j (≤; =; ≥)b i , i = 1 ÷ m
j=1

Trong đó: cj, aij, bi là các hằng số.
4


4.1. Kh¸i niÖm vÒ bµi to¸n qui ho¹ch
4.1.2. Ph©n lo¹i bµi to¸n qui ho¹ch
2, Là bài toán qui hoạch tham số nếu các hệ số trong biểu
thức hàm mục tiêu và các ràng buộc phụ thuộc tham số
3, Là bài toán qui hoạch động nếu đối tượng xét là các
quá trình có nhiều giai đoạn nói chung hay các quá
trình phát triển theo thời gian nói riêng.
4, Là bài toán qui hoạch phi tuyến nếu như hoặc f(X) hoặc
có ít nhất 1 trong các hàm gi(X) là phi tuyến.
5, Là bài toán qui hoạch rời rạc nếu miền ràng buộc D là
tập rời rạc.
6, Là bài toán qui hoạch đa mục tiêu nếu trên cùng 1 miền
ràng buộc ta xét đồng thời các hàm mục tiêu khác
nhau.
5


4.2. Qui hoch tuyn tớnh
4.2.1. t bi toỏn
Một nhà máy điện có thể dùng 4 loại than để sản xuất
điện. Biết lượng điện năng yêu cầu hàng năm của nhà máy

là A[MWh]. Suất tiêu hao than của loại than thứ i là q i
[kg/MWh](i=1,2,3,4). Giá thành sản xuất điện năng của loại
than i là ci [đ/MWh](i=1,2,3,4). Lượng than loại i cung cấp
hàng năm để sản xuất điện không được vượt quá Qi ; Tổng lư
ợng than của cả 4 loại cung cấp hàng năm để sản xuất điện
không được vượt quá Q . Cần xác định lượng điện năng đư
ợc sản xuất hàng năm từ từng loại than để đạt cực tiểu về
chi phí sản xuất điện năng.
6


4.2. Qui hoch tuyn tớnh
4.2.1. t bi toỏn
Lời giải
Gọi lượng điện năng được sản xuất hàng năm từ loại than thứ i
là xi[MWh]; i=1,2,3,4, thì bài toán có thể được trình bày như
sau :
Xác định X={x1, x2, x3, x4 } sao cho:
f(X) = c1x1 + c2x2 + c3x3 + c4x4 min
Với các ràng buộc:
x1 + x 2 + x3 + x4 = A
q1x1 + q2x2 + q3x3 + q4x4 Q
q1x1 Q1
q2x2 Q2
q3x3 Q3
q4x4 Q4

7



4.2. Qui hoạch tuyến tính
4.2.2. Các dạng bài toán qui hoạch tuyến tính
4.2.2.1. Dạng tổng quát
Bài toán có dạng tổng quát là bài toán như sau:
Tìm X = {xj} j = 1÷n thỏa mãn đồng thời các điều kiện sau:
1,

n

f (X) = ∑ c j x j → min(max)
j=1

2, g (X) = n a x (≤; =; ≥)b
∑ ij j
i
i

i =1÷ m

j=1

Trong đó: f(X) là hàm mục tiêu;
Xj là các ẩn;
Cj, aij, bi là những hằng số tự do.
8


4.2. Qui hoạch tuyến tính
4.2.2. Các dạng bài toán qui hoạch tuyến tính
4.2.2.2. Dạng chính tắc

Bài toán có dạng chính tắc là bài toán như sau:
Tìm X = {xj} j = 1÷n thỏa mãn đồng thời các điều kiện sau:


1,

n

f (X) = ∑ c j x j → min(max)
j=1

2,

n

g i (X) = ∑ a ij x j ( =)b i

i =1÷ m

j=1

3, xj ≥ 0; bi ≥ 0
Dạng chính tắc chặt chẽ hơn dạng tổng quát: điều kiện (2)
bắt buộc phải là các phương trình; điều kiện (3) bắt buộc
dấu của xj và bi là không âm.
9


4.2. Qui hoch tuyn tớnh
4.2.2. Cỏc dng bi toỏn qui hoch tuyn tớnh



4.2.2.2. Dng chớnh tc

* Người ta có thể đưa dạng tổng quát về dạng chính tắc nếu
gặp các trường hợp sau đây :
n

1.

a x
ij

j

j=1

bi thêm vào vế trái của phương trình một lượng ẩn

xn+i > 0, ta có:
n

a x
ij

j=1

n

j


bi a ij x j + (x n +i ) = bi
j=1

10


4.2. Qui hoạch tuyến tính
4.2.2. Các dạng bài toán qui hoạch tuyến tính


4.2.2.2. Dạng chính tắc

* Ng­êi ta cã thÓ ®­a d¹ng tæng qu¸t vÒ d¹ng chÝnh t¾c nÕu
gÆp c¸c tr­êng hîp sau ®©y :
n

2,

∑a x
ij

j

j=1

≥ bi bớt vào vế trái của phương trình một lượng ẩn

xn+1 > 0, ta có:
n


∑a x
ij

j=1

n

j

≥ bi → ∑ a ij x j − (x n +i ) = bi
j=1

11


4.2. Qui hoạch tuyến tính
4.2.2. Các dạng bài toán qui hoạch tuyến tính


4.2.2.2. Dạng chính tắc

* Ng­êi ta cã thÓ ®­a d¹ng tæng qu¸t vÒ d¹ng chÝnh t¾c nÕu
gÆp c¸c tr­êng hîp sau ®©y :
3, Trường hợp xj ≤ 0 thì đặt tj = - xj ≥ 0
4, Trường hợp không biết dấu của ẩn xj thì đặt: xj = xj1 – xj2
trong đó xj1 ≥ 0; xj2 ≥ 0
Khi đó bài toán dạng tổng quát sẽ trở thành bài toán dạng
chính tắc.
12



4.2. Qui hoạch tuyến tính
4.2.2. Các dạng bài toán qui hoạch tuyến tính
4.2.2.3. Dạng chuẩn tắc
Bài toán có dạng chuẩn tắc là bài toán như sau:
Tìm X = {xj}, j = 1÷n thỏa mãn đồng thời các điều kiện
sau:
1,

n

f (X) = ∑ c j x j → min(max)
j=1

2,

n −m

g i (X) = x i + ∑ a i,m+h x m + h = b i
3, xj ≥ 0; bi ≥ 0h =1

i =1÷ m

13


4.2. Qui hoạch tuyến tính
4.2.2. Các dạng bài toán qui hoạch tuyến tính
4.2.2.3. Dạng chuẩn tắc

Ma trận hệ số của hệ phương trình ràng buộc có dạng sau:
1
0

0
M

0

0
1
0
M
0

0
0
1
M
0

...
...
...
M
...

0
0
0

M
1

a 1,m +1
a 2,m +1
a 3,m +1
M
a m,m +1

a 1,m + 2
a 2,m + 2
a 3,m + 2
M
a m,m + 2

...
...
...
M
...

a 1,n 
a 2,n 

a 3,n 
M

a m,n 

Như vậy có thể suy ra cách nhận biết dạng chuẩn tắc là

ma trận hệ số của hệ phương trình ràng buộc kiểu m x
n phải có chứa ma trận đơn vị cấp m.
14


4.2. Qui hoạch tuyến tính
4.2.2. Các dạng bài toán qui hoạch tuyến tính
4.2.2.3. Dạng chuẩn tắc
VÝ dô : XÐt bµi to¸n sau cã ph¶i d¹ng chuÈn kh«ng ?
Cho f(X) = 2x1 + 5x2 + 4x3 + x4 - 5x5 min

1)
2)
3)

Víi c¸c ®iÒu kiÖn rµng buéc nh­ sau :
x1 + 2x2 + 4x3
- 3x5
= 152
4x2 + 2x3 + x4 + 3x5
3x2

= 60

+ 4x5 + x6 = 36

Víi xj ≥ 0 (j=1...6)
15



4.2. Qui hoch tuyn tớnh
4.2.2. Cỏc dng bi toỏn qui hoch tuyn tớnh
Ma trận hệ số của hệ phương trình trên như sau:
2
4
0
3
0
1
0
4
2
1
3
0


0
3
0
0
4
1


Cột 1,4,6 tạo nên ma trận đơn vị cấp 3 nên bài toán ở
dạng chuẩn tắc. Các ẩn tạo nên ma trận cấp 3 là x1, x4, x6 và
ta gọi chúng là các ẩn cơ bản.
Nếu có một phương án sao cho các ẩn không cơ bản đều
bằng 0 tức là nếu gọi xi = bi(i=1,2,...,m) là m ẩn cơ bản và xi

= 0 (i=m+1,...,n) là các ẩn không cơ bản thì ta sẽ có một PA
cơ bản là PA như sau :
Xcb = {b1, b2, b3, ..., bm, 0, 0, ...,0}
16


4.2. Qui hoạch tuyến tính
4.2.3. Phương pháp đơn hình
4.2.3.2. Thuật toán đơn hình
a, Thuật toán đơn hình chuẩn
Thuật toán đơn hình (TTĐH) là phương pháp hoàn thiện dần
lời giải, nghĩa là từ một lời giải cơ bản, thuật toán này cho
phép đi nhanh nhất đến lời giải cơ bản tối ưu (nếu tồn tại).
Ta cần phải xác định số ẩn cơ bản, đó chính là m ẩn độc lập
trong hệ phương trình ràng buộc, đồng thời thỏa mãn cả
hàm mục tiêu f(X).
TTĐH càng phát huy được lợi thế của nó khi áp dụng cho
những bài toán có kích thước lớn. Để đơn giản ta bắt đầu từ
việc sử dụng TTĐH để giải bài toán QHTT dạng chuẩn và
không cần thêm các ẩn phụ cũng như các ẩn giả.
17


4.2.3. Phng phỏp n hỡnh
a, Thut toỏn n hỡnh chun
Thí dụ Xác định tập nghiệm X = { x1 , x2 , x3 , x4 }thoả
mãn đồng thời các điều kiện sau :
f(X) = 5x1 + 2x2 + 3x3 + 4x4 min
x1


- 2x3 + 6x4 = 12

x2 + 4x3 + 3x4 = 18
xj 0 ; j = 1,2,3,4
Giải: Từ các điều kiện ràng buộc ta thấy có hai ẩn cơ bản là
x1 và x2. Nếu cho các ẩn không cơ bản x3 và x4 nhận
giá trị 0 thì ta có : x1 =12 ; x2 = 18 và thay vào biểu thức
trên sẽ được giá trị F(X) = 96.

18


4.2.3. Phng phỏp n hỡnh
Vớ d (tip theo)
Từ các biểu thức trên ta có :
x1 = 12 + 2x3 - 6x4
x2 = 18 - 4x3 - 3x4
Nếu đem x1 và x2 thay vào biểu thức của f(X) ta có:
f(X) = 5x1 + 2x2 + 3x3 + 4x4 = 96 + 5x3 - 32x4 min
Lời giải bước 1 :
x1 = 12 ; x2 = 18 ; x3 = 0 ; x4 = 0 F1(X) = 96. Rõ ràng giá trị
F1(x) = 96 chưa phải là giá trị nhỏ nhất vì có thể tăng giá trị của
x4 để giảm f(X). Từ đây thấy rằng dấu của các hệ số của các ẩn
không cơ bản trong biểu thức f(X) đóng vai trò quan trọng
trong việc phán xét về lời giải ở bước đó.

19


4.2.3. Phng phỏp n hỡnh

Một cách tổng quát, sau bước 1 ta có :
f(X) = F1(X) - 3x3- 4x4
Trong thí dụ này 3 = 5.(-2)+2.4-3 = -5;
4 = 5.6+2.3-4 = +32.
Từ đây thấy rằng nếu sau bước1 mà có 3 và 4 đều âm thì
F1(X) là giá trị min, quá trình dừng lại và lời giải đó là lời giải tối ưu.
Nếu chỉ cần một trong hai giá trị 3 hoặc 4 là dương thì phải tiếp tục
chuyển sang bước 2. Để dễ hình dung các bước tiến hành, ta có thể
tóm tắt các bước của thuật toán vào bảng đơn hình.
Vấn đề: đưa ẩn nào vào và loại ẩn nào ra? ẩn đưa vào là ẩn ứng
với > 0. Trường hợp có nhiều > 0 thì chọn ẩn đưa vào ứng với có
giá trị max. Khi có nhiều giá trị như nhau thì chọn 1 ẩn tương ứng tùy
ý.
Xác định ẩn loại ra: xem xét ở ví dụ
20


Cj
Hệ số
ẩn cơ
bản

Bước

1

2
)

5


2

3

4

Xj
x1

x2

x3

x4

Chọn min

5

x1

12

1

0

-2


6

12/6=2

2

x2

18

0

1

4

3

18/3=6

F1 (X)

96

∆1 = 0

∆2 = 0

∆3 = -5


4

x4

2

1/6

0

-1/3

2

x2

12

-1/2

1

5(>0)

0

F2 (X)

32


∆1 =
-16/3

∆2 = 0

∆3 =
17/3

∆4 = 0

h1’=(h1/ 6)
(h1’x(-3)+ h2

Tên ẩn Phương
cơ bản
án

∆4 = 32 Chỉ chia
cho các
1
hs >0

3

4

14/5

2/15


1/15

0

1

h2’=h2/5
h1’=h2’x1/3
+h1

x4

3

x3

12/5
2
18

-1/10

1/5

1

0

12/5


21


4.2.3. Phương pháp đơn hình
Chú ý:
-Nếu không thể xác định được các ẩn cơ bản cần loại ra
(không có hệ số dương nào ở mọi hàng trong cột tương ứng)
thì bài toán sẽ không có phương án tối ưu.
-Nếu khi tìm ẩn cơ bản cần loại ra mà tỉ số giữa giá trị ở
cột phương án và cột tương ứng với ẩn đưa vào có nhiều giá
trị min và bằng nhau thì ta chọn ẩn cơ bản tùy ý trong chúng.
-Nếu hàm mục tiêu là f(X) → max thì chỉ cần thay đổi
tiêu chuẩn tối ưu là ∆j ≥ 0 và các ẩn được đưa vào ứng với
min của ∆j trong số các ∆j ≤ 0
-Nếu

hệ phương trình ràng buộc có tồn tại 1 hay nhiều bất
phương trình thì cần phải thêm vào các ẩn phụ để đưa bài
toán về dạng chính tắc rồi sau đó đưa về dạng chuẩn tắc
22


4.2. Qui hoạch tuyến tính
4.2.3. Phương pháp đơn hình
4.2.3.2. Thuật toán đơn hình
b, Thuật toán đơn hình mở rộng
Thuật toán đơn hình chuẩn ở trên chỉ áp dụng được đối với
các bài toán ở dạng chuẩn. Để áp dụng thuật toán đơn hình
cho bài toán ở dạng chính tắc bất kì, ta phải biến đổi hệ
ràng buộc sao cho nó có dạng chuẩn, tức là có tồn tại ma

trận đơn vị trong hệ ràng buộc. Điều này có thể thực hiện
bằng cách thêm vào vế trái của mỗi phương trình một ẩn
giả không âm, đồng thời lấy hệ số các ẩn giả trong hàm
mục tiêu là M (M là một số dương lớn hơn bất kì một số
nào cần so sánh).

23


4.2. Qui hoạch tuyến tính
4.2.3. Phương pháp đơn hình
b, Thuật toán đơn hình mở rộng
Ví dụ: Xác định tập X = {x1, x2, x3} sao cho
f(X) = -8x1 +6 x2 + 2x3 → min
Với các hàm ràng buộc:
4x1 + 4x2 – 3x3 =18
4x1 + 3x2 + 4x3 = 16
xj ≥ 0 (j = 1, 2, 3)

24


4.2. Qui hoạch tuyến tính
4.2.3. Phương pháp đơn hình
b, Thuật toán đơn hình mở rộng
Ví dụ: (tiếp theo)
Để đưa bài toán về dạng chuẩn tắc: Cần đưa thêm vào 2 ẩn giả
là x4 và x5.
Khi đó hàm f(X) có dạng:
F(X) = -8x1 +6 x2 + 2x3 + Mx4 + Mx5 → min

Hệ ràng buộc là:
4x1 + 4x2 – 3x3 +x4 =18
4x1 + 3x2 + 4x3 + x5 = 16
xj ≥ 0 (j = 1, 2, 3)
M là số dương lớn tùy ý.
25


×