مسئله بهینه‌سازی

در ریاضیات و علوم رایانه یک مسئله بهینه‌سازی، مسئله یافتن بهترین راه حل از میان همه راه حل‌های عملی می‌باشد. مسئله‌های بهینه‌سازی می‌تواند به دو دسته تقسیم شود که متغیرها پیوسته یا گسسته باشند. یک مسئله بهینه‌سازی با متغیرهای گسسته به عنوان یک مسئله بهینه‌سازی ترکیبی یا ترکیبیاتی شناخته می‌شوند. در یک مسئله بهینه‌سازی ترکیبی، ما به دنبال مجموعه‌ای از اشیاء از قبیل عدد صحیح، جایگشت یا گرافی می‌گردیم که تعداد اعضایش محدود (و یا به طور قابل شمارش نامحدود) باشند.
مسئله بهینه‌سازی پیوسته
شکل استاندارد مسئله بهینه‌سازی (پیوسته) به صورت زیر است:
\begin{align
-\underset{x{\operatorname{minimize- - f(x) \\
-\operatorname{subject\;to
- -g_i(x) \leq 0, \quad i = 1,\dots,m \\
---h_i(x) = 0, \quad i = 1, \dots,p
\end{align
به طوری که:
تابع مورد نظر ماست که می‌خواهیم بر روی کمینه شود.
محدودیت نابرابری نامیده می‌شود و
محدودیت تساوی نامیده می‌شود.
طبق قرارداد، شکل استاندارد، یک مسئله به حداقل رساندن را توصیف می‌کند. یک مسئله به حداکثر رساندن می‌تواند با منفی کردن تابع هدف به دست آید.
مسئله بهینه‌سازی ترکیبی
به طور رسمی یک بهینه‌سازی ترکیبی A یک چهارتایی است به طوری که:
مجموعه نمونه هاست.
برای یک نمونه داده شده، مجموعه راه حل‌های امکان‌پذیر است.
برای یک مورد داده شده و راه حل ممکن برای ، اندازه را مشخص می‌کند که معمولا یک عدد حقیقی مثبت است.
g هدف تابع است که یا برابر کمینه یا بیشینه است.
هدف این است که برای یک نمونه ، یک راه حل بهینه پیدا کنیم که یک راه حل ممکن است با این شرط که
m(x, y) = g \{ m(x, y) \mid y \in f(x) \.
برای هر مسئله بهینه‌سازی ترکیبی، یک مسئله تصمیم متناظر وجود دارد که می‌پرسد ببیند آیا یک راه حل ممکن برای مقدار خاص وجود دارد یا نه. به عنوان مثال یک گراف وجود دارد که شامل رئوس و یک مسئله بهینه‌سازی ممکن است «یافتن یک مسیر از به که از کمترین یال‌ها بگذرد» باشد. این مسئله ممکن است یک جواب مثلا ۴ داشته باشد. یک مسئله تصمیم متناظر این خواهد بود که «آیا یک مسیر از به با استفاده از ۱۰ یال یا کمتر وجود دارد؟» این مسئله با یک «بله» یا «خیر» ساده جواب داده می‌شود.
در زمینه الگوریتم‌های تخمین، الگوریتم‌ها برای مسائل سخت برای یافتن راه حل‌های نزدیک بهینه طراحی می‌شوند؛ بنابراین یک نسخه معمول تصمیم، یک توصیف ناکافی از مسئله است زیرا فقط راه حل‌های قابل قبول را مشخص می‌کند. اگرچه می‌توانیم مسائل تصمیم مناسبی مطرح کنیم، این مسائل دیگر بیشتر به طور طبیعی، یک مسئله بهینه‌سازی می‌شوند.
مسئله بهینه‌سازی NP
یک مسئله بهینه‌سازی NP یا به طور مخفف NPO یک مسئله بهینه‌سازی ترکیبی است با شرایط اضافی زیر. توجه داشته باشید که چندجمله‌ای‌های اشاره شده در زیر، توابعی با سایز متناسب با ورودی‌های تابع هستند، نه مجموعه‌ای مطلق از نمونه ورودی‌ها.
سایز هر راه حل ممکن به طور چندجمله‌ای محدود به سایز نمونه داده شده است.
زبان‌های و می‌توانند در زمان چندجمله‌ای مشخص شوند و
m در زمان چندجمله‌ای قابل محاسبه است.
این دلالت بر این دارد که مسئله تصمیم متناظر، یک NP است. در علوم کامپیوتر، معمولا مسائل بهینه‌سازی جالب توجه، ویژگی‌های بالا را دارند و بنابراین مسائل NPO هستند. یک مسئله به علاوه یک مسئله بهینه‌سازی نوع P یا PO خوانده می‌شود اگر الگوریتمی وجود داشته باشد که در زمان چندجمله‌ای راه حل بهینه را پیدا کند. معمولا هنگام کار کردن با دسته NPO، مسائل بهینه‌سازی جالبی وجود دارد که نسخه‌های تصمیم، NP-سخت هستند. توجه داشته باشید که روابط سختی، همواره در تناسب با ساده‌سازی هستند. به علت ارتباط بین الگوریتم‌های تخمین و مسائل محاسباتی بهینه‌سازی، مسائل بهینه‌سازی با نسخه‌های تصمیم NP-تکمیل لزوما NPO-تکمیل نامیده نمی‌شوند.
NPOPB یک دسته دیگر است؛ NPO با تابع هزینه محدود به چندجمله‌ای. مسائلی با این شرایط، ویژگی‌های مطلوب زیادی دارند.
نظریه پیچیدگی محاسباتی
ان‌پی کامل