انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 2 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چگونگی تعریف تابع هزینه در الگوریتم ژنتیک

چگونگی تعریف تابع هزینه در الگوریتم ژنتیک

#2
سلام .
در الگوریتم بهینه سازی ژنتیک ، اینکه باید تابع هزینه به چه صورت تعریف بشه به خود مسئله اصلی که می خواهیم مقدار بهینه آن را به دست آوریم ، بستگی دارد .
مثلا فرض کنید که مسئله به این صورت باشه که یک نفر از شهر A می خواهد به شهر B برسد و می تواند از شهرهای مختلفی بگذرد که فاصله آنها مشخص است . هدف بهینه سازی مسئله این میشه که بخواهیم کوتاه ترین مسیر رو پیدا کنیم تا بگوییم که بهتر است وی از چه شهرهایی بگذرد تا کوتاه ترین مسیر را طی کند .
در الگوریتم ژنتیک ، نسل های مختلفی را بر اساس انتخاب های فرد برای رسیدن از شهر A به شهر B ، می سازیم . یعنی هر فرد نسل ، در واقع یک مسیر است که فرد را از A به B می رساند و مشخص شده است که وی از چه شهرهایی در بین A و B باید عبور کند .
منظور از یک فرد نسل ، در واقع یک جواب برای مسئله است .
برای هر فرد نسل ، چون مسیر مشخص است و فاصله شهرها را نیز داریم بنابراین فاصله رسیدن از شهر A به B با یک ضرب و جمع ساده به دست می آید . همین عدد حاصل ، تابع هزینه برای این مسئله است که هر چه کوچکتر باشد ، بهتر است زیرا هدف مسئله این است که فرد مسیر کوتاه تری را طی کند .
هر چه تابع هزینه یک فرد نسل بهتر باشد ، آن فرد مناسب تر است و ما سعی می کنیم افرادی مشابه با وی را تولید کنیم تا شاید تابع هزینه آنها حتی از این مقدار هم کمتر شود .
بنابراین مشاهده می کنید که تابع هزینه به مسئله اصلی که باید بهینه آن را پیدا کنیم بستگی دارد .
در ضمن خود متلب نیز دستوری را برای الگوریتم بهینه سازی ژنتیک دارد ، اما حدس می زنم که هدف شما این است که خودتان کدهای متلب آن را بنویسید .
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط bubrenula


پیام‌های این موضوع
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۱۸, ۱۲:۰۷ ق.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۱۸, ۱۲:۱۰ ق.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۱۸, ۱۲:۱۹ ق.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۱۸, ۰۲:۲۶ ق.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۱۸, ۱۲:۲۶ ب.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۱۸, ۰۱:۰۸ ب.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۱۸, ۰۱:۲۷ ب.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۱۸, ۰۴:۰۷ ب.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۱۸, ۰۸:۴۹ ب.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۱۸, ۱۰:۱۰ ب.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۱۸, ۱۰:۵۴ ب.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۱۹, ۱۲:۲۱ ق.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۱۹, ۱۲:۳۶ ق.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۱۹, ۱۰:۵۴ ب.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۱۹, ۱۱:۱۴ ب.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۲۰, ۱۲:۲۴ ق.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۲۰, ۱۲:۴۸ ق.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۲۰, ۱۱:۵۹ ق.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۲۰, ۰۳:۳۸ ب.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۲۰, ۰۴:۴۴ ب.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۲۰, ۰۶:۳۳ ب.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۲۱, ۰۲:۲۸ ب.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۲۱, ۰۳:۵۸ ب.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۲۱, ۰۴:۵۰ ب.ظ
RE: راهنمایی - توسط admin - ۱۳۹۱/۱۱/۲۱, ۰۶:۳۲ ب.ظ
RE: راهنمایی - توسط immaculate - ۱۳۹۱/۱۱/۲۳, ۰۵:۵۴ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان