Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по математике для магистров.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
9.51 Mб
Скачать

24. Дискретное программирование

24.1 Методы и задачи дискретного программирования. Задачи целочисленного линейного программирования.

Многие задачи исследования операций, такие как распределения ресурсов, сетевого планирования и управления, календарного планирования, описываются математическими моделями дискретного программирования.

Рассмотрим общую задачу максимизации

максимизировать                    (24.1.1)

при условиях

.  .  .  .  .  .  .  .  .  .                             (24.1.2)

                             (24.1.3)

где D — некоторое множество.

Если множество D конечным или счетным, то условие (24.1.3) — это условие дискретности и задача (24.1.1) — (24.1.3) является задачей дискретного программирования.

Чаще всего условие дискретности разделено по отдельным переменным следующим образом:

 .

Если вводится ограничение  — целое число, , то приходят к задаче целочисленного программирования (ЦП), а если вводится ограничение , то к задаче булевого программирования.

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

Пример. Максимизировать при условиях

где , — целые числа .

Игнорируя условие целочисленности, находим оптимальный план симплекс-методом:

Проверка показывает, что никакое округление компонент этого плана не дает допустимого решения, удовлетворяющего ограничениям этой задачи. Искомое оптимальное целочисленое решение задачи таково:

Как видим, его нельзя получить простым округлением компонент оптимального непрерывного решения.

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

Методы решения задач дискретного программирования делятся на такие группы:

1) точные методы, которые включают метод отсекающих плоскостей (Гомори), метод ветвей и границ, метод последовательного анализа и отсева вариантов, аддитивний метод и др.;

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

По структуре математической модели задачи дискретного программирования разделяют на следующие основные классы: 1) задачи с неделимостями; 2) экстремальные комбинаторные задачи; 3) задачи на невыпуклых и несвязных областях; 4) задачи с разрывными целевыми функциями.

Рассмотрим некоторые из них.

24.1.1 Задачи с неделимостями

Математические модели задач этого типа основаны на требовании целочисленности переменных , вытекающем из физических условий практических задач. К таким задачам относится, в частности, задача об определении оптимальной структуры производственной программы , где  – объемы выпуска соответствующей продукции. Математическая модель этой задачи имеет следующий вид:

максимизировать                             (24.1.1)

при условиях

                             (24.1.2)

 — цілі, при .                            (24.1.3)

Если , то задача называется полностью целочисленной, в противном случае, если  — частично целочисленной.