Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metody_shpory.docx
Скачиваний:
2
Добавлен:
25.09.2019
Размер:
913.87 Кб
Скачать

В3 Целочисленное программирование. Метод ветвей и границ решения задач целочисленного программирования.

Под задачей целочисленного программирования понимается задача, в которой все или некоторые переменные должны принимать целые значения. В том случае, когда ограничения и целевая функция представляют собой линейные зависимости, задачу называют целочисленной задачей линейного программирования. В противном случае, когда хотя бы одна зависимость будет нелинейной, это будет целочисленной задачей нелинейного программирования. Если требование целочисленности распространяется на часть неизвестных величин задачи, то такая задача называется частично целочисленной. Целочисленным программированием называется раздел математического программирования, изучающий экстремальные задачи, в которых на искомые переменные накладывается условие целочисленности, а область допустимых решений конечна. Огромное количество экономических задач носит целочисленный характер, что связано, как правило, с физической неделимостью многих элементов расчета: например, нельзя построить два с половиной завода, купить полтора автомобиля и т.д. В ряде случаев такие задачи решаются обычными методами, например, симплексным методом. Однако большинство целочисленных задач, таких как задача с неделимостями, принадлежит к разряду так называемых трудно решаемых. Получение их точного решения не может быть гарантировано, хотя для некоторых задач данного типа существуют эффективные методы, позволяющие находить точное решение даже при больших размерностях. Математическая модель задачи целочисленного программирования представлена в виде: (2.1) ;(2.2) ;(2.3) -целые. Метод ветвей и границ решения задач целочисленного линейного программирования Суть метода и технология его применения заключаются в том, что сна-чала в ОДР системы ограничений 9 находится оптимальное решение задачи симплекс-методом без учета условия целочисленности (рассмотрим задачу нахождения максимума функции.). Если в полученном решении некоторые переменные имеют дробные значения, то выбираем любую из дробных переменных и по ней строим два ограничения. В одном ограничении величина переменной меньше или равна наибольшему целому числу, не превышающему значения дробной переменной в оптимальном решении, а в другом ограничении она больше или равна наименьшему целому значению, но не меньше значения дробной переменной. Если, например, дополнительные ограничения строить по переменной , то первое ограничение будет , а второе , этим мы исключаем из ОДР исходной задачи промежуток с дробными значениями неизвестной .Этот промежуток разбивает ОДР θ на две части: θ1 и θ2 где 1 θ– новая ОДР, полученная добавлением к ограничениям исходной задачи дополнительного ограничения , а θ2– добавлением ограничения . В результате разбиения ОДР θ получены две новые задачи (подзадачи) линейной оптимизации. Если после их решения полученные значения не-известных будут не целочисленные, то, сравнив значения функций этих задач, выбираем задачу с большим значением функции и по новой неизвестной с дробным значением строим снова два дополнительных ограничения (третье и четвертое) и разбиваем эту задачу еще на две новые подзадачи. Ветвление заканчивается нахождением целочисленного решения, если оно существует. Границами в методе выступают значения функций задач каждой ветви. На каждом этапе решения задачи дальнейшему ветвлению (разбиению на новые задачи) подлежит та ветвь (задача), у которой значение функции больше. Поэтому отдельные подзадачи (ветви), у которых значение функции меньше, могут быть отброшены. Однако иногда, сравнивая значения функций подзадач, приходится возвращаться к ветвям, которые ранее были отброшены, и продолжать дальнейшее решение от них. Поскольку множество всех решений задачи ЦЛО конечно, то после конечного числа разбиений исходной задачи на подзадачи оптимальное решение будет найдено.