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

orazzagh

عضو جدید
دوست عزيز
اگه با من بودي بايد بگم موضوع كار من ديوار حائله و به تنها چيزي كه دخل داره عمرانه اما مشكل ما اينجا الگوريتم ژنتيكه و نحوه برنامه نويسي جهت ارضاي قيود.tht's all
 

فرشید_civil

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

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
با سلام بر شما
اقا يه نكته كه به نظر من ميرسه اينه كه قاعدتا در محاسبه fitness average فقط بايد جوابهاي feasible ملاك باشه چون در فرمولش پارامتري به نام count-feasible داره كه شمارنده تنها feasible هاست و اگر ميشد با پرداخت جريمه تبديلي صورت بگيرد پس شمارنده هميشه بايد با M1 ( تعداد اعضاي جامعه) يكي باشد.
اما يه نكته . به گمانم اين روش يك مدلي از Parallel GA بايد باشد چراكه فكر كنم به ازاي مقادير اولين P2 يكبار P1 كاملا تكامل ميابد ( يعني به اندازه GMAX1 تكرار) و اونوقت تازه P2 يك نسل به جلو ميرود در واقع P1 بايستي GMAX1*GMAX2 بار شاهد تكرار نسل باشد. ايا اين تعبير من به نظر شما درسته يا من خوب نگرفتم مطلبو؟
راستي يك سوال مهم. اين روش REAL CODED هست يا BINARY ؟ شما تو كدي كه نوشتي كدومو بكار بردي؟ من كه كلا تو REAL CODED تعطيلم خدا كنه باينري باشه.
مطلب اخر ايا اين روش براي يافتن بهينه مطلق تمامي توابع كاربرد داره يا تنها CONVEX ها؟ چون من تو يه مقاله ديدم واسه اونايي كه عوض يك بهينه مطلق يك PARETO FRONT دارن از روش تابع جربمه استفاده نميشه.
با سلام وپوزش فراوان بخاطر غیبتم...
تعبیر شما کاملا درسته این روش یه روش parallel هستش
اصول کلی این روش اینه که شما بازای هر p2 یه w1وw2 دارین حالا شما باید برای هر جمعیتp2 باید یه بار g1 رو طی کنین.
مزیت اصلی این روش اینه که شما بازای هر ضریب جریمه یه بار g1 رو طی میکنین و بخاطررندوم بودن الگوریتم ژنتیک برای هر جمعیت p2 ،جمعیتهای متفاوتی از فضای مسئلتون بررسی میشه که این باعث میشه فضای بیشتری بررسی بشه حالا اگه ضریب جریمه تون خیلی کم باشه در نسل اخر (یعنی در انتهای g1) ، اون جمعیت p2 تعداد feasible کمتری خواهید داشت(شایدم اصلا نداشته باشین) ولی اگه جریمه تون خیلی زیاد باشه مطمئنا feasible بیشتری خواهید داشت ولی میزان average اون کمتر خواهد بود(غیر اقتصادی) .که مطمئنا جفتشون شانس کمتری برای انتخاب در نسل بعدی g2 دارن
پس:
1-همونطور که میبینین الزاما feasible مربوط به جمعیتهای p2 یکی نیست.
2-شما بعد از طی کردن g2 باید جریمه رو بدست بیارین که کمترین باشه(اصل مینیمم تابع جریمه) یعنی اگه جریمه تون کمتر از اون باشه ،خطا خواهید داشت واگه بیشتر از اون باشه درسته که خطا ندارین ولی میزان fitness کمتری دارین.
این روش صرفا real coded نیست ومن تو کدم از باینری استفاده کردم ولی اگه شما بتونین از real coded استفاده کنین مطمئنا زمان محاسباتیتون کمتر میشه(یه بار run کردم کدم حدودا8.5 طول کشید)
اگه میشه در مورد convexو pareto بیشتر توضیح بدین
در ضمن در algarve پرتغال همایش opti2009 برگزار میشه اگه میخاین مقاله تون بفرستین ودر اینده رزومه درخشانی داشته باشینزودتر pm بدین تا pdf برای submit رو براتون بفرستو(فقط زودتر تا دیر نشده)
 

