Дискретная оптимизация и моделирование в условиях неопределенности данных
Перепелица В. А., Тебуева Ф. Б.,
В условиях неопределённости данных особого внимания заслуживают методы покоординатного спуска (градиентные алгоритмы) [83] по следующей причине. Если параметры задачи, например, в целевой функции (2.21) коэффициенты ![]()
не являются действительными числами, а, допустим, являются интервалами [11] или нечеткими множествами [76], то эти алгоритмы можно использовать, заменяя операцию «поиск направления с максимальным (по абсолютной величине) числовым приращением целевой функции» на операцию «поиск наиболее предпочтительного направления». Иными словами, алгоритмы покоординатного спуска сохраняют свой принцип пошагового движения в «лучшем направлении» и в условиях неопределённости данных.
Описанный выше алгоритм решения задачи (2.22)-(2.23) относится к методам типа покоординатного спуска. Алгоритмы этого типа очень просты и малотрудоемки. Поэтому весьма интересно выявить класс задач, в которых искомый оптимум находится методом покоординатного спуска. В настоящем п.2.4 мы выделим один такой класс задач выпуклого (вогнутого) целочисленного программирования и установим признак разрешимости задачи из этого класса посредством алгоритма покоординатного спуска.
Обозначим через
конечное множество целочисленных точек
, лежащее в положительном октанте
-мерного пространства
и содержащее начало координат
. В целях наглядности, на рис.2.5 дано геометрическое представление множества P в 3-мерном пространстве
.
.
Рисунок 2.5. Пример множества P в 3-мерном пространстве
.
Рассмотрим следующий класс задач выпуклого целочисленного программирования с максимизирующей целевой функцией
,(2.24)
у которой аргумент
– это
-мерный целочисленный вектор и
,(2.25)
где
– выпуклые вверх (т.е. вогнутые) функции целочисленного аргумента
.
Нашей целью будет исследование разрешимости задачи (2.24)-(2.25) посредством алгоритма покоординатного спуска (алгоритма ПС). Приведем неформальное описание этого метода.
Алгоритм ПС. Процесс вычислений начинается с точки
.
Пусть после некоторого числа шагов мы пришли к точке
. Следующий шаг состоит в переходе к такой точке
, которая:
1) непосредственно следует за
, т.е. отличается от
лишь одной координатой
и
;
2)
выбирается так, чтобы приращение
было положительное и максимально возможное.
Если такой точки
не существует, то процесс заканчивается в точке
, если же их несколько, то выбирается любая из них. За конечное число шагов процесс заканчивается в некоторой точке
. В этом случае будем говорить, что алгоритм приводит к точке
или
есть результат применения алгоритма ПС на множество
.
Вопрос (*): для каких множеств
алгоритм ПС приводит к точке
, являющейся решением задачи (2.24)-(2.25) с целевой функцией
вида (2.25)?
Иными словами, мы хотим обосновать критерий, который очертил бы по возможности более широкий круг задач, решаемых посредством алгоритма ПС. Для этого нам понадобятся в дальнейшем следующие обозначения:
1)
–
-мерные векторы с неотрицательными целочисленными компонентами;
означает, что компоненты векторов
и
удовлетворяют неравенствам
,
;
2)
;
3)
– вектор,
-я компонента которого равна 1, а остальные
компонент равны нулю;
4)
– множество допустимых направлений в точке
относительно множества
;
5)
– множество максимальных точек множества
;
6)
;
7)
, при
;
8)
,
– множества максимальных точек множеств
и
соответственно.
Рассмотрим значение целевой функции
в точке
и сравним его со значением в соседней точке
. Полученное приращение обозначим
.
Заметим при этом, что для функции
вида (2.25) при выполнении неравенства
имеем
,
. Согласно определению алгоритма ПС переход из точки
происходит в такую точку
, для которой
и
.
Исчерпывающий ответ на поставленный выше вопрос (*) дает
Теорема 2.5. Для того, чтобы алгоритм ПС приводил к решению задачи (2.24)-(2.25) при любых
вида (2.25), необходимо и достаточно, чтобы множество
обладало двумя свойствами:
(А): если
, то параллелепипед
;
(B): для всякого вектора
существует число
такое, что из
следует
.
Доказательство необходимости. Для того, чтобы доказать необходимость условия (А), предположим противное. Пусть
и
. Тогда найдутся точки
и координата
такие, что
,
,
.
Определим теперь целевую функцию
следующим образом:
(2.26)
а для всех
положим
(2.27)
Если к целевой функции
, определяемой соотношениями (2.26) и (2.27), применим алгоритм ПС, то в результате покоординатного спуска придем в точку
. В то же время
. Полученное противоречие доказывает необходимость условия (А).
Доказательство необходимости условия (В) также проведем рассуждением от противного, т.е. предположим, что условие (В) нарушено следующим образом. Пусть для некоторого
существуют точки
и
такие, что
и
(т.е.
и
– максимальные точки из одного и того же множества
), но
,
и
(т.е. указанного числа
, одинакового для всех
, не существует).
Положим теперь для определенности
,
,

