Giới thiệu - Định nghĩa: quy hoạch tuyến tính là một lĩnh vực trong toán học và khoa học máytính nơi mà chúng ta tìm kiếm giải pháp tối ưu cho các vấn đề với các hàm mục tiêu tuyến tính
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Đề tài số 13: Quy hoạch tuyến tính
Lớp :L10 Nhóm :18 Giảng viên hướng dẫn : Nguyễn Hữu Hiệp
Trang 2Ngày 5 tháng 5 năm 2024
Mục lục
Mục lục .2
Phần 1: Mô tả các khái niệm và bài toán thực tế quy hoạch tuyến tính 3
I Giới thiệu 3
II Các khái niệm cơ bản 3
1 Hàm mục tiêu 3
2 Ràng buộc chung 4
3 Ràng buộc về dấu 4
III Các bài toán thực tế và ứng dụng của quy hoạch tuyến tính 4
1 Tối ưu hoá chi phí sản xuất 4
2 Bài toán vận tải 4
3 Quản lí tài nguyên 4
4 Quy hoạch tiện ích và dự án 4
5 Bài toán đầu tư 4
IV Các phương pháp và công cụ giải quyết bài toán quy hoạch tuyến tính 6
1 Phương pháp cực biên 6
2 Thuật toán đơn hình 7
Phần 2 :Cơ sở lý thuyết và thuật toán tìm phương án tối ưu tuyến tính 8
1 Cơ sở lý thuyết 8
1.1:các dạng bài toán quy hoạch tuyến tính 8
1.2: Cách xây dựng bài toán quy hoạch tuyến tính dạng chuẩn từ dạng tổng quát 10
2.Phương pháp đơn hình giải bài toán quy hoạch tuyến tính ở dạng chuẩn 11
2.1:bài toán max 11
2.1.2:thuật toán giải bài toán min 13
Phần 3: Bài toán vận tải 1423 Phần 4: kết luận 23
Tài liệu tham khảo 23
Trang 3Phần 1: Mô tả các khái niệm và bài toán thực tế quy hoạch tuyến tính
I Giới thiệu
- Định nghĩa: quy hoạch tuyến tính là một lĩnh vực trong toán học và khoa học máytính nơi mà chúng ta tìm kiếm giải pháp tối ưu cho các vấn đề với các hàm mục tiêu tuyến tính và các ràng buộc tuyến tính
- Ý nghĩa: việc nghiên cứu về quy hoạch tuyến tính mang lại nhiều ý nghĩa quan trọng và ứng dụng rộng rãi trong các lĩnh vực khác nhau Dưới đây là một số ví dụ:
phương pháp để tối ưu hóa các quy trình, quyết định và tài nguyên trong các
tổ chức và doanh nghiệp Việc áp dụng các kỹ thuật quy hoạch tuyến tính có thể giúp cải thiện hiệu suất, giảm thiểu chi phí và tối ưu hóa lợi nhuận
quản lý và phân bổ tài nguyên như lao động, vật liệu và thời gian một cách hiệu quả, từ đó tăng cường khả năng cạnh tranh và sự bền vững của tổ chức
pháp toán để giải quyết các vấn đề phức tạp và đa biến Các bài toán thực tế như tối ưu hóa chi phí, quy hoạch vận tải và quản lý dự án thường gặp có thểđược giải quyết một cách hiệu quả bằng các phương pháp quy hoạch tuyến tính
Tiết Kiệm Thời Gian và Chi Phí: việc áp dụng quy hoạch tuyến tính giúp
tiết kiệm thời gian và chi phí so với việc áp dụng các phương pháp thủ công hoặc không toán học
II Các khái niệm cơ bản
1 Hàm mục tiêu: là một hàm số mà chúng ta cố gắng tối ưu hóa trong quá trình
giải quyết bài toán Việc tối ưu hóa hàm mục tiêu thường là tìm ra các giá trị của biến sao cho giá trị của hàm mục tiêu là min hoặc max tùy thuộc vào bài toán
Trang 4Ví dụ, trong bài toán tối ưu hóa chi phí sản xuất, hàm mục tiêu có thể là tổng chi phí sản xuất, trong đó chi phí sản xuất của từng sản phẩm được tính tổng lại Trongbài toán quy hoạch vận chuyển, hàm mục tiêu có thể là tổng chi phí vận chuyển hoặc thời gian vận chuyển.
2 Ràng buộc chung: là các điều kiện mà các biến quyết định phải tuân thủ để giải
quyết một vấn đề cụ thể Các ràng buộc này có thể là các hạn chế về giới hạn tài nguyên, các quy định về sản phẩm hoặc dịch vụ, hoặc các điều kiện khác liên quan đến vấn đề đang được xem xét Mục đích của các ràng buộc chung là hạn chế phạm vi của giải pháp tối ưu, đảm bảo rằng các giải pháp đề xuất là hợp lý và thực tế
3 Ràng buộc về dấu: là các điều kiện mà các biến quyết định phải tuân thủ về
hướng của chúng Điều này giúp định rõ các biến là phải dương, âm hoặc có thể là
cả hai
III Các Bài Toán Thực Tế và Ứng Dụng của Quy Hoạch Tuyến Tính
1 Tối ưu hóa chi phí sản xuất: mô tả và giải thích về việc sử dụng quy hoạch
tuyến tính trong tối ưu hóa chi phí sản xuất
2 Bài toán vận tải: ứng dụng của quy hoạch tuyến tính trong tối ưu hóa hệ thống
vận tải và phân phối
3 Quản lý tài nguyên: sử dụng quy hoạch tuyến tính trong việc quản lý tài
nguyên như lao động, vật liệu, và thời gian làm việc
4 Quy hoạch tiện ích và dự án: mô tả ứng dụng của quy hoạch tuyến tính trong
việc tối ưu hóa quy trình và quản lý dự án
5 Bài toán đầu tư: lập mô hình cho bài toán tìm kế hoạch đầu tư để thu về lợi
nhuận lớn nhất
Ví dụ:
Một người có 500 ( triệu đồng) muốn đầu tư hết với các hình thức:
Tiết kiệm không kì hạn với lãi suất 0.2%/ tháng
Tiết kiệm có kì hạn với lãi suất 0.5%/ tháng
Mua trái phiếu với lãi suất 8%/ tháng
Cho tư nhân vay với lãi suất 15%/ tháng
Trang 5Để giảm thiểu rủi ro, người này được tư vấn như sau:
Không cho tư nhân vay quá 20% số vốn
Số tiền mua trái phiếu không vượt quá tổng số tiền đầu tư vào các hình thức còn lại
Số tiền mua trái phiếu và gửi tiết kiệm có kì hạn phải chiếm ít nhất 40% tổng
x1 + x2 + x3 + x4 = 500Mục tiêu lợi nhuận cao nhất:
f(x) = 0,002x1 + 0,005x2 + 0,08x3 + 0,15x4 => max
Mô hình trận:
Hàm mục tiêu: f(x) = 0,002x1 + 0,005x2 + 0,08x3 + 0,15x4 => max
Trang 6Nhưng để làm được bài toán thì ta phải đưa về dạng chính tắc bằng cách thêm các
ẩn phụ để chuyển từ hệ bất phương trình thành hệ phương trình
Từ đây, ta có thể lập mô hình cho bài toán tìm kế hoạch đầu tư để thu về lợi nhuận lớn nhất bằng ma trận:
(1 10 1 11 1 00 0 00 −1 2000 500
Iv Các phương pháp và công cụ giải quyết bài toán quy hoạch tuyến tính
1 Phương án cực biên: là một phương pháp được sử dụng để tìm kiếm giải pháp
tối ưu bằng cách kiểm tra tất cả các giải pháp có thể có trên biên của miền ràng buộc Đây là một trong những phương pháp đơn giản nhất để giải quyết các bài toán quy hoạch tuyến tính và thường được sử dụng khi số lượng biến và ràng buộc không quá lớn
Trang 7=> Nếu xB ≥ 0 thì x = (xB,0) là một phương án cận biện, trong đó:
2 Thuật toán đơn hình: là một trong những thuật toán quan trọng nhất để giải
quyết các bài toán tối ưu hóa quy hoạch tuyến tính Thuật toán này được phát triển bởi George Dantzig vào những năm 1940 và được coi là một trong những đóng góp quan trọng nhất của toán học vào thế kỷ 20 Thuật toán đơn hình hoạt động dựa trên việc di chuyển từng bước từ một đỉnh của một vùng khả thi tới một đỉnh khác để tìm kiếm giải pháp tối ưu Thuật toán này chủ yếu áp dụng cho các bài toán tối ưu hóa trong không gian chiều, nơi mà mỗi biến có thể nhận một giá trị thực không âm
Trang 8Phần 2 :Cơ sở lý thuyết và thuật toán tìm phương án tối ưu tuyến tính 1.Cơ sở lý thuyết
1.1 Bài toán quy hoạch tuyến tính thường có 3 dạng:
• Giải một bài toán QHTT là đi tìm một phương án tối ưu của nó hoặc chỉ ra rằng bài toán vô nghiệm, nghĩa là bài toán không có PATU
Trang 9Bài toán QHTT dạng chính tắc là bài toán QHTT dạng tổng quát trong đó:
• Các ràng buộc chính đều là phương trình
• Các ẩn đều không âm
• Các hệ số tự do đều không âm
• Trong ma trận hệ số tự do có đủ m vector cột đơn vị: e1,e2, … ,e m .
1) Khi đó:
• Các ẩn ứng với các vector cột đơn vị được gọi là các ẩn cơ bản Cụ thể ẩn ứng với vector cột đơn vị k e là ẩn cơ bản thứ k
• Một phương án mà các ẩn cơ bản đều bằng 0 được gọi là phương án cơ bản
• Một phương án cơ bản có đủ m thành phần dương được gọi là không suy biến Ngược lại một phương án cơ bản có ít hơn m thành phần dương được gọi là suy biến
- Để tìm phương án tối ưu tuyến tính ta tiếng hành giải bài toán quy hoạch
tuyến tính ở dạng chuẩn
1.2 Cách xây dựng bài toán quy hoạch tuyến tính dạng chuẩn từ dạng tổng quát.
a Dạng tổng quát về dạng chính tắt
Trang 10Ta có thể biến đổi bài toán dạng tổng quát về dạng chính tắc bằng các bước sau Bước 1 Kiểm tra hệ ràng buộc chính
1) Nếu có ràng buộc chính dạng a i1 x1+a i 2 x2+…+a¿x n ≤ b ithì ta cộng vào vế trái ràng buộc đó ẩn phụ x n+k , nghĩa là ta thay ràng buộc a i1 x1+a i 2 x2+…+a¿x n ≤ b itrong bài toán bằng ràng buộc a i1 x1+a i 2 x2+…+a¿x n+x n+ k=b i
2) Nếu có ràng buộc chính dạng a i1 x1+a i 2 x2+…+a¿x n ≥ b ithì ta trừ vào vế trái ràng buộc đó ẩn phụ x n+k , nghĩa là ta thay ràng buộc a i1 x1+a i 2 x2+…+a¿x n ≤ b itrong bài toán bằng ràng buộc a i1 x1+a i 2 x2+…+a¿x n−x n+k=b i
Chú ý Các ẩn phụ là các ẩn không âm và hệ số của các ẩn phụ đó trong hàm mục tiêu là 0
Bước 2 Kiểm tra điều kiện dấu của ẩn số
1) Nếu có ẩn x j ≤ 0 thì ta thực hiện phép đổi ẩn số x j=−x j 'với x j ' ≥ 0
2) Nếu có ẩn x j có dấu tùy ý thì ta thực hiện phép đổi ẩn số x j=x j '−x j ' 'với
x j ' , x j ' ' ≥ 0
Chú ý Khi tìm được PATU của bài toán dạng chính tắc ta chỉ cần tính giá trị của các ẩn ban đầu và bỏ đi các ẩn phụ thì sẽ được PATU của bài toán dạng tổngquát đã cho
b.Dạng chính tắc về dạng chuẩn
1) Khi gặp hệ số tự do b i< 0 ta đổi dấu hai vế của ràng buộc thứ i
2) Khi ma trận hệ số ràng buộc A không chứa cột đơn vị thứ k là e k , ta đưa vào
ẩn giả x n+k ≥ 0 và cộng thêm ẩn giả x n+k vào vế trái phương trình ràng buộc thứ k
để được phương trình ràng buộc mới: a k 1 x1+a k 2 x2+…+a kn x n−x n+k=b k
3) Hàm mục tiêu mở rộng f (x) được xây dựng từ hàm mục tiêu ban đầu như sau
• Đối với bài toán min: f ( x )=f ( x )+M (∑ẩn giả)
• Đối với bài toán max: f ( x )=f ( x )−M (∑ẩn giả)
Trong đó M là đại lượng rất lớn, lớn hơn bất kì số nào cho trước
2.Phương pháp đơn hình giải bài toán quy hoạch tuyến tính ở dạng chuẩn 2.1.Bài toán max
1) Lập bảng đơn hình xuất phát
Vẽ bảng đơn hình và ghi vào đó các thành phần sau của bài toán dạng chuẩn
Trang 11• Dòng 1 Ghi các ẩn của bài toán (kể cả ẩn phụ) • Dòng 2 Ghi các hệ số của các
ẩn trong hàm mục tiêu
• Cột 2 Ghi các ẩn cơ bản của bài toán theo thứ tự từ ẩn cơ bản thứ nhất đến ẩn
cơ bản cuối cùng, ta gọi cột này là cột ẩn cơ bản
• Cột 1: Ghi tương ứng các hệ số của các ẩn cơ bản trong hàm mục tiêu, ta gọi cột này là cột hệ số cơ bản
• Cột 3 Ghi các số hạng tự do của hệ ràng buộc chính theo thứ tự từ trên xuống dưới, ta gọi cột này là cột phương án
• Cột 4 Ghi ma trận điều kiện A của bài toán
Tính hệ số ước lượng ∆ j của các ẩn x j(j =1,2, … ,n) và ghi tương ứng vào dòng dưới cột 4, với ∆ j được tính theo công thức sau:
∆ j=cot1 × Aj−hsx j ( hsx j : hệ số của ẩn x j trong hàm mục tiêu)
Chú ý Nếu x j là ẩn cơ bản thì ∆ j= 0
Tính trị số f0 = cot 1 ×cot 3 và ghi dưới cột 3
2) Xác định phương án cơ bản xuất phát
Với bảng đơn hình vừa lập được thì phương án cơ bản xuất phát x0 của bài toán được xác định như sau: Cho các ẩn ở cột 2 nhận giá trị tương ứng ở cột 3, các ẩncòn lại nhận giá trị 0 Trị số của hàm mục tiêu tại phương án cơ bản xuất phát x0
là f(x0)=f0
3) Đánh giá tính tối ưu của phương án cơ bản xuất phát
• Dấu hiệu tối ưu Nếu hệ số ước lượng của các ẩn đều không âm, ∆ j ≤0, ∀ j thì phương án cơ bản xuất phát x0 là phương án tối ưu của bài toán Thuật toán kết thúc với kết luận: Bài toán có PATU là x0 và GTTU là f (x¿¿ 0) ¿
• Dấu hiệu của bài toán không có PATU Nếu có ẩn không cơ bản x k có hệ số ước lượng âm và cột điều kiện Ak của ẩn đó có các thành phần đều không
dương, ∆ k<0 và a ik ≤0, ∀ i thì bài toán không có phương án tối ưu Thuật toán kết thúc với kết luận: Bài toán không có PATU
Nếu không xảy ra cả hai trường hợp trên thì thuật toán tiếp tục trong bước lặp thứ hai
Bước lặp thứ hai (Bảng đơn hình thứ hai)
1) Tìm ẩn đưa vào
Trong tất cả các ∆ j<0 ta chọn ∆ v< 0 nhỏ nhất Khi đó x v sẽ là ẩn được đưa vào hệ
Trang 12Chú ý Nếu cột chủ yếu chỉ có một số dương thì số dương đó là hệ số chủ yếu, dòng có số dương đó là dòng chủ yếu, ẩn nằm trên dòng chủ yếu là ẩn được đưa ra.
3) Lập bảng đơn hình thứ hai
• Cột 2: Thay ẩn đưa ra bằng ẩn đưa vào, các ẩn cơ bản còn lại giữ nguyên Dòng có ẩn đưa vào gọi là dòng chuẩn
• Cột 1: Thay hệ số của ẩn đưa ra bằng hệ số của ẩn đưa vào, các hệ số của các
ẩn cơ bản còn lại giữ nguyên
Các thành phần còn lại được xác định theo dòng như sau
• Dòng chuẩn = Dòng chủ yếu chia cho hệ số chủ yếu
• Dòng thứ i = Dòng thứ i (cũ) – a iv.dòng chuẩn (a iv: số nằm trên giao của dòng i
và cột chủ yếu)
Các hệ số ước lượng và trị số của hàm mục tiêu trong bảng thứ hai được tính và ghi như bảng thứ nhất
4) Xác định và đánh giá phương án cơ bản thứ hai (như bước lặp thứ nhất)
2.1.2 Thuật toán giải bài toán min
Giải tương tự bài toán max với chú ý sau
• Điều kiện tối ưu: ∆ j ≤0, ∀ j
• Điều kiện không có PATU: ∃ ∆ j> 0và a ik ≤0 , ∀ i
• Ẩn được chọn đưa vào: Ẩn ứng với ∆ k>0 lớn nhất
Phần 3: Bài toán vận tải (cân bằng thu phát)
I Thiết lập bài toán
Bài toán vận tải là một trong những mô hình có nhiều ứng dụng trong thực tế Bài toán được phát biểu như sau:
Trang 13Có m kho hàng (phát hàng) A A1 , 2 , ,A m, kho thứ i chứa a i đơn vị hàng hóa(i 1, )m và n nơi tiêu thụ (nhận hàng) B B1 , 2 , ,B m, nơi tiêu thụ thứ j cần b j đơn
vị hàng hóa (j1, )n Giả thiết rằng tổng lượng hàng cần phát đi bằng tổng lượnghàng cần tiêu thụ, tức là 1 1
Yêu cầu của bài toán vận tải như sau:
- Các kho hàng đều phát hết hàng.
- Các điểm tiêu thụ đều nhận đủ hàng.
- Tổng cước phí vận chuyển là ít nhất.
II Xây dựng mô hình
Gọi x ij là số đơn vị hàng chuyển từ A i đến B j (x ij 0)
Các kho hàng đều phát hết hàng 1
n
ij i j
x a
(i1, )m
.Các điểm tiêu thụ đều nhận đủ hàng 1
m
ij j i
x b
(j1, )n
.Tổng cước phí vận chuyển là ít nhất 1 1
Định lý: Bài toán vận tải cân bằng thu phát luôn có phương án tối ưu.
Chứng minh:
Trang 14Ta cần chứng minh bài toán vận tải có phương án tối ưu, tức là chứng minh tập hợp các phương án của bài toán khác rỗng, và hàm mục tiêu (hàm cước phí) bị chặn dưới.
a b x Q
Trang 15Định nghĩa 1: Những ô ( , )i j với x ij 0 gọi là ô chọn Những ô còn lại là ô loại.
Định nghĩa 2: Dãy các ô ( , )i j mà hai ô liên tiếp của dãy nằm trên cùng một hàng hoặc cùng một cột gọi là dây chuyền
Trang 16III Giải bài toán vận tải bằng phương pháp thế vị
-Bước 1: Tìm phương án cơ bản (PACB) xuất phát.
-Bước 2: Tính các thế vị u v i, j, tính số ước lượng ij u i v j c ij của các ô loại
Nếu ij 0 i j, thì phương án đang xét là phương án tối ưu và kết thúc
Nếu ij 0 thì chọn i j* * sao cho i j* * max ij 0 làm ô đưa vào
và chuyển sang bước 3
-Bước 3: Lập một chu trình V bắt đầu từ ( *, *)i j , đi qua các ô chọn còn lại của phương án đang xét Đánh dấu các ô trong vòng V bởi các dấu +, - với ô ( *, *)i jđánh dấu cộng Khi đó ta có V
là tập hợp các ô trong vòng được đánh dấu +,
V
là tập hợp các ô trong vòng được đánh dấu -
-Bước 4: Tìm ô đưa ra thỏa mãn x i** **j min x ij,( , )i j V
Trang 17Ví dụ: giải bài toán vận tải với bảng vận tải được cho như sau:
-Bước 1: Tìm PACB bằng phương pháp cực tiểu cước phí:
- Chọn ô có cước phí bé nhất, điền vào đó số lượng hàng hóa nhiều nhất có thể
- Nếu một kho hàng đã phát hết hàng thì loại bỏ hàng chứa kho đó, nếu một điểm tiêu thụ đã nhận đủ hàng thì loại bỏ cột chứa điểm tiêu thụ đó
- Lặp lại cho đến khi tất cả kho hàng đã phát hết hàng và tất cả điểm tiêu thụ đã nhận đủ hàng
Trang 18Hàm chi phí ban đầu: f x ( ) (50 1) (20 3) (20 2) (60 7) (10 11) 680
Bước 2: Tính các thế vị và số ước lượng:
- Có tất cả 6 ẩn số, nhưng hệ chỉ có 5 phương trình nên ta chọn một ẩn bất kì là
ẩn tự do và gán giá trị 0 Chẳng hạn, cho u 2 0 ta tính được v 1 3, v 2 2,
Trang 21IV Phần mềm Python tìm phương án tối ưu cho bài toán vận tải
Trang 22Sau khi chạy chương trình với input như ở ví dụ trên, phần mềm xuất ra ma trận phương án tối ưu và chi phí tối ưu nhất:
Phần 4 : kết luận
Quy hoạch tuyến tính đóng vai trò quan trọng trong việc tối ưu hóa các quy trình
và tài nguyên trong thực tế Bằng cách áp dụng các phương pháp và công cụ quyhoạch tuyến tính, các tổ chức và doanh nghiệp có thể giảm thiểu chi phí sản xuất, tăng cường hiệu suất và tối ưu hóa lợi nhuận Đặc biệt, trong thời đại của big data và trí tuệ nhân tạo, quy hoạch tuyến tính có tiềm năng phát triển mạnh
mẽ hơn Sự phát triển của công nghệ cho phép xử lý dữ liệu lớn và phân tích thông tin phức tạp, từ đó tạo ra các giải pháp quy hoạch tuyến tính mạnh mẽ, tối
ưu và linh hoạt hơn Bên cạnh đó, quy hoạch tuyến tính cũng đóng vai trò quan trọng trong việc giải quyết các vấn đề xã hội như quản lý tài nguyên, vận tải và lập kế hoạch đô thị Tóm lại, lĩnh vực này rất có ý nghĩa trong thực tế và còn có tiềm năng phát triển vượt bậc trong tương lai
Tài liệu tham khảo
1 Howard Anton-Chris Rorres, Elementary Linear Algebra – 11tht
2.Kênh YouTube "Bài Giảng Toán Ứng Dụng" của thầy Lê Trung Hưng
3 Bài giảng “Toán kinh tế” của cô Lê Vân
4 Bài giảng “Quy hoạch tuyến tính” của cô Giang Lê