Transcript Slide 1
بنام خدا معرفي روشهاي اصالح شده در بهينه سازي کولوني مورچه ها و پيشنهاد يک local optimization معرفی مسئله TSP روش هاي متفاوت بهينه سازي هوشمند بهينه سازي کولوني مورچه ها سير تحولي و تکاملي اين الگوريتم ACS MACS GMACS Local optimizationها محدوديت ها پيشنهاد يک local optimization مقايسه و نتيجه گيری در مسائل بهينه سازي با تعداد زياد پارامتر ،روش هاي قديمي کارايي چنداني ندارند وقت هزينه زياد بررسي تمامي فضاي جواب تقريبا غير ممکن است بنابراين از روش هاي ديگري استفاده شود که به صورت هوشمند گستره فضاي جستجو را کاهش دهند. الگوبرداري از سيستم ها و فرايند هاي طبيعي و بيولوژيک در انجام چنين فرايند هايي موفق تر عمل مي کنند. ازجمله به الگوريتم هاي ژنتيکي ،شبکه هاي عصبي و بهينه سازي کولوني مورچه ها ) (Ant Colony Optimization=ACOمی توان اشاره کرد . مسئله TSP حل اين مسئله ،مخصوصا وقتي تعداد شهرها زياد باشد ،با روشهاي تحليلي ممکن نيست. TSPدر مختصات دو و سه بعدی و ATSP مسائل Eil51وKroa100 http://www.iwr.unihelderberg.de/iwr/comopt/s of/TSPLIB95/TSPLIB.html مفاهيم مربوط به ACS ACSتوسط M. Dorigoو L.M.Gambardella برای اولين بار مطرح شد. مشاهده شده است که مورچه ها معموال بعد از گذشت مدت زماني ،کوتاه ترين مسير را براي دستيابي به غذا مي يابند و به صورت دسته جمعي از اين مسير استفاده مي کنند. مکانيزم حاکم بر رفتار آنها به اين صورت است که هر مورچه به سمت هدف مورد نظر (غذا) حرکت مي کند و در مسير حرکت خود ماده اي به نام فرمون()pheromone بر جاي مي گذارد .ضمنا فرمون به جاي مانده در مسير با نرخ ثابتي تبخير مي شود و مورچه هاي ديگر را به سمت خود جذب مي کند. به طور همزمان تعداد زيادي مورچه به اين کار پرداخته و مسير هاي مختلف را آزمايش مي کنند .بنابراين مورچه ها به مسيري همگرا خواهند شد که فرمون در آن از غلظت بيشتري برخوردار است. در ابتدا که فرموني وجود ندارد مورچه ها در دو راهي ها هيچ رجحاني براي انتخاب يک مسير خاص ندارند با توجه به احتماالت ،به طور متوسط تعداد مورچه هايي که در هر يک از دو جهت به راه خود ادامه مي دهند ،مساوي است. اما به دليل تبخير ،باگذشت زمان مسيرهاي کوتاه تر ،حاوي فرمون بيشتري خواهند بود و بيشتر مورچه ها به سمت مسير هاي کوتاه تر جذب مي شوند. در واقع مورچه ها Agentهاي ساده اي هستند که با ارتباط فرموني خود يک حافظه گسترده ( )distributedايجاد مي کنند و با بهره گيري از فرمون و اين حافظه ،جواب مسئله را به صورت شراکتي به دست مي آورند. ما مسئله هاي TSPمتقارن در مختصات دو بعدي را مورد بررسي قرار داده ايم .ابتدا تعداد شهرها را مشخص مي کنيم ،هرشهر با يک جفت مرتب ) ( xi , yiنشان داده مي شود d(r,s) .فاصله اقليدسي بين دو شهر rو sمي باشد .حال تعداد مشخصي مورچه را به طور تصادفي در شهر هاي موجود قرار مي دهيم و مورچه ها طبق قانون حرکتي که در زير توضيح داده مي شود ،شهر بعدي را انتخاب مي کنند .در اين انتخاب دو معيار به طور همزمان مد نظر قرار مي گيرند: .1فاصله تا شهر بعدي .2مقدار فرمون در مسير منتهي به شهر بعدي در ابتداي الگوريتم فرمون موجود در تمامي مسيرها برابر فرض شده ومقداري در بازه ] [0,1به آن اختصاص داده مي شود .سپس شهر مقصد يا شهر sبا توجه به معيارهاي باال ،از فرمول زير محاسبه مي شود: بنابراين با فرض اينکه در لحظه فعلي مورچه kام در شهر rقرار دارد و sيکي از شهر هايي است که مورچه kام از آن عبور نکرده است ،احتمال انتخاب شهر sبه عنوان شهر بعدي از رابطه زير محاسبه مي شود: وجود S2تا حدي به الگوريتم حالت تصادفي تزريق مي کند و بدون وجود S2احتمال همگرايي الگوريتم به مينيمم موضعي باال خواهد بود چرا که استفاده از S2فضاي جستجو را گسترش مي دهد و به الگوريتم کمک مي کند که تا حدي از دام مينيمم موضعي برهد. براي بدست آوردن جواب بهينه ،مقادير پارامتر ها بايد به نحو مناسبي انتخاب شوند .مقادير مناسب تاحد زيادي وابسته به مسئله خواهند بود اما طبق نتايج شبيه سازي هاي انجام شده مقادير q0 = 0.9و β = 6منجر به نتايج مناسبتري شدند. با حرکت مورچه ها مقدار فرمون در مسير هاي پيموده شده ،در دو مرحله تغيير مي کند: Global updating -1 Local updating -2 Global updating هر بارکه همه مورچه ها به شهري که سفر خود را ازآنجا آغاز کرده بودند ،بازگشتند (تمام tourها به پايان رسيدند) طول مسير ها را بدست مي آوريم و مسير هر کدام از مورچه ها را که کوتاه تر از بقيه بود ،انتخاب مي کنيم .به منظور انجام global updatingابتدا فرمون تمامي مسير ها را به يک نسبت کم مي کنيم (در بحث حاضر در اين مرحله مقدار فرمون تمامي مسير ها در 0.9ضرب شده است ).و مقداري فرمون به تمام edgeهايي که عضو بهترين مسير هستند اضافه مي کنيم .مقدار فرموني که بايد به edgeهاي مسير بهينه افزوده شود،Δpheromone)r,s) ، با عکس طول کوتاه ترين مسير برابرخواهد بود . پارامتر αتضعيف فرمون (تبخير) در مرحله global updatingمي باشد و طول کوتاه ترين مسير طي شده تا اين مرحله از الگوريتم مي باشد. Local updating براي اينکه عالوه بر بهترين مورچه به ديگر مورچه ها هم اهميت قايل شويم و بتوانيم از اطالعات با ارزش مسير آنها استفاده کنيم local updatingرا طراحي مي کنيم يعني هرگاه يک مورچه از شهري به شهر ديگر مي رود ،بايد در مسير پيموده شده مقداري فرمون طبق فرمول زير تزريق شود و در عين حال به طور همزمان بايد عمل تبخير نيز اعمال شود. ρبراي شبيه سازي تبخير مورد استفاده قرار مي گيرد .درصورتي که مورچه اي از edgeاي عبور کند ،فرمون آن edgeافزايش مي يابد. pheromone مقدار ،Δpheromoneبا روشهاي مختلفي مقدار دهي مي شود .1روش Q-learningمخصوص حالتي است که الگوريتم ميزان تزريقي را خودش ياد مي گيرد .اطالعات بيشتر در مرجع ] [2آمده است .در اين روش مقدار فرمون تزريقي برابر خواهد بود با: ضريب γدر آن مقداري ثابت و در بازه ] [0,1است .2روش ديگر آن است که Δpheromoneرا مساوي (مقدار ثابت) قرار دهيم. .3روش سوم مساوي قرار دادن آن با صفر مي باشد(حذف local (.updating طبق شبيه سازي هاي انجام شده روشهاي اول و دوم هر دو نتايج خيلي بهتري نسبت به روش سوم بدست مي دهند چرا که حذف کردن local updatingباعث مي شود الگوريتم خيلي سريع به مينيمم موضعي همگرا شود. الگوريتم هاي اصالح شده ( Multiple Ant Colony System) MACS در اين روش از ايده کولوني هاي موازي استفاده شده است و سعي در جلوگيري از همگرايي به مينيمم هاي موضعي دارد .روش ACOاز فيدبک مثبت استفاده مي کند اما در MACSمي توان با تغيير پارامتر ها ،فيدبک منفي را هم وارد الگوريتم کرد .در اين روش Mکولوني مورچه داريم که در هرکدام mمورچه موجود مي باشد و ) (h,kمورچه kام است که به کولوني hام تعلق دارد .در زمان Mm ،tمورچه بين شهر ها در حال حرکت مي باشند .هر مورچه در بازه زماني ] ،[t,t+1از شهر iبه شهر jمي رود. نحوه انتخاب شهر jدر زير توضيح داده مي شود : را ميزان فرمون ) edge(i,jدر کولوني اگر hام در زمان tبگيريم و ضريب تبخير و طول tourطي شده توسط مورچه ي ) (h,kباشد ،بعد از nبازه ي زماني ميزان فرمون بين شهرهاي و jدر کولوني hام برابر است با : در واقع در اين الگوريتم local updatingنقش موثرتري را ايفا مي کند چرا که به دليل تعدد کولوني ها، تعداد antها باال رفته و فضاي جستجو وسيع تر شده است و در واقع احتمال از دست دادن مسير هاي مناسب در اثر به دام افتادن در مينيمم هاي موضعي ،بسيار پايين مي آيد. πميزان تمايل به انتخاب شهر jاست(که در اثر ارتباط بين کولوني ها شکل مي گيرد). αميزان تاثير کولوني lبر hرا نشان مي دهد ،يعني اگر مثبت باشد ،کولوني lبر hروي کولوني تاثير مثبت خواهد داشت (افزايش فرمون) و اگر منفي باشد ،فيدبک منفي ايجاد خواهد شد(کاهش فرمون) و اگر صفر باشد ،کولوني lبر کولوني hتاثيري نخواهد داشت C .پارامتر باياس است و هميشه ميزا ن ثابتي از تمايل را در کولوني باياس مي کند d .هم طول ) edge(i,jاست. پس قانون احتمال براي انتخاب شهر مقصد به صورت زير در مي آيد: :)Genetically Modified ACS( GMACS بررسي ها در جهت کشف روابط ميان پارامترها با هم و تاثير آنها بر سرعت همگرايي ،منجر به استفاده از GMACSشد .استفاده از الگوريتم ژنتيکي باعث مي شود که مقدار پارامتر ها بهبود يابد و مسير هاي کوتاه تر توسط مورچه ها ايجاد شود. ارزش هر مورچه برابر است با تفاضل طول مسيري که آن مورچه در تکرار قبلي طي کرده و بهترين طول بدست آمده توسط مورچه هاي ديگر. fitness functionبراي هر مورچه برابر است با ارزش هر مورچه ،تقسيم بر متوسط ارزش در ميان جمعيت مورچه ها. mating Crossover mutation راه حل پيشنهادي براي تصحيح مسير هاي متقاطع به سادگي اثبات ميشود که در جواب بهينه مسئله ،TSPهيچ برخوردي ميان edgeها وجود نخواهد داشت داريم 'ab'+ba> 'aa'+bb بــااعمال روش ACOبه مسئله TSPو بررسي iterationهاي مختلف مشاهده مي شود که تقريبا درتمامي مراحل بين بعضي edgeها ،تقاطع وجود دارد که باعث مي شود سرعت همگرايي کاهش يابد و يا در اغلب موارد در مينيمم موضعي به دام بيفتد. مشکل اصلي در اين ارتباط که با احتمال باال رخ مي دهد اين است که مسير انتهايي که بين آخرين شهر و اولين شهر وجود دارد ،باعث ايجاد تقاطع مي شود. روشی که مورد استفاده قرار مي گيرد روش opt-2است. در opt-2هر edgeاي با همه edgeهاي ديگر مورد مقايسه قرار مي گيرد .در هر مقايسه دو edgeمورد مقايسه حذف مي شوند در نتيجه مسير کلي جواب به دو مسيرک جدا از هم تقسيم مي شود .به دوطريق مي توان اين مسيرک ها را به يکديگر وصل کرد تا مسير بسته شود .هر بار با امتحان هر دو شيوه اتصال ،آرايشي انتخاب مي شود که طول کمتري را بدست دهد. در روش پيشنهادي در اين مقاله اوال با اجراي يک الگوريتم خاص فقط مسير هايي را مورد بررسي قرار مي دهيم که با هم تقاطع داشته باشند. ثانيا با تقسيم صفحه به ( Setمجموعه) هاي مختلف وبررسي تقاطع در هر يک از مجموعه ها ،سرعت عملياتي را افزايش مي دهيم . اين الگوريتم را با شکل ساده زير توضيح مي دهيم. را در زيرkroa100 وeil51 نتايج مربوط به مسائل :می بينيم بعدrealtime با رويکرد بعد ازopt-2 نتايج با 80 tour از 1800 tour Best result=42.71 Best result = 42.5 Average=42.863 Average=42.796 Best result = 214.8 Average=215.1 Best result = 212.82 Average=212.8544 نام مسئله Eil51 kroa100 بنابراين اين روش با قرار دادن شهرها در چندين مجموعه و جلوگيري از مقايسه هاي اضافي که در انجام مي گيرد،در بحثهای realtimeسرعت باالتري نسبت به آن دارد. با تشکر از حوصله شما بزرگواران امير حسين تمجيدي علي اکبر آقامحمدي گروه کنترل دانشکده برق وکامپيوتر دانشگاه تبريز