[ الگوریتم ژنتیک و ارتباط آن با رشته عمران ]

shahrood

عضو جدید
دوستان عزیز سلام.
اگر اطلاعاتی راجب الگوریتم ژنتیک و ارتباط آن با رشته عمران برای من توضیح دهید.
با تشکر
 
آخرین ویرایش توسط مدیر:

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
دوستان عزیز سلام.
اگر اطلاعاتی راجب الگوریتم ژنتیک و ارتباط آن با رشته عمران برای من توضیح دهید.
با تشکر
الگوریتم ژنتیک یکی از تکنیکهای بهینه سازی هستش که در هر مرحله به global optimum نزدیک میشه.شما تو هر فرایند بهینه سازی یه تابع هدف و یک یا چند تا قید داریم که بهینه سازی برای ارضا تابع هدف در چهار چوب قیودت پیش میره.
ایده اصلی الگوریتم ژنتیک از ایده بقای نسل برتر که توسط داروین بنا شده توسط پروفسور holland بنا شده.
نمیدونم چه قد از الگوریتم ژنتیک میدونین،و واسه چه کاری میخاین(مطمنا واسه بهینه سازی ولی چی رو میخاین بهینه کنین؟) اگه بخاین میتونم توضیحات کاملتری رو در مورد ساختار الگوریتم و اعمال cross over و mutation بهتون بدم.اگرم مقالهی خاصی مد نظرتونه بگین واستون پیداش کنم
ضمنا نرم افزار matlab جعبه ابزار الگوریتم ژنتیک رو داره(البته فک نکنم زیاد قدرتمند باشه) که میتونین با تایپ دستور gatool فراخونیش کنین.اگرم میخاین خیلی حرفه ای تر تو کارتون پیش برین،منطق فازی وسیستمهای عصبی فوق العادست
 

shahrood

عضو جدید
سلام .
با تشکر از شما
من تازه شروع کرم به یادگیری این الگوریتم کلا اطلاعات کلی راجب به آن ها میخوام.آیا شما مقاله ی فارسی راجب این موضوع البته مریوط به عمران باشه دارید؟
با تشکر
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
دوستان عزیز سلام.
اگر اطلاعاتی راجب الگوریتم ژنتیک و ارتباط آن با رشته عمران برای من توضیح دهید.
با تشکر

سلام .
با تشکر از شما
من تازه شروع کرم به یادگیری این الگوریتم کلا اطلاعات کلی راجب به آن ها میخوام.آیا شما مقاله ی فارسی راجب این موضوع البته مریوط به عمران باشه دارید؟
با تشکر

براي الگوريتم ژنتيك، به فارسی، زيربخش آخر از بخش 8 كتاب "شگردهاي عددي" رو مي‏تونيد بخونيد. موقعي كه من اون كتاب رو نوشتم، هنوز شركت MathWorks جعبه‏ابزار الگوريتم ژنتيك رو ارائه نداده بود، واسه همين برنامه‏ها رو خودم نوشتم. برنامه‏هاي كتاب رو مي‏تونيد از لينك زير دانلود كنيد.

http://mmnrecipes.blogspot.com

احتمالاً اولين كتاب فارسي در مورد الگوريتم ژنتيك همين است كه من نوشته[FONT=&quot]‏[/FONT]ام (سال 1381). آن موقع شركت MathWorks هنوز Toolbox براي الگوريتم ژنتيك نداده بود، براي همين برنامه‏هاي الگوريتم ژنتيك آن كتاب را خودم نوشتم، و مطمئناً ساده‏تر از آني هست كه شركت MathWorks داده؛ اين طبيعي است، چون يك نفر كجا و يك تيم كجا؟ اما در هر صورت مفاهيم آن را داخل كتاب توضيح دادم و برنامه‏هايش هم قبل از اينكه كتاب رو چاپ كنم حداقل براي 20 تا پروژة ليسانس و فوق ليسانس تست شده. مفاهيمش خيلي ساده هست. البته بعضيها يك سري مفاهيم پيچيده رو به هر مبحثي اضافه مي‏كنن؛ من اين كار رو نكردم. فقط بايد متلب بلد باشيد، كه اون رو هم در بخش اول كتاب به طور خلاصه گفتم.
راستی مثالهای کتاب مال مهندسی مکانیک هستش.
مرجع