sepehrkhosrowdad

مدیر بازنشسته
دوست عزیز اگه در مورد چیزی اطلاع ندارین لطف کنین بیشتر تحقیق کنین بعد پست بزنین
الگوریتم ژنتیک شما رو صرفا طرفه زیست شناسی نبره
خوب، فکر کنم یکی از راه های کسب اطلاعات پرسیدن سوال باشه!
من هم پرسیدم که یاد بگیرم!!
اما شما ظاهراً مشکلی دارین!
 

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
خوب، فکر کنم یکی از راه های کسب اطلاعات پرسیدن سوال باشه!
من هم پرسیدم که یاد بگیرم!!
اما شما ظاهراً مشکلی دارین!
مشکل از سوال شماست دوست عزیز
بشینو ،بتمرکو،بفرما همش یه معنی داره.
پرسیدن داریم تا پرسیدن.
شما نه معلومه مخاطبتون کیه ونه از دخل اون به عمران چی از ژنتیک دستگیرتون میشه.
 

orazzagh

عضو جدید
با سلام خدمت شما فرشيد عزيز
اقا من كمي گيج شدم.من مراحل كار را جز به جز براساس برداشت خودم ميگم اگه اشتباه بود جائيش شما اصلاح كن.
فرض كنيم تعداد اعضاp1 ده عضو و gmax1=30 و تعداد اعضاي p2 پنج عضو و gmax2=20
با ازاي اولين عضو p2 (شامل يك w1 و w2 ) و براي p1 اوليه به تعداد 30 بار (نسل) الگوريتم ژنتيك تكرار ميشود و در انتعاي اين 30 بار average fitness اخرين نسل (نسل سي ام) محاسبه ميگردد و به اولين عضو p2 تخصيص مي يابد.
سپس به ازاي دومين عضو p2 كل اين عمليات مجدد تكرار ميشود (براي همان p1 اوليه؟) و مجدد average fitness حساب ميشود و به دومين عضو p2 در انتهاي 30 تكرار تخصيص مي يابد.
اين عمل براي همه 5 عضو p2 انجام ميگردد تا همه اعضا average fitness هاي محتلفي داشته باشند. حال اگر به ازاي يك عضو خاص ازp2 در انتها هيچ جواب feasible ايجاد نشد لذا count feasibe=0 است و average fitness=بي نهايت ( كه بدترين شانس را براي انتخاب در نسل بعد دارد)

در اينجا بر اساس average fitness بدست امده براي هر عضو p2 نسل بعدي p2 توليد ميشود و ( براي يك p1 رندوم جديد يا همان p1 اول اول؟؟؟) مراحل بالا تكرار ميشود.
اين عمل gmax2=20 بار تكرار ميشود و در انتها بهترين w1 و w2 بدست مي ايد و در انتها يكبار ديگر (به ازاي يك p1 رندوم؟؟) و اين بار( تنها با w1 و w2 بهترين ناشي از كل مراحل بالا؟؟؟) الگوريتم ژنتيك اجرا و بهترين جواب p1 بدست مي ايد.
در واقع ما تعدادgmax1*gmax2*m1*m2 جواب از كل فضاي موجود را بررسي ميكنيم تا w1 و w2 مناسب را بيابيم؟؟؟.

اما در مورد سوال شما بايد بگم كه بر اساس قيود موجود در هر مسئله ممكن است فضاي feasible داراي يك نقطه بهينه global مطلق باشد ( كه شكل فرضي فضاي مربوطه convex يا مقعر است) اما در اكثر مواقع ممكن است ما يك سطح بهينه داشته باشيم كه اين سطح را pareto مي نامند. و در اينجا ديگر نقطه مطلقي وجود ندارد. اين حالت در حالت كلي بيشتر در moltiobjective GA رخ ميدهد كه در واقع مسئله ما هم با يك تابع هدف و چند تابع constraint يك مسئلهMOGA هست و در اين حالت در بسياري از مقالات از روش non-dominated sorting GA و يا NSGA استفاده ميشود. من اين روش را كه بسيار هم پيچيده هست بكار بردم اما هنوز هم نتوانسته ام قيود مسئله را براي برنامه توجيه كنم و لذا هنوز به جايي نرسيده ام. راستي اخرين مهلت ارسال ABSTRACT واسه همايش پرتغال كي هست؟
 
