З а д ч

advertisement
Задачи о покрытии
Дано: Сеть дорог и конечное множество пунктов для размещения постов ГАИ.
Каждый пункт может контролировать дорогу на заданном расстоянии от него.
Известно множество опасных участков на дорогах.
Найти: минимальное число постов для контроля всех опасных участков.
Обозначения:
I ={1,…, m} — множество всех возможных пунктов для размещения постов ГАИ;
J ={1,…, n} — множество опасных участков;
1, если из пункта i можно контролиро вать участок j
aij  
0 в противном случае
Переменные задачи:
1, если в пункте i устанавлив ается пост ГАИ

xi  
0 в противном случае
Лекция 12. Дискретные задачи размещения. Часть 1
-1-
Математическая модель
min  xi
iI
при ограничениях:
 aij xi  1,
jJ;
iI
xi{0,1} iI.
Пусть ci  0 — стоимость создания поста в пункте i и число постов не превосходит p>0. Требуется минимизировать суммарную стоимость:
min  ci xi
iI
при ограничениях:
 aij xi  1,
jJ;
iI
 xi  p;
iI
xi{0,1} iI.
Лекция 12. Дискретные задачи размещения. Часть 1
-2-
Предположим, что имеется возможность открыть не
более p постов и их не хватит для контроля всех опасных участков.
Требуется при данном ограничении найти размещение постов для контроля максимального числа опасных участков.
Переменные задачи:
1, если опасный участок j под контролем
y j  
0 в противном случае
1, если в пункте i устанавлив ается пост ГАИ
xi  
0 в противном случае
Лекция 12. Дискретные задачи размещения. Часть 1
-3-
Математическая модель
max
 yj
jJ
при ограничениях:
 aij xi  y j ,
iI
jJ;
 xi  p;
iI
xi, yj{0,1}, iI, jJ.
Упражнение. Показать, что эта модель не эквивалентна нижеследующей модели:
max
  aij xi
jJ iI
при ограничениях:
 xi  p;
iI
xi{0,1}, iI.
Лекция 12. Дискретные задачи размещения. Часть 1
-4-
Если опасные участки опасны в разной степени и величина bj задает, например, число аварий на участке j за год, то задача предотвращения максимального числа аварий записывается следующим образом:
max
bj y j
jJ
при ограничениях:
 aij xi  y j ,
j  J,
iI
 xi  p;
iI
xi, yj{0,1}, iI, jJ.
Лекция 12. Дискретные задачи размещения. Часть 1
-5-
Жадный алгоритм
Рассмотрим взвешенную задачу о покрытии

min  ci xi
iI

 aij xi  1, j  J , xi {0,1}
iI

Алгоритм
1. Положить X0 := , k := 0, J ik : { j  J | aij  1}, iI, J0 := ;
2. Пока J0  J выполнять:
2.1. Найти i0 I \ X такой, что
k
2.2. Положить k := k +1,
J ik0
и
ci0
| J ik0
Xk := Xk–1{i0},
 ci

k
 min  k | J i |  ;
| iI \ X k | J i |

J 0 : J 0  J ik01
и J ik : J ik 1 \ J ik01 для всех i I \ Xk.
Лекция 12. Дискретные задачи размещения. Часть 1
-6-
Пример
I = {1,…, n + 1}, J = {1,…, n}
вектор (ci)
1
1
.
0
1
2
1
1+
0
.
…
1
n
1
n 1
1
n2
матрица (aij)
1
.
.
1
. . . . . . . . . . .
1
1
Оптимальное решение X* ={n + 1} и его значение (1 + ). Жадный алгоритм
сначала возьмет i = 1, затем i = 2, …, i = n, и получит значение
1  12  13  ...  1n  1  log n .
Лекция 12. Дискретные задачи размещения. Часть 1
-7-
Трудоемкость алгоритма T ~ O(mn) при правильном хранении множеств J ik ,
iI.
Без ограничения общности будем считать, что Xk ={1, 2,…, k} для k = 1, …, K
и алгоритм получил покрытие после K итераций.
Обозначим qik | J ik |, i  I , k  1,..., K и заметим, что
ck qkk  ci qik , i  I ,
J ik 1  J ik и
J i0  J kk  J ik \ J ik 1,
K
J   J kk , J kk1  J kk2   , при k1  k2.
1
k 1
Рассмотрим функцию H ( p ) 
p
 1i ,