الگوریتم ژنتیک یکی از تکنیکهای بهینه سازی هستش که در هر مرحله به global optimum نزدیک میشه.شما تو هر فرایند بهینه سازی یه تابع هدف و یک یا چند تا قید داریم که بهینه سازی برای ارضا تابع هدف در چهار چوب قیودت پیش میره.
ایده اصلی الگوریتم ژنتیک از ایده بقای نسل برتر که توسط داروین بنا شده توسط پروفسور holland بنا شده.
نمیدونم چه قد از الگوریتم ژنتیک میدونین،و واسه چه کاری میخاین(مطمنا واسه بهینه سازی ولی چی رو میخاین بهینه کنین؟) اگه بخاین میتونم توضیحات کاملتری رو در مورد ساختار الگوریتم و اعمال cross over و mutation بهتون بدم.اگرم مقالهی خاصی مد نظرتونه بگین واستون پیداش کنم
ضمنا نرم افزار matlab جعبه ابزار الگوریتم ژنتیک رو داره(البته فک نکنم زیاد قدرتمند باشه) که میتونین با تایپ دستور gatool فراخونیش کنین.اگرم میخاین خیلی حرفه ای تر تو کارتون پیش برین،منطق فازی وسیستمهای عصبی فوق العادست

برعکس، قویترین شبیه‏سازی الگوریتم ژنتیک، که من تا حالا دیدم همینی هست که شرکت MathWorks تهیه کرده و در نرم‏افزار متلب قرار داده.

شبکه[FONT=&quot][/FONT]های عصبی يك روش شناسائي سيستمها است، منطق فازی يك نوع نگرش به مسائل است، و الگوریتم ژنتیک يك روش بهگزيني است. اين سه مقوله منطقاً هيچ ارتباطي به هم ندارند، تا بخواهيد با هم مقايسه كنيد. هركدام براي كاريست. براي نمونه اگر قرار باشد مدل نوسانات ارزش يك زوج[FONT=&quot][/FONT]ارز، مانند GBP/JPY، را در بازار فاركس مدل كنيد، مي[FONT=&quot][/FONT]توانيد يك شبكة عصبي براي آن طراحي كنيد. در شبكة پيش[FONT=&quot][/FONT]گفته مي[FONT=&quot][/FONT]توانيد از ديدگاه منطق فازي هم استفاده كنيد. براي يافتن پارامترهاي چنين شبكه[FONT=&quot][/FONT]اي، مي[FONT=&quot][/FONT]توانيد يك تابع ارزش تعريف كرده و با استفاده از روشهاي بهگزيني مقدار كمينه يا بيشينة اين تابع ارزش را بيابيد. با ابن كار پارامترهاي سيستم به دست مي[FONT=&quot][/FONT]آيد و در حقيقت، سيستم شناسايي مي[FONT=&quot][/FONT]شود. براي يافتن كمينه يا بيشينة تابع ارزش پيش[FONT=&quot][/FONT]گفته مي[FONT=&quot][/FONT]توانيد از الگوريتم ژنتيك استفاده كنيد.
در اين نمونه، مي[FONT=&quot][/FONT]بينيد كه از هر سه مقوله[FONT=&quot][/FONT]اي كه بيان كرده بوديد، استفاده شد، اما لزومي ندارد كه از هر سه استفاده كنيد. در ضمن هيچ كدام از آنها را نمي[FONT=&quot][/FONT]توانيد به جاي ديگري استفاده كنيد.

پي[FONT=&quot]‏[/FONT]نوشت: من بيش از 10 تا پروژة شبكه[FONT=&quot]‏[/FONT]هاي عصبي، بيش از 5 تا پروژة منطق فازي، و بيش از 30 تا پروژة الگوريتم ژنتيك در مقطع ليسانس و فوق ليسانس انجام داده[FONT=&quot]‏[/FONT]ام.
مرجع
 
آخرین ویرایش:

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
براي الگوريتم ژنتيك، به فارسی، زيربخش آخر از بخش 8 كتاب "شگردهاي عددي" رو مي‏تونيد بخونيد. موقعي كه من اون كتاب رو نوشتم، هنوز شركت MathWorks جعبه‏ابزار الگوريتم ژنتيك رو ارائه نداده بود، واسه همين برنامه‏ها رو خودم نوشتم. برنامه‏هاي كتاب رو مي‏تونيد از لينك زير دانلود كنيد.

http://mmnrecipes.blogspot.com

