حل مشكله Knapsack باستخدام Genatic Algorithm -- Python

تفاصيل العمل

يهدف هذا المشروع إلى حل مشكلة (Knapsack Problem) باستخدام Genatic Algorithm. يتم تنفيذ الخوارزمية باستخدام لغة البرمجة Python.

المشكلة تتلخص في اختيار مجموعة من العناصر من بين مجموعة متاحة، بحيث يتم الحفاظ على وزن العناصر المختارة ضمن حد معين (carrier_limit) وتحقيق أعلى قيمة ممكنة. تعتبر هذه المشكلة من المشكلات الشهيرة في علم الحاسوب وتطبيقاتها .

يتضمن الكود عدة مكونات مهمة. تقوم بقراءة المدخلات من ملف يحتوي على معلومات العناصر المتاحة وتقوم بتمثيل العناصر باستخدام كائنات العنصر (Item objects). ثم يتم إنشاء حل عشوائي للمشكلة والتحقق من صحته وحساب قيمته. يتم استخدام عمليات ال selection وال crossover وال mutation لتطوير جيل جديد من الحلول. يتم تنفيذ الخوارزمية على عدد محدد من الأجيال ويتم تسجيل قيمة أفضل حل في كل جيل.

بعد تنفيذ الخوارزمية، يتم رسم مخطط يوضح تطور قيم الحلول خلال الأجيال باستخدام مكتبة Matplotlib. يساعد هذا المخطط على تقييم أداء الخوارزمية وفهم كيفية تحسين الحلول على مر الأجيال.

بطاقة العمل

اسم المستقل Mohamed D.
عدد الإعجابات 0
عدد المشاهدات 65
تاريخ الإضافة
تاريخ الإنجاز

المهارات المستخدمة