क्या यह दहनशील अनुकूलन समस्या किसी ज्ञात समस्या के समान है?


10

समस्या इस प्रकार है:

हमारे पास दो आयामी सरणी / संख्याओं का ग्रिड है, प्रत्येक कुछ "लाभ" या "लाभ" का प्रतिनिधित्व करते हैं। हमारे पास दो निश्चित पूर्णांक और h ("चौड़ाई" और "ऊंचाई" के लिए भी हैं।) और एक निश्चित पूर्णांक n हैwhn

अब हम ओवरले करना चाहते हैं आयामों की आयतों डब्ल्यू × एच ग्रिड ऐसी है कि इन आयतों में कोशिकाओं के मूल्यों के कुल योग बड़ा किया गया है पर।nw×h

निम्नलिखित चित्र इस तरह के दो आयतों के साथ द्वि-आयामी ग्रिड का उदाहरण है (चित्र इष्टतम समाधान प्रदर्शित नहीं करता है, बस एक संभव ओवरलेइंग जहां और n = 2 है )w=h=2n=2

ग्रिड का उदाहरण

आयतें प्रतिच्छेद नहीं कर सकती हैं (अन्यथा हमें केवल एक आयत के लिए इष्टतम स्थिति खोजने की आवश्यकता होगी और फिर उस स्थिति में सभी आयतें डालनी होंगी।)

उदाहरण में सेल दिए गए मानों का कुल योग होना था जिसके ऊपर 2+4.2+2.4+3.14+2.31.4+13.1

क्या यह संयोजन अनुकूलन में किसी भी ज्ञात समस्या के समान है? ताकि मैं कुछ पढ़ना शुरू कर सकूं और इसे हल करने के तरीके खोजने का प्रयास कर सकूं।

रुचि रखने वालों के लिए कुछ और पृष्ठभूमि:

अब तक मेरे पास केवल एक विचार था जो या तो एक लालची एल्गोरिथ्म था (जो पहले आयत के लिए सबसे अच्छा स्थान प्राप्त करेगा, फिर दूसरी आयत के लिए गैर-अतिव्यापी लैक्टैयोन का पता लगाएगा) या कुछ मेटाह्यूरिस्टिक जैसे आनुवंशिक एल्गोरिदम।

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

चीयर्स!


(फोन पर) ऐसा लगता है कि यह एक परिवर्तन और कुछ अतिरिक्त बाधाओं के तहत अधिकतम मिलान के साथ हल किया जा सकता है। मैं बाद में लिखने की कोशिश करूँगा।
निकोलस मंचुसो

nn1

sLsLs

जवाबों:


2

मेरे अंतिम सूत्रीकरण में एक घातक दोष था जिसे "बाधा" नोड्स की एक घातीय राशि की आवश्यकता होगी।

rwrr,rk=n


यह वह दिशा है जिस पर मैं वर्तमान में झुकाव कर रहा हूं, मैं इस के साथ प्रयोग करूंगा और समाधान को स्वीकार करूंगा अगर यह एक है जिसका मैं उपयोग कर रहा हूं, चीयर्स।
पचास

2

आप इसे एक विशाल पूर्णांक रैखिक प्रोग्रामिंग (ILP) उदाहरण के रूप में तैयार कर सकते हैं, और फिर एक ऑफ-द-शेल्फ ILP सॉल्वर (lp_solve, CPLEX, आदि) लागू कर सकते हैं। वे आपको सबसे अच्छा समाधान देंगे जो वे पा सकते हैं। आपकी समस्या के आकार को देखते हुए, मुझे नहीं पता कि यह पर्याप्त रूप से कुशल होगा, लेकिन इसे आज़माना आसान होगा।

xrrxr=1rxr=0rcrxrcrrrxr=nxr+xs1r,s


क्या आपको लगता है कि यह समस्या एनपी-हार्ड है? मुझे यकीन नहीं है कि इसका पॉली टाइम सॉल्यूशन नहीं है, और ILP सॉल्वर के भी मामूली आकार के उदाहरण खत्म होने की संभावना नहीं है।
RB

1
@ आरबी, मुझे नहीं पता कि यह एनपी-हार्ड है। एक बहुपद-समय एल्गोरिथ्म को खोजने का प्रयास करने के बारे में मेरी पहली सोच के लिए डायनेमिक प्रोग्रामिंग के बारे में मेरी टिप्पणी देखें (लेकिन मुझे नहीं पता कि परिणामी एल्गोरिदम पी में होगा या नहीं)। जहां तक ​​आईएलपी सॉल्वर क्या कर सकता है, इसका पता लगाने का एकमात्र तरीका कोशिश करना है - कभी-कभी उनका प्रदर्शन आश्चर्यजनक हो सकता है।
DW
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.