احتمالاً اولين كتاب فارسي در مورد الگوريتم ژنتيك همين است كه من نوشته[FONT=&quot]‏[/FONT]ام (سال 1381). آن موقع شركت MathWorks هنوز Toolbox براي الگوريتم ژنتيك نداده بود، براي همين برنامه‏هاي الگوريتم ژنتيك آن كتاب را خودم نوشتم، و مطمئناً ساده‏تر از آني هست كه شركت MathWorks داده؛ اين طبيعي است، چون يك نفر كجا و يك تيم كجا؟ اما در هر صورت مفاهيم آن را داخل كتاب توضيح دادم و برنامه‏هايش هم قبل از اينكه كتاب رو چاپ كنم حداقل براي 20 تا پروژة ليسانس و فوق ليسانس تست شده. مفاهيمش خيلي ساده هست. البته بعضيها يك سري مفاهيم پيچيده رو به هر مبحثي اضافه مي‏كنن؛ من اين كار رو نكردم. فقط بايد متلب بلد باشيد، كه اون رو هم در بخش اول كتاب به طور خلاصه گفتم.
راستی مثالهای کتاب مال مهندسی مکانیک هستش.
مرجع




برعکس، قویترین شبیه‏سازی الگوریتم ژنتیک، که من تا حالا دیدم همینی هست که شرکت MathWorks تهیه کرده و در نرم‏افزار متلب قرار داده.

شبکه[FONT=&quot][/FONT]های عصبی يك روش شناسائي سيستمها است، منطق فازی يك نوع نگرش به مسائل است، و الگوریتم ژنتیک يك روش بهگزيني است. اين سه مقوله منطقاً هيچ ارتباطي به هم ندارند، تا بخواهيد با هم مقايسه كنيد. هركدام براي كاريست. براي نمونه اگر قرار باشد مدل نوسانات ارزش يك زوج[FONT=&quot][/FONT]ارز، مانند GBP/JPY، را در بازار فاركس مدل كنيد، مي[FONT=&quot][/FONT]توانيد يك شبكة عصبي براي آن طراحي كنيد. در شبكة پيش[FONT=&quot][/FONT]گفته مي[FONT=&quot][/FONT]توانيد از ديدگاه منطق فازي هم استفاده كنيد. براي يافتن پارامترهاي چنين شبكه[FONT=&quot][/FONT]اي، مي[FONT=&quot][/FONT]توانيد يك تابع ارزش تعريف كرده و با استفاده از روشهاي بهگزيني مقدار كمينه يا بيشينة اين تابع ارزش را بيابيد. با ابن كار پارامترهاي سيستم به دست مي[FONT=&quot][/FONT]آيد و در حقيقت، سيستم شناسايي مي[FONT=&quot][/FONT]شود. براي يافتن كمينه يا بيشينة تابع ارزش پيش[FONT=&quot][/FONT]گفته مي[FONT=&quot][/FONT]توانيد از الگوريتم ژنتيك استفاده كنيد.
در اين نمونه، مي[FONT=&quot][/FONT]بينيد كه از هر سه مقوله[FONT=&quot][/FONT]اي كه بيان كرده بوديد، استفاده شد، اما لزومي ندارد كه از هر سه استفاده كنيد. در ضمن هيچ كدام از آنها را نمي[FONT=&quot][/FONT]توانيد به جاي ديگري استفاده كنيد.

پي[FONT=&quot]‏[/FONT]نوشت: من بيش از 10 تا پروژة شبكه[FONT=&quot]‏[/FONT]هاي عصبي، بيش از 5 تا پروژة منطق فازي، و بيش از 30 تا پروژة الگوريتم ژنتيك در مقطع ليسانس و فوق ليسانس انجام داده[FONT=&quot]‏[/FONT]ام.
مرجع
ممنون از توضیحا تتون ولی بعید میدونم شما بتونین یا toolbox متلب براحتی یه خرپا رو بهینه سازی کنین
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
ممنون از توضیحا تتون ولی بعید میدونم شما بتونین یا toolbox متلب براحتی یه خرپا رو بهینه سازی کنین

لطف می‏کنید یه نمونه از این مسائل بهینه‏سازی خرپا رو که فکر می‏کنید نشه با جعبه‏ابزار الگوریتم ژنتیک متلب حل کرد، رو اینجا بیان کنید، تا تست کنم؟ البته اگه به نظرم مسأله‏ای خیلی وقت‏گیر نبود، هر وقت که وقت آزاد داشتم، امتحان می‏کنم.
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
لطف می‏کنید یه نمونه از این مسائل بهینه‏سازی خرپا رو که فکر می‏کنید نشه با جعبه‏ابزار الگوریتم ژنتیک متلب حل کرد، رو اینجا بیان کنید، تا تست کنم؟ البته اگه به نظرم مسأله‏ای خیلی وقت‏گیر نبود، هر وقت که وقت آزاد داشتم، امتحان می‏کنم.
شما بیان یه خرپای 3 دهانه و4طبقه رو(اندازه دهانه ها برابر و5 متر واندازه طبقات برابر و3 متر) رو با متلب بهینه سازی کنین(topology and sizing optmization)
کلهم واسه راحتی فرض کنین از 4 نوع سطح مقطع استفاده کنید(به دلخواه خودتون یا مثلا15.28 20.6 26.4 32.8)
تابع هدف:
کمترین وزن
قیود:
نسبت تنش موجود به تنش مجاز کمتر از یک
نسبت دریفت(جابجایی هر گره منهای گره پایینی تقسیم بر ارتفاع طبقه))به 005. کوچکتر از یک

مخلص کلام یعنی بیاد بهترین مکان واسه بادبند ها رو با بهترین size المانها پیدا کنه؟
اگه شما تونستید با toolbox اینکار رو بکنین دست راستم واسه شما:biggrin:
در ضمن الان یه 2 ماهی میشه دارم برنامه های که شما نوشتید رو بسط میدم چون اینجور مسایل اولا متغیرهاش discrete هستن ثانیا باید برنامه انالیز خرپا رو هم نوشت
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
شما بیان یه خرپای 3 دهانه و4طبقه رو(اندازه دهانه ها برابر و5 متر واندازه طبقات برابر و3 متر) رو با متلب بهینه سازی کنین(topology and sizing optmization)
کلهم واسه راحتی فرض کنین از 4 نوع سطح مقطع استفاده کنید(به دلخواه خودتون یا مثلا15.28 20.6 26.4 32.8)
تابع هدف:
کمترین وزن
قیود:
نسبت تنش موجود به تنش مجاز کمتر از یک
نسبت دریفت(جابجایی هر گره منهای گره پایینی تقسیم بر ارتفاع طبقه))به 005. کوچکتر از یک

مخلص کلام یعنی بیاد بهترین مکان واسه بادبند ها رو با بهترین size المانها پیدا کنه؟
اگه شما تونستید با toolbox اینکار رو بکنین دست راستم واسه شما:biggrin:
در ضمن الان یه 2 ماهی میشه دارم برنامه های که شما نوشتید رو بسط میدم چون اینجور مسایل اولا متغیرهاش discrete هستن ثانیا باید برنامه انالیز خرپا رو هم نوشت

لطف می‏کنید یه نمونه از این مسائل بهینه‏سازی خرپا رو که فکر می‏کنید نشه با جعبه‏ابزار الگوریتم ژنتیک متلب حل کرد، رو اینجا بیان کنید، تا تست کنم؟ البته اگه به نظرم مسأله‏ای خیلی وقت‏گیر نبود، هر وقت که وقت آزاد داشتم، امتحان می‏کنم.


  • جناب، همون طور که قبلاً گفته بودم، من اینقدر وقت ندارم که برنامة تحلیلش رو هم بنویسم، تحلیلش با شما.
  • برای متغیرهای گسسته، کار خیلی ساده هست، کافیه که در هر جایی از روند بهگزینی که لازمه از تابع round استفاده کنید؛ من قبلاً این کار رو انجام دادم، و یک مقاله هم ازش چاپ کردم، ولی هرچی می‏گردم، پیداش نمی‏کنم، شاید توی محل کارم داشته باشم، اگه پیداش کردم، آپلود می‏کنم.
پ.ن: من جز کار اصلیم، که لوله‏گذاری هست، این ترم 200 تا شاگرد هم دارم، واسه همین، متأسفانه، سرم خیلی شلوغه.
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
  • جناب، همون طور که قبلاً گفته بودم، من اینقدر وقت ندارم که برنامة تحلیلش رو هم بنویسم، تحلیلش با شما.
  • برای متغیرهای گسسته، کار خیلی ساده هست، کافیه که در هر جایی از روند بهگزینی که لازمه از تابع round استفاده کنید؛ من قبلاً این کار رو انجام دادم، و یک مقاله هم ازش چاپ کردم، ولی هرچی می‏گردم، پیداش نمی‏کنم، شاید توی محل کارم داشته باشم، اگه پیداش کردم، آپلود می‏کنم.
