Шукаєте алгоритм для розміщення максимальної кількості балів у обмеженій області при мінімальному відстані?


17

У мене є багатокутний шар, який описує обмеження; Я хочу додати бали в цій області. Я хочу додати якомога більше балів, але вони повинні мати мінімальний проміжок між ними. Чи можливо це зробити за допомогою ГІС?

Для уточнення, найкраще було б створити впорядковану сітку, оскільки це гарантувало б найбільше балів. Однак обмеження рідко дозволяє це, і може бути кращим видалити точки, щоб зсув краще вписався в обмеження.


1. Так. 2. Ви хочете випадкову чи впорядковану (сітку)?
— Бред Несом

Здається, це два питання. Ви хочете, щоб алгоритм це робив поза програмним забезпеченням? Або ви хочете знати, яка система GIS може це зробити?
— Бред Несом

1
Чи обмежені точки так, що вони повинні бути> = мінімальна відстань від межі полігона? Якщо так, то питання може бути чіткіше викладене так: Як я можу упакувати максимальну кількість кіл у багатокутник?
— Кірк Куйкендалл

Яким - то чином пов'язані: gis.stackexchange.com/q/4927/162
— Julien

1
@qva Ні, немає, тому що точні рішення, які можна знайти, асиметричні і їх важко отримати навіть для простих фігур, таких як прямокутники. Найкращі методи обчислень, які я знайшов, базуються на просторовому імітованому відпалі (і вони дуже добре працюють, навіть не вимагаючи великих обчислень). Використовуючи їх, я розглянув рішення багатьох полігонів різної форми. Зрозуміло, що межі багатокутника контролюють розв’язки, близькі до меж; У глибині інтер’єру вони мають тенденцію до наближення шестикутних упаковок дисків.
— whuber

Відповіді:


5

Я думаю, що це можна розглядати як проблему "упаковки".

Якщо це так, ви можете спробувати генетичний алгоритм, можливо, аналогічний тому, що стосується "Генетичні алгоритми упаковки полігонів" .


Цікава довідка, дякую. Швидкий погляд говорить про те, що алгоритм паперу потребує, щоб багатокутники були прямокутниками. Чи знаєте ви, чи можна її узагальнити до довільних багатокутників?
— whuber

9

Я не знаю жодного інструменту ГІС для цього, але я маю уявлення про алгоритм.

По-перше, за цією формулою можна отримати наближення максимального числа балів:

Nb = 4.A / Pi.d^2

(де Aплоща багатокутника і dмінімальна відстань).

Потім, щоб спробувати розташувати ці точки у багатокутнику, найкращий зразок - це не квадратна сітка, а шестикутна сітка. Побачити:

квадрат проти шестикутної сітки

Нарешті, деякі методи оптимізації за допомогою силових моделей можуть бути використані для уточнення відносного розташування точок.

NB: Це добре відома проблема кристалографії .


інструмент gis для цього ... ian-ko.com випадкова точка гео-майстра в полігоні.
— Бред Несом

1
Спасибі! Але питання не зовсім у випадкових точках у багатокутнику, правда?
— julien

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

6

Дивіться тему на /math/15624/distribute-a-fixed-number-of-points-uniformly-inside-a-polygon . Зокрема, зверніть увагу на посилання (у коментарі) на "процес Пуассона на диску" та виконайте певний пошук в Інтернеті. Зв'язок із поточним питанням полягає в тому, що коли ви можете розподілити задану кількість точок рівномірно, ви можете систематично збільшувати це число, поки більше полігонів не можна буде поставити в полігон, і це вирішить проблему максимізації кількості точок, що підлягають вимога до мінімальної відстані (Технічно ці дві проблеми - це проблеми подвійної оптимізації, де цілі та обмеження взаємозамінні.)


0

Рішення повинно бути рівносторонніми трикутниками, http://en.wikipedia.org/wiki/Equilateral_triangle . Питання лише в довжині сторін і "зміщення" по відношенню до вашого багатокутника.

(те саме, що вказана нижче шестикутна сітка)


1
Це справедливо лише в нескінченній площині. Межа кінцевого багатокутника сильно обмежує конфігурацію. Коли є багато точок, вони приблизно утворюють рівносторонні трикутники.
— whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.