Solving the Two-dimensional single stock size Cuting Stock Problem with SAT and MaxSAT
यह शोध पत्र टू-डायमेंशनल सिंगल स्टॉक साइज कटिंग स्टॉक समस्या के लिए एक SAT-आधारित ढांचे को प्रस्तुत करता है जो डिमांड एक्सपेंशन, ओरिएंटेशन एलिमिनेशन और विभिन्न सॉल्विंग रणनीतियों का उपयोग करता है ताकि बेंचमार्क इंस्टेंस पर अनुकूलता (optimality) प्रमाणित करने और गैप्स को कम करने में OR-Tools, CPLEX और Gurobi जैसे वाणिज्यिक सॉल्वर की तुलना में महत्वपूर्ण रूप से बेहतर प्रदर्शन किया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल फर्नीचर फैक्ट्री चलाते हैं। हर दिन, आपको एक बड़ा ऑर्डर मिलता है: 50 मेज, 30 कुर्सियाँ और 20 बुकशेल्फ़। आपके पास प्लाईवुड की एक जैसी, विशाल शीटों से भरा एक गोदाम है। आपका लक्ष्य क्या है? पैसे बचाने और बर्बादी को कम करने के लिए कम से कम कितनी शीटों से उन सभी वस्तुओं को काटा जा सकता है।
यह टू-डायमेंशनल सिंगल स्टॉक साइज कटिंग स्टॉक प्रॉब्लम (2D-CSSP) है। यह सुनने में सरल लगता है, लेकिन यह कंप्यूटरों के लिए एक दुःस्वप्न है। क्यों? क्योंकि यदि आपके पास 50 मेज हैं, तो कंप्यूटर को न केवल यह तय करना होगा कि उन्हें कहाँ रखना है, बल्कि यह भी कि उन 50 एक जैसी मेजों में से कौन सी कहाँ जाएगी। संभावनाओं की संख्या पॉपकॉर्न मशीन की तरह विस्फोट कर जाती है जो "न्यूक्लियर" सेटिंग पर हो।
यह पेपर इस पहेली को हल करने का एक नया तरीका पेश करता है जो SAT (बूलियन सैटिस्फिएबिलिटी) नामक एक प्रकार के लॉजिक इंजन का उपयोग करता है। यहाँ उनके समाधान का विवरण दिया गया है, जिसे रोजमर्रा के उदाहरणों के साथ समझाया गया है।
1. पुराना तरीका बनाम नया तरीका
- पुराना तरीका (कमर्शियल सॉल्वर): इस पहेली को हल करने के लिए एक बहुत ही बुद्धिमान लेकिन बहुत ही शाब्दिक (literal) रोबोट से पूछने की कल्पना करें, "क्या मैं 10 शीटों पर 50 मेजें फिट कर सकता हूँ?" रोबोट कोशिश करता है, विफल होता है, और कहता है "नहीं।" फिर आप पूछते हैं, "11 शीटों के साथ कैसा रहेगा?" वह फिर से कोशिश करता है। यह धीमा है, और अक्सर रोबोट एक लूप में फंस जाता है, यह साबित करने में असमर्थ होता है कि उसने सबसे अच्छा उत्तर ढूंढ लिया है, केवल एक "काफी अच्छा" उत्तर ही दे पाता है।
- नया तरीका (SAT दृष्टिकोण): लेखकों ने एक कस्टम लॉजिक इंजन बनाया है जो इस समस्या को लॉजिक सुडोकू के एक विशाल खेल की तरह मानता है। केवल नंबरों का अनुमान लगाने के बजाय, इंजन नियमों (clauses) का एक सेट बनाता है जो भौतिक दुनिया का वर्णन करते हैं: "यदि मेज A यहाँ है, तो मेज B वहाँ नहीं हो सकती।"
2. गुप्त नुस्खा: "कंडीशनल" नियम
इस पेपर में सबसे बड़ी सफलता यह है कि वे "कॉपी" की समस्या को कैसे संभालते हैं।
- समस्या: यदि आपके पास 50 एक जैसी कुर्सियाँ हैं, तो कंप्यूटर आमतौर पर उन्हें 50 अद्वितीय व्यक्तियों के रूप में मानता है, जिससे नियमों का एक बड़ा ढेर लग जाता है।
- समाधान: लेखकों ने महसूस किया कि आपको दो कुर्सियों के आपस में टकराने की चिंता करने की आवश्यकता तभी है जब वे प्लाईवुड की एक ही शीट पर हों।
- उदाहरण: कल्पना कीजिए कि आप एक पार्टी आयोजित कर रहे हैं। आपको इस बात की चिंता करने की ज़रूरत नहीं है कि कमरा नंबर 1 का मेहमान कमरे नंबर 100 के मेहमान से टकरा जाए। आपको केवल तभी चिंता करनी है जब वे एक ही कमरे में हों।
- नया इंजन केवल तभी "टकराव रोकने" वाले नियमों को सक्रिय करता है जब दो वस्तुओं को एक ही शीट पर असाइन किया जाता है। यह लॉजिक को साफ और प्रबंधनीय रखता है।
3. "स्मार्ट" शॉर्टकट (सिमेट्री ब्रेकिंग)
जब आपके पास 50 एक जैसी कुर्सियाँ होती हैं, तो इससे कोई फर्क नहीं पड़ता कि कुर्सी #1 बाईं ओर है और कुर्सी #2 दाईं ओर है, या इसके विपरीत। वे एक जैसी दिखती हैं।
- समस्या: कंप्यूटर घंटों तक दोनों परिदृश्यों की जांच करने में बर्बाद करता है, यह सोचकर कि वे अलग हैं।
- समाधान: लेखकों ने "सिमेट्री ब्रेकिंग" नियम जोड़े हैं।
- उदाहरण: यह एक लाइब्रेरियन को यह बताने जैसा है, "यदि आपके पास दो एक जैसी किताबें हैं, तो हमेशा कम संख्या वाली किताब को बाईं शेल्फ पर रखें।" यह कंप्यूटर को डुप्लिकेट परिदृश्यों को अनदेखा करने और केवल अद्वितीय व्यवस्थाओं पर ध्यान केंद्रित करने के लिए मजबूर करता है।
- "रोटेशन" का तरीका: उन्होंने एक नियम भी जोड़ा कि "यदि एक कुर्सी आड़ा होने के कारण फिट नहीं बैठती, लेकिन खड़ा होने पर फिट बैठती है, तो उसे खड़ा होने के लिए मजबूर करें।" यह कंप्यूटर के सोचने शुरू करने से पहले ही असंभव विकल्पों को हटा देता है।
4. सबसे अच्छा उत्तर खोजने के लिए तीन रणनीतियाँ
टीम ने अपने लॉजिक इंजन का उपयोग करके न्यूनतम शीटों की संख्या खोजने के लिए तीन अलग-अलग तरीकों का परीक्षण किया:
- बाइनरी सर्च (नॉन-इन्क्रीमेंटल): 1 और 100 के बीच संख्या का अनुमान लगाने जैसा। "क्या यह 50 है? नहीं। क्या यह 25 है? हाँ। क्या यह 12 है?" यह तेज़ है लेकिन हर बार नया नंबर अनुमान लगाने पर अपना सारा काम फेंक देता है।
- मेमोरी कीपर (इन्क्रीमेंटल SAT): अधिकांश मामलों में यही विजेता है। एक जासूस की कल्पना करें जो रहस्य सुलझा रहा है। यदि वे सोमवार को यह साबित करते हैं कि एक संदिग्ध निर्दोष है, तो वे उस तथ्य को याद रखते हैं।
- जब कंप्यूटर 10 शीटों पर वस्तुओं को फिट करने की कोशिश करता है और विफल हो जाता है, तो वह सीखता है कि वह क्यों विफल हुआ (जैसे, "ये तीन चौड़ी वस्तुएं कभी एक साथ फिट नहीं हो सकतीं")। जब यह 11 शीटों के लिए प्रयास करता है, तो यह उस सबक को तुरंत याद रखता है। यह शून्य से शुरुआत नहीं करता; यह अपनी पिछली विफलताओं पर निर्माण करता है।
- वन-शॉट वेगर (MaxSAT): यह एक ही विशाल छलांग में सटीक संख्या के लिए हल करने की कोशिश करता है। यह शक्तिशाली है लेकिन कभी-कभी गणित के विशाल आकार से अभिभूत हो जाता है, जैसे एक ही बार में पूरी पिज्जा खाने की कोशिश करना।
5. परिणाम: कौन जीता?
लेखकों ने 30 कठिन वास्तविक दुनिया की पहेलियों का उपयोग करके अपने सिस्टम का परीक्षण दुनिया के सर्वश्रेष्ठ कमर्शियल सॉफ्टवेयर (जैसे Google OR-Tools, CPLEX और Gurobi) के विरुद्ध किया।
- फैसला: उनका नया SAT-आधारित सिस्टम एक प्रभावी चैंपियन था।
- पूर्णता का प्रमाण: जबकि कमर्शियल सॉफ्टवेयर अक्सर एक "अच्छा" समाधान ढूंढ सकते थे, वे अक्सर यह सिद्ध नहीं कर पाते थे कि वह सबसे अच्छा था। नए SAT सिस्टम ने कमर्शियल दिग्गजों की तुलना में 2 से 3 गुना अधिक पहेलियों के लिए इष्टतम (optimal) समाधान सिद्ध किया।
- दक्षता: इसने कम बर्बादी (कम ऑप्टिमैलिटी गैप) के साथ बेहतर समाधान खोजे।
- ट्विस्ट: दिलचस्प बात यह है कि जब वस्तुओं को रोटेट (घुमाया) नहीं जा सकता था, तब "मेमोरी कीपर" (इन्क्रीमेंटल) दृष्टिकोण सबसे अच्छा था। लेकिन जब वस्तुओं को रोटेट किया जा सकता था (जिससे गणित बहुत बड़ा हो गया), तो "बाइनरी सर्च" दृष्टिकोण वास्तव में बेहतर प्रदर्शन करता था क्योंकि मेमोरी बहुत सारे नियमों के साथ बहुत अधिक अव्यवस्थित हो गई थी।
मुख्य निष्कर्ष
यह पेपर दिखाता है कि एक विनिर्माण समस्या को शुद्ध लॉजिक पहेली के रूप में मानकर और अपनी पिछली गलतियों से सीखने के लिए "मेमोरी" का उपयोग करके, हम पारंपरिक तरीकों की तुलना में बहुत तेज़ी से और अधिक सटीकता से जटिल कटिंग समस्याओं को हल कर सकते हैं। यह एक कैलकुलेटर को अपग्रेड करने जैसा है जो केवल नंबर जोड़ता है, एक सुपर-इंटेलिजेंट असिस्टेंट में जो पहेली की कहानी को समझता है।
संक्षेप में: उन्होंने प्लाईवुड काटने का एक स्मार्ट, अधिक तार्किक तरीका बनाया है जो पैसे बचाता है, बर्बादी को कम करता है और हर बार यह साबित करता है कि यह सबसे अच्छा तरीका है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।