پ.ن: من جز کار اصلیم، که لوله‏گذاری هست، این ترم 200 تا شاگرد هم دارم، واسه همین، متأسفانه، سرم خیلی شلوغه.
با تشکر از شما استاد گرامی
خوب برنامه انالیزش رو که نوشتم ولی یه مشکلی دارم (یعنی چن تا مشکل)
اولا تعداد جمعیت های هر نسل چجوری تعیین میشه؟
ثانیا هر کرموزم شامل دو قسمت هستش (قسمت اول topology bit که طولش باندازه تعداد دهانه ست ،عدد یک یعنی اون دهانه بادبند داره وصفر یعنی نداره.قسمت بعدی کروموزوم اندازه هر المان هستش یعنی sizing bits (پس یک سازه تک دهانه و دارای 5 المان اگر متغیر سایز رو 4 تا بگیریم دارای کروموزومی بطول11 میباشد)) حال مشکل در عملگر ادغام هست ایا یک عملگر ادغام تک نقطه ای کفایت میکنه ویا چون بهینه سازی شامل هم توپولوژی وهم اندازه المانها هستش
وبصورت همزمان انجام میشه(simultaneouly) یعنی هر جمعیت نسل شامل یک توپولوژی ویک اندازه المان هست ایا بهتر نیست عملگر ادغام دونقطه ای(یعنی یکیش حتما رو topology bits ودیگری حتما رو sizing bits) صورت بگیره؟
ودر نهایت cross over rate چقد باشه؟ بعد از run کردن برنامم(یعنی برنامه شما) میزان رشد زیاد جالب نیست به این دو تا شکل دقت کنین




با تشکر از وقتی که میزارین امیدوارم با راهنماییتون پایان نامه خوبی از آب در اد:gol:
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
با تشکر از شما استاد گرامی
خوب برنامه انالیزش رو که نوشتم ولی یه مشکلی دارم (یعنی چن تا مشکل)
اولا تعداد جمعیت های هر نسل چجوری تعیین میشه؟
ثانیا هر کرموزم شامل دو قسمت هستش (قسمت اول topology bit که طولش باندازه تعداد دهانه ست ،عدد یک یعنی اون دهانه بادبند داره وصفر یعنی نداره.قسمت بعدی کروموزوم اندازه هر المان هستش یعنی sizing bits (پس یک سازه تک دهانه و دارای 5 المان اگر متغیر سایز رو 4 تا بگیریم دارای کروموزومی بطول11 میباشد)) حال مشکل در عملگر ادغام هست ایا یک عملگر ادغام تک نقطه ای کفایت میکنه ویا چون بهینه سازی شامل هم توپولوژی وهم اندازه المانها هستش
وبصورت همزمان انجام میشه(simultaneouly) یعنی هر جمعیت نسل شامل یک توپولوژی ویک اندازه المان هست ایا بهتر نیست عملگر ادغام دونقطه ای(یعنی یکیش حتما رو topology bits ودیگری حتما رو sizing bits) صورت بگیره؟
ودر نهایت cross over rate چقد باشه؟ بعد از run کردن برنامم(یعنی برنامه شما) میزان رشد زیاد جالب نیست به این دو تا شکل دقت کنین




با تشکر از وقتی که میزارین امیدوارم با راهنماییتون پایان نامه خوبی از آب در اد:gol:

با توجه به اینکه جواب همراه با فرمول بود و نمی‏تونستم اینجا بنویسم، توی یک فایل نوشتم. از لینک زیر بردارید.
اندازة نسل اولیه در الگوریتم ژنتیک
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز

shahrood

عضو جدید
:)من تحقیقی راجب بتن سبک لیکا با طرح اختلاط های مختلف انجام داده ام و به نتایجی رسیده ام و میخواهم با الگوریتم ژنتیک بهینه ترین طرح انتخاب کنم امکان دارد مرا راهنمایی نمایید؟
با تشکر
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
Cost Function

Cost Function

:)من تحقیقی راجب بتن سبک لیکا با طرح اختلاط های مختلف انجام داده ام و به نتایجی رسیده ام و میخواهم با الگوریتم ژنتیک بهینه ترین طرح انتخاب کنم امکان دارد مرا راهنمایی نمایید؟
با تشکر

الگوریتم ژنتیک، یا هر روش بهگزینی دیگر، می‏تواند کمینه یا بیشینه یک تابع ارزش را پیدا کند. برای یافتن طرح بهینه باید تابع ارزشی را تعریف کنید که از یافتن کمینه یا بیشینه آن، طرح بهینه پیدا شود. معنی این حرف آن است که شما باید معیارهای بهینه بودن یک طرح را تعریف کرده و با استفاده از آنها تابع ارزشی را برای حل مسأله تعریف کنید. تعریف تابع ارزش مناسب یک هنر است. پس از تعریف تابع ارزش، باید آن را با استفاده از یک زبان برنامه‏نویسی یا نرم‏افزار، شبیه‏سازی کنید.
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
:)من تحقیقی راجب بتن سبک لیکا با طرح اختلاط های مختلف انجام داده ام و به نتایجی رسیده ام و میخواهم با الگوریتم ژنتیک بهینه ترین طرح انتخاب کنم امکان دارد مرا راهنمایی نمایید؟
با تشکر
در تکمیل فرمایشات جناب مسافر ،شما میتونین به کتب مهندسی سیستم(که یکی از واحد های اختیاری عمران فک کنم باشه)رجوع کنین
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
معمولاً اگه Microsoft Office روی کامپیوتر نصب باشه، باید با دبل‏کلیک باز بشه. فایل word اون نوشته رو هم آپلود کردم:

