Задачи о покрытии Дано: Сеть дорог и конечное множество пунктов для размещения постов ГАИ. Каждый пункт может контролировать дорогу на заданном расстоянии от него. Известно множество опасных участков на дорогах. Найти: минимальное число постов для контроля всех опасных участков. Обозначения: I ={1,…, m} — множество всех возможных пунктов для размещения постов ГАИ; J ={1,…, n} — множество опасных участков; 1, если из пункта i можно контролиро вать участок j aij 0 в противном случае Переменные задачи: 1, если в пункте i устанавлив ается пост ГАИ xi 0 в противном случае Лекция 12. Дискретные задачи размещения. Часть 1 -1- Математическая модель min xi iI при ограничениях: aij xi 1, jJ; iI xi{0,1} iI. Пусть ci 0 — стоимость создания поста в пункте i и число постов не превосходит p>0. Требуется минимизировать суммарную стоимость: min ci xi iI при ограничениях: aij xi 1, jJ; iI xi p; iI xi{0,1} iI. Лекция 12. Дискретные задачи размещения. Часть 1 -2- Предположим, что имеется возможность открыть не более p постов и их не хватит для контроля всех опасных участков. Требуется при данном ограничении найти размещение постов для контроля максимального числа опасных участков. Переменные задачи: 1, если опасный участок j под контролем y j 0 в противном случае 1, если в пункте i устанавлив ается пост ГАИ xi 0 в противном случае Лекция 12. Дискретные задачи размещения. Часть 1 -3- Математическая модель max yj jJ при ограничениях: aij xi y j , iI jJ; xi p; iI xi, yj{0,1}, iI, jJ. Упражнение. Показать, что эта модель не эквивалентна нижеследующей модели: max aij xi jJ iI при ограничениях: xi p; iI xi{0,1}, iI. Лекция 12. Дискретные задачи размещения. Часть 1 -4- Если опасные участки опасны в разной степени и величина bj задает, например, число аварий на участке j за год, то задача предотвращения максимального числа аварий записывается следующим образом: max bj y j jJ при ограничениях: aij xi y j , j J, iI xi p; iI xi, yj{0,1}, iI, jJ. Лекция 12. Дискретные задачи размещения. Часть 1 -5- Жадный алгоритм Рассмотрим взвешенную задачу о покрытии min ci xi iI aij xi 1, j J , xi {0,1} iI Алгоритм 1. Положить X0 := , k := 0, J ik : { j J | aij 1}, iI, 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 | ; | iI \ X k | J i | J 0 : J 0 J ik01 и J ik : J ik 1 \ J ik01 для всех 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 n2 матрица (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 , iI. Без ограничения общности будем считать, что 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 iI iX K aij ci . jJ iX Доказательство: Наряду с исходной задачей рассмотрим задачу с новой целевой функцией и непрерывными переменными: min ci H aij xi iI j J aij xi 1, j J , xi 0. iI Двойственная к ней имеет вид max u j jJ 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 —допустимое решение двойственной задачи. Для любого iI K aij u j j J K K aiju j k 1 jJ k k K u j k 1 jJ 0 J k i k k k k 1 k c q ( q q ) c q k k i i k k. k 1 jJ k \ J k 1 i i k 1 Пусть для рассматриваемого iI номер 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 jJ k k ck . kX K Но по теореме двойственности aij ) ci откуда и вытекает требуемая оценка. u j H (max iI j J j J i X Плохая новость. Существует константа 0 < < 1 такая, что наличие полиномиального приближенного алгоритма с оценкой относительной погрешности H (max aij ) iI jJ влечет P=NP. Лекция 12. Дискретные задачи размещения. Часть 1 -11- Алгоритм муравьиной колонии Предложен в начале 90-х годов прошлого века M. Dorigo и V. Maniezzo Муравьи ориентируются по запаху. Каждый муравей оставляет после себя сильно пахнущее вещество — феромен. При выборе направления домой с большей вероятностью выбирается направление с более сильным запахом. Лекция 12. Дискретные задачи размещения. Часть 1 -12- Кратчайший путь Появилось препятствие Обход препятствия Новый кратчайший путь Лекция 12. Дискретные задачи размещения. Часть 1 -13- Вероятностный жадный алгоритм Пусть XI, J ( X ) { j J | aij 1} — множество “покрытых” столбцов, iX qi(X) — мощность множества Ji(X) = {jJ | aij = 1} \ J(X), iI \ X, i = ci /qi(X), iI \ X — удельные приращения целевой функции, L(p) — случайное подмножество множества I \ X; элемент iI \ X включается в множество L(p) с вероятностью p независимо от других элементов. Вероятностный жадный алгоритм 1. Положить X := , J0: = . 2. Пока J0 J выполнять: 2.1. Сформировать подмножество L(p) I \ X; 2.2. Найти i0L(p) с ненулевым значением qi0 ( X ) и минимальным удельным приращением i . 2.3. Положить X : X {i0 }; J 0 : J 0 J i0 ( X ) . Лекция 12. Дискретные задачи размещения. Часть 1 -14- Влияние рандомизации на погрешность, случай ci = 1, iI. При фиксированном значении p>0 проводилось 1000 испытаний алгоритма. Число решений с одинаковым значением представлено на графике столбиком. Лекция 12. Дискретные задачи размещения. Часть 1 -15- Алгоритм муравьиной колонии Пусть вектор i, iI задает статистическую информацию о частоте появления элемента , iI в решении X I. Положим i = ci /qi(X) + /i, iI \ X, где параметр определяет важность статистической информации. Алгоритм МК 1. Положить i := 1, iI, 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, iI и положить t := t + 1 2.4. Сменить рекорд XMK, если найдено лучшее решение. Лекция 12. Дискретные задачи размещения. Часть 1 -16- Влияние статистической информации, случай ci = 1, iI. Большое число оптимальных решений получено при 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 . jJ iS Величина D связана с задержкой при выезде из поста i на участок j. Задача минимизации этой задержки называется задачей о p-центрах: max min dij jJ iS min S I ,|S | p . Задача о p-центрах сводится к решению не более mn задач о минимальном покрытии (как?). Лекция 12. Дискретные задачи размещения. Часть 1 -19- Задача о многократных покрытиях Пусть величина D задает радиус ответственности поста, т. е. все участки на расстоянии D от поста находятся в зоне его ответственности. Зоны могут пересекаться. Пусть rj 1 — минимальное число постов, которые должны контролировать участок j, bj > 0 — среднее число аварий на участке j. Требуется выбрать p постов так, чтобы каждый участок контролировался не менее rj постами, и число предотвращенных аварий было бы максимальным: max b j aij xi jJ iI xi p, при условиях iI aij xi r j , j J , iI xi{0,1}, iI. Лекция 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 jJ k 1 nj при ограничениях y jk aij xi , k 1 j J, iI xi p, iI xi , y jk {0,1}, где n j aij , j J, i I . iI Замечание. В оптимальном решении yjk yjk–1 для всех jJ, 1< k nj. Лекция 12. Дискретные задачи размещения. Часть 1 -22-