1 Комбинаторные алгоритмы Локальный поиск. 2 Простейшая задача o размещениях Дано: Полный граф G = (F D, E), стоимости вершин f: F Q + и ребер c: E Q.

Презентация:



Advertisements
Похожие презентации
Приближенные схемы Задачи теории расписаний. Полиномиальная приближенная схема (PTAS) Семейство приближенных алгоритмов для задачи Π, {A ε } ε называется.
Advertisements

1 Комбинаторные алгоритмы Задача о k-центрах. 2 Метрическая задача o k центрах Дано: Полный граф G = (V, E), стоимости ребер cost: E Q + такие, что для.
Приближенные схемы Задачи теории расписаний. Полиномиальная приближенная схема (PTAS) Семейство приближенных алгоритмов для задачи Π, {A ε } ε называется.
Линейное программирование Задача теории расписаний.
Остовные деревья Лекция 4. Задача «Минимальное остовное дерево» Дано: Граф G, веса c: E(G) R. Найти остовное дерево в G наименьшего веса или определить,
Тема 11 Медицинская помощь и лечение (схема 1). Тема 11 Медицинская помощь и лечение (схема 2)
Комбинаторные алгоритмы Задача о покрытии. Задача о покрытии множествами Дано: Совокупность U из n элементов, и набор подмножеств U, S = {S 1,…, S k },
M-чередующаяся декомпозиция Лекция 10. Нечетная декомпозиция Теорема 9.7 (Lovász [1972] ) Граф является фактор-критическим тогда и только тогда, когда.
1 Приближенные алгоритмы Комбинаторные алгоритмы.
Приближенные схемы Задачи упаковки. Задача oб упаковке Дано: n предметов и их размеры a 1,…,a n (0,1]. Найти упаковку всех предметов в единичные ящики,
Алгоритм Эдмондса Лекция 11. Идея алгоритма Эдмондса Пусть есть некоторое паросочетание M, построим M-чередующийся лес F. Начинаем с множества S вершин.
Линейное программирование Задача о покрытии. Задача «Покрытие» Дано: Совокупность U из n элементов, и набор подмножеств U, Ω = {S 1,…, S k }, и веса(стоимости)
Тренировочное тестирование-2008 Ответы к заданиям КИМ Часть I.
Матроиды Лекция 12. Введение Даны система множеств (E, F ), то есть конечное множество E, F 2 E и стоимостная функция c : F R, найти элемент из F, стоимость.
ПОТОКИ В СЕТЯХ. Определения Сеть - связный ориентированный граф G = (V, A) без петель и мультидуг, с 1 источником s V и 1 стоком t V. (Запретим одновременное.
Линейное программирование Задача о покрытии. Задача «Покрытие» Дано: Совокупность U из n элементов, и набор подмножеств U, Ω = {S 1,…, S k }, и веса(стоимости)
МЕТОД ЗАМЕНЫ ФУНКЦИИ Решение некоторых достаточно сложных (хотя и стандартных) неравенств 11 класс.
Методы приведения к системе на стандартном симплексе.
Потоки в сетях Теорема о максимальном потоке и минимальном разрезе Лекция 6.
Тема: ФОРМУЛЫ КОРНЕЙ КВАДРАТНЫХ УРАВНЕНИЙ Цели: повторить алгоритм решения полных квадратных уравнений, понятие и смысл дискриминанта; показать правила.
Транксрипт:

1 Комбинаторные алгоритмы Локальный поиск

2 Простейшая задача o размещениях Дано: Полный граф G = (F D, E), стоимости вершин f: F Q + и ребер c: E Q + такие, что для любых трех вершин i, j, k F D выполнено c i,k c i,j + c j,k. Найти множество H F и назначение : D H такое, что общая стоимость открытых предприятий и стоимость назначения минимальна.

Как назначать клиентов F – множество предприятий D – множество клиентов Если множество открытых предприятий H задано, то оптимальным будет назначить каждого клиента к ближайшему предприятию. 3

Окрестность N(H) H, H : 1.Открыть новое предприятие H := H {i}, i F \ H, 2.Закрыть одно предприятие H := H \ {i}, i H. 3.Открыть одно новое предприятие и закрыть одно старое предприятие H := H {i}\ {j}, i F \ H, j H. В каждом из трех случаев перераспределить клиентов к ближайшим предприятиям. 4

5 Алгоритм локального поиска Input (G, f: F Q +, c: E Q + ) 1) Выбрать произвольное текущее решение H. 2) While существует решение H N(H) такое, что X H + Y H > X H + Y H do H:=H. Output (H, H )

Идея анализа Алгоритм локального поиска находит локальный оптимум в окрестности N(H). Оценим как сильно произвольный локальный оптимум в окрестности N(H) может отличаться от глобального. 6

