۱. تعریف — Definition
مدل حملونقل (مسئلهٔ حملونقل / transportation problem)، مدل تخصیص (مسئلهٔ تخصیص / assignment problem) و برنامهریزی عدد صحیح (برنامهریزی عدد صحیح / integer programming) سه شاخهٔ «ساختار ویژه» در برنامهریزی خطیاند که کنکور آنها را در قالب الگوریتم میسنجد، نه در قالب مدلسازی. دو مورد نخست، مسائل برنامهریزی خطیای هستند که ماتریس ضرایب قیدشان چنان ویژه است که میتوان روش سیمپلکس را با یک جدول فشرده از سطرها و ستونها جایگزین کرد — و جواب پایهٔ بهینهشان با عرضه و تقاضای صحیح بهطور خودکار عدد صحیح درمیآید، حتی وقتی هیچ شرط صحیحبودنی تحمیل نشده باشد. مورد سوم دقیقاً حالت مقابل است: یک برنامهٔ خطی معمولی که شرط (یا ) به آن افزوده میشود، و همین تضمین نقطهٔ رأسی را از بین میبرد و در نتیجه به ابزار مخصوص خود نیاز دارد — شاخه و کران (branch and bound) یا صفحات برش (cutting planes). تشخیص اینکه در کدامیک از این سه هستید، کل روش را تعیین میکند: در دو مورد نخست هرگز چیزی را گرد نمیکنید، و در مورد سوم هم حق گرد کردن ندارید — باید برش بزنید یا شاخهبندی کنید.
۲. خاستگاه — Origin and owners
| بخش | صاحب نظریه | مسئلهای که برای آن ابداع شد |
|---|---|---|
| مسئلهٔ حملونقل | صورتبندیشده به دست F. L. Hitchcock (1941) و مطالعهشده بهطور مستقل توسط T. C. Koopmans؛ قابل حل با سیمپلکس دانتزیگ (Dantzig) | ارسال یک کالای همگن از مبدأ عرضه به مقصد تقاضا با کمترین هزینهٔ کل |
| سیمپلکس حملونقل — شمالغربی / کمترین هزینه / VAM برای شروع، گامبهگام (stepping-stone) و MODI برای آزمون | قراردادهای محاسباتی جدول حملونقل | پرهیز از حمل جدول سیمپلکسِ ستونی بهصورت دستی |
| روش مجارستانی (Hungarian method) | H. W. Kuhn (1955)، که «مجارستانی» نامیده شد چون بر قضایای تطابق Kőnig و Egerváry استوار است | تطابق یکبهیک عامل با کار |
| صفحات برش (برش گوموری) | R. E. Gomory (1958) | نخستین الگوریتم متناهی برای برنامهٔ خطی عدد صحیح خالص |
| شاخه و کران (branch and bound) | A. H. Land and A. G. Doig (1960) | شمارش ضمنی جوابهای صحیح با استفاده از کرانهای برنامهٔ خطی |
نکتهٔ تاریخی که ارزش بهخاطر سپردن دارد: حملونقل و تخصیص پیش از برنامهریزی عدد صحیح عمومی پدید آمدند، دقیقاً به این دلیل که صحیحبودن جوابشان رایگان است — ابزارهای بند ۵ فقط برای مدلهایی وجود دارند که این موهبت را ندارند.
۳. ساختار — The models themselves
۳.۱ مدل حملونقل
که در آن عرضهٔ (supply) مبدأ ، تقاضای (demand) مقصد و هزینهٔ حمل هر واحد است. مدل وقتی متوازن (balanced) است که
| واقعیت ساختاری | مقدار | چرا مهم است |
|---|---|---|
| تعداد متغیرها | جدول سطر ستون است | |
| تعداد قیدها | یکی برای هر سطر، یکی برای هر ستون | |
| رتبهٔ ماتریس ضرایب | یک معادله زائد است (مجموع سطرها و مجموع ستونها هر دو یک عدد کل را میدهند) | |
| خانههای پُر (پایه) در یک جواب شدنی پایه | تخصیصهای مثبتِ کمتر از این تبهگن (degenerate) | |
| مدل نامتوازن | افزودن یک سطر یا ستون مجازی (dummy) با | عرضهٔ مازاد یا تقاضای برآوردهنشده را جذب میکند |
| مسیر ممنوع (prohibited route) | قرار دادن (عددی بسیار بزرگ) | الگوریتم خودبهخود از آن خانه پرهیز میکند |
| تابع هدف بیشینهسازی | تبدیل به هزینه با استفاده از (یا منفی کردن) | آزمونهای زیر برای کمینهسازی بیان شدهاند |
| صحیحبودن | رایگان، هرگاه همهٔ صحیح باشند | ماتریس ضرایب تماماً یکهپیمان (totally unimodular) است |
۳.۲ مدل تخصیص — حالت خاصِ حدی
قرار دهید و برای همهٔ :
دقیقاً متغیر برابر میشوند — یکی در هر سطر و یکی در هر ستون — هر شکلی که ماتریس هزینه داشته باشد. همین یک واقعیت، کل حسابِ تبهگنی را میسازد:
| حلشده بهصورت… | اندازهٔ پایه | متغیرهای مثبت | متغیرهای تبهگن |
|---|---|---|---|
| جدول کاملِ سطری با مصنوعی صفر برای معادلهٔ زائد | یک جایگاه پایه به ازای هر سطر | ||
| یک مسئلهٔ حملونقل | خانهٔ پُر |
با حذف سطر زائد و متغیرهای مصنوعی، پایهٔ برنامهٔ خطی معمولی نیز رتبهٔ و در نتیجه متغیر اصلی پایهٔ صفر دارد. شمار ، مصنوعی صفرِ باقیمانده را شامل میشود؛ رتبهٔ دیگری برای همان ماتریس نیست.
مسئلهٔ تخصیص از نظر ساختاری تبهگن است: برای هر ، هر جواب شدنی پایهٔ آن تبهگن است و باید به تعداد لازم خانهٔ پایهٔ صفرِ مستقل را، بدون بستن حلقه، با یک نمادین (صفر مجازی) مشخص کرد تا پایه کامل و دستگاه ضرایب (multiplier) قابل حل بماند.
۳.۲الف مدل جهتدار فروشندهٔ دورهگرد: تخصیص بهعلاوهٔ اتصال
مسئلهٔ فروشندهٔ دورهگرد (travelling-salesperson problem, TSP) توری بسته با کمترین هزینه میخواهد که هر شهر را یک بار بازدید کند. در مدل جهتدار، و به معنای انتخاب کمان از مبدأ به مقصد است؛ هزینهٔ دو جهت مخالف ممکن است متفاوت باشد. متغیرها را فقط برای تعریف کنید (یا معادل آن، بگذارید).
جمع اول مبدأ را ثابت نگه میدارد و یک خروج (one departure) را انتخاب میکند؛ جمع دوم مقصد را ثابت نگه میدارد و یک ورود (one arrival) را انتخاب میکند. این قیدهای درجهٔ تخصیص، پوشش دوری (cycle cover) میسازند که ممکن است چند دور جدا داشته باشد. صحیحبودن، آن پوشش را متصل نمیکند.
در هر زیرمجموعهٔ سرهٔ شهرها، تشکیل یک زیرتور (subtour) بسته را ممنوع کنید:
مثال نقض: و همهٔ معادلات خروج و ورود را ارضا میکنند و کمان به خود ندارند، اما هر چهار شهر را در یک تور نمیپیمایند. برای جمع کمانهای داخلی است؛ پس قید زیرمجموعه این جواب را حذف میکند. در مقابل، یک تور شدنی است؛ شدنیبودن بهتنهایی کمترین هزینه را اثبات نمیکند.
| مدل | تضمین معادلات درجه | الزام اضافی / روش |
|---|---|---|
| تخصیص (Assignment) | یک خانهٔ منتخب در هر سطر و ستون | روش مجارستانی کمترین هزینهٔ تطابق را گواهی میکند. |
| فروشندهٔ دورهگرد جهتدار (Directed TSP) | یک خروج و ورود برای هر شهر؛ احتمال چند دور | حذف زیرتور، تور واحد را تحمیل میکند؛ عموماً به بهینهسازی عدد صحیح نیاز است. |
کاربرد: مسئلهٔ تخصیصِ آزادشده را حل کنید، دورها را بررسی و قید زیرمجموعهٔ نقضشده را اضافه کنید؛ دوباره بهینه کنید تا زیرتوری باقی نماند. کمترین هزینهٔ آن کران پایینِ بهینهٔ تور است. کاهشهای مجارستانی تنها وقتی بهینگی TSP را گواهی میکنند که تخصیص بهینهٔ آنها از ابتدا یک تور مجاز واحد باشد.
تلهٔ رایج: خروج، مقصدها را جمع میزند؛ ورود، مبدأها را. یک کمان ورودی و یک کمان خروجی، تور واحد را تضمین نمیکنند.
۳.۳ برنامهریزی عدد صحیح و صفر و یک
| نوع | فارسی | شرط |
|---|---|---|
| عدد صحیح خالص (pure integer) | برنامهریزی عدد صحیح خالص | همهٔ ها صحیح |
| عدد صحیح مختلط (mixed integer) | عدد صحیح مختلط | برخی ها صحیح، بقیه پیوسته |
| صفر و یک (binary / zero-one) | صفر و یک | ، یعنی انتخاب / عدم انتخاب |
قیدهای منطقی استاندارد با ( یعنی «پروژهٔ انتخاب میشود»):
| خواسته به زبان ساده | قید |
|---|---|
| حداکثر یکی از A و B (متقابلاً منحصربهفرد) | |
| دقیقاً تا از پروژه | |
| دستکم انتخاب و حداکثر عدم انتخاب | ، معادل |
| حداکثر انتخاب | |
| A مستلزم B است (وابستگی) | |
| A و B هر دو یا هیچکدام | |
| اگر C انتخاب شود، نه A و نه B نباید انتخاب شوند | |
| یا قید ۱ یا قید ۲ باید برقرار باشد | |
| هزینهٔ ثابت (fixed charge): پرداخت هزینهٔ راهاندازی فقط اگر | ، با صفر و یک |
ابزار عمومیِ «اگر–آنگاه» همان کلید بزرگ- است: هر چه را که باید خاموش شود در سمت چپ بگذارید و بگذارید متغیر کلیدی یک دستکم به بزرگی بیشینهٔ سمت چپ را حمل کند:
با فعالشدن کلید، تحمیل میشود؛ فقط با ، صفرشدن نتیجه میشود. برای صفر و یک، بیشینه برابر است، پس تنگترین ضریب مجاز است.
۴. طرز کار — How to apply
روش حملونقل — حل یک مسئلهٔ حملونقل
- متوازن کنید (در صورت نیاز سطر/ستون مجازی)؛ بیشینهسازی را به ماتریس هزینه تبدیل کنید.
- جواب شدنی پایهٔ اولیه — یکی از اینها:
| روش | فارسی | ایده | کیفیت |
|---|---|---|---|
| North-west corner | گوشهٔ شمال غربی | از بالا-چپ شروع کن، هزینهها را نادیده بگیر | سریع؛ بیتوجه به هزینه، نه لزوماً بدترین |
| Least cost | کمترین هزینه | ارزانترین خانهٔ موجود را پُر کن | ابتکاری؛ بدون تضمین بهینگی |
| VAM (Vogel) | تقریب ووگل | جریمهٔ هر سطر/ستون = (دومین ارزانترین − ارزانترین)؛ بزرگترین جریمه ابتدا خدمت میگیرد | اغلب شروع مفید؛ بدون تضمین بهینگی |
شمارش را بررسی کنید: باید خانهٔ پُر باشد؛ اگر کمتر بود، یک در خانهای بگذارید که حلقهای را نبندد. 3. آزمون بهینگی. یا روش گامبهگام (روش گام به گام / مسیر بسته / stepping-stone) — برای هر خانهٔ خالی، حلقهٔ بستهٔ یکتای آن را از میان خانههای پُر ردیابی کنید و هزینهها را با علامتهای متناوب جمع کنید — یا MODI (روش توزیع اصلاحشده) که سریعتر است: قرار دهید و حل کنید
سپس برای هر خانهٔ خالی محاسبه کنید
جدول (در کمینهسازی) وقتی بهینه است که برای همهٔ خانههای خالی برقرار باشد. مقدار روی یک خانهٔ خالی نامزد جوابهای بهینهٔ چندگانه (alternative optima) است؛ تخصیص شدنی متمایز را تأیید کنید، زیرا لولای تبهگن با حرکت صفر ممکن است فقط پایه را تغییر دهد. 4. بهبود دهید. منفیترین را وارد پایه کنید: روی حلقهٔ بستهٔ آن، تخصیصهای خانههای منفی را بگیرید، را به خانههای مثبت اضافه و از خانههای منفی کم کنید. از گام ۳ تکرار کنید.
قید دوگان است؛ پس کمکی نامنفی آن است. مسیرهای پایه طبق مکملی، کمکی دوگان صفر دارند.
حساسیت — تحلیل دامنهٔ هزینه در جدول نهایی
این همان گامی است که دانشجویان بیش از همه برعکس انجام میدهند. قاعده کاملاً به این بستگی دارد که خانه خالی است یا پُر:
| خانه | با تغییر هزینهاش چه چیزی تغییر میکند | دامنهٔ مجاز |
|---|---|---|
| خانهٔ خالی (غیرپایه) | فقط خودش | میتواند بدون حد بالا افزایش یابد و حداکثر به اندازهٔ کاهش یابد: |
| خانهٔ پُر (پایه) | وارد دستگاه میشود، پس ضرایب را جابهجا میکند و در نتیجه چند را تغییر میدهد | هزینه را بهصورت نماد حمل کنید، همهٔ را دوباره محاسبه کنید، شرط را بر هر خانهٔ خالی تحمیل کنید و نامعادلات حاصل را اشتراک بگیرید |
جهتها خودکار به دست میآیند: خانهٔ خالیای که حلقهاش با علامت منفی وارد خانهٔ تغییریافته میشود، میدهد، یعنی یک کران بالا برای ؛ و حلقهای که با علامت مثبت وارد شود، کران پایین میدهد. اگر یک حلقه را جا بیندازید، بازه بیش از حد گشاد درمیآید.
روش مجارستانی — the Hungarian method (مربعی، کمینهسازی)
- کاهش سطری: کوچکترین عنصر هر سطر را از آن سطر کم کنید.
- کاهش ستونی: کوچکترین عنصر هر ستون را از آن ستون کم کنید.
- همهٔ صفرها را بپوشانید با کمترین تعداد ممکن خطوط افقی/عمودی.
- اگر تعداد خطوط شد، یک تخصیص بهینه در میان صفرها وجود دارد — آن را بخوانید و از سطر یا ستونی شروع کنید که دقیقاً یک صفر دارد. اگر تعداد خطوط بود: کوچکترین عنصر پوشیدهنشده را بگیرید، آن را از هر عنصر پوشیدهنشده کم کنید، به هر عنصری که در تقاطع دو خط است اضافه کنید، عناصر تکپوشش را دستنخورده بگذارید و به گام ۳ بازگردید.
- نکات تکمیلی: ماتریس غیرمربعی یک سطر/ستون مجازی از صفرها میگیرد؛ مسئلهٔ بیشینهسازی ابتدا به ماتریس ندامت/هزینهٔ فرصتازدسترفته () تبدیل میشود؛ و تخصیص ممنوع هزینهٔ میگیرد.
هزینههای نمادین تخصیص — حساسیت نسبت به پارامتر
ابتدا زوجهای ممنوع را حذف کنید؛ این زوجها مجاز نیستند، نه اینکه هزینهٔ محدود و بزرگی برای مبادله داشته باشند. نماد در بخشهای دیگر، جریمهای واقعاً بازدارنده در دامنهٔ دادهشده را فرض میکند. اگر هیچ تخصیص کاملی باقی نماند، مدل ناموجه است. برای ماتریسی کوچک، جایگشتهای مجاز را شمارش و هزینهٔ کل آفین هر یک را جمع کنید:
تقاطعهای دوبهدو را بیابید، موارد داخل دامنهٔ دادهشدهٔ پارامتر را نگه دارید و هزینهها را در هر بازهٔ میان آنها مقایسه کنید: مقدار بهینه، پوش پایین (lower envelope) آنهاست.
مثال کوچک: فرض کنید . ماتریسی سطرهای و را دارد؛ هزینهٔ تخصیص قطری (A) و جابهجا (B) را جمع کنید:
| تخصیص | هزینهٔ کل آفین | دامنهٔ بهینگی |
|---|---|---|
| A | ||
| B |
حل مقدار را میدهد؛ در ، هزینهٔ B برابر است؛ در ، هزینهٔ A برابر است. در نقطهٔ تغییر هر دو برابرند. عبارتی پیشنهادی ممکن است فقط در زیردامنهای معتبر باشد؛ مثبتبودن بهتنهایی یک خط را انتخاب نمیکند. تقاطع دو خط، اگر خط سومی زیر هر دو باشد، در پوش بهینه نقشی ندارد.
عدد صحیح — حل یک برنامهٔ عدد صحیح
- نخست مسئلهٔ آزادشده (LP relaxation) را حل کنید. مقدار تابع هدف آن یک کران است: کران بالا برای مسئلهٔ بیشینهسازی و کران پایین برای کمینهسازی. اگر اتفاقاً صحیح درآمد، کار تمام است.
- هرگز گرد نکنید. گرد کردن ممکن است ناشدنی شود، و حتی وقتی شدنی باشد غالباً بهینه نیست.
- شاخه و کران: یک کسری را انتخاب کنید و دو زیرمسئله با و بسازید؛ گرهی را هرس کنید که مسئلهٔ آزادشدهاش ناشدنی، صحیح، یا بدتر از بهترین جواب صحیح یافتشده تا آن لحظه (incumbent) باشد.
- صفحهٔ برش گوموری: سطری با متغیرهای صحیح خالص از جدول بهینه را بگیرید که سمت راستش کسری است، هر ضریب و سمت راست را بهصورت بنویسید که در آن بخش کسری است، و این قید را اضافه کنید
یک برش معتبر باید (i) نقطهٔ کسری فعلیِ برنامهٔ خطی را حذف کند و (ii) هر نقطهٔ شدنی صحیح را حفظ کند. 5. بازگرداندن برش به متغیرهای اصلی — گامی محبوب در کنکور. برش در فضای جدول متولد میشود، پس به زبان متغیرهای کمکی سخن میگوید؛ هر متغیر کمکی را از قید خودش بخوانید،
و جایگذاری و ضرایب را جمع کنید. در مثال زیر با ضرایب نامنفی، علامت برش به تبدیل میشود؛ با ضرایب اصلی منفی، سطر حاصل را بررسی کنید و کاهش هر کمکی در هر متغیر را مفروض نگیرید.
برش کسری فرض میکند متغیرهای سطر صحیحاند؛ از جمله کمکیهای اصلی، وقتی دادههای صحیح قید آنها را صحیح میکند. سطر عدد صحیح مختلط به برش مناسب مختلط نیاز دارد.
بالاس — جستوجوی افزایشی دودویی بدون برنامهٔ خطی در هر گره
الگوریتم افزایشی بالاس (Balas's additive algorithm) انتخابهای دودویی را بهطور ضمنی میشمارد. به کمینهسازی با هزینههای نامنفی نرمال کنید: متغیر با هزینهٔ منفی را با مکمل کنید و همهٔ قیدها و ثابت تابع هدف را تغییر دهید. سطرها را سازگار به شکل بنویسید. در هر گره، متغیرهای انتخابشده را تثبیت و ابتدا متغیرهای آزاد را صفر کنید: این ارزانترین تکمیل است، نه لزوماً تکمیل موجه.
۱. کمبود مثبت هر قید و مجموع آن را محاسبه کنید:
۲. برای هر متغیر آزاد، یکشدن را آزمایش کنید. در قاعدهٔ بیشترین کاهش مجموع ناموجهی، بیشترین کاهش را برای انشعاب انتخاب کنید؛ کمبود همهٔ سطرها، شامل سطرهای تازه نقضشده، دوباره محاسبه میشود:
این قاعدهٔ جستوجوی مشخص است، نه ادعای استفادهٔ همهٔ پیادهسازیها از آن یا برندهشدن ارزانترین ضریب. تساویها را طبق قرارداد دادهشده حل کنید. واحد و مقیاس سطرها را ثابت نگه دارید. ۳. اگر هزینهٔ متغیرهای تثبیتشدهٔ یک بهعلاوهٔ ثابت، دستکم برابر هزینهٔ بهترین جواب موجه موجود باشد، یا حتی بیشترین مشارکت ممکن متغیرهای آزاد نتواند سطری را موجه کند، هرس کنید. تکمیل صفرِ موجه، بهترین جواب موجود را بهروز میکند؛ نامنفیبودن هزینهها یعنی فرزندانش بهتر نمیشوند. فرزندان با هزینهٔ صفر ممکن است مساوی شوند. ۴. در غیر این صورت شاخههای یک و صفر متغیر منتخب را بررسی کنید. با پایان بررسی گره، به آخرین شاخهٔ بررسینشده بازگردید (Backtrack)؛ تنها پس از پایان همهٔ شاخههای باقیمانده متوقف شوید.
آزمون کوچک: برای و ، بردار صفر میدهد. یککردن تنها متغیر اول، دوم یا سوم بهترتیب مجموعهای میدهد؛ پس قاعده ابتدا متغیر اول را میآزماید. هنوز برای موجهشدن متغیر دیگری لازم است؛ انتخاب اولین انشعاب گواه بهینگی نیست.
| روش | جستوجو / گواه |
|---|---|
| بالاس | تکمیلهای دودویی، آزمونهای افزایشی موجهبودن و کران هزینه؛ برنامهٔ خطی در هر گره لازم نیست |
| شاخه و کران با برنامهٔ خطی | کرانهای مسئلهٔ آزادشده و اغلب انشعاب روی متغیر کسری |
| برش گوموری | نامعادلهٔ معتبر نقطهٔ کسری آزادشده را حذف و نقاط صحیح شدنی را حفظ میکند |
۵. مثال حلشده — Worked mini-examples
(الف) یک جدول حملونقل، حلشده و سپس تحلیل حساسیتشده
عرضهها ، تقاضاها — متوازن در — با ماتریس هزینهٔ
| D1 | D2 | D3 | |
|---|---|---|---|
| S1 | 4 | 6 | 8 |
| S2 | 5 | 3 | 7 |
شروع با کمترین هزینه: ارزانترین خانه با است، مقدار تخصیص میدهیم؛ سپس با ، مقدار ؛ سپس با ، مقدار ؛ و در پایان . خانههای پُر ، پس جواب غیرتبهگن است.
آزمون MODI با :
خانههای خالی: و ، پس جدول بهینه است.
تحلیل حساسیت خانهٔ خالی : فقط تغییر میکند، پس حداکثر به اندازهٔ میتواند کاهش یابد و بدون محدودیت میتواند افزایش یابد:
تحلیل حساسیت خانهٔ پُر : را با نماد جایگزین کنید و ضرایب را دوباره حساب کنید: ، ، ، . اکنون شرط نامنفی بودن را بر هر دو خانهٔ خالی تحمیل کنید:
توجه کنید چگونه یک هزینهٔ پایه، دو ضریب را جابهجا کرد و دو کران تولید کرد — تمام تفاوت میان دو سطر جدول حساسیت بالا همین است.
(ب) یک تخصیص با روش مجارستانی
| J1 | J2 | J3 | |
|---|---|---|---|
| A1 | 9 | 11 | 14 |
| A2 | 6 | 15 | 13 |
| A3 | 12 | 13 | 16 |
کاهش سطری (کم کردن ) و سپس کاهش ستونی (کم کردن ) میدهد
همهٔ صفرها با ستون ۱ بهعلاوهٔ سطر ۳ پوشیده میشوند — تنها خط که است، پس ماتریس هنوز قابل حل نیست. کوچکترین عنصر پوشیدهنشده است: آن را از هر عنصر پوشیدهنشده کم کنید و به عنصر دوبار پوشیدهشدهٔ اضافه کنید:
اکنون صفرها به خط نیاز دارند (سطر ۱، سطر ۳، ستون ۱)، پس تخصیص بهینه وجود دارد. سطر ۲ تنها یک صفر دارد، پس ؛ سپس و ، کارهای و را میان خود تقسیم میکنند:
دو تخصیص متفاوت با هزینهٔ یکسان — جوابهای بهینهٔ چندگانه، که به دو تطابق کاملِ متمایز روی صفرهای ماتریس کاهشیافته نیاز دارند؛ صفرهای اضافی بهتنهایی کافی نیستند.
(ج) بازگرداندن یک برش گوموری به متغیرهای اصلی
فرض کنید قیدهای اصلی و باشند، پس و . برای بیشینهسازی ، بهینهٔ برنامهٔ خطی است؛ حذف متغیر اول این سطر را میدهد
بخشهای کسری — همیشه رو به پایین گرفته میشوند، پس است، نه :
با جایگذاری متغیرهای کمکی:
در این مثال، پس از جمعکردن جملهها علامت به تبدیل شد.
۶. اشتباه نشود با… — Confused with
| زوج مفاهیم | تفاوت واقعی | نشانهٔ تشخیص |
|---|---|---|
| حملونقل در برابر تخصیص | تخصیص همان مسئلهٔ حملونقل است با و همهٔ عرضهها و تقاضاها برابر | در تخصیص هر مبدأ دقیقاً به یک مقصد خدمت میدهد؛ در حملونقل یک مبدأ میتواند عرضهاش را تقسیم کند |
| تخصیص در برابر ترابری/انتقالی (transshipment) | در ترابری گرههای میانی مجازند که هم دریافت و هم ارسال کنند | گرهای که هم بهصورت سطر و هم بهصورت ستون ظاهر میشود |
| گامبهگام در برابر MODI | آزمون بهینگی یکسان، دفترداری متفاوت: گامبهگام برای هر خانهٔ خالی یک حلقهٔ بسته ردیابی میکند؛ MODI یکبار را به دست میآورد و همهٔ خانهها را قیمتگذاری میکند | MODI سریعتر است؛ اما گامبهگام هنوز برای محاسبهٔ هنگام تخصیص مجدد لازم است |
| تحلیل حساسیت خانهٔ خالی در برابر خانهٔ پُر | خالی: یک تغییر میکند دامنهٔ یکطرفه و بیکران از بالا. پُر: ضرایب تغییر میکنند دامنهٔ دوطرفه از همهٔ خانههای خالی | اگر خانه تخصیص دارد، باید دستگاه را بهصورت نمادین حل کنید |
| در برابر شمار تبهگنی | اندازهٔ پایه است، نه شمارش متغیرهای تبهگن | تبهگن اندازهٔ پایه تخصیصهای مثبت ( در هر مسئلهٔ تخصیص) |
| تبهگنی در برابر جوابهای بهینهٔ چندگانه | تبهگنی یک متغیر پایه برابر صفر است؛ جوابهای بهینهٔ چندگانه به تخصیص متمایز با هزینهٔ یکسان نیاز دارد؛ خانهٔ غیرپایه با نامزد آن است | برای اولی خانههای پُر را بشمارید، برای دومی ها را وارسی کنید |
| شاخه و کران در برابر صفحات برش | شاخه و کران ناحیهٔ شدنی را به زیرمسئلهها افراز میکند؛ برش، مسئلهٔ آزادشده را بدون تقسیم آن کوچک میکند | شاخه و کران درخت تولید میکند، گوموری در هر مرحله یک قید اضافه میسازد |
| گرد کردن جواب برنامهٔ خطی در برابر یک روش واقعی عدد صحیح | گرد کردن هیچ تضمین بهینگی ندارد و حتی ممکن است ناشدنی شود | فقط در حملونقل/تخصیص است که جواب برنامهٔ خطی رایگان صحیح درمیآید |
| سه گونهٔ بزرگ- | (i) در سیمپلکس بزرگ- متغیرهای مصنوعی را جریمه میکند؛ (ii) در مسیر ممنوع یک هزینهٔ ساختگی بسیار بزرگ است؛ (iii) در قید منطقی یک کلید است و باید تا حد ممکن کوچک باشد | در (iii) اگر خیلی کوچک باشد منطق میشکند و اگر خیلی بزرگ باشد مسئلهٔ آزادشده ضعیف میشود |
| متوازن در برابر نامتوازن | نامتوازن یعنی | راهحل، سطر/ستون مجازی با هزینهٔ صفر است — نه حذف کردن عرضه |
نکتهٔ کنکوری: سه عدد، بیشتر پرسشهای این خانواده را تعیین میکنند. یک اندازهٔ پایه است (خانههای پُر) و هرگز شمار تبهگنی نیست — برای آن باید تخصیصهای مثبت را کم کنید، که در یک تخصیص از مسیر جدول کامل با مصنوعی صفر متغیر تبهگن و از مسیر حملونقل میدهد. تنها آزمونی است که پشت هر پرسش بهینگی و هر پرسش تحلیل حساسیت هزینه ایستاده است — و وقتی خانهٔ مورد بررسی پُر است، باید هزینهاش را بهصورت مجهول در حمل کنید و شرطهای حاصل از همهٔ خانههای خالی را اشتراک بگیرید. و در برنامهریزی عدد صحیح، قیدی که شامل حاصلضرب متغیرهای تصمیم باشد (مثلاً ) اصلاً قید خطی نیست — پیش از هر محاسبهای آن را خط بزنید.