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