Серия «Математика»
2013. Т. 6, № 1. С. 57-71
Онлайн-доступ к журналу: http://isu.ru/izvestia
УДК 519.853.4
Глобальный поиск оптимистических решений в двухуровневой задаче оптимального выбора тарифов телекоммуникационным оператором *
А. В. Орлов
Институт динамики систем и теории управления СО РАН
Аннотация. Исследуется двухуровневая задача оптимального выбора тарифов телекоммуникационным оператором. Разрабатываются и обосновываются алгоритмы локального и глобального поиска оптимистических решений в этой задаче, базирующиеся, с одной стороны, на ее редукции к последовательности невыпуклых билинейных задач специального вида, а, с другой стороны, — на решении последних с помощью теории глобального поиска. Работоспособность предложенных алгоритмов демонстрируется вычислительным экспериментом.
Ключевые слова: двухуровневая телекоммуникационная задача; оптимистическое решение; редукция к задачам билинейной оптимизации; локальный поиск; глобальный поиск.
Исследование экономических систем, которые, как правило, обладают иерархической структурой, приводит чаще всего к конфликтным постановкам задач оптимизации. Это объясняется тем, что отдельные элементы системы имеют свои собственные цели, не совпадающие, вообще говоря, с целью всей системы. Анализ таких систем не укладывается в рамки обычной теории оптимизации, поскольку в условиях взаимодействия элементов системы усложняется само понятие оптимальности [3, 4].
Наиболее популярным инструментом моделирования задач, возникающих в иерархических системах, в настоящее время является двухуровневое программирование [10], позволяющее записывать и одновременно
1. Введение
* Работа выполнена при финансовой поддержке РФФИ, гранты №11-01-00270-а и №12-07-33045-мол-а-вед.
учитывать интересы двух соседних уровней такой системы. В самом общем виде задача двухуровневого программирования (двухуровневой оптимизации) записывается следующим образом [10]:
Кавычки в постановке задачи (ВТ’) отражают неопределенность выбора конкретной стратегии у игроком нижнего уровня из множества своих оптимальных стратегий. Для снятия этой неопределенности известны два подхода — оптимистический (кооперативный) и гарантированный (некооперативный, пессимистический), которые приводят к соответствующим определениям решений в задачах двухуровневой оптимизации [10]. В первом случае предполагается, что игрок на верхнем уровне имеет возможность повлиять на выбор нижнего уровня (или договориться с ним) так, чтобы последний выбрал такое решение своей задачи, которое является наилучшим с точки зрения цели верхнего уровня. Во втором случае, когда такая возможность у верхнего уровня отсутствует, он вынужден действовать с позиций гарантированного результата [3], что значительно усложняет поставленную задачу.
Разработка численных методов поиска как оптимистических, так и гарантированных решений в задаче двухуровневой оптимизации вида (ВТ’) является, с одной стороны, весьма актуальной, с другой — на данном этапе выглядит достаточно безнадежной для ее решения в общем виде, поскольку, как известно, двухуровневая задача обладает скрытой невыпуклостью даже в линейном случае [5, 10]. Поэтому разумно пойти по пути исследования отдельных задач (и классов задач), имеющих иерархическую природу, но позволяющих при этом для разработки численных методов решения использовать специфику целевых функций и ограничений на верхнем и нижнем уровнях [5, 8, 9, 11] .
В работе исследуется одна практическая двухуровневая телекоммуникационная задача [12]. Целью работы является построение, обоснование и апробация методов отыскания в этой задаче глобальных оптимистических решений. Для этого, прежде всего, осуществляется редукция двухуровневой задачи к семейству одноуровневых задач с невыпуклой билинейной целевой функцией. Затем предлагаются и обосновываются методы локального и глобального поиска в последних, базирующиеся на условиях глобальной оптимальности [6, 7].
Г(х, у) I ,, шт “, (х, у) е Д у е К*(х),
X
У*(х) = А^шт{/(х, у) | (х, у) е Ох}.
у
2. Постановка задачи и ее редукция
Пусть игроком верхнего уровня является одна из конкурирующих телекоммуникационных компаний, а игроком нижнего уровня — клиент, которому необходимо обеспечить связь между несколькими точками доступа с передачей определенного объема информации.
Введем в рассмотрение ориентированный граф О, который задается тройкой О = (V, и, А), где V — множество вершин графа, соответствующих узлам телекоммуникационной сети (IV| = т), и — множество дуг, соответствующих доступным каналам связи (\и| = п), А — матрица инцидентности графа О размера тхп. Будем далее обозначать через а^ элементы матрицы А (г = 1, 2, ..., т, ] = 1, 2, ..., п), где а^ = +1, если вершина г является исходящей для дуги а^ = -1, если вершина г является входящей для дуги j^, а^ = 0, если вершина г не является ни исходящей, ни входящей для дуги j.
Множество и разбивается на два непересекающихся подмножества: и = и± и и2, где дуги из и соответствуют каналам связи игрока верхнего уровня, а дуги из и2 соответствуют каналам, принадлежащим конкурирующим компаниям. Пусть 1их| = р, 1и21 = д (р + д = п).
Каждой дуге графа О, входящей в их, сопоставим два числа: с] — фиксированная часть стоимости передачи единицы информации по соответствующей дуге, и х^ — дополнительный тариф на такую передачу, определяемый игроком верхнего уровня. Общая стоимость передачи единицы информации по каналу связи, соответствующему произвольной дуге из их, равняется, таким образом, с] + х^, j = 1, 2, ..., р, и х = (х\, х2, ..., хр) является переменной игрока верхнего уровня. При этом заданы допустимые границы изменения тарифов: х е X = = {х е ШР | щ < X] < Xj, .7 = 1,2,..., р}. Каждой дуге из С/г сопоставим фиксированную стоимость передачи единицы информации по каналам, принадлежащим конкурирующим компаниям с2, j = 1, 2, ..., д.
Пусть клиенту (игроку нижнего уровня) требуется передать К массивов данных объемом 5к, к = 1, 2, ..., К из узла вк в узел тк. Стратегия (переменная) игрока нижнего уровня в этом случае определяется вектором у = (у1, ..., уК), где ук = (ук1, ук2) е ШР+<1 = 1Нп,
к = 1, 2, ..., К. Каждая компонента вектора ук = (ук1, ук2) представляет собой объем трафика, проходящего через соответствующую дугу. При этом ук1 = (ук1, у!1, ..., урк1) — потоки трафика по каналам связи, соответствующим дугам из их, а ук2 = (ук2, ук2, ..., у^2) — потоки трафика по каналам конкурентов, соответствующим дугам из и2.
Кроме того, накладываются ограничения на пропускную способность каждого канала 0 < ук < ук, = 1, 2, п, к = 1, 2, ..., К, п вводится так называемое ограничение сохранения потока:
Аук = 6к(1к, к = 1, 2, ..., К,
где (Г € Жт — вектор, у которого только компоненты с индексами вк и тк отличны от нуля, причем (кзк = +1, вкк = -1. Последнее ограничение гарантирует, что общий объем исходящего трафика из всех узлов сети равен общему объему входящего трафика.
Целью игрока верхнего уровня является максимизация дохода, а целью игрока нижнего уровня — минимизация стоимости передачи данных. Таким образом, можно сформулировать следующую двухуровневую задачу:
к
Г(х, у) = ^ (х, ук1) | тах, х € X, к=1 К Х’У у € У*(х) = А^тт! (с1 + х, ук1) + (с2, ук2)
У ^ к=1
,,к — %к ^]к ^ /ук у1
| Аук = 5кс1к, 0 <ук <ук, = 1,2,... гг, к = 1,2,... к|.
(ВР)
Обратим внимание на то, что минимизация на верхнем уровне в задаче (ВР) производится одновременно по двум переменным. Это означает, что для снятия упомянутой выше неопределенности в постановке двухуровневой задачи в данном случае используется оптимистический подход [10]. Представляется, что в данном случае можно ограничиться поиском оптимистического решения в задаче (ВР), поскольку, например, договор на передачу данных между верхним и нижним уровнем может быть составлен таким образом, чтобы принять во внимание цель верхнего уровня.
Учитывая сепарабельную структуру задачи, для простоты, будем все теоретические исследования проводить далее при условии, что К = 1. Постановка исследуемой двухуровневой задачи с оптимистическим решением в этом случае запишется следующим образом:
Г(х, у) = (х, у1) | тах, х € X, у € У*(х) =
х,у
= А^тт-^с1 + х, у1) + (с2, у2} \Ау = 5с1, 0 < у < у},
У
где х е X = {х е ШР | щ < х^ < х^, ,7 =1, 2, ..., р}, у = (у1, у2) е Жп, с1 € Жр, с2 € Жд, А — матрица размера (т х п), ( € Жт, 5 € Ж, и, кроме того, с1 > 0, с2 > 0. Будем далее предполагать, что функция (х,у) ^ Г(х, у) в задаче (Р) ограничена сверху на множестве
Z = {(х, у) | х < х < х, 0 < у < у, Ау = 5(1},
так что
3 Г+ < +те : Г(х, у) < Г+ V (х, у) € Z. (Н)
Для осуществления редукции этой задачи к одноуровневой применяется классический подход, заключающийся в замене задачи нижнего
уровня ее условиями оптимальности [5, 8, 9, 10, 11]. В данном случае, поскольку задача нижнего уровня при фиксированной переменной верхнего уровня является задачей линейного программирования (ЛП), для этой цели используется соответствующая теория двойственности (см., например, [2]). В результате можно сформулировать следующую одноуровневую задачу, эквивалентную исследуемой двухуровневой с точки зрения отыскания глобального решения:
(x, y1) t max ,
x, y, u, v
(c1 + x, y1) + (c2, y2) = (Sd, u) - (y, v}, Ay = Sd, uA — v < (c1 + x, c2)T, x< x < x, 0 < у < y, v > 0.
(DCC)
Таким образом, вместо двухуровневой задачи (P) можно решать одноуровневую задачу (DCC) с билинейной целевой функцией и билинейным ограничением. Как известно [7], билинейная функция является невыпуклой и представима в виде разности двух выпуклых функций (т.е. принадлежит классу d.c. функций). Для решения задач оптимизации с невыпуклыми функциями такого вида разработана теория глобального поиска [6]. В данном случае дело осложняется еще и тем, что невыпуклость в задаче (DCC) присутствует, как в ограничениях, так и в целевой функции, т. е. эта задача обладает невыпуклостью второй степени [6]. Для того, чтобы свести эту задачу к задаче с невыпуклостью только в целевой функции, применим далее метод штрафа [1, 2].
Обозначим h(x, у, и, v) = (с1 + х, у1) + (с2, у2} — (Sd, и) + (у, v) и введем в рассмотрение ^-параметрическое семейство задач:
Ф(х, y, u, v) = (x, y1) — fih(x, y, u, v) t max ,
x, y, u, v
(x, y, u, v) £ D = {(x, y, u, v) | x < x <x, Ay = 5d, ( ('DC(p))
uA — v < (c1 + x, c2)T, 0 < у < у, v > 0},
где ц — штрафной множитель (ц > 0), x £ IBP, y £ 1Rn, u £ 1Rm, v £ 1Rn. Нетрудно видеть, что в соответствии с теорией двойственности в линейном программировании,
h(x, y, u, v) > 0 y(x, y, u, v) £ D. (2.1)
Далее рассмотрим связь между решением задачи (DC(p)) и решением задачи (DCC). Пусть (x(^), y(ц), u(^), v(ц)) — решение задачи (DC(p)) при некотором значении ц. Обозначим через h[m] = h(x(ц), у(ц), u(m), v(m)). Тогда справедливо
Предложение 1. i) Пусть при некотором ц = ц на решении (x(fi), y(fi), u(fi), v(fi)) задачи (DC(ц)) справедливо равенство: h[fi] = 0. Тогда четверка (x(fi), y(fi), u(fi), v(p)) является решением
задачи (DCC).
гг) Для всех значений параметра ц > ¡1 функция Ы[ц] обращается в ноль, т.е. h(x(p), у(ц), п(ц), v(ц)) = 0, и (x(p), у(ц), п(ц), v(p)) является решением задачи (DCC).
Доказательство этого предложения проводится с использованием неравенства (2.1) с помощью стандартных результатов, касающихся метода штрафных функций (см., например, [1, 2]).
Таким образом, при выполнении равенства Ы[ц] = 0 решение
задачи (DC(p)) является решением задачи (DCC), и с ростом значения ц данная ситуация сохраняется. Значит, для приближенного решения задачи (P) можно предложить использовать метод направленного перебора по ц, который заключается в поиске (глобального) решения в серии задач (DC(ц)), соответствующих увеличивающимся значениям параметра ц [8, 9, 11].
Поскольку целевая функция задачи (DC(ц)) является d.c. функцией, т.е. представима в виде разности двух выпуклых функций [6], в качестве приближенного метода решения невыпуклой задачи (DC(p)) при фиксированном ц предлагается использовать стратегию глобального поиска для задач d.c. оптимизации, разработанную в [6]. Одним из основных элементов этой стратегии является разработка специального метода локального поиска, использующего специфику исследуемой задачи, теоретическому описанию которого посвящен следующий раздел.
3. Специальный метод локального поиска
Для осуществления локального поиска в задаче ('ОС(р)) при фиксированном ц предлагается использовать идею последовательной максимизации ее целевой функции по группам переменных [7, 8], которая ранее зарекомендовала себя достаточно эффективной при решении задач с билинейной структурой с несвязанными переменными. Отметим, что в данном случае эту идею удается реализовать, несмотря на то, что задача (^С(р)) является задачей со связанными переменными.
Опишем предлагаемый метод в терминах исследуемой задачи на примере разбиения переменных на пары (х, V) и (у, и). При этом исследуемая задача и при фиксированной паре (х, V), и при фиксированной паре (у, и), становится задачей линейного программирования, которую можно эффективно решать.
Обозначим через Б(х, V) = {(у, и) | (х, у, и, V) € Б},
Б(у, и) = {(х, V) I (х, у, и, V) € Б}. Пусть задана некоторая стартовая точка (жо, уо, ио, Уо) € -О = {(ж, у, и, у) \х < х < х, Ау = 5с1, иА — V < (с1 + х, с2)Т, 0 < у < у, V > 0}.
Уи-процедура
Шаг 0. Положить в := 0, у3 = ((у )3, (у2)3) := Уо, и3 := и0.
Шаг 1. Найти —-решение (ж3+1, г>3+1) задачи линейного программирования:
(1 -^((У1)3, х) -¡¿{у, у) | тах, (ж, у) € £>(у3, и3), (СГхь(у3, и3))
X, V
так что справедливым будет неравенство
(1 - ^{(у1)3, х3+1) -ц(у, г;3+1> + у >
> йир{(1 - ^{(у1)3, ж) - ц{у, V) | (ж, V) е 0{у3, и3)}. '
X, V
Шаг 2. Найти —-решение (у3+1, -и3+1) задачи линейного программирования:
(ж*+1 - ц(с1 + х3+1),у1)-^(с2,у2)+ \ 3+1 3+1,,
+ц,(5й, и) | тах, (у, и) е Б(ж3+1, у3+1), ( (^Руи(ж , У ))
У,и J
так что справедливым будет неравенство
(ж3+1 - ц(с1 + ж3+1), (у1)3+1) - ц(с2, (у2)3+1) + ц(5й, и3+1)+
>вир{{х3+1 -/л(с1+х3+1), у1) -/л{с2, у2)+ I (з.2)
2 у, и I
+^(5й, и) | (у, и) е В(ж3+1, у3+1)}. )
Шаг 3. Положить в := в + 1 и перейти на шаг 1. □
Отметим, что для начала работы УЦ-процедуры не требуется целиком точка (ж0, уо, и0, Уо), достаточно только ее части (у0, и0), поэтому она и носит такое название.
Справедлива следующая теорема сходимости УЦ-процедуры.
ГО
Теорема 1. г) При условии р3 > 0, в = 0, 1, 2, ..., ^ р3 < +те, чис-
3=0
ловая последовательность значений функции Ф3 = Ф(ж3, у3, и3, у3), генерируемая УЦ-процедурой, является сходящейся. гг) Любая предельная точка (ж, у, и, у) последовательности
{(ж3, у3, и3, у3)}, удовлетворяет следующим неравенствам:
Ф(ж, у, и, У) > Ф(ж, у, и, у) У (ж, у) е 0(у, и), (3.3)
Ф(ж, у, и, У) > Ф(ж, у, и, у) У (у, и) е Б(ж, У). (3.4)
Доказательство, г) Введем обозначение Ф3 = Ф(ж3+1, у8, и3, ?;3+1). Тогда с учетом соотношений (3.1) и (3.2) справедлива следующая цепочка неравенств:
Фз < 8ир{(1 - ц){(У1)3, х) - ц{у, V) | (х, V) е £>($/*, и3)}-
X^
-^(с1, (у1)3) - ¿¿(с2, (у2)3) + ц(5й, и3) < Ф3 + у <
< 8Ир{(ж3+1 — ц(с1 + ж3+1), у1) — ц(с2, у2) + ц(52, и) I (3.5)
у, и
| (у, и) е В(х3+\ ^+1)} - ц{у, у3+1) + Ц- < Ф,+1 + р3.
Откуда следует Ф3+1 > Ф3 — р3, т.е. числовая последовательность {Ф3}, в = 0, 1, 2, ... является почти монотонно неубывающей. Кроме того, данная последовательность является ограниченной сверху, поскольку, очевидно, функция Ф(-) ограничена сверху на О при сделанном выше предположении об ограниченности сверху функции Е (•), и (ж3, у3, и3, у3) е О для в = 0, 1, 2, ..., по построению. Тогда, с учетом условия, наложенного на р3, заключаем, что последовательность {Ф3} сходится (см. лемму 2.6.3 из [2]).
гг) Согласно шагу 1 УЦ-процедуры имеет место неравенство
Ф(ж3+\ у3, и3, у3+1) + у > Ф(ж, у3, и3, V) У(х, V) е 0(у8, и3).
Переходя здесь к пределу при в ^ (при этом р3 I 0) с учетом непрерывности функции Ф(ж, у, и, у) и полунепрерывности снизу многогранного многозначного отображения (у, и) ^ О (у, и) [13], получаем неравенство (3.3).
Аналогично, согласно шагу 2 УЦ-процедуры имеет место неравенство
Ф (х3+1,у3+1,и3+1,у3+1) + ^ > Ф (х8+1,у,и,ь8+1) У (у,и) е 0{х3+1,у3+1).
Переходя к пределу, как и выше, получаем неравенство (3.4). □
Определение 1. Четверку (ж, у, и, у), удовлетворяющую неравенствам (3.3) и (3.4), будем называть критической точкой задачи ('ОС(р)). Если же для некоторой точки неравенства (3.3) и (3.4) выполнены с определенной точностью, будем называть ее приближенно критической.
Далее, можно показать, что если на итерации в метода локального поиска выполняется неравенство
Ф3+1 - Ф3 < г,
(3.6)
то из цепочки (3.5) следует неравенство
Ф(ж3+1, у3, и3, У3+1) > 8Ир{Ф(ж, у3, и3, у) I (ж, у) е О(у3, и3)}-(г + Р3),
X, V
(3.7)
которое означает, что (ж3+1, у3, и3, у3+1) является частично глобальным (т + р3)-решением по (ж, у) в задаче (Т>С(ц)).
С другой стороны, из (3.5) с учетом (3.6) следует неравенство
Ф(ж3+1, у3, и3, У3+1) > 8Ир{Ф(ж3+1, у, и, У3+1) |
у, и (3 8)
| (у,и)еО(ха+1,ьа+1)}-(т + ^). '
Из (3.7) и (3.8) можно сделать вывод, что неравенство (3.6) может быть использовано в качестве критерия останова УЦ-процедуры. При этом четверка (ж3+1, у3, и3, у3+1 ) будет приближенно критической точкой в задаче (Т>С(ц)). Отметим, что можно предложить и другие критерии останова предложенной процедуры локального поиска, которые будут давать другую точность выполнения неравенств из определения критической точки (см. [8]).
Для осуществления локального поиска в задаче (Т>С(ц)) можно предложить и другой вариант реализации, „симметричный“ вышеописанному. В нем вспомогательные задачи решаются в другом порядке и для начала работы алгоритма из стартовой точки (ж0, у0, и0, у0 ) требуется не (у0, и0), а пара (ж0, у0) (см. [8]).
4. Глобальный поиск
В соответствии с теорией глобального поиска [6], вторым основным этапом отыскания глобального решения в невыпуклых задачах является построение процедуры выхода из критических точек, основанной на условиях глобальной оптимальности (УГО) [6]. В случае нарушения этих условий может быть построена допустимая точка, лучшая, чем исследуемая. В данном случае воспользуемся стратегией глобального поиска для задач с целевыми функциями, представимыми в виде разности двух выпуклых функций, поскольку, как нетрудно видеть, функция Ф(ж, у, и, у) = (х, у1)— /л((с1 + х, у1) + (с2, у2) — (5с1, и) + (у, -и)) является ё.с. функцией.
Действительно, целевая функция задачи (^С(р)) с использованием свойств скалярного произведения может быть представлена в виде разности двух выпуклых функций, например, следующим образом:
Ф(ж, у, и, у) = /(ж, у) - д(ж, у, и, у),
где /(ж, у) = \\\x + ylW2 + ^ ß IIх-у1\\2 и д(х, у, и, v) = ^||х - у1\\2 +
+^ц\\х + y1\\2+ß(c1, у1) + ß{c2, у2} - ß(5d, и) + ß(y, v) — выпуклые функции.
Далее запишем алгоритм глобального поиска в задаче (VC(ß)) с учетом построенного разложения. Согласно общей схеме глобального поиска в задачах с d.c. целевой функцией [6, 7], процедура выхода из критической точки, полученной на этапе локального поиска, состоит из следующих основных этапов: построения аппроксимации поверхности уровня выпуклой функции, задающей базовую невыпуклость в исследуемой задаче, решения линеаризованной задачи, дополнительного локального поиска и сравнения по целевой функции полученных точек с текущей критической.
В соответствии с условиями глобальной оптимальности [6], поверхность уровня для построения аппроксимации определяется числом Y+(k, где y е [Y-, Y+] (Y- = inf (g, D), y+ = sup (g, D)), а Zk — зна-
x,y,u,v x,y,u,v
чение целевой функции в текущей критической точке Zk = Ф(хк, yk, uk, vk). Ниже представим в виде алгоритма процедуру глобального поиска в задаче (DC(p)), записанную в терминах исследуемой задачи с учетом ее специфики.
Пусть дана точка (х0, y0, u0, v0) е ]RP+n+m+n, числовые последовательности {rk}, {5k}, (Tk, 5k > 0, k = 0, !,-■■, Tk i 0, 5k i 0, при
k ж), множество направлений
Dir = {(bi, ti) е Rp+n | (bi, ti) = 0,i = 0, 1,..., N}, числа y-, Y+, и натуральное число M.
Алгоритм глобального поиска
Шаг 0. Положить к := 0, (хк, ук, vk, vk) := (жо, уо, Щ, Vo),
AY = (y+ - 1-)/М, г := 1, y := 7-Шаг 1. Начиная из точки (хк, ук, йк, vk), с помощью специального метода локального поиска (например, YU-процедуры) построить Tk-критическую точку (xk, yk, uk, vk) е D в задаче (VC(ß)). Положить Zk := $(xk, yk, uk, vk).
Шаг 2. По точке (Ьг, f) G Dir построить точку (F, f) аппроксимации поверхности уровня функции f (■), такую что
/(F, ?) = Y + Cfc- .
Шаг 3. Приближенно решить линеаризованную в точке (Ъ ,t) по базовой невыпуклости задачу
(V/(F, ?),(х,у)) -g(x,y,u,v) t max, (ж,y,u,v)eD. (VCi)
x,y,u,v
Пусть (Ьг, t%, wl, z%) — ök-решение задачи (ТСг).
Шаг 4. Начиная из точки (Ъг, t, wi, zi) £ D, с помощью локального поиска построить Tk-критическую точку (Хг, уг, U, уг) £ D в задаче (VC(ß)).
Шаг 5. Если Ф(Хг, уг, иг, уг) < §(xk, yk, uk, vk), i < N,то положить i := i + 1 и вернуться на шаг 2.
Шаг 6. Если Ф(Хг, уг, иг, V1) < §(xk, yk, uk, vk), i = N, y < Y+, то положить y := Y + ^Y, i := 1 и вернуться на шаг 2.
Шаг 7. Если Ф(Хг, уг, иг, Vг) > §(xk, yk, uk, vk), то положить (хк+1, ук+1, йк+1, vk+l) := (хг, уг, йг, v%), 7 := 7_, г := 1, к := к + 1 и вернуться на шаг 1.
Шаг 8. Если Ф(хг, уг, йг, v%) < Ф(хк, ук, ик, vk), г = N, 7 = 7+, то стоп; (хк, ук, ик, vk) — полученное решение задачи. □
Специфика задачи (VC(ß)), в первую очередь, определяется тем, что функция f (■), задающая базовую невыпуклость в целевой функции, не зависит от переменных и и v. В связи с этим, аппроксимация ее поверхности уровня строится только по переменным (х, у), что, вообще говоря, уменьшает количество точек в аппроксимации (неполная невыпуклость). Сам процесс построения аппроксимации поверхности уровня состоит из двух этапов: выбора множества направлений Dir с учетом специфики задачи и непосредственного построения точки, принадлежащей аппроксимации, по точке из множества направлений (шаг 2 алгоритма). Первый этап осуществляется на основе накопленного опыта решения невыпуклых задач. В данной задаче, как в задаче с билинейной структурой, было использовано множество направлений включающее векторы евклидова базиса и компоненты текущей критической точки, которое ранее хорошо зарекомендовало себя при решении подобного сорта задач [7]. Построение же точек аппроксимации поверхности уровня по векторам из множества направлений легко осуществляется аналитически (см. также [9, 11]).
Решение вспомогательных задач ЛП на шагах YU-процедуры и выпуклой задачи (РСг) на шаге 3 алгоритма производится стандартными методами линейного и квадратичного программирования [1, 2].
Различные значения параметра M отвечают за разбиение отрезка [Y-, Y+] на соответствующее количество частей для реализации пассивного одномерного поиска по y. С помощью этого параметра можно влиять на точность и скорость работы алгоритма.
5. Тестовый пример и его численное решение
Для того, чтобы продемонстрировать работоспособность предложенного алгоритма, построим простой пример телекоммуникационной задачи на небольшом графе (см. рис. 1).
Рис. 1. Пример телекоммуникационной сети
Множество дуг, соответствующих доступным каналам связи, разбивается на два подмножества: П\ и и , где дуги из и = {1, 2, 3, 4} соответствуют каналам связи, которые обслуживает игрок верхнего уровня, а дуги из и2 = {5} — соответствуют каналу, принадлежащему конкурирующей компании. Пусть в этом графе требуется передать 5 = 15 единиц информации из вершины в = 1 в вершину г = 4. Тогда вектор определяющий узлы сети для передачи информации будет равен (I = (1, 0, 0, —1). Зададим также стоимость передачи единицы информации с1 = (4, 8, 10, 6) и с2 = 3 по каналам из и и и соответственно. Кроме того, зададим допустимые границы изменения дополнительных тарифов на передачу единицы информации по каналам из и1 :
{1 < х1 < 3, 1 < х2 < 3, 1 < х3 < 3, 1 < х4 < 3} и ограничения на пропускную способность каждого канала:
{0 < у\ < 15, 0 < у1 < 13, 0 < у\ < 14, 0 < у\ < 14, 0 < у3 < 6}.
Задача ('ОС(р)) для данного графа, которую будем решать разработанным алгоритмом глобального поиска, записывается следующим образом:
((1 — ц)хі — 4ц)у\ + ((1 — ц)х2 — 8ц)у2 + ((1 — ц)хз — 10 ц.) у1 + '
+((1 — ц)х4 — 6ц)у\ — 3цу'2 + 15ци3 — 15ци4 —
—15цу1 — 13цу2 — 14цу3 — 14цу4 — 6цу5 ^ тах ,
X, у, и, V
у1 + у3 =15, —у\ + у2 + у3 = 0 —у3 + уі — у3 = °
—у1 — уі = —15, иі — и,2 — VI < 4 + хі, и,2 — щ — У2 < 8 + х2, у
и1 — и3 — v3 < 10 + х3, и3 — и4 — vi < 6 + х4, и2 — и3 — v5 < 3,
1 < х1 < 3, 1 < х2 < 3, 1 < х3 < 3, 1 < х4 < 3,
0 < у\ < 15, 0 < у1 < 13,
0 < у3 < 14, 0 < у\ < 14, 0 < уі < 6. v1 > 0, v2 > 0, v3 > 0, vl > 0, v5 > 0.
(5.1)
Тестирование алгоритма глобального поиска проводилось с использованием YU-процедуры локального поиска, начиная из трех различных стартовых точек, с точностями т = 10-4 и ö = 10-4. В результате предварительных вычислительных экспериментов были также выбраны следующие значения параметров алгоритма: ц = 20, M = 40.
Программа, реализующая алгоритм глобального поиска, была составлена студенткой А.Ю. Залоговой в системе MATLAB версии 7.11 (R2010b). Ее тестирование производилось на компьютере с процессором Intel Core 2 Duo 3.00 ГГц и 2 Гб оперативной памяти.
Результаты работы алгоритма представлены в табл. 1 со следующими обозначениями: Loc — общее количество запусков YU-процедуры, потребовавшееся алгоритму глобального поиска; It — количество итераций алгоритма глобального поиска; T — время работы программы (в секундах); Ф*, F*, G* — значения соответственно целевой функции задачи (VC(p)), целевой функции верхнего уровня двухуровневой задачи (P) и целевой функции нижнего уровня задачи (P) в точке, полученной в результате работы алгоритма глобального поиска.
Таблица 1
Результаты работы глобального поиска
Стартовая точка Loc It Г Фо Ф* Fo Ft Go G*
{х^, у^\ и^\ г/1-1) 283 4 3.63 -15326 88 34 88 267 270
1-Г to to to to 177 3 2.45 -24180 88 40 88 249 270
1-р со Ч-v со со со 273 4 3.45 -5795 88 45 88 254 270
Прежде всего отметим, что с помощью алгоритма глобального поиска были получены одинаковые наилучшие значения функций Ф, Е и О для всех стартовых точек. Это позволяет с высокой вероятностью предположить, что найдено именно глобальное решение задачи. Время решения задачи невелико и не превышает 3.7 секунды. Количество запусков процедуры локального поиска, которое можно считать некоторой мерой сложности достижения наилучшего решения из данной стартовой точки не превышает 283.
Заметим, что, как и должно быть, достигнутые наилучшие значения функций Ф и Е во всех случаях равны, поскольку значение функции Н в полученной точке равно нулю, и эта точка будет допустимой в исходной двухуровневой задаче. При этом значение функции нижнего уровня в полученной точке оказалось хуже, чем в стартовой из-за выбора, осуществленного верхним уровнем.
Найденное наилучшее решение тестового примера:
(х, у, и, V): х = (3; 3; 2.55; 2), у = (15; 13; 0; 2; 2), и = (8.9; 0.9; -2.1; -10.1), V = (1; 0; 0; 0; 0).
На графе, задающем телекоммуникационную сеть, полученное решение может быть представлено следующим образом (см. рис. 2). Напомним, что требовалось оптимальным образом передать 5 = 15 единиц информации из вершины в = 1 в вершину г = 4.
Рис. 2. Решение тестового примера.
Таким образом, по 1 и 2 каналам связи, которые обслуживает игрок верхнего уровня, передается максимальное по пропускной способности количество информации, при этом, верхний уровень устанавливает максимальный дополнительный тариф на передачу единицы информации по данным каналам. Канал связи 3 не используется, а на используемом далеко не на полную мощность канале 4, дополнительный тариф оказывается ниже предельного. По 5 каналу, принадлежащему конкурирующей компании, передаются минимально необходимые 2 единицы информации. Использование собственного канала 2 в этом случае невозможно из-за ограничения пропускной способности.
Подводя итоги вычислительного эксперимента, можно сделать вывод о работоспособности предлагаемой методики решения двухуровневой задачи выбора тарифов телекоммуникационным оператором. Проведенный эксперимент позволяет рассчитывать на то, что разработанные алгоритмы могут быть также использованы для решения задач данного класса с более сложной структурой телекоммуникационной сети.
Список литературы
1. Базара М. Нелинейное программирование. Теория и алгоритмы / М. Базара, К. Шетти. - М. : Мир, 1982. - 583 с.
2. Васильев Ф. П. Методы оптимизации / Ф. П. Васильев. - М. : Факториал-пресс, 2002. - 824 с.
3. Гермейер Ю. Б. Игры с непротивоположными интересами / Ю.Б. Гермейер. -М. : Наука, 1976. - 328 с.
4. Горелик В. А. Теоретико-игровые модели принятия решений в экологоэкономических системах / В. А. Горелик, А. Ф. Кононенко. - М. : Радио и связь, 1982. - 144 с.
5. Груздева Т.В. Численное решение линейной двухуровневой задачи / Т.В. Груздева, Е.Г. Петрова // Журн. вычисл. математики и мат. физики. - 2010. - Т. 50, № 10. - С. 1715-1726.
6. Стрекаловский А. С. Элементы невыпуклой оптимизации / А. С. Стрекалов-ский. - Новосибирск : Наука, 2003. - 356 с.
7. Стрекаловский А. С. Биматричные игры и билинейное программирование / А. С. Стрекаловский, А. В. Орлов. - М. : Физмалит, 2007. - 224 с.
8. Стрекаловский А. С. Локальный поиск в квадратично-линейной задаче двухуровневого программирования / А. С. Стрекаловский, А. В. Орлов, А. В. Малышев // Сиб. журн. вычисл. математики. - 2010. - Т. 13, № 1. - С. 75-88.
9. Стрекаловский А. С. Численное решение одного класса задач двухуровневого программирования / А. С. Стрекаловский, А. В. Орлов, А. В. Малышев // Сиб. журн. вычисл. математики. - 2010. - Т. 13, № 2. - С. 201-212.
10. Dempe S. Foundations of Bilevel Programming / S. Dempe. - Dordrecht, The Netherlands : Kluwer Academic Publishers, 2002. - 312 p.
11. Strekalovsky A. S. On computational search for optimistic solutions in bilevel problems / A. S. Strekalovsky, A. V. Orlov, A. V. Malyshev //Journal of Global Optimization. - 2010. - Vol. 48, N 1. - P. 159-172.
12. Tsevendorj I. Optimality conditions in global optimization: contributions to combinatorial optimization / I. Tsevendorj // Habilitation to Supervise Research, University of Versailles Saint-Quentin, 2007. - 97 p.
13. Wets R. J.-B. On the continuity of the value of a linear program and of related polyhedral-valued multifunctions / R. J. B. Wets // Mathematical Programming Essays in Honor of George B. Dantzig Part I. Mathematical Programming Studies. -1985. - Vol. 24. - P. 14-29.
A. V. Orlov
Global search for optimistic solutions in bilevel problem of optimal tariff choice by telecommunication company
Abstract. The hierarchical problem of optimal tariff choice by telecommunication company is considered. Algorithms of local and global search for this problem in optimistic formulation are elaborated. These algorithms are based on the reduction the problem to nonconvex bilinear optimization problems and on the global search theory. The workability of the elaborated algorithms is demonstrated by computational simulation.
Keywords: bilevel telecommunication problem; optimistic solution; reduction to bilinear optimization problems; local search; global search.
Орлов Андрей Васильевич, кандидат физико-математических наук, доцент, Институт динамики систем и теории управления СО РАН, 644033, Иркутск, ул. Лермонтова 134, тел.: (3952) 453063 (anor@icc.ru).
Orlov Andrey, PhD, Institute for System Dynamics and Control Theory of SB of RAS, Lermontov St., 134, Irkutsk, 664033, senior stuff scientist, phone: (3952) 453063 (anor@icc.ru).