আমি স্পোর্টস লিগের শিডিয়ুলার তৈরি করার চেষ্টা করছি। প্রতিটি স্লট দক্ষতার সাথে পূরণ করার জন্য আমাকে একটি অ্যালগরিদম সনাক্ত করতে সমস্যা হচ্ছে।
তফসিল তৈরির জন্য নমুনা ডেটা হ'ল:
- 10 টি দল
- প্রতিটি দল একে অপরকে ১ বার খেলে (45 টি মোট গেমের প্রয়োজন হয়)
- প্রতিটি দল প্রতিদিন 1 বারের বেশি খেলে না
- আমার পরীক্ষায় আমি প্রতিদিন 5 টি স্লট সহ 9 দিন ব্যবহার করছি।
কম্বো টেবিল (45 টি কম্বো রয়েছে)
আইডি
Team1ID
Team2ID
বিটসাইনড
সময়সূচী সারণী (45 টি সময় স্লট রয়েছে)
scheduleID
homeTeamID
awayTeamID
GameDate
GameTime
এই মুহূর্তে আমার বিদ্যমান পদ্ধতিগুলি আমার স্লটগুলির 10% স্লটগুলির উপরের নিয়মগুলির উপর ভিত্তি করে একটি সময়সূচী বিরোধের শূন্যস্থান পূরণ করে fill
আমি আমার সময়সূচী টেবিলটিকে আরোহণের তারিখ / সময় ক্রমে লুপ করছি।
আমার প্রথম স্লট শনিবার সকাল ৮ টায় হতে পারে।
আমি এমন দলের তালিকা জিজ্ঞাসা করেছি যা এখনও নির্ধারিত হয়নি। আমি তখন সেই দলগুলির সম্ভাব্য সংমিশ্রণের একটি অ্যারে তৈরি করি। তারপরে আমি সেই অ্যারেটি আমার সংমিশ্রণের টেবিল থেকে 1 টি এলোমেলো রেকর্ড টানতে ব্যবহার করব যা এখনও নির্ধারিত হয়নি এবং আমি সেই দলগুলিকে শিডিয়ুলে রেখেছি। আমি তারপর ব্যবহার হিসাবে যে সংমিশ্রণ সেট।
আমি বারবার লুপটি পুনরাবৃত্তি করি এবং প্রতিবার আমার উপলব্ধ দলগুলির তালিকা ছোট হয়ে যায় এবং ফলস্বরূপ আমার অ্যারেও কম হয়।
আমি খুঁজে পেয়েছি যে কিছু দিন ঠিক আছে, এবং অন্যান্য দিনগুলিতে আমার শেষ দুটি শেষ দলগুলি ইতিমধ্যে আগের সপ্তাহে খেলেছে যাতে তারা আবার শিডিয়ুলে যোগ হয় না।
আমি এখনও চেষ্টা না করে কেবল দ্বন্দ্বের দিনগুলি "পুনরায় সেট করা" এবং আরও ভাল স্থান পেতে পারি কিনা তা দেখার জন্য তাদের আবার চেষ্টা করার চেষ্টা করুন।
যে কেউ কোন পরামর্শ আছে?