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