8

मुझे एक समस्या है कि सतह पर 0-1 knapsack की तरह दिखता है। मेरे पास संभावित "उम्मीदवार" का एक सेट है जिसे चुना जा सकता है (या नहीं), प्रत्येक उम्मीदवार के पास "वजन" (लागत) और संभावित "मूल्य" होता है। क्या यह पूरी समस्या थी, मैं एक डीपी दृष्टिकोण का उपयोग करता हूं और इसके साथ किया जाता हूं। लेकिन यहां वक्रबॉल है: संभावित समाधान पर "विभाजन बाधाएं" हैं जो अंतिम समाधान में हो सकती हैं।0-1 Knapsack w/विभाजन बाधा

मेरा मतलब यह है कि उम्मीदवार अंतरिक्ष अलग समकक्ष वर्गों में विभाजित है। मेरी विशेष समस्या के लिए लगभग 300 उम्मीदवार और 12 संभावित समकक्ष वर्ग हैं। "Buisness नियम" हैं जो कहते हैं कि मैं केवल कक्षा सी 1 के 3 उम्मीदवारों और सी 2 से 6 उम्मीदवारों को कह सकता हूं,

यह बाधा शाखा-और-बाध्य तकनीकों या कुछ का उपयोग करके ग्राफ-खोज प्रकार दृष्टिकोण सुझाती है छंटनी का दूसरा रूप, हालांकि मैं कुछ हद तक स्टंप कर रहा हूं कि कैसे शुरू किया जाए क्योंकि मैं केवल 0-1 Knapsack के डीपी समाधान से परिचित हूं। इस समस्या के लिए कौन सी तकनीकों/दृष्टिकोण उपयुक्त हो सकते हैं? मैंने शायद एक बाधा प्रोग्रामिंग लाइब्रेरी का उपयोग करने के बारे में भी सोचा था, लेकिन मुझे यकीन नहीं है कि क्या यह समाधान ढूंढ पाएगा?

उत्तर

1

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

संभवतः CPLEX LP format जैसे टेक्स्ट प्रारूप में अपनी समस्या लिखना सबसे आसान तरीका है, और उसके बाद सिक्का सीबीसी या जीएलपीके जैसे सॉल्वर का उपयोग करें।

संबंधित मुद्दे