Задача про розміщення об'єктів

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Зада́ча про розмі́щення об'є́ктів, відома також як ана́ліз розташува́ння обла́днання або зада́ча k-це́нтра — це гілка дослідження операцій і обчислювальної геометрії, яка досліджує оптимальне розташування об'єктів з метою мінімізувати ціни перевезень з урахуванням таких обмежень, як розміщення небезпечних матеріалів поблизу житла та об'єктів конкурентів. Ці методи також знаходять застосування у кластерному аналізі.

Задача про розміщення об'єктів з мінімізацією[ред. | ред. код]

Проста задача про розміщення об'єктів — це задача Вебера, в якій розміщується один об'єкт з метою мінімізації зваженої суми відстаней до заданої множини точок. Складніші завдання цієї дисципліни виникають за обмежень на розміщення об'єктів і за використання складніших критеріїв оптимізації.

У базовому формулюванні задача про розміщення об'єктів складається з потенційних точок забудови L, де об'єкти можуть бути створені, і точок D, які слід обслужити. Мета — вибрати підмножину F точок розміщення об'єктів з метою мінімізувати суму відстаней від кожної точки обслуговування до найближчого обслуговувального об'єкта, плюс суму вартостей розміщення об'єктів.

Задачу про розміщення об'єктів на загальних графах NP-складно розв'язати оптимально, зведенням, наприклад, від задачі про покриття множини. Розроблено кілька алгоритмів для задач про розміщення об'єктів і багатьох варіантів цієї задачі.

Без припущень про властивості відстаней між клієнтами та місцями розташування об'єктів (зокрема, без допущення, що відстань задовольняє нерівність трикутника), задача відома як неметри́чна зада́ча про розмі́щення об'є́ктів і її можна апроксимувати з множником O (log n)[1]. Множник тісний, що випливає зі зведення зі збереженням апроксимації[en] із задачі покриття множини.

Якщо ми припускаємо, що відстані між клієнтами та місцями розміщення об'єктів неорієнтовані й задовольняють нерівність трикутника, ми говоримо про задачу метри́чного розмі́щення об'є́ктів (МРО). МРО залишається NP-складною задачею і її важко апроксимувати зі множником, кращим ніж 1,463[2]. На даний час кращий апроксимаційний алгоритм має коефіцієнт 1,488[3].

Мінімаксне розміщення об'єктів[ред. | ред. код]

Мініма́ксна зада́ча про розмі́щення об'є́ктів шукає розміщення, яке мінімізує максимальні відстані до місць розміщення, де відстань від деякої точки до місць розміщення — це відстань від точки до найближчого місця розміщення. Формальне визначення таке: Якщо задано множину точок P ⊂ ℝd, потрібно знайти множину точок S ⊂ ℝd, |S| = k, таку, що значення maxp ∈ P(minq ∈ S(d(pq))) буде мінімальним.

У разі евклідової метрики при k = 1 задача відома як задача про найменшу обмежувальну сферу або задача про 1-центр. Вивчення задачі простежується щонайменше до 1860 року, див. докладніше в статті «Обмежувальна сфера».

NP-складність[ред. | ред. код]

Доведено, що точне розв'язання задачі k-центра є NP-складним[4][5][6]. Виявлено, що апроксимація задачі буде теж NP-складною, якщо похибка мала. Рівень похибки в апроксимаційному алгоритмі вимірюється коефіцієнтом апроксимації, який визначається як відношення апроксимованого розв'язку до оптимального. Доведено, що апроксимація задачі k-центра є NP-складною, якщо коефіцієнт апроксимації менший, ніж 1,822 (для розмірності 2)[7] або 2 (для розмірності >2)[6].

Алгоритми[ред. | ред. код]

Точний розв'язок

Існують алгоритми, що дають точний розв'язок задачі. Один із таких алгоритмів дає розв'язок за час [8][9].

Апроксимація 1 + ε

Апроксимація 1 + ε знаходить розв'язок з апроксимаційним коефіцієнтом, що не перевершує 1 + ε. Така апроксимація NP-складна у випадку довільного ε. Запропоновано підхід, заснований на концепції базового набору[en], зі складністю виконання [10]. Доступний альтернативний алгоритм, що також ґрунтується на базових наборах. Він працює за час [11]. Автор стверджує, що час роботи значно менший від часу гіршого випадку і існує можливість розв'язати деякі задачі в разі малих k (приміром,  k < 5).

Виділення віддалених точок

Через складність задачі, непрактично шукати точний розв'язок або близьку апроксимацію. Замість цього для великих k широко використовують апроксимацію з коефіцієнтом 2. Ця апроксимація відома під назвою «Алгоритм виділення віддалених точок» (ВВТ = англ. Farthest-point clustering, FPC) або як алгоритм обходу «спочатку дальній»[en][6]. Алгоритм досить простий: вибираємо як центр довільну точку множини, знаходимо найдальшу з решти множини і вважаємо її наступним центром. Продовжуємо процес, поки не наберемо k центрів.

Легко бачити, що алгоритм працює за лінійний час. Оскільки доведено, що апроксимація з коефіцієнтом, меншим від 2, NP-складна, ВВТ вважають кращою апроксимацією.

Пізніше за допомогою техніки рамкової декомпозиції часову складність виконання покращено до O(n log k)[7].

Максимінне розміщення об'єктів[ред. | ред. код]

Задача максимі́нного розмі́щення об'є́ктів шукає розміщення, яке максимізує мінімальні відстані до сторін. У випадку евклідової метрики задача відома як задача про найбільшу порожню сферу. Плоский випадок (найбільшого порожнього кола) можна розв'язати за час Θ(n \log n)[12][13].

Вільно поширюване програмне забезпечення для розв'язування задач розміщення об'єктів[ред. | ред. код]

Назва
(за абеткою)
Ліцензія Мова API Коротка інформація
FLP Spreadsheet Solver Creative Commons Attribution 4.0 International License Система на основі Microsoft Excel і VBA з відкритим кодом для розв'язування задачі про розміщення об'єктів із посиланням на ГІС загального доступу (посилання). Відео уроки [Архівовано 15 березня 2022 у Wayback Machine.] [14].
ODL Studio LGPL Обмежений кластерний компонент в ODL Studio розв'язує задачу про P-медіану (розміщення з мінімізацією зваженої суми відстаней). Програма включає плани розміщення, звіти та завантаження/вивантаження в Excel. (Уроки з ODL Studio [Архівовано 12 квітня 2022 у Wayback Machine.])
SITATION freeware Може розв'язувати задачі п'яти класів: P-медіана, P-центр, покриття множинами, максимальне покриття і задача з фіксованими витратами без обмеження пропускної здатності[1] [Архівовано 28 березня 2022 у Wayback Machine.][14].

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Hochbaum, 1982, с. 148–162.
  2. Guha, Khuller, 1999, с. 228.
  3. Li, 2011, с. 77–88.
  4. Fowler, Paterson, Tanimoto, 1981, с. 133–137.
  5. Megiddo, Tamir, 1982, с. 194–197.
  6. а б в Gonzalez, 1985, с. 293–306.
  7. а б Feder, Greene, 1988, с. 434–444.
  8. Hwang, Lee, Chang, 1993, с. 1–22.
  9. Hwang, Chang, Lee, 1993, с. 398–423.
  10. Bādoiu, Har-Peled, Indyk, 2002, с. 250–257.
  11. Kumar & Kumar, 2010.
  12. Препарата и Шеймос, 1989.
  13. Toussaint, 1983, с. 347–358.
  14. а б Csoke, 2015.

Література[ред. | ред. код]

Посилання[ред. | ред. код]