سیمپلکس چه مسئلهای را حل میکند؟
در برنامهریزی خطی، تابع هدف و قیود خطیاند. روش سیمپلکس با جابهجایی بین جوابهای پایهای مجاز، مقدار تابع هدف را بهبود میدهد تا به جواب بهینه برسد یا مشخص شود مدل در جهت بهبود، نامحدود است. اینجا نسخه آموزشی سیمپلکس اولیه با جدول را یاد میگیریم.
x₁ + x₂ ≤ ۸
۲ x₁ + x₂ ≤ ۱۰
x₁, x₂ ≥ ۰
برای مثال بالا، نقطه بهینه (x₁=۲، x₂=۶) است و مقدار تابع هدف Z=۲۶۰ میشود. جدولهای زیر نشان میدهند چطور روش سیمپلکس به این جواب میرسد.
تبدیل به فرم مناسب جدول
برای هر قید «≤»، یک متغیر کمکی نامنفی به نام Slack اضافه میکنیم. بنابراین قیود مثال به x₁+x₂+s₁=۸ و ۲x₁+x₂+s₂=۱۰ تبدیل میشوند. چون RHS نامنفی است، در آغاز متغیرهای اصلی را صفر و متغیرهای کمکی را پایه قرار میدهیم.
چهار گام اصلی سیمپلکس
برای مدیریت تساوی نسبتها در این پیادهسازی از قاعده Bland (کوچکترین اندیس متغیر) استفاده میشود. تمام محاسبات نمونه در مرورگر انجام میشوند.
چرا شرط بهینگی جدول سیمپلکس معتبر است؟
در فرم استاندارد، وقتی یک پایه مجاز B داریم، هر متغیر غیربنیادی میتواند از مقدار صفر افزایش یابد. تابع هدف نسبت به تغییر این متغیر با «هزینه کاهشیافته» تغییر میکند. برای بیشینهسازی، اگر قرارداد هزینه کاهشیافته را r_j=c_j−c_BᵀB⁻¹A_j بگیریم، وجود r_j>0 امکان بهبود را نشان میدهد؛ اگر همه مقادیر r_j≤0 باشند، جواب پایه فعلی بهینه است. در نمایش جدول با قرارداد Z−Σcx علامت سطر هدف معکوس است. قرارداد جدول را قبل از انتخاب ستون ورودی بررسی کن.
Max Z = 3x + 2y
x+y <= 4, x <= 2, y <= 3
x,y >=0
First entering variable: x (objective coefficient 3)
Ratio test for x: 4/1=4, 2/1=2 -> x enters, second row leaves
Then y enters: x+y <=4 -> y=2
Optimal: (x,y)=(2,2), Z=10
این مثال دوم مستقل از مدل ۴۰ و ۳۰ ابتدای درس است. در نقطه بهینه، دو قید اول فعال و قید سوم یک واحد شل دارد. آزمون نسبت فقط روی ضرایب مثبت ستون ورودی انجام میشود؛ نسبت تقسیم بر صفر یا ضریب منفی مجاز نیست.
تباهی، چندجوابی و نامحدود بودن
اگر یک متغیر پایه صفر شود، جواب تباه است و ممکن است تغییر پایه بدون تغییر مقدار هدف رخ دهد. هزینه کاهشیافته صفر برای متغیر غیربنیادی میتواند نشانه چند جواب بهینه باشد، اما برای ادعای یک جواب جدید باید جهت حرکت مجاز را نیز بررسی کرد. اگر ستون ورودی هیچ ضریب مثبت مناسبی برای آزمون نسبت نداشته باشد و جهت بهبود واقعاً وجود داشته باشد، هدف در آن جهت نامحدود است؛ با «جواب ناممکن» اشتباه نگیرید.
نمونه تصمیم مدیریتی و محدودیت مدل
اگر x و y تعداد دستگاه یا کامیون باشند، مقدار غیرصحیح یک حلگر LP ممکن است اجرایی نباشد؛ باید یک مدل صحیحعدد ساخت. اگر محدودیتها از دادههای تخمینی آمدهاند، بهینه ریاضی بهتنهایی به معنی بهترین تصمیم عملی نیست. برای تفسیر قیمت منابع، درس دوگان و برای بررسی تغییر ظرفیت و سود، درس تحلیل حساسیت را بخوان.
تمرینهای تکمیلی با پاسخ
پایه: برای Max 3x+2y با قیود مثال دوم، مقدار هدف نقطه (۲،۲) را حساب کن.
پاسخ تمرین پایه
مقدار هدف ۱۰ است و هر سه قید برقرارند.
میانی: در همان مثال، برای ورود x کدام قید آزمون نسبت را میبَرد؟
پاسخ تمرین میانی
قید x≤۲ با نسبت ۲؛ نسبت قید x+y≤۴ برابر ۴ است.
پیشرفته: اگر ضریب هدف x از ۳ به صفر تغییر کند، آیا همان جواب (۲،۲) لزوماً بهینه میماند؟
پاسخ تمرین پیشرفته
خیر؛ اکنون هدف بیشینهسازی ۲y است، پس نقطه (۰،۳) مجاز و با مقدار هدف ۶ بهتر از مقدار ۴ در نقطه (۲،۲) است. بهینه جدید نیازمند تحلیل مجدد است.
آزمایشگاه تعاملی جدول سیمپلکس
یکی از مدلهای آماده را انتخاب کن یا ضرایب مدل خودت را تغییر بده. پس از حل، بین جدول آغازین و تمام Pivotها حرکت کن.
تابع هدف (بیشینهسازی)
قیود (x₁, x₂ ≥ ۰)
خروجی مدل
ده سؤال برای سنجش یادگیری
پس از پاسخدادن، نتیجه و توضیح علمی هر سؤال را یکجا ببین. نمره فقط در همین صفحه محاسبه میشود و روی سرور ذخیره نخواهد شد.
منابع و مطالعه بیشتر
این متن و تمرینها تألیفی هستند. برای روش پایهای و مبانی نظری از منابع دانشگاهی زیر استفاده شده است:
- NEOS Guide — Simplex Method
- NEOS Guide — Linear Programming
- MIT OpenCourseWare — Introduction to Mathematical Programming, Simplex I–IV
این ابزار برای یادگیری روند Pivot ساخته شده و جایگزین حلگر حرفهای برای مسائل بزرگ یا مدلهای عمومی نیست.