اندازة نسل اولیه در الگوریتم ژنتیک
با تشکر ولی:
1-این فرمول از کجا بدست اومده p=1.65*2^.21L
طول هر کروموزومم بالای 100 تاست با این حساب باید بالای30000 جمعیت باشه
2-مقدار ضریب تابع پنالتی باید چند باشه؟
[FONT=&quot][/FONT]1 – Coello Coello, C. A. (2000). “Use of a self-adaptive penalty approach for engineering optimization problems.” Jr. of Computers in Industry Vol. 41, pp. 113–127
به این مقاله یه نگاهی بندازین؟(اگه ندارین بگین اپلود کنم)
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
:)من تحقیقی راجب بتن سبک لیکا با طرح اختلاط های مختلف انجام داده ام و به نتایجی رسیده ام و میخواهم با الگوریتم ژنتیک بهینه ترین طرح انتخاب کنم امکان دارد مرا راهنمایی نمایید؟
با تشکر
میشه چن تا مقاله در موردبتن سبک واسم میل بزنی?
farshid_civil@yahoo.com
 

meytim

متخصص محاسبات عددی و MATLAB
کاربر ممتاز
با تشکر ولی:
1-این فرمول از کجا بدست اومده p=1.65*2^.21L
طول هر کروموزومم بالای 100 تاست با این حساب باید بالای30000 جمعیت باشه
2-مقدار ضریب تابع پنالتی باید چند باشه؟
1 – Coello Coello, C. A. (2000). “Use of a self-adaptive penalty approach for engineering optimization problems.” Jr. of Computers in Industry Vol. 41, pp. 113–127
به این مقاله یه نگاهی بندازین؟(اگه ندارین بگین اپلود کنم)


  • اون فرمول رو فكر كنم از كتاب الگوريتم ژنتيك Mitsuo Gen برداشته بودم. p تعداد جمعيت نيست، تعداد كروموزوم هر نسله. تعداد جمعيت، همون تعداد تكراره كه شما 20 گرفته بوديد.
  • لازم نيست حتماً اعداد به دست آمده از اين فرمولها رو رعايت كنيد.
  • ضريب تابع تاوان بستگي به مسأله و اهميت جمله‏هاي مختلف تابع افزوده داره، يه روشش استفاده از سعي و خطاست.
  • اون مقاله رو ندارم.
 

orazzagh

عضو جدید
با سلام خدمت شما دوستان عزيز
من حقيقتش خيلي دنبال يه همچين سايتي گشتم تا بتونم سوالم را به فارسي از يكي از شما عزيزان ماهر در الگوريتم ژنتيك بپرسم.
من رو يه پروژه كار ميكنم كه يه تابع 6 متغيري دارم و هدف حداقل سازي اين تابع است.اما مشكل و مسئله عمده من اينه كه 4-5 قيد هم براي الگوريتم ژنتيك دارم(مسئله constrained GA) در زماني كه ميخواستم اين كار را به عنوان پايان نامه ارائه بدم اومدم از death penalty استفاده كردم اما جوابهاي خوبي نگرفتم ولي يه چيزي دادم رفت حالا ميخوام مقاله بدمو دنبال روش درست هستم.
تا حالا تعداد زيادي مقاله گرفتم و خوندم و راجع به انواع روشها اطلاعات گرفتم ( اعم از روشهاي تابع جريمه و يا روشهاي molti objective ga و...) اما هنوز به چيزي نرسيدم . دنبال چند تا كد matlab هستم كه بطور عملي توابع مقيد را بهينه سازي كنه. ايا كسي ميتونه راهنمايي به من بده؟ايا كسي با روش NSGAII (non-dominated sorting GA ) اشنايي داره؟
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
با سلام خدمت شما دوستان عزيز
من حقيقتش خيلي دنبال يه همچين سايتي گشتم تا بتونم سوالم را به فارسي از يكي از شما عزيزان ماهر در الگوريتم ژنتيك بپرسم.
من رو يه پروژه كار ميكنم كه يه تابع 6 متغيري دارم و هدف حداقل سازي اين تابع است.اما مشكل و مسئله عمده من اينه كه 4-5 قيد هم براي الگوريتم ژنتيك دارم(مسئله constrained GA) در زماني كه ميخواستم اين كار را به عنوان پايان نامه ارائه بدم اومدم از death penalty استفاده كردم اما جوابهاي خوبي نگرفتم ولي يه چيزي دادم رفت حالا ميخوام مقاله بدمو دنبال روش درست هستم.
تا حالا تعداد زيادي مقاله گرفتم و خوندم و راجع به انواع روشها اطلاعات گرفتم ( اعم از روشهاي تابع جريمه و يا روشهاي molti objective ga و...) اما هنوز به چيزي نرسيدم . دنبال چند تا كد matlab هستم كه بطور عملي توابع مقيد را بهينه سازي كنه. ايا كسي ميتونه راهنمايي به من بده؟ايا كسي با روش
NSGAII (non-dominated sorting GA ) اشنايي داره؟