Начиная с точки
, будем искать оптимальное решение согласно определению алгоритма ПС. Согласно определению приращения
вначале, продвигаясь в
-мерном пространстве на каждом шаге на величину
, каждый раз получаем для
приращение
. Поскольку считается, что наше множество
обладает свойством (А), то через
шагов мы по необходимости придем в точку
, в которой значение
. По условию точка
, т.е.
– максимальная точка. Тогда попав в точку
, мы из нее уже не выйдем. Действительно, если по направлению
имеем неравенство
, то при попытке продвинуться на величину
, мы выйдем из множества
в силу максимальности точки
. Если же
, то при попытке продвинуться на величину
мы выйдем из множества
в силу
.
Итак, в качестве окончательного решения мы придем к точке
. В то же время по условию имеем
, т.е.
. Следовательно, решение
– не является оптимальным, т.е. приходим к противоречию. Необходимость свойств (А) и (В) доказана.
Прежде, чем переходить к доказательству достаточности условий теоремы 1.5, отметим некоторые очевидные факты и докажем одну лемму.
Последовательность множеств
является монотонно возрастающей и при достаточно больших
будет выполняться равенство
.
Замечание 2.3. Если всё множество
обладает свойствами (A) и (B), то этими свойствами обладают так же и множества
,
. Кроме того, если
, то множество допустимых направлений
. Следовательно, если
есть результат применения алгоритма ПС на множестве
, а
– предпоследняя точка на пути из 0 в
, то имеем равенство
в случае
. В противном случае
.
Лемма 2.1. Если
,
и
обладает свойством (В), то найдется индекс
, для которого значение
.
Доказательство. В силу свойства (В) из условий леммы 2.1 следует неравенство
. Предположим противное, т.е. что неравенство
выполняется при любом индексе
. Определим вектор
, положив
,
. Тогда на множестве
точки
и
являются максимальными, что невозможно из-за выполнения свойств (В). Полученное противоречие завершает доказательство леммы 2.1.
Продолжим доказательство теоремы 2.5.
Достаточность. Доказательство проведем для множеств
методом индукции по
. При
утверждение тривиально. Предположим, что для множества
(
) алгоритм ПС приводит к решению задачи. Пусть
есть результат применения алгоритма ПС на множестве
.
Возможны два случая:
a)
;
b)
.
Рассмотрим случай b). Пусть переход в точку
произошел из точки
.Тогда эта точка
является результатом применения алгоритма ПС на множестве
. По предположению индукции функция
достигает в точке
максимума на
. Кроме того, по определению алгоритма ПС приращение на последнем шаге
. Последнее означает, в частности, что
.
Рассмотрим любую точку
. По доказанной выше лемме 2.1 существует индекс
, для которого выполняется неравенство
и, следовательно, в силу вогнутости функции
выполняются соотношения
, т.е.
. Отсюда, т.к.
и в силу индукционного предположения в точке
достигается максимум.
Таким образом
.
Это соотношение в произвольности выбора y означает, что
достигает в
максимума на
. Теорема 2.5 доказана полностью.
Итак, мы установили необходимые и достаточные условия (А) и (В), при выполнении которых класс задач выпуклого или вогнутого целочисленного программирования можно решать экономным методом ПС. Спрашивается, насколько широк указанный класс? Наглядный ответ на этот вопрос можно дать, если обратиться к конкретному виду ограничений определяющих множество
.
Ниже мы исследуем один класс, соответствующий случаю, когда множества
определяются линейными соотношениями. Именно, рассмотрим множества
, определяемые неравенствами:
,
,(2.28)
где
,
и
– целые неотрицательные числа. Удовлетворяющий этим условиям пример множества
для
представлен на рис.2.6.
Очевидно, что при любых
и
множество
, определяемое условиями (2.28), содержит начало координат и обладает свойством (А) (если
, то и параллелепипед
).
.
Рисунок 2.6. Пример множества P, удовлетворяющего условию (2.28) для
.
Если каждая переменная
входит хотя бы в одно ограничение (2.28), это множество
будет также и ограниченным, т.е. для любого
существует
такое, что
.
Что касается свойства (В), то при произвольных
и
в (2.28) множество
этим свойством, вообще говоря, не обладает. Однако, можно указать такие дополнительные ограничения, налагаемые на матрицу
, при выполнении которых множество
будет обладать свойством (В) независимо от значений правых частей неравенств (2.28). С практической точки зрения именно этот случай представляет наибольший интерес.
Для формулировки указанных ограничений введем в рассмотрение множества
,
, где
есть множество номеров
всех переменных
, входящих в
-ое неравенство, т.е.
. Например, для матрицы
эти множества имеют вид:
,
,
,
.
Условимся, что в матрицах вида
пустые клетки означают нули. Далее ради краткости будем говорить, что матрица
имеет структуру типа дерева, если любые два множества
,
,
, таковы что, либо они не имеют общих элементов, либо одно из них включает другое. Например, матрица
имеет структуру типа дерева, а матрица
– не имеет, т.е.
,
и
.
Теперь может быть сформулирована и доказана
Теорема 2.6. Для того, чтобы при фиксированных
и произвольных
определяемые неравенствами (1.28) множества
обладали свойством (В), необходимо и достаточно, чтобы матрица
имела структуру типа дерева.
Доказательство необходимости проведем рассуждением от противного. Пусть структура матрицы
отлична от указанной в условиях теоремы. Тогда найдутся два множества, скажем
и
, такие, что ни одно из них не включает другое и
. Пусть
,
,
. Правые части неравенств (2.28) положим следующими:
и
для всех
(2.29)
и рассмотрим множество
при
.
Для этого множества максимальными являются следующие две точки:
и
, для которых
, то есть свойства (В) нарушено. Т.о., при указанных в (2.29) величинах
множество
не обладает свойством (В).
Необходимость доказана.
Достаточность. Пусть матрица
имеет структуру типа дерева и
. Тогда множество
, будучи ограниченным, имеет максимальные точки. Пусть
- максимальная точка.
Номер
назовем критическим, если
- траекторией ограничение системы (2.28) выполнятся в точке
как равенство, и для любого
, такого, что
,
-е ограничение выполняется как строгое неравенство.
В силу максимальности точки
, для любого
существует критический номер
такой, что
. Пусть
есть множество всех критических номеров
. Тогда семейство множеств
является разбиением множества
на непересекающиеся подмножества, и, следовательно,
. Кроме того, для произвольной точки
имеет место неравенство
.
В частности, для любой максимальной точки
имеем
.
Поскольку
,
в наших рассуждениях можно поменять местами, то нами доказано равенство
. Таким образом, существует число
такое, что для любой максимальной точки
множества
имеет место равенство
.
Рассмотрим теперь некоторое
и к множеству
, определяемому соотношением (2.28), добавим условия
,
, в результате чего получим множество
. Доказанное утверждение остается справедливым и в этом случае, т.е. получим выполнение свойства
.
Теорема 2.6 доказана полностью.
Алгоритм покоординатного спуска чаще всего используется в качестве приближённых методов дискретной оптимизации.