ارسال
در:
هیوریستیکها،
|
در حالت كلی سه دسته از الگوریتمهای هیوریستیك قابل تشخیص است: 1- الگوریتمهایی كه بر ویژگیهای ساختاری مساله و ساختار جواب متمركز میشوند و با استفاده از آنها الگوریتمهای سازنده یا جستجوی محلی تعریف میكنند . 2- الگوریتمهایی كه بر هدایت هیوریستیك یك الگوریتم سازنده یا جستجوی محلی متمركز میشوند به گونهای كه آن الگوریتم بتواند بر شرایط حساس (مانند فرار از بهینه محلی) غلبه كند . به این الگوریتمها ، متاهیوریستیك گفته میشود . 3- الگوریتمهایی كه بر تركیب یك چارچوب یا مفهوم هیوریستیك با گونههایی از برنامهریزی ریاضی (معمولا روشهای دقیق) متمركز میشوند . هیوریستیكهای نوع اول میتوانند خیلی خوب عمل كنند (گاهی اوقات تا حد بهینگی) اما ممكن است در جوابهای دارای كیفیت پایین گیر كنند . همان طور كه اشاره شد یكی از مشكلات مهمی كه این الگوریتمها با آن روبرو میشوند افتادن در بهینههای محلی است ، بدون اینكه هیچ شانسی برای فرار از آنها داشته باشند . برای بهبود این الگوریتمها از اواسط دهه هفتاد ، موج تازهای از رویكردها آغاز گردید . این رویكردها شامل الگوریتمهایی است كه صریحا یا به صورت ضمنی تقابل بین ایجاد تنوع جستجو (وقتی علائمی وجود دارد كه جستجو به سمت مناطق بد فضای جستجو میرود) و تشدید جستجو (با این هدف كه بهترین جواب در منطقه مورد بررسی را پیدا كند) را مدیریت میكنند . این الگوریتمها متاهیوریستیك نامیده میشوند . از بین این الگوریتمها میتوان به موارد زیر اشاره كرد: - بازپخت شبیهسازی شده .
- جستجوی ممنوع .
- الگوریتمهای ژنتیك .
- شبكههای عصبی مصنوعی .
- بهینهسازی مورچهای یا الگوریتمهای مورچه .
|
|