Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Logistika_ALL_lectures_and_tasks.doc
Скачиваний:
5
Добавлен:
22.02.2016
Размер:
647.68 Кб
Скачать

Последнее изменение: суббота 31 Январь 2004, 12:20

ЗАДАЧА 2. ПЛАНИРОВАНИЕ СЕТИ ДОРОГ

 

Рассмотренная ранее постановка задачи о прокладке коммуникаций может не включать требования о том, что коммуникации могут разветвляться только на территории связываемых объектов. Зачастую реальность не накладывает этих ограничений, например, при строительстве дорог, которые могут менять направление, иметь повороты, развилки и перекрестки любого вида. Данная задача известна как ''задача Штейнера на графах''.

 

Необходимые уточнения

Вообще говоря, известно два типа такого рода задач.

Евклидова задача Штейнера состоит в соединении множества точек на плоскости так, чтобы сумма длин отрезков была минимальна.

Линейная задача Штейнера вместо евклидова расстояния между точками оперирует линейным расстоянием: d(X, Y) = |x1-x2| + |y1 - y2|. При этих условиях если через каждую точку из множества Р провести вертикальные и горизонтальные линии, то решение задачи Штейнера можно получить, рассматривая в качестве возможных точек Штейнера точки пересечения полученной сетки линий.

 

Линейные задачи Штейнера имеют применение при монтаже печатных схем электронных устройств и в логистике практически не используются, в отличие от евклидовых задач, которые и будут разобраны ниже.

 

Дополнительные размышления

Сразу же зададимся вопросом: а может ли расположение развилок вне связываемых объектов уменьшить длину кратчайшей системы дорог? Для случая, когда четыре города расположены в углах квадрата, допустим со стороной равной 1 км, кратчайшая система дорог с разветвлением только в городах имеет длину 3, тогда как интуитивное расположение перекрестка в центре квадрата дает результирующую длину примерно 2,8.

 

Итак, улучшение результата возможно. Однако можно ли утверждать что 2 корня из 2 – это уже минимум? Вряд ли, по крайней мере никаких оснований для этого нет. Но зато уже видно, что в такой постановке проблема поиска кратчайшей системы дорог, связывающей все имеющиеся объекты, существенно усложняется.

 

АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ ШТЕЙНЕРА

 

Основная идея

Такой алгоритм в общем случае не существует. Евклидова задача Штейнера является нерешенной с вычислительной точки зрения, поскольку существующие точные алгоритмы находят решение за разумное время только при очень небольшом количестве вершин (порядка 10).

 

Анализ сложности

Возрастание сложности связано с потерей дискретности, поскольку расположение перекрестков уже не совпадает с самими объектами, и строго говоря, на площади в 1 кв. м. существует бесконечное количество возможных мест расположения развилок. Очевидно, что в общем случае теория графов уже не может дать достоверного результата при решении этой задачи. Мало того, в настоящее время неизвестно точных и эффективных алгоритмов, решающих эту задачу в том случае, если города заданы произвольной сетью. Точное и эффективное решение существует, если рассматриваются относительно простые сети.

 

Частный случай: три города

Если целью является система дорог, связывающая три города, то мы в чистом виде имеем старинную задачу, которую независимо поставили Торичелли и Ферма: в треугольника ABC найти точку P, такую что сумма расстояний от P до вершин A, B и C минимальна.

 

Наиболее простое решение предложил Наполеон Бонапарт в бытность свою кадетом артиллерийского училища. Этот способ налагает единственное ограничение: наибольший угол треугольника должен быть меньше 120 град.

 

Дальнейшее описание решения задачи включает в себя значительное количество иллюстраций, поэтому размещено отдельно в виде файла для скачиванияl.

 

Частный случай: четыре города

Если целью является система дорог, связывающая четыре города, то для ее решения используем результат, полученный при рассмотрении задачи Торичелли-Ферма. Вводимые при прокладке пути минимальной длины точки (развилки) в литературе называются точками Штейнера

 

Известно много свойств точек Штейнера, важнейшими из которых являются следующие:

  • Точка Штейнера имеет степень d = 3

  • Для любой вершины pt из множества связываемых сетью объектов выполняется условие: степень d (pt)<= 3. Если d (pt) = 3, то угол между любыми двумя ребрами, инцидентными pt, должен быть равен 120°. Если d (pt) = 2, то угол между двумя ребрами, инцидентными pt, должен быть больше или равен 120°.

  • Если в исследуемой сети N объектов, то количество k точек Штейнера будет в пределах от 0 до N-2 включительно.

Отсюда следует решение для рассматриваемого случая. Введем две точки Штейнера, каждая из них будет иметь степень d=3, а инцидентные ей ребра располагаться под углом 120 град друг к другу. Расположение точек зависит от свойств фигуры, образуемой четырьмя объектами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]