دوست عزیز اولا لطف کنین عنوان پایان نامه تون بگین(به همراه تابع هدف)
شما اصلا از متلب تو کارتون(پایان نامه)استفاده کردین؟
 

orazzagh

عضو جدید
عنوان پايان نامه ام بهينه سازي ديوارهاي حائل باGA و تابع هدفم هم تابع 6 متغيره مقيد و shape optimization است. اره از مطلب استفاده كردم
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
کتاب که زیاده
کتاب شگردهای عددی جناب مهدی مسافر به همراه کد موجوده.
ولی با tools متلبم فک کنم نتیجه بدی نگیرین
 

orazzagh

عضو جدید
ميشه لطفا لينكي از كتاب مورد نظر يا كدهاي متلب بزاريد؟در ضمن يه سوال دارم در روش تابع پنالتي چه جوري بايد مقادير تابع پنالتي را نرمال كرد؟ منظورم اينه كه مقدار تابع هدف من حدود 200-300 هست و مقادير قيد(پنالتي) 2-3 و در صورت جمع اينا در fitness function در عمل اتفاق خاصي نمي افته
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
ميشه لطفا لينكي از كتاب مورد نظر يا كدهاي متلب بزاريد؟در ضمن يه سوال دارم در روش تابع پنالتي چه جوري بايد مقادير تابع پنالتي را نرمال كرد؟ منظورم اينه كه مقدار تابع هدف من حدود 200-300 هست و مقادير قيد(پنالتي) 2-3 و در صورت جمع اينا در fitness function در عمل اتفاق خاصي نمي افته
نمیدونم شما از ضرایب پنالتی استفاده کردین یا نه. ولی اگه شما جریمه تونو در یک ضریبی (مثلا 50)ضریب کنین بعد با fitnessجمع بزنیین تابع fitness تغییر میکنه ؛ضرایب مختلف رو امتحان کنین تا بهترین نتیجه(نزدیک ترین جواب به global optimum) بدست بیاد.این روش ساده ترین راهه،بنظر من بهترین روش استفاده از self adaptive penalty هستش.
لینک برنامه الگوریتم ژنتیک:
www.geocities.com/mmnrecipes/numerical_recipes.html
 

orazzagh

