Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Целочисленное программирование




Под задачей целочисленного программирования понимается задача, в которой все или некоторые переменные должны принимать целые значения.

В случае, когда ограничения и целевая функция задачи представляют собой линейные зависимости, задачу называют целочисленной задачей линейного программирования. Если хотя бы одна зависимость будет нелинейной, такая задача формулируется как целочисленная задача нелинейного программирования.

Модель целочисленной задачи линейного программирования:

(3.6)

(3.7)

(3.8)

(3.9)

Условие - условие целочисленности. Если n1 = n, то задачу называют полностью целочисленной; если n1 < n, то - частично целочисленной.

В ряде случаев задачу целочисленного программирования решают как непрерывную задачу линейного программирования, т.е. без условия целочисленности. Затем округляют переменные и проверяют допустимость округленного решения. Если решение допустимое, то оно принимается как целочисленное.

При необходимости точного решения применяют специальные методы, где учитывается, что число возможных решений любой целочисленной задачи - конечно. Методы целочисленной оптимизации можно разделить на три основные группы: методы отсечения, комбинаторные методы и приближенные методы.

Метод ветвей и границ

Метод ветвей и границ - один из комбинаторных методов. Идея состоит в разбиении допустимого множества на подмножества (правило ветвления) и вычислении оценок целевой функции на этих подмножествах, которые позволяют исключать из рассмотрения подмножества, заведомо не содержащие оптимальных точек.

Алгоритм решения задачи методом ветвей и границ

Шаг 1. Задача линейного программирования решается без учета целочисленности. Если все компоненты оптимального плана целые, то он является оптимальным планом.

Шаг 2. Далее рассматривают одну из переменных xj, на которую накладывают ограничение целочисленности, но которая получила дробное значение. На основе полученного решения составляют дополнительные ограничения:

хj ≤ [ хj *] и хj ≥ [ хj *] + 1,

где [ хj *] - целая часть нецелочисленного значения переменной хj в оптимальном решении.

Шаг 3. Из исходной задачи формируются две задачи линейного программирования, в каждую из которых вошли все исходные ограничения и одно из дополнительных.

Шаг 4. Полученное решение новых задач проверяют на целочисленность переменных. Если решение не удовлетворяет требованию целочисленности, на основе каждой из задач составляют, аналогично предыдущим, две новые и т. д.

Если одно из решений удовлетворяет требованию целочисленности, значение целевой функции принимается за граничное . При этом рассмотрение других задач продолжается до тех пор, пока не будет получено:

- на одной из ветвей недопустимое решение;

- на одной из ветвей целочисленное решение. Тогда значение целевой функции сравнивается с (верхним - при max, нижним - при min); если полученное значение хуже, оно отбрасывается; если лучше, то принимается за граничное;

- на одной из ветвей нецелочисленное решение, однако при этом значение целевой функции хуже граничного. Тогда дальнейшее рассмотрение также прекращается.

На первом цикле расчета

Пример 3. Решить задачу методом ветвей и границ.

Решение. В результате решения задачи симплекс-методом найдем оптимальное решение: , где верхний индекс переменных - номер задачи. В полученном решении х2 - нецелочисленное. Поэтому для дальнейшего решения составляем две новые задачи с различными граничными условиями.

Задача 2 Задача 3

Результаты решения симплекс-методом

задачи 2: ; ;

задачи 3: .

В задаче 1 переменная х1 = 1 - целочисленная, а в последующих задачах при целочисленности х2 перестала быть целочисленной х1. Затем следует накладывать ограничения целочисленности на х1 и т. д. (рис. 3.4).

 
 

 

 


Рисунок 3.4 – Схема решения задачи ЛП методом ветвей и границ

В качестве оптимального принимается решение задачи 5, которое дает наибольшее из целочисленных решений значение целевой функции.

Решение целочисленных задач с использованием MS Excel

Решение целочисленных задач с использованием MS Excel осуществляется аналогично, как и решение задач линейного программирования, с использованием пакета «Поиск решения». Отличие состоит в том, что для данного типа задач необходимо добавить ограничение целочисленности на используемые в задаче переменные. Это делается при добавлении ограничений (рис. 3.5). В диалоговом окне «Добавление ограничения» в поле «Ссылке на ячейку» ввести адреса ячеек, рядом ввести цел.

Рисунок 3.5 – Добавление условия целочисленности переменных

В диалоговом окне «Поиск решения», нажать кнопку Параметры, поставить флажок на Показывать результаты итераций (рис. 3.6), затем Выполнить.

Рисунок 3.6– Окно «Параметры поиска решения»

На экране появится результат решения на первой итерации и диалоговое окно «Текущее состояние поиска решения» (рис. 3.7).

 

Рисунок 3.7 – Окно «Текущее состояние поиска решения»

Щелкнуть Сохранить сценарий, затем Продолжить, ввести номер итерации как имя сценария, повторять до появления диалогового окна «Результат поиска решения» (рис. 3.8).

Рисунок 3.8 – Окно «Результаты поиска решения»

Для целочисленных задач возможен только Отчет по результатам (рис. 3.9).

Рисунок 3.9 – Отчет по результатам





Поделиться с друзьями:


Дата добавления: 2014-10-22; Просмотров: 1354; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.