1 / 26

Комбинаторные алгоритмы

Комбинаторные алгоритмы. Локальный поиск. Простейшая задача 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 .

livi
Download Presentation

Комбинаторные алгоритмы

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. Алгоритмлокального поиска Input (G,f: F→ Q+ , c: E→ Q+) • Выбрать произвольноетекущее решение H. • While существует решение H′N(H)такое, что XH + YH > XH′ + YH′doH:=H′. Output(H,H)

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

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

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

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

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

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

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

  13. Оценка на стоимость предприятий Лемма5.3 Рассмотрим произвольный локальный оптимум Hи H. Тогда XH ≤ 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 оценить величиной 2cj,φ*(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. Опасные предприятия H i = i′ H* 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′. H* R H i i′

  21. Оценка стоимости замены iна i′ • Заменим предприятие iна предприятие i′: fi′−fi. • Переназначим клиентов j таких, что (j) =iи • *(j)  Rна предприятие γ(*(j)): Лемма 5.2  ≤ 2cj,φ*(j). • *(j)  Rна предприятие i′: =cji′−cji. Суммируя по всем клиентам и учитывая, что стоимость нового решения должна быть больше чем стоимость решения H,H, получим:

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

  23. Упрощение • φ(j)=i & φ*(j)=i′: cji′−cji≤ 2cji′ = 2cjφ*(j). • φ(j)=i & φ*(j) R− {i′}: cji′ +cjφ*(j) −2cji ≤cii′ +cjφ*(j) −cji≤ ciφ*(j)+cjφ*(j) −cji≤2cjφ*(j).

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

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

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

More Related