720 likes | 905 Vues
ارائهء يک الگوريتم جستجوي مبتني بر روشهاي مبني برجمعيت در بهينه سازي ترکيبي. ارائه دهنده: معصومه خيرخواه زاده استاد راهنما: جناب آقاي دکتر عبدالله زاده. فهرست مطالب . تعريف مسايل بهينه سازي ترکيبي مدلهاي ACO کاربردهاي الگوريتم مورچه مساله مسيريابي وسايل نقليه الگوريتم پيشنهادي
E N D
ارائهء يک الگوريتم جستجوي مبتني بر روشهاي مبني برجمعيت در بهينه سازي ترکيبي ارائه دهنده: معصومه خيرخواه زاده استاد راهنما: جناب آقاي دکتر عبدالله زاده
فهرست مطالب • تعريف مسايل بهينه سازي ترکيبي • مدلهاي ACO • کاربردهاي الگوريتم مورچه • مساله مسيريابي وسايل نقليه • الگوريتم پيشنهادي • داده هاي آزمايشگاهي • تست و ارزيابي • نتيجه گيري و راهکارهاي آينده • منابع آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
تعريف مساله • الگوريتم هاي بهينه سازي ترکيبي، فضاي حالت را براي يافتن يک پيکربندي جستجو مي کنند که تابع هدف از پيش تعريف شده، روي متغيرهاي مساله را بهينه کند و در ضمن محدوديتهاي تعريف شده بين متغيرهاي مساله را هم نقض نکند. آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
طبقه بندي الگوريتم هاي حل مسايل بهينه سازي تركيبي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
طبقه بندي فرااكتشافات آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
الگوريتمهاي تكاملي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
مسايل مهم در حوزه هوش گروهي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
الگوريتم هاي مورچه، سيستم هاي چندعامله اي هستند كه هر عامل، يك مورچه مصنوعي است. • ايده : مورچه ها در مسير خود ماده شيميايي به نام فرومون ترشح مي كنند. وقتي سر دوراهي (مسيركوتاهتر و طولاني تر) قرار مي گيرند، براساس ميزان فرومون استشمام شده از هر مسير، يك انتخاب مسير احتمالي انجام مي دهند. به اين ترتيب احتمال انتخاب مسيرهاي داراي فرومون زياد، به تدريج افزايش مي يابد (اثر autocatalytic). • رکود: اكثر مورچه ها كوتاهترين شاخه را انتخاب مي كنند • تبخير: مکانيزم اجتناب از همگرايي سريع به مسيرهاي زيربهينه آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
پارامترهاي ارزيابي • متوسط زمان محاسبه راه حل • هزينه (طول) بهترين راه حل • هزينه (طول) متوسط بهترين راه حلها • درصد متوسط انحراف از بهترين راه حل • ميانگين بهترين راه حلها • تعداد تكرار مورد نياز براي يافتن جواب آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
مدلهاي ACO آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
كنفرانسهاي مهم • International Workshop on Ant Colony Optimization and Swarm Intelligence (ANTS) • Genetic and Evolutionary Computation Conference (GECCO) • IEEE Swarm Intelligence Symposium (SIS) • Metaheuristics International Conference (MIC) • International Workshop on Hybrid Metaheuristics (HM) • IEEE Congress on Evolutionary Computation (CEC) • International Conference on Intelligent Systems Design and Applications (ISDA) • International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT) آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
مجلات مرجع • Applied Mathematics and Computation • Artificial Life • Computers & Operations Research • European Journal of Operational Research • Evolutionary Computation • Evolutionary Computation in Combinatorial Optimization • IEEE Transactions on Evolutionary Computation • IEEE Transactions on Systems, Man and Cybernetics • Information Systems and Operational Research • INFORMS Journal on Computing • Journal of Mathematical Modelling and Algorithms • Journal of Operations Research Society آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
مساله مسيريابي وسايل نقليه(Vehicle Routing Problem) • مجموعه اي از وسايل نقليه با ظرفيت (معمولا) يکنواخت وجود دارد که وظيفه آنها سرويس رساني به درخواستهاي مشتريان است. هدف يافتن مجموعه اي از مسيرها با کمترين هزينه است که با شرايط به همه تقاضاها سرويس بدهد. • مسيرها بايد از انبار شروع و به آن ختم شوند. • هر مشتري بايد توسط دقيقا يک وسيله ملاقات شود. • مجموع تقاضاهاي مشتريها در هر مسير نبايد بيشتر از ظرفيت وسيله نقليه باشد. آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
تعريف فرمال مسالهCVRP G =(V, E) , V={0,1,…,n}, Q, qi, m, dij آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
يک نمونه مساله ساده از CVRP آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
ايده اصلي • هدف يافتن كوتاهترين مسير • گره هاي نزديك به هم بهتر است در يك تور قرار بگيرند • درخت پوشاي كمينه كوچكترين درخت روي گراف است كه همه گره ها را مي پوشاند • گره هاي موجود روي يك شاخه به هم نزديك ترند • احتمالا مسيرهايي كه گره هاي روي يك شاخه را به هم وصل مي كنند، مسيرهاي كوتاهتري هستند و درخت پوشاي كمينه خوشه بندي مناسبي روي گره ها فراهم مي كند. آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
الگوريتم پيشنهادي • دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • وروديها شامل تعداد گره هاي گراف مساله (بجز انبار)، ظرفيت وسايل نقليه، مختصات انبار يعني مولفه هاي x و y مربوط به آن و در نهايت مختصات ساير گره هاي مساله و ميزان تقاضاي هر گره هستند. آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
مقادير اوليه آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
ساخت درخت پوشاي مي نيمم • استفاده از روش پريم براي ساخت درخت تعريف شده روي گراف مساله • ريشه درخت: انبار • ساير گره هاي درخت: مشتريها • وزن يالها به ترتيب صعودي براساس پارامتر • مقداردهي اوليه به مقادير وزنهاي متناظر با يالها آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
روش پريم • مرتب کردن کليه يالهاي گراف مساله براساس وزن، به ترتيب صعودي • شروع از يک درخت تهي • تا زماني که تمام گره ها به درخت متصل نشده اند مرحله زير انجام گيرد: • افزودن يال داراي کمترين وزن به درخت که باعث تشکيل دور نگردد. آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
ساخت راه حلها توسط مورچه ها شروع حرکت کليه مورچه ها از انبار و انجام همزمان فعاليتهاي زير توسط هر مورچه • انتخاب تصادفي يک زير شاخه از درخت • تا وقتيکه گرهء بازديد نشده اي باقي مانده باشد: • اگر شاخه جاري درخت کاملا بازديد شده است • انتخاب بهترين شاخه مجاور به عنوان شاخه جاري براساس صرفه جويي حاصل • انتخاب احتمالي گره بعد، از شاخه فعلي درخت (به جز انبار) • اگر امکان سرويس دهي به مشتري جديد وجود دارد • انتقال به اين مشتري و کاهش ظرفيت وسيله • افزودن مشتري جديد به مسير طي شده • در غير اين صورت بازگشت به انبار و شروع مجدد حرکت از انبار • بازگشت به مرحله 2 • افزودن انبار به عنوان آخرين گره به مسير آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
ساختار طراحي شده براي هر مورچه • مسير جزئي ساخته شده • گره هاي ملاقات شده در مسير • طول مسير طي شده تابه حال • تعداد تورهاي مسير • تعداد يالهاي سازنده مسير • ميزان ظرفيت باقيمانده آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
انتخاب بهترين شاخه مجاور • بررسي شاخه هاي سمت چپ و راست • مطابقت درخواست گره با ظرفيت وسيله • انتخاب بيشترين صرفه جويي • انتقال به شاخه جديد آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
انتخاب شبه تصادفي گره بعدي بجز انبار (از شاخه جاري) آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
انتخاب احتمالي براساس تابع احتمال تجمعي 2/10 3/10 5/10 آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
جستجوي محلي براي بهبود مسيرها • 3-opt • swap • move آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
3-opt(3-exchange) آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
------ . . r1-1 r1 r1+1 r2-1 r2 r2+1 ------ . . r2-1 r2 r1-1 r1 r1+1 r2+1 جايگزيني گره ها در يک تور آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
------ . . r1-1 r1 r1+1 r2-1 r2 r2+1 ------ . . r2-1 r2 r1 r1+1 r1-1 r2+1 ------ . . r1-1 r1 r1+1 r2 r2+1 r2+1 جابه جايي گره در يک تور آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
به روزرساني مقادير فرومون • جمله اول: شبيه سازي عمل تبخير براي کليه تورها • جمله دوم: افزايش فرومون براي مورچه هايي که-1neبهترين جوابها را به دست آورده اند • جمله سوم: افزايش فرومون براي بهترين مسير با ضريب ne در هر 5 بار تکرار آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
به روزرساني بهترين مسير • بررسي محدوديتهاي مرزي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
به روزرساني وزن يالهاي شرکت کننده در درخت • بررسي محدوديت مرزي براي وزنها آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
پارامترهاي آماري • طول بهترين و بدترين مسير ساخته شده • طول متوسط راه حلها • انحراف معيار استاندارد • شماره تکراري که بهترين جواب در آن تکرار به دست آمده آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
دريافت وروديهاي مساله • انجام محاسبات اوليه و مقداردهي به پارامترها • شروع حلقه اصلي الگوريتم • ساخت درخت پوشاي کمينه • توليد جوابهاي مساله توسط مورچه ها • انجام جستجوي محلي روي جوابهاي حاصل • به روزرساني مقادير فرومون • به روزرساني اوزان يالهاي درخت • انجام محاسبات زماني • محاسبه پارامترهاي آماري • چاپ نتايج در خروجي آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
دستاوردهاي پروژه • ساخت درخت پوشاي كمينه براي انجام خوشه بندي مناسب روي گره هاي گراف مساله • تعريف وزن براي يالهاي گراف جهت ساخت درخت پوشاي كمينه • بهره گيري از مقادير وزن يالها و ميزان درخواست گره ها براي تصميم گيري در زمان انتخاب گره بعدي • نحوه به روزرساني وزن يالها • تعريف پارامترهاي مناسب در بخشهاي تغييريافته آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
مکانيزم شروع مجدد • جلوگيري از رکود و گرفتار شدن در کمينه محلي • بخش پذيري تفاضل شماره تکرار بهترين جواب از تکرار جاري بر پارامتر شروع مجدد (30) • بازگرداندن پارامترها به مقادير اوليه • نگهداري بهترين جواب سراسري آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
داده هاي آزمايشي • مجموعه داده هاي موجود در اينترنت • OR-Libraryhttp://people.brunel.ac.uk/~mastjjb/jeb/orlib/files/ • Christofideshttp://mistic.heig-vd.ch/taillard/problemes.dir/vrp.dir/taillard.dir • Taillard • داده هاي موجود در هر بستر آزمايشي • تعداد گره ها (شهرها) • مختصات انبار • ظرفيت وسايل • مختصات گره ها • ميزان درخواست هر گره • بهترين جوابي كه تا به حال به دست آمده آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab آزمايشگاه سيستم هاي هوشمند http://Ceit.aut.ac.ir/islab
آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab
آزمايشگاه سيستم هاي هوشمند http://ceit.aut.ac.ir/islab