Professional Documents
Culture Documents
Summer School - 2023
Summer School - 2023
0
Mục đích
• Hiểu về vận trù học, tối ưu hóa
• Nắm được các bài toán kinh điển nhất của Vận trù học
• Luyện tập tư duy toán: cách mô hình bài toán dưới dạng toán học
• Thực hành lập trình: giải một số bài toán tối ưu sử dụng công cụ AMPL
Đối tượng có thể theo học
• Sinh viên tất cả các khối ngành
• Hướng dẫn mô hình hóa và giải một số bài toán tối ưu chọn lọc
Ra quyết định ở khắp mọi nơi
• Nên đầu tư vào đâu, mua cổ phiếu nào để đạt lợi nhuận cao nhất, ít rủi ro nhất?
• Lập lịch làm việc, thời khóa biểu tối ưu cho nhân viên, giáo viên, học sinh
OPERATIONS RESEARCH
→ The art of decision making
→ The science of better
Định nghĩa, các lĩnh vực liên quan
• Operations research (Anh-Anh: operational research) (OR) là ngành học liên quan đến
việc áp dụng các phương pháp phân tích tiên tiến để giúp đưa ra các quyết định tốt
hơn.
• Sử dụng các kỹ thuật của Toán học như mô hình hóa, phân tích thống kê, tối ưu hóa,
vv… vận trù học đưa ra các lời giải tối ưu, hoặc gần tối ưu cho các vấn đề ra quyết định
phức tạp.
• Một bài toán vận trù học thường gồm ít nhất một hàm mục tiêu và một tập hợp các
ràng buộc.
Lịch sử hình thành
• Hình thành từ trước chiến tranh thế giới lần II, các kĩ thuật của Vận trù học được áp
dụng trong rất nhiều các ngành nghề, lĩnh vực khác nhau.
• https://youtu.be/352W1GzCn6o
Vận trù học trong chiến tranh tại Việt Nam
7
Vậntrùtrù
Vận họchọc tạiNam
tại Việt Việt Nam
GS Hoàng Tụy
Cha đẻ của Lý thuyết Tối ưu toàn cục
Yun Chou → Vận trù
8
Vậntrùtrù
Vận họchọc tạiNam
tại Việt Việt Nam
“Vận trù” là câu của Trương Lương: “Vận trù ư duy ác chi trung,
quyết thắng ư tiên lý chi ngại”. Vận trù cũng là tham mưu. Bộ đội ta
có nhiều người không học tính toán được nhiều mà làm “vận trù” cũng
khá là nhờ cái này...”.
9
Mạng lưới vận trù học Việt Nam
• Vietnam Operations Research Network (VORN):
https://www.facebook.com/groups/692458818867542
• Thành lập năm 2021 dưới sự bảo trợ của Viện nghiên cứu cấp cao về
Toán
• Gặp gỡ hàng năm (annual meeting)
• Seminar online hàng tháng (thứ 5 đầu tiên trong tháng)
• Các sự kiện khác
10
Operations research laboratory (ORLab)
• Các hướng nghiên cứu chính:
▫ Tối ưu chuỗi cung ứng và các hệ thống công nghiệp: TS. Vũ Đức Minh,
TS. Hà Minh Hoàng, Th.S Nguyễn Minh Anh, Th.S Phạm Hoàng Giang
▫ Thuật toán xấp xỉ và độ phức tạp: PGS. Nguyễn Trung Thành, TS. Phạm
Văn Cảnh
▫ Tối ưu hóa và học máy trong ra quyết định: PGS. Nguyễn Trung Thành,
TS. Hà Minh Hoàng, TS. Tạ Thúy Anh, TS. Dương Thị Kim Huyền, Th.S
Phạm Hoàng Giang
11
ORLab
Thành viên:
• 09 Tiến sĩ, 01 PGS
• 03 Thạc sĩ
• 08 Lập trình viên
• 08 Trợ lý nghiên cứu
• >10 Sinh viên thực tập
Website: http://orlab.com.vn/
Địa chỉ: phòng 703, nhà A6, Khoa Công
nghệ Thông tin, trường Đại học Phenikaa
12
Cơ hội học tập và làm việc tại ORLab
13
Cơ hội việc làm ngành OR
14
Cơ hội việc làm ngành OR
• Nguồn: https://www.cbsnews.com
15
Nội dung
• Vận trù học, toán tối ưu là gì?
• Hướng dẫn mô hình hóa một số bài toán tối ưu dưới dạng toán học
Basic notion
Bài toán quy hoạch tuyến tính
❖ Các thành phần của một hệ quy hoạch tuyến tính và ví dụ
Linear Programming = LP
Một nhà máy sản xuất hai loại xi măng, bán với giá 50$ và 70$ một tấn. Sản
xuất một tấn loại 1 mất 40 phút trong lò nung và 20 phút trong máy nghiền.
Sản xuất một tấn loại 2 mất 30 phút nung và 30 phút nghiền. Lò nung và
máy nghiền hoạt động 6 tiếng và 8 tiếng một ngày. Cần sản xuất mỗi loại
bao nhiêu để nhận được doanh thu lớn nhất?
Basic notion
Bài toán quy hoạch tuyến tính
❖ Các thành phần của một hệ quy hoạch tuyến tính và ví dụ
Linear Programming = LP
Một nhà máy sản xuất hai loại xi măng, bán với giá 50$ và 70$ một tấn. Sản xuất
một tấn loại 1 mất 40 phút trong lò nung và 20 phút trong máy nghiền. Sản xuất
một tấn loại 2 mất 30 phút nung và 30 phút nghiền. Lò nung và máy nghiền hoạt
động 6 tiếng và 8 tiếng một ngày. Cần sản xuất mỗi loại bao nhiêu để nhận được
doanh thu lớn nhất?
Lời giải khả thi: thỏa mãn tất cả các ràng buộc, ví dụ: x1 = 4 và x2 = 2
trong bài toán sản xuất xi măng.
Lời giải tối ưu: nếu không tồn tại lời giải nào khác có giá trị hàm mục
tiêu tốt hơn lời giải này.
Basic notion
Bài toán quy hoạch tuyến tính
❖ Dạng tổng quát và các mở rộng (tiếp tục)
Nếu chỉ có các biến liên tục: Linear programming (LP - quy hoạch tuyến
tính)
Nếu có biến nguyên: Integer programming (IP - quy hoạch nguyên)
Quy hoạch tuyến tính với biến nhị phân: một trường hợp đặc biệt của IP
với biến nhận 2 giá trị 0 hoặc 1 (biến nhị phân hoặc biến quyết định).
Quy hoạch biến nguyên hỗn hợp (MIP - Mixed Integer Programming): bao
gồm tất cả các loại biến.
Nếu có ít nhất một ràng buộc hoặc hàm mục tiêu là PHI TUYẾN 🡪 Quy
hoạch phi tuyến (Non-linear Programming – NLP).
Các điểm giao của các không gian này tạo nên một đa diện lồi, ví dụ ở đây là
đa giác OIJK. Tính lồi có nghĩa là với 2 điểm bất kì A và B nằm trong đa giác,
đoạn [A,B] cũng thuộc đa giác đó.
Khi tăng k lên, các đường thẳng tạo ra bởi phương trình z = k là song song.
z tăng theo hướng của vec-tơ c của hàm mục tiêu. Nghiệm tối ưu x*, duy
nhất ở đây, đạt được tại điểm J = (3,3) của đa giác, với giá trị lợi nhuận là z*
= 9.
Phương
Bài toánpháp
Graphical đồ (5/7)
method thị (5/7)
quy hoạch tuyến tính
❖ Một số trường hợp đặc biệt:
Nếu không có ràng buộc x1+x2 ≤ 6, miền nghiệm sẽ không bị giới hạn, giá trị
mục tiêu của nghiệm tối ưu cũng không bị giới hạn.
Nghiệm tối ưu có thể hữu hạn dù miền nghiệm là vô hạn: ví dụ trường hợp c
= (-1,2), điểm tối ưu là điểm I.
Nếu chúng ta thêm ràng buộc x1 – x2 ≤ 4, miền nghiệm là rỗng và không tồn
tại nghiệm khả thi.
Nếu, nếu chúng ta cực đại hóa hàm mục tiêu z = x1+x2, có nhiều nghiệm tối
ưu (tất cả các điểm nằm trên cạnh JK).
Tuy nhiên chú ý rằng tập hợp các nghiệm tối ưu, nếu không rỗng, luôn bao
gồm một đỉnh thuộc đa giác.
Phương
Bài toánpháp
Graphical đồ (6/7)
method thị (6/7)
quy hoạch tuyến tính
Với bài toán thực tế (lập kế hoạch sản xuất), miền nghiệm thường sẽ không
rỗng vì luôn có ít nhất một nghiệm: kế hoạch sản xuất hiện tại của công ty.
Hơn nữa, nghiệm tối ưu thường bị chặn vì các nguồn lực luôn có giới hạn.
Vô nghiệm thường xảy ra khi bài toán bị ràng buộc quá chặt. Bỏ quên 1 ràng
buộc lại có thể dẫn tới bài toán có nghiệm tối ưu không bị chặn.
Khi sử dụng các công cụ giải LP, nhập sai dấu của ràng buộc cũng có thể
gây ra các hiện tượng này. Lưu ý cần xem xét cẩn thận mô hình toán học.
Nếu có nhiều hơn 2 nghiệm, phương pháp đồ thị không thể sử dụng được,
lúc đó cần sử dụng phương pháp đại số.
Phương
Bài toánpháp
Graphical đồ (7/7)
method thị (7/7)
quy hoạch tuyến tính
Luyện tập:
Phương
Bài toánpháp
Graphical số (7/7)tuyến
method
quy hoạch tính
● Thuật toán → chạy trên máy tính
● Tìm cách kiểm tra thông minh các điểm nằm trên
điểm giao tạo ra bởi các ràng buộc.
• Cần tìm:
▫ Các tuyến giao hàng cho từng xe (mỗi
xe tối đa một tuyến) phục vụ hết tất cả
các khách hàng
▫ Tải trọng của xe phải thỏa mãn
▫ Tổng quãng đường các xe đi là nhỏ
nhất
• Khi bài toán chỉ có 1 xe duy nhất →
Bài toán người đưa thư (Traveling
Salesman Problem - TSP)
VRP trong thực tế
Giải chính xác
41
Bài toán lập kế hoạch thực hiện công việc tối ưu
• Input:
▫ Một tập hợp các hình chữ
nhật nhỏ, mỗi hình i có kích
thước w(i) và h(i) cố định
▫ Một hình chữ nhật lớn với
chiều rộng L cho trước
• Output:
▫ Cách xếp các hình chữ nhật
nhỏ vào hình chữ nhật lớn
sao cho không chồng lấn,
các cạnh song song với hình
chữ nhật lớn sao cho chiều
cao của phần hình chữ nhật
chiếm chỗ là nhỏ nhất
Ràng buộc guillotine
• Hướng dẫn mô hình hóa một số bài toán tối ưu dưới dạng toán học
Lập kế hoạch phát sóng quảng cáo truyền hình
Các yêu cầu của bài toán Ràng buộc tương đương cho bài Knapsack
Một số khách hàng cho phép phát nhiều spot trong 1 Một đồ vật có thể lấy nhiều lần
cut
Pepsi và Coca không được chung một cut Một số đồ vật không được xếp cùng nhau vào
túi → ràng buộc xung đột
Mỗi khách hàng yêu cầu một khung giờ phát nhất định Mỗi đồ vật có một danh sách túi có thể xếp
được nhất định
Một số sản phẩm “nhạy cảm” không được xếp vào Một số đồ vật không được xếp vào một số túi
khung thời sự nhất định
Một số khách hàng yêu cầu 1 trong 6 vị trí Quan tâm tới thứ tự lấy đồ vật
Một số khách hàng mua vị trí và cut phát sóng Đồ vật được chỉ định thứ tự lấy và túi đựng
Một số khách hàng yêu cầu phát rải spot quảng cáo đều
trong ngày
Không được phát quá ngân sách cho phép của khách Mỗi đồ vật chỉ lấy được một số lần nhất định
hàng (thể hiện qua lượng GRP cho phép)
Dự đoán GRP
• GRP: Gross Rating Point → phụ thuộc vào thời điểm phát, đối
tượng khách hàng, thị trường mục tiêu.
• Mỗi khách hàng yêu cầu phát một lượng GRP nhất định trong
một khoảng thời gian nhất định.
▫ Ví dụ: 100 GRP từ ngày x đến ngày y cho đối tượng khách
hàng FE50+ABC, thị trường Hà Nội - Hồ Chí Minh
• Đài truyền hình phải dự đoán lượng GRP phát được sao cho
dữ liệu khớp với Kantar nhất có thể
Bài toán có kích cỡ dữ liệu lớn
• ~ 100 cut/ngày.
• Lập kế hoạch cho 1 tháng (~30 ngày)
• ~ 200 đối tượng khách hàng
• 4 thị trường mục tiêu và các tổ hợp
• GRP theo từng phút (> 40k records)
Logistics
• Một số bài toán tối ưu trong lĩnh vực logistics điển hình
○ Tìm vị trí đặt các cơ sở sản xuất (facility location)
○ Quản lý tồn kho
○ Tối ưu hoá hoạt động vận chuyển
Logistics
• Một số bài toán tối ưu trong lĩnh vực logistics điển hình
○ Tìm vị trí đặt các cơ sở sản xuất (facility location)
○ Quản lý tồn kho
○ Tối ưu hoá hoạt động vận chuyển
Logistics
• Một số bài toán tối ưu trong lĩnh vực logistics điển hình
○ Tìm vị trí đặt các cơ sở sản xuất (facility location)
○ Quản lý tồn kho
○ Tối ưu hoá hoạt động vận chuyển
Thu gom rác thải
Thu gom rác thải
57
VRP với ràng buộc đồng bộ hóa
• Các công ty cung cấp dịch vụ lắp đặt, bảo trì mạng internet
▫ Đội xử lý phần cứng và đội xử lý phần mềm
• Vận chuyển các hàng hoá lớn như đồ nội thất, đồ gia dụng
▫ Đội chuyên chở
▫ Đội lắp đặt
Minh Hoàng Hà, Tat Dat Nguyen, Thinh Nguyen Duy, Giang Hoang Pham, Thuy Do,
Louis-Martin Rousseau (2020). A new constraint programming model and a linear
programming-based adaptive large neighborhood search for the vehicle routing
problem with synchronization constraints. (Computers and Operations Research 124,
105085).
58
Câu chuyện thành công
• Dự án ORION của UPS
• Cần xác định gán bác sĩ nào làm phòng nào, vào ngày nào thỏa
mãn một danh sách các ràng buộc:
▫ Bác sĩ làm đúng chuyên môn
▫ Đủ lượng bác sĩ yêu cầu tại từng phòng
▫ Bác sĩ nên làm 2 ca trong ngày tại cùng một phòng (nhưng
không bắt buộc)
▫ Không được xếp lịch làm việc vào lịch nghỉ đã đăng ký trước
của bác sĩ
▫ Làm phòng rất nặng thì hôm sau không được xếp phòng nặng
hoặc rất nặng
▫ Cân bằng số buổi làm phòng nặng và rất nặng giữa các bác sĩ
▫ Bác sĩ có con nhỏ, hoặc lớn tuổi hạn chế xếp vào phòng cần
đi sớm
▫ Số phòng phải đóng là ít nhất
▫ Nếu buộc phải đóng một số phòng thì các phòng có độ ưu tiên
thấp đóng trước, ưu tiên cao đóng sau
▫ V...v
Một số hệ thống tiêu biểu đã triển khai
• Hệ thống quản lý và xếp lịch làm việc tối ưu cho ngành y tế: đã triển khai tại Bệnh
viện Đại học Y Hà Nội (xem thêm tại http://orlab.com.vn/products/ohos ).
• Hệ thống quản lý và xếp lịch trực ca, đã triển khai tại:
○ Nhà máy thủy điện Lai Châu, nhà máy thủy điện Sơn La: xếp lịch làm việc
trực nhà máy 24/24 cho công nhân làm việc theo chế độ ngày 3 ca.
○ Tokyo Gas (công ty cung cấp khí ga dân dụng lớn nhất Nhật Bản): xếp lịch
làm việc năm cho nhân viên trực đêm đề phòng sự cố. Đã triển khai tại 7 chi
nhánh của Tokyo Gas trên toàn nước Nhật.
○ Ngành viễn thông: xếp lịch làm việc cho nhân viên thực hiện việc thay đổi
thông số mạng viễn thông tại các thị trường trong và ngoài nước.
○ Planday (1 trong 10 công ty startup phát triển nhanh nhất Đan Mạch, dẫn
đầu thị trường châu Âu và Bắc Mỹ về các hệ thống quản lý lịch làm việc):
chuyển giao công nghệ xếp lịch tự động cho hơn 5000 khách hàng của
Planday là các nhà hàng, khách sạn, quán bar, phòng tập thể hình, v.v.
• Hệ thống sắp xếp thời khóa biểu, phân công lịch dạy cho giảng viên: đã triển khai
tại trường Đại học Phenikaa.
Các hệ thống xếp lịch làm việc khác
Bài toán “dồn điền đổi thửa” tại Việt Nam
• P1 có thể giải chính xác bởi thuật toán chạy trong thời
gian đa thức O(nlogn) nhanh hơn Beaumont et al.
(2002) O(n2logn)
• Hướng dẫn mô hình hóa một số bài toán tối ưu dưới dạng toán học
Linear programming: modeling (1/3)
Bài toán quy hoạch tuyến tính
The car rental company
A car rental company has two garages with 12 and 8 cars respectively, and
three rental agencies that require 8, 7 and 5 cars respectively. The costs of
transporting cars from depots to agencies are given by the following table C.
The goal is to transport cars at minimum cost. Model the problem as a LP!
Bài toán
Linear quy hoạch
programming: tuyến(2/3)
modeling tính
Exercise 2: Alloy manufacturing
The Steel company has received an order for five tons of steel intended for
the manufacture of boat hulls. This steel must have the particular
characteristics of the following table.
• Tạo ra nghiệm không khả thi chứa các chu trình con
• (1-2-3-4-1) và (5-6-7-5)
3
2
1
4
5 6
7
Bài toán người đưa thư: mô hình 1
u6 ≥ u5 + 1
u7 ≥ u6 + 1
u5 ≥ u7 + 1
5 6
5 6
7
Bài toán người đưa thư: mô hình 2
5 6
7
Những thuật toán tốt nhất hiện tại
• Thuật toán chính xác tốt nhất cho VRP: ~300-400 khách
hàng. (Uchoa et al., 2013)
• Nhu cầu giải quyết các bài toán Vận trù học đang tăng nhanh, tuy nhiên
Vận trù học còn chưa được phổ biến và chưa được nhận thức đúng tầm
quan trọng ở Việt Nam → cần thêm nhiều chương trình đào tạo, các khóa
học, các hiệp hội ngành, nghề, v...v.
• Thị trường trong nước đang thiếu nhân lực làm toán ứng dụng
Toán tối ưu: Từ lý thuyết đến ứng dụng thực tế
Hà Minh Hoàng
Nhóm nghiên cứu tối ưu hóa các hệ thống lớn
ORLab
90