مقدمه
این مستند محتویات کتابخانه الگوریتم ژنتیک را رمز بندی می کند و بعضی از فلسفه های طراحی را که در پشت پیاده سازی هستند، نمایش می دهد. بعضی از مثال های کد منبع در آخر صفحه مشخص شده تا ساختار اصلی برنامه، توانایی های عملگرها، تطابق عملگرها با نیاز کاربر و مشتقاتی از کلاس های جدید مجموعه ژن را نمایش بدهند. وقتی که شما از یک کتابخانه استفاده می کنید به صورت ابتدایی با دو نوع کلاس کار می کنید الگوریتم مجموعه ژن و الگوریتم ژنتیک. هر نمونه ای از مجموعه ژن یک راه حل برای مسئله شما نشان می دهد. شی الگوریتم ژنتیک توضیح می دهد که چگونه سیر تکامل باید طی شود. الگوریتم ژنتیک از یک تابع عضو شی ای که توسط شما تعریف شده است استفاده می کند تا معین کند چگونه هر مجموعه ژن برای زنده ماندن مناسب است؟
الگوریتم ژنتیک از عملگر های مجموعه ژن ( که در داخل مجموعه هستند) و استراتژی های انتخاب/ جایگزینی ( که در داخل الگوریتم ساخته می شود ) برای تولید یک مجموعه ژن جدید مجزا ، استفاده می کند.
فهرست مطالب
عنوان صفحه
چکیده 1
مقدمه 2
الگوریتم ژنتیک 5
تعریف خروجی(نمایش) 8
عملگرهای مجموعه ژن 10
شئ جمعیت 13
توابع شئ و مقیاس گذاری مناسب 14
نمایش الگوریتم ژنتیک درc++ 15
توانایی عملگرها 17
چگونگی تعریف عملگرها 18
چگونگی تعریف کلاس مجموعه ژن 22
سلسله مراتب کلاس ها 23
1. سلسله مراتب کلاس GALib – گرافیکی 23
2. سلسله مراتب کلاس GALib – مراتب 24
رابط برنامه نویسی 25
نام پارامترها و گزینه های خط فرمان 26
رفع خطا 28
توابع اعداد تصادفی 29
GAGeneticAlgorithm 31
GADemeGA 42
GAIncrementalGA 44
GASimpleGA 47
GASteadyStateGA 50
Terminators 52
Replacement Schemes 54
GAGenome 55
GA1DArrayGenome<T> 62
GA1DArrayAlleleGenome<T> 65
GA2DArrayGenome<T> 67
GA2DArrayAlleleGenome<T> 70
GA3DArrayGenome<T> 72
GA3DArrayAlleleGenome<T> 76
GA1DBinaryStringGenome 78
GA2DBinaryStringGenome 81
GA3DBinaryStringGenome 85
GABin2DecGenome 88
GAListGenome<T> 91
GARealGenome 92
GAStringGenome 94
GATreeGenome<T> 96
GAEvalData 97
GABin2DecPhenotype 98
GAAlleleSet<T> 100
GAAlleleSetArray<T> 103
GAParameter and GAParameterList 104
GAStatistics 108
GAPopulation 113
GAScalingScheme 123
GASelectionScheme 127
GAArray<T> 130
GABinaryString 132
نتیجه گیری 135
مراجع 136
چکیده
در یک محیط صنعتی توزیع شده، کارخانه های مختلف و دارای ماشین ها و ابزارهای گوناگون در مکان های جغرافیایی مختلف غالبا به منظور رسیدن به بالاترین کارایی تولید ترکیب می شوند. در زمان تولید قطعات و محصولات مختلف ، طرح های فرایند مورد قبول توسط کارخانه های موجود تولید می شود. این طرحها شامل نوع ماشین، تجهیز و ابزار برای هر فرآیند عملیاتی لازم برای تولید قطعه است. طرح های فرایند ممکن است به دلیل تفاوت محدودیت های منابع متفاوت باشند. بنابراین به دست آوردن طرح فرایند بهینه یا نزدیک به بهینه مهم به نظر می رسد. به عبارت دیگر تعیین اینکه هر محصول درکدام کارخانه و با کدام ماشین آلات و ابزار تولید گردد امری لازم و ضروری می باشد. به همین منظور می بایست از بین طرحهای مختلف طرحی را انتخاب کرد که در عین ممکن بودن هزینه تولید محصولات را نیز کمینه سازد. در این تحقیق یک الگوریتم ژنتیک معرفی می شود که بر طبق ضوابط از پیش تعیین شده مانند مینیمم سازی زمان فرایند می تواند به سرعت طرح فرایند بهینه را برای یک سیستم تولیدی واحد و همچنین یک سیستم تولیدی توزیع شده جستجو می کند. با استفاده از الگوریتم ژنتیک، برنامه ریزی فرآیند به کمک کامپیوتر (CAPP) می تواند براساس معیار در نظر گرفته شده طرح های فرایند بهینه یا نزدیک به بهینه ایجاد کند، بررسی های موردی به طور آشکار امکان عملی شدن و استحکام روش را نشان می دهند. این کار با استفاده از الگوریتم ژنتیک در CAPP هم در سیستمهای تولیدی توزیع شده و هم واحد صورت می گیرد. بررسی های موردی نشان می دهد که این روش شبیه یا بهتر از برنامه ریزی فرآیند به کمک کامپیوتر (CAPP) مرسوم تک کارخانه ای است.
فهرست مطالب
عنوان صفحه
مقدمه ……………………………………………………………………………………………. 11
فصل یکم - معرفی برنامه ریزی فرآیند به کمک کامپیوتر(CAPP) و الگوریتم ژنتیک ………………….. 17
1-1- برنامه ریزی فرآیند به کمک کامپیوتر…………………………………………………………. 17
1-1-1- رویکرد بنیادی …………………………………………………………………………… 18
1-1-2- رویکرد متنوع …………………………………………………………………………… 18
1-2- الگوریتم ژنتیک……………………………………………………………………………. 20
1-2-1-کلیات الگوریتم ژنتیک……………………………………………………………………. 21
1-2-2-قسمت های مهم الگوریتم ژنتیک……………………………………………………………. 23
1-2-2-1-تابع هدف و تابع برازش………………………………………………………………… 26
1-2-2-2- انتخاب……………………………………………………………………………… 27
1-2-2-3- تقاطع………………………………………………………………………………. 28
1-2-2-4- جهش………………………………………………………………………………. 32
فصل دوم- نمونه هایی از کاربرد الگوریتم ژنتیک در برنامه ریزی فرآیند به کمک کامپیوتر……………… 34
2-1-بهینه سازی مسیر فرآیند با استفاده از الگوریتم ژنتیک………………………………………….. 34
2-1-1- توصیف توالی فرآیند……………………………………………………………………. 34
2-1-2- استراتژی کد گزاری……………………………………………………………………. 37
2-1-3- تجزیه و تحلیل همگرایی……………………………………………………………….. 38
2-1-3-1-همگرایی نزدیک شونده………………………………………………………………. 38
2-1-3-2-همگرایی با در نظر گرفتن احتمال…………………………………………………….. 40
2-1-3-3-همگرایی Gها در توالی سازی فرایندهای پشت سر هم………………………………… 40
2-1-3-4-تعریف یک قانون…………………………………………………………………… 41
2-1-4-اپراتورهای ژنتیک………………………………………………………………………. 41
2-1-4-1-اپراتور انتخاب………………………………………………………………………. 41
2-1-4-2- اپراتور تغییر و انتقال………………………………………………………………. 42
2-1-4-3- اپراتور جهش………………………………………………………………………. 44
2-1-5- برقراری تابع تناسب………………………………………………………………….. 44
2-1-5-1- آنالیز محدودیت ها………………………………………………………………. 44
2-1-5-2- برقراری تابع برازش………………………………………………………………. 45
2-1-6-مثال…………………………………………………………………………………. 47
2-1-6-1-مثالهایی برای کاربرد این روشها ……………………………………………………. 47
2-1-6-2-تاثیر پارامترهای متغیر بر روند تحقیقات ………………………………………………. 49
2-1-7-نتیجه گیری………………………………………………………………………….. 50
2-2-روشی برای برنامه ریزی مقدماتی ترکیبات دورانی شکل محور Cاستفاده از الگوریتم ژنتیک…….. 51
2-2-1-مقدمه………………………………………………………………………………. 51
2-2-2-مدول های سیستمCAPP پیشنهاد شده………………………………………………….. 54
2-2-3-تجسم قطعه………………………………………………………………………….. 56
2-2-4-تولید توالی های ممکن……………………………………………………………….. 58
2-2-4-1-الزامات اولویت دار……………………………………………………………….. 58
2-2-4-2- الزامات تلرانس هندسی…………………………………………………………… 59
2-2-4-3- رابطه ویژگی های اولویت دار…………………………………………………….. 60
2-2-5 بهینه سازی با استفاده از الگوریتم ژنتیک G………………………………………………
2-2-5-1- تابع برازش……………………………………………………………………….. 67
2-2-5-2- الگوریتم ژنتیک……………………. …………………………………………….. 68
2-2-6- نتایج و بحث………………………………………………………………………… 71
2-2-7-نتیجه گیری…………………………………………………………………………. 71
فصل سوم: الگوریتم پیشنهادی برای کاربرد الگوریتم ژنتیک در طراحی قطعه به کمک کامپیوتر در محیط صنعتی .. 73
3-1-مقدمه…………………………………………………………………………………. 73
3-2-الگوریتم ژنتیک……………………………………………………………………….. 74
3-2-1-سیستم های تولیدی توزیع شده………………………………………………………… 74
3-2-2-نمایش طرح های فرایند……………………………………………………………… 75
3-2-3-جمعیت اولیه………………………………………………………………………. 76
3-3-تولید مثل…………………………………………………………………………….. 76
3-3-1-ادغام……………………………………………………………………………… 76
3-3-2-دگرگونی و جهش…………………………………………………………………. 77
3-4- ارزیابی کروموزوم ………………………………………………………………….. 80
3-4-1- مینیمم سازی زمان فرایند…………………………………………………………… 80
3-4-2- مینیمم سازی هزینه های تولید……………………………………………………… 80
3-5- مطالعات موردی…………………………………………………………………….. 81
3-5-1- CAPPسنتی………………………………………………………………….. 81
3-5-2- CAPP توزیع شده……………………………………………………………… 85
3-6- ارزیابی…………………………………………………………………………… 88
3-6-1- معیار اول……………………………………………………………………… 88
3-6-2- معیار دوم………………………………………………………………………. 89
فصل چهارم -نتیجه گیری…………………………………………………………………… 90
فهرست شکلها
عنوان صفحه
شکل 1-1- نمایش یک کروموزوم با ارقام صفر و یک……………………………………… 22
شکل 1-2- دو کرموزوم قبل از تقاطع (والدین)………………………………………… 22
شکل 1-2- دو کروموزوم بعد از تقاطع (فرزندان)…………………………………….. 23
شکل 1-3- کروموزوم بعد از جهش2……………………………………………………. 23
شکل 1-4 – تقاطع چند نقطه ای2……………………………………………………….. 32
شکل2-1-نمودار جریان برنامه2………………………………………………………. 46
شکل2-2…………………………………………………………………………….. 48
شکل2-3 -طرح دیاگرام CAPP پیشنهادشده…………………………………………….. 55
شکل2-4-ساختار سلسله مراتبی ویژگی های فرمی نوعی…………………………………. 56
شکل 2-5……………………………………………………………………………. 57
شکل2-6- مثالهای الزامات اولویت دار………………………………………………….. 59
شکل 2-7- مثال الزامات تلرانس هندسی ……………………………………………….. 60
شکل 2-8- یک شکل نمونه دارای 18 ویژگی…………………………………………… 61
شکل 2-9-تولید مجدد گرافیکی……………………………………………………….. 62
شکل2-10 تولید مجدد داخلی………………………………………………………… 62
شکل 3-1- توصیف یک سیستم تولیدی توزیع شده…………………………………….. 75
شکل 3-2- نمونه ای از یک طرح فرآیند…………………………………………… 75
شکل 3-3- اپراتور ادغام…………………………………………………………. 77
شکل 3-4- اپراتور جهش………………………………………………………… 79
شکل 3-5-یک قطعه منشوری برای ارزیابی الگوریتم………………………………. 81
شکل 3-6 تغییرات هزینه تولید در طی اجراهای مختلف…………………………….. 84
شکل3-7-یک قطعه منشوری شکل………………………………………………. 85
فهرست جدولها
عنوان صفحه
جدول2-1- استراتژی کدگذاری………………………………………………….. 37
جدول2-2 توالی سازی با استفاده از Gتحویل……………………………………. 47
جدول 2-3- رابطه نوع ویژگی کدبندی ویژگی سلول ماشینکاری و کدبندی طبیعی G…………….
جدول 2-4 …………………………………………………………………………… 49
جدول 2-5…………………………………………………………………………… 50
جدول 2-6……………………………………….. ………………………………… 50
جدول 2-7 …………………………………………………………………………. 61
جدول 2-8 توالی های اولیه…………………………………………………………… 64
جدول 2-9-جزئیات برای قطعه نمونه…………………………………………………… 65
جدول 2-10- الگوههای اولویت و مجاورت……………………………………………. 65
جدول 2-11- جمیعت اولیه…………………………………………………………… 66
جدول2-12-نسل بعد از تولید مجدد……………………………………………………. 68
جدول 2-13 -فرآیند ادغام…………………………………………………………… 69
جدول 2-14- فرآیند جهش………………………………………………………….. 70
جدول 2-15- توالی های بهینه/نزدیک بهینه…………………………………………. 71
جدول3-1- اطلاعات تولید………………………………………………………… 82
جدول 3-4-طرح فرآیند مطالعه موردی ……………………………………………. 83
جدول 3-3- ماتریس تقدم و تاخر………………………………………………….. 83
جدول 3-2-منابع موجود در کارگاه تولید…………………………………………… 84
جدول 3-5- رابطه تقدم و تاخر برای مطالعه موردی………………………………… 86
جدول 3-6- شاخصهای زمان و هزینه در سه کارخانه……………………………… 87
جدول 3-7- منابع مورد استفاده در سه کارخانه…………………………………….. 87
جدول 3-8 توصیف هفت عملیات اصلی………………………………………….. 87
جدول 3-9 منابع موجود در عملیات ماشینکاری…………………………………… 87
جدول 3-10- طرح فرآیند بر طبق ضابطه کمینه کردن هزینه تولید………………… 88
جدول 3-11 طرح فرآیند بر طبق ضابطه کمینه کردن زمان فرآیند………………….. 89