Задачи размещения [1] - частный случай задач оптимизации, где главными параметрами являются координаты точек и расстояния между ними. В общем случае, цель задачи размещения включает в себя определение местоположения одного или нескольких новых объектов на плоскости или в пространстве, где уже имеются некоторые объекты, причем число возможных расположений для нового объекта обычно бесконечно [2]. Такие модели обычно включают евклидовы расстояния или другие соответствующие расстояния и непрерывны по своей природе. Поскольку модели непрерывны, они удобны с точки зрения математического анализа и в некоторых случаях могут быть вычислены точные решения.
В качестве примеров можно привести задачи оптимального размещения складов, размещения оборудования компьютерных и телекоммуникационных сетей, базовых станций беспроводных сетей и др. [3]. Подобные задачи формулируются и в теории аппроксимации, задачах оценивания в статистике [4], обработке сигналов и изображений и др. [5].
В данной работе уделяется внимание выбору функции расстояния. Расстояние - длина кратчайшего пути между двумя точками. Но путь зависит от свойств как пространства, так и способа перемещения в нем. В непрерывных пространствах чаще всего используются метрики: прямоугольная или манхэттенская (l1), евклидова (l2) и чебышевская (l∞).
Постановка задачи Вебера с метриками, основанными на угловом расстоянии
Рассмотрим пример (рис. 1). Подъемный кран или иной манипулятор на неподвижной платформе 1 имеет вращающуюся стрелу 2 с подвижным подъемным механизмом 3, перемещающимся вдоль стрелы. Вся конструкция имеет 3 степени свободы: высота h крюка 4, угол поворота стрелы φ и положение подъемного механизма на стреле r (радиус).
Если механизм переносит груз из некоторой точки A = (ar, aφ, ah) в точку B = (br, bφ, bh), механизм затрачивает некоторую энергию (совершает работу) по изменению высоты Δh = |ah - bh|, угла Δφ = δφ(aφ,bφ), и положения подъемного механизма (радиуса) Δr = |ar - br|. Здесь
?
Рис. 1. Схема механизма
В некоторой области, доступной манипулятору (h < H, r < R, где H - высота крана, R - полезная длина стрелы), имеется множество {Ai} из m точек (потребителей). В каждую i-ю точку Ai = (air, aiφ, aih) требуется доставить wi поддонов некоторого груза (стройматериалов, например). Задача состоит в нахождении некоторой точки X = (xr, xφ, xh), в которой должен быть размещен полный объем грузов таким образом, чтобы затраты на перемещение грузов манипулятором были минимальны. В общем случае, задача формулируется как
(1)
Здесь wi - неотрицательный весовой коэффициент, L(X,Ai) - функция расстояния, определяющая затраты на перемещение груза из точки X в точку Ai. Если данная функция пропорциональна евклидову расстоянию (L(X, Ai) = ||X, Ai||), то мы имеем классическую задачу Вебера с евклидовой метрикой. Но затраты (энергии, времени и т.д.) механизма не пропорциональны евклидову расстоянию. В зависимости от способа вычисления этих затрат сформулируем 2 стратегии управления манипулятором и 2 соответствующие задачи.
Стратегия 1. Минимизировать стоимость движения механизмов. Пусть стоимость вертикального перемещения крюка на 1 м составляет Ch, стоимость вращения стрелы - Cφ за 1 радиан, стоимость движения подъемного механизма вдоль стрелы (изменения радиуса) - Cr за 1 м. Тогда функция расстояния равна
(2)
и целевая функция
Стратегия 2. Минимизировать длину пути, совершаемого грузом, при условии, что одновременно осуществляется только один вид движения (вертикальное, поворот стрелы, изменение радиуса). В этом случае
(4)
Вертикальная составляющая пути |xh - aih| не зависит от других составляющих. Длина горизонтальной составляющей - это расстояние в метрике Карлсруэ (Москвы) [6].
Планировка городов Москва, Карлсруэ включает улицы 2 типов: «лучи» из центра и непересекающиеся «кольца» вокруг центра. Из точки A можно попасть в B двумя путями:
-
двигаясь по «лучу» к центру, затем по другому «лучу» из центра к B (как в случае метрики French metro [7]);
-
двигаясь вдоль «луча» из точки A, затем двигаясь по кольцевой улице.
Алгоритм на основе процедуры для метрики l1
В метрике l1 функция расстояния между точками Ai = (ai1, ai2) и X = (x1, x2) на плоскости в прямоугольных координатах задана выражением
(5)
В этом случае задача оптимизации (1) разбивается на 2 независимые задачи с целевыми функциями
(6)
(7)
Обе задачи сводятся к обобщенной задаче с целевой функцией
(8)
Данная задача решается известным алгоритмом (см., например, [1]).
В случае Стратегии 1 (см. предыдущий раздел) целевая функция задачи Вебера (1) является суммой 3 независимых функций
(9)
(10)
(11)
(12)
Решение задачи (9) - точка , где , и - решения (точки минимума) задач (9), (10) и (11) соответственно, причем задачи (10) и (12) соответствуют обобщенной задаче (8) и могут быть решены соответствующим алгоритмом ([1], [8]).
Лемма 1. Обозначим через XS множество точек минимума задачи (11). Существует индекс , для которого или .
Доказательство. Пусть - одна из точек минимума функции (11) и
.
Перейдем к полярной системе координат, такой, что (рис. 2) и условимся, что значения всех углов выражены так, что (случай исключен, т.к. ). Такой переход возможен, т.к., независимо от выбора , можно вычесть величину из величин всех углов и из самого угла , получив требуемую систему координат. В новой системе координат значения
останутся прежними, следовательно, не изменится и значение целевой функции (11).
Рис. 2. Иллюстрация к Лемме 1
Разобьем множество индексов координат точек-потребителей на 2 подмножества:
и
Тогда
?
?
Если , то
?
Поскольку и
?
?
Поскольку
,
т. е. и, поскольку то, если то
Если то
и
Таким образом, если , то не является точкой минимума целевой функции, если только все значения не являются таковыми.
Аналогично доказывается, что, если , то не является точкой минимума целевой функции, если только все значения не являются таковыми.
Таким образом, если - точка минимума целевой функции и все значения не являются таковыми, то оба подмножества Q- и Q+ не пусты.
Выберем 4 индекса, 2 для каждого из подмножеств (индексы могут совпадать, если подмножество содержит индекс единственной точки):
?
?
?
?
Выберем произвольное значение , такое, что
В этом случае
и
При этом значение целевой функции равно
Здесь
?
?
Для :
Если ΔW > 0, то для
,
т.е. значение не является точкой минимума целевой функции.
Аналогично, если ΔW < 0, то для
?
?
Если ΔW = 0, то для
?
?
Таким образом, в этом случае является точкой минимума, но таковыми являются все точки интервала, включая граничные точки и .
Значение выбрано произвольно. Таким образом, если
,
то не является точкой минимума целевой функции, за исключением случая ΔW = 0. Но и в этом случае значения
и
являются точками минимума. Значения , , и выбраны из множества . Соответственно точкой минимума всегда является значение из множества , либо из множества , либо из множества , причем углы и равнозначны, дают равные значения целевой функции. Лемма доказана.
Таким образом, если требуется найти любую из точек минимума , достаточно произвести поиск в 2 множествах и . Предлагается следующий алгоритм.
1. Решить задачу (10), используя алгоритм для (8). Сохранить результат в .
2. Решить задачу (12) алгоритмом для задачи (8). Сохранить результат как .
3. Если , то
, иначе .
4. .
5. Для каждого цикл
5.1. Если , то
5.2. Если , то
.
5.3. Конец цикла 5.
6. Вывод результата Останов.
Оценим вычислительную сложность алгоритма. Пусть m - число точек-потребителей. Алгоритм для метрики l1 ([1], [8]) включает в себя этап сортировки координат по возрастанию с асимптотической сложностью O(m log m) и этап суммирования значений координат с линейной сложностью. Таким образом, общая вычислительная сложность этапов 1 и 2 описывается асимптотической формулой O(m log m). Шаги 5 - 5,3 содержат цикл, в котором вычисляются значения целевой функции для каждого из m - 1 значений координат и . С учетом шагов 3 и 4 значение целевой функции оценивается 2m раз. Целевая функция - линейна (асимптотическая сложность O(m)), следовательно, сложность шагов 3?5.3 алгоритма определяется как O(m2), и асимптотическая сложность всего алгоритма также находится в множестве O(m2).
Пример решения задачи
Полярные координаты точек-потребителей и соответствующие весовые коэффициенты заданы в табл. 1.
Таблица 1 Исходные данные задачи
i |
|
|
|
wi |
1 |
10 |
5 |
0 |
3 |
2 |
20 |
3 |
0 |
2 |
3 |
10 |
5 |
π/4 |
4 |
4 |
20 |
5 |
π/4 |
3 |
5 |
30 |
3 |
π/4 |
4 |
Решение. Шаг 1.
Шаг 2.
Шаг 3.
?
?
Условие не выполняется, .
Шаг 4.
Шаг 5. Для каждого i от 2 до 5 цикл. Результаты шагов 5.1-5.3 сведены в табл. 2.
Шаг 6.
Таблица 2 Решение (шаги 5.1-5.3 алгоритма)
i |
Шаг 5.1. значение
|
Шаг 5.1. условие
|
Шаг 5.1. значение f* |
Шаг 5.1. значение
|
Шаг 5.2. значение
|
Шаг 5.2. условие
|
Шаг 5.2. значение f* |
Шаг 5.2. значение
|
2 |
1,25π |
Не выполн. |
1,25π |
0 |
3,75π |
Не выполн. |
1,25π |
0 |
3 |
π |
выполняется |
π |
0,25π |
5π |
Не выполн. |
π |
0,25π |
4 |
1,25π |
Не выполн. |
π |
0,25π |
6π |
Не выполн. |
π |
0,25π |
5 |
1,25π |
Не выполн. |
π |
0,25π |
6π |
Не выполн. |
π |
0,25π |
Выводы
Задачи оптимального размещения формулируются в виде задачи Вебера с метрикой, основанной на измерении углового расстояния в том случае, если для транспортировки предполагается использование механизмов с телескопической стрелой. Решение задач Вебера с рассмотренной метрикой, основанной на измерении углового расстояния, сводится к решению задач с прямоугольной метрикой (l1) и выполняется за полиномиальное время. Эффективность алгоритма доказана аналитически, приведен пример решения задачи.
Рецензенты:
-
Антамошкин А.Н., д.т.н., проф., зав. кафедрой математического моделирования и информатики ФГОУ ВПО «Красноярский государственный аграрный университет», г. Красноярск;
-
Ступина А.А., д.т.н., проф., зав. кафедрой «Экономика и информационные технологии менеджмента» института управления бизнес-процессами и экономики Сибирского федерального университета.
Работа поступила в редакцию 06.09.2012.