7 Оценка на стоимость назначения Лемма 5.1 Рассмотрим произвольный локальный оптимум H и H. Тогда Y H X* + Y* = OPT..

8 Доказательство леммы 5.1(1) Сравним решение H c некоторым оптимальным решением H*. i* H* H. Добавим i* к H и переназначим всех клиентов таких, что *(j) = i* к предприятию i*. Так как H локальный оптимум, то стоимость нового решения должна быть больше чем стоимость решения H, H.

Доказательство леммы 5.1(2) i* H* H. Поскольку в решении H каждый клиент назначен к ближайшему предприятию, то Суммируя по всем предприятиям в оптимальном решении получим 9

10 Переназначение клиента j к предприятию i = γ( *(j)) при закрытии предприятия i. H H* γ i*=φ*(j) j i=φ(j) i=γ(φ*(j))

11 Стоимость переназначения Лемма 5.2 Рассмотрим произвольного клиента j, для которого φ(j) = i, и i i = γ(φ*(j)). Тогда стоимость переназначения клиента j от предприятия i к предприятию i не превышает 2c j,φ*(j).

12 Доказательство леммы 5.2 H H* γ i*=φ*(j) j i=φ(j) i=γ(φ*(j))

13 Оценка на стоимость предприятий Лемма 5.3 Рассмотрим произвольный локальный оптимум H и H. Тогда X H X* + 2Y*..

14 Доказательство леммы 5.3(1) Сравним решение H c некоторым оптимальным решением H*. Предположим, что мы хотим закрыть предприятие i H. Тогда каждый клиент j, обслуживавшийся в i должен быть назначен к другому предприятию в H{i}. Назовем предприятие i безопасным, если для любого предприятия i* H* предприятие γ(i*) ближайшее к i* в H не совпадает с i. Тогда при закрытии предприятия i, каждого его клиента j можно переназначить к предприятию γ(φ*(j)), а стоимость переназначения по лемме 5.2 оценить величиной 2c j,φ*(j).

15 Оценка на стоимость безопасных предприятий Так как H локальный оптимум, то стоимость нового решения при закрытии предприятия должна быть больше чем стоимость решения H, H.

16 Опасные предприятия Пусть i H опасное предприятие. Существует R = {i* H*|γ(i*) = i}, R. Пусть i ближайшее к i в R. Рассмотрим решения в окрестности N(H), возникающие при –добавлении к H предприятия i* R {i} –замене предприятия i на предприятие i.

17 Опасные предприятия i H H* i i = i опасные предприятия Каждое предприятие из H* попадает ровно в одно множество R.

18 Добавление к H предприятия i* R {i} Добавим к H предприятие i* и назначим всех клиентов j таких, что (j) = i и *(j) = i* к предприятию i*. Так как H локальный оптимум, то стоимость нового решения должна быть больше чем стоимость решения H, H.

19 Замена предприятия i на предприятие i. Заменим предприятие i на предприятие i. Переназначим клиентов j таких, что (j) = i и – *(j) R на предприятие γ( *(j)), – *(j) R на предприятие i.

20 Замена i на i. i H H* i R

21 Оценка стоимости замены i на i Заменим предприятие i на предприятие i: f if i. Переназначим клиентов j таких, что (j) = i и – *(j) R на предприятие γ( *(j)): Лемма 5.2 2c j,φ*(j). – *(j) R на предприятие i: =c ji c ji. Суммируя по всем клиентам и учитывая, что стоимость нового решения должна быть больше чем стоимость решения H, H, получим:

22 Оценка на стоимость опасного предприятия

23 Упрощение φ(j)=i & φ*(j)=i: c ji c ji 2c ji = 2c jφ*(j). φ(j)=i & φ*(j) R {i}: c ji + c jφ*(j) 2c ji c ii + c jφ*(j) c ji c iφ*(j) + c jφ*(j) c ji 2c jφ*(j).

24 Доказательство леммы 5.3(2) Безопасное предприятие i: Опасное предприятие i:

Оценка на локальный оптимум Теорема 5.4 Рассмотрим произвольный локальный оптимум H и H. Тогда X H +Y H 3OPT. Доказательство. Y H X* + Y* (Лемма 5.1) X H X* + 2Y* (Лемма 5.3) X H + Y H 2X* + 3Y* 3OPT. 25

Практика Оценить трудоемкость алгоритма локального поиска. Является ли алгоритм локального поиска полиномиальным? Рассмотрим следующий алгоритм. Input (G, f: F Q +, c: E Q + ) 1) Увеличить стоимость каждого предприятия в 2 раза, то есть положить f new := 2f i для всех i F. 2)Решить пример с новыми стоимостями алгоритмом локального спуска. Output (H, H ) Оценить стоимость полученного решения. 26