کلمه جو
صفحه اصلی

شاخه و حد

دانشنامه عمومی

شاخه و حد یک الگوریتم عمومی برای پیدا کردن راه حل های بهینه مسائل مختلف است، بخصوص در بهینه سازی گسسته و ترکیبی .
مسئله کوله پشتی
برنامه ریزی عددصحیح
برنامه ریزی غیر خطی
مسئله فروشنده دوره گرد
مشکل تخصیص درجه دوم
Maximum satisfiability problem
جستجو نزدیکترین همسایه
مسئله برش موجودی
تجزیه و تحلیل نویزهای اشتباه
این الگوریتم تمام راه حل های یک مسئله را شمارش می کند که در این بین راه حل های بی ثمر بسیاری هستند که می توان با حذف آن ها با تخمین مرزهای بالایی و پایینی، بهینه شود.
این روش اولین بار توسط A. H. Land و A. G. Doig برای برنامه نویسی گسسته در سال 1960 پیشنهاد شد.
برای قطعیت، ما فرض می کنیم که هدف پیدا کردن حداقل مقدار یک تابع (f(x است، که در آن x در دامنه مجموعه S که از راه حل های مجاز و پیشنهادی است، می باشد(فضای جستجو یا منطقه مجاز).توجه داشته باشید که با پیدا کردن حداکثر مقدار (g(x) = -f(x، می توان حداقل مقدار (f(x را پیدا کرد.(برای مثال اگر S مجموعه ای از برنامه های ممکن برای ناوگان اتوبوس باشد، (f(x را می توان انتظار از درآمد برنامه های x دانست).روش شاخه و حد به دو ابزار نیاز دارد: اول روش تقسیم کردن مجموعه پیشنهاد شده S است که داده شده، که دو یا چند مجموعه کوچکتر را باز میگرداند، که مجموعاً S را پوشش می دهند. توجه داشته باشید که مقدار حداقل (f(x بر روی{..., S ،min{V1 , V2 است، که هر Vi حداقل (f(x به همراه Si است . این مرحله شاخه شدن نامیده می شود. از وقتی که برنامه های بازگشتی، یک درخت تعریف شدند (درخت جستجو) گره ها همان زیرمجموعه های S هستند.ابزار دیگر روش محاسبه مرزهای بالایی و پایینی برای محاسبه مقدار حداقل (f(x با زیر مجموعه داده شده از S. این مرحله Bounding نامیده می شود.ایده کلیدی الگوریتم شاخه و حد این است: درصورتی که حد پایین برای بعضی گره های درخت (مجموعه ای از راه حل های پیشنهادی) A بزرگتر از دیگر گره ها B است، در آن صورت با اطمینان می تواند A از جستجو دور انداخته شود.این مرحله هرس کردن نام دارد و معمولاً با متغیر جهانی m (مشترک در میان تمام گره ها از درخت) پیاده سازی می شود، که حداقل حد بالایی که تاکنون دیده شده در میان تمام حاشیه ها را ثبت می کند. هر گره کران پایین که بزرگتر از m است می تواند دور انداخته شود.


کلمات دیگر: