در الگوریتم NSGA II از میان جواب های هر نسل، تعدادی از آن ها با استفاده از روش انتخاب تورنمنت دودویی انتخاب می شوند. در روش انتخاب دودویی، دو جواب به تصادف از میان جمعیت انتخاب می شوند و سپس میان این دو جواب، مقایسه ای انجام می شود و هر کدام که بهتر باشد، نهایتا انتخاب می شود. معیارهای انتخاب در الگوریتم NSGA-II در درجه اول، رتبه جواب و در درجه دوم فاصله تراکمی مربوط به جواب است. هر چه قدر رتبه جواب کمتر باشد و دارای فاصله تراکمی بیشتری باشد، مطلوب تر است.

در الگوریتم NSGA II با تکرار عملگر انتخاب دودویی بر روی جمعیت هر نسل، مجموعه ای از افراد آن نسل برای شرکت در تقاطع و جهش انتخاب می شوند. بر روی بخشی از مجموعه افراد انتخاب شده، عمل تقاطع و بر روی بقیه، عمل جهش انجام می شود و جمعیتی از فرزندان و جهش یافتگان ایجاد می شود. در ادامه، این جمعیت با جمعیت اصلی ادغام می شود. اعضای جمعیت تازه تشکیل یافته، ابتدا برحسب رتبه و به صورت صعودی مرتب می شوند. اعضایی از جمعیت که دارای رتبه یکسانی هستند، بر حسب فاصله تراکمی و به صورت نزولی مرتب می شوند. حال اعضای جمعیت در درجه اول بر حسب رتبه، و در درجه دوم بر حسب فاصله تراکمی مرتب سازی شده اند. برابر با تعداد افراد جمعیت اصلی، اعضایی از بالای فهرست مرتب شده انتخاب می شوند و بقیه اعضای جمعیت دور ریخته می شوند. اعضای انتخاب شده جمعیت نسل بعدی را تشکیل می دهند. و چرخه مذکور در این بخش، تا محقق شدن شرایط خاتمه، تکرار می شود.

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