تالار گفتمان مانشت

نسخه‌ی کامل: افزایش واگرایی الگوریتم های مبتنی بر جمعیت
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
چطور میشه توی الگوریتم های بهینه سازی کاری کرد که الگوریتم در نقاط بهینه محلی گیر نیفته ؟
از متن هایی که پیدا کردم اینو فهمیدم که باید یک تابع به اسم chaos ساخت که اگر الگوریتم در بهینه محلی افتاد بتونه از اونجا درش آورد؟
کسی میدونه کجا و چجوری باید این تابع رو اعمال کنم؟ و باید چجور تابعی باشه؟
(05 شهریور 1398 03:45 ق.ظ)moslem73421 نوشته شده توسط: [ -> ]سلام
چطور میشه توی الگوریتم های بهینه سازی کاری کرد که الگوریتم در نقاط بهینه محلی گیر نیفته ؟
از متن هایی که پیدا کردم اینو فهمیدم که باید یک تابع به اسم chaos ساخت که اگر الگوریتم در بهینه محلی افتاد بتونه از اونجا درش آورد؟
کسی میدونه کجا و چجوری باید این تابع رو اعمال کنم؟ و باید چجور تابعی باشه؟
سلام. این روشی که گفتید فقط یک روش هست. در مقاله هایی که خوندید نوشته کجا باید استفاده کرد. متداولش زمانی هست که در بهینه محلی گیر کرده (اینو از روند بهبود فیت نس میشه تشخیص داد) منتهی از ابتدای سرچ هم میشه لحاظ کرد.
(05 شهریور 1398 03:45 ق.ظ)moslem73421 نوشته شده توسط: [ -> ]سلام
چطور میشه توی الگوریتم های بهینه سازی کاری کرد که الگوریتم در نقاط بهینه محلی گیر نیفته ؟
از متن هایی که پیدا کردم اینو فهمیدم که باید یک تابع به اسم chaos ساخت که اگر الگوریتم در بهینه محلی افتاد بتونه از اونجا درش آورد؟
کسی میدونه کجا و چجوری باید این تابع رو اعمال کنم؟ و باید چجور تابعی باشه؟

اگه تابع هدف Convex باشه که میشه نتیجه گرفت که بهینه محلی نداره و هر بهینه ی محلی بهینه ی سراسری حساب میشه. اما اگه تابع Convex نباشه روش های زیادی هست که از افتادن بهینه ساز توی بهینه ی محلی جلوگیری کنه. مثلا یکی از روش های ساده استفاده از Random Walk هست. یه راه ساده ی دیگه شروع فرآیند بهینه سازی با یک نقطه ی شروع دیگه و مقایسه ی نقاط بهینه ی پیدا شده توی آزمایشات مختلف هست تا مشخص بشه آیا نقاط پیدا شده متفاوت هستن یا نه.
در کل هر چی تابع، فراز و نشبیش بیشتر باشه پیدا کردن بهینه ی سراسری سخت تر میشه و هیچ روش قطعی مبتنی بر تکرار و تخمینی وجود نداره که مشخص کنه نقطه ی پیدا شده بهینه ی سراسری هست یا محلی.
لینک مرجع