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

24.1.5 Задача о покрытии.

Эта задача относится к классу экстремальных комбинаторных задач на графах.

Рассмотрим типичную задачу о покрытии. Дан граф G. Требуется найти его минимальное покрытие, т.е. такую минимальную совокупность ребер, чтобы любая вершина графа была инцидентна некоторому ребру, входящему в покрытие.

Обозначим вершины графа i, i =1, 2, …, m, а ребра — j, j =1, 2, …, n... Граф характеризуется своей матрицей инциденций вершин и ребер , где

Введем множество переменных {xj}, таких, что

Тогда нахождение минимального покрытия эквивалентно следующей задаче:

минимизировать                           (24.1.11)

при ограничениях

                              (24.1.12)

Задачи на несвязных и невыпуклых областях

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

В частном случае при дополнительных условиях  получаем несвязную область, приведенную на рис. 24.1.

Рис. 24.1                                     Рис. 24.2

24.1.6 Задачи на несвязных областях.

Пусть переменная  задачи ЛП имеет ограничение сверху и, кроме того, ограничение вида

либо , либо ,                  (24.1.13)

где .

Задачи такого типа с дополнительными логическими условиями вида ИЛИ-ИЛИ будем называть дихотомическими.

Введем целочисленную переменную , принимающую значения 0 и 1. Дополнительная переменная  в целевую функцию не включается. Тогда

                     (24.1.14)

Система (24.1.14) эквивалентна ограничениям (24.1.13). Если , то . Если , то .

Рассмотрим более общий случай. Пусть в задачах математического программирования с допустимой областью решений G(X) имеется альтернативное ограничение:

                      (24.1.15)

где ,  — заданные функции. Предположим, что нам известны нижние границы функций h(x), k(x) на области G, обозначаемые соответственно hmin , kmin . Введем вспомогательную переменную  и рассмотрим систему неравенств

                        (24.1.16)

Эта система эквивалентная альтернативному ограничению (24.1.15).

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

24.1.7 Задачи на невыпуклых областях.

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

Пусть имеется задача ЛП с дополнительным ограничением (рис. 24.2):

                                    (24.1.17)

причем

либо , либо .                        (24.1.18)

Введем переменную y, охарактеризовав эту область системой неравенств

                             (24.1.19)

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

                            (24.1.20)

                            (24.1.21)

Кроме того, пусть известны числа { }, { } — нижние границы для функций ,  соответственно.

Введем дополнительную целочисленную переменную y = {0, 1}. Тогда альтернативные ограничения

                 (24.1.22)

Рассмотрим случай условных или логических ограничений. Пусть имеется логическое ограничение:

если , то             (24.1.23)

Запишем его в эквивалентном виде:

либо                    , ,

либо                                                               (24.1.24)

Введя переменную = {0, 1}, приходим к следующей системе:

                              (24.1.25)

где  G —область определения  и .

Рассмотрим иной случай логических ограничений.

Если                      , то ;

если                       , то .         (24.1.26)

Введем переменные y1, y2, и получим

                 (24.1.27)

где                                               .

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