बिन पैकिंग की समस्या: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 4: Line 4:
{{Covering/packing-problem pairs}}
{{Covering/packing-problem pairs}}


बिन पैकिंग समस्या<ref>{{citation|last1=Martello|first1=Silvano|title=Knapsack Problems: Algorithms and Computer Implementations|url=https://archive.org/details/knapsackproblems0000mart|year=1990|chapter=Bin-packing problem|chapter-url=http://www.or.deis.unibo.it/kp/Chapter8.pdf|location=Chichester, UK|publisher=John Wiley and Sons|isbn=0471924202|last2=Toth|first2=Paolo|url-access=registration}}</ref><ref>{{cite book|last1=Korte|first1=Bernhard|title=Combinatorial Optimization: Theory and Algorithms|last2=Vygen|first2=Jens|publisher=Springer|year=2006|isbn=978-3-540-25684-7|series=Algorithms and Combinatorics 21|pages=426–441|chapter=Bin-Packing|doi=10.1007/3-540-29297-7_18|chapter-url=https://books.google.com/books?id=UnYwgPltSjwC&q=Bin-Packing&pg=PA449}}</ref><ref>{{cite web|last=Barrington|first=David Mix|year=2006|title=बिन पैकिंग|url=https://people.cs.umass.edu/~barring/cs311/disc/11.html|url-status=dead|archive-url=https://web.archive.org/web/20190216134619/https://people.cs.umass.edu/~barring/cs311/disc/11.html|archive-date=2019-02-16|access-date=2016-02-27}}</ref><ref name=":0">{{Citation|last1=Coffman Jr.|first1=Edward G.|title=Bin Packing Approximation Algorithms: Survey and Classification|date=2013|url=https://doi.org/10.1007/978-1-4419-7997-1_35|work=Handbook of Combinatorial Optimization|pages=455–531|editor-last=Pardalos|editor-first=Panos M.|place=New York, NY|publisher=Springer|language=en|doi=10.1007/978-1-4419-7997-1_35|isbn=978-1-4419-7997-1|access-date=2021-08-08|last2=Csirik|first2=János|last3=Galambos|first3=Gábor|last4=Martello|first4=Silvano|last5=Vigo|first5=Daniele|editor2-last=Du|editor2-first=Ding-Zhu|editor3-last=Graham|editor3-first=Ronald L.}}</ref> एक [[अनुकूलन समस्या]] है, जिसमें विभिन्न आकार की वस्तुओं को सीमित संख्या में डिब्बे में पैक किया जाना चाहिए या प्रत्येक निश्चित क्षमता के कंटेनर, इस तरह से कि उपयोग किए गए डिब्बे की संख्या कम से कम हो। समस्या जैसे कंटेनर भरना, वजन क्षमता की कमी वाले ट्रकों को लोड करना, मीडिया में फ़ाइल [[बैकअप]] बनाना और एफपीजीए [[ अर्धचालक चिप |अर्धचालक चिप]] डिजाइन में प्रौद्योगिकी मैपिंग के कई अनुप्रयोग हैं।
बिन पैकिंग समस्या<ref>{{citation|last1=Martello|first1=Silvano|title=Knapsack Problems: Algorithms and Computer Implementations|url=https://archive.org/details/knapsackproblems0000mart|year=1990|chapter=Bin-packing problem|chapter-url=http://www.or.deis.unibo.it/kp/Chapter8.pdf|location=Chichester, UK|publisher=John Wiley and Sons|isbn=0471924202|last2=Toth|first2=Paolo|url-access=registration}}</ref><ref>{{cite book|last1=Korte|first1=Bernhard|title=Combinatorial Optimization: Theory and Algorithms|last2=Vygen|first2=Jens|publisher=Springer|year=2006|isbn=978-3-540-25684-7|series=Algorithms and Combinatorics 21|pages=426–441|chapter=Bin-Packing|doi=10.1007/3-540-29297-7_18|chapter-url=https://books.google.com/books?id=UnYwgPltSjwC&q=Bin-Packing&pg=PA449}}</ref><ref>{{cite web|last=Barrington|first=David Mix|year=2006|title=बिन पैकिंग|url=https://people.cs.umass.edu/~barring/cs311/disc/11.html|url-status=dead|archive-url=https://web.archive.org/web/20190216134619/https://people.cs.umass.edu/~barring/cs311/disc/11.html|archive-date=2019-02-16|access-date=2016-02-27}}</ref><ref name=":0">{{Citation|last1=Coffman Jr.|first1=Edward G.|title=Bin Packing Approximation Algorithms: Survey and Classification|date=2013|url=https://doi.org/10.1007/978-1-4419-7997-1_35|work=Handbook of Combinatorial Optimization|pages=455–531|editor-last=Pardalos|editor-first=Panos M.|place=New York, NY|publisher=Springer|language=en|doi=10.1007/978-1-4419-7997-1_35|isbn=978-1-4419-7997-1|access-date=2021-08-08|last2=Csirik|first2=János|last3=Galambos|first3=Gábor|last4=Martello|first4=Silvano|last5=Vigo|first5=Daniele|editor2-last=Du|editor2-first=Ding-Zhu|editor3-last=Graham|editor3-first=Ronald L.}}</ref> एक [[अनुकूलन समस्या]] है, जिसमें विभिन्न आकार की वस्तुओं को सीमित संख्या में बिन में पैक किया जाना चाहिए या प्रत्येक निश्चित क्षमता के कंटेनर, इस तरह से कि उपयोग किए गए बिन की संख्या कम से कम हो। समस्या जैसे कंटेनर भरना, वजन क्षमता की कमी वाले ट्रकों को लोड करना, मीडिया में फ़ाइल [[बैकअप]] बनाना और एफपीजीए [[ अर्धचालक चिप |अर्धचालक चिप]] डिजाइन में प्रौद्योगिकी मैपिंग के कई अनुप्रयोग हैं।


कम्प्यूटेशनल रूप से, समस्या एनपी-हार्ड है, और संबंधित निर्णय समस्या - यह तय करना कि क्या वस्तुएं निर्दिष्ट संख्या में डिब्बे में फिट हो सकती हैं -एनपी-कम्पलीट है। इसकी सबसे खराब स्थिति के बावजूद, समस्या के बहुत बड़े उदाहरणों के लिए इष्टतम समाधान परिष्कृत एल्गोरिदम के साथ उत्पादित किए जा सकते हैं। इसके अतिरिक्त, अनेक सन्निकटन एल्गोरिदम मौजूद हैं। उदाहरण के लिए, पहला फ़िट एल्गोरिथ्म एक तेज़ लेकिन अक्सर गैर-इष्टतम समाधान प्रदान करता है, जिसमें प्रत्येक आइटम को पहले बिन में रखना शामिल होता है जिसमें वह फिट होगा। इसके लिए ''Θ''(''n'' log ''n'') समय की आवश्यकता होती है, जहां ''n'' पैक किए जाने वाले आइटम की संख्या है। वस्तुओं की सूची को पहले घटते क्रम में क्रमबद्ध करके एल्गोरिदम को और अधिक प्रभावी बनाया जा सकता है (कभी-कभी इसे प्रथम-फिट घटते एल्गोरिदम के रूप में जाना जाता है), हालाँकि यह अभी भी एक इष्टतम समाधान की गारंटी नहीं देता है और लंबी सूचियों के लिए एल्गोरिदम के चलने के समय में वृद्धि हो सकती है। हालाँकि, यह ज्ञात है कि वस्तुओं का कम से कम एक ऑर्डर हमेशा मौजूद रहता है जो फर्स्ट-फ़िट को एक इष्टतम समाधान तैयार करने की अनुमति देता है।<ref>{{citation|last=Lewis|first=R.|title=A General-Purpose Hill-Climbing Method for Order Independent Minimum Grouping Problems: A Case Study in Graph Colouring and Bin Packing|url=http://orca.cf.ac.uk/11334/1/Lewis%2C_R_General_Purpose_Hill_Climbing.pdf|journal=Computers and Operations Research|volume=36|issue=7|pages=2295–2310|year=2009|doi=10.1016/j.cor.2008.09.004}}</ref>
कम्प्यूटेशनल रूप से, समस्या एनपी-हार्ड है, और संबंधित निर्णय समस्या - यह तय करना कि क्या वस्तुएं निर्दिष्ट संख्या में बिन में फिट हो सकती हैं -एनपी-कम्पलीट है। इसकी सबसे खराब स्थिति के बावजूद, समस्या के बहुत बड़े उदाहरणों के लिए इष्टतम समाधान परिष्कृत एल्गोरिदम के साथ उत्पादित किए जा सकते हैं। इसके अतिरिक्त, अनेक सन्निकटन एल्गोरिदम मौजूद हैं। उदाहरण के लिए, पहला फ़िट एल्गोरिथ्म एक तेज़ लेकिन अक्सर गैर-इष्टतम समाधान प्रदान करता है, जिसमें प्रत्येक आइटम को पहले बिन में रखना शामिल होता है जिसमें वह फिट होगा। इसके लिए ''Θ''(''n'' log ''n'') समय की आवश्यकता होती है, जहां ''n'' पैक किए जाने वाले आइटम की संख्या है। वस्तुओं की सूची को पहले घटते क्रम में क्रमबद्ध करके एल्गोरिदम को और अधिक प्रभावी बनाया जा सकता है (कभी-कभी इसे प्रथम-फिट घटते एल्गोरिदम के रूप में जाना जाता है), हालाँकि यह अभी भी एक इष्टतम समाधान की गारंटी नहीं देता है और लंबी सूचियों के लिए एल्गोरिदम के चलने के समय में वृद्धि हो सकती है। हालाँकि, यह ज्ञात है कि वस्तुओं का कम से कम एक ऑर्डर हमेशा मौजूद रहता है जो फर्स्ट-फ़िट को एक इष्टतम समाधान तैयार करने की अनुमति देता है।<ref>{{citation|last=Lewis|first=R.|title=A General-Purpose Hill-Climbing Method for Order Independent Minimum Grouping Problems: A Case Study in Graph Colouring and Bin Packing|url=http://orca.cf.ac.uk/11334/1/Lewis%2C_R_General_Purpose_Hill_Climbing.pdf|journal=Computers and Operations Research|volume=36|issue=7|pages=2295–2310|year=2009|doi=10.1016/j.cor.2008.09.004}}</ref>


इस समस्या के कई रूप हैं, जैसे 2D पैकिंग, रैखिक पैकिंग, वजन के हिसाब से पैकिंग, लागत के हिसाब से पैकिंग, इत्यादि। बिन पैकिंग की समस्या को स्टॉक में कटौती की समस्या के एक विशेष मामले के रूप में भी देखा जा सकता है। जब बिन की संख्या 1 तक सीमित होती है और प्रत्येक आइटम की मात्रा और मूल्य दोनों की विशेषता होती है, तो बिन में फिट होने वाली वस्तुओं के मूल्य को अधिकतम करने की समस्या को नैपसैक समस्या के रूप में जाना जाता है।


इस समस्या की कई पैकिंग समस्याएँ हैं, जैसे 2डी पैकिंग, रैखिक पैकिंग, वजन के अनुसार पैकिंग, लागत के अनुसार पैकिंग इत्यादि। बिन पैकिंग समस्या को कटिंग स्टॉक समस्या के एक विशेष मामले के रूप में भी देखा जा सकता है। जब डिब्बे की संख्या 1 तक सीमित होती है और प्रत्येक वस्तु की मात्रा और मूल्य दोनों की विशेषता होती है, तो बिन में फिट होने वाली वस्तुओं के मूल्य को अधिकतम करने की समस्या को नैपसैक समस्या के रूप में जाना जाता है।
बिन पैकिंग का एक प्रकार जो व्यवहार में आता है वह तब होता है जब वस्तुओं को बिन में पैक करने पर स्थान साझा किया जा सकता है। विशेष रूप से, वस्तुओं का एक सेट अपने अलग-अलग आकारों के योग की तुलना में एक साथ पैक किए जाने पर कम जगह घेर सकता है। इस प्रकार को वीएम पैकिंग के रूप में जाना जाता है<ref>{{citation|last1=Sindelar|first1=Michael|title=Sharing-Aware Algorithms for Virtual Machine Colocation|url=https://storage.googleapis.com/pub-tools-public-publication-data/pdf/37147.pdf|journal=Proceedings of 23rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), San Jose, CA, June 2011|pages=367–378|year=2011|last2=Sitaraman|first2=Ramesh|last3=Shenoy|first3=Prashant|author-link2=Ramesh Sitaraman}}</ref> क्योंकि जब वर्चुअल मशीन (VM) को सर्वर में पैक किया जाता है, तो वीएम द्वारा साझा किए गए पृष्ठों के कारण उनकी कुल मेमोरी आवश्यकता कम हो सकती है, जिन्हें केवल एक बार संग्रहीत करने की आवश्यकता होती है। यदि वस्तुएँ मनमाने ढंग से स्थान साझा कर सकती हैं, तो बिन पैकिंग की समस्या का अनुमान लगाना भी कठिन है। हालाँकि, यदि स्पेस शेयरिंग एक पदानुक्रम में फिट होती है, जैसा कि वर्चुअल मशीनों में मेमोरी शेयरिंग के मामले में है, तो बिन पैकिंग समस्या का कुशलतापूर्वक अनुमान लगाया जा सकता है।


बिन पैकिंग का एक प्रकार जो व्यवहार में आता है, वह यह है कि जब वस्तुओं को बिन में पैक किया जाता है तो वे स्थान साझा कर सकते हैं। विशेष रूप से, वस्तुओं का एक सेट जब एक साथ पैक किया जाता है तो उनके अलग-अलग आकारों के योग की तुलना में कम जगह घेर सकता है। इस वैरिएंट को VM पैकिंग के रूप में जाना जाता है<ref>{{citation|last1=Sindelar|first1=Michael|title=Sharing-Aware Algorithms for Virtual Machine Colocation|url=https://storage.googleapis.com/pub-tools-public-publication-data/pdf/37147.pdf|journal=Proceedings of 23rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), San Jose, CA, June 2011|pages=367–378|year=2011|last2=Sitaraman|first2=Ramesh|last3=Shenoy|first3=Prashant|author-link2=Ramesh Sitaraman}}</ref> चूंकि जब वर्चुअल मशीन (वीएम) को सर्वर में पैक किया जाता है, तो वीएम द्वारा साझा किए गए [[पेज (कंप्यूटर मेमोरी)]] के कारण उनका कुल मेमोरी प्रबंधन कम हो सकता है, जिसे केवल एक बार संग्रहीत करने की आवश्यकता होती है। यदि वस्तुएं मनमाने तरीके से स्थान साझा कर सकती हैं, तो बिन पैकिंग की समस्या का अनुमान लगाना भी मुश्किल है। हालाँकि, यदि स्पेस शेयरिंग एक पदानुक्रम में फिट होती है, जैसा कि [[ आभाषी दुनिया ]] में मेमोरी शेयरिंग के मामले में होता है, तो बिन पैकिंग समस्या का कुशलता से अनुमान लगाया जा सकता है।
व्यवहार में रुचि रखने वाली बिन पैकिंग का एक अन्य प्रकार तथाकथित ऑनलाइन बिन पैकिंग है। यहां अलग-अलग मात्रा की वस्तुओं को क्रमिक रूप से आना चाहिए, और निर्णय निर्माता को यह तय करना होगा कि वर्तमान में देखी गई वस्तु को चुनना और पैक करना है या फिर उसे पास कर देना है। प्रत्येक निर्णय बिना किसी स्मरण के होता है। इसके विपरीत, ऑफ़लाइन बिन पैकिंग अतिरिक्त आइटम आने पर बेहतर पैकिंग प्राप्त करने की आशा में वस्तुओं को पुनर्व्यवस्थित करने की अनुमति देती है। बेशक, पुनर्व्यवस्थित की जाने वाली वस्तुओं को रखने के लिए अतिरिक्त भंडारण की आवश्यकता होती है।
 
व्यवहार में रुचि रखने वाली बिन पैकिंग का एक अन्य प्रकार तथाकथित [[ऑनलाइन एल्गोरिदम]] बिन पैकिंग है। यहां अलग-अलग मात्रा की वस्तुओं को क्रमिक रूप से आना चाहिए, और निर्णय निर्माता को यह तय करना होगा कि वर्तमान में देखी गई वस्तु को चुनना और पैक करना है या फिर उसे पास कर देना है। प्रत्येक निर्णय बिना स्मरण के होता है। इसके विपरीत, ऑफ़लाइन बिन पैकिंग अतिरिक्त आइटम आने के बाद बेहतर पैकिंग प्राप्त करने की उम्मीद में वस्तुओं को पुनर्व्यवस्थित करने की अनुमति देती है। निस्संदेह, पुनर्व्यवस्थित की जाने वाली वस्तुओं को रखने के लिए अतिरिक्त भंडारण की आवश्यकता होती है।


==औपचारिक कथन==
==औपचारिक कथन==
Line 54: Line 53:
बिन पैकिंग समस्या सशक्त एनपी-पूर्णता|दृढ़तापूर्वक एनपी-पूर्णता है। इसे बिन पैकिंग में एनपी-कम्पलीट 3-विभाजन समस्या को कम करके सिद्ध किया जा सकता है।<ref name="GareyJohnson2" />
बिन पैकिंग समस्या सशक्त एनपी-पूर्णता|दृढ़तापूर्वक एनपी-पूर्णता है। इसे बिन पैकिंग में एनपी-कम्पलीट 3-विभाजन समस्या को कम करके सिद्ध किया जा सकता है।<ref name="GareyJohnson2" />


इसके अलावा, पूर्ण सन्निकटन अनुपात से छोटा कोई सन्निकटन एल्गोरिदम नहीं हो सकता है <math>\tfrac 3 2</math> जब तक <math>\mathsf{P} = \mathsf{NP}</math>. इसे विभाजन समस्या को कम करके सिद्ध किया जा सकता है:<ref>{{cite book|last1=Vazirani|first1=Vijay V.|title=सन्निकटन एल्गोरिदम|date=14 March 2013|publisher=Springer Berlin Heidelberg|isbn=978-3662045657|pages=74}}</ref> विभाजन का एक उदाहरण दिया गया है जहां सभी इनपुट संख्याओं का योग है <math>2T</math>, बिन-पैकिंग का एक उदाहरण बनाएं जिसमें बिन का आकार हो {{mvar|T}}. यदि इनपुट का समान विभाजन मौजूद है, तो इष्टतम पैकिंग के लिए 2 डिब्बे की आवश्यकता होती है; इसलिए, प्रत्येक एल्गोरिदम का सन्निकटन अनुपात इससे छोटा होता है {{sfrac|3|2}} को 3 डिब्बे से कम लौटाना होगा, जो कि 2 डिब्बे होने चाहिए। इसके विपरीत, यदि इनपुट का कोई समान विभाजन नहीं है, तो इष्टतम पैकिंग के लिए कम से कम 3 डिब्बे की आवश्यकता होती है।
इसके अलावा, पूर्ण सन्निकटन अनुपात से छोटा कोई सन्निकटन एल्गोरिदम नहीं हो सकता है <math>\tfrac 3 2</math> जब तक <math>\mathsf{P} = \mathsf{NP}</math>. इसे विभाजन समस्या को कम करके सिद्ध किया जा सकता है:<ref>{{cite book|last1=Vazirani|first1=Vijay V.|title=सन्निकटन एल्गोरिदम|date=14 March 2013|publisher=Springer Berlin Heidelberg|isbn=978-3662045657|pages=74}}</ref> विभाजन का एक उदाहरण दिया गया है जहां सभी इनपुट संख्याओं का योग है <math>2T</math>, बिन-पैकिंग का एक उदाहरण बनाएं जिसमें बिन का आकार हो {{mvar|T}}. यदि इनपुट का समान विभाजन मौजूद है, तो इष्टतम पैकिंग के लिए 2 बिन की आवश्यकता होती है; इसलिए, प्रत्येक एल्गोरिदम का सन्निकटन अनुपात इससे छोटा होता है {{sfrac|3|2}} को 3 बिन से कम लौटाना होगा, जो कि 2 बिन होने चाहिए। इसके विपरीत, यदि इनपुट का कोई समान विभाजन नहीं है, तो इष्टतम पैकिंग के लिए कम से कम 3 बिन की आवश्यकता होती है।


दूसरी ओर, बिन पैकिंग किसी भी निश्चित संख्या में डिब्बे के लिए छद्म-बहुपद समय में हल करने योग्य है {{mvar|K}}, और किसी भी निश्चित बिन क्षमता के लिए बहुपद समय में हल करने योग्य {{mvar|B}}.<ref name="GareyJohnson2" />
दूसरी ओर, बिन पैकिंग किसी भी निश्चित संख्या में बिन के लिए छद्म-बहुपद समय में हल करने योग्य है {{mvar|K}}, और किसी भी निश्चित बिन क्षमता के लिए बहुपद समय में हल करने योग्य {{mvar|B}}.<ref name="GareyJohnson2" />




== बिन पैकिंग के लिए अनुमान एल्गोरिदम ==
== बिन पैकिंग के लिए अनुमान एल्गोरिदम ==
सन्निकटन एल्गोरिदम के प्रदर्शन को मापने के लिए साहित्य में दो सन्निकटन अनुपातों पर विचार किया गया है। वस्तुओं की दी गई सूची के लिए <math>L</math> जो नंबर <math>A(L)</math> एल्गोरिथ्म के दौरान उपयोग किए गए डिब्बे की संख्या को दर्शाता है <math>A</math> सूची में लागू किया जाता है <math>L</math>, जबकि <math>\mathrm{OPT}(L)</math> इस सूची के लिए इष्टतम संख्या को दर्शाता है। सबसे खराब स्थिति वाला प्रदर्शन अनुपात <math>R_A</math> एक एल्गोरिदम के लिए <math>A</math> परिभाषित किया जाता है
सन्निकटन एल्गोरिदम के प्रदर्शन को मापने के लिए साहित्य में दो सन्निकटन अनुपातों पर विचार किया गया है। वस्तुओं की दी गई सूची के लिए <math>L</math> जो नंबर <math>A(L)</math> एल्गोरिथ्म के दौरान उपयोग किए गए बिन की संख्या को दर्शाता है <math>A</math> सूची में लागू किया जाता है <math>L</math>, जबकि <math>\mathrm{OPT}(L)</math> इस सूची के लिए इष्टतम संख्या को दर्शाता है। सबसे खराब स्थिति वाला प्रदर्शन अनुपात <math>R_A</math> एक एल्गोरिदम के लिए <math>A</math> परिभाषित किया जाता है


: <math>R_A \equiv \inf\{r \geq 1 : A(L)/\mathrm{OPT}(L) \leq r \text{ for all lists } L\}.</math>
: <math>R_A \equiv \inf\{r \geq 1 : A(L)/\mathrm{OPT}(L) \leq r \text{ for all lists } L\}.</math>
Line 72: Line 71:
बिन पैकिंग के लिए अनुमान एल्गोरिदम को दो श्रेणियों में वर्गीकृत किया जा सकता है:
बिन पैकिंग के लिए अनुमान एल्गोरिदम को दो श्रेणियों में वर्गीकृत किया जा सकता है:


# ऑनलाइन अनुमान, जो किसी दिए गए क्रम में वस्तुओं पर विचार करते हैं और उन्हें एक-एक करके डिब्बे के अंदर रखते हैं। ये अनुमान इस समस्या के ऑनलाइन संस्करण पर भी लागू होते हैं।
# ऑनलाइन अनुमान, जो किसी दिए गए क्रम में वस्तुओं पर विचार करते हैं और उन्हें एक-एक करके बिन के अंदर रखते हैं। ये अनुमान इस समस्या के ऑनलाइन संस्करण पर भी लागू होते हैं।
# ऑफ़लाइन आंकड़े, जो दी गई वस्तुओं की सूची को संशोधित करते हैं, उदा. वस्तुओं को आकार के अनुसार क्रमबद्ध करके। ये एल्गोरिदम अब इस समस्या के ऑनलाइन संस्करण पर लागू नहीं हैं। हालाँकि, उनकी छोटी समय-जटिलता के लाभ को बनाए रखते हुए उनके पास बेहतर सन्निकटन गारंटी है। ऑफ़लाइन अनुमानों की एक उप-श्रेणी स्पर्शोन्मुख सन्निकटन योजनाएँ हैं। इन एल्गोरिदम में फॉर्म की अनुमानित गारंटी होती है <math>(1+\varepsilon)\mathrm{OPT}(L) + C</math> कुछ स्थिरांक के लिए जिस पर निर्भर हो सकता है <math>1/\varepsilon</math>. मनमाने ढंग से बड़े के लिए <math>\mathrm{OPT}(L)</math> ये एल्गोरिदम मनमाने ढंग से करीब आ जाते हैं <math>\mathrm{OPT}(L)</math>. हालाँकि, यह अनुमानी दृष्टिकोण की तुलना में (काफी) बढ़ी हुई समय जटिलता की कीमत पर आता है।
# ऑफ़लाइन आंकड़े, जो दी गई वस्तुओं की सूची को संशोधित करते हैं, उदा. वस्तुओं को आकार के अनुसार क्रमबद्ध करके। ये एल्गोरिदम अब इस समस्या के ऑनलाइन संस्करण पर लागू नहीं हैं। हालाँकि, उनकी छोटी समय-जटिलता के लाभ को बनाए रखते हुए उनके पास बेहतर सन्निकटन गारंटी है। ऑफ़लाइन अनुमानों की एक उप-श्रेणी स्पर्शोन्मुख सन्निकटन योजनाएँ हैं। इन एल्गोरिदम में फॉर्म की अनुमानित गारंटी होती है <math>(1+\varepsilon)\mathrm{OPT}(L) + C</math> कुछ स्थिरांक के लिए जिस पर निर्भर हो सकता है <math>1/\varepsilon</math>. मनमाने ढंग से बड़े के लिए <math>\mathrm{OPT}(L)</math> ये एल्गोरिदम मनमाने ढंग से करीब आ जाते हैं <math>\mathrm{OPT}(L)</math>. हालाँकि, यह अनुमानी दृष्टिकोण की तुलना में (काफी) बढ़ी हुई समय जटिलता की कीमत पर आता है।


Line 82: Line 81:
ऐसे कई सरल एल्गोरिदम हैं जो निम्नलिखित सामान्य योजना का उपयोग करते हैं:
ऐसे कई सरल एल्गोरिदम हैं जो निम्नलिखित सामान्य योजना का उपयोग करते हैं:
* इनपुट सूची में प्रत्येक आइटम के लिए:
* इनपुट सूची में प्रत्येक आइटम के लिए:
*# यदि वस्तु वर्तमान में खुले डिब्बे में फिट होती है, तो उसे इनमें से किसी एक डिब्बे में डाल दें;
*# यदि वस्तु वर्तमान में खुले बिन में फिट होती है, तो उसे इनमें से किसी एक बिन में डाल दें;
*# अन्यथा, एक नया बिन खोलें और उसमें नई वस्तु डालें।
*# अन्यथा, एक नया बिन खोलें और उसमें नई वस्तु डालें।


Line 88: Line 87:


* नेक्स्ट-फिट बिन पैकिंग (एनएफ) हमेशा एक खुला बिन रखता है। जब नई वस्तु इसमें फिट नहीं होती है, तो यह वर्तमान बिन को बंद कर देता है और एक नया बिन खोलता है। इसका लाभ यह है कि यह एक बाउंडेड-स्पेस एल्गोरिदम है क्योंकि इसे मेमोरी में केवल एक खुला बिन रखने की आवश्यकता होती है। इसका नुकसान यह है कि इसका स्पर्शोन्मुख सन्निकटन अनुपात 2 है। विशेष रूप से, <math>NF(L) \leq 2 \cdot \mathrm{OPT}(L) -1 </math>, और प्रत्येक के लिए <math>N \in \mathbb{N}</math> वहाँ एक सूची मौजूद है {{mvar|L}} ऐसा है कि <math>\mathrm{OPT}(L) = N</math> और <math>NF(L) = 2 \cdot \mathrm{OPT}(L) -2</math>.<ref name="johnson732" />आइटम के आकार के आधार पर इसके स्पर्शोन्मुख सन्निकटन अनुपात में कुछ हद तक सुधार किया जा सकता है: <math>R_{NF}^\infty(\text{size}\leq\alpha) \leq 2</math> सभी के लिए <math>\alpha \geq 1/2</math> और <math>R_{NF}^\infty(\text{size}\leq\alpha) \leq 1/(1-\alpha)</math> सभी के लिए <math>\alpha \leq 1/2</math>. प्रत्येक एल्गोरिदम के लिए {{mvar|A}} यह एक AnyFit-एल्गोरिदम है जो इसे धारण करता है <math>R_{A}^{\infty}(\text{size}\leq\alpha)\leq R_{NF}^{\infty}(\text{size}\leq\alpha)</math>.
* नेक्स्ट-फिट बिन पैकिंग (एनएफ) हमेशा एक खुला बिन रखता है। जब नई वस्तु इसमें फिट नहीं होती है, तो यह वर्तमान बिन को बंद कर देता है और एक नया बिन खोलता है। इसका लाभ यह है कि यह एक बाउंडेड-स्पेस एल्गोरिदम है क्योंकि इसे मेमोरी में केवल एक खुला बिन रखने की आवश्यकता होती है। इसका नुकसान यह है कि इसका स्पर्शोन्मुख सन्निकटन अनुपात 2 है। विशेष रूप से, <math>NF(L) \leq 2 \cdot \mathrm{OPT}(L) -1 </math>, और प्रत्येक के लिए <math>N \in \mathbb{N}</math> वहाँ एक सूची मौजूद है {{mvar|L}} ऐसा है कि <math>\mathrm{OPT}(L) = N</math> और <math>NF(L) = 2 \cdot \mathrm{OPT}(L) -2</math>.<ref name="johnson732" />आइटम के आकार के आधार पर इसके स्पर्शोन्मुख सन्निकटन अनुपात में कुछ हद तक सुधार किया जा सकता है: <math>R_{NF}^\infty(\text{size}\leq\alpha) \leq 2</math> सभी के लिए <math>\alpha \geq 1/2</math> और <math>R_{NF}^\infty(\text{size}\leq\alpha) \leq 1/(1-\alpha)</math> सभी के लिए <math>\alpha \leq 1/2</math>. प्रत्येक एल्गोरिदम के लिए {{mvar|A}} यह एक AnyFit-एल्गोरिदम है जो इसे धारण करता है <math>R_{A}^{\infty}(\text{size}\leq\alpha)\leq R_{NF}^{\infty}(\text{size}\leq\alpha)</math>.
* [[नेक्स्ट-फिट बिन पैकिंग]]|नेक्स्ट-के-फिट (एनकेएफ) नेक्स्ट-फिट का एक प्रकार है, लेकिन एल्गोरिदम केवल एक बिन को खुला रखने के बजाय आखिरी को रखता है। {{mvar|k}} डिब्बे खुलते हैं और पहला बिन चुनते हैं जिसमें वस्तु फिट होती है। इसलिए, इसे k-बाउंडेड स्पेस एल्गोरिथम कहा जाता है।<ref>{{cite book|last1=Gonzalez|first1=Teofilo F.|title=Handbook of approximation algorithms and metaheuristics. Volume 2 Contemporary and emerging applications|date=23 May 2018|isbn=9781498770156}}</ref> के लिए <math>k\geq 2</math> एनकेएफ ऐसे परिणाम देता है जो एनएफ के परिणामों की तुलना में बेहतर होते हैं, हालांकि, बढ़ रहे हैं {{mvar|k}} से बड़े स्थिर मानों के लिए {{mvar|2}} अपने सबसे खराब स्थिति वाले व्यवहार में एल्गोरिदम को और बेहतर नहीं बनाता है। यदि एल्गोरिदम {{mvar|A}} एक ऑलमोस्टएनीफिट-एल्गोरिदम है और <math>m = \lfloor 1/\alpha\rfloor \geq 2</math> तब <math>R_{A}^{\infty}(\text{size}\leq\alpha)\leq R_{N2F}^{\infty}(\text{size}\leq\alpha) = 1+1/m</math>.<ref name="johnson732" />* फर्स्ट-फिट बिन पैकिंग|फर्स्ट-फिट (एफएफ) सभी डिब्बे को उसी क्रम में खुला रखता है, जिस क्रम में वे खोले गए थे। यह प्रत्येक नई वस्तु को ''पहले'' बिन में रखने का प्रयास करता है जिसमें वह फिट होती है। इसका सन्निकटन अनुपात है <math>FF(L) \leq \lfloor 1.7\mathrm{OPT}\rfloor</math>, और इनपुट सूचियों का एक परिवार है {{mvar|L}} जिसके लिए <math>FF(L)</math> इस सीमा से मेल खाता है।<ref name="DósaSgall2">{{cite journal|last1=Dósa|first1=György|last2=Sgall|first2=Jiri|date=2013|title=फर्स्ट फ़िट बिन पैकिंग: एक कड़ा विश्लेषण|url=http://drops.dagstuhl.de/opus/volltexte/2013/3963|journal=30th International Symposium on Theoretical Aspects of Computer Science (STACS 2013)|publisher=Schloss Dagstuhl–Leibniz-Zentrum für Informatik|volume=20|pages=538–549|doi=10.4230/LIPIcs.STACS.2013.538}}</ref>
* [[नेक्स्ट-फिट बिन पैकिंग]]|नेक्स्ट-के-फिट (एनकेएफ) नेक्स्ट-फिट का एक प्रकार है, लेकिन एल्गोरिदम केवल एक बिन को खुला रखने के बजाय आखिरी को रखता है। {{mvar|k}} बिन खुलते हैं और पहला बिन चुनते हैं जिसमें वस्तु फिट होती है। इसलिए, इसे k-बाउंडेड स्पेस एल्गोरिथम कहा जाता है।<ref>{{cite book|last1=Gonzalez|first1=Teofilo F.|title=Handbook of approximation algorithms and metaheuristics. Volume 2 Contemporary and emerging applications|date=23 May 2018|isbn=9781498770156}}</ref> के लिए <math>k\geq 2</math> एनकेएफ ऐसे परिणाम देता है जो एनएफ के परिणामों की तुलना में बेहतर होते हैं, हालांकि, बढ़ रहे हैं {{mvar|k}} से बड़े स्थिर मानों के लिए {{mvar|2}} अपने सबसे खराब स्थिति वाले व्यवहार में एल्गोरिदम को और बेहतर नहीं बनाता है। यदि एल्गोरिदम {{mvar|A}} एक ऑलमोस्टएनीफिट-एल्गोरिदम है और <math>m = \lfloor 1/\alpha\rfloor \geq 2</math> तब <math>R_{A}^{\infty}(\text{size}\leq\alpha)\leq R_{N2F}^{\infty}(\text{size}\leq\alpha) = 1+1/m</math>.<ref name="johnson732" />* फर्स्ट-फिट बिन पैकिंग|फर्स्ट-फिट (एफएफ) सभी बिन को उसी क्रम में खुला रखता है, जिस क्रम में वे खोले गए थे। यह प्रत्येक नई वस्तु को ''पहले'' बिन में रखने का प्रयास करता है जिसमें वह फिट होती है। इसका सन्निकटन अनुपात है <math>FF(L) \leq \lfloor 1.7\mathrm{OPT}\rfloor</math>, और इनपुट सूचियों का एक परिवार है {{mvar|L}} जिसके लिए <math>FF(L)</math> इस सीमा से मेल खाता है।<ref name="DósaSgall2">{{cite journal|last1=Dósa|first1=György|last2=Sgall|first2=Jiri|date=2013|title=फर्स्ट फ़िट बिन पैकिंग: एक कड़ा विश्लेषण|url=http://drops.dagstuhl.de/opus/volltexte/2013/3963|journal=30th International Symposium on Theoretical Aspects of Computer Science (STACS 2013)|publisher=Schloss Dagstuhl–Leibniz-Zentrum für Informatik|volume=20|pages=538–549|doi=10.4230/LIPIcs.STACS.2013.538}}</ref>
* बेस्ट-फिट बिन पैकिंग|बेस्ट-फिट (बीएफ), भी, सभी डिब्बे खुले रखता है, लेकिन प्रत्येक नए आइटम को ''अधिकतम'' लोड के साथ बिन में रखने का प्रयास करता है जिसमें वह फिट बैठता है। इसका सन्निकटन अनुपात FF के समान है, अर्थात: <math>BF(L) \leq \lfloor 1.7\mathrm{OPT}\rfloor</math>, और इनपुट सूचियों का एक परिवार है {{mvar|L}} जिसके लिए <math>BF(L)</math> इस सीमा से मेल खाता है.<ref name="DósaSgall142">{{cite journal|last1=György|first1=Dósa|last2=Sgall|first2=Jirí|date=2014|title=सर्वश्रेष्ठ फ़िट बिन पैकिंग का इष्टतम विश्लेषण|journal={Automata, Languages, and Programming – 41st International Colloquium (ICALP)}|series=Lecture Notes in Computer Science|volume=8572|pages=429–441|doi=10.1007/978-3-662-43948-7_36|isbn=978-3-662-43947-0}}</ref>
* बेस्ट-फिट बिन पैकिंग|बेस्ट-फिट (बीएफ), भी, सभी बिन खुले रखता है, लेकिन प्रत्येक नए आइटम को ''अधिकतम'' लोड के साथ बिन में रखने का प्रयास करता है जिसमें वह फिट बैठता है। इसका सन्निकटन अनुपात FF के समान है, अर्थात: <math>BF(L) \leq \lfloor 1.7\mathrm{OPT}\rfloor</math>, और इनपुट सूचियों का एक परिवार है {{mvar|L}} जिसके लिए <math>BF(L)</math> इस सीमा से मेल खाता है.<ref name="DósaSgall142">{{cite journal|last1=György|first1=Dósa|last2=Sgall|first2=Jirí|date=2014|title=सर्वश्रेष्ठ फ़िट बिन पैकिंग का इष्टतम विश्लेषण|journal={Automata, Languages, and Programming – 41st International Colloquium (ICALP)}|series=Lecture Notes in Computer Science|volume=8572|pages=429–441|doi=10.1007/978-3-662-43948-7_36|isbn=978-3-662-43947-0}}</ref>
*वर्स्ट-फिट (डब्ल्यूएफ) प्रत्येक नई वस्तु को ''न्यूनतम'' लोड के साथ बिन में रखने का प्रयास करता है। यह नेक्स्ट-फ़िट जितना बुरा व्यवहार कर सकता है, और उसके लिए सबसे खराब स्थिति वाली सूची में ऐसा करेगा <math>NF(L) = 2 \cdot \mathrm{OPT}(L) -2 </math>. इसके अलावा, यह ऐसा मानता है <math>R_{WF}^{\infty}(\text{size}\leq \alpha) = R_{NF}^{\infty}(\text{size}\leq \alpha)</math>. चूँकि WF एक AnyFit-एल्गोरिदम है, इसलिए ऐसा AnyFit-एल्गोरिदम मौजूद है <math>R_{AF}^{\infty}(\alpha) = R_{NF}^{\infty}(\alpha)</math>.<ref name="johnson732" />* लगभग सबसे खराब-फिट (एडब्ल्यूएफ) प्रत्येक नई वस्तु को ''दूसरे सबसे खाली'' खुले कूड़ेदान (या यदि ऐसे दो डिब्बे हैं तो सबसे खाली डिब्बे) के अंदर रखने का प्रयास करता है। यदि यह फिट नहीं होता है, तो यह सबसे खाली प्रयास करता है। इसका स्पर्शोन्मुख सबसे खराब स्थिति का अनुपात है <math>\tfrac {17}{10}</math>.<ref name="johnson732" />इन परिणामों को सामान्यीकृत करने के लिए, जॉनसन ने ऑनलाइन हेयुरिस्टिक्स के दो वर्ग पेश किए जिन्हें एनी-फिट एल्गोरिदम और ऑलमोस्ट-एनी-फिट एल्गोरिदम कहा जाता है:'<ref name=":0" />{{Rp|470}}
*वर्स्ट-फिट (डब्ल्यूएफ) प्रत्येक नई वस्तु को ''न्यूनतम'' लोड के साथ बिन में रखने का प्रयास करता है। यह नेक्स्ट-फ़िट जितना बुरा व्यवहार कर सकता है, और उसके लिए सबसे खराब स्थिति वाली सूची में ऐसा करेगा <math>NF(L) = 2 \cdot \mathrm{OPT}(L) -2 </math>. इसके अलावा, यह ऐसा मानता है <math>R_{WF}^{\infty}(\text{size}\leq \alpha) = R_{NF}^{\infty}(\text{size}\leq \alpha)</math>. चूँकि WF एक AnyFit-एल्गोरिदम है, इसलिए ऐसा AnyFit-एल्गोरिदम मौजूद है <math>R_{AF}^{\infty}(\alpha) = R_{NF}^{\infty}(\alpha)</math>.<ref name="johnson732" />* लगभग सबसे खराब-फिट (एडब्ल्यूएफ) प्रत्येक नई वस्तु को ''दूसरे सबसे खाली'' खुले कूड़ेदान (या यदि ऐसे दो बिन हैं तो सबसे खाली बिन) के अंदर रखने का प्रयास करता है। यदि यह फिट नहीं होता है, तो यह सबसे खाली प्रयास करता है। इसका स्पर्शोन्मुख सबसे खराब स्थिति का अनुपात है <math>\tfrac {17}{10}</math>.<ref name="johnson732" />इन परिणामों को सामान्यीकृत करने के लिए, जॉनसन ने ऑनलाइन हेयुरिस्टिक्स के दो वर्ग पेश किए जिन्हें एनी-फिट एल्गोरिदम और ऑलमोस्ट-एनी-फिट एल्गोरिदम कहा जाता है:'<ref name=":0" />{{Rp|470}}
* AnyFit (AF) एल्गोरिथम में, यदि वर्तमान गैर-रिक्त डिब्बे ''B'' हैं<sub>1</sub>,...,बी<sub>j</sub>, तो वर्तमान वस्तु को बी में पैक नहीं किया जाएगा<sub>''j''+1</sub> जब तक कि यह बी में से किसी में फिट न हो<sub>1</sub>,...,बी<sub>j</sub>. एफएफ, डब्ल्यूएफ, बीएफ और एडब्ल्यूएफ एल्गोरिदम इस शर्त को पूरा करते हैं। जॉनसन ने किसी भी AnyFit एल्गोरिथम A और किसी के लिए भी यह साबित कर दिया <math>\alpha</math>:
* AnyFit (AF) एल्गोरिथम में, यदि वर्तमान गैर-रिक्त बिन ''B'' हैं<sub>1</sub>,...,बी<sub>j</sub>, तो वर्तमान वस्तु को बी में पैक नहीं किया जाएगा<sub>''j''+1</sub> जब तक कि यह बी में से किसी में फिट न हो<sub>1</sub>,...,बी<sub>j</sub>. एफएफ, डब्ल्यूएफ, बीएफ और एडब्ल्यूएफ एल्गोरिदम इस शर्त को पूरा करते हैं। जॉनसन ने किसी भी AnyFit एल्गोरिथम A और किसी के लिए भी यह साबित कर दिया <math>\alpha</math>:
*:<math>R_{FF}^{\infty}(\alpha) \leq R_{A}^{\infty}(\alpha) \leq R_{WF}^{\infty}(\alpha)</math>.
*:<math>R_{FF}^{\infty}(\alpha) \leq R_{A}^{\infty}(\alpha) \leq R_{WF}^{\infty}(\alpha)</math>.
* ऑलमोस्टएनीफिट (एएएफ) एल्गोरिदम में, यदि वर्तमान गैर-रिक्त डिब्बे ''बी'' हैं<sub>1</sub>,...,बी<sub>j</sub>, और इन डिब्बे में से, बी<sub>k</sub>सबसे छोटे भार वाला अद्वितीय बिन है, तो वर्तमान वस्तु को बी में पैक नहीं किया जाएगा<sub>k</sub>, जब तक कि वह अपनी बाईं ओर के किसी भी डिब्बे में फिट न हो जाए। एफएफ, बीएफ और एडब्ल्यूएफ एल्गोरिदम इस शर्त को पूरा करते हैं, लेकिन डब्ल्यूएफ नहीं करता है। जॉनसन ने यह साबित किया, किसी भी एएएफ एल्गोरिदम ए और किसी के लिए {{mvar|&alpha;}}:
* ऑलमोस्टएनीफिट (एएएफ) एल्गोरिदम में, यदि वर्तमान गैर-रिक्त बिन ''बी'' हैं<sub>1</sub>,...,बी<sub>j</sub>, और इन बिन में से, बी<sub>k</sub>सबसे छोटे भार वाला अद्वितीय बिन है, तो वर्तमान वस्तु को बी में पैक नहीं किया जाएगा<sub>k</sub>, जब तक कि वह अपनी बाईं ओर के किसी भी बिन में फिट न हो जाए। एफएफ, बीएफ और एडब्ल्यूएफ एल्गोरिदम इस शर्त को पूरा करते हैं, लेकिन डब्ल्यूएफ नहीं करता है। जॉनसन ने यह साबित किया, किसी भी एएएफ एल्गोरिदम ए और किसी के लिए {{mvar|&alpha;}}:
*:<math>R_{A}^{\infty}(\alpha) = R_{FF}^{\infty}(\alpha) </math> विशेष रूप से: <math>R_{A}^{\infty} = 1.7 </math>.
*:<math>R_{A}^{\infty}(\alpha) = R_{FF}^{\infty}(\alpha) </math> विशेष रूप से: <math>R_{A}^{\infty} = 1.7 </math>.


=== परिष्कृत एल्गोरिदम ===
=== परिष्कृत एल्गोरिदम ===
उन अनुमानों के साथ बेहतर सन्निकटन अनुपात संभव है जो AnyFit नहीं हैं। ये अनुमान आम तौर पर विभिन्न आकार श्रेणियों की वस्तुओं के लिए समर्पित खुले डिब्बे के कई वर्ग रखते हैं (अधिक जानकारी के लिए लिंक किए गए पेज देखें):
उन अनुमानों के साथ बेहतर सन्निकटन अनुपात संभव है जो AnyFit नहीं हैं। ये अनुमान आम तौर पर विभिन्न आकार श्रेणियों की वस्तुओं के लिए समर्पित खुले बिन के कई वर्ग रखते हैं (अधिक जानकारी के लिए लिंक किए गए पेज देखें):


* [[ परिष्कृत प्रथम-फिट बिन पैकिंग ]]|रिफाइंड-फर्स्ट-फिट बिन पैकिंग (आरएफएफ) आइटम के आकार को चार श्रेणियों में विभाजित करता है: <math>\left(\frac 1 2,1\right]</math>, <math>\left(\frac 2 5, \frac 1 2\right]</math>, <math>\left(\frac 1 3, \frac 2 5\right]</math>, और <math>\left(0, \frac 1 3\right]</math>. इसी प्रकार, डिब्बे को चार वर्गों में वर्गीकृत किया गया है। अगला आइटम <math>i \in L</math> सबसे पहले इसके संबंधित वर्ग को सौंपा गया है। उस वर्ग के अंदर, इसे फर्स्ट-फिट बिन पैकिंग|फर्स्ट-फिट का उपयोग करके एक बिन को सौंपा गया है। ध्यान दें कि यह एल्गोरिदम कोई भी-फिट एल्गोरिदम नहीं है क्योंकि यह इस तथ्य के बावजूद एक नया बिन खोल सकता है कि वर्तमान आइटम एक खुले बिन के अंदर फिट बैठता है। यह एल्गोरिदम सबसे पहले एंड्रयू ची-चिह याओ द्वारा प्रस्तुत किया गया था,<ref name="Yao19802">{{cite journal|last1=Yao|first1=Andrew Chi-Chih|date=April 1980|title=बिन पैकिंग के लिए नए एल्गोरिदम|journal=Journal of the ACM|volume=27|issue=2|pages=207–227|doi=10.1145/322186.322187|s2cid=7903339}}</ref> जिसने साबित कर दिया कि इसकी अनुमानित गारंटी है <math>RFF(L) \leq (5/3) \cdot \mathrm{OPT}(L) +5 </math> और सूचियों का एक परिवार प्रस्तुत किया <math>L_k</math> साथ <math>RFF(L_k) = (5/3)\mathrm{OPT}(L_k) +1/3</math> के लिए <math>\mathrm{OPT}(L) = 6k+1</math>.
* [[ परिष्कृत प्रथम-फिट बिन पैकिंग ]]|रिफाइंड-फर्स्ट-फिट बिन पैकिंग (आरएफएफ) आइटम के आकार को चार श्रेणियों में विभाजित करता है: <math>\left(\frac 1 2,1\right]</math>, <math>\left(\frac 2 5, \frac 1 2\right]</math>, <math>\left(\frac 1 3, \frac 2 5\right]</math>, और <math>\left(0, \frac 1 3\right]</math>. इसी प्रकार, बिन को चार वर्गों में वर्गीकृत किया गया है। अगला आइटम <math>i \in L</math> सबसे पहले इसके संबंधित वर्ग को सौंपा गया है। उस वर्ग के अंदर, इसे फर्स्ट-फिट बिन पैकिंग|फर्स्ट-फिट का उपयोग करके एक बिन को सौंपा गया है। ध्यान दें कि यह एल्गोरिदम कोई भी-फिट एल्गोरिदम नहीं है क्योंकि यह इस तथ्य के बावजूद एक नया बिन खोल सकता है कि वर्तमान आइटम एक खुले बिन के अंदर फिट बैठता है। यह एल्गोरिदम सबसे पहले एंड्रयू ची-चिह याओ द्वारा प्रस्तुत किया गया था,<ref name="Yao19802">{{cite journal|last1=Yao|first1=Andrew Chi-Chih|date=April 1980|title=बिन पैकिंग के लिए नए एल्गोरिदम|journal=Journal of the ACM|volume=27|issue=2|pages=207–227|doi=10.1145/322186.322187|s2cid=7903339}}</ref> जिसने साबित कर दिया कि इसकी अनुमानित गारंटी है <math>RFF(L) \leq (5/3) \cdot \mathrm{OPT}(L) +5 </math> और सूचियों का एक परिवार प्रस्तुत किया <math>L_k</math> साथ <math>RFF(L_k) = (5/3)\mathrm{OPT}(L_k) +1/3</math> के लिए <math>\mathrm{OPT}(L) = 6k+1</math>.
* [[हार्मोनिक बिन पैकिंग]]|हार्मोनिक-के आकार के अंतराल को विभाजित करता है <math>(0,1]</math> एक [[हार्मोनिक प्रगति (गणित)]] पर आधारित <math>k-1</math> टुकड़े <math>I_j := \left(\frac 1 {j+1}, \frac 1 j\right] </math> के लिए <math>1\leq j < k</math> और <math>I_k := \left(0, \frac 1 k\right]</math> ऐसा है कि <math>\bigcup_{j=1}^k I_j = (0,1]</math>. इस एल्गोरिथम का वर्णन सबसे पहले ली और ली द्वारा किया गया था।<ref name="LeeLee19852">{{cite journal|last1=Lee|first1=C. C.|last2=Lee|first2=D. T.|date=July 1985|title=एक सरल ऑनलाइन बिन-पैकिंग एल्गोरिदम|journal=Journal of the ACM|volume=32|issue=3|pages=562–572|doi=10.1145/3828.3833|s2cid=15441740}}</ref> इसमें समय की जटिलता है <math>\mathcal{O}(|L|\log(|L|))</math> और प्रत्येक चरण पर, अधिकतम होते हैं {{mvar|k}} खुले डिब्बे जिनका उपयोग संभावित रूप से वस्तुओं को रखने के लिए किया जा सकता है, यानी, यह एक है {{mvar|k}}-बाउंडेड स्पेस एल्गोरिदम। के लिए <math>k \rightarrow \infty</math>, इसका सन्निकटन अनुपात संतुष्ट करता है <math>R_{Hk}^{\infty} \approx 1.6910</math>, और यह स्पर्शोन्मुख रूप से तंग है।
* [[हार्मोनिक बिन पैकिंग]]|हार्मोनिक-के आकार के अंतराल को विभाजित करता है <math>(0,1]</math> एक [[हार्मोनिक प्रगति (गणित)]] पर आधारित <math>k-1</math> टुकड़े <math>I_j := \left(\frac 1 {j+1}, \frac 1 j\right] </math> के लिए <math>1\leq j < k</math> और <math>I_k := \left(0, \frac 1 k\right]</math> ऐसा है कि <math>\bigcup_{j=1}^k I_j = (0,1]</math>. इस एल्गोरिथम का वर्णन सबसे पहले ली और ली द्वारा किया गया था।<ref name="LeeLee19852">{{cite journal|last1=Lee|first1=C. C.|last2=Lee|first2=D. T.|date=July 1985|title=एक सरल ऑनलाइन बिन-पैकिंग एल्गोरिदम|journal=Journal of the ACM|volume=32|issue=3|pages=562–572|doi=10.1145/3828.3833|s2cid=15441740}}</ref> इसमें समय की जटिलता है <math>\mathcal{O}(|L|\log(|L|))</math> और प्रत्येक चरण पर, अधिकतम होते हैं {{mvar|k}} खुले बिन जिनका उपयोग संभावित रूप से वस्तुओं को रखने के लिए किया जा सकता है, यानी, यह एक है {{mvar|k}}-बाउंडेड स्पेस एल्गोरिदम। के लिए <math>k \rightarrow \infty</math>, इसका सन्निकटन अनुपात संतुष्ट करता है <math>R_{Hk}^{\infty} \approx 1.6910</math>, और यह स्पर्शोन्मुख रूप से तंग है।
* हार्मोनिक बिन पैकिंग|रिफाइंड-हार्मोनिक, हार्मोनिक-के के विचारों को रिफाइंड फर्स्ट-फिट बिन पैकिंग|रिफाइंड-फर्स्ट-फिट के विचारों के साथ जोड़ता है। यह वस्तुओं को इससे बड़ा रखता है <math>\tfrac 1 3</math> रिफाइंड-फर्स्ट-फ़िट के समान, जबकि छोटी वस्तुओं को हार्मोनिक-के का उपयोग करके रखा जाता है। इस रणनीति का उद्देश्य उन डिब्बों के लिए भारी अपशिष्ट को कम करना है जिनमें बड़े टुकड़े होते हैं <math>\tfrac 1 2</math>. इस एल्गोरिथम का वर्णन सबसे पहले ली और ली द्वारा किया गया था।<ref name="LeeLee19852" />  उन्होंने ये बात साबित कर दी <math>k = 20</math> यह उसे धारण करता है <math>R^\infty_{RH} \leq 373/228</math>.
* हार्मोनिक बिन पैकिंग|रिफाइंड-हार्मोनिक, हार्मोनिक-के के विचारों को रिफाइंड फर्स्ट-फिट बिन पैकिंग|रिफाइंड-फर्स्ट-फिट के विचारों के साथ जोड़ता है। यह वस्तुओं को इससे बड़ा रखता है <math>\tfrac 1 3</math> रिफाइंड-फर्स्ट-फ़िट के समान, जबकि छोटी वस्तुओं को हार्मोनिक-के का उपयोग करके रखा जाता है। इस रणनीति का उद्देश्य उन बिन के लिए भारी अपशिष्ट को कम करना है जिनमें बड़े टुकड़े होते हैं <math>\tfrac 1 2</math>. इस एल्गोरिथम का वर्णन सबसे पहले ली और ली द्वारा किया गया था।<ref name="LeeLee19852" />  उन्होंने ये बात साबित कर दी <math>k = 20</math> यह उसे धारण करता है <math>R^\infty_{RH} \leq 373/228</math>.


=== ऑनलाइन एल्गोरिदम के लिए सामान्य निचली सीमाएं ===
=== ऑनलाइन एल्गोरिदम के लिए सामान्य निचली सीमाएं ===
Line 176: Line 175:


== ऑफ़लाइन एल्गोरिदम ==
== ऑफ़लाइन एल्गोरिदम ==
बिन पैकिंग के ऑफ़लाइन संस्करण में, एल्गोरिदम सभी वस्तुओं को डिब्बे में रखना शुरू करने से पहले देख सकता है। यह बेहतर सन्निकटन अनुपात प्राप्त करने की अनुमति देता है।
बिन पैकिंग के ऑफ़लाइन संस्करण में, एल्गोरिदम सभी वस्तुओं को बिन में रखना शुरू करने से पहले देख सकता है। यह बेहतर सन्निकटन अनुपात प्राप्त करने की अनुमति देता है।


===गुणात्मक सन्निकटन ===
===गुणात्मक सन्निकटन ===
Line 187: Line 186:


* [[ प्रथम-फिट-घटती बिन पैकिंग ]]|फर्स्ट-फिट-डिक्रीजिंग (एफएफडी) - आइटम को घटते आकार के आधार पर ऑर्डर करता है, फिर फर्स्ट-फिट को कॉल करता है। इसका सन्निकटन अनुपात है <math>FFD(I) = \frac{11}9 \mathrm{OPT}(I) + \frac 6 9</math>, और यह तंग है.<ref name="Dosa072">{{cite journal|last1=Dósa|first1=György|date=2007|title=The Tight Bound of First Fit Decreasing Bin-Packing Algorithm Is FFD(I) ≤ 11/9\mathrm{OPT}(I) + 6/9|journal=Combinatorics, Algorithms, Probabilistic and Experimental Methodologies. ESCAPE|doi=10.1007/978-3-540-74450-4_1}}</ref>
* [[ प्रथम-फिट-घटती बिन पैकिंग ]]|फर्स्ट-फिट-डिक्रीजिंग (एफएफडी) - आइटम को घटते आकार के आधार पर ऑर्डर करता है, फिर फर्स्ट-फिट को कॉल करता है। इसका सन्निकटन अनुपात है <math>FFD(I) = \frac{11}9 \mathrm{OPT}(I) + \frac 6 9</math>, और यह तंग है.<ref name="Dosa072">{{cite journal|last1=Dósa|first1=György|date=2007|title=The Tight Bound of First Fit Decreasing Bin-Packing Algorithm Is FFD(I) ≤ 11/9\mathrm{OPT}(I) + 6/9|journal=Combinatorics, Algorithms, Probabilistic and Experimental Methodologies. ESCAPE|doi=10.1007/978-3-540-74450-4_1}}</ref>
* [[ अगला-फिट-घटता हुआ ]] (एनएफडी) - वस्तुओं को घटते आकार के आधार पर ऑर्डर करता है, फिर नेक्स्ट-फिट बिन पैकिंग|नेक्स्ट-फिट को कॉल करता है। इसका अनुमानित अनुपात सबसे खराब स्थिति में 1.7 से थोड़ा कम है।<ref>{{Cite journal|last1=Baker|first1=B. S.|last2=Coffman|first2=Jr., E. G.|date=1981-06-01|title=नेक्स्ट-फ़िट-घटते बिन-पैकिंग के लिए एक सख्त एसिम्प्टोटिक बाउंड|url=https://epubs.siam.org/doi/abs/10.1137/0602019|journal=SIAM Journal on Algebraic and Discrete Methods|volume=2|issue=2|pages=147–152|doi=10.1137/0602019|issn=0196-5212}}</ref> इसका संभाव्य विश्लेषण भी किया गया है।<ref>{{Cite journal|last1=Csirik|first1=J.|last2=Galambos|first2=G.|last3=Frenk|first3=J.B.G.|last4=Frieze|first4=A.M.|last5=Rinnooy Kan|first5=A.H.G.|date=1986-11-01|title=अगले फिट घटते बिन पैकिंग अनुमान का एक संभाव्य विश्लेषण|url=https://www.sciencedirect.com/science/article/abs/pii/0167637786900131|journal=Operations Research Letters|language=en|volume=5|issue=5|pages=233–236|doi=10.1016/0167-6377(86)90013-1|issn=0167-6377|hdl=1765/11645}}</ref> नेक्स्ट-फ़िट एक सूची और उसके व्युत्क्रम को समान संख्या में डिब्बे में पैक करता है। इसलिए, नेक्स्ट-फिट-इंक्रीजिंग का प्रदर्शन नेक्स्ट-फिट-डिक्रीजिंग के समान ही है।<ref>{{Cite journal|last1=Fisher|first1=David C.|date=1988-12-01|title=नेक्स्ट-फ़िट एक सूची को पैक करता है और उसे समान संख्या में डिब्बे में उलट देता है|url=https://www.sciencedirect.com/science/article/abs/pii/0167637788900600|journal=Operations Research Letters|language=en|volume=7|issue=6|pages=291–293|doi=10.1016/0167-6377(88)90060-0|issn=0167-6377}}</ref>
* [[ अगला-फिट-घटता हुआ ]] (एनएफडी) - वस्तुओं को घटते आकार के आधार पर ऑर्डर करता है, फिर नेक्स्ट-फिट बिन पैकिंग|नेक्स्ट-फिट को कॉल करता है। इसका अनुमानित अनुपात सबसे खराब स्थिति में 1.7 से थोड़ा कम है।<ref>{{Cite journal|last1=Baker|first1=B. S.|last2=Coffman|first2=Jr., E. G.|date=1981-06-01|title=नेक्स्ट-फ़िट-घटते बिन-पैकिंग के लिए एक सख्त एसिम्प्टोटिक बाउंड|url=https://epubs.siam.org/doi/abs/10.1137/0602019|journal=SIAM Journal on Algebraic and Discrete Methods|volume=2|issue=2|pages=147–152|doi=10.1137/0602019|issn=0196-5212}}</ref> इसका संभाव्य विश्लेषण भी किया गया है।<ref>{{Cite journal|last1=Csirik|first1=J.|last2=Galambos|first2=G.|last3=Frenk|first3=J.B.G.|last4=Frieze|first4=A.M.|last5=Rinnooy Kan|first5=A.H.G.|date=1986-11-01|title=अगले फिट घटते बिन पैकिंग अनुमान का एक संभाव्य विश्लेषण|url=https://www.sciencedirect.com/science/article/abs/pii/0167637786900131|journal=Operations Research Letters|language=en|volume=5|issue=5|pages=233–236|doi=10.1016/0167-6377(86)90013-1|issn=0167-6377|hdl=1765/11645}}</ref> नेक्स्ट-फ़िट एक सूची और उसके व्युत्क्रम को समान संख्या में बिन में पैक करता है। इसलिए, नेक्स्ट-फिट-इंक्रीजिंग का प्रदर्शन नेक्स्ट-फिट-डिक्रीजिंग के समान ही है।<ref>{{Cite journal|last1=Fisher|first1=David C.|date=1988-12-01|title=नेक्स्ट-फ़िट एक सूची को पैक करता है और उसे समान संख्या में डिब्बे में उलट देता है|url=https://www.sciencedirect.com/science/article/abs/pii/0167637788900600|journal=Operations Research Letters|language=en|volume=7|issue=6|pages=291–293|doi=10.1016/0167-6377(88)90060-0|issn=0167-6377}}</ref>
* संशोधित प्रथम-फिट-घटती (एमएफएफडी)<ref name="JohnsonGarey19852">{{cite journal|last1=Johnson|first1=David S|last2=Garey|first2=Michael R|date=October 1985|title=A 7160 theorem for bin packing|journal=Journal of Complexity|volume=1|issue=1|pages=65–106|doi=10.1016/0885-064X(85)90022-6|doi-access=free}}</ref>- आकार के आधार पर वस्तुओं को बड़े, मध्यम, छोटे और छोटे आकार के चार वर्गों में वर्गीकृत करके आधे बिन से बड़ी वस्तुओं के लिए एफएफडी में सुधार किया जाता है, क्रमशः> 1/2 बिन,> 1/3 बिन,> 1/6 बिन और छोटे आकार वाली वस्तुओं के अनुरूप। इसकी सन्निकटन गारंटी है <math>MFFD(I) \leq \frac {71}{60}\mathrm{OPT}(I) + 1</math>.<ref name="YueZhang19952">{{cite journal|last1=Yue|first1=Minyi|last2=Zhang|first2=Lei|date=July 1995|title=A simple proof of the inequality MFFD(L) ≤ 71/60 OPT(L) + 1,L for the MFFD bin-packing algorithm|journal=Acta Mathematicae Applicatae Sinica|volume=11|issue=3|pages=318–330|doi=10.1007/BF02011198|s2cid=118263129}}</ref>
* संशोधित प्रथम-फिट-घटती (एमएफएफडी)<ref name="JohnsonGarey19852">{{cite journal|last1=Johnson|first1=David S|last2=Garey|first2=Michael R|date=October 1985|title=A 7160 theorem for bin packing|journal=Journal of Complexity|volume=1|issue=1|pages=65–106|doi=10.1016/0885-064X(85)90022-6|doi-access=free}}</ref>- आकार के आधार पर वस्तुओं को बड़े, मध्यम, छोटे और छोटे आकार के चार वर्गों में वर्गीकृत करके आधे बिन से बड़ी वस्तुओं के लिए एफएफडी में सुधार किया जाता है, क्रमशः> 1/2 बिन,> 1/3 बिन,> 1/6 बिन और छोटे आकार वाली वस्तुओं के अनुरूप। इसकी सन्निकटन गारंटी है <math>MFFD(I) \leq \frac {71}{60}\mathrm{OPT}(I) + 1</math>.<ref name="YueZhang19952">{{cite journal|last1=Yue|first1=Minyi|last2=Zhang|first2=Lei|date=July 1995|title=A simple proof of the inequality MFFD(L) ≤ 71/60 OPT(L) + 1,L for the MFFD bin-packing algorithm|journal=Acta Mathematicae Applicatae Sinica|volume=11|issue=3|pages=318–330|doi=10.1007/BF02011198|s2cid=118263129}}</ref>
फर्नांडीज डे ला वेगा और ल्यूकेर<ref>{{cite journal|last1=Fernandez de la Vega|first1=W.|last2=Lueker|first2=G. S.|date=1981|title=Bin packing can be solved within 1 + ε in linear time|journal=Combinatorica|language=en|volume=1|issue=4|pages=349–355|doi=10.1007/BF02579456|issn=1439-6912|s2cid=10519631}}</ref> बिन पैकिंग के लिए एक [[बहुपद-समय सन्निकटन योजना]] प्रस्तुत की। हरएक के लिए <math>\varepsilon>0</math>, उनका एल्गोरिदम अधिकतम आकार के साथ एक समाधान ढूंढता है <math>(1+\varepsilon)\mathrm{OPT} + 1</math> और समय पर चलता है  <math>\mathcal{O}(n\log(1/\varepsilon)) + \mathcal{O}_{\varepsilon}(1)</math>, कहाँ <math>\mathcal{O}_{\varepsilon}(1)</math> किसी फ़ंक्शन को केवल उस पर निर्भर दर्शाता है <math>1/\varepsilon</math>. इस एल्गोरिदम के लिए, उन्होंने अनुकूली इनपुट राउंडिंग की विधि का आविष्कार किया: इनपुट संख्याओं को समूहीकृत किया जाता है और प्रत्येक समूह में अधिकतम मूल्य तक पूर्णांकित किया जाता है। यह विभिन्न आकारों की एक छोटी संख्या के साथ एक उदाहरण उत्पन्न करता है, जिसे [[विन्यास रैखिक कार्यक्रम]] का उपयोग करके बिल्कुल हल किया जा सकता है।<ref>{{Cite web|last=Claire Mathieu|title=Approximation Algorithms Part I, Week 3: bin packing|url=https://www.coursera.org/learn/approximation-algorithms-part-1/home/week/3|url-status=live|website=Coursera|archive-url=https://web.archive.org/web/20210715093252/https://www.coursera.org/learn/approximation-algorithms-part-1/home/week/3 |archive-date=2021-07-15 }}</ref>
फर्नांडीज डे ला वेगा और ल्यूकेर<ref>{{cite journal|last1=Fernandez de la Vega|first1=W.|last2=Lueker|first2=G. S.|date=1981|title=Bin packing can be solved within 1 + ε in linear time|journal=Combinatorica|language=en|volume=1|issue=4|pages=349–355|doi=10.1007/BF02579456|issn=1439-6912|s2cid=10519631}}</ref> बिन पैकिंग के लिए एक [[बहुपद-समय सन्निकटन योजना]] प्रस्तुत की। हरएक के लिए <math>\varepsilon>0</math>, उनका एल्गोरिदम अधिकतम आकार के साथ एक समाधान ढूंढता है <math>(1+\varepsilon)\mathrm{OPT} + 1</math> और समय पर चलता है  <math>\mathcal{O}(n\log(1/\varepsilon)) + \mathcal{O}_{\varepsilon}(1)</math>, कहाँ <math>\mathcal{O}_{\varepsilon}(1)</math> किसी फ़ंक्शन को केवल उस पर निर्भर दर्शाता है <math>1/\varepsilon</math>. इस एल्गोरिदम के लिए, उन्होंने अनुकूली इनपुट राउंडिंग की विधि का आविष्कार किया: इनपुट संख्याओं को समूहीकृत किया जाता है और प्रत्येक समूह में अधिकतम मूल्य तक पूर्णांकित किया जाता है। यह विभिन्न आकारों की एक छोटी संख्या के साथ एक उदाहरण उत्पन्न करता है, जिसे [[विन्यास रैखिक कार्यक्रम]] का उपयोग करके बिल्कुल हल किया जा सकता है।<ref>{{Cite web|last=Claire Mathieu|title=Approximation Algorithms Part I, Week 3: bin packing|url=https://www.coursera.org/learn/approximation-algorithms-part-1/home/week/3|url-status=live|website=Coursera|archive-url=https://web.archive.org/web/20210715093252/https://www.coursera.org/learn/approximation-algorithms-part-1/home/week/3 |archive-date=2021-07-15 }}</ref>
Line 195: Line 194:
[[करमरकर-कार्प बिन पैकिंग एल्गोरिदम]] | करमरकर-कार्प बिन पैकिंग एल्गोरिदम अधिकतम आकार के साथ एक समाधान ढूंढता है <math>\mathrm{OPT} + \mathcal{O}(\log^2(\mathrm{OPT}))</math>, और समय बहुपद में चलता है {{mvar|n}} (बहुपद की डिग्री उच्च होती है - कम से कम 8)।
[[करमरकर-कार्प बिन पैकिंग एल्गोरिदम]] | करमरकर-कार्प बिन पैकिंग एल्गोरिदम अधिकतम आकार के साथ एक समाधान ढूंढता है <math>\mathrm{OPT} + \mathcal{O}(\log^2(\mathrm{OPT}))</math>, और समय बहुपद में चलता है {{mvar|n}} (बहुपद की डिग्री उच्च होती है - कम से कम 8)।


रोथवॉस<ref name=":2">{{Cite book|last=Rothvoß|first=T.|title=2013 IEEE 54th Annual Symposium on Foundations of Computer Science |chapter=Approximating Bin Packing within O(log OPT · Log Log OPT) Bins |date=2013-10-01|chapter-url=https://ieeexplore.ieee.org/document/6686137|volume=|pages=20–29|arxiv=1301.4010|doi=10.1109/FOCS.2013.11|isbn=978-0-7695-5135-7|via=|s2cid=15905063}}</ref> एक एल्गोरिदम प्रस्तुत किया जो अधिक से अधिक समाधान उत्पन्न करता है <math>\mathrm{OPT} + \mathcal{O}(\log(\mathrm{OPT})\cdot \log\log(\mathrm{OPT}))</math> डिब्बे.
रोथवॉस<ref name=":2">{{Cite book|last=Rothvoß|first=T.|title=2013 IEEE 54th Annual Symposium on Foundations of Computer Science |chapter=Approximating Bin Packing within O(log OPT · Log Log OPT) Bins |date=2013-10-01|chapter-url=https://ieeexplore.ieee.org/document/6686137|volume=|pages=20–29|arxiv=1301.4010|doi=10.1109/FOCS.2013.11|isbn=978-0-7695-5135-7|via=|s2cid=15905063}}</ref> एक एल्गोरिदम प्रस्तुत किया जो अधिक से अधिक समाधान उत्पन्न करता है <math>\mathrm{OPT} + \mathcal{O}(\log(\mathrm{OPT})\cdot \log\log(\mathrm{OPT}))</math> बिन.


होबर्ग और रोथवॉस<ref name=":3">{{Citation|last1=Hoberg|first1=Rebecca|title=A Logarithmic Additive Integrality Gap for Bin Packing|date=2017-01-01|url=https://epubs.siam.org/doi/abs/10.1137/1.9781611974782.172|work=Proceedings of the 2017 Annual ACM-SIAM Symposium on Discrete Algorithms|pages=2616–2625|series=Proceedings|publisher=Society for Industrial and Applied Mathematics|doi=10.1137/1.9781611974782.172|isbn=978-1-61197-478-2|access-date=2021-02-10|last2=Rothvoss|first2=Thomas|s2cid=1647463}}</ref> अधिक से अधिक समाधान उत्पन्न करने के लिए इस एल्गोरिथम में सुधार किया गया <math>\mathrm{OPT} + \mathcal{O}(\log(\mathrm{OPT}))</math> डिब्बे. एल्गोरिथ्म यादृच्छिक है, और इसका रनिंग-टाइम बहुपद है {{mvar|n}}.
होबर्ग और रोथवॉस<ref name=":3">{{Citation|last1=Hoberg|first1=Rebecca|title=A Logarithmic Additive Integrality Gap for Bin Packing|date=2017-01-01|url=https://epubs.siam.org/doi/abs/10.1137/1.9781611974782.172|work=Proceedings of the 2017 Annual ACM-SIAM Symposium on Discrete Algorithms|pages=2616–2625|series=Proceedings|publisher=Society for Industrial and Applied Mathematics|doi=10.1137/1.9781611974782.172|isbn=978-1-61197-478-2|access-date=2021-02-10|last2=Rothvoss|first2=Thomas|s2cid=1647463}}</ref> अधिक से अधिक समाधान उत्पन्न करने के लिए इस एल्गोरिथम में सुधार किया गया <math>\mathrm{OPT} + \mathcal{O}(\log(\mathrm{OPT}))</math> बिन. एल्गोरिथ्म यादृच्छिक है, और इसका रनिंग-टाइम बहुपद है {{mvar|n}}.


=== तुलना तालिका ===
=== तुलना तालिका ===
Line 229: Line 228:
=== सटीक एल्गोरिदम ===
=== सटीक एल्गोरिदम ===
मार्टेलो और टोथ<ref>{{harvnb|Martello|Toth|1990|pp=237–240}}.</ref> 1-आयामी बिन-पैकिंग समस्या के लिए एक सटीक एल्गोरिदम विकसित किया, जिसे एमटीपी कहा जाता है। एक तेज़ विकल्प 2002 में कोर्फ द्वारा प्रस्तावित बिन कंप्लीशन एल्गोरिदम है<ref>{{cite conference|last=Korf|first=Richard E.|year=2002|title=इष्टतम बिन पैकिंग के लिए एक नया एल्गोरिदम।|url=http://www.aaai.org/Papers/AAAI/2002/AAAI02-110.pdf|conference=AAAI-02}}</ref> और बाद में सुधार हुआ.<ref name="Korf2003Korf2">R. E. Korf (2003), ''[https://web.archive.org/web/20190823231238/https://pdfs.semanticscholar.org/616d/77a41020941a89e782e877bf4cf7bb5ec9a4.pdf An improved algorithm for optimal bin packing]''. Proceedings of the International Joint Conference on Artificial Intelligence, (pp. 1252–1258)</ref>
मार्टेलो और टोथ<ref>{{harvnb|Martello|Toth|1990|pp=237–240}}.</ref> 1-आयामी बिन-पैकिंग समस्या के लिए एक सटीक एल्गोरिदम विकसित किया, जिसे एमटीपी कहा जाता है। एक तेज़ विकल्प 2002 में कोर्फ द्वारा प्रस्तावित बिन कंप्लीशन एल्गोरिदम है<ref>{{cite conference|last=Korf|first=Richard E.|year=2002|title=इष्टतम बिन पैकिंग के लिए एक नया एल्गोरिदम।|url=http://www.aaai.org/Papers/AAAI/2002/AAAI02-110.pdf|conference=AAAI-02}}</ref> और बाद में सुधार हुआ.<ref name="Korf2003Korf2">R. E. Korf (2003), ''[https://web.archive.org/web/20190823231238/https://pdfs.semanticscholar.org/616d/77a41020941a89e782e877bf4cf7bb5ec9a4.pdf An improved algorithm for optimal bin packing]''. Proceedings of the International Joint Conference on Artificial Intelligence, (pp. 1252–1258)</ref>
2013 में श्रेइबर और कोर्फ द्वारा एक और सुधार प्रस्तुत किया गया।<ref>{{citation|last1=Schreiber|first1=Ethan L.|title=Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence|pages=651–658|year=2013|series=IJCAI '13|chapter=Improved Bin Completion for Optimal Bin Packing and Number Partitioning|chapter-url=https://www.ijcai.org/Proceedings/13/Papers/103.pdf|location=Beijing, China|publisher=AAAI Press|isbn=978-1-57735-633-2|last2=Korf|first2=Richard E.}}</ref> नए बेहतर बिन कंप्लीशन एल्गोरिदम को 100 वस्तुओं के साथ गैर-तुच्छ समस्याओं पर बिन कंप्लीशन की तुलना में परिमाण के पांच ऑर्डर तक तेज दिखाया गया है, और इष्टतम समाधान के रूप में 20 बिन से कम वाली समस्याओं पर बेलोव और शेइथाउर द्वारा बीसीपी (ब्रांच-एंड-कट-एंड-प्राइस) एल्गोरिदम से बेहतर प्रदर्शन करता है। कौन सा एल्गोरिदम सबसे अच्छा प्रदर्शन करता है यह समस्या के गुणों जैसे वस्तुओं की संख्या, डिब्बे की इष्टतम संख्या, इष्टतम समाधान में अप्रयुक्त स्थान और मूल्य परिशुद्धता पर निर्भर करता है।
2013 में श्रेइबर और कोर्फ द्वारा एक और सुधार प्रस्तुत किया गया।<ref>{{citation|last1=Schreiber|first1=Ethan L.|title=Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence|pages=651–658|year=2013|series=IJCAI '13|chapter=Improved Bin Completion for Optimal Bin Packing and Number Partitioning|chapter-url=https://www.ijcai.org/Proceedings/13/Papers/103.pdf|location=Beijing, China|publisher=AAAI Press|isbn=978-1-57735-633-2|last2=Korf|first2=Richard E.}}</ref> नए बेहतर बिन कंप्लीशन एल्गोरिदम को 100 वस्तुओं के साथ गैर-तुच्छ समस्याओं पर बिन कंप्लीशन की तुलना में परिमाण के पांच ऑर्डर तक तेज दिखाया गया है, और इष्टतम समाधान के रूप में 20 बिन से कम वाली समस्याओं पर बेलोव और शेइथाउर द्वारा बीसीपी (ब्रांच-एंड-कट-एंड-प्राइस) एल्गोरिदम से बेहतर प्रदर्शन करता है। कौन सा एल्गोरिदम सबसे अच्छा प्रदर्शन करता है यह समस्या के गुणों जैसे वस्तुओं की संख्या, बिन की इष्टतम संख्या, इष्टतम समाधान में अप्रयुक्त स्थान और मूल्य परिशुद्धता पर निर्भर करता है।


=== विभिन्न आकारों की छोटी संख्या ===
=== विभिन्न आकारों की छोटी संख्या ===
Line 255: Line 254:
एकिसि<ref>{{Cite journal |last=Ekici |first=Ali |date=2021-02-01 |title=संघर्ष और वस्तु विखंडन के साथ बिन पैकिंग की समस्या|url=https://www.sciencedirect.com/science/article/pii/S0305054820302306 |journal=Computers & Operations Research |language=en |volume=126 |pages=105113 |doi=10.1016/j.cor.2020.105113 |issn=0305-0548 |s2cid=225002556}}</ref> बीपी-एसपीएफ का एक प्रकार पेश किया गया जिसमें कुछ वस्तुएं विवादित हैं, और विवादित वस्तुओं के टुकड़ों को एक ही बिन में पैक करना मना है। उन्होंने साबित कर दिया कि यह वैरिएंट भी एनपी-हार्ड है।
एकिसि<ref>{{Cite journal |last=Ekici |first=Ali |date=2021-02-01 |title=संघर्ष और वस्तु विखंडन के साथ बिन पैकिंग की समस्या|url=https://www.sciencedirect.com/science/article/pii/S0305054820302306 |journal=Computers & Operations Research |language=en |volume=126 |pages=105113 |doi=10.1016/j.cor.2020.105113 |issn=0305-0548 |s2cid=225002556}}</ref> बीपी-एसपीएफ का एक प्रकार पेश किया गया जिसमें कुछ वस्तुएं विवादित हैं, और विवादित वस्तुओं के टुकड़ों को एक ही बिन में पैक करना मना है। उन्होंने साबित कर दिया कि यह वैरिएंट भी एनपी-हार्ड है।


कैसाज़ा और सेसेली<ref>{{Cite journal |last1=Casazza |first1=Marco |last2=Ceselli |first2=Alberto |date=2014-06-01 |title=आइटम विखंडन के साथ बिन पैकिंग समस्याओं के लिए गणितीय प्रोग्रामिंग एल्गोरिदम|url=https://www.sciencedirect.com/science/article/pii/S0305054813003596 |journal=Computers & Operations Research |language=en |volume=46 |pages=1–11 |doi=10.1016/j.cor.2013.12.008 |issn=0305-0548}}</ref> बिना किसी लागत और बिना किसी ओवरहेड वाला एक संस्करण पेश किया गया है, और डिब्बे की संख्या निश्चित है। हालाँकि, विखंडन की संख्या कम होनी चाहिए। वे सटीक और अनुमानित दोनों समाधानों के लिए गणितीय प्रोग्रामिंग एल्गोरिदम प्रस्तुत करते हैं।
कैसाज़ा और सेसेली<ref>{{Cite journal |last1=Casazza |first1=Marco |last2=Ceselli |first2=Alberto |date=2014-06-01 |title=आइटम विखंडन के साथ बिन पैकिंग समस्याओं के लिए गणितीय प्रोग्रामिंग एल्गोरिदम|url=https://www.sciencedirect.com/science/article/pii/S0305054813003596 |journal=Computers & Operations Research |language=en |volume=46 |pages=1–11 |doi=10.1016/j.cor.2013.12.008 |issn=0305-0548}}</ref> बिना किसी लागत और बिना किसी ओवरहेड वाला एक संस्करण पेश किया गया है, और बिन की संख्या निश्चित है। हालाँकि, विखंडन की संख्या कम होनी चाहिए। वे सटीक और अनुमानित दोनों समाधानों के लिए गणितीय प्रोग्रामिंग एल्गोरिदम प्रस्तुत करते हैं।


=== संबंधित समस्याएँ ===
=== संबंधित समस्याएँ ===
दंड के साथ फ्रैक्शनल नैपसेक समस्या की समस्या मालागुटी, मोनासी, पारोनुज़ी और पफ़र्स्की द्वारा पेश की गई थी।<ref>{{Cite journal |last1=Malaguti |first1=Enrico |last2=Monaci |first2=Michele |last3=Paronuzzi |first3=Paolo |last4=Pferschy |first4=Ulrich |date=2019-03-16 |title=Integer optimization with penalized fractional values: The Knapsack case |url=https://www.sciencedirect.com/science/article/pii/S0377221718307963 |journal=European Journal of Operational Research |language=en |volume=273 |issue=3 |pages=874–888 |doi=10.1016/j.ejor.2018.09.020 |issn=0377-2217 |s2cid=31722681}}</ref> उन्होंने समस्या के लिए एक एफपीटीएएस और एक [[ गतिशील प्रोग्रामिंग ]] विकसित की, और उन्होंने अपने मॉडलों के प्रदर्शन की तुलना करते हुए एक व्यापक कम्प्यूटेशनल अध्ययन दिखाया। यह भी देखें: [[आंशिक कार्य शेड्यूलिंग]]।
दंड के साथ फ्रैक्शनल नैपसेक समस्या की समस्या मालागुटी, मोनासी, पारोनुज़ी और पफ़र्स्की द्वारा पेश की गई थी।<ref>{{Cite journal |last1=Malaguti |first1=Enrico |last2=Monaci |first2=Michele |last3=Paronuzzi |first3=Paolo |last4=Pferschy |first4=Ulrich |date=2019-03-16 |title=Integer optimization with penalized fractional values: The Knapsack case |url=https://www.sciencedirect.com/science/article/pii/S0377221718307963 |journal=European Journal of Operational Research |language=en |volume=273 |issue=3 |pages=874–888 |doi=10.1016/j.ejor.2018.09.020 |issn=0377-2217 |s2cid=31722681}}</ref> उन्होंने समस्या के लिए एक एफपीटीएएस और एक [[ गतिशील प्रोग्रामिंग ]] विकसित की, और उन्होंने अपने मॉडलों के प्रदर्शन की तुलना करते हुए एक व्यापक कम्प्यूटेशनल अध्ययन दिखाया। यह भी देखें: [[आंशिक कार्य शेड्यूलिंग]]।


== डिब्बे पर कार्डिनैलिटी बाधाएँ ==
== बिन पर कार्डिनैलिटी बाधाएँ ==
बिन पैकिंग का एक प्रकार है जिसमें डिब्बे पर कार्डिनैलिटी बाधाएं होती हैं: प्रत्येक बिन में कुछ निश्चित पूर्णांक k के लिए अधिकतम k आइटम हो सकते हैं।
बिन पैकिंग का एक प्रकार है जिसमें बिन पर कार्डिनैलिटी बाधाएं होती हैं: प्रत्येक बिन में कुछ निश्चित पूर्णांक k के लिए अधिकतम k आइटम हो सकते हैं।


* क्राउज़, शेन और श्वेटमैन<ref>{{Cite journal|last1=Krause|first1=K. L.|last2=Shen|first2=V. Y.|last3=Schwetman|first3=H. D.|date=1975-10-01|title=मल्टीप्रोग्रामिंग कंप्यूटर सिस्टम के एक मॉडल के लिए कई कार्य-शेड्यूलिंग एल्गोरिदम का विश्लेषण|url=https://doi.org/10.1145/321906.321917|journal=Journal of the ACM|volume=22|issue=4|pages=522–550|doi=10.1145/321906.321917|s2cid=10214857|issn=0004-5411}}</ref> इस समस्या को [[इष्टतम कार्य शेड्यूलिंग]] के एक प्रकार के रूप में प्रस्तुत करें: एक कंप्यूटर में कुछ k प्रोसेसर होते हैं। कुछ n नौकरियाँ ऐसी हैं जिनमें इकाई समय लगता है (1), लेकिन उनकी मेमोरी आवश्यकताएँ भिन्न होती हैं। प्रत्येक समय-इकाई को एक ही बिन माना जाता है। लक्ष्य यथासंभव कम डिब्बे (=समय इकाइयाँ) का उपयोग करना है, जबकि यह सुनिश्चित करना है कि प्रत्येक बिन में, अधिकतम k नौकरियाँ चलती हैं। वे कई अनुमानी एल्गोरिदम प्रस्तुत करते हैं जो अधिक से अधिक समाधान ढूंढते हैं <math>2 \mathrm{OPT}</math> डिब्बे.
* क्राउज़, शेन और श्वेटमैन<ref>{{Cite journal|last1=Krause|first1=K. L.|last2=Shen|first2=V. Y.|last3=Schwetman|first3=H. D.|date=1975-10-01|title=मल्टीप्रोग्रामिंग कंप्यूटर सिस्टम के एक मॉडल के लिए कई कार्य-शेड्यूलिंग एल्गोरिदम का विश्लेषण|url=https://doi.org/10.1145/321906.321917|journal=Journal of the ACM|volume=22|issue=4|pages=522–550|doi=10.1145/321906.321917|s2cid=10214857|issn=0004-5411}}</ref> इस समस्या को [[इष्टतम कार्य शेड्यूलिंग]] के एक प्रकार के रूप में प्रस्तुत करें: एक कंप्यूटर में कुछ k प्रोसेसर होते हैं। कुछ n नौकरियाँ ऐसी हैं जिनमें इकाई समय लगता है (1), लेकिन उनकी मेमोरी आवश्यकताएँ भिन्न होती हैं। प्रत्येक समय-इकाई को एक ही बिन माना जाता है। लक्ष्य यथासंभव कम बिन (=समय इकाइयाँ) का उपयोग करना है, जबकि यह सुनिश्चित करना है कि प्रत्येक बिन में, अधिकतम k नौकरियाँ चलती हैं। वे कई अनुमानी एल्गोरिदम प्रस्तुत करते हैं जो अधिक से अधिक समाधान ढूंढते हैं <math>2 \mathrm{OPT}</math> बिन.
* केलरर और पफ़रस्की<ref>{{Cite journal|last1=Kellerer|first1=H.|last2=Pferschy|first2=U.|date=1999-01-01|title=Cardinality constrained bin‐packing problems|url=https://doi.org/10.1023/A:1018947117526|journal=Annals of Operations Research|language=en|volume=92|pages=335–348|doi=10.1023/A:1018947117526|s2cid=28963291|issn=1572-9338}}</ref> रन-टाइम के साथ एक एल्गोरिदम प्रस्तुत करें <math>O(n^2 \log{n})</math>, वह अधिक से अधिक समाधान ढूंढ लेता है <math>\left\lceil\frac{3}{2}\mathrm{OPT}\right\rceil</math> डिब्बे. उनका एल्गोरिदम ओपीटी के लिए बाइनरी खोज करता है। प्रत्येक खोजे गए मान m के लिए, यह आइटम को 3m/2 डिब्बे में पैक करने का प्रयास करता है।
* केलरर और पफ़रस्की<ref>{{Cite journal|last1=Kellerer|first1=H.|last2=Pferschy|first2=U.|date=1999-01-01|title=Cardinality constrained bin‐packing problems|url=https://doi.org/10.1023/A:1018947117526|journal=Annals of Operations Research|language=en|volume=92|pages=335–348|doi=10.1023/A:1018947117526|s2cid=28963291|issn=1572-9338}}</ref> रन-टाइम के साथ एक एल्गोरिदम प्रस्तुत करें <math>O(n^2 \log{n})</math>, वह अधिक से अधिक समाधान ढूंढ लेता है <math>\left\lceil\frac{3}{2}\mathrm{OPT}\right\rceil</math> बिन. उनका एल्गोरिदम ओपीटी के लिए बाइनरी खोज करता है। प्रत्येक खोजे गए मान m के लिए, यह आइटम को 3m/2 बिन में पैक करने का प्रयास करता है।


== गैर-योगात्मक कार्य ==
== गैर-योगात्मक कार्य ==
Line 273: Line 272:


==संबंधित समस्याएँ==
==संबंधित समस्याएँ==
बिन पैकिंग समस्या में, डिब्बे का आकार निश्चित होता है और उनकी संख्या बढ़ाई जा सकती है (लेकिन यथासंभव छोटी होनी चाहिए)।
बिन पैकिंग समस्या में, बिन का आकार निश्चित होता है और उनकी संख्या बढ़ाई जा सकती है (लेकिन यथासंभव छोटी होनी चाहिए)।


इसके विपरीत, [[मल्टीवे संख्या विभाजन]]' समस्या में, डिब्बे की संख्या निश्चित होती है और उनका आकार बढ़ाया जा सकता है। उद्देश्य एक ऐसा विभाजन ढूंढना है जिसमें बिन का आकार लगभग बराबर हो (मल्टीप्रोसेसर शेड्यूलिंग|'मल्टीप्रोसेसर शेड्यूलिंग' समस्या या 'न्यूनतम [[मेकस्पैन]]' समस्या नामक संस्करण में, लक्ष्य विशेष रूप से सबसे बड़े बिन के आकार को कम करना है)।
इसके विपरीत, [[मल्टीवे संख्या विभाजन]]' समस्या में, बिन की संख्या निश्चित होती है और उनका आकार बढ़ाया जा सकता है। उद्देश्य एक ऐसा विभाजन ढूंढना है जिसमें बिन का आकार लगभग बराबर हो (मल्टीप्रोसेसर शेड्यूलिंग|'मल्टीप्रोसेसर शेड्यूलिंग' समस्या या 'न्यूनतम [[मेकस्पैन]]' समस्या नामक संस्करण में, लक्ष्य विशेष रूप से सबसे बड़े बिन के आकार को कम करना है)।


'उलटा बिन पैकिंग' समस्या में,<ref>{{Cite journal|last1=Chung|first1=Yerim|last2=Park|first2=Myoung-Ju|date=2015-01-01|title=व्युत्क्रम बिन-पैकिंग समस्याओं पर नोट्स|url=http://www.sciencedirect.com/science/article/pii/S002001901400180X|journal=Information Processing Letters|language=en|volume=115|issue=1|pages=60–68|doi=10.1016/j.ipl.2014.09.005|issn=0020-0190}}</ref> डिब्बे की संख्या और उनके आकार दोनों निश्चित हैं, लेकिन वस्तुओं का आकार बदला जा सकता है। इसका उद्देश्य आइटम आकार वेक्टर में न्यूनतम गड़बड़ी प्राप्त करना है ताकि सभी वस्तुओं को निर्धारित संख्या में डिब्बे में पैक किया जा सके।
'उलटा बिन पैकिंग' समस्या में,<ref>{{Cite journal|last1=Chung|first1=Yerim|last2=Park|first2=Myoung-Ju|date=2015-01-01|title=व्युत्क्रम बिन-पैकिंग समस्याओं पर नोट्स|url=http://www.sciencedirect.com/science/article/pii/S002001901400180X|journal=Information Processing Letters|language=en|volume=115|issue=1|pages=60–68|doi=10.1016/j.ipl.2014.09.005|issn=0020-0190}}</ref> बिन की संख्या और उनके आकार दोनों निश्चित हैं, लेकिन वस्तुओं का आकार बदला जा सकता है। इसका उद्देश्य आइटम आकार वेक्टर में न्यूनतम गड़बड़ी प्राप्त करना है ताकि सभी वस्तुओं को निर्धारित संख्या में बिन में पैक किया जा सके।


अधिकतम संसाधन बिन पैकिंग समस्या में,<ref name=":02">{{Cite journal|last1=Boyar|first1=Joan|author1-link=Joan Boyar|last2=Epstein|first2=Leah|last3=Favrholdt|first3=Lene M.|last4=Kohrt|first4=Jens S.|last5=Larsen|first5=Kim S.|last6=Pedersen|first6=Morten M.|last7=Wøhlk|first7=Sanne|date=2006-10-11|title=अधिकतम संसाधन बिन पैकिंग समस्या|url=http://www.sciencedirect.com/science/article/pii/S0304397506003483|journal=Theoretical Computer Science|language=en|volume=362|issue=1|pages=127–139|doi=10.1016/j.tcs.2006.06.001|issn=0304-3975}}</ref> लक्ष्य उपयोग किए गए डिब्बे की संख्या को अधिकतम करना है, ताकि, डिब्बे के कुछ ऑर्डर के लिए, बाद के डिब्बे में कोई भी वस्तु पहले वाले डिब्बे में फिट न हो। दोहरी समस्या में, डिब्बे की संख्या तय की जाती है, और लक्ष्य डिब्बे में रखी गई वस्तुओं की कुल संख्या या कुल आकार को कम करना है, ताकि कोई भी शेष वस्तु बिना भरे डिब्बे में फिट न हो।
अधिकतम संसाधन बिन पैकिंग समस्या में,<ref name=":02">{{Cite journal|last1=Boyar|first1=Joan|author1-link=Joan Boyar|last2=Epstein|first2=Leah|last3=Favrholdt|first3=Lene M.|last4=Kohrt|first4=Jens S.|last5=Larsen|first5=Kim S.|last6=Pedersen|first6=Morten M.|last7=Wøhlk|first7=Sanne|date=2006-10-11|title=अधिकतम संसाधन बिन पैकिंग समस्या|url=http://www.sciencedirect.com/science/article/pii/S0304397506003483|journal=Theoretical Computer Science|language=en|volume=362|issue=1|pages=127–139|doi=10.1016/j.tcs.2006.06.001|issn=0304-3975}}</ref> लक्ष्य उपयोग किए गए बिन की संख्या को अधिकतम करना है, ताकि, बिन के कुछ ऑर्डर के लिए, बाद के बिन में कोई भी वस्तु पहले वाले बिन में फिट न हो। दोहरी समस्या में, बिन की संख्या तय की जाती है, और लक्ष्य बिन में रखी गई वस्तुओं की कुल संख्या या कुल आकार को कम करना है, ताकि कोई भी शेष वस्तु बिना भरे बिन में फिट न हो।


'बिन कवरिंग समस्या' में, बिन का आकार नीचे से सीमित है: लक्ष्य उपयोग किए गए डिब्बे की संख्या को अधिकतम करना है ताकि प्रत्येक बिन में कुल आकार कम से कम एक दी गई सीमा हो।
'बिन कवरिंग समस्या' में, बिन का आकार नीचे से सीमित है: लक्ष्य उपयोग किए गए बिन की संख्या को अधिकतम करना है ताकि प्रत्येक बिन में कुल आकार कम से कम एक दी गई सीमा हो।


'उचित अविभाज्य कार्य आवंटन' समस्या ('निष्पक्ष वस्तु आवंटन' का एक प्रकार) में, आइटम कार्यों का प्रतिनिधित्व करते हैं, और अलग-अलग लोग होते हैं जिनमें से प्रत्येक प्रत्येक कार्य के लिए एक अलग कठिनाई-मूल्य का श्रेय देता है। लक्ष्य प्रत्येक व्यक्ति को उसके कुल कठिनाई-मूल्य की ऊपरी सीमा के साथ कार्यों का एक सेट आवंटित करना है (इस प्रकार, प्रत्येक व्यक्ति एक बिन से मेल खाता है)। इस समस्या में भी बिन पैकिंग से लेकर कई तकनीकों का उपयोग किया जाता है।<ref>{{cite arXiv|eprint=1907.04505|class=cs.GT|first1=Xin|last1=Huang|first2=Pinyan|last2=Lu|title=कामकाज के अधिकतम शेयर आवंटन का अनुमान लगाने के लिए एक एल्गोरिदमिक ढांचा|date=2020-11-10}}</ref>
'उचित अविभाज्य कार्य आवंटन' समस्या ('निष्पक्ष वस्तु आवंटन' का एक प्रकार) में, आइटम कार्यों का प्रतिनिधित्व करते हैं, और अलग-अलग लोग होते हैं जिनमें से प्रत्येक प्रत्येक कार्य के लिए एक अलग कठिनाई-मूल्य का श्रेय देता है। लक्ष्य प्रत्येक व्यक्ति को उसके कुल कठिनाई-मूल्य की ऊपरी सीमा के साथ कार्यों का एक सेट आवंटित करना है (इस प्रकार, प्रत्येक व्यक्ति एक बिन से मेल खाता है)। इस समस्या में भी बिन पैकिंग से लेकर कई तकनीकों का उपयोग किया जाता है।<ref>{{cite arXiv|eprint=1907.04505|class=cs.GT|first1=Xin|last1=Huang|first2=Pinyan|last2=Lu|title=कामकाज के अधिकतम शेयर आवंटन का अनुमान लगाने के लिए एक एल्गोरिदमिक ढांचा|date=2020-11-10}}</ref>
[[गिलोटिन काटना]] की समस्या में, वस्तुएं और डिब्बे दोनों एक-आयामी संख्याओं के बजाय दो-आयामी आयताकार होते हैं, और वस्तुओं को एंड-टू-एंड कट्स का उपयोग करके बिन से काटा जाना होता है।
[[गिलोटिन काटना]] की समस्या में, वस्तुएं और बिन दोनों एक-आयामी संख्याओं के बजाय दो-आयामी आयताकार होते हैं, और वस्तुओं को एंड-टू-एंड कट्स का उपयोग करके बिन से काटा जाना होता है।


स्वार्थी बिन पैकिंग समस्या में, प्रत्येक आइटम एक खिलाड़ी है जो इसकी लागत को कम करना चाहता है।<ref>{{Cite journal|last1=Ma|first1=Ruixin|last2=Dósa|first2=György|last3=Han|first3=Xin|last4=Ting|first4=Hing-Fung|last5=Ye|first5=Deshi|last6=Zhang|first6=Yong|date=2013-08-01|title=स्वार्थी बिन पैकिंग समस्या पर एक नोट|url=https://doi.org/10.1007/s10898-012-9856-9|journal=Journal of Global Optimization|volume=56|issue=4|pages=1457–1462|doi=10.1007/s10898-012-9856-9|issn=0925-5001|s2cid=3082040}}</ref>
स्वार्थी बिन पैकिंग समस्या में, प्रत्येक आइटम एक खिलाड़ी है जो इसकी लागत को कम करना चाहता है।<ref>{{Cite journal|last1=Ma|first1=Ruixin|last2=Dósa|first2=György|last3=Han|first3=Xin|last4=Ting|first4=Hing-Fung|last5=Ye|first5=Deshi|last6=Zhang|first6=Yong|date=2013-08-01|title=स्वार्थी बिन पैकिंग समस्या पर एक नोट|url=https://doi.org/10.1007/s10898-012-9856-9|journal=Journal of Global Optimization|volume=56|issue=4|pages=1457–1462|doi=10.1007/s10898-012-9856-9|issn=0925-5001|s2cid=3082040}}</ref>
बिन पैकिंग का एक प्रकार भी है जिसमें जिस लागत को कम किया जाना चाहिए वह डिब्बे की संख्या नहीं है, बल्कि प्रत्येक बिन में वस्तुओं की संख्या का एक निश्चित अवतल कार्य है।<ref name="pubsonline.informs.org"/>
बिन पैकिंग का एक प्रकार भी है जिसमें जिस लागत को कम किया जाना चाहिए वह बिन की संख्या नहीं है, बल्कि प्रत्येक बिन में वस्तुओं की संख्या का एक निश्चित अवतल कार्य है।<ref name="pubsonline.informs.org"/>


अन्य प्रकार द्वि-आयामी बिन पैकिंग हैं,<ref>Lodi A., Martello S., Monaci, M., Vigo, D. (2010) "Two-Dimensional Bin Packing Problems". In V.Th. Paschos (Ed.), ''Paradigms of Combinatorial Optimization'', Wiley/ISTE, pp.&nbsp;107–129</ref> त्रि-आयामी बिन पैकिंग,<ref>[https://www.researchgate.net/profile/Leon_Kanavathy/publication/228974015_Optimizing_Three-Dimensional_Bin_Packing_Through_Simulation/links/5890499d92851c9794c62fd0/Optimizing-Three-Dimensional-Bin-Packing-Through-Simulation.pdf Optimizing Three-Dimensional Bin Packing Through Simulation]</ref> डिलिवरी के साथ बिन पैकिंग,<ref>Benkő A., Dósa G., Tuza Z. (2010) "[https://www.researchgate.net/profile/Attila_Benko2/publication/221608540_Bin_PackingCovering_with_Delivery_solved_with_the_evolution_of_algorithms/links/5570a36108aee701d61c2e05.pdf Bin Packing/Covering with Delivery, Solved with the Evolution of Algorithms]," ''Proceedings 2010 IEEE 5th International Conference on Bio-Inspired Computing: Theories and Applications, BIC-TA 2010'', art. no. 5645312, pp.&nbsp;298–302.</ref>
अन्य प्रकार द्वि-आयामी बिन पैकिंग हैं,<ref>Lodi A., Martello S., Monaci, M., Vigo, D. (2010) "Two-Dimensional Bin Packing Problems". In V.Th. Paschos (Ed.), ''Paradigms of Combinatorial Optimization'', Wiley/ISTE, pp.&nbsp;107–129</ref> त्रि-आयामी बिन पैकिंग,<ref>[https://www.researchgate.net/profile/Leon_Kanavathy/publication/228974015_Optimizing_Three-Dimensional_Bin_Packing_Through_Simulation/links/5890499d92851c9794c62fd0/Optimizing-Three-Dimensional-Bin-Packing-Through-Simulation.pdf Optimizing Three-Dimensional Bin Packing Through Simulation]</ref> डिलिवरी के साथ बिन पैकिंग,<ref>Benkő A., Dósa G., Tuza Z. (2010) "[https://www.researchgate.net/profile/Attila_Benko2/publication/221608540_Bin_PackingCovering_with_Delivery_solved_with_the_evolution_of_algorithms/links/5570a36108aee701d61c2e05.pdf Bin Packing/Covering with Delivery, Solved with the Evolution of Algorithms]," ''Proceedings 2010 IEEE 5th International Conference on Bio-Inspired Computing: Theories and Applications, BIC-TA 2010'', art. no. 5645312, pp.&nbsp;298–302.</ref>
Line 296: Line 295:


== कार्यान्वयन ==
== कार्यान्वयन ==
* ऑनलाइन: [http://www.binpacking.4fan.cz/ 1डी और 2डी बिन पैकिंग के लिए अनुमानों का दृश्य]
* ऑनलाइन: [http://www.binpacking.4fan.cz/ 1डी और 2D बिन पैकिंग के लिए अनुमानों का दृश्य]
*पायथन: [https://github.com/erelsgl/prtpy prtpy पैकेज] में विभिन्न संख्या-विभाजन, बिन-पैकिंग और बिन-कवरिंग एल्गोरिदम के लिए कोड शामिल हैं। [https://github.com/benmaier/binpacking बिनपैकिंग पैकेज] में दो विशिष्ट बिन पैकिंग समस्याओं को हल करने के लिए लालची एल्गोरिदम शामिल हैं।<ref>{{Cite web|last=Vaccaro|first=Alessio|date=2020-11-13|title=🧱 4 Steps to Easily Allocate Resources with Python & Bin Packing|url=https://towardsdatascience.com/4-steps-to-easily-allocate-resources-with-python-bin-packing-5933fb8e53a9|access-date=2021-03-21|website=Medium|language=en}}</ref>
*पायथन: [https://github.com/erelsgl/prtpy prtpy पैकेज] में विभिन्न संख्या-विभाजन, बिन-पैकिंग और बिन-कवरिंग एल्गोरिदम के लिए कोड शामिल हैं। [https://github.com/benmaier/binpacking बिनपैकिंग पैकेज] में दो विशिष्ट बिन पैकिंग समस्याओं को हल करने के लिए लालची एल्गोरिदम शामिल हैं।<ref>{{Cite web|last=Vaccaro|first=Alessio|date=2020-11-13|title=🧱 4 Steps to Easily Allocate Resources with Python & Bin Packing|url=https://towardsdatascience.com/4-steps-to-easily-allocate-resources-with-python-bin-packing-5933fb8e53a9|access-date=2021-03-21|website=Medium|language=en}}</ref>
*सी++: [https://github.com/Pseudomanifold/bin-packing बिन-पैकिंग पैकेज] में विभिन्न लालची एल्गोरिदम के साथ-साथ परीक्षण डेटा भी शामिल है। [https://github.com/google/or-tools OR-tools package] में C++ में बिन पैकिंग एल्गोरिदम, Python, C# और Java में रैपर्स शामिल हैं।
*सी++: [https://github.com/Pseudomanifold/bin-packing बिन-पैकिंग पैकेज] में विभिन्न लालची एल्गोरिदम के साथ-साथ परीक्षण डेटा भी शामिल है। [https://github.com/google/or-tools OR-tools package] में C++ में बिन पैकिंग एल्गोरिदम, Python, C# और Java में रैपर्स शामिल हैं।

Revision as of 00:22, 4 August 2023

बिन पैकिंग समस्या[1][2][3][4] एक अनुकूलन समस्या है, जिसमें विभिन्न आकार की वस्तुओं को सीमित संख्या में बिन में पैक किया जाना चाहिए या प्रत्येक निश्चित क्षमता के कंटेनर, इस तरह से कि उपयोग किए गए बिन की संख्या कम से कम हो। समस्या जैसे कंटेनर भरना, वजन क्षमता की कमी वाले ट्रकों को लोड करना, मीडिया में फ़ाइल बैकअप बनाना और एफपीजीए अर्धचालक चिप डिजाइन में प्रौद्योगिकी मैपिंग के कई अनुप्रयोग हैं।

कम्प्यूटेशनल रूप से, समस्या एनपी-हार्ड है, और संबंधित निर्णय समस्या - यह तय करना कि क्या वस्तुएं निर्दिष्ट संख्या में बिन में फिट हो सकती हैं -एनपी-कम्पलीट है। इसकी सबसे खराब स्थिति के बावजूद, समस्या के बहुत बड़े उदाहरणों के लिए इष्टतम समाधान परिष्कृत एल्गोरिदम के साथ उत्पादित किए जा सकते हैं। इसके अतिरिक्त, अनेक सन्निकटन एल्गोरिदम मौजूद हैं। उदाहरण के लिए, पहला फ़िट एल्गोरिथ्म एक तेज़ लेकिन अक्सर गैर-इष्टतम समाधान प्रदान करता है, जिसमें प्रत्येक आइटम को पहले बिन में रखना शामिल होता है जिसमें वह फिट होगा। इसके लिए Θ(n log n) समय की आवश्यकता होती है, जहां n पैक किए जाने वाले आइटम की संख्या है। वस्तुओं की सूची को पहले घटते क्रम में क्रमबद्ध करके एल्गोरिदम को और अधिक प्रभावी बनाया जा सकता है (कभी-कभी इसे प्रथम-फिट घटते एल्गोरिदम के रूप में जाना जाता है), हालाँकि यह अभी भी एक इष्टतम समाधान की गारंटी नहीं देता है और लंबी सूचियों के लिए एल्गोरिदम के चलने के समय में वृद्धि हो सकती है। हालाँकि, यह ज्ञात है कि वस्तुओं का कम से कम एक ऑर्डर हमेशा मौजूद रहता है जो फर्स्ट-फ़िट को एक इष्टतम समाधान तैयार करने की अनुमति देता है।[5]

इस समस्या के कई रूप हैं, जैसे 2D पैकिंग, रैखिक पैकिंग, वजन के हिसाब से पैकिंग, लागत के हिसाब से पैकिंग, इत्यादि। बिन पैकिंग की समस्या को स्टॉक में कटौती की समस्या के एक विशेष मामले के रूप में भी देखा जा सकता है। जब बिन की संख्या 1 तक सीमित होती है और प्रत्येक आइटम की मात्रा और मूल्य दोनों की विशेषता होती है, तो बिन में फिट होने वाली वस्तुओं के मूल्य को अधिकतम करने की समस्या को नैपसैक समस्या के रूप में जाना जाता है।

बिन पैकिंग का एक प्रकार जो व्यवहार में आता है वह तब होता है जब वस्तुओं को बिन में पैक करने पर स्थान साझा किया जा सकता है। विशेष रूप से, वस्तुओं का एक सेट अपने अलग-अलग आकारों के योग की तुलना में एक साथ पैक किए जाने पर कम जगह घेर सकता है। इस प्रकार को वीएम पैकिंग के रूप में जाना जाता है[6] क्योंकि जब वर्चुअल मशीन (VM) को सर्वर में पैक किया जाता है, तो वीएम द्वारा साझा किए गए पृष्ठों के कारण उनकी कुल मेमोरी आवश्यकता कम हो सकती है, जिन्हें केवल एक बार संग्रहीत करने की आवश्यकता होती है। यदि वस्तुएँ मनमाने ढंग से स्थान साझा कर सकती हैं, तो बिन पैकिंग की समस्या का अनुमान लगाना भी कठिन है। हालाँकि, यदि स्पेस शेयरिंग एक पदानुक्रम में फिट होती है, जैसा कि वर्चुअल मशीनों में मेमोरी शेयरिंग के मामले में है, तो बिन पैकिंग समस्या का कुशलतापूर्वक अनुमान लगाया जा सकता है।

व्यवहार में रुचि रखने वाली बिन पैकिंग का एक अन्य प्रकार तथाकथित ऑनलाइन बिन पैकिंग है। यहां अलग-अलग मात्रा की वस्तुओं को क्रमिक रूप से आना चाहिए, और निर्णय निर्माता को यह तय करना होगा कि वर्तमान में देखी गई वस्तु को चुनना और पैक करना है या फिर उसे पास कर देना है। प्रत्येक निर्णय बिना किसी स्मरण के होता है। इसके विपरीत, ऑफ़लाइन बिन पैकिंग अतिरिक्त आइटम आने पर बेहतर पैकिंग प्राप्त करने की आशा में वस्तुओं को पुनर्व्यवस्थित करने की अनुमति देती है। बेशक, पुनर्व्यवस्थित की जाने वाली वस्तुओं को रखने के लिए अतिरिक्त भंडारण की आवश्यकता होती है।

औपचारिक कथन

कंप्यूटर और अट्रैक्टिविटी में[7]: 226  गैरी और जॉनसन ने संदर्भ [एसआर1] के तहत बिन पैकिंग समस्या को सूचीबद्ध किया है। वे इसके निर्णय प्रकार को इस प्रकार परिभाषित करते हैं।

उदाहरण: परिमित समुच्चय वस्तुओं का, एक आकार प्रत्येक के लिए , एक धनात्मक पूर्णांक बिन क्षमता , और एक सकारात्मक पूर्णांक .

प्रश्न: क्या इसका कोई विभाजन है? असंयुक्त सेटों में इस प्रकार कि प्रत्येक में आइटम के आकार का योग है या कम?

ध्यान दें कि साहित्य में अक्सर समकक्ष संकेतन का उपयोग किया जाता है, जहां और प्रत्येक के लिए . इसके अलावा, अनुसंधान ज्यादातर अनुकूलन संस्करण में रुचि रखता है, जो न्यूनतम संभव मूल्य मांगता है . कोई समाधान इष्टतम होता है यदि उसमें न्यूनतम हो . वें>-वस्तुओं के एक सेट के लिए इष्टतम समाधान के लिए मूल्य द्वारा निरूपित किया जाता है या केवल यदि मदों का सेट संदर्भ से स्पष्ट है।

समस्या का एक संभावित पूर्णांक प्रोग्रामिंग सूत्रीकरण है:

minimize
subject to

कहाँ अगर वहां था प्रयोग किया जाता है और यदि आइटम बिन में डाल दिया जाता है .[8]


बिन पैकिंग की कठोरता

बिन पैकिंग समस्या सशक्त एनपी-पूर्णता|दृढ़तापूर्वक एनपी-पूर्णता है। इसे बिन पैकिंग में एनपी-कम्पलीट 3-विभाजन समस्या को कम करके सिद्ध किया जा सकता है।[7]

इसके अलावा, पूर्ण सन्निकटन अनुपात से छोटा कोई सन्निकटन एल्गोरिदम नहीं हो सकता है जब तक . इसे विभाजन समस्या को कम करके सिद्ध किया जा सकता है:[9] विभाजन का एक उदाहरण दिया गया है जहां सभी इनपुट संख्याओं का योग है , बिन-पैकिंग का एक उदाहरण बनाएं जिसमें बिन का आकार हो T. यदि इनपुट का समान विभाजन मौजूद है, तो इष्टतम पैकिंग के लिए 2 बिन की आवश्यकता होती है; इसलिए, प्रत्येक एल्गोरिदम का सन्निकटन अनुपात इससे छोटा होता है 3/2 को 3 बिन से कम लौटाना होगा, जो कि 2 बिन होने चाहिए। इसके विपरीत, यदि इनपुट का कोई समान विभाजन नहीं है, तो इष्टतम पैकिंग के लिए कम से कम 3 बिन की आवश्यकता होती है।

दूसरी ओर, बिन पैकिंग किसी भी निश्चित संख्या में बिन के लिए छद्म-बहुपद समय में हल करने योग्य है K, और किसी भी निश्चित बिन क्षमता के लिए बहुपद समय में हल करने योग्य B.[7]


बिन पैकिंग के लिए अनुमान एल्गोरिदम

सन्निकटन एल्गोरिदम के प्रदर्शन को मापने के लिए साहित्य में दो सन्निकटन अनुपातों पर विचार किया गया है। वस्तुओं की दी गई सूची के लिए जो नंबर एल्गोरिथ्म के दौरान उपयोग किए गए बिन की संख्या को दर्शाता है सूची में लागू किया जाता है , जबकि इस सूची के लिए इष्टतम संख्या को दर्शाता है। सबसे खराब स्थिति वाला प्रदर्शन अनुपात एक एल्गोरिदम के लिए परिभाषित किया जाता है

दूसरी ओर, स्पर्शोन्मुख सबसे खराब स्थिति का अनुपात परिभाषित किया जाता है

समान रूप से, सबसे छोटी संख्या है जैसे कि कुछ स्थिरांक K मौजूद है, जैसे कि सभी सूचियों के लिए L:'[4]: .

इसके अतिरिक्त, कोई भी सूचियों को उन तक सीमित कर सकता है जिनके लिए सभी वस्तुओं का आकार अधिकतम हो . ऐसी सूचियों के लिए, सीमित आकार के प्रदर्शन अनुपात को इस प्रकार दर्शाया गया है और .

बिन पैकिंग के लिए अनुमान एल्गोरिदम को दो श्रेणियों में वर्गीकृत किया जा सकता है:

  1. ऑनलाइन अनुमान, जो किसी दिए गए क्रम में वस्तुओं पर विचार करते हैं और उन्हें एक-एक करके बिन के अंदर रखते हैं। ये अनुमान इस समस्या के ऑनलाइन संस्करण पर भी लागू होते हैं।
  2. ऑफ़लाइन आंकड़े, जो दी गई वस्तुओं की सूची को संशोधित करते हैं, उदा. वस्तुओं को आकार के अनुसार क्रमबद्ध करके। ये एल्गोरिदम अब इस समस्या के ऑनलाइन संस्करण पर लागू नहीं हैं। हालाँकि, उनकी छोटी समय-जटिलता के लाभ को बनाए रखते हुए उनके पास बेहतर सन्निकटन गारंटी है। ऑफ़लाइन अनुमानों की एक उप-श्रेणी स्पर्शोन्मुख सन्निकटन योजनाएँ हैं। इन एल्गोरिदम में फॉर्म की अनुमानित गारंटी होती है कुछ स्थिरांक के लिए जिस पर निर्भर हो सकता है . मनमाने ढंग से बड़े के लिए ये एल्गोरिदम मनमाने ढंग से करीब आ जाते हैं . हालाँकि, यह अनुमानी दृष्टिकोण की तुलना में (काफी) बढ़ी हुई समय जटिलता की कीमत पर आता है।

ऑनलाइन अनुमान

बिन पैकिंग समस्या के ऑनलाइन एल्गोरिदम संस्करण में, आइटम एक के बाद एक आते हैं और (अपरिवर्तनीय) निर्णय यह जानने से पहले किया जाता है कि किसी आइटम को कहां रखा जाए, अगला आइटम जानने से पहले या यहां तक ​​​​कि कोई दूसरा आइटम होगा या नहीं। बिन-पैकिंग के लिए ऑफ़लाइन और ऑनलाइन अनुमानों के एक विविध सेट का अध्ययन डेविड एस. जॉनसन ने अपनी पीएचडी में किया है। थीसिस.[10]


एकल-श्रेणी एल्गोरिदम

ऐसे कई सरल एल्गोरिदम हैं जो निम्नलिखित सामान्य योजना का उपयोग करते हैं:

  • इनपुट सूची में प्रत्येक आइटम के लिए:
    1. यदि वस्तु वर्तमान में खुले बिन में फिट होती है, तो उसे इनमें से किसी एक बिन में डाल दें;
    2. अन्यथा, एक नया बिन खोलें और उसमें नई वस्तु डालें।

एल्गोरिदम उस मानदंड में भिन्न होते हैं जिसके द्वारा वे चरण 1 में नए आइटम के लिए खुले बिन का चयन करते हैं (अधिक जानकारी के लिए लिंक किए गए पेज देखें):

  • नेक्स्ट-फिट बिन पैकिंग (एनएफ) हमेशा एक खुला बिन रखता है। जब नई वस्तु इसमें फिट नहीं होती है, तो यह वर्तमान बिन को बंद कर देता है और एक नया बिन खोलता है। इसका लाभ यह है कि यह एक बाउंडेड-स्पेस एल्गोरिदम है क्योंकि इसे मेमोरी में केवल एक खुला बिन रखने की आवश्यकता होती है। इसका नुकसान यह है कि इसका स्पर्शोन्मुख सन्निकटन अनुपात 2 है। विशेष रूप से, , और प्रत्येक के लिए वहाँ एक सूची मौजूद है L ऐसा है कि और .[10]आइटम के आकार के आधार पर इसके स्पर्शोन्मुख सन्निकटन अनुपात में कुछ हद तक सुधार किया जा सकता है: सभी के लिए और सभी के लिए . प्रत्येक एल्गोरिदम के लिए A यह एक AnyFit-एल्गोरिदम है जो इसे धारण करता है .
  • नेक्स्ट-फिट बिन पैकिंग|नेक्स्ट-के-फिट (एनकेएफ) नेक्स्ट-फिट का एक प्रकार है, लेकिन एल्गोरिदम केवल एक बिन को खुला रखने के बजाय आखिरी को रखता है। k बिन खुलते हैं और पहला बिन चुनते हैं जिसमें वस्तु फिट होती है। इसलिए, इसे k-बाउंडेड स्पेस एल्गोरिथम कहा जाता है।[11] के लिए एनकेएफ ऐसे परिणाम देता है जो एनएफ के परिणामों की तुलना में बेहतर होते हैं, हालांकि, बढ़ रहे हैं k से बड़े स्थिर मानों के लिए 2 अपने सबसे खराब स्थिति वाले व्यवहार में एल्गोरिदम को और बेहतर नहीं बनाता है। यदि एल्गोरिदम A एक ऑलमोस्टएनीफिट-एल्गोरिदम है और तब .[10]* फर्स्ट-फिट बिन पैकिंग|फर्स्ट-फिट (एफएफ) सभी बिन को उसी क्रम में खुला रखता है, जिस क्रम में वे खोले गए थे। यह प्रत्येक नई वस्तु को पहले बिन में रखने का प्रयास करता है जिसमें वह फिट होती है। इसका सन्निकटन अनुपात है , और इनपुट सूचियों का एक परिवार है L जिसके लिए इस सीमा से मेल खाता है।[12]
  • बेस्ट-फिट बिन पैकिंग|बेस्ट-फिट (बीएफ), भी, सभी बिन खुले रखता है, लेकिन प्रत्येक नए आइटम को अधिकतम लोड के साथ बिन में रखने का प्रयास करता है जिसमें वह फिट बैठता है। इसका सन्निकटन अनुपात FF के समान है, अर्थात: , और इनपुट सूचियों का एक परिवार है L जिसके लिए इस सीमा से मेल खाता है.[13]
  • वर्स्ट-फिट (डब्ल्यूएफ) प्रत्येक नई वस्तु को न्यूनतम लोड के साथ बिन में रखने का प्रयास करता है। यह नेक्स्ट-फ़िट जितना बुरा व्यवहार कर सकता है, और उसके लिए सबसे खराब स्थिति वाली सूची में ऐसा करेगा . इसके अलावा, यह ऐसा मानता है . चूँकि WF एक AnyFit-एल्गोरिदम है, इसलिए ऐसा AnyFit-एल्गोरिदम मौजूद है .[10]* लगभग सबसे खराब-फिट (एडब्ल्यूएफ) प्रत्येक नई वस्तु को दूसरे सबसे खाली खुले कूड़ेदान (या यदि ऐसे दो बिन हैं तो सबसे खाली बिन) के अंदर रखने का प्रयास करता है। यदि यह फिट नहीं होता है, तो यह सबसे खाली प्रयास करता है। इसका स्पर्शोन्मुख सबसे खराब स्थिति का अनुपात है .[10]इन परिणामों को सामान्यीकृत करने के लिए, जॉनसन ने ऑनलाइन हेयुरिस्टिक्स के दो वर्ग पेश किए जिन्हें एनी-फिट एल्गोरिदम और ऑलमोस्ट-एनी-फिट एल्गोरिदम कहा जाता है:'[4]: 470 
  • AnyFit (AF) एल्गोरिथम में, यदि वर्तमान गैर-रिक्त बिन B हैं1,...,बीj, तो वर्तमान वस्तु को बी में पैक नहीं किया जाएगाj+1 जब तक कि यह बी में से किसी में फिट न हो1,...,बीj. एफएफ, डब्ल्यूएफ, बीएफ और एडब्ल्यूएफ एल्गोरिदम इस शर्त को पूरा करते हैं। जॉनसन ने किसी भी AnyFit एल्गोरिथम A और किसी के लिए भी यह साबित कर दिया :
    .
  • ऑलमोस्टएनीफिट (एएएफ) एल्गोरिदम में, यदि वर्तमान गैर-रिक्त बिन बी हैं1,...,बीj, और इन बिन में से, बीkसबसे छोटे भार वाला अद्वितीय बिन है, तो वर्तमान वस्तु को बी में पैक नहीं किया जाएगाk, जब तक कि वह अपनी बाईं ओर के किसी भी बिन में फिट न हो जाए। एफएफ, बीएफ और एडब्ल्यूएफ एल्गोरिदम इस शर्त को पूरा करते हैं, लेकिन डब्ल्यूएफ नहीं करता है। जॉनसन ने यह साबित किया, किसी भी एएएफ एल्गोरिदम ए और किसी के लिए α:
    विशेष रूप से: .

परिष्कृत एल्गोरिदम

उन अनुमानों के साथ बेहतर सन्निकटन अनुपात संभव है जो AnyFit नहीं हैं। ये अनुमान आम तौर पर विभिन्न आकार श्रेणियों की वस्तुओं के लिए समर्पित खुले बिन के कई वर्ग रखते हैं (अधिक जानकारी के लिए लिंक किए गए पेज देखें):

  • परिष्कृत प्रथम-फिट बिन पैकिंग |रिफाइंड-फर्स्ट-फिट बिन पैकिंग (आरएफएफ) आइटम के आकार को चार श्रेणियों में विभाजित करता है: , , , और . इसी प्रकार, बिन को चार वर्गों में वर्गीकृत किया गया है। अगला आइटम सबसे पहले इसके संबंधित वर्ग को सौंपा गया है। उस वर्ग के अंदर, इसे फर्स्ट-फिट बिन पैकिंग|फर्स्ट-फिट का उपयोग करके एक बिन को सौंपा गया है। ध्यान दें कि यह एल्गोरिदम कोई भी-फिट एल्गोरिदम नहीं है क्योंकि यह इस तथ्य के बावजूद एक नया बिन खोल सकता है कि वर्तमान आइटम एक खुले बिन के अंदर फिट बैठता है। यह एल्गोरिदम सबसे पहले एंड्रयू ची-चिह याओ द्वारा प्रस्तुत किया गया था,[14] जिसने साबित कर दिया कि इसकी अनुमानित गारंटी है और सूचियों का एक परिवार प्रस्तुत किया साथ के लिए .
  • हार्मोनिक बिन पैकिंग|हार्मोनिक-के आकार के अंतराल को विभाजित करता है एक हार्मोनिक प्रगति (गणित) पर आधारित टुकड़े के लिए और ऐसा है कि . इस एल्गोरिथम का वर्णन सबसे पहले ली और ली द्वारा किया गया था।[15] इसमें समय की जटिलता है और प्रत्येक चरण पर, अधिकतम होते हैं k खुले बिन जिनका उपयोग संभावित रूप से वस्तुओं को रखने के लिए किया जा सकता है, यानी, यह एक है k-बाउंडेड स्पेस एल्गोरिदम। के लिए , इसका सन्निकटन अनुपात संतुष्ट करता है , और यह स्पर्शोन्मुख रूप से तंग है।
  • हार्मोनिक बिन पैकिंग|रिफाइंड-हार्मोनिक, हार्मोनिक-के के विचारों को रिफाइंड फर्स्ट-फिट बिन पैकिंग|रिफाइंड-फर्स्ट-फिट के विचारों के साथ जोड़ता है। यह वस्तुओं को इससे बड़ा रखता है रिफाइंड-फर्स्ट-फ़िट के समान, जबकि छोटी वस्तुओं को हार्मोनिक-के का उपयोग करके रखा जाता है। इस रणनीति का उद्देश्य उन बिन के लिए भारी अपशिष्ट को कम करना है जिनमें बड़े टुकड़े होते हैं . इस एल्गोरिथम का वर्णन सबसे पहले ली और ली द्वारा किया गया था।[15] उन्होंने ये बात साबित कर दी यह उसे धारण करता है .

ऑनलाइन एल्गोरिदम के लिए सामान्य निचली सीमाएं

याओ[14]1980 में साबित हुआ कि एसिम्प्टोटिक प्रतिस्पर्धी अनुपात से छोटा कोई ऑनलाइन एल्गोरिदम नहीं हो सकता है . भूरा[16] और लिआंग[17] इस बाध्यता में सुधार हुआ 1.53635. बाद में, इस सीमा में सुधार किया गया 1.54014 Vliet द्वारा.[18] 2012 में, बेकेसी और गैलाम्बोस द्वारा इस निचली सीमा में फिर से सुधार किया गया[19] को .

तुलना तालिका

Algorithm Approximation guarantee Worst case list Time-complexity
Next-fit (NF) [10] [10]
First-fit (FF) [12] [12] [10]
Best-fit (BF) [13] [13] [10]
Worst-Fit (WF) [10] [10] [10]
Almost-Worst-Fit (AWF) [10] [10] [10]
Refined-First-Fit (RFF) [14] (for )[14] [14]
Harmonic-k (Hk) for [15] [15] [15]
Refined Harmonic (RH) [15] [15]
Modified Harmonic (MH) [20]
Modified Harmonic 2 (MH2) [20]
Harmonic + 1 (H+1) [21]
Harmonic ++ (H++) [21] [21]


ऑफ़लाइन एल्गोरिदम

बिन पैकिंग के ऑफ़लाइन संस्करण में, एल्गोरिदम सभी वस्तुओं को बिन में रखना शुरू करने से पहले देख सकता है। यह बेहतर सन्निकटन अनुपात प्राप्त करने की अनुमति देता है।

गुणात्मक सन्निकटन

ऑफ़लाइन एल्गोरिदम द्वारा उपयोग की जाने वाली सबसे सरल तकनीक है:

  • इनपुट सूची को घटते आकार के अनुसार क्रमित करना;
  • ऑर्डर की गई सूची पर एक ऑनलाइन एल्गोरिदम चलाएँ।

जॉनसन[10]साबित हुआ कि किसी भी AnyFit एल्गोरिदम ए जो अवरोही आकार द्वारा क्रमित सूची पर चलता है, उसमें <ब्लॉककोट> का स्पर्शोन्मुख सन्निकटन अनुपात होता है.इस परिवार में कुछ एल्गोरिदम हैं (अधिक जानकारी के लिए लिंक किए गए पेज देखें):

  • प्रथम-फिट-घटती बिन पैकिंग |फर्स्ट-फिट-डिक्रीजिंग (एफएफडी) - आइटम को घटते आकार के आधार पर ऑर्डर करता है, फिर फर्स्ट-फिट को कॉल करता है। इसका सन्निकटन अनुपात है , और यह तंग है.[22]
  • अगला-फिट-घटता हुआ (एनएफडी) - वस्तुओं को घटते आकार के आधार पर ऑर्डर करता है, फिर नेक्स्ट-फिट बिन पैकिंग|नेक्स्ट-फिट को कॉल करता है। इसका अनुमानित अनुपात सबसे खराब स्थिति में 1.7 से थोड़ा कम है।[23] इसका संभाव्य विश्लेषण भी किया गया है।[24] नेक्स्ट-फ़िट एक सूची और उसके व्युत्क्रम को समान संख्या में बिन में पैक करता है। इसलिए, नेक्स्ट-फिट-इंक्रीजिंग का प्रदर्शन नेक्स्ट-फिट-डिक्रीजिंग के समान ही है।[25]
  • संशोधित प्रथम-फिट-घटती (एमएफएफडी)[26]- आकार के आधार पर वस्तुओं को बड़े, मध्यम, छोटे और छोटे आकार के चार वर्गों में वर्गीकृत करके आधे बिन से बड़ी वस्तुओं के लिए एफएफडी में सुधार किया जाता है, क्रमशः> 1/2 बिन,> 1/3 बिन,> 1/6 बिन और छोटे आकार वाली वस्तुओं के अनुरूप। इसकी सन्निकटन गारंटी है .[27]

फर्नांडीज डे ला वेगा और ल्यूकेर[28] बिन पैकिंग के लिए एक बहुपद-समय सन्निकटन योजना प्रस्तुत की। हरएक के लिए , उनका एल्गोरिदम अधिकतम आकार के साथ एक समाधान ढूंढता है और समय पर चलता है , कहाँ किसी फ़ंक्शन को केवल उस पर निर्भर दर्शाता है . इस एल्गोरिदम के लिए, उन्होंने अनुकूली इनपुट राउंडिंग की विधि का आविष्कार किया: इनपुट संख्याओं को समूहीकृत किया जाता है और प्रत्येक समूह में अधिकतम मूल्य तक पूर्णांकित किया जाता है। यह विभिन्न आकारों की एक छोटी संख्या के साथ एक उदाहरण उत्पन्न करता है, जिसे विन्यास रैखिक कार्यक्रम का उपयोग करके बिल्कुल हल किया जा सकता है।[29]


योगात्मक सन्निकटन

करमरकर-कार्प बिन पैकिंग एल्गोरिदम | करमरकर-कार्प बिन पैकिंग एल्गोरिदम अधिकतम आकार के साथ एक समाधान ढूंढता है , और समय बहुपद में चलता है n (बहुपद की डिग्री उच्च होती है - कम से कम 8)।

रोथवॉस[30] एक एल्गोरिदम प्रस्तुत किया जो अधिक से अधिक समाधान उत्पन्न करता है बिन.

होबर्ग और रोथवॉस[31] अधिक से अधिक समाधान उत्पन्न करने के लिए इस एल्गोरिथम में सुधार किया गया बिन. एल्गोरिथ्म यादृच्छिक है, और इसका रनिंग-टाइम बहुपद है n.

तुलना तालिका

Algorithm Approximation guarantee Worst case instance
First-fit-decreasing (FFD) [22] [22]
Modified-first-fit-decreasing (MFFD) [27] [26]
Karmarkar and Karp [32]
Rothvoss [30]
Hoberg and Rothvoss [31]


सटीक एल्गोरिदम

मार्टेलो और टोथ[33] 1-आयामी बिन-पैकिंग समस्या के लिए एक सटीक एल्गोरिदम विकसित किया, जिसे एमटीपी कहा जाता है। एक तेज़ विकल्प 2002 में कोर्फ द्वारा प्रस्तावित बिन कंप्लीशन एल्गोरिदम है[34] और बाद में सुधार हुआ.[35] 2013 में श्रेइबर और कोर्फ द्वारा एक और सुधार प्रस्तुत किया गया।[36] नए बेहतर बिन कंप्लीशन एल्गोरिदम को 100 वस्तुओं के साथ गैर-तुच्छ समस्याओं पर बिन कंप्लीशन की तुलना में परिमाण के पांच ऑर्डर तक तेज दिखाया गया है, और इष्टतम समाधान के रूप में 20 बिन से कम वाली समस्याओं पर बेलोव और शेइथाउर द्वारा बीसीपी (ब्रांच-एंड-कट-एंड-प्राइस) एल्गोरिदम से बेहतर प्रदर्शन करता है। कौन सा एल्गोरिदम सबसे अच्छा प्रदर्शन करता है यह समस्या के गुणों जैसे वस्तुओं की संख्या, बिन की इष्टतम संख्या, इष्टतम समाधान में अप्रयुक्त स्थान और मूल्य परिशुद्धता पर निर्भर करता है।

विभिन्न आकारों की छोटी संख्या

बिन पैकिंग का एक विशेष मामला तब होता है जब विभिन्न आइटम आकारों की एक छोटी संख्या होती है। प्रत्येक आकार की कई अलग-अलग वस्तुएँ हो सकती हैं। इस मामले को उच्च बहुलता बिन पैकिंग भी कहा जाता है, और यह सामान्य समस्या की तुलना में अधिक कुशल एल्गोरिदम को स्वीकार करता है।

विखंडन के साथ बिन-पैकिंग

विखंडन या खंडित वस्तु बिन-पैकिंग के साथ बिन-पैकिंग बिन पैकिंग समस्या का एक प्रकार है जिसमें वस्तुओं को भागों में तोड़ने और प्रत्येक भाग को अलग-अलग बिन पर अलग से रखने की अनुमति होती है। वस्तुओं को भागों में तोड़ने से समग्र प्रदर्शन में सुधार हो सकता है, उदाहरण के लिए, कुल बिन की संख्या को कम करना। इसके अलावा, इष्टतम शेड्यूल खोजने की कम्प्यूटेशनल समस्या आसान हो सकती है, क्योंकि कुछ अनुकूलन चर निरंतर हो जाते हैं। दूसरी ओर, वस्तुओं को अलग करना महंगा पड़ सकता है। यह समस्या सबसे पहले मंडल, चक्रवर्ती और घोष द्वारा प्रस्तुत की गई थी।[37]


वेरिएंट

समस्या के दो मुख्य रूप हैं.

  1. पहले संस्करण में, जिसे आकार-बढ़ती विखंडन (बीपी-एसआईएफ) के साथ बिन-पैकिंग कहा जाता है, प्रत्येक आइटम खंडित हो सकता है; प्रत्येक टुकड़े के आकार में ओवरहेड इकाइयाँ जोड़ी जाती हैं।
  2. दूसरे संस्करण में, जिसे आकार-संरक्षण विखंडन (बीपी-एसपीएफ) के साथ बिन-पैकिंग कहा जाता है, प्रत्येक आइटम का एक आकार और एक लागत होती है; किसी वस्तु को खंडित करने से उसकी लागत बढ़ जाती है लेकिन उसका आकार नहीं बदलता।

कम्प्यूटेशनल जटिलता

मंडल, चक्रवर्ती और घोष[37]साबित हुआ कि बीपी-एसपीएफ एनपी-कठोरता |एनपी-हार्ड है।

मेनकेरमैन और रोम[38] पता चला कि बीपी-एसआईएफ और बीपी-एसपीएफ दोनों दृढ़ता से एनपी-हार्ड हैं। कठोरता के बावजूद, वे कई एल्गोरिदम प्रस्तुत करते हैं और उनके प्रदर्शन की जांच करते हैं। उनके एल्गोरिदम बिन-पैकिंग के लिए क्लासिक एल्गोरिदम का उपयोग करते हैं, जैसे नेक्स्ट-फिट बिन पैकिंग|नेक्स्ट-फिट और फर्स्ट-फिट-डिक्रीजिंग बिन पैकिंग|फर्स्ट-फिट डिक्रीजिंग, उनके एल्गोरिदम के आधार के रूप में।

बर्टाज़ी, गोल्डन और वांग[39] के साथ BP-SIF का एक संस्करण पेश किया विभाजन नियम: किसी वस्तु को उसके आकार के अनुसार केवल एक ही तरीके से विभाजित करने की अनुमति है। उदाहरण के लिए, यह वाहन रूटिंग समस्या के लिए उपयोगी है। अपने पेपर में, वे वेरिएंट का सबसे खराब प्रदर्शन प्रदान करते हैं।

शचनाई, तामीर और येहेज़केली[40] बीपी-एसआईएफ और बीपी-एसपीएफ के लिए विकसित सन्निकटन योजनाएं; एक दोहरी बहुपद-समय सन्निकटन योजना (समस्या के दोहरे संस्करण के लिए एक पीटीएएस), एक एसिम्प्टोटिक पीटीएएस जिसे एपीटीएएस कहा जाता है, और एक दोहरी एसिम्प्टोटिक fptas जिसे दोनों संस्करणों के लिए एएफपीटीएएस कहा जाता है।

एकिसि[41] बीपी-एसपीएफ का एक प्रकार पेश किया गया जिसमें कुछ वस्तुएं विवादित हैं, और विवादित वस्तुओं के टुकड़ों को एक ही बिन में पैक करना मना है। उन्होंने साबित कर दिया कि यह वैरिएंट भी एनपी-हार्ड है।

कैसाज़ा और सेसेली[42] बिना किसी लागत और बिना किसी ओवरहेड वाला एक संस्करण पेश किया गया है, और बिन की संख्या निश्चित है। हालाँकि, विखंडन की संख्या कम होनी चाहिए। वे सटीक और अनुमानित दोनों समाधानों के लिए गणितीय प्रोग्रामिंग एल्गोरिदम प्रस्तुत करते हैं।

संबंधित समस्याएँ

दंड के साथ फ्रैक्शनल नैपसेक समस्या की समस्या मालागुटी, मोनासी, पारोनुज़ी और पफ़र्स्की द्वारा पेश की गई थी।[43] उन्होंने समस्या के लिए एक एफपीटीएएस और एक गतिशील प्रोग्रामिंग विकसित की, और उन्होंने अपने मॉडलों के प्रदर्शन की तुलना करते हुए एक व्यापक कम्प्यूटेशनल अध्ययन दिखाया। यह भी देखें: आंशिक कार्य शेड्यूलिंग

बिन पर कार्डिनैलिटी बाधाएँ

बिन पैकिंग का एक प्रकार है जिसमें बिन पर कार्डिनैलिटी बाधाएं होती हैं: प्रत्येक बिन में कुछ निश्चित पूर्णांक k के लिए अधिकतम k आइटम हो सकते हैं।

  • क्राउज़, शेन और श्वेटमैन[44] इस समस्या को इष्टतम कार्य शेड्यूलिंग के एक प्रकार के रूप में प्रस्तुत करें: एक कंप्यूटर में कुछ k प्रोसेसर होते हैं। कुछ n नौकरियाँ ऐसी हैं जिनमें इकाई समय लगता है (1), लेकिन उनकी मेमोरी आवश्यकताएँ भिन्न होती हैं। प्रत्येक समय-इकाई को एक ही बिन माना जाता है। लक्ष्य यथासंभव कम बिन (=समय इकाइयाँ) का उपयोग करना है, जबकि यह सुनिश्चित करना है कि प्रत्येक बिन में, अधिकतम k नौकरियाँ चलती हैं। वे कई अनुमानी एल्गोरिदम प्रस्तुत करते हैं जो अधिक से अधिक समाधान ढूंढते हैं बिन.
  • केलरर और पफ़रस्की[45] रन-टाइम के साथ एक एल्गोरिदम प्रस्तुत करें , वह अधिक से अधिक समाधान ढूंढ लेता है बिन. उनका एल्गोरिदम ओपीटी के लिए बाइनरी खोज करता है। प्रत्येक खोजे गए मान m के लिए, यह आइटम को 3m/2 बिन में पैक करने का प्रयास करता है।

गैर-योगात्मक कार्य

बिन-पैकिंग मॉडल को अधिक सामान्य लागत और लोड कार्यों तक विस्तारित करने के कई तरीके हैं:

  • अनिली, ब्रैमल और सिम्ची-लेवी[46] एक सेटिंग का अध्ययन करें जहां एक बिन की लागत बिन में वस्तुओं की संख्या का एक अवतल कार्य है। इसका उद्देश्य कूड़ेदानों की संख्या के बजाय कुल लागत को कम करना है। वे दिखाते हैं कि अगली-फिट-बढ़ती बिन पैकिंग अधिकतम 7/4 का पूर्णतः सबसे खराब-मामला सन्निकटन अनुपात प्राप्त करती है, और किसी भी अवतल और मोनोटोन लागत फ़ंक्शन के लिए 1.691 का एक एसिम्प्टोटिक सबसे खराब-मामला अनुपात प्राप्त करती है।
  • कोहेन, केलर, मिर्रोकनी और ज़दिमोघदाम[47] ऐसी सेटिंग का अध्ययन करें जहां आइटम का आकार पहले से ज्ञात नहीं है, लेकिन यह एक यादृच्छिक चर है। यह क्लाउड कम्प्यूटिंग वातावरण में विशेष रूप से आम है। हालाँकि एक निश्चित उपयोगकर्ता के लिए आवश्यक संसाधनों की मात्रा की ऊपरी सीमा होती है, अधिकांश उपयोगकर्ता क्षमता से बहुत कम उपयोग करते हैं। इसलिए, क्लाउड मैनेजर को थोड़ी सी स्मृति अति प्रतिबद्धता से बहुत फायदा हो सकता है। यह मौका बाधाओं के साथ बिन पैकिंग के एक प्रकार को प्रेरित करता है: प्रत्येक बिन में आकारों का योग अधिकतम बी होने की संभावना कम से कम पी होनी चाहिए, जहां पी एक निश्चित स्थिरांक है (मानक बिन पैकिंग पी = 1 से मेल खाती है)। वे दिखाते हैं कि, हल्की धारणाओं के तहत, यह समस्या एक सबमॉड्यूलर बिन पैकिंग समस्या के बराबर है, जिसमें प्रत्येक बिन में लोड वस्तुओं के योग के बराबर नहीं है, बल्कि इसके एक निश्चित सबमॉड्यूलर सेट फ़ंक्शन के बराबर है।

संबंधित समस्याएँ

बिन पैकिंग समस्या में, बिन का आकार निश्चित होता है और उनकी संख्या बढ़ाई जा सकती है (लेकिन यथासंभव छोटी होनी चाहिए)।

इसके विपरीत, मल्टीवे संख्या विभाजन' समस्या में, बिन की संख्या निश्चित होती है और उनका आकार बढ़ाया जा सकता है। उद्देश्य एक ऐसा विभाजन ढूंढना है जिसमें बिन का आकार लगभग बराबर हो (मल्टीप्रोसेसर शेड्यूलिंग|'मल्टीप्रोसेसर शेड्यूलिंग' समस्या या 'न्यूनतम मेकस्पैन' समस्या नामक संस्करण में, लक्ष्य विशेष रूप से सबसे बड़े बिन के आकार को कम करना है)।

'उलटा बिन पैकिंग' समस्या में,[48] बिन की संख्या और उनके आकार दोनों निश्चित हैं, लेकिन वस्तुओं का आकार बदला जा सकता है। इसका उद्देश्य आइटम आकार वेक्टर में न्यूनतम गड़बड़ी प्राप्त करना है ताकि सभी वस्तुओं को निर्धारित संख्या में बिन में पैक किया जा सके।

अधिकतम संसाधन बिन पैकिंग समस्या में,[49] लक्ष्य उपयोग किए गए बिन की संख्या को अधिकतम करना है, ताकि, बिन के कुछ ऑर्डर के लिए, बाद के बिन में कोई भी वस्तु पहले वाले बिन में फिट न हो। दोहरी समस्या में, बिन की संख्या तय की जाती है, और लक्ष्य बिन में रखी गई वस्तुओं की कुल संख्या या कुल आकार को कम करना है, ताकि कोई भी शेष वस्तु बिना भरे बिन में फिट न हो।

'बिन कवरिंग समस्या' में, बिन का आकार नीचे से सीमित है: लक्ष्य उपयोग किए गए बिन की संख्या को अधिकतम करना है ताकि प्रत्येक बिन में कुल आकार कम से कम एक दी गई सीमा हो।

'उचित अविभाज्य कार्य आवंटन' समस्या ('निष्पक्ष वस्तु आवंटन' का एक प्रकार) में, आइटम कार्यों का प्रतिनिधित्व करते हैं, और अलग-अलग लोग होते हैं जिनमें से प्रत्येक प्रत्येक कार्य के लिए एक अलग कठिनाई-मूल्य का श्रेय देता है। लक्ष्य प्रत्येक व्यक्ति को उसके कुल कठिनाई-मूल्य की ऊपरी सीमा के साथ कार्यों का एक सेट आवंटित करना है (इस प्रकार, प्रत्येक व्यक्ति एक बिन से मेल खाता है)। इस समस्या में भी बिन पैकिंग से लेकर कई तकनीकों का उपयोग किया जाता है।[50] गिलोटिन काटना की समस्या में, वस्तुएं और बिन दोनों एक-आयामी संख्याओं के बजाय दो-आयामी आयताकार होते हैं, और वस्तुओं को एंड-टू-एंड कट्स का उपयोग करके बिन से काटा जाना होता है।

स्वार्थी बिन पैकिंग समस्या में, प्रत्येक आइटम एक खिलाड़ी है जो इसकी लागत को कम करना चाहता है।[51] बिन पैकिंग का एक प्रकार भी है जिसमें जिस लागत को कम किया जाना चाहिए वह बिन की संख्या नहीं है, बल्कि प्रत्येक बिन में वस्तुओं की संख्या का एक निश्चित अवतल कार्य है।[46]

अन्य प्रकार द्वि-आयामी बिन पैकिंग हैं,[52] त्रि-आयामी बिन पैकिंग,[53] डिलिवरी के साथ बिन पैकिंग,[54]


संसाधन

  • BPPLIB - सर्वेक्षण, कोड, बेंचमार्क, जनरेटर, सॉल्वर और ग्रंथ सूची की एक लाइब्रेरी।

कार्यान्वयन

संदर्भ

  1. Martello, Silvano; Toth, Paolo (1990), "Bin-packing problem" (PDF), Knapsack Problems: Algorithms and Computer Implementations, Chichester, UK: John Wiley and Sons, ISBN 0471924202
  2. Korte, Bernhard; Vygen, Jens (2006). "Bin-Packing". Combinatorial Optimization: Theory and Algorithms. Algorithms and Combinatorics 21. Springer. pp. 426–441. doi:10.1007/3-540-29297-7_18. ISBN 978-3-540-25684-7.
  3. Barrington, David Mix (2006). "बिन पैकिंग". Archived from the original on 2019-02-16. Retrieved 2016-02-27.
  4. 4.0 4.1 4.2 Coffman Jr., Edward G.; Csirik, János; Galambos, Gábor; Martello, Silvano; Vigo, Daniele (2013), Pardalos, Panos M.; Du, Ding-Zhu; Graham, Ronald L. (eds.), "Bin Packing Approximation Algorithms: Survey and Classification", Handbook of Combinatorial Optimization (in English), New York, NY: Springer, pp. 455–531, doi:10.1007/978-1-4419-7997-1_35, ISBN 978-1-4419-7997-1, retrieved 2021-08-08
  5. Lewis, R. (2009), "A General-Purpose Hill-Climbing Method for Order Independent Minimum Grouping Problems: A Case Study in Graph Colouring and Bin Packing" (PDF), Computers and Operations Research, 36 (7): 2295–2310, doi:10.1016/j.cor.2008.09.004
  6. Sindelar, Michael; Sitaraman, Ramesh; Shenoy, Prashant (2011), "Sharing-Aware Algorithms for Virtual Machine Colocation" (PDF), Proceedings of 23rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), San Jose, CA, June 2011: 367–378
  7. 7.0 7.1 7.2 Garey, M. R.; Johnson, D. S. (1979). Victor Klee (ed.). Computers and Intractability: A Guide to the Theory of NP-Completeness. A Series of Books in the Mathematical Sciences. San Francisco, Calif.: W. H. Freeman and Co. pp. x+338. ISBN 0-7167-1045-5. MR 0519066.
  8. Martello & Toth 1990, p. 221
  9. Vazirani, Vijay V. (14 March 2013). सन्निकटन एल्गोरिदम. Springer Berlin Heidelberg. p. 74. ISBN 978-3662045657.
  10. 10.00 10.01 10.02 10.03 10.04 10.05 10.06 10.07 10.08 10.09 10.10 10.11 10.12 10.13 10.14 10.15 Johnson, David S (1973). "लगभग-इष्टतम बिन पैकिंग एल्गोरिदम" (PDF). Massachusetts Institute of Technology.
  11. Gonzalez, Teofilo F. (23 May 2018). Handbook of approximation algorithms and metaheuristics. Volume 2 Contemporary and emerging applications. ISBN 9781498770156.
  12. 12.0 12.1 12.2 Dósa, György; Sgall, Jiri (2013). "फर्स्ट फ़िट बिन पैकिंग: एक कड़ा विश्लेषण". 30th International Symposium on Theoretical Aspects of Computer Science (STACS 2013). Schloss Dagstuhl–Leibniz-Zentrum für Informatik. 20: 538–549. doi:10.4230/LIPIcs.STACS.2013.538.
  13. 13.0 13.1 13.2 György, Dósa; Sgall, Jirí (2014). "सर्वश्रेष्ठ फ़िट बिन पैकिंग का इष्टतम विश्लेषण". {Automata, Languages, and Programming – 41st International Colloquium (ICALP)}. Lecture Notes in Computer Science. 8572: 429–441. doi:10.1007/978-3-662-43948-7_36. ISBN 978-3-662-43947-0.
  14. 14.0 14.1 14.2 14.3 14.4 Yao, Andrew Chi-Chih (April 1980). "बिन पैकिंग के लिए नए एल्गोरिदम". Journal of the ACM. 27 (2): 207–227. doi:10.1145/322186.322187. S2CID 7903339.
  15. 15.0 15.1 15.2 15.3 15.4 15.5 15.6 Lee, C. C.; Lee, D. T. (July 1985). "एक सरल ऑनलाइन बिन-पैकिंग एल्गोरिदम". Journal of the ACM. 32 (3): 562–572. doi:10.1145/3828.3833. S2CID 15441740.
  16. Donna J, Brown (1979). "ऑन-लाइन एक-आयामी बिन पैकिंग एल्गोरिदम के लिए निचली सीमा।" (PDF). Technical Rept. Archived (PDF) from the original on March 17, 2022.
  17. Liang, Frank M. (1980). "ऑन-लाइन बिन पैकिंग के लिए निचली सीमा". Information Processing Letters. 10 (2): 76–79. doi:10.1016/S0020-0190(80)90077-0.
  18. van Vliet, André (1992). "ऑन-लाइन बिन पैकिंग एल्गोरिदम के लिए एक बेहतर निचली सीमा". Information Processing Letters. 43 (5): 277–284. doi:10.1016/0020-0190(92)90223-I.
  19. Balogh, János; Békési, József; Galambos, Gábor (July 2012). "बिन पैकिंग एल्गोरिदम के कुछ वर्गों के लिए नई निचली सीमाएँ". Theoretical Computer Science. 440–441: 1–13. doi:10.1016/j.tcs.2012.04.017.
  20. 20.0 20.1 Ramanan, Prakash; Brown, Donna J; Lee, C.C; Lee, D.T (September 1989). "On-line bin packing in linear time". Journal of Algorithms. 10 (3): 305–326. doi:10.1016/0196-6774(89)90031-X. hdl:2142/74206.
  21. 21.0 21.1 21.2 Seiden, Steven S. (2002). "On the online bin packing problem". Journal of the ACM. 49 (5): 640–671. doi:10.1145/585265.585269. S2CID 14164016.
  22. 22.0 22.1 22.2 Dósa, György (2007). "The Tight Bound of First Fit Decreasing Bin-Packing Algorithm Is FFD(I) ≤ 11/9\mathrm{OPT}(I) + 6/9". Combinatorics, Algorithms, Probabilistic and Experimental Methodologies. ESCAPE. doi:10.1007/978-3-540-74450-4_1.
  23. Baker, B. S.; Coffman, Jr., E. G. (1981-06-01). "नेक्स्ट-फ़िट-घटते बिन-पैकिंग के लिए एक सख्त एसिम्प्टोटिक बाउंड". SIAM Journal on Algebraic and Discrete Methods. 2 (2): 147–152. doi:10.1137/0602019. ISSN 0196-5212.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  24. Csirik, J.; Galambos, G.; Frenk, J.B.G.; Frieze, A.M.; Rinnooy Kan, A.H.G. (1986-11-01). "अगले फिट घटते बिन पैकिंग अनुमान का एक संभाव्य विश्लेषण". Operations Research Letters (in English). 5 (5): 233–236. doi:10.1016/0167-6377(86)90013-1. hdl:1765/11645. ISSN 0167-6377.
  25. Fisher, David C. (1988-12-01). "नेक्स्ट-फ़िट एक सूची को पैक करता है और उसे समान संख्या में डिब्बे में उलट देता है". Operations Research Letters (in English). 7 (6): 291–293. doi:10.1016/0167-6377(88)90060-0. ISSN 0167-6377.
  26. 26.0 26.1 Johnson, David S; Garey, Michael R (October 1985). "A 7160 theorem for bin packing". Journal of Complexity. 1 (1): 65–106. doi:10.1016/0885-064X(85)90022-6.
  27. 27.0 27.1 Yue, Minyi; Zhang, Lei (July 1995). "A simple proof of the inequality MFFD(L) ≤ 71/60 OPT(L) + 1,L for the MFFD bin-packing algorithm". Acta Mathematicae Applicatae Sinica. 11 (3): 318–330. doi:10.1007/BF02011198. S2CID 118263129.
  28. Fernandez de la Vega, W.; Lueker, G. S. (1981). "Bin packing can be solved within 1 + ε in linear time". Combinatorica (in English). 1 (4): 349–355. doi:10.1007/BF02579456. ISSN 1439-6912. S2CID 10519631.
  29. Claire Mathieu. "Approximation Algorithms Part I, Week 3: bin packing". Coursera. Archived from the original on 2021-07-15.
  30. 30.0 30.1 Rothvoß, T. (2013-10-01). "Approximating Bin Packing within O(log OPT · Log Log OPT) Bins". 2013 IEEE 54th Annual Symposium on Foundations of Computer Science. pp. 20–29. arXiv:1301.4010. doi:10.1109/FOCS.2013.11. ISBN 978-0-7695-5135-7. S2CID 15905063.
  31. 31.0 31.1 Hoberg, Rebecca; Rothvoss, Thomas (2017-01-01), "A Logarithmic Additive Integrality Gap for Bin Packing", Proceedings of the 2017 Annual ACM-SIAM Symposium on Discrete Algorithms, Proceedings, Society for Industrial and Applied Mathematics, pp. 2616–2625, doi:10.1137/1.9781611974782.172, ISBN 978-1-61197-478-2, S2CID 1647463, retrieved 2021-02-10
  32. Karmarkar, Narendra; Karp, Richard M. (November 1982). "An efficient approximation scheme for the one-dimensional bin-packing problem". 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982): 312–320. doi:10.1109/SFCS.1982.61. S2CID 18583908.
  33. Martello & Toth 1990, pp. 237–240.
  34. Korf, Richard E. (2002). इष्टतम बिन पैकिंग के लिए एक नया एल्गोरिदम। (PDF). AAAI-02.
  35. R. E. Korf (2003), An improved algorithm for optimal bin packing. Proceedings of the International Joint Conference on Artificial Intelligence, (pp. 1252–1258)
  36. Schreiber, Ethan L.; Korf, Richard E. (2013), "Improved Bin Completion for Optimal Bin Packing and Number Partitioning" (PDF), Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence, IJCAI '13, Beijing, China: AAAI Press, pp. 651–658, ISBN 978-1-57735-633-2
  37. 37.0 37.1 Mandal, C. A.; Chakrabarti, P. P.; Ghose, S. (1998-06-01). "खंडित वस्तु बिन पैकिंग और एक अनुप्रयोग की जटिलता". Computers & Mathematics with Applications (in English). 35 (11): 91–97. doi:10.1016/S0898-1221(98)00087-X. ISSN 0898-1221.
  38. Nir Menakerman and Raphael Rom "Bin Packing with Item Fragmentation". Algorithms and Data Structures, 7th International Workshop, WADS 2001, Providence, RI, USA, August 8-10, 2001, Proceedings.
  39. Bertazzi, Luca; Golden, Bruce; Wang, Xingyin (2019-05-31). "The Bin Packing Problem with Item Fragmentation:A worst-case analysis". Discrete Applied Mathematics. GO X Meeting, Rigi Kaltbad (CH), July 10--14, 2016 (in English). 261: 63–77. doi:10.1016/j.dam.2018.08.023. ISSN 0166-218X. S2CID 125361557.
  40. Shachnai, Hadas; Tamir, Tami; Yehezkely, Omer (2006). Erlebach, Thomas; Persinao, Giuseppe (eds.). "आइटम विखंडन के साथ पैकिंग के लिए अनुमानित योजनाएं". Approximation and Online Algorithms. Lecture Notes in Computer Science (in English). Berlin, Heidelberg: Springer. 3879: 334–347. doi:10.1007/11671411_26. ISBN 978-3-540-32208-5.
  41. Ekici, Ali (2021-02-01). "संघर्ष और वस्तु विखंडन के साथ बिन पैकिंग की समस्या". Computers & Operations Research (in English). 126: 105113. doi:10.1016/j.cor.2020.105113. ISSN 0305-0548. S2CID 225002556.
  42. Casazza, Marco; Ceselli, Alberto (2014-06-01). "आइटम विखंडन के साथ बिन पैकिंग समस्याओं के लिए गणितीय प्रोग्रामिंग एल्गोरिदम". Computers & Operations Research (in English). 46: 1–11. doi:10.1016/j.cor.2013.12.008. ISSN 0305-0548.
  43. Malaguti, Enrico; Monaci, Michele; Paronuzzi, Paolo; Pferschy, Ulrich (2019-03-16). "Integer optimization with penalized fractional values: The Knapsack case". European Journal of Operational Research (in English). 273 (3): 874–888. doi:10.1016/j.ejor.2018.09.020. ISSN 0377-2217. S2CID 31722681.
  44. Krause, K. L.; Shen, V. Y.; Schwetman, H. D. (1975-10-01). "मल्टीप्रोग्रामिंग कंप्यूटर सिस्टम के एक मॉडल के लिए कई कार्य-शेड्यूलिंग एल्गोरिदम का विश्लेषण". Journal of the ACM. 22 (4): 522–550. doi:10.1145/321906.321917. ISSN 0004-5411. S2CID 10214857.
  45. Kellerer, H.; Pferschy, U. (1999-01-01). "Cardinality constrained bin‐packing problems". Annals of Operations Research (in English). 92: 335–348. doi:10.1023/A:1018947117526. ISSN 1572-9338. S2CID 28963291.
  46. 46.0 46.1 Anily, Shoshana; Bramel, Julien; Simchi-Levi, David (1994-04-01). "सामान्य लागत संरचनाओं के साथ बिन पैकिंग समस्या के लिए अनुमानों का सबसे खराब स्थिति वाला विश्लेषण". Operations Research. 42 (2): 287–298. doi:10.1287/opre.42.2.287. ISSN 0030-364X.
  47. Cohen, Maxime C.; Keller, Philipp W.; Mirrokni, Vahab; Zadimoghaddam, Morteza (2019-07-01). "Overcommitment in Cloud Services: Bin Packing with Chance Constraints". Management Science. 65 (7): 3255–3271. arXiv:1705.09335. doi:10.1287/mnsc.2018.3091. ISSN 0025-1909. S2CID 159270392.
  48. Chung, Yerim; Park, Myoung-Ju (2015-01-01). "व्युत्क्रम बिन-पैकिंग समस्याओं पर नोट्स". Information Processing Letters (in English). 115 (1): 60–68. doi:10.1016/j.ipl.2014.09.005. ISSN 0020-0190.
  49. Boyar, Joan; Epstein, Leah; Favrholdt, Lene M.; Kohrt, Jens S.; Larsen, Kim S.; Pedersen, Morten M.; Wøhlk, Sanne (2006-10-11). "अधिकतम संसाधन बिन पैकिंग समस्या". Theoretical Computer Science (in English). 362 (1): 127–139. doi:10.1016/j.tcs.2006.06.001. ISSN 0304-3975.
  50. Huang, Xin; Lu, Pinyan (2020-11-10). "कामकाज के अधिकतम शेयर आवंटन का अनुमान लगाने के लिए एक एल्गोरिदमिक ढांचा". arXiv:1907.04505 [cs.GT].
  51. Ma, Ruixin; Dósa, György; Han, Xin; Ting, Hing-Fung; Ye, Deshi; Zhang, Yong (2013-08-01). "स्वार्थी बिन पैकिंग समस्या पर एक नोट". Journal of Global Optimization. 56 (4): 1457–1462. doi:10.1007/s10898-012-9856-9. ISSN 0925-5001. S2CID 3082040.
  52. Lodi A., Martello S., Monaci, M., Vigo, D. (2010) "Two-Dimensional Bin Packing Problems". In V.Th. Paschos (Ed.), Paradigms of Combinatorial Optimization, Wiley/ISTE, pp. 107–129
  53. Optimizing Three-Dimensional Bin Packing Through Simulation
  54. Benkő A., Dósa G., Tuza Z. (2010) "Bin Packing/Covering with Delivery, Solved with the Evolution of Algorithms," Proceedings 2010 IEEE 5th International Conference on Bio-Inspired Computing: Theories and Applications, BIC-TA 2010, art. no. 5645312, pp. 298–302.
  55. Vaccaro, Alessio (2020-11-13). "🧱 4 Steps to Easily Allocate Resources with Python & Bin Packing". Medium (in English). Retrieved 2021-03-21.