تولید جمعیت اولیه

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

تولید جواب های اولیه نیز به دو صورت تصادفی و هیوریستیکی می تواند انجام پذیرد. به عنوان مثال در مسئله 8 وزیر می توانیم به شکل تصادفی وزیرها را در خانه های صفحه شطرنج قرار دهیم و یا در مسئله فروشنده دوره گرد می توانیم ترتیب ملاقات شهرها هم به شکل تصادفی و هم به شکل هیوریستیکی انتخاب کنیم.

نکته مهم هنگام تولید جمعیت اولیه آن است که هنگام تولید جواب برای مسئله ( تصادفی یا هیوریستیکی ) جواب تولید شده باید به شکل کروموزومی که در مرحله قبل تعیین کردیم کدگذاری شده و به مجموعه جمعیت اضافه گردد. بنابراین از تولید جواب هایی که موجب نقض نحوه کدگذاری تعیین شده برای کروموزوم گردد باید اجتناب کنیم.

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