نیلوفر هاشمی
نیلوفر هاشمی

تعیین تعداد مناسب برای نسلها و جمعیت

با سلام و احترام

وقتتون به خیر. در بهینه سازی با کمک الگوریتم  ژنتیک، اگر تعداد کل حالات با توجه به تعداد متغیرها حدود ۲۴۰۰ تا باشه، در این صورت چه تعداد نسل و جمعیت مناسب هست؟ در واقع میخوام بدونم که آیا تعداد راه حلهای کل در الگوریتم ژنتیک باید با تعداد حالات کل برابر باشه؟ ممنون میشم من را راهنمایی بفرمایید.

 پاسخ 

با عرض سلام. انتخاب پارامترهای الگوریتم ژنتیک مساله‌ی ثابتی نیست و می‌تواند کمی سلیقه‌ای باشد. در کل Population Size بیشتر به تعداد متغیرها مرتبط است. مثلا اگر ۲۰ متغیر دارید پیشنهاد بنده انتخاب Population size بالاتر از ۱۰ است.

۲۴۰۰ حالت برای بهینه‌سازی بسیار کم است و با Poplulation size ۱۰ و max gen ۵۰ نیز مساله شما حل خواهد شد. به عکس زیر نیز توجه کنید. در سایر مسائل می‌توانید max gen را روی ۲۰۰ قرار دهید و هرگاه مساله Converge شد الگوریتم را متوقف کنید. منظور از Converge شدن نمودارهای تب اول است که تعداد پاسخ‌های جدید به دست آمده را به شما نشان می‌‌دهد.

سپاس از توضیحات مفیدی که ارائه دادید. در حقیقت من دارم با پلاگین والسی wallacei در محیط گرس هاپر بهینه سازی را انجام میدم. اما متاسفانه بعد از حدود 1 نسل که شبیه سازی را انجام میده نرم افزار بسته میشه. علت را نمیدونم. با 2 تا سیستم (کامپیوتر و لپتاب) هم امتحان کردم و مشکل حل نشد. 

من با هانی بی و لیدی باگ کار کردم ولی با انرژی پلاس زیاد آشنایی ندارم و فقط محیطش را تا حدودی میشناسم. آیا شما پیشنهاد میکنید که نرم افزار jEPlus را کار کنم؟ در کل کارکرد این نرم افزار در مقایسه با wallacei چگونه هست؟

با سپاس فراوان.

و یک سوال دیگه. نرم افزار jEPLUS میتونه فرم یک پوسته را به عنوان متغیر قبول کنه؟ یعنی مثلا فرض کنید فرم پوسته جنوبی یک ساختمان در ۲۴۰۰ حالت تغییر کنه و تابع هدف هم به حداقل رساندن مصرف انرژی و آسایش حرارتی و غیره باشه. در این حالات فرمهای non-convex وجود داره.

با سپاس.

متاسفانه با نرم‌افزارهایی که فرمودید آشنایی ندارم که بشه عیب‌یابی کنم. با jEPlus می‌توانید مختصات رئوس سطوح را هم متغیر قرار دهید و در عمل مثلا اندازه و جانمایی پنجره یا سطوح را بهینه کنید اگرچه کاری است دقت و کمی تسلط به انرژی‌پلاس نیاز دارد. اما آن تغییر پوسته‌ای که احتمالا مد نظر شماست خیر. غیر محدب بودن ایرادی ندارد اگر Full Extrior رو انتخاب کرده باشید.

سپاس. و سوال آخر اینکه چی کامپیوتر یا لپتابی برای این کار مناسب هست که بتونه فضاهای جستجوی بزرگ را حل کنه؟

سپاس. و سوال آخر اینکه چی کامپیوتر یا لپتابی برای این کار مناسب هست که بتونه فضاهای جستجوی بزرگ را حل کنه؟

با هر سیستمی میتونید، زمان رانش متفاوته.

حداقل سیستم Core i7 6800HQ با ۸ گیگ رم DDR4 رو پیشنهاد می‌کنم. هرچه تعداد هسته‌های CPU بیشتر باشد تعداد بیشتری را هم‌زمان ران می‌گیرد و زمان بهینه‌سازی بسیار کاهش پیدا می‌کند.