آخرین ویرایش:

فرشید_civil

کاربر بیش فعال
کاربر ممتاز
با سلام
تقریبا درسته...
سوال اولتون
سپس به ازاي دومين عضو p2 كل اين عمليات مجدد تكرار ميشود (براي همان p1 اوليه؟)
هیچ دلیلی نداره که برای هر p2 شما از همون p1 اولیه استفاده کنین.اجازه بدین برنامه بطور رندوم برای هر P2 یه p1 رندوم انتخاب کنه.این مسئله تو خود مقاله هم اومده که با اینکار عملا شما فضای بیشتری رو بررسی میکنین.
سوال دومتون
اين عمل براي همه 5 عضو p2 انجام ميگردد تا همه اعضا average fitness هاي محتلفي داشته باشند. حال اگر به ازاي يك عضو خاص ازp2 در انتها هيچ جواب feasible ايجاد نشد لذا count feasibe=0 است و average fitness=بي نهايت ( كه بدترين شانس را براي انتخاب در نسل بعد دارد)
برداشت من در این مورد اینه که این ضریب پنالتی اینقد کوچیکه که اصلا شانسی برای حضور در نسل بعدی نداره بنابراین میتونین مثلا اگه روش selection شما چرخ رولت هستش به اون ave_fit=0 رو اختصاص بدین تا عملا محیط دایره مختص اون صفر و بطور کلی حذف بشه
سوال سومتون
در اينجا بر اساس average fitness بدست امده براي هر عضو p2 نسل بعدي p2 توليد ميشود و ( براي يك p1 رندوم جديد يا همان p1 اول اول؟؟؟)
دقیقا برای یک p1 رندوم

اين عمل gmax2=20 بار تكرار ميشود و در انتها بهترين w1 و w2 بدست مي ايد و در انتها يكبار ديگر (به ازاي يك p1 رندوم؟؟) و اين بار( تنها با w1 و w2 بهترين ناشي از كل مراحل بالا؟؟؟) الگوريتم ژنتيك اجرا و بهترين جواب p1 بدست مي ايد.

هیچ لزومی نداره.اگه شما از تعداد نسل های مناسبی برایg2 ومخصوصا g1 استفاده کنین
چون این روش پارالل هستش عملا تابع هدفتون بهینه شده.

اگه در مورد pareto مقاله خوبی دارین ممنون میشم اپلود کنین یا به میلم بفرستین
farshid_civil@yahoo.com

pdf for opti2009
http://www.4shared.com/file/77814885/7669a657/opti_09.html


با مراجعه به سایت زیر برای دریافت اطلاعات تکمیلی میتونین اقدام کنین
www.wes***.ac.uk



 

sepehrkhosrowdad

مدیر بازنشسته
من هم پرسیدم تا متوجه شم و پست های اضافه رو پاک کنم و بعد به تالار اصلی منتقل کنم، اما انگاری....
 

sarvin4242

عضو جدید
سلام دوستان.
من برای کار پایان نامه ام که با NSGA-II کار میکنم در کد نویسی به مشکل برخوردم.
از دوستان خواهش میکنم در صورت داشتن کد برنامه NSGA-II کمکم کنند.

میدونید که وسط کار پایان نامه اگر به مشکل بربخوریم چه روزگار سیاهی واسه آدم درست میشه.

خواهش میکنم کمکم کنید.

اگر کد نوشته شده با متلب باشه بهتره.اینم e-mail خودمه.
بسیار سپاسگزارم.
amin.izadkhah22@gmail.com
 

sarvin4242

عضو جدید
سلام دوستان.
یعنی اینجا کسی نیست که با NSGA-II کار کرده باشه؟؟؟؟؟؟؟؟؟؟؟:(:(
:(:(:(:(:(:(
 
بالا