Некоторые методы равномерного распределения предметов между группами:
- Имитированный отжиг. 1 Позволяет итеративно улучшать решение, для этого случайным образом выбирают два элемента в списке и меняют их местами. 1
- Парное перераспределение. 2 На входе — список покупателей с диапазонами и список товаров с ценами. 2 Сначала убирают товары, на которые никто не претендует, и покупателей, которые не претендуют ни на один товар. 2 Затем проводят первичное распределение: берут покупателя с наибольшим количеством товаров, на которые он претендует, и распределяют ему все эти товары. 2 После этого берут следующего покупателя с наибольшим количеством товаров и распределяют ему все оставшиеся (минус те, которые ушли к первому) и так далее. 2 В результате получается сортированный нумерованный список покупателей с распределёнными товарами. 2 Затем проводят парное перераспределение: составляют пару между покупателями и начинают передавать товары по одному в произвольном порядке, если есть такие товары. 2 Передача в паре заканчивается, если больше нет товаров к передаче, или параметр Т <= Тn+1. 2 Когда передача в паре 1:N закончилась, составляют пару покупателя 1 с покупателем N-1, повторяют. 2 После этого берут покупателя 2 и переходят в начало шага 2, пробегают все пары 2:N и так далее. 2 Потом берут покупателя 3 и так далее. 2 Работа алгоритма заканчивается, когда на шаге 3 не удалось сделать ни одной передачи товара. 2
- Распределение по контуру в Adobe Illustrator. 3 Для этого используют объектную кисть (Art Brush) и инструмент Переход (Blend). 3 Например, чтобы равномерно распределить объекты разного размера вдоль линии, нужно выделить крайний левый объект, установить расстояние между объектами в панели Выравнивание (Align) и нажать кнопку Распределение с равными интервалами по горизонтали (Horizontal Distribute Space). 3
Выбор метода зависит от конкретной задачи и условий её решения.