ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (103) 2011
%
ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
"ДК 519854 Г. Г. ЗАБУДСКИЙ
Ю. А. БУРЛАКОВ
Омский филиал Института математики им. С. Л. Соболева СО РАН Омский государственный университет им. Ф. М. Достоевского
ОПТИМАЛЬНОЕ РАЗМЕЩЕНИЕ ОПАСНОГО ОБЪЕКТА НА ПЛОСКОСТИ С УЧЕТОМ ЗОН РАЗЛИЧНОГО ВЛИЯНИЯ___________________________________
Рассматривается задача размещения опасного объекта на плоскости с двумя подзонами отрицательного влияния. Разработан и реализован на ЭВМ комбинаторный алгоритм решения задачи. Построена модель целочисленного линейного программирования. Проведен вычислительный эксперимент с использованием пакета СРЬЕХ.
Ключевые слова: комбинаторный алгоритм, опасный объект, размещение на плоскости, целочисленное программирование.
Введение
Задачи оптимального размещения объектов имеют много практических приложений. Критерии оптимальности и ограничения в указанных задачах зависят от типов размещаемых объектов. Термин «объект» можно трактовать достаточно широко. Объектами могут быть, например, единицы технологи-че-
ского оборудования, очистные сооружения, различные пункты обслуживания [1, 2].
На практике часто необходимо решать задачи размещения опасных объектов. Объект считается опасным, если он оказывает негативное влияние на население, проживающее в непосредственной близости от него, например, путем загрязнения окружающей среды. Поэтому у такого объекта есть своя
зона отрицательного влияния, размер которой зависит от его типа. Указанная зона является неоднородной, то есть по мере удаления от объекта, его влияние уменьшается. Критерием оптимальности размещения в таких задачах может быть максимизация расстояния от опасных объектов до ближайшего населенного пункта [3 — 6] или минимизация причиняемого ими ущерба [3, 7]. Размер ущерба может быть определен, например, с учетом численности населения, проживающего в зоне влияния объекта. Примерами опасных объектов могут быть атомные электростанции, мусороперерабатывающие и химические заводы.
В данной работе рассматривается задача размещения опасного объекта на плоскости, с выделением двух подзон в зоне его влияния и критерием причинения минимального суммарного ущерба. Построена модель целочисленного линейного программирования указанной задачи. Исходная непрерывная задача сводится к дискретной и для ее решения разработан комбинаторный полиномиальный алгоритм. Проведен вычислительный эксперимент по сравнению эффективности решения сформулированной задачи с помощью предложенного комбинаторного алгоритма и пакета прикладных программ (IBM ILOG CPLEX Optimization Studio Version: 12.2).
Постановка задачи
Рассматривается область на плоскости с населенными пунктами и известной численностью населения, проживающего в каждом. Имеется опасное производство, с известной зоной отрицательного влияния, в которой выделяются подзоны основного и остаточного влияния. Необходимо расположить опасное производство в пределах указанной области таким образом, чтобы суммарный ущерб, причиняемый им, был минимальным. Размер ущерба — это численность населения, оказавшегося в указанных зонах.
Аналогичная задача без выделения подзон влияния рассматривалась в работах [3, 7]. Так как влияние опасного объекта уменьшается по мере удаления от него, то представляется, что для более адекватного отражения реальной ситуации, необходимо выделить подзоны с различным уровнем влияния. В данной работе рассматривается случай двух подзон: основного и остаточного влияния. В подзоне основного влияния концентрация вредных веществ опасна для жизни, и нахождение в ней населенных пунктов крайне нежелательно, а в подзоне остаточного влияния вред не такой существенный. В зависимости от типа опасного объекта, соотношения между размерами указанных подзон и уровнями влияния в них могут быть различными. Для формализации этого вводится параметр, который задает размер подзоны остаточного влияния относительно размеров подзоны основного влияния, и параметр, который определяет уровень влияния в ней.
Для записи математической модели сформулированной задачи, поставим в соответствие области с населенными пунктами — прямоугольник на плоскости заданных размеров с фиксированными в нем точками, веса которых соответствуют количеству населения проживающего в каждом пункте. Подзонам основного и остаточного влияния соответствуют прямоугольники, вложенные один в другой, с общим центром и параллельными сторонами. Указанный центр — это размещаемый (опасный) объект. Введем следующие обозначения:
Q — прямоугольная область с фиксированными точками;
A, B — длина и ширина прямоугольника Q соответственно;
1= {1, 2, ..., n} — множество номеров фиксированных объектов;
р. — точка на плоскости с координатами (а., Ъ.), соответствующая объекту с номером i, ieI;
w.>0 — вес фиксированного объекта с номером i, i eI;
R — прямоугольная зона влияния опасного объекта;
R' — прямоугольная подзона основного влияния, R'cR;
с и d (c' и d') — длина и ширина прямоугольника R(R') соответственно;
(x, у) — координаты левого нижнего угла прямоугольника R;
1>0 — коэффициент пропорциональности размеров R' относительно R;
0<а<1 — коэффициент влияния опасного объекта в подзоне остаточного влияния R\R'.
Замечание 1. Коэффициент 1 определяет отношение размеров подобных прямоугольников R и R'. Отношение расстояния, от границы подзоны основного влияния до ближайшей границы зоны влияния опасного объекта, и от опасного объекта до границы под-
1
зоны основного влияния относятся как 1 (рис. 1). Тогда справедливы следующие соотношенияб
С" - 1 _ d
с _ (1 + 1) _ d .
Введение, таким образом, параметра 1 приводит к тому, что при 1 = 0, в зоне R нет подзоны остаточного влияния, и рассматривается задача с одной зоной R' — основного влияния. При достаточно большом 1 в зоне R подзона основного влияния вырождается в точку и также получается задача с одной зоной. При других значениях 1, расстояния от границы под-
1с
зоны R' до границы зоны R равно 2(1 + 1) .
Замечание 2. Коэффициент а определяет уровень влияния в подзоне остаточного влияния. Если при размещении опасного объекта, фиксированный объект р. находится в подзоне R', то влияние опасного объекта на него равно весу фиксированного объекта w.. При нахождении фиксированного объекта в подзоне R\R', влияния на него равно aw.. Если а = 0, то в подзоне R\R' нет влияния опасного объекта, а при а=1 влияние такое же, как и в R'. Таким образом, при а = 0 и а= 1 получаем задачу с одной зоной.
Введем прямоугольную систему координат. Пусть (0, 0) — координаты левого нижнего угла прямоугольника Q. Вдоль сторон этого прямоугольника направим оси OX и OY. Необходимо разместить прямоугольник R в прямоугольнике Q таким образом, чтобы его стороны были параллельны сторонам Q и сумма весов объектов, находящихся в R, была минимальной, с учетом уровня влияния в подзонах. Будем считать, что точка на плоскости принадлежит прямоугольнику, если она принадлежит его внутренней области.
Математическая модель задачи имеет вид:
F(x,y) - ^ w- + £ aw• ® min ,
ieI(R'(x,y)) - ieI(R(x,y))\I(R'(x,y)) - (x,y)eQ
R(x,y) с Q,
ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (103) 2011 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
19
ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (103) 2011
20
Рис. 1. Размещение прямоугольной зоны К с подзонами влияния
где Щх, у), И'(х, у) — это расположение прямоугольников И и И' на плоскости, когда координаты левого нижнего угла И равны (х, у). Множества 1(Щх, у)) и 1(И'(х, у)) соответствуют номерам фиксированных объектов, которые находятся в зоне И и подзоне И', при указанном расположении прямоугольников.
Комбинаторный алгоритм решения задачи
В этом пункте сначала покажем, что для решения задачи достаточно рассмотреть конечное число размещений прямоугольника И. Таким образом, исходная непрерывная задача сводится к дискретной. Все множество допустимых расположений прямоугольника И, разобьем на конечное число классов эквивалентных размещений. Для получения оптимального решения достаточно рассмотреть по одной (произвольной) точке из каждого такого класса.
Класс эквивалентных размещений (КЭР) — это множество точек прямоугольника О, таких, что для любых двух точек (х1, у1) и (х2, у2) из этого множества и для всех у, 5е [0, 1] выполняются следующие соотношения:
1(Щух1 + (1-у)х2,
5у1 + (1-5)у2)) = 1(Щх1, у!)) = 1(Щх2, у^)),
1(И'(ух1 + (1-у)х2, 5у1 + (1-5)у2)) =
= 1(И'(х1, у1)) = 1(И'(х2, у2)).
Отметим, что из приведенного определения следует, что значение целевой функции принимает одно и то же значение на всех элементах одного КЭР. Кроме того, каждый такой класс является связным и выпуклым множеством.
Приведем процедуру разбиения, с помощью которой все множество допустимых расположений левого нижнего угла прямоугольника И разбивается на конечное число КЭР.
Процедура разбиения (ПР)
Для каждого фиксированного объекта р., 1е1, через указанные ниже точки, находящиеся на заданном расстоянии от данного объекта проводим прямые, следующим образом:
— параллельно осям координат ОХ и ОУ:
(а, Ь.) — координаты фиксированного объекта;
— параллельно оси ОУ:
(а—с, Ь.) — точка на расстоянии длины зоны И; 1с ь ^
к ' точка на расстоянии длины под-
(а1 -1 2(1 +1)
зоны ИЧИ';
,Ьі) —
(1 + 2)с 2(1 + 1)
,Ьі) —
точка на расстоянии длины зо-
ны И без длины подзоны ИЧИ';
— параллельно оси ОХ:
(а., Ь—ф — точка на расстоянии ширины зоны И;
(«і,Ьі -
2(1 + 1)
) —
точка на расстоянии ширины
подзоны ИЧИ';
(«1,ь1 -
(1 + 2)(і 2(1 + 1)
) —
точка на расстоянии ширины
зоны И без ширины подзоны ИЧИ'.
Утверждение. С помощью процедуры разбиения прямоугольник О разбивается на конечное число классов эквивалентных размещений трех типов: точку, интервал, внутреннюю область прямоугольника, образованного пересечением указанных прямых.
Доказательство. Очевидно, что точка — это КЭР (вырожденный).
Рассмотрим произвольный горизонтальный интервал между двумя соседними, проведенными вертикальными прямыми. Допустим, что в данном интервале найдутся две точки (х1, у), (х2, у) и х1<х2, такие, что 1(И(х1, у)) Ф 1(Щх2, у)). Тогда существует координата х', такая что найдется хотя бы один объект р., для которого х' = а или х'+с = а. В этом случае точки с координатами (х1, у) и (х2, у) разделены вертикальной прямой х = а или х = а—с, но тогда (х1, у) и (х2, у) будут принадлежать разным классам. Аналогично, рассматривается произвольный вертикальный интервал между двумя горизонтальными прямыми.
Рассмотрим внутреннюю область произвольного прямоугольника, образованного пересечением проведенных прямых согласно ПР. Любая точка в этой области может быть представлена, как пересечение вертикального и горизонтального интервалов. По доказанному выше, эта точка принадлежит двум КЭР, следовательно набор объектов, попавших в прямоугольник И, при размещении его в этих классах, соответствующих вертикальным и горизонтальным интервалам, одинаков. Так как точка была выбрана произвольно, то любой интервал является КЭР, и при размещении в них прямоугольника И, набор фиксированных объектов одинаков. Объединение всех интервалов внутри прямоугольной области является одним классом и заполняет всю внутреннюю область рассматриваемого прямоугольника. Таким образом разбили прямоугольник О на конечное число КЭР. Утверждение доказано.
На основе такого сведения можно записать комбинаторный алгоритм решения задачи.
Комбинаторный алгоритм (КА)
Шаг 1. Используя ПР, разбиваем прямоугольник О на конечное число КЭР.
Шаг 2. В каждом классе выбираем по одной точке. Все точки, координаты которых удовлетворяют неравенствам 0 <х <Л — с и 0 <у< В — ^ образуют множество Ь=(11, ..., 18), допустимых точек размещения прямоугольника И, с координатами (х., у), 1 = 1, ..., б.
п
Шаг 3. Полагаем Яес = У = 1,1* = 1.
1=1 1
Шаг 4. Если 1>б, переходим на Шаг 6.
Фиксируем левый нижний угол прямоугольника И в точке 1г
Если Б(х^ у) Жес, то 1: = 1 + 1, и переходим на Шаг 4.
Шаг 5. Иес: = Б(х^ у() и 1*: =1.
Если Rec = 0, переходим на Шаг 6, иначе t:=t+1 и переходим на Шаг 4.
Шаг 6. Точка lt*= (xt*, yt*) — оптимальное решение задачи. Оптимальное значение целевой функции равно Rec. Стоп.
Трудоемкость алгоритма не превосходит O(n3).
Модель целочисленного линейного программирования
Для записи модели целочисленного линейного программирования (ЦЛП) задачи введем булевы переменные ziir zi2, zi3, zi4, ieI, которые определяют взаимное расположение фиксированного объекта pä и прямоугольника R.
Если zi1 = 0, то объект pä находится на левой стороне прямоугольника R или левее ее. Если же zi1 = 1, то объект pi расположен правее левой стороны R. Если zi2 = 0, то объект pi лежит на правой стороне прямоугольника R или правее ее. Если же zi2=1, то объект pi находится левее правой стороны прямоугольника R. Аналогично переменные zi3 и zi4 определяют взаимное расположение фиксированного объекта pi с нижней и верхней сторонами прямоугольника R соответственно.
Введем булеву переменную zä, i е I, которая равна
1, если объект pi находится внутри зоны R, и равна 0, если объект находится на границе или вне R.
Аналогично введем переменные zi', zi1', zi2', zi3', zi4', i е I для подзоны R', определяющие ее взаимное расположение с фиксированными объектами. Модель ЦЛП имеет вид:
У w-(az- + (1 -a)z-') ® min, i=1 i i i (1 - zi1)ai £ x
(1 -zi2)(A-ai) £ A -x-c (1 -zi3)bi £ у ,i е i
(1 -zi4)(B-bi) £B-y-d
zi ^ zi1 + zi2 + zi3 + zi4 - 3
1c
Таблица 1
11 -zil-1'“. £ x + 2(1+1)
(1 - zi2')(A - ai) £ A - x - %++?£
2(l +1)
(1 -zi3')bi £y + ЗрПТ)
(1 - Zi4-HB - bi)£ В - y - (Ц+Ц.
z., > z •л '+z • #->'+z• q'+z j '—3 i' i1 i2 i3 i4
,i є I
0 £ x £ A - c,0 £ y £ В - d,
z'
ik
Zi,Zi',Zik,Zik^ {0,1}, i = 1,n,k = 1,4.
Количество ограничений в модели равно 10п + 2, число булевых переменный — 10п, а непрерывных —
2. Целевая функция определяет суммарный ущерб причиняемый опасным объектом, учитывая подзоны основного и остаточного влияния. Ограничения определяют взаимное положение фиксированных объектов и прямоугольников И и И', и размещение прямоугольника И в прямоугольнике О.
№ Количество фиксированных объектов а l КА (сек.) CPLEX (сек.)
1 10 0,3 0,5 0,001 0,367
2 30 0,5 0,3 0,008 0,450
3 50 0,5 0,5 0,062 0,847
4 60 0,6 0,4 0,088 1,190
5 70 0,5 1 0,166 1,420
6 80 0,7 0,3 0,281 6,150
7 90 0,5 0,5 0,379 12,597
8 100 0,3 0,3 0,546 17,657
9 150 0,7 0,3 1,742 32,043
10 200 0,5 1 4,066 62,153
11 300 0,7 1 13,659 1177,43
алгоритма, реализованного на языке С++, и пакета 1ВМ 1ЬОС СРЬЕХ, с применением построенной модели ЦЛП. Решено более 150 задач, в которых координаты фиксированных объектов и их вес генерировались случайным образом, а габариты области, в которой производилось размещение, и зон опасного объекта были постоянными и задавались вручную. Количество фиксированных объектов менялось от 5 до 300. Частично результаты эксперимента представлены в табл. 1.
Из результатов эксперимента следует, что для поиска оптимального решения задачи с помощью комбинаторного алгоритма требуется меньше времени, чем при использовании пакета 1ВМ 1ЬОС СРЬЕХ.
Заключение
В работе рассмотрена задача оптимального размещения опасного объекта на плоскости с критерием причинения минимального суммарного ущерба в следующей постановке. Имеется некоторый район с населенными пунктами. В нем необходимо разместить опасное производство с известной зоной отрицательного влияния таким образом, чтобы число людей находящихся в зоне его влияния было минимальным. Зона влияния опасного объекта разбита на две подзоны — основного и остаточного влияния. Исходная непрерывная задача сведена к дискретной. Построена модель целочисленного линейного программирования и разработан комбинаторный алгоритм решения сформулированной задачи. Проведен вычислительный эксперимент по сравнению эффективности комбинаторного алгоритма и решения задачи пакетом 1ВМ 1ЬОС СРЬЕХ, с использованием построенной модели.
Указанный подход может быть применим для решения практических задач в диалоговом режиме, изменяя соотношения размеров подзон и уровней влияния в них.
Библиографический список
Вычислительный эксперимент
Целью эксперимента было сравнение эффективности решения задачи с помощью комбинаторного
1. Drezner, Z. Facility location. Application and Theory / Z. Drezner, H.W. Hamacher. — Springer, 2004. — 457 p.
2. Nickel, S. Location Theory. A unified approach. / S. Nickel, J. Puerto. — Springer, 2004. — 438 p.
ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (103) 2011 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (103) 2011
3. Katz, M.J. Improved algorithms for placing undesirable facilities / M.J. Katz, K. Kedem, M. Segal // Computer & Operations Research. — 2002. — Vol. 29 — P. 1859-1872.
4. Brimberg, J. Multi-facility location using a maximin criterion and rectangular distances / J. Brimberg, A. Mehrez // Location Science. - 1994 -Vol. 2 - №1 - P. 11-19
5. Забудский, Г. Г. Размещение объектов на плоскости с максиминным критерием и минимально допустимыми расстояниями / Г. Г. Забудский, А. А. Коваль // Математическое программирование и приложения : XIV Всероссийская конф. Екатеринбург, 28 февраля - 4 марта 2011 / ИММ УрО РАН. -Екатеринбург, 2011. - С. 88.
6. Забудский, Г. Г. Решение максиминной задачи размещения на плоскости с минимально допустимыми расстояниями / Г. Г. Забудский, Н. В. Мархоцкая // Методы оптимизации и их приложения : XIV Байкальская международная школа-семинар. Иркутск, 2 - 8 июля 2008 / ИСЭ СО РАН. - Иркутск, 2008. - Т. 1. - С. 380-387.
7. Drezner, Z. Finding the circle or rectangle containing the minimum weight of points / Z. Drezner, G.O. Wesolowsky // Location Science. — 1994 — Vol. 2 — № 2 — P. 83 — 90.
ЗАБУДСКИЙ Геннадий Григорьевич, доктор физикоматематических наук, профессор (Россия), ведущий научный сотрудник Омского филиала Института математики им. С. Л. Соболева СО РАН.
БУРЛАКОВ Юрий Андреевич, аспирант кафедры прикладной и вычислительной математики Омского государственного университета им. Ф.М. Достоевского.
Адрес для переписки: e-mail: burlakov_yura@mail.ru
Статья поступила в редакцию 04.06.2011 г.
© Г. Г. Забудский, Ю. А. Бурлаков
удк 519 95 Д. Н. ЗАПОРОЖЕЦ
В. С. ЗЫКИН А. В. ЗЫКИНА Д. И. КУЯНОВ
Омский государственный технический университет
РАСПАРАЛЛЕЛИВАНИЕ ЭКСТРАГРАДИЕНТНЫХ МЕТОДОВ
В работе предлагаются приемы распараллеливания экстраградиентных методов решения вариационных неравенств и оптимизационных задач с матричным оператором. При заданном количестве процессоров получены оценки размерности задач, для которых распараллеливание алгоритмов эффективно. Ключевые слова: экстраградиентный метод, оптимизация, параллельное программирование.
Введение
В настоящее время происходит стремительное развитие наук, как фундаментальных, так и прикладных, использующих сложные математические модели или требующих сложной, но быстрой обработки информации. Это вместе с быстрым технологическим прогрессом приводит к тому, что значительно возросла потребность в применении мощных вычислительных средств и суперкомпьютерных технологий.
Целью данной работы является распараллеливание экстраградиентных методов при решении вариационных неравенств и, в частности, оптимизационных задач с матричным оператором, получение при заданном количестве процессоров оценки размерности задач, для которых распараллеливание алгоритмов эффективно.
В работе исследуются одношаговый экстраградиентный метод [1, 2] и двухшаговый экстраградиентный метод [3, 4] для решения нелинейного вариационного неравенства и оптимизационных задач с матричным оператором (система линейных уравнений, линейная задача дополнительности) [5].
Для проверки полученных теоретических выводов были написаны программы на объектно-ориен-
тированном языке программирования C++ с использованием технологии OpenMP [6]. Данная технология существует специально для разработки параллельных программ, использующих несколько процессоров с общей памятью (в отличие от технологии MPI, которая рассчитана на распределенные системы, то есть ЭВМ с несколькими процессорами и распределенной памятью). В качестве среды разработки была выбрана Microsoft Visual Studio 2010. Численные эксперименты проводились на двухпроцессорной машине. Для каждой размерности задачи проводилась серия из 10 экспериментов. Достигнутое практическое ускорение вычислялось путем усреднения значения ускорения в полученной выборке.
Экстраградиентные методы для решения вариационных неравенств
Рассмотрим вариационное неравенство
< H(x), y - x > > 0, x, y e W,
на множестве W e R1 с оператором H: R1 ® R1. Решением вариационного неравенства является вектор x* e W, удовлетворяющий условию