Chương 1: Bài toán tối ưu hoá tổng quát và các vấn
đề cơ sở
Trong thiết kế, vận hành sản xuất bao giờ cũng muốn có
một phương án vừa đảm bảo các chỉ tiêu kỹ thuật vừa
có hiệu quả cao về kinh tế. Người ta thường gọi phương
án đó là phương án tối ưu.
Để lựa chọn được phương án tối ưu, người cán bộ quy
hoạch thiết kế và điều hành sản xuất phải giải quyết các
bài toán về kinh tế và kỹ thuật nhằm đạt mục đích đề ra,
trong đó phải giải quyết được mâu thuẫn giữa kinh tế và
kỹ thuật. Việc giải quyết bài toán trên nhằm lựa chọn
được phương án tối ưu phải nhờ vào các phương pháp
toán học, gọi là phương pháp tối ưu.
1-1. ĐỊNH NGHĨA VÀ PHÂN LOẠI BÀI TOÁN TỐI ƯU
1. Bài toán tối ưu hoá tổng quát
Bài toán tối ưu hoá tổng quát được phát biểu như sau:
Cực đại hoá(cực tiểu hoá) hàm f(x):
f(x)→max (min) (1.1)
Với các điều kiện:
( ) ( )
, , , 1, (1.2)
(1.3)
i i
n
g x b i m
x X R
≤ = ≥ =
∈ ⊂
Bài toán (1.1) ÷ (1.3) được gọi là bài toán tối ưu hay bài toán quy
hoạch.
Hàm f(x) được gọi là hàm mục tiêu.
Các hàm:
( )
, 1,
i
g x i m=
được gọi là các hàm ràng buộc, mỗi
đẳng thức hoặc bất đẳng thức trong hệ (1.2) được gọi là một
ràng buộc.
Tập hợp:
( ) ( )
{ }
| , , , 1, (1.4)
i i
D x X g x b i m= ∈ ≤ = ≥ =
Được gọi là miền ràng buộc (hay miền chấp nhận được).
Mỗi điểm:
( )
1 2
, , ,
n
x x x x D= ∈
được gọi là một phương án
hay một lời giải chấp nhận được.
Một phương án:
x D
∗
∈
đạt cực đại (hay cực tiểu) của hàm
mục tiêu, cụ thể là:
( )
( ),f x f x x D
∗
≥ ∀ ∈
( )
( ),f x f x x D
∗
≤ ∀ ∈
(đối với bài toán max)
(đối với bài toán min)
được gọi là phương án tối ưu (hay lời giải tối
ưu). Khi đó giá trị f(x
*
) được gọi là giá trị tối ưu
của bài toán
2. Phân loại các bài toán tối ưu
Một trong những phương pháp hiển nhiên nhất để giải bài
toán tối ưu là phương pháp điểm diện: Tính giá trị hàm mục
tiêu f(x) trên tất cả các phương án, sau đó so sánh các giá
trị tính được để tìm ra giá trị tối ưu và phương án tối ưu của
bài toán.
Thực hiện theo phương pháp trên gặp rất nhiều khó khăn
ngay cả khi kích thước của bài toán(số biến n và số ràng
buộc m) là không lớn, bởi vì tập D thông thường gồm một số
rất lớn các phần tử, trong nhiều trường hợp còn là không
đếm được.
Vì vậy,người ta đã nghiên cứu về mặt lý thuyết
để có thể tách ra từ bài toán tổng quát thành các
lớp bài toán dễ giải. Các nghiên cứu lý thuyết đó
thường là:
- Nghiên cứu các tính chất của các thành
phần bài toán(hàm mục tiêu, các hàm ràng
buộc, các biến số, các hệ số…);
- Các điều kiện tồn tại lời giải chấp nhận
được;
- Các điều kiện cần và đủ của cực trị;
- Tính chất của các đối tượng nghiên cứu.
Dựa vào tính chất của các thành phần bài toán và
đối tượng nghiên cứu để người ta phân loại các
lớp bài toán tối ưu(hay bài toán quy hoạch) như
sau:
1. Quy hoạch tuyến tính (QHTT): Nếu hàm mục tiêu f(x) và tất cả
các hàm ràng buộc g
i
(x), i=1,m là tuyến tính. Một trường hợp
riêng quan trọng của QHTT là Bài toán vận tải (BTVT);
2. Quy hoạch tham số (QHTS): nếu các hệ số trong biểu thức của
hàm mục tiêu và của các ràng buộc phụ thuộc vào tham số;
3. Quy hoạch động (QHĐ): 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. Quy hoạch phi tuyến (QHPT): nếu hàm mục tiêu f(x) hoặc có ít
nhất một trong các hàm g
i
(x) là phi tuyến hoặc cả hai trường hợp
đó cùng xảy ra;
5. Quy hoạch rời rạc (QHRR): nếu miền ràng buộc D là tập rời
rạc. Trường hợp riêng, khi các biến chỉ nhận giá trị nguyên ta có
Quy hoạch nguyên (QHN). Một trường hợp riêng của QHN là quy
hoạch biến booles khi các biến số chỉ nhận giá trị 0 hoặc 1;
6. Quy hoạch đa mục tiêu(QHĐMT): nếu trên cùng một miền ràng
buộc ta xét nhiều hàm mục tiêu khác nhau.
1-2. MÔ HÌNH TOÁN HỌC
1. Xây dựng mô hình toán học cho một vấn đề
thực tế
Việc mô hình hoá toán học cho một vấn đề thực tế
có thể chia ra làm bốn bước:
Bước 1: Xây dựng mô hình định tính cho vấn đề
thực tế, tức là xác định các yếu tố có ý nghĩa quan
trọng nhất và xác lập các quy luật mà chúng phải
tuân theo. Nói một cách khác là phát biểu mô hình
bằng lời và bằng những biểu đồ, các điều kiện về
kinh tế, kỹ thuật, tự nhiên, xã hội, các mục tiêu cần
đạt được.
Bước 2: Xây dựng mô hình toán học cho
vấn đề đang xét, tức là diễn tả lại dưới
dạng ngôn ngữ toán học cho mô hình định
tính. Khi có một hệ thống ta chọn các biến
số đặc trưng cho các trạng thái của hệ
thống, thiết lập mối liên hệ giữa các biến số
và các hệ số điều khiển hiện tượng.
Bước này phải xác định được hàm mục tiêu
mà giá trịo của nó càng lớn(hoặc càng bé)
càng tốt và diễn tả bằng các phương trình
hoặc bất phương trình của các điều kiện
mà các biến số phải tuân theo.
Bước 3: Sử dụng các công cụ toán học để
khảo sát và giải quyết bài toán vừa hinmhf
thành ở bưpớc 2. Tức là phải chọn
phương pháp giải cho phù hợp và cụ thể
hoá phương pháp bằng các thuật toán tối
ưu.
Vì các bài toán thực tế thường có kích
thước lớn nên không thể giải bằng tay mà
phải sử dụng máy tính. Do đó cần chương
trình hoá thuật toán bằng ngôn ngữ lập
trình phù hợp và cho chạy thử, in kết quả
Bước 4: Phân tích và kiểm định lại các kết quả tính
toánthu được trong bước 3.
Trong bước này cần phải xác định mức độ phù
hợp của mô hình và kết quả tính toán bằng thực
nghiệm hoặc áp dụng phương pháp phân tích
chuyên gia. Có thể xảy ra một trong hai khả
năng sau:
Khả năng 1: Mô hình và kết quả tính toán phù
hợp với thực tế
Khi đó cần lập một bản tổng kết ghi rõ cách đặt
vấn đề, mô hình toán học, thuật toán tối ưu,
chương trình, số liệu để đưa vào máy tính.
Trường hợp mô hình được sử dụng nhiều lần thì
phải xây dựng hệ thống phần mềm bảo đảm sử
dụng thuận tiện, không đòi hỏi người sử dụng
phải có trình độ chuyên môn cao về toán và tin
học.
Khả năng 2: mô hình và các kết quả tính toán
không phù hợp với thực tế. Trong trường hợp
này cần phải xem xét các nguyên nhân của nó.
Có thể nêu ra bốn nguyên nhân sau:
Nguyên nhân1: Các kết quả tính toán trong bước 3
chưa có đủ độ chính xác cần thiết. Khi đó cần
phải xem lại các thuật toán cũng như các
chương trình tính toán đã viết và sử dụng
Nguyên nhân2: Các số liệu ban đầu (các hệ
số, thông số) không phản ánh đúng thực
tế giá cả hoặc chi phí trên thị trường hoặc
các định mức vật tư, hoặc các số liệu
khác về công suất, khả năng máy móc, dự
trữ tài nguyên…Lúc này cần điều chỉnh lại
một cách nghiêm túc, chính xác.
Nguyên nhân3: Mô hình định tính xây dựng
chưa phản ánh được đầy đủ hiện tượng
thực tế. Nếu vậy cần rà soát lại bước
1xem có yếu tố hoặc quy luật nào còn bị
bỏ sót không?
Nguyên nhân 4: Việc xây dựng mô hình
toán học ở bước 2 chưa thoả đáng. Cần
phải xây dựng lại cho phù hợp, mức độ
tăng dần từ tuyến tính đến phi tuyến, từ
tĩnh đến động, từ tất định đến ngẫu nhiên
2. Một số mô hình thực tế
a) Bài toán lập kế hoạch sản xuất
Bài 1: Có hai nhà máy nhiệt điện 1 và 2 sản xuất
điện từ các loại than a và b. Suất tiêu hao
nhiên liệu γ (Kg/Kwh) của từng nhà máy ứng
với mỗi loại than có giá trị ghi trong bảng 1-1.
Hãy xác định lượng điện năng sản xuất từ hai
nhà máy sao cho tổng điện năng sản xuất ra
trong một ngày đêm có giá trị lớn nhất, đồng
thời phải thoả mãn điều kiện lượng than loại a
tiêu hao trong trong một ngày đêm ở cả hai
nhà máy không quá 24 tấn và loại b không quá
12 tấn.
Loại than
Nhà máy
a b
1 0.4 0.4
2 0.6 0.2
Gọi x
1
, x
2
là lượng điện năng(MWh) sản xuất trong một ngày đêm bởi nhà máy
1 và 2.
Mô hình toán học có dạng:
Xác định x
1
, x
2
sao cho:
x
1
+x
2
→max (1.4)
Và thoả mãn các bất đẳng thức:
0,4x
1
+0,6x
2
≤ 24
0,4x
1
+0,2x
2
≤ 12 (1.5)
x
1
, x
2
≥ 0 (1.6)
Bài 2: Một xí nghiệp muốn
sản xuất hai loại sản
phẩm A và B bằng các
nguyên liệu I, II, và III.
Suất chi phí nguyên liệu
để sản xuất các sản
phẩm trên cho trong bảng
1-2.
Sản phẩm
Nguyên liệu
A B
I 2 1
II 1 2
III 0 1
Để sản xuất một đơn vị sản phẩm A cần hai đơn vị nguyên liệu I, một đơn vị
nguyên liệu II.
Để sản xuất một đơn vị sản phẩm B cần một đơn vị nguyên liệu I, 2 đơn vị
nguyên liệu II và một đơn vị nguyên liệu III
Các nguyên liệu I, II, III được dự trữ tương ứng là 8, 7,3 đơn vị.
Tiền lãi một đơn vị sản phẩm A là 4 triệu đồng, một đơn vị sản phẩm B là 5
triệu đồng.
Càn lập kế hoạch sản xuất để thu được tiền lãi lớn nhất trên cơ sở hạn chế về
nguyên liệu
Gọi x
1
là lượng sản phẩm loại A
x
2
là lượng sản phẩm loại B
Mô hình toán học có dạng:
Xác định x
1
, x
2
sao cho:
4x
1
+5x
2
→max (1.7)
Và thoả mãn cácràng buộc về nguyên liệu:
Nguyên liệu I: 2x
1
+x
2
≤ 8
Nguyên liệu II: x
1
+2x
2
≤ 7
Nguyên liệu III: x
2
≤ 3 (1.5)
x
1
, x
2
≥ 0 (1.6)
Qua ví dụ trên, ta có thể xây dựng bài toán lập kế
hoạch sản xuất tổng quát như sau:
Giả sử 1 xí nghiệp sản xuất n loại sản phẩm và sử
dụng m loại nguyên liệu khác nhau, với các kí
hiệu:
X
j
là lượng sản phẩm loại J, J=1,n
C
j
là tiền lãi của một đơn vị sản phẩm loại J, J=1,n.
a
ij
là suất chi phí nguyên liệu i để sản xuất một đơn
vị sản phẩm i với i=1,m; j=1,n
B
i
là lượng dự trữ nguyên liệu i, i=1,m.
Hãy xác định giá trị x
j
sao cho tổng tiền lãi (hay
tổng giá trị sản lượng hàng hoá) là lớn nhất với
số nguyên liệu hiện có
Mô hình toán học:
1
ax (1.10)
n
j j
j
c x m
=
→
∑
Với các điều kiện:
1
, 1, (1.11)
0, 1, (1.12)
n
ij j i
j
j
a x b i m
x j n
=
≤ =
≥ =
∑
b) Bài toán vận tải
Nội dung của bài toán vận tải như sau:
Tìm phương án tối ưu để vận chuyển hàng hoá từ bất kỳ
một số nơi phát đến bất kỳ một số nơi nhận sao cho
tổng chi phí vận chuyển bé nhất.
Bài toán có thể mô tả như sau:
Có m điểm phát (nơi sản xuất) A
i
, i=1,m với các lượng
hàng hoá tương ứng a
1
, a
2
,…, a
m
Và n địa điểm nhận (cửa hàng) B
j
, j=1,n với nhu cầu
hàng hoá tương ứng b
1
, b
2
,…,b
n
Cần xác định phương án vận tải sao cho tổng chi phí
vận chuyển là cực tiểu, biết cước phí đơn vị hàng vận
tải c
ij
trên các đoạn đường từ nơi phát i đến nơi nhận j
Gọi x
ij
là số lượng hàng cần vận chuyển từ nơi phát i đến
nơi nhận j. Khi đó bài toán vận tải được mô tả trên
bảng 1-3
Bảng 1-3
Nơi nhận
Nơi phát
B
1
B
2
…… B
n
Dung
lượng
A
1
c
11
x
11
c
12
x
12
c
1n
x
1n
a
1
A
2
c
21
x
21
c
22
x
22
c
2n
x
2n
a
2
……
A
m
c
m1
x
m1
c
m2
x
m2
c
mn
x
mn
a
n
Dung lượng b
1
b
2
b
n
1 1
m n
i j
i j
a b
= =
=
∑ ∑
Bài toán vận tải được mô tả dưới dạng toán học như sau:
Xác định x
ij
sao cho
ij ij
1 1
min
m n
i j
c x
= =
→
∑∑
ij
1
ij
1
ij
; 1,
; 1,
0; 1, ; 1,
n
i
j
m
j
i
x a i m
x b j n
x i m j n
=
=
= =
= =
≥ = =
∑
∑
Với giả thiết tổng dung lượng hàng phát đi bằng tổng dung
lượng hàng nơi nhận, ta có
1 1
m n
i j
i j
a b
= =
=
∑ ∑
1
ax
n
j j
j
c x m
=
→
∑
Với các điều kiện:
1
, 1,
0, 1,
n
ij j j
j
j
a x b i m
x j n
=
≤ =
≥ =
∑
c) Bài toán cái túi
Nội dung: Một người du lịch muốn đem theo một
cái túi nặng không quá b Kg trong khi đó có n
loại đồ vật cần mang theo.Mỗi đồ vật loại j có
khối lượng a
j
(kg) và có giá trị c
j
. Người du lịch
muốn chất vào túi các đồ vật sao cho tổng giá trị
lớn nhất.
Gọi x
j
là số đồ vật loại j. Ta có mô hình toán học
như sau:
; x
j
nguyên
Đây là bài toán quy hoạch nguyên