Страницы: 1
RSS
Распределение людей по командам
 
Есть список подростков мужского пола, вес и рост. Нужно распределить наиболее равнозначно по командам, в команде 7 человек.
 
=ЦЕЛОЕ(к-во_человек/к-во_команд)
Математика, школьный курс.
Вам нужно другое? Где Ваши данные игроков? Где список команд?
 
офф, но не удержался, сори
Цитата
russspasatel написал: Есть список подростков мужского пола, вес и рост
Цитата
— В других отрядах каждый день привес, а твои на месте топчутся.
— Прирост веса — минус 100 грамм! Вот до чего доводят эти вавилоны на голове!
"Добро пожаловать или посторонним вход воспрещен"
 
Есть масса тела, рост и индекс массы тела.
Задача: у меня есть 140 участников, нужно сформировать 20 команд по 7 человек. Критерий формирования:
1. Общий рост каждой команды примерно одинаковый.
2. Состав каждой команды по индексу массы тела примерно одинаковый.
3. Как сделать, чтобы программа автоматически сделала списки сформированных команд из общего списка участников.
 
Если нужен простой алгоритм, дающий приблизительный вариант, то можно использовать обычные сортировка (см. вложение)

Для более точного равномерного распределения можно реализовать "жадный" алгоритм или частичные перестановки
 
Подскажите как сделать, чтобы при вводе фамилии в список она переносилась и становилась в нужное место по распределению в список команд.
 
.
Изменено: MCH - 30.04.2015 00:08:47
 
При изменении массы и роста участников они остаются в тех же командах.

Объясните как сформирован кусок N2:T21 лист Список команд.
 
Цитата
russspasatel написал: При изменении массы и роста участников они остаются в тех же командах
Список команд формируется на основе данных находящихся на листе 'Сортировка по росту'
А на нем, получены путем сортировки данных с листа "индекс" (сортируем сначала по росту, затем по массе).

Цитата
russspasatel написал: Объясните как сформирован  кусок N2:T21 лист  Список команд
Т.к. у нас исходные данные отсортированы, то для примерно равномерного распределения сначала берем минимальный рост затем максимальный и т.д., обратите внимание, как меняется порядок чисел по столбцам.
Данное распределение сделано почти вручную. Если нужно автоматическое распределение, то лучше написать макрос.
 
Сделал формульную сортировку, теперь при изменении данных на листе "индекс", список команд автоматически обновляется
 
Спасибо большое!!!
Изменено: russspasatel - 05.05.2015 17:32:12
 
Добрый день!

Прошу помочь с решением задачи распределения людей по командам.
Изменено: SSV2507 - 30.01.2019 08:39:24
 
Раскидал команды вручную по принципу "жадного" алгоритма с последующей перестановкой
"Поиск решения" не смог найти такого варианта
 
Спасибо!  Прочитала про принцип жадного алгоритма, так понимаю - это же сумасшедший перебор.  Как Вы в уме смогли всё перебрать и расставить единички?  Можно наглядно обосновать/доказать , что на 100% жадный алгоритм применить нельзя, потому что его автоматическая работа невозможна, так как даёт неоптимальный результат и приходится делать доработку вручную?  
Изменено: SSV2507 - 29.01.2019 15:45:00
 
Цитата
SSV2507 написал:
это же сумасшедший перебор
В чистом жадном алгоритме нет никакого перебора. Только сортировка по критерию и жадность :)
Вариант формулами.
 
Андрей, спасибо :) а как обозвать математический метод, который Вы использовали для решения? Можно о нём почитать?  
 
Цитата
SSV2507 написал:
а как обозвать математический метод
Это и есть жадный алгоритм :)  Только требуемая сортировка исходных данных по полю Параметр для правильной его работы выполнялась в ручную. Думаю, вам следует не только прочитать про этот алгоритм, но и попытаться понять ;)
 
Нашел решение с помощью целочисленного линейного программирования, в качестве решателя использовал не "поиск решения", а OpenSolver
в моделе заложено обязательное количество в команде - 5 человек, и не менее одного человека каждой профессии
Теоретически решения полученные данным способом должны быть лучше, чем это делает жадный алгоритм, но времени может быть затрачено существенно больше
Страницы: 1
Наверх