2
p  1,2,...
i 1
Лекция 12. Дискретные задачи размещения. Часть 1
-8-
Теорема Чватала. Пусть X* — оптимальное решение взвешенной задачи о
покрытии, а XK — решение жадного алгоритма. Тогда

 ci  H  max
 iI
iX K

 aij   ci .
jJ
iX 
Доказательство: Наряду с исходной задачей рассмотрим задачу с новой
целевой функцией и непрерывными переменными:



min  ci H   aij  xi


iI
j

J



 aij xi  1, j  J , xi  0.

iI
Двойственная к ней имеет вид

max   u j
 jJ



 aiju j  ci H   aij , i  I , u j  0.

j J
 j J 
Лекция 12. Дискретные задачи размещения. Часть 1
-9-
Так как множества J kk образуют разбиение множества J, то положим
u j  ck / qkk ,
j  J kk , k  1,..., K .
Покажем, что uj —допустимое решение двойственной задачи. Для любого iI
K
 aij u j  
j J
K
K
 aiju j  
k 1 jJ k
k
K
u j  
k 1 jJ 0  J k
i
k
k
k
k 1
k
c
q

(
q

q
)
c
q
 k k  i i k k.
k 1 jJ k \ J k 1
i
i
k 1
Пусть для рассматриваемого iI номер k0 — наибольший номер k, 1  k  K
такой, что J ik   .
получаем
Тогда, продолжая приведенные выше неравенства,
k0
k0
k 1
k 1
k
k 1
k
k
k 1
k
a
u

(
q

q
)
c
q

(
q

q
)
c
q
 ij j  i i k k  i i i i 
j J
k0

ci (qik
k 1
 qik 1 )
qik
k0
 ci 

k 1
H (qik )  H (qik 1 )



 aij .
 j J 
 ci H (q1i )  ci H 

Лекция 12. Дискретные задачи размещения. Часть 1
-10-
Итак, построенное решение является допустимым в двойственной задаче.
Кроме того,
K
u j  
j J
K
K
k 1
k 1
k
k
k
c
q

q
c
q
 k k  k k k   ck 
k 1 jJ k
k
 ck .
