एच। लेनस्ट्रा इंटेगर प्रोग्रामिंग विद ए फिक्स्ड नंबर के प्रसिद्ध पत्र में कहा गया है कि निश्चित संख्या में चर के साथ पूर्णांक कार्यक्रम डेटा की लंबाई में समय के बहुपद में हल कर सकते हैं।
मैं इसकी व्याख्या इस प्रकार करता हूं।
- सामान्य रूप से पूर्णांक प्रोग्रामिंग अभी भी एनपी-पूर्ण है, लेकिन अगर मेरे हाथ में विशिष्ट समस्या का आकार (10.000 चर के बारे में, बाधाओं की एक मनमानी संख्या) व्यवहार में संभव है, तो मैं एक एल्गोरिथ्म का निर्माण कर सकता हूं जो कि बहुपदों की संख्या में कमी के कारण होता है लेकिन नहीं चर और बाधाओं की संख्या।
- परिणाम बाइनरी प्रोग्रामिंग के लिए भी लागू होता है क्योंकि मैं किसी भी पूर्णांक को एक उपयुक्त बाधा जोड़कर 0-1 करने के लिए बाध्य कर सकता हूं।
क्या मेरी व्याख्या सही है?
क्या इस परिणाम का कोई व्यावहारिक प्रभाव है? यही है, वहाँ एक कार्यान्वयन उपलब्ध है या यह CPLEX, Gurobi, या Mosek जैसे लोकप्रिय सॉल्वरों में उपयोग किया जाता है?
कागज के कुछ उद्धरण:
यह लंबाई, हमारे उद्देश्यों के लिए, n · m · log (a + 2) के रूप में परिभाषित की जा सकती है, जहाँ A और b के गुणांकों के निरपेक्ष मानों का अधिकतम मान होता है। वास्तव में, इस तरह की कोई बहुपद एल्गोरिथ्म मौजूद नहीं है, क्योंकि प्रश्न में समस्या एनपी-पूर्ण है
[...]
यह अनुमान लगाया गया था [५], [१०] कि एन के किसी निश्चित मूल्य के लिए पूर्णांक रैखिक प्रोग्रामिंग समस्या के समाधान के लिए एक बहुपद एल्गोरिथ्म मौजूद है। वर्तमान पेपर में हम इस तरह के एक एल्गोरिथ्म का प्रदर्शन करके इस अनुमान को साबित करते हैं। बहुपद की डिग्री जिसके द्वारा हमारे एल्गोरिथ्म के चल रहे समय को बांधा जा सकता है n का एक घातीय कार्य है।