- •Лекция 20. П.17. Транспортная задача.
- •П.18. Дискретное программирование.
- •18.1. Классические задачи целочисленного программирования.
- •1. Общая задача целочисленного программирования.
- •2. Задача о контейнерных перевозках (задача о рюкзаке).
- •3. Задача о назначении (проблема выбора, задача о женихах и невестах).
- •4. Задача коммивояжера (бродячего торговца).
- •18.2. Суть методов дискретной оптимизации.
- •18.3. Метод ветвей и границ.
П.18. Дискретное программирование.
18.1. Классические задачи целочисленного программирования.
Задачи, сформулированные в терминах
линейного программирования и содержа-щие
требование «все или некоторые
– целые числа», играют важную роль в
исследо-ваниях различных прикладных
проблем. Такие задачи были объединены
в один раздел математического
программирования, который называетсядискретным программиро-ванием.
Дискретное программирование– раздел математического программирования, изу-чающий экстремальные задачи, в которых на искомые переменные налагается условие целочисленности, а область допустимых решений конечна.
Существует огромное количество задач с дискретной природой. Прежде всего, это задачи с физической неделимостью многих факторов и объектов расчета. Дискретными являются задачи с логическими переменными, принимающие только два значения – нуль или единица (вариант отвергается или принимается).
Иногда дискретное программирование называется целочисленным. Этот термин некоторые математики считают неправильным, так как, строго говоря, дискретное – не обязательно целочисленное. Например, ряд вместимостей (в м3) 1,3; 1,6; 1,9; … - дискретный, но не целочисленный. Отсюда целочисленное программирование правильно считать частным случаем дискретного.
В формальном плане область определения
задач целочисленного программиро-вания
(ЗЦП) представляют собой совокупность
конечного числа точек (если все
целочисленные) или множество
непересекающихся линий, плоскостей,
гиперплоскостей (если целочисленные
лишь отдельные
).
Соответствующие коррективы вносятся
и в методологию поиска оптимальных
решений, причем серьезные трудности
вызывает раз-работка теоретически
обоснованных методов получения
экстремальных плана задачи
и значения целевой функции
.
Прежде чем прейти к рассмотрению методов решения ЗЦП, сначала обратимся к некоторым моделям задач данного раздела.
1. Общая задача целочисленного программирования.
Математическая модель задачи имеет
такой же вид, как модель ЗЛП, только на
переменные накладывается условие
целочисленности, т.е.
.
2. Задача о контейнерных перевозках (задача о рюкзаке).
Эта задача формулируется так. Контейнер
оборудован mотсеками
вместимостью
для перевозкиnвидов
продукции
.
Виды продукции характе-ризуются свойством
неделимости, т.е. их можно брать в
количестве 0, 1, 2, … единиц. Пусть
– расходi-го отсека
для перевозки единицыj-й
продукции. Обозначим через
полезность единицыj-й
продукции (это может быть цена реализации,
прибыль и др.). Требуется найти план
(
– количество единицj-й
продукции, погруженной в контейнер)
перевозки, при котором максимизируется
общая полезность рейса. Модель задачи
примет вид
![]()
при ограничениях на вместимость отсеков
,
условии неотрицательности
,
условии целочисленности.
- целые
![]()
Задача о рюкзаке является частным
случаем задачи о контейнерных перевозках.
В задаче о рюкзаке предусмотрены
перевозки с одним отсеком и каждый вид
продукции (предмет) может быть взят или
нет, т.е.
:
,
если предметj-го вида
берется, и
в противном случае.