kX K
Но по теореме двойственности
aij )  ci откуда и вытекает требуемая оценка.
 u j  H (max

iI
j J
j J

i X 
Плохая новость.
Существует константа 0 <  < 1 такая, что наличие полиномиального приближенного алгоритма с оценкой относительной погрешности  H (max
 aij )
iI jJ
влечет P=NP.
Лекция 12. Дискретные задачи размещения. Часть 1
-11-
Алгоритм муравьиной колонии
Предложен в начале 90-х годов прошлого века M. Dorigo и V. Maniezzo
Муравьи ориентируются по запаху.
Каждый муравей оставляет после себя
сильно пахнущее вещество — феромен.
При выборе направления домой с большей
вероятностью выбирается направление с
более сильным запахом.
Лекция 12. Дискретные задачи размещения. Часть 1
-12-
 Кратчайший путь
Появилось препятствие 
 Обход препятствия
Новый кратчайший путь 
Лекция 12. Дискретные задачи размещения. Часть 1
-13-
Вероятностный жадный алгоритм
Пусть XI, J ( X )  { j  J |
 aij  1} — множество “покрытых” столбцов,
iX
qi(X) — мощность множества Ji(X) = {jJ | aij = 1} \ J(X), iI \ X,
i = ci /qi(X), iI \ X — удельные приращения целевой функции,
L(p) — случайное подмножество множества I \ X; элемент iI \ X включается
в множество L(p) с вероятностью p независимо от других элементов.
Вероятностный жадный алгоритм
1. Положить X := , J0: = .
2. Пока J0  J выполнять:
2.1. Сформировать подмножество L(p)  I \ X;
2.2. Найти i0L(p) с ненулевым значением qi0 ( X ) и минимальным
удельным приращением i .
2.3. Положить X : X  {i0 }; J 0 : J 0  J i0 ( X ) .
Лекция 12. Дискретные задачи размещения. Часть 1
-14-
Влияние рандомизации на погрешность, случай ci = 1, iI.
При фиксированном значении p>0 проводилось 1000 испытаний алгоритма.
Число решений с одинаковым значением представлено на графике столбиком.
Лекция 12. Дискретные задачи размещения. Часть 1
-15-
Алгоритм муравьиной колонии
Пусть вектор i, iI задает статистическую информацию о частоте появления
элемента , iI в решении X  I. Положим i = ci /qi(X) +  /i, iI \ X, где
параметр  определяет важность статистической информации.
Алгоритм МК
1. Положить i := 1, iI, XMK := I, t := 0.
2. Пока t  Tmax выполнять:
2.1. Построить решения X ,  = 1,…, T вероятностным жадным алгоритмом
2.2. Выбрать часть наилучших решений X ,  = 1,…, T , T  T
2.3. По решениям X ,  = 1,…, T , обновить статистическую информацию
i, iI и положить t := t + 1
2.4. Сменить рекорд XMK, если найдено лучшее решение.
Лекция 12. Дискретные задачи размещения. Часть 1
-16-
Влияние статистической информации, случай ci = 1, iI.
Большое число оптимальных решений получено при 0,3  p  0,7.
Лекция 12. Дискретные задачи размещения. Часть 1
-17-
Лекция 12. Дискретные задачи размещения. Часть 1
-18-
Задача о p-центрах
Предположим, что p постов ГАИ уже выбрано, и каждый опасный участок
прикреплен к ближайшему посту. Обозначим через dij расстояние между
участком j и постом i. Для выбранного набора постов S  I, | S | = p обозначим через D максимальное расстояние между постом и участками
D  max min d ij .
jJ iS
Величина D связана с задержкой при выезде из
поста i на участок j. Задача минимизации этой
задержки называется задачей о p-центрах:
max min dij 
jJ iS
min
S  I ,|S | p
.
Задача о p-центрах сводится к решению не более mn задач о минимальном покрытии (как?).
Лекция 12. Дискретные задачи размещения. Часть 1
-19-
Задача о многократных покрытиях
Пусть величина D задает радиус ответственности поста, т. е. все участки на
расстоянии D от поста находятся в зоне его ответственности. Зоны могут пересекаться. Пусть rj  1 — минимальное число постов, которые должны контролировать участок j, bj > 0 — среднее число аварий на участке j.
Требуется выбрать p постов так, чтобы каждый участок контролировался не
менее rj постами, и число предотвращенных аварий было бы максимальным:
max
 b j  aij xi
jJ
iI
 xi  p,
при условиях
iI
 aij xi  r j , j  J ,
iI
xi{0,1}, iI.
Лекция 12. Дискретные задачи размещения. Часть 1
-20-
Вероятностная постановка задачи
Вызовы с участков происходят случайным образом и независимо друг от друга,
q > 0 — вероятность того, что пост не может откликнуться на вызов;
pk = 1 – qk — вероятность того, что хотя бы один из k постов откликнется;
pk – pk–1 = (1 – qk) – (1 – qk-1) = (1 – q) qk-1 — прирост вероятности при
добавлении одного пункта.
Переменные:
1, если участок j контролиру ется как минимум k постами ,
y jk  
0 в противном случае.
Лекция 12. Дискретные задачи размещения. Часть 1
-21-
Математическая модель:
max

nj
k 1
b
(
1

q
)
q
y jk
 j
jJ k 1
nj
при ограничениях
 y jk   aij xi ,
k 1
j J,
iI
 xi  p,
iI
xi , y jk  {0,1},
где n j 
 aij ,
j  J, i  I .
iI
Замечание. В оптимальном решении
yjk  yjk–1 для всех jJ, 1< k  nj.
Лекция 12. Дискретные задачи размещения. Часть 1
-22-
Download