CHƯƠNG 2: LINEAR PROGRAMMING
1. Khái niệm về quy hoạch tuyến tính (Linear programming)
1.1 Quy hoạch tuyến tính ?
- Quy hoạch tuyến tính (Linear programming) một trong những dạng bài
toán tối ưu cơ bản nhất, s dụng thuật toán nhằm tim ra một kế hoạch hay
phương án tốt nhất từ số những lựa chọn khác nhau. Hiểu một cách đơn
giản n, quy hoạch tuyến tính chính là chọn ra phương án tối ưu dựa trên
những ràng buộc, hạn chế, điều kiện đặt ra.
- Dạng bài toán này yêu cầu chúng ta phải tối ưu hóa một hàm mục tiêu
tuyến tính phải thỏa mãn một số ràng buộc tuyến tính.
1.2 Các thành phần của quy hoạch tuyến tính
- hình Quy hoạch tuyến tính được chia làm 2 phần hàm mục tiêu
các điều kiện.
- Trong đó: hàm mục tiêu thể hiện chính xác cụ thể mục tiêu phải đạt
được. Các điều kiện hạn chế nguồn lực phải tuân theo.
- Trong quy hoạch tuyến tính, hai khái niệm này luôn song hành cùng nhau,
ràng buộc với nhau và không tách rời nhau. Nếu thiếu đi một trong hai yếu
tố thì không phải quy hoạch tuyến tính.
1.3 Đặc điểm
Phân tích đặc điểm
*Hàm mục tiêu tuyến nh
Mục tiêu của LP tối ưu hóa hoặc tối thiếu hóa một hàm tuyến tính. Điều
này thể lợi nhuận tối đa, chi phí tối thiểu hoặc một mục tiêu khác dựa
trên các biến quyết định
*Biến quyết định
Đây các yếu tố chúng ta muốn tối ưu hóa hoặc điều chỉnh. Chúng
thường được biểu diễn bằng các hiệu thuồng các biến liên tục.
*Ràng buộc tuyến nh
LP đi m với một tập hợp các ràng buộc tuyến, những điều kiện các
biến phải tuân theo. Các ràng buộc này thường được biểu diễn bằng các
phương trình hoặc bất phương trình tuyến tính.
Khả năng tim giải pháp
LP khả năng tim ra giải pháp tối ưu toàn cục(nếu tồn tại) cho bài toán.
Nếu lời giải, LP thể xác định xem đâu giá trị tối ưu cho hàm mục
tiêu.
*Phương pháp giải quyết
nhiều phương pháp đ giải quyết hình LP, phổ biến nhất Simplex
Method. Các phương pháp khác bao gồm Interior Point Method, Branch
and Bound, các thuật toán tối ưu hóa khác.
*Áp dụng rộng rãi
LP được áp dụng rộng rãi trong nhiều lĩnh vực từ kinh doanh, quản lý, tài
chính đến công nghiệp, logistics,vận tải nhiều lĩnh vực khác.
Giới hạn về dạng tuyến nh
LP chỉ thể giải quyết các bài toán hàm mục tiêu ràng buộc có dạng
tuyến tính.
Ưu điểm
Tính toán hiệu qu
LP thể được giải quyết bằng nhiều phương pháp hiệu quả, bao gồm
Simplex Method các thuật toán nâng cao khác. Điều này giúp tim ra
lời giải tối ưu trong thời gian tương đối ngắn.
Áp dụng rộng rãi
LP được sử dụng rộng rãi trong lĩnh vực như quản tài nguyên, sản
xuất, vận chuyển, kế hoạch, tài chính nhiều lĩnh vực khác.
Giải quyết được các vấn đ tối ưu hóa lớn
LP khả năng giải các bài toán lớn với hàng trăm, thậm chí hàng hàng
nghìn biến ràng buộc.
Hiệu quả trong việc tim giải pháp tối ưu
Đối với bài toán tuyến tính, LP đảm bảo tim được giải pháp tối ưu hóa
toàn cục(nếu tồn tại), không chỉ pháp cục bộ.
Nhược điểm
Giới hạn về dạng tuyến nh
LP chỉ áp dụng cho các bài toán thể biểu diễn tuyến tính. Các bài toán
phi tuyến tính sẽ không thể giải quyết trực tiếp bằng LP.
Khả năng thất bại khi không giải quyết tuyệt đối
Nếu không tồn tại giải pháp tối ưu(ví dụ: do ràng buộc không th đạt
được), LP thể không cung cấp thông tin hữu ích hoặc chỉ ra rằng vấn
đề không giải pháp.
Nhạy cảm với dữ liệu không chính c
Khi dữ liệu đầu vào không chính xác hoặc thay đổi, kết quả của LP
thể bị ảnh hưởng mạnh mẽ.
Khó khăn khi giải quyết c bài toàn lớn không còn tuyến tính rõ ràng
Đôi khi, trong việc giải quyết các bài toán lớn với nhiều ràng buộc phức
tạp, việc mô hình hóa tuyến tính không còn phản ánh đầy đủ hiệu suất
của hệ thống thực tế.
0
Đánh giá hiệu sut
-Hiệu suất của hình LP vẫn còn phụ thuộc vào các công cụ những
thuật toán được sử dụng.Những thuật toán hiện đại như Simplex, Interior
Point Method(IMP), hoặc các biến thể của chúng thể cái thiện hiệu suất
của hình LP
2. Ứng dụng quy hoạch tuyến tính vào các bài toán thực tế
Bài toán ngân sách tối ưu
Phân bổ nguồn vốn dựa trên danh mục đầu
Giải bài toán chi phí thấp vẫn bảo đảm sản xuất tối ưu
Lựa chọn hợp nhất cho sản xuất sản phẩm đầu ra
Đưa ra kế hoạch sử dụng máy móc, lựa chọn kênh vận chuyển thấp nht
Đặt ra nhiều kế hoạch bay khác nhau trong các chuyến bay
Lựa chọn vị trí đặt nhà xưởng phù hợp nht
Bài toán vận chuyển hàng hóa, tối ưu chi phí sản xuất, canh c
3. Bài toán quy hoạch tuyến tính
*Dạng tiêu chuẩn của bài toán vận chuyển bài toán qui hoạch tuyến
tính dạng như sau:
x
=
arg minf
(
x
)
f
i
( x) 0 ,i=1,2 , ... ,m
j
(
x
)=
0 , j
=
1,2 , ..., p
Phát biểu bằng lời: Tìm giá trị của biến
x
để tối thiểu hàm
f
0
(x)
trong số các
giá tr của
x
thoả mãn các điều kiện ràng buộc.
- Trong đó:
hiu
Giải thích
x R
n
Biến tối ưu
f
0
( x)
Hàm mục tiêu
n
f
i
(x)
0
, f
i
:
R R
Ràng buộc dạng bất đẳng thc
n
j
( x)=
0
,
j
:
R R
Ràng buộc dạng đẳng thc
Tập xác định ( tập hợp các điểm
thỏa hàm mục tiêu các ràng buộc)
- Một điểm
x
được gọi một điểm optimal point (điểm tối ưu), hoặc
nghiệm của bài toán nếu
x
f
0
¿
)=
p
. Tập hợp tất cả các điểm tối
ưu được gọi tập tối ưu
- Nếu tập tối ưu một tập không rỗng, ta nói bài toán solvable (giải
được). Ngược lại, nếu tập tối ưu một tập rỗng, ta nói giá trị tối
ưu là không thể đạt được
dụ: xét hàm mục tiêu f(x)=1/x với ràng buộc x>0. Giá trị tối ưu của bài
toán này
x
= 0 nhưng tập tối ưu một tập rỗng không giá trị nào
của x để hàm mục tiêu đạt giá trị 0. Lúc này ta nói giá trị tối ưu không đạt
được.
Một vài lưu ý
- Muốn giải bất kỳ bài toán quy hoạch tuyến tính nào bằng thuật toán đơn
hình, trước tiên phải đổi bài toán ra dạng chuẩn (standard form). Dạng
chuẩn của bài toán những yêu cầu sau:
Tất cả các biến phải không âm.
Yêu cầu bài toán tối thiểu hóa (minimization)
Hệ số vế phải không âm.
Tất cả các ràng buộc phải đẳng thức (trừ ràng buộc không âm)
- Mặc trong định nghĩa bài toán tối ưu cho bài toán tối thiểu hàm mục
tiêu với các ràng buộc thoả mãn các điều kiện nhỏ hơn hoặc bằng 0, các bài
toán tối ưu với tối đa hàm mục tiêu điều kiện ràng buộc dạng khác đều
th đưa về được dạng này:
vàs
i
0
(
s
i
được gọi biến phụ)
*Dạng tổng quát của bài toán vận chuyển bài toán qui hoạch tuyến tính
dạng như sau:
x=arg minc
T
x+ d
Với :
điều kiện ràng buộc thì G R
m x n
, A R
p x n
, h R
m
, b R
p
. Dòng thứ của ma
trận G
g
i
được xem như hệ s của điều kiện ràng buộc dạng bất đẳng
thức
g
i
( x )=g
i
x
i
.
i
giá trị phần tử thứ của véc h . Tương tự dòng
thứ của ma trận A cũng hệ số của hệ điều kiện ràng buộc dạng đẳng
thức. Một điều kiện đẳng thức cũng th được chuyển hoá sang điều kiện
bất đẳng thức nếu như chúng ta thay chúng bằng hai điều kiện:
a
i
xb
i
a
i
xb
i
. Do đó một số tài liệu người ta chỉ điều kiện bất đẳng thức.
Một số bài toán thực tế sẽ xuất hiện thêm điều kiện
x
ij
0
. Khi đó chúng ta
th đổi dấu của
x
ij
để chuyển về điều kiện
x
ij
0
Đối với hàm mục tiêu thì véc c được xem như véc trọng số của biến
mục tiêu x. d một đại ợng hướng không ảnh hưởng tới nghiệm.
Minh hoạ bằng hình học của bài toán LP
Các bài toán LP thể được minh hoạ như hình dưới đây:
Hình Biểu diễn hình học của Linear Programming.
Điểm
x
0
chính điểm làm cho hàm mục tiêu đạt giá trị nhỏ nhất, điểm
x
1
chính điểm làm cho hàm mục tiêu đạt giá trị lớn nhất. Với các bài toán LP,
nghiệm, nếu có, thường là một điểm đỉnh của đa giác hoặc một
mặt của đa giác đó (trong trường hợp các đường level sets của hàm mục
tiêu song song với mặt đó, trên mặt đó, hàm mục tiêu đạt giá trị tối ưu).
Một bên của đường thẳng s tương ng với dấu lớn hơn bên còn lại sẽ
nhỏ hơn. Trong hình, bên màu tương ứng với bên nhỏ hơn (thỏa ràng
buộc). Giao của 3 phần màu giới hạn
x , y 0
tại trục tọa độ sẽ tạo nên
miền khả thi hay miền xác định (feasible region) của bài toán, được tả
với các đường đứt đoạn trên hình. Điểm nằm trong miền khả thi được gọi
một nghiệm (feasible solution). Các điểm khác ngoài miền này sẽ không
thỏa một trong các ràng buộc của bài toán, do đó sẽ không khả thi
(infeasible). Sau đó, chúng ta vẽ các đường thể hiện hàm mục tiêu với các
giá tr x,y thay đổi.
XÉT BÀI TOÁN
Một nhà hàng 30 con hào, 24 con tôm 18 con nhím biển. Tuy nhiên,
các loại hải sản này phải được chế biến theo món:
Món A giá 8 đồng cần 5 con hào, 2 con tôm 1 con nhím biển.
Món B giá 6 đồng cần 3 con hào, 3 con tôm 3 con nhím biển.
Hãy xác định số lượng của từng món để mang về nhiều lợi nhuận nhất.
Từ dữ kiện đề bài cho lập hàm mục tiêu các điều kiện ràng buộc:
Sao cho
max
Giải bằng đồ thị tuy chỉ thể áp dụng với các bài toán 2 hoặc 3 biến,
nhưng th cho các bạn thấy phần nào hướng giải của bài toán này.
Chúng ta sẽ một hệ tọa độ tương ứng với 2 biến của bài
toán. Trong hệ tọa độ này, chúng ta sẽ lần lượt vẽ các đường
(xanh dương), (đỏ), (xanh lá):
Một bên của đường thẳng sẽ tương ứng với dấu lớn hơn bên còn lại sẽ
nhỏ hơn. Trong hình, bên màu tương ứng với bên nhỏ hơn (thỏa ràng
buộc). Giao của 3 phần màu giới hạn tại trục tọa độ sẽ tạo
nên miền kh thi hay miền xác định (feasible region) của bài toán, được
tả với các đường đứt đoạn trên hình. Điểm nằm trong miền khả thi đưc
gọi một nghiệm (feasible solution). Các điểm khác ngoài miền này sẽ
không thỏa một trong các ràng buộc của bài toán, do đó sẽ không khả thi
(infeasible). Sau đó, chúng ta vẽ các đường thể hiện hàm mục
tiêu với thay đổi.
Chúng ta thể thấy, khi tăng dần hàm mục tiêu của chúng ta, chúng ta di
chuyển đường từ góc dưới trái lên c trên phải. Điểm cuối cùng
đường thẳng này chạm vào miền khả thi chính điểm chúng ta cần
tim. Điểm đó được gọi nghiệm tối ưu (optimal solution) của bài toán.
Trong ví dụ này, điểm này tọa đ , tức 3 n A 5 món B.
Tại điểm này, lợi nhuận cực đại giá trị .
Không phải bài toán quy hoạch tuyến tính nào cũng nghiệm tối ưu. Bài
toán miền xác định rỗng được gọi nghiệm (infeasible). Nếu bài
toán không đ ràng buộc, hàm mục tiêu thể tăng (khi tối đa hóa) hoặc
giảm (khi tối thiểu hóa) thoải mái không giới hạn, thì bài toán đó được
gọi không cận (unbounded).
dụ, nếu trong bài toán dụ trên không ràng buộc nào ngoài
thì thể tăng thoải mái do đó, bài toán không cận và
không nghiệm tối ưu. Sẽ luôn luôn một nghiệm tối ưu đỉnh của hình
đa giác tạo nên bởi miền tối ưu.
XÉT BÀI TOÁN CHI PHÍ SẢN XUẤT
Một nhà máy sản xuất ra 4 loại sản phẩm :
Đũa tre (5 triệu/tấn)
Tăm tre (6 triệu/tấn)
Chân hương (4.5 triệu/tấn)
Xiên thịt (5.5 triệu/tấn)
Biết rằng để sản xuất được 1 tấn của lần lượt các loại sản phẩm trên thì nhà
máy cần tiêu tốn nguyên liệu nhân công như sau:
Nguyên liệu chi phí nguyên liệu:
Số giờ làm việc của nhân ng:
Lợi nhuận bán ra của từng loại:
Kế hoạch trong tháng tới nhà máy 1000 giờ làm việc tối đa 5 tấn tre,
0.2 tấn hương liệu 10 tấn than sấy. Hỏi nhà máy cần lập kết hoạch sản
xuất như thế nào đ tối đa lợi nhuận.
Lời giải
Giả định sản lượng sản xuất của mỗi loại lần lượt . Bài toán tối ưu lợi
nhuận:
x=arg max f ( x)=18 x
1
+30 x
2
+22 x
3
+ 25 x
4
Tương đương với bài toán:
x=arg minf ( x)= 18 x
1
30 x
2
22 x
3
25 x
4
Ràng buộc về nguyên liệu:
Đối với Tre:
1.1 x
1
+1.5 x
2
+1.4 x
3
+1.2 x
4
5
Đối với Hương liệu:
0.03 x
1
+ 0.06 x
2
+0.04 x
3
+0.04 x
4
0.2
Đối với than sấy:
x
1
+ 2 x
2
+2.2 x
3
+2.1 x
4
10
Ràng buộc về số giờ làm việc:
200 x
1
+300 x
2
+220 x
3
+240 x
4
1000
Ràng buộc v số lượng:
x
1
, x
2
, x
3 ,
x
4
0
GIẢI BẰNG CODE PYTHON
Từ đề bài ta có
x=arg max f ( x)=18 x
1
+30 x
2
+22 x
3
+ 25 x
4
1.1 x
1
+1.5 x
2
+1.4 x
3
+1.2 x
4
5
0.03 x
1
+ 0.06 x
2
+0.04 x
3
+0.04 x
4
0.2
x
1
+ 2 x
2
+2.2 x
3
+2.1 x
4
10
200 x
1
+300 x
2
+220 x
3
+240 x
4
1000
x
1
, x
2
, x
3 ,
x
4
0
Từ dạng tổng quát ta
c=[ 18 , 30 , 22 ,− 25]
T
G =
1.1
1.5
1.2
0.03
0.06
0.04
1
2
2.1
-1
0
0
0
-1
0
0
0
0
0
0
-1
h
=[
5,0.2,10,0,0,0,0
]
T
- Ma trận G 3 dòng đầu hệ số của điều kiện ràng buộc, 4 dòng sau
điều kiện không âm của 4 biến.
- Vecto h hệ số không âm của vế phi
HÌNH CODE PỴTHON
HÌNH XUẤT KẾT QU

