УДК 519.847
М.Х. Прилуцкий, М.С. Куликов ОБ ОДНОЙ СПЕЦИАЛЬНОЙ ЗАДАЧЕ КВАДРАТИЧНОГО ПРОГРАММИРОВАНИЯ
Нижегородский государственный университет им. Н.И. Лобачевского
Рассматривается специальный класс задач квадратичного программирования, для решения которых разработан алгоритм с вычислительной сложностью 0(п2).
Ключевые слова: специальная задача квадратичного программирования, аналитическое решение, оптимальность.
Введение
В работе рассматривается специальный класс задач квадратичного программирования, специфика которых заключается в том, что область допустимых решений задается совокупностью двусторонних ограничений на переменные, а критерии представляют собой суммы квадратов отклонений переменных и сумм переменных от заданных величин. Существует широкий класс прикладных задач, формализация которых приводит их в класс задач квадратичного программирования с указанной спецификой. Это задачи объемно-календарного планирования [1], задачи распределения мощностей каналов передачи данных провайдером сети ИНТЕРНЕТ [2]. В качестве примера такой задачи рассмотрим задачу распределения производительности купола по газовым скважинам [3].
Задача распределения производительности купола по газовым скважинам
Рассматривается сложная система, описывающая функционирование газового промысла. Газовый промысел обслуживает газовое месторождение, объекты добычи которого по геолого-техническим и территориальным признакам разделяются на несколько куполов. Каждый газовый купол состоит из ряда кустов газовых скважин. Газовые скважины одного купола обслуживаются установкой предварительной подготовки газа, и соединены между собой и установкой газопроводом. Процесс добычи газа описывается следующей схемой. Предполагается, что начальное пластовое давление (давление на забое любой скважины) купола известно. Объем добычи газа из скважины регулируется системой кранов-регуляторов, при этом очевидно, что при открытых кранах скважина дает максимальный объем добычи, но при этом устьевое давление скважины будет минимально, а при закрытых кранах - объем добычи газа минимален, а устьевое давление скважины максимально. В общем случае функция, определяющая устьевое давление газа скважины от объема добытого газа, является квадратичной монотонно невозрастающей функцией. Так как изменение пластового давления газа происходит достаточно медленно, то в данной работе предполагается, что на выбранном интервале планирования можно пренебречь квадратичной составляющей и считать, что функции, определяющие зависимость забойного давления скважины от объема добываемого газа на заданном интервале времени, линейные. Предполагается, что известен плановый объем газа, который должен поступать на установку предварительной подготовки газа, и заданы «эталонные» значения давления для каждой скважины. Под «эталонным» давлением здесь понимается устьевое давление скважины, которое способствует качественной работе скважины. Как правило, эталонные давления скважин одного купола близки друг другу. Требуется определить условия эффективного функционирования рассматриваемой системы, которые связаны с выполнением требований по плановому объему добываемого газа и стремлением получить устьевые давления скважин, близкие к эталонным.
© Прилуцкий М.Х., Куликов М.С., 2010.
Пусть 3 = {1,2,...п} - множество скважин. Для каждой скважины заданы величины Р+, РТ, О+, Ог, определяющие соответственно допустимые диапазоны изменения давлений и дебитов скважин, j е 3. Для установки предварительной подготовки газа заданы величины Р+, Р-, О+, О-, определяющие соответственно допустимые диапазоны изменения давления и объема газа, поступающего в единицу времени. Заданы линейные функции fj (х ■) = а¡Х] + Ъ, j е 3, определяющие для каждой скважины зависимости величин объемов
добываемого газа от давления. Предполагается, что задан ж - плановый объем газа, который должен поступать на установку в единицу времени, и известны величины р} , определяющие эталонные значения устьевого давления для скважин, ; е 3.
Требуется найти такой вектор х = (хх,х2,...,хи), где х. - давление, которое должно быть установлено на скважине ; ; е 3 , для него выполняются ограничения:
р;<Ху <р;е 3, С1)
б < / (Х;) < б+е 3, (2)
Х; > 0, ; е 3 и {0}, (3)
и достигает минимального значения критерий:
п п
Р(х) = (Е(а}х] + Ъ) - ж)2 + (Е(xJ - р])2 ^ т1П. (4)
} =1 } =1
Здесь ограничения (1) определяют предельные значения давления на скважинах, а ограничения (2) - предельные объемы газа, добываемого со скважин, ограничения (3) являются естественными условиями на переменные.
После преобразований задача (1)-(4) может быть сведена к виду:
{ и п _ |
(£а,х, -а)2 (х,- -р,-)2 | с, < х1 < а,,, = 1,п\, (5)
п
где а = ^Ъ -ж, с; = шах(р-,Р ,/-(б+ )), = шт(р-,Р ,/-(б-)).
7 =1
Замечание 1
Давление на входе установки предварительной подготовки газа у зависит от объема поступившего газа как f (у) = а0у + Ъ0. Учитывая, что скважины и установка предварительной подготовки газа соединены общей трубой, то устьевые давления газа во всей системе будут выравниваться. Отсюда в качестве эталонных давлений, так как объем планируемой
добычи равен ж, могут быть выбраны величины р 7 = ———,7 е 3.
7 ао
Алгоритм решения
Для решения задачи (5) могут быть применены классические методы решения задач квадратичного программирования (см., например, [4]). Однако специфика рассматриваемых задач - область допустимых решений задается совокупностью двусторонних ограничений на переменные, а критерии представляют собой суммы квадратов отклонений переменных и сумм переменных от заданных величин - позволила для их решения предложить эффективный алгоритм с вычислительной сложностью 0(п2).
Рассмотрим выражение:
^^ = 2а, (]Г ах3 - а) + 2(х, - р,) = 0. (6)
дх, 7=1 77
Домножим на а :
а2(Тауху -а) + (аг хг -аг рг ) = 0
у=1
Просуммируем по I:
п п
(Т а2)(Е агхг -а) + (Т агхг -Т ^ Рг ) = 0
г=1 г=1 Отсюда получим
пп
]агхг -Та
г=1 г=1
п 1
=-
г г п
(
г =1
Т а2 +1
пп
Л
аТ а + Т агР
V г=1 г =1
г=1
Подставив (7) в (6), получим
(7)
х* = рг + аг а
а,
(
АТ а 2 +1
J=1
Т аг2 +Т aJ Р
аТ а,
V J=1
J=1
г = 1, п.
(8)
Если вектор х удовлетворяет ограничениям задачи (5), то он определяет ее решение. Если нет, то переменные, которые вышли за пределы ограничений задачи (5), принимают соответствующие граничные значения, и исключаются из рассмотрения. Сокращенная задача решается заново. Алгоритм имеет вычислительную сложность 0(п2) .
Оптимальность алгоритма
Покажем, что найденное решение оптимально:
Из математического анализа известно (критерий Сильвестра), что для функции нескольких переменных необходимым и достаточным условием существования локального минимума является:
1) обращением в 0 частных производных первого порядка;
2) положительность главных миноров матрицы частных производных второго порядка.
т—г / *
Первое условие выполняется (по построению точек х * проверим выполнение второго условия):
3 2Ф' о 2 О - Г" —г- = 2а2 + 2, г = 1, п;
дх*
д 2Ф'
дхг дх J
= 2агау, г ^ у.
Рассмотрим главный минор порядка т:
Мт =
2а1 + 2 2а1а2 2
2а2а1 2а2 + 2
2ата1 2ата2
2а1ат 2а2ат
2ат + 2
= (2)т
а2 +1 а2 а1
а1 а2 а2 +1
ата1 ата2
а1ат
а2ат
а2т +1
п
а1 +--а2
= (2)>
аа
а
а 2 +1
а а а а
1 2
1
(п,\т 2 2
(2) а^ ...
а„
а
а2а
а 2 +1
т
= (2)
2
а
1 +Т
а
а
1 +Т 1
а
1 + ^
а
1+4-
а
т
а
а2 +1
а аа7
т т 2
а
аа
2
а 2 +1
т
Эта матрица линейными преобразованиями сводится к диагональной, с диагональными элементами > 0:
Л Ч 0
1 а~>
2
1
а.
00 11
а
0 1
1 + — а2
а
1
-т---0
а
0 — ---
а
0
1+4
а22
а
0 1
1
а2
т
... и т.д.
^ ёе1 Мт > 0, так как определитель диагональной матрицы равен произведению ее диагональных элементов. Таким образом, второе условие выполнено, следовательно, точка
, * * * *. ^ _ ^ ..
(х*, х2 ... х* ... х*) является точкой локального минимума. По каждой из переменных функция
является квадратичной и при удалении от точки минимума строго возрастает.
Таким образом, если точка (х*, х*... х*... х*) попадает в область, определенную в (5), то это оптимальное решение. Если точка (хх*...х*...х*) лежит за пределами области, то наилучшее значение следует искать на границе, наиболее близкой к точке минимума. Замечание 2
Нетрудно показать, что для более общей задачи с положительными коэффициентами А, В и к:
Ф(х) = т1п] А(£ ах. - а)2 + В^ кг (х. - р)2 | с, < х, < ,, = 1, п \,
решение находится с помощью соотношений:
(
х, = — г В
Л
а,
Вр, + Аа—-к
АО-к
(
а
АУ^ + В ^ к
7=1 к7
п а2 п
АаУ / + ВУ а р 7
V 7=1к7 ]=1
Л
г = 1, п.
1
1
1
1
0
0
п
п
1
*
п
Библиографический список
1. Прилуцкий, М.Х. Многокритериальные многоиндексные задачи объёмно-календарного планирования // Известия академии наук. Теория и системы управления. 2007. №1. C. 78-82.
2. Прилуцкий, М.Х. Многокритериальная задача распределения производительности купола по газовым скважинам / М.Х. Прилуцкий, Е.В. Васильев, В.Е. Костюков // Системы управления и информационные технологии. 2007. № 3.2(29). C. 291-296.
3. Афраймович, Л.Г. Многоиндексные задачи распределения ресурсов в иерархических системах / Л.Г. Афраймович, М.Х. Прилуцкий //Автоматика и телемеханика. 2006. №6. C. 194-205.
4. Зуховицкий, С.И. Линейное и выпуклое программирование / С.И. Зуховицкий, Л.И. Авдеев. М.: ФИЗМАТЛИТ, 1967. - 460 с.
Дата поступления в редакцию 02.02.2010
M.Kh. Prilutskii , M.S. Kulikov
ABOUT ONE SPECIAL TASK OF QUADRATIC PROGRAMMING
In this work is considered a special class of quadratic programming problems for the solving of which an algorithm with computation complexity O(n2) was elaborated.
Key words: special task of quadratic programming, analytical solution, optimality.