عضو جدید
با سلام خدمت شما
اقا من مقاله اين روش self-adapting را گرفتم اما چند تا مشكل اساسي دارم . يكي اينكه نحوه تعامل p2(w1 و w2 ) با جامعه اصلي p1 براي من نا مفهومه يعني دقيقا كجا جامعه اول تكامل پيدا ميكنه و كجا جامعه دوم؟ اين Gmax1 و Gmax2 چي هستن؟و مهمتر از همه چه جوري وقتي fitness-average تنها براي نقاط مجازfeasible محاسبه ميشه اونوقت باعث تكامل در p2 ميشه؟ قاعدتا fitness- average در هر نسل ثابته كه؟
ميشه لطفا يه كد مطلب از اين روش بذاريد ببينم چه جوريه يا شماره تماس بديد تا سوالاتمو از اين روش بپرسم؟
با تشكر
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
با سلام خدمت شما
اقا من مقاله اين روش self-adapting را گرفتم اما چند تا مشكل اساسي دارم . يكي اينكه نحوه تعامل p2(w1 و w2 ) با جامعه اصلي p1 براي من نا مفهومه يعني دقيقا كجا جامعه اول تكامل پيدا ميكنه و كجا جامعه دوم؟ اين Gmax1 و Gmax2 چي هستن؟و مهمتر از همه چه جوري وقتي fitness-average تنها براي نقاط مجازfeasible محاسبه ميشه اونوقت باعث تكامل در p2 ميشه؟ قاعدتا fitness- average در هر نسل ثابته كه؟
ميشه لطفا يه كد مطلب از اين روش بذاريد ببينم چه جوريه يا شماره تماس بديد تا سوالاتمو از اين روش بپرسم؟
با تشكر
با سلام
البته من خودم هنوز به این روش مسلط نشدم ولی احتمالا تا اخر هفته بعد حل میشه.
اما سوالات شما:
Gmax1 که تعداد نسلهای بهینه سازی تابع هدفتونه ،همونی که شما تو پایان نامه تون استفاده کردین.
Gmax2 تعداد نسلهای بهینه سازی ضرایب پنالتی.
ببنید شما فرض کنین در نسل اولتون (یعنی نسل اوله Gmax1) یه سری جمعیت دارین(مثلا 5 تا)وتو نسل اول Gmax2 هم 6 جمعیت دارین(6 تاw1 و w2 مجزا)شما بازای هر جمعیت Gmax1 یه coef و یه viol دارین،شما در گذشته یه ضریب پنالتی انتخاب میکردین و مسیله رو حل میکردین اما الان این عمل رو باید چن بار انجام بدین،یعنی قبل از اینکه به نسل دومه gmax1 برین باید Fit تمام5 تا جمعیت gmax 1 رو بازای تمام w1 و w2 حساب کنین.(فکر نمیکنم تا اینجا مشکلی باشه)
تو مرحله selection در p2 هم که احتمالا باید بازای max ave_fitness انتخاب بشن...
اما دقیقا مشکا منم تو ave_fitness هستش ایا شما حتما باید جریمه تون صفر باشه تا مسئلتون ok بشه؟
اگه اینجوری باشه حق با شماست چون اونوقت بازای تمومه اونا coef و viol صفر میشه و اونوقت w1 وw2 هیچ تاثیری ندارن وave_fitness ثابت میمونه،ولی تو مقاله یه نکته مهمی که داره اینه که ما میتونیم با پرداخت جریمه infeasible solution رو تبدیل به feasible soulition کنیم:que: نکته اش باید همینجا باشه...چون دیگه اونوقت coef و viol صفر نیستن
در مورد تکامل این gmax2 نباید شما رو گول بزنه چون تمام هدفتون بهینه سازس مسئلتون که همون تابع هدفه هستش پس باید در تعداد Gmax 1 بیشتر توجه کنین(اصولا Gmax1>Gmax2) خود مقاله هم گفته این روش با تعداد نسلهای کمتری نسبت به سایر روشها بهینه میشه و انتخاب p1 بین 30 تا 60 ، وp2 کمتر از 40کافیه.
ولی این مقاله جای بحث زیادی داره ،اگه شما هم چیزی دستگیرتون شد ما رو بی نصیب نزارین.
 

orazzagh

عضو جدید
با سلام بر شما
اقا يه نكته كه به نظر من ميرسه اينه كه قاعدتا در محاسبه fitness average فقط بايد جوابهاي feasible ملاك باشه چون در فرمولش پارامتري به نام count-feasible داره كه شمارنده تنها feasible هاست و اگر ميشد با پرداخت جريمه تبديلي صورت بگيرد پس شمارنده هميشه بايد با M1 ( تعداد اعضاي جامعه) يكي باشد.
اما يه نكته . به گمانم اين روش يك مدلي از Parallel GA بايد باشد چراكه فكر كنم به ازاي مقادير اولين P2 يكبار P1 كاملا تكامل ميابد ( يعني به اندازه GMAX1 تكرار) و اونوقت تازه P2 يك نسل به جلو ميرود در واقع P1 بايستي GMAX1*GMAX2 بار شاهد تكرار نسل باشد. ايا اين تعبير من به نظر شما درسته يا من خوب نگرفتم مطلبو؟
راستي يك سوال مهم. اين روش REAL CODED هست يا BINARY ؟ شما تو كدي كه نوشتي كدومو بكار بردي؟ من كه كلا تو REAL CODED تعطيلم خدا كنه باينري باشه.
مطلب اخر ايا اين روش براي يافتن بهينه مطلق تمامي توابع كاربرد داره يا تنها CONVEX ها؟ چون من تو يه مقاله ديدم واسه اونايي كه عوض يك بهينه مطلق يك PARETO FRONT دارن از روش تابع جربمه استفاده نميشه.
 

sepehrkhosrowdad

مدیر بازنشسته
خوب حالا می تونم بپرسم، الآن عنوان پایان نامتون و کارهایی که انجام دادین، چه دخلی با عمران داره؟!
 
بالا