Preview text:

CHƯƠNG 2: LINEAR PROGRAMMING
1. Khái niệm về quy hoạch tuyến tính (Linear programming)
1.1 Quy hoạch tuyến tính là gì ?
- Quy hoạch tuyến tính (Linear programming) là một trong những dạng bài
toán tối ưu cơ bản nhất, sử dụng thuật toán nhằm tim ra một kế hoạch hay
phương án tốt nhất từ vô số những lựa chọn khác nhau. Hiểu một cách đơn
giản hơn, quy hoạch tuyến tính chính là chọn ra phương án tối ưu dựa trên
những ràng buộc, hạn chế, điều kiện đặt ra.
- Dạng bài toán này yêu cầu chúng ta phải tối ưu hóa một hàm mục tiêu
tuyến tính và phải thỏa mãn một số ràng buộc tuyến tính.
1.2 Các thành phần của quy hoạch tuyến tính
- Mô hình Quy hoạch tuyến tính được chia làm 2 phần là hàm mục tiêu và các điều kiện.
- Trong đó: hàm mục tiêu thể hiện chính xác và cụ thể mục tiêu phải đạt
được. Các điều kiện là hạn chế mà nguồn lực phải tuân theo.
- Trong quy hoạch tuyến tính, hai khái niệm này luôn song hành cùng nhau,
ràng buộc với nhau và không tách rời nhau. Nếu thiếu đi một trong hai yếu
tố thì không phải quy hoạch tuyến tính. 1.3 Đặc điểm
Phân tích đặc điểm
*Hàm mục tiêu tuyến tính
Mục tiêu của LP là tối ưu hóa hoặc tối thiếu hóa một hàm tuyến tính. Điều
này có thể là lợi nhuận tối đa, chi phí tối thiểu hoặc một mục tiêu khác dựa
trên các biến quyết định *Biến quyết định
Đây là các yếu tố mà chúng ta muốn tối ưu hóa hoặc điều chỉnh. Chúng
thường được biểu diễn bằng các ký hiệu và thuồng là các biến liên tục.
*Ràng buộc tuyến tính
LP đi kèm với một tập hợp các ràng buộc tuyến, những điều kiện mà các
biến phải tuân theo. Các ràng buộc này thường được biểu diễn bằng các
phương trình hoặc bất phương trình tuyến tính. Khả năng tim giải pháp
LP có khả năng tim ra giải pháp tối ưu toàn cục(nếu tồn tại) cho bài toán.
Nếu có lời giải, LP có thể xác định xem đâu là giá trị tối ưu cho hàm mục tiêu.
*Phương pháp giải quyết
Có nhiều phương pháp để giải quyết mô hình LP, phổ biến nhất là Simplex
Method. Các phương pháp khác bao gồm Interior Point Method, Branch
and Bound, và các thuật toán tối ưu hóa khác. *Áp dụng rộng rãi
LP được áp dụng rộng rãi trong nhiều lĩnh vực từ kinh doanh, quản lý, tài
chính đến công nghiệp, logistics,vận tải và nhiều lĩnh vực khác.
Giới hạn về dạng tuyến tính
LP chỉ có thể giải quyết các bài toán mà hàm mục tiêu và ràng buộc có dạng tuyến tính. Ưu điểm ✓ Tính toán hiệu quả
✓ LP có thể được giải quyết bằng nhiều phương pháp hiệu quả, bao gồm
Simplex Method và các thuật toán nâng cao khác. Điều này giúp tim ra
lời giải tối ưu trong thời gian tương đối ngắn. ✓ Áp dụng rộng rãi
✓ LP được sử dụng rộng rãi trong lĩnh vực như quản lý tài nguyên, sản
xuất, vận chuyển, kế hoạch, tài chính và nhiều lĩnh vực khác.
✓ Giải quyết được các vấn đề tối ưu hóa lớn
✓ LP có khả năng giải các bài toán lớn với hàng trăm, thậm chí hàng hàng
nghìn biến và ràng buộc.
✓ Hiệu quả trong việc tim giải pháp tối ưu
✓ Đối với bài toán tuyến tính, LP đảm bảo tim được giải pháp tối ưu hóa
toàn cục(nếu tồn tại), không chỉ pháp cục bộ. Nhược điểm
✓ Giới hạn về dạng tuyến tính
✓ LP chỉ áp dụng cho các bài toán có thể biểu diễn tuyến tính. Các bài toán
phi tuyến tính sẽ không thể giải quyết trực tiếp bằng LP.
✓ Khả năng thất bại khi không có giải quyết tuyệt đối
✓ Nếu không tồn tại giải pháp tối ưu(ví dụ: do ràng buộc không thể đạt
được), LP có thể không cung cấp thông tin hữu ích hoặc chỉ ra rằng vấn đề không có giải pháp.
✓ Nhạy cảm với dữ liệu không chính xác
✓ Khi dữ liệu đầu vào không chính xác hoặc thay đổi, kết quả của LP có
thể bị ảnh hưởng mạnh mẽ.
✓ Khó khăn khi giải quyết các bài toàn lớn không còn tuyến tính rõ ràng
✓ Đôi khi, trong việc giải quyết các bài toán lớn với nhiều ràng buộc phức
tạp, việc mô hình hóa tuyến tính không còn phản ánh đầy đủ hiệu suất
của hệ thống thực tế.
Đánh giá hiệu suất
-Hiệu suất của mô hình LP vẫn còn phụ thuộc vào các công cụ và những
thuật toán được sử dụng.Những thuật toán hiện đại như Simplex, Interior
Point Method(IMP), hoặc các biến thể của chúng có thể cái thiện hiệu suất của mô hình LP
2. Ứng dụng quy hoạch tuyến tính vào các bài toán thực tế
● Bài toán ngân sách tối ưu
● Phân bổ nguồn vốn dựa trên danh mục đầu tư
● Giải bài toán chi phí thấp mà vẫn bảo đảm sản xuất tối ưu
● Lựa chọn hợp lý nhất cho sản xuất sản phẩm đầu ra
● Đưa ra kế hoạch sử dụng máy móc, lựa chọn kênh vận chuyển thấp nhất
● Đặt ra nhiều kế hoạch bay khác nhau trong các chuyến bay
● Lựa chọn vị trí đặt nhà xưởng phù hợp nhất
● Bài toán vận chuyển hàng hóa, tối ưu chi phí sản xuất, canh tác
3. Bài toán quy hoạch tuyến tính
*Dạng tiêu chuẩn của bài toán vận chuyển là bài toán qui hoạch tuyến
tính có dạng như sau:
x∗=arg minf 0(x )
f i( x) 0 ,i=1,2 , . . ,m
j( x)=0 , j=1,2 , . ., p
Phát biểu bằng lời: Tìm giá trị của biến x để tối thiểu hàm f 0(x) trong số các
giá trị của x thoả mãn các điều kiện ràng buộc. - Trong đó: Kí hiệu Giải thích xRn Biến tối ưu f 0( x) Hàm mục tiêu n
f i(x)0 , f i: R →R
Ràng buộc dạng bất đẳng thức n
j(x)=0 ,j : R → R
Ràng buộc dạng đẳng thức
Tập xác định ( tập hợp các điểm
thỏa hàm mục tiêu và các ràng buộc)
- Một điểm x∗ được gọi là một điểm optimal point (điểm tối ưu), hoặc là
nghiệm của bài toán nếu x∗ là và f 0¿)= p∗. Tập hợp tất cả các điểm tối
ưu được gọi là tập tối ưu
- Nếu tập tối ưu là một tập không rỗng, ta nói bài toán là solvable (giải
được). Ngược lại, nếu tập tối ưu là một tập rỗng, ta nói giá trị tối
ưu là không thể đạt được
Ví dụ: xét hàm mục tiêu f(x)=1/x với ràng buộc x>0. Giá trị tối ưu của bài
toán này là x∗= 0 nhưng tập tối ưu là một tập rỗng vì không có giá trị nào
của x để hàm mục tiêu đạt giá trị 0. Lúc này ta nói giá trị tối ưu là không đạt được. Một vài lưu ý
- Muốn giải bất kỳ bài toán quy hoạch tuyến tính nào bằng thuật toán đơn
hình, trước tiên phải đổi bài toán ra dạng chuẩn (standard form). Dạng
chuẩn của bài toán có những yêu cầu sau:
● Tất cả các biến phải không âm.
● Yêu cầu bài toán là tối thiểu hóa (minimization)
● Hệ số vế phải không âm.
● Tất cả các ràng buộc phải là đẳng thức (trừ ràng buộc không âm)
- Mặc dù trong định nghĩa bài toán tối ưu là cho bài toán tối thiểu hàm mục
tiêu với các ràng buộc thoả mãn các điều kiện nhỏ hơn hoặc bằng 0, các bài
toán tối ưu với tối đa hàm mục tiêu và điều kiện ràng buộc ở dạng khác đều
có thể đưa về được dạng này: vàs ≥ 0 i
(si được gọi là biến phụ)
*Dạng tổng quát của bài toán vận chuyển là bài toán qui hoạch tuyến tính có dạng như sau:
x=arg mincT x+ d Với :
Ở điều kiện ràng buộc thì G Rm x n, A Rp x n, h Rm, b Rp. Dòng thứ của ma
trận G là gi được xem như hệ số của điều kiện ràng buộc dạng bất đẳng
thức gi ( x )=gi x ≤i . ℎi là giá trị phần tử thứ của véc tơ h . Tương tự dòng
thứ của ma trận A cũng là hệ số của hệ điều kiện ràng buộc dạng đẳng
thức. Một điều kiện đẳng thức cũng có thể được chuyển hoá sang điều kiện
bất đẳng thức nếu như chúng ta thay chúng bằng hai điều kiện: a x≤b i ia x≥b i
i. Do đó một số tài liệu người ta chỉ có điều kiện bất đẳng thức.
Một số bài toán thực tế sẽ xuất hiện thêm điều kiện x ≥ 0 ij . Khi đó chúng ta
có thể đổi dấu của x 0
ij để chuyển về điều kiện −xij
Đối với hàm mục tiêu thì véc tơ c được xem như véc tơ trọng số của biến
mục tiêu x. d là một đại lượng vô hướng và không ảnh hưởng tới nghiệm.
Minh hoạ bằng hình học của bài toán LP
Các bài toán LP có thể được minh hoạ như hình dưới đây:
Hình Biểu diễn hình học của Linear Programming.
Điểm x0 chính là điểm làm cho hàm mục tiêu đạt giá trị nhỏ nhất, điểm x1
chính là điểm làm cho hàm mục tiêu đạt giá trị lớn nhất. Với các bài toán LP,
nghiệm, nếu có, thường là một điểm ở đỉnh của đa giác hoặc là một
mặt của đa giác đó (trong trường hợp các đường level sets của hàm mục
tiêu song song với mặt đó, và trên mặt đó, hàm mục tiêu đạt giá trị tối ưu).
Một bên của đường thẳng sẽ tương ứng với dấu lớn hơn và bên còn lại sẽ là
nhỏ hơn. Trong hình, bên tô màu tương ứng với bên nhỏ hơn (thỏa ràng
buộc). Giao của 3 phần tô màu và giới hạn x , y ≥ 0 tại trục tọa độ sẽ tạo nên
miền khả thi hay miền xác định (feasible region) của bài toán, được mô tả
với các đường đứt đoạn trên hình. Điểm nằm trong miền khả thi được gọi
là một nghiệm (feasible solution). Các điểm khác ở ngoài miền này sẽ không
thỏa một trong các ràng buộc của bài toán, do đó sẽ không khả thi
(infeasible). Sau đó, chúng ta vẽ các đường thể hiện hàm mục tiêu với các giá tr x,y thay đổi. XÉT BÀI TOÁN
Một nhà hàng có 30 con hào, 24 con tôm và 18 con nhím biển. Tuy nhiên,
các loại hải sản này phải được chế biến theo món:
Món A giá 8 đồng cần 5 con hào, 2 con tôm và 1 con nhím biển.
Món B giá 6 đồng cần 3 con hào, 3 con tôm và 3 con nhím biển.
Hãy xác định số lượng của từng món để mang về nhiều lợi nhuận nhất.
Từ dữ kiện đề bài cho lập hàm mục tiêu và các điều kiện ràng buộc: max Sao cho
Giải bằng đồ thị tuy chỉ có thể áp dụng với các bài toán có 2 hoặc 3 biến,
nhưng có thể cho các bạn thấy phần nào hướng giải của bài toán này.
Chúng ta sẽ có một hệ tọa độ tương ứng với 2 biến và của bài
toán. Trong hệ tọa độ này, chúng ta sẽ lần lượt vẽ các đường (xanh dương), (đỏ), (xanh lá):
Một bên của đường thẳng sẽ tương ứng với dấu lớn hơn và bên còn lại sẽ là
nhỏ hơn. Trong hình, bên tô màu tương ứng với bên nhỏ hơn (thỏa ràng
buộc). Giao của 3 phần tô màu và giới hạn
tại trục tọa độ sẽ tạo
nên miền khả thi hay miền xác định (feasible region) của bài toán, được mô
tả với các đường đứt đoạn trên hình. Điểm nằm trong miền khả thi được
gọi là một nghiệm (feasible solution). Các điểm khác ở ngoài miền này sẽ
không thỏa một trong các ràng buộc của bài toán, do đó sẽ không khả thi
(infeasible). Sau đó, chúng ta vẽ các đường thể hiện hàm mục tiêu với thay đổi.
Chúng ta có thể thấy, khi tăng dần hàm mục tiêu của chúng ta, chúng ta di chuyển đường
từ góc dưới trái lên góc trên phải. Điểm cuối cùng
mà đường thẳng này chạm vào miền khả thi chính là điểm mà chúng ta cần
tim. Điểm đó được gọi là nghiệm tối ưu (optimal solution) của bài toán.
Trong ví dụ này, điểm này có tọa độ là , tức 3 món A và 5 món B.
Tại điểm này, lợi nhuận là cực đại và có giá trị là .
Không phải bài toán quy hoạch tuyến tính nào cũng có nghiệm tối ưu. Bài
toán mà miền xác định là rỗng được gọi là vô nghiệm (infeasible). Nếu bài
toán không đủ ràng buộc, hàm mục tiêu có thể tăng (khi tối đa hóa) hoặc
giảm (khi tối thiểu hóa) thoải mái không có giới hạn, thì bài toán đó được
gọi là không có cận (unbounded).
Ví dụ, nếu trong bài toán ví dụ trên không có ràng buộc nào ngoài thì
có thể tăng thoải mái và do đó, bài toán không có cận và
không có nghiệm tối ưu. Sẽ luôn luôn có một nghiệm tối ưu là đỉnh của hình
đa giác tạo nên bởi miền tối ưu.
XÉT BÀI TOÁN CHI PHÍ SẢN XUẤT
Một nhà máy sản xuất ra 4 loại sản phẩm là:
● Đũa tre (5 triệu/tấn) ● Tăm tre (6 triệu/tấn)
● Chân hương (4.5 triệu/tấn)
● Xiên thịt (5.5 triệu/tấn)
Biết rằng để sản xuất được 1 tấn của lần lượt các loại sản phẩm trên thì nhà
máy cần tiêu tốn nguyên liệu và nhân công như sau:
Nguyên liệu và chi phí nguyên liệu:
Số giờ làm việc của nhân công:
Lợi nhuận bán ra của từng loại:
Kế hoạch trong tháng tới nhà máy có 1000 giờ làm việc và tối đa 5 tấn tre,
0.2 tấn hương liệu và 10 tấn than sấy. Hỏi nhà máy cần lập kết hoạch sản
xuất như thế nào để tối đa lợi nhuận. Lời giải
Giả định sản lượng sản xuất của mỗi loại lần lượt là . Bài toán tối ưu lợi
nhuận: x=arg max f ( x)=18 x1+30 x2+22 x3+ 25 x4
Tương đương với bài toán: x=arg minf (x)=18 x1 30 x222x325x4
Ràng buộc về nguyên liệu:
Đối với Tre: 1.1 x1+1.5 x2+1.4 x3+1.2 x45
Đối với Hương liệu: 0.03 x1+0.06x2+0.04 x3+0.04 x4 0.2
Đối với than sấy: x 10
1+ 2 x2 +2.2 x3 +2.1 x4
Ràng buộc về số giờ làm việc: 200 x 1000
1+300 x2 +220 x3 +240 x4
Ràng buộc về số lượng: x , x , x x ≥0 1 2 3 , 4
GIẢI BẰNG CODE PYTHON Từ đề bài ta có
x=arg max f ( x)=18 x1+30 x2+22 x3+ 25 x4
1.1 x1+1.5 x2+1.4 x3+1.2 x45
0.03 x1+ 0.06 x2+0.04 x3+0.04 x4 0.2
x1+ 2 x2+2.2 x3+2.1 x410
200 x1+300 x2+220 x3+240 x4 1000
x1, x2, x3, x4 0
Từ dạng tổng quát ta có c=[18,−30,−22,−25]T G = 1.1 1.5 1.4 1.2 0.03 0.06 0.04 0.04 1 2 2.2 2.1 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1
h=[ 5,0.2,10,0,0,0,0]T
- Ma trận G có 3 dòng đầu là hệ số của điều kiện ràng buộc, 4 dòng sau là
điều kiện không âm của 4 biến.
- Vecto h là hệ số không âm của vế phải HÌNH CODE PỴTHON HÌNH XUẤT KẾT QUẢ
Document Outline

  • 1.2Các thành phần của quy hoạch tuyến tính
  • *Biến quyết định
  • *Ràng buộc tuyến tính
  • *Phương pháp giải quyết
  • *Áp dụng rộng rãi
  • Ưu điểm
  • Nhược điểm
  • Đánh giá hiệu suất
  • 2.Ứng dụng quy hoạch tuyến tính vào các bài toán thự
  • 3.Bài toán quy hoạch tuyến tính
  • Một vài lưu ý
  • *Dạng tổng quát của bài toán vận chuyển là bài toá
  • Với :
  • Minh hoạ bằng hình học của bài toán LP
  • XÉT BÀI TOÁN
  • XÉT BÀI TOÁN CHI PHÍ SẢN XUẤT
  • Lời giải
  • Ràng buộc về nguyên liệu:
  • GIẢI BẰNG CODE PYTHON