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سرعت باالتري نسبت به آن
دارد.
با تشکر از حوصله شما بزرگواران
امير حسين تمجيدي
علي اکبر آقامحمدي
گروه کنترل دانشکده برق وکامپيوتر دانشگاه تبريز