در بسیاری از مسائل مهندسی، یک جواب از همه جهت بهترین نیست. سریع‌ترین راهکار ممکن است گران باشد و کم‌مصرف‌ترین راهکار زمان بیشتری نیاز داشته باشد. بهینه‌سازی چندهدفه برای مدیریت همین تضاد طراحی شده است.

مفهوم غلبه پارتو

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

روش مجموع وزنی

در روش ساده، اهداف نرمال‌سازی می‌شوند و هر کدام وزن می‌گیرند. سپس یک تابع هدف ترکیبی ساخته می‌شود. مزیت این روش سادگی است، اما وزن‌ها باید معنادار باشند و ممکن است بخش‌هایی از جبهه پارتو کشف نشوند.

روش‌های مبتنی بر جمعیت

الگوریتم‌هایی مانند NSGA-II و روش‌های تکاملی چندهدفه در یک اجرا چندین جواب تولید می‌کنند. مکانیزم رتبه‌بندی بر اساس غلبه و حفظ تنوع باعث می‌شود جواب‌ها در طول جبهه پارتو توزیع شوند.

نرمال‌سازی چرا مهم است؟

اگر هزینه در مقیاس میلیون و زمان در مقیاس ثانیه باشد، جمع مستقیم آن‌ها باعث تسلط عدد بزرگ‌تر می‌شود. نرمال‌سازی، مقیاس اهداف را قابل مقایسه می‌کند. انتخاب کران مناسب و توجه به داده‌های پرت در این مرحله مهم است.

انتخاب جواب نهایی

الگوریتم ممکن است ده‌ها جواب پارتو تولید کند، اما سامانه باید یک جواب اجرا کند. انتخاب نهایی می‌تواند با اولویت کسب‌وکار، روش AHP، TOPSIS، نقطه زانو یا قواعد SLA انجام شود. نقطه زانو معمولاً جایی است که بهبود بیشتر یک هدف، افت شدید هدف دیگر را به دنبال دارد.

کاربرد در رایانش ابری

برای زمان‌بندی ابری می‌توان makespan، هزینه، انرژی، توازن بار و امنیت را هم‌زمان در نظر گرفت. وزن اهداف نیز می‌تواند با شرایط تغییر کند؛ مثلاً در ساعات اوج، زمان پاسخ اهمیت بیشتری داشته باشد و در ساعات کم‌بار، کاهش انرژی اولویت بگیرد.

نتیجه‌گیری

بهینه‌سازی چندهدفه فقط یک الگوریتم نیست؛ فرایندی شامل تعریف درست اهداف، نرمال‌سازی، تولید گزینه‌های پارتو و انتخاب تصمیم نهایی است. کیفیت مدل اهداف به اندازه کیفیت الگوریتم حل اهمیت دارد.