Quy hoạch số nguyên (integer programming - IP) là một phân ngành cốt lõi của tối ưu hóa toán học và nghiên cứu vận hành, trong đó một số hoặc tất cả các biến quyết định bị ràng buộc phải nhận các giá trị nguyên. Khi hàm mục tiêu và tất cả các ràng buộc đều là hàm tuyến tính, bài toán được gọi là quy hoạch tuyến tính số nguyên (integer linear programming - ILP). Quy hoạch số nguyên cung cấp khung lý thuyết toán học vững chắc để mô hình hóa các quyết định rời rạc, phân bổ tài nguyên hữu hạn, lập lịch trình sản xuất và thiết kế mạng lưới giao thông.
Phát biểu toán học và phân loại bài toán
Dạng tổng quát của bài toán quy hoạch tuyến tính số nguyên được biểu diễn dưới dạng mô hình tối ưu hóa giải tích:
Trong đó, là vector hệ số của hàm mục tiêu, là ma trận hệ số của hệ ràng buộc, là vector vế phải, và biểu thị tập hợp các vector có tọa độ nguyên. Dựa trên đặc tính tập giá trị của biến quyết định, quy hoạch số nguyên được phân chia thành ba nhóm chính:
- Quy hoạch số nguyên thuần túy (pure integer programming): Toàn bộ biến quyết định bắt buộc phải nhận giá trị nguyên không âm ( với mọi ).
- Quy hoạch số nguyên hỗn hợp (mixed-integer linear programming - MILP): Một tập con các biến bị ràng buộc nhận giá trị nguyên, trong khi các biến còn lại có thể nhận giá trị thực liên tục:
Mô hình này rất phổ biến trong thực tế khi kết hợp các biến chỉ thị quyết định nhị phân và các biến đo lường khối lượng, chi phí hoặc thời gian.
- Quy hoạch nhị phân (binary integer programming - BIP): Các biến quyết định chỉ được phép nhận giá trị trong tập hợp nhị phân . Nhóm bài toán này đóng vai trò quyết định trong việc mô hình hóa các lựa chọn có hoặc không (chọn địa điểm đầu tư, gán công việc, định tuyến phương tiện).
Đặc tính độ phức tạp và nới lỏng quy hoạch tuyến tính
Về mặt độ phức tạp tính toán, quy hoạch số nguyên thuộc lớp các bài toán NP-khó (NP-hard). Khác với quy hoạch tuyến tính liên tục có thể giải được trong thời gian đa thức nhờ thuật toán elipsoid hoặc phương pháp điểm trong (interior point method), việc bổ sung ràng buộc biến nguyên khiến miền chấp nhận được trở thành một tập hợp rời rạc không lồi.
Để tiếp cận nghiệm của bài toán quy hoạch số nguyên, kỹ thuật nền tảng là nới lỏng quy hoạch tuyến tính (linear programming relaxation - LP relaxation). Bằng cách bỏ qua điều kiện nguyên và chỉ giữ lại , ta thu được một bài toán quy hoạch tuyến tính liên tục. Giá trị tối ưu của bài toán nới lỏng quy hoạch tuyến tính thiết lập một cận trên lý thuyết (đối với bài toán cực đại hóa) cho giá trị mục tiêu thực tế của bài toán số nguyên ban đầu.
Một trường hợp đặc biệt có ý nghĩa lý thuyết quan trọng là tính chất hoàn toàn đơn môđun (total unimodularity - TUM). Một ma trận số nguyên được gọi là hoàn toàn đơn môđun nếu định thức của mọi ma trận con vuông của nó đều nhận giá trị thuộc tập hợp . Khi ma trận ràng buộc là hoàn toàn đơn môđun và vector vế phải là vector nguyên, mọi điểm cực biên của đa diện nghiệm quy hoạch tuyến tính nới lỏng đều tự động nhận tọa độ nguyên. Trong trường hợp này, bài toán quy hoạch số nguyên có thể được giải chính xác trong thời gian đa thức bằng các thuật toán quy hoạch tuyến tính như phương pháp điểm trong (interior point method) hoặc giải rất hiệu quả trong thực tế bằng thuật toán đơn hình (simplex algorithm), áp dụng điển hình cho các bài toán luồng cực đại trên mạng hoặc bài toán ghép cặp trên đồ thị hai phía.
Các phương pháp giải chính xác nền tảng
Sự phát triển của lý thuyết quy hoạch số nguyên gắn liền với các thuật toán tối ưu hóa chính xác dựa trên cấu trúc hình học đa diện và tìm kiếm cây:
Phương pháp mặt phẳng cắt
Phương pháp mặt phẳng cắt (cutting plane method) tiếp cận nghiệm nguyên bằng cách giải liên tiếp các bài toán nới lỏng tuyến tính, sau đó bổ sung thêm các bất đẳng thức hợp lệ (valid inequalities) nhằm loại bỏ nghiệm phân số của bài toán nới lỏng mà không làm mất đi bất kỳ nghiệm nguyên khả thi nào. Công trình của Gomory (1958) trên Bulletin of the American Mathematical Society đã thiết lập thuật toán mặt phẳng cắt đầu tiên cho quy hoạch số nguyên thông qua việc sinh các nhát cắt phân số Gomory trực tiếp từ bảng đơn simplex cuối cùng, chứng minh về mặt toán học rằng dãy nhát cắt sẽ hội tụ về nghiệm tối ưu nguyên sau một số hữu hạn bước lặp.
Phương pháp nhánh và cận
Phương pháp nhánh và cận (branch and bound) là chiến lược tìm kiếm theo cây phân cấp trên không gian nghiệm. Khi nghiệm của bài toán nới lỏng tuyến tính chứa một biến nhận giá trị không nguyên , không gian tìm kiếm được phân nhánh thành hai bài toán con độc lập bằng cách bổ sung ràng buộc và . Công trình của Land và Doig (1960) trên tạp chí Econometrica đã đề xuất phương pháp số có hệ thống đầu tiên để phân nhánh và tính toán cận trên các bài toán quy hoạch rời rạc. Cận từ bài toán nới lỏng cho phép tỉa bỏ (prune) các nhánh không chứa nghiệm tối ưu hơn nghiệm nguyên tốt nhất hiện có, giúp thu hẹp đáng kể số lượng nút cần duyệt.
Phương pháp nhánh và cắt
Thuật toán nhánh và cắt (branch and cut) kết hợp sức mạnh của phương pháp phân nhánh với việc tự động sinh các mặt phẳng cắt tại từng nút của cây tìm kiếm. Thay vì chỉ phân nhánh đơn thuần, các lát cắt đa diện mạnh (chẳng hạn như lát cắt bìa - cover cuts, lát cắt bè - clique cuts, hay lát cắt làm tròn số nguyên hỗn hợp (mixed-integer rounding cuts - MIR cuts)) được đưa vào để làm chặt đa diện nghiệm. Công trình của Padberg và Rinaldi (1991) trên tạp chí SIAM Review đã ứng dụng thành công thuật toán nhánh và cắt để giải quyết bài toán người bán hàng đối xứng (symmetric traveling salesman problem - STSP), lần đầu tiên chứng minh tính tối ưu tuyệt đối cho các trường hợp dữ liệu thực nghiệm quy mô lớn lên tới 2392 thành phố.
So sánh các phương pháp giải quy hoạch số nguyên
Bảng tổng hợp đối chiếu đặc tính vận hành và hiệu quả tính toán giữa các phương pháp tiếp cận quy hoạch số nguyên:
| Phương pháp | Cơ chế vận hành | Đặc tính hội tụ | Khả năng mở rộng quy mô | Bộ giải tiêu biểu |
|---|---|---|---|---|
| Nhánh và cận (Branch and Bound) | Phân chia không gian nghiệm thành cây bài toán con và sử dụng cận nới lỏng tuyến tính | Hội tụ chính xác về nghiệm tối ưu toàn cục | Quy mô trung bình, dễ bùng nổ số lượng nút cây tìm kiếm | CBC, GLPK, SCIP |
| Mặt phẳng cắt (Cutting Plane) | Bổ sung liên tục các ràng buộc tuyến tính hợp lệ để gọt giũa đa diện nới lỏng | Hội tụ hữu hạn về lý thuyết nhưng có thể gặp khó khăn về ổn định số học | Thường áp dụng bổ trợ, ít khi dùng đơn lẻ cho bài toán lớn | Thuật toán Gomory nguyên gốc |
| Nhánh và cắt (Branch and Cut) | Tích hợp sinh mặt phẳng cắt đa diện tại từng nút trên cây nhánh và cận | Hội tụ nhanh nhờ làm chặt cận liên tục ở từng tầng nhánh | Quy mô lớn, là tiêu chuẩn công nghiệp hiện đại | Gurobi, CPLEX, Xpress, SCIP |
| Heuristic và Metaheuristic | Tìm kiếm cục bộ, giải thuật di truyền hoặc tìm kiếm láng giềng biến đổi | Không đảm bảo tìm thấy nghiệm tối ưu toàn cục | Quy mô rất lớn, thời gian tính toán ngắn | LocalSolver, ALNS, Tabu Search |
Tiến bộ tính toán và ứng dụng thực tiễn
Khả năng giải quyết các bài toán quy hoạch số nguyên trong thực tế đã có những bước nhảy vọt trong vài thập kỷ qua. Báo cáo tổng kết của Bixby (2002) trên tạp chí Operations Research cho thấy hiệu năng thực tế của các phần mềm giải quy hoạch toán học đã tăng trưởng vượt bậc nhờ sự kết hợp đồng thời giữa tiến bộ thuật toán và nâng cấp phần cứng. Nghiên cứu xác định rằng sự cải tiến cấu trúc thuật toán đóng góp một hệ số tăng tốc xấp xỉ 1000 lần, và sự phát triển của tốc độ xử lý phần cứng máy tính đóng góp thêm một hệ số xấp xỉ 1000 lần, tạo ra mức tăng tốc tổng thể đạt khoảng 1000000 lần trong việc xử lý các mô hình quy hoạch tuyến tính và số nguyên thực tế.
Trong nghiên cứu ứng dụng tại Việt Nam, các mô hình quy hoạch tuyến tính số nguyên hỗn hợp được ứng dụng rộng rãi để giải quyết các bài toán công nghiệp và quy hoạch không gian phức tạp. Điển hình, nghiên cứu của Bui và cs. (2019) trên tạp chí Journal of Global Optimization đã đề xuất các mô hình quy hoạch tuyến tính số nguyên hỗn hợp để giải quyết bài toán đóng gói các hình chữ nhật mềm thỏa mãn ràng buộc cắt guillotine hai giai đoạn. Các thử nghiệm tính toán trên bộ dữ liệu chuẩn gồm 63 mẫu bài toán đã chứng minh tính hiệu quả của mô hình MILP kết hợp với các bộ giải thương mại trong việc tối ưu hóa chu vi và tỷ lệ khung hình của các phân vùng không gian.
Thách thức tính toán và xu hướng phát triển
Mặc dù công nghệ giải toán đã đạt nhiều tiến bộ, việc ứng dụng quy hoạch số nguyên vào thực tế sản xuất vẫn đối mặt với những thách thức nội tại:
- Sự bùng nổ tổ hợp của không gian nghiệm: Khi số lượng biến nhị phân tăng lên tuyến tính, số lượng cấu hình nghiệm khả thi tăng theo cấp số nhân. Trong các bài toán có cấu trúc ràng buộc yếu (weak formulation), khoảng cách giữa cận nới lỏng tuyến tính và nghiệm nguyên (integrality gap) rất lớn, dẫn tới việc cây nhánh và cận không thể tỉa nhánh hiệu quả.
- Ổn định số học và sai số dấu phẩy động: Việc giải hàng triệu bài toán quy hoạch tuyến tính liên tiếp bằng thuật toán đơn hình có thể tích lũy sai số làm tròn số học, dẫn đến việc bộ giải xác định sai tính khả thi hoặc bổ sung các lát cắt không hợp lệ làm mất nghiệm tối ưu thực sự.
- Xu hướng tích hợp học máy và tối ưu hóa toán học: Để đối phó với quy mô bài toán ngày càng lớn, hướng nghiên cứu kết hợp giữa trí tuệ nhân tạo và quy hoạch toán học đang thu hút sự quan tâm rộng rãi. Các mô hình học máy được huấn luyện để dự đoán thứ tự chọn biến phân nhánh, phát hiện các lát cắt hữu hiệu hoặc cung cấp nghiệm khởi đầu chất lượng cao nhằm đẩy nhanh tốc độ hội tụ của thuật toán nhánh và cắt.