Bài báo nổi tiếng năm 1983 của H. Lenstra Lập trình số nguyên với một số biến cố định nói rằng các chương trình số nguyên với số lượng biến cố định có thể giải được theo đa thức thời gian theo chiều dài của dữ liệu.
Tôi giải thích như sau.
- Nói chung, lập trình số nguyên vẫn là NP hoàn chỉnh nhưng nếu có sẵn kích thước bài toán điển hình của tôi (khoảng 10.000 biến, số lượng ràng buộc tùy ý) trong thực tế thì tôi có thể xây dựng một thuật toán chia tỷ lệ theo số lượng các ràng buộc nhưng không phải trong số lượng biến và ràng buộc.
- Kết quả cũng có thể áp dụng cho lập trình nhị phân vì tôi có thể buộc bất kỳ số nguyên nào thành 0-1 bằng cách thêm một ràng buộc thích hợp.
Là giải thích của tôi chính xác?
Liệu kết quả này có bất kỳ ý nghĩa thực tế? Đó là, có một triển khai có sẵn hay nó được sử dụng trong các bộ giải phổ biến như CPLEX, Gurobi hoặc Mosek?
Một số trích dẫn từ bài báo:
Độ dài này có thể, theo mục đích của chúng tôi, được xác định là n · m · log (a + 2), trong đó a biểu thị mức tối đa của các giá trị tuyệt đối của các hệ số của A và b. Thật vậy, không có thuật toán đa thức như vậy có khả năng tồn tại, vì vấn đề được đề cập là NP-Complete
[...]
Người ta đã phỏng đoán [5], [10] rằng với bất kỳ giá trị cố định nào của n đều tồn tại thuật toán đa thức cho giải pháp của bài toán lập trình tuyến tính số nguyên. Trong bài báo hiện tại, chúng tôi chứng minh phỏng đoán này bằng cách thể hiện một thuật toán như vậy. Mức độ của đa thức mà thời gian chạy của thuật toán của chúng tôi có thể được giới hạn là một hàm số mũ của n.