در ریاضیات و علوم رایانه و علم اقتصاد یک مسئله بهینهسازی، مسئله یافتن بهترین راه حل از میان همه راه حلهای عملی میباشد. مسئلههای بهینهسازی میتواند به دو دسته تقسیم شود که متغیرها پیوسته یا گسسته باشند. یک مسئله بهینهسازی با متغیرهای گسسته به عنوان یک مسئله بهینهسازی ترکیبی یا ترکیبیاتی شناخته میشوند. در یک مسئله بهینهسازی ترکیبی، ما به دنبال مجموعهای از اشیاء از قبیل عدد صحیح، جایگشت یا گرافی میگردیم که تعداد اعضایش محدود (و یا بهطور قابل شمارش نامحدود) باشند.
شکل استاندارد مسئله بهینهسازی (پیوسته) به صورت زیر است:
به طوری که:
طبق قرارداد، شکل استاندارد، یک مسئله به حداقل رساندن را توصیف میکند. یک مسئله به حداکثر رساندن میتواند با منفی کردن تابع هدف به دست آید.
بهطور رسمی یک بهینهسازی ترکیبی A یک چهارتایی است به طوری که:
هدف این است که برای یک نمونه ، یک راه حل بهینه پیدا کنیم که یک راه حل ممکن است با این شرط که
برای هر مسئله بهینهسازی ترکیبی، یک مسئله تصمیم متناظر وجود دارد که میپرسد ببیند آیا یک راه حل ممکن برای مقدار خاص وجود دارد یا نه. به عنوان مثال یک گراف وجود دارد که شامل رئوس و یک مسئله بهینهسازی ممکن است «یافتن یک مسیر از به که از کمترین یالها بگذرد» باشد. این مسئله ممکن است یک جواب مثلاً ۴ داشته باشد. یک مسئله تصمیم متناظر این خواهد بود که «آیا یک مسیر از به با استفاده از ۱۰ یال یا کمتر وجود دارد؟» این مسئله با یک «بله» یا «خیر» ساده جواب داده میشود. در زمینه الگوریتمهای تخمین، الگوریتمها برای مسائل سخت برای یافتن راه حلهای نزدیک بهینه طراحی میشوند؛ بنابراین یک نسخه معمول تصمیم، یک توصیف ناکافی از مسئله است زیرا فقط راه حلهای قابل قبول را مشخص میکند. اگرچه میتوانیم مسائل تصمیم مناسبی مطرح کنیم، این مسائل دیگر بیشتر بهطور طبیعی، یک مسئله بهینهسازی میشوند.
یک مسئله بهینهسازی NP یا بهطور مخفف NPO یک مسئله بهینهسازی ترکیبی است با شرایط اضافی زیر. توجه داشته باشید که چندجملهایهای اشاره شده در زیر، توابعی با سایز متناسب با ورودیهای تابع هستند، نه مجموعهای مطلق از نمونه ورودیها.
این دلالت بر این دارد که مسئله تصمیم متناظر، یک NP است. در علوم کامپیوتر، معمولاً مسائل بهینهسازی جالب توجه، ویژگیهای بالا را دارند و بنابراین مسائل NPO هستند. یک مسئله به علاوه یک مسئله بهینهسازی نوع P یا PO خوانده میشود اگر الگوریتمی وجود داشته باشد که در زمان چندجملهای راه حل بهینه را پیدا کند. معمولاً هنگام کار کردن با دسته NPO، مسائل بهینهسازی جالبی وجود دارد که نسخههای تصمیم، NP-سخت هستند. توجه داشته باشید که روابط سختی، همواره در تناسب با سادهسازی هستند. به علت ارتباط بین الگوریتمهای تخمین و مسائل محاسباتی بهینهسازی، مسائل بهینهسازی با نسخههای تصمیم NP-تکمیل لزوماً NPO-تکمیل نامیده نمیشوند. NPOPB یک دسته دیگر است؛ NPO با تابع هزینه محدود به چندجملهای. مسائلی با این شرایط، ویژگیهای مطلوب زیادی دارند.