филиал и связаны
Что такое ветвь и переплетение?
Ветвь и граница, или BnB, — это парадигма разработки алгоритма, которая решает задачи комбинаторной и дискретной оптимизации. Многие вопросы оптимизации, такие как планирование бригад, проблемы с потоками в сети и планирование производства, не могут быть решены за полиномиальное время. Следовательно, BnB — это парадигма, которая широко используется для решения таких задач.
Этот алгоритм сильно зависит от эффективной оценки нижних и верхних пределов ветвей пространства поиска. Он вырождается в исчерпывающий или тщательный поиск, если не найдено никаких ограничений. Метод ветвей и границ решает эти сложные задачи относительно быстрее. В большинстве задач дискретной оптимизации метод BnB является надежным выбором для решения проблемы.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Оглавление
Ключевые выводы
- Алгоритм ветвей и границ решает задачу оптимизации с временной сложностью.
- Он был введен в 1960 году двумя исследователями, Алисой Лэнд и Элисон Диог, из Лондонской школы экономики.
- Алгоритм делит большую задачу оптимизации на более мелкие и простые подмножества и ищет наилучшее возможное решение среди возможных решений.
- Алгоритм полностью просматривает дерево, прежде чем найти наилучшее решение. Этот процесс считается трудоемким, особенно для больших или сложных проблем.
Объяснение алгоритма ветвей и границ
Ветви и границы — это алгоритм, используемый для решения задач комбинаторной оптимизации. Эти проблемы обычно дополняются временной сложностью и проблемами, которые требуют изучения всех перестановок и комбинаций, возможных в наихудшем сценарии.
Калькулятор ветвей и границ обычно используется для решения задач, которые не могут быть решены за полиномиальное время, таких как проблемы с потоками в сети, планирование бригад и планирование производства. Однако его лучше понимать как инструмент поиска с возвратом, использующий дерево пространства состояний.
Как следует из названия, BnB исследует ветви или узлы в рамках определенного подмножества решений. Считается, что родительский узел имеет все возможные решения указанной проблемы. Однако до того, как возможные решения проблемы будут вычислены или перечислены, верхний и нижний пределы связывают оптимальное решение.
Метод ветвей и границ впервые был предложен Алисой Лэнд и Элисон Дойг из Лондонской школы экономики в 1960 году как решение для дискретного программирования. Однако название «BnB» впервые было официально использовано в исследовании, посвященном проблемам коммивояжеров.
Приложения
Алгоритм BnB является отличным дополнением к арсеналу решений проблем организации, особенно когда метод ветви и границы отмечает все возможности наихудшего сценария. Кроме того, он применяется в ситуациях, когда необходимо оптимизировать комбинацию задач. Давайте обсудим несколько случаев, когда BnB будет хорошим выбором:
- Дискретная оптимизация: Дискретная оптимизация — это подмножество оптимизации, в котором переменные конкретной проблемы должны принадлежать дискретному набору, например, проблемы сетевого потока. В подобных ситуациях разумным выбором будет алгоритм BnB.
- Комбинаторная оптимизация: Поскольку установлено, что задача оптимизации должна быть решена, комбинаторная оптимизация находит максимальную и минимальную границы заданной функции. Область процесса должна быть дискретной или непривязанной и значимой.
Преимущества и недостатки
Давайте разберемся в преимуществах и недостатках BnB по пунктам ниже:
Преимущества
- Сложность времени: Алгоритм BnB не исследует все узлы дерева. Таким образом, временная сложность значительно меньше, чем у большинства других алгоритмов.
- Оптимальное решение: Если разветвление выполнено разумно, алгоритм может найти оптимальное решение за разумное время.
- Очистить шаблон: Алгоритм BnB не повторяет заметки для изучения дерева возможных решений; вместо этого он следует минимальному пути для получения оптимального решения.
Недостатки
- Кропотливый: В зависимости от размера проблемы количество вычисляемых узлов может быть слишком большим в худшем случае, что делает этот процесс трудоемким.
- Распараллеливание: Разветвление возможных решений дает простор для спекулятивного параллелизма. Однако, когда для указанного действия рассматриваются альтернативные действия, калькулятор ветвей и границ сталкивается с трудностями.
Разница между ветвью и привязкой и возвратом
Давайте поймем разницу между BnB и возвратом через таблицу ниже:
Основафилиал и связаныВозвращениеОсновная функцияBnB используется для решения вопросов оптимизации. Поиск с возвратом используется для поиска всех возможных решений данной проблемы.ПодходОн может путешествовать по дереву либо в DFS, либо в поиске в ширину (BFS) на основе подхода поиска в глубину (DFS).Дополнительная функцияВключает ограничивающую функциюВключает функцию осуществимостиРешениеАлгоритм знает, что у него есть лучшее оптимальное решение, чем предварительное решение. Следовательно, она отказывается от предварительного решения. Система признает, что сделала неправильный выбор, и отменяет последний выбор.Спектр поискаОн полностью просматривает дерево, прежде чем предоставить оптимальное решение. Он исследует дерево до тех пор, пока не будет найден ответ.
Ветви и границы против динамического программирования
Несмотря на то, что BnB и динамическое программирование решают задачи оптимизации, которые в конечном итоге приводят к максимизации или минимизации функции затрат в данной ситуации, у них есть несколько отличий. Давайте разберемся с ними по пунктам ниже:
филиал и связаны
- Метод BnB решает задачи математической оптимизации, а также задачи дискретной и комбинаторной оптимизации.
- Алиса Лэнд и Элисон Дойг представили его в Лондонской школе экономики в 1960 году.
- Решение исследуется в ветвях или узлах дерева.
- Перед вычислением возможных решений устанавливаются и проверяются верхний и нижний пределы, чтобы найти наилучшее возможное решение.
Динамическое программирование
- Динамическое программирование — это инструмент математической оптимизации и подход к компьютерному программированию.
- Он был изобретен Ричардом Беллманом в 1950-х годах и с тех пор используется в различных отраслях промышленности.
- Динамическое программирование разбивает большую проблему на более простые и меньшие подмножества в лучших и худших ситуациях.
- Поскольку BnB не может вывести все ситуации или проблемы, точки данных удаляются или разбираются таким образом.
Часто задаваемые вопросы (Часто задаваемые вопросы)
1. Как решать задачи о ветвях и границах?
Проблемы BnB решаются путем разделения решений на подмножества или более мелкие узлы в дереве решений, которое дает подробную картину всех возможных решений. Это делается после установки верхнего и нижнего предела. Он использует стратегии филиала с наименьшими затратами, FIFO или LIFO для создания организаций филиалов.
2. Как использовать метод ветвей и границ?
Метод BnB основан на идеологии, согласно которой совокупность возможных решений может быть разделена на более мелкие узлы решения. После выполнения делений алгоритм может систематически оценивать их, пока не будет найдено наилучшее возможное решение. Этот процесс занимает значительно меньше времени, чем другие алгоритмы при выполнении через BnB.
3. Для чего используется алгоритм перехода и границы?
Обычно алгоритм BnB используется для решения задач комбинаторной оптимизации. Природа этих проблем обычно экспоненциально сложна с точки зрения времени и требует изучения всех возможных перестановок и комбинаций, прежде чем будет найдено наилучшее возможное решение.
Рекомендуемые статьи
Это было руководство к тому, что такое Branch and Bound. Здесь мы объясняем его применение и различия с возвратом и динамическим программированием. Вы можете узнать больше о финансах из следующих статей –
- Эмпирическая вероятность
- Функция плотности вероятности
- Апостериорная вероятность
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)