Страницы: 1
RSS
Подобрать значения для разделения по группам с уравниванием сумм
 
Можно ли автоматически подобрать значения (условия) для разделения по 3-м группам с уравниванием (макс.возможным) сумм в этих группах ?
(или где найти подобное решение ?)
 
поставьте в строку АААА - все пусто
все суммы будут одинаковы, максимально мозможные для данного примера (все будут равны 69)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Да, такой случай тоже может быть. Однако задача где ПУСТО отсутствует все же проставлять (изменять) только на значения 1, 2, 3 и ничего другого.
Изменено: Олега - 22.02.2017 18:58:31
 
видите-ли, ячейки из строки ББББ, над которыми в строке АААА проставлено пусто - уже будут "присуттвовать" во всех суммах и никак не повлияют, на неравенство сумм - эти значения вообще можно вынести за пределы решаемой задачи.
ну, есть в колонке ББББ число 1000, а над ним пустая ячейка, ну добавится эта 1000 в каждую сумму, если подобраны одинаковые суммы - то с этой тысячей они ВСЕ станут на 1000 больше, но не перестанут быть от этого одинаковыми!
какой смысл вообще обращать внимание на значения с пусто в строке АААА?
Изменено: Ігор Гончаренко - 22.02.2017 19:41:33
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
С этим-то согласен, главное, чтобы пустым автоматом не присваивалось значение 1, 2, или 3
Как равноценные кучки организовать из нижнего ряда ?
Изменено: Олега - 22.02.2017 20:21:10
 
Доброе время суток.
Несколько поменял структуру и "жадный" алгоритм пошёл. Впрочем, структуру можно было бы и не менять.
Изменено: Андрей VG - 22.02.2017 21:55:07 (Подрихтовал АААА)
 
Андрей, чувство благодарности и восхищения переполняет ! Вижу моё, хоть не во все вник, будет над чем поразмышлять ночью.
Почему алгоритм "жадный" ? О какой структуре Вы говорили ?
 
Почему жадный? Так назвали. В силу "жадности" - не самый оптимальный, зато самый быстрый и легко реализуемый. Можете обратиться к Михаилу (MCH) - он спец по алгоритмам оптимизации - может предложит что-то более лучшее, если вдруг это не будет устраивать.
Структуру, как видите поменял с горизонтальной на вертикальную, плюс добавил дополнительный столбец для разбраковки данных - что обрабатываем, что просто суммируем, опять же в силу требований алгоритма данные упорядочены по убыванию. Это и есть изменение структуры - опять же красных ячеек-то нет :)
 
Про горизонт-вертикаль так и подумал, положить наверное справлюсь.)
Про дополнительный тоже вник. А как быть с убыванием пока не понял, положение ячеек строки БББ не предполагается менять
 
Можно использовать надстройку Поиск решения (Solver).
См. файл. (заменил "" на 0)
 
Цитата
Dima S написал:
Можно использовать надстройку Поиск решения
Спасибо, но я в этом деле укороченный пенёк (
 
Цитата
Андрей VG написал:
Это и есть изменение структуры - опять же красных ячеек-то нет
С укладкой "жадины" на бок - справился.)
Макрос для сортировки в строке с убыванием - нашел.)
Однако как подставить в Лист1, в котором 6-я строка без сортировки - тут надёжный клин.(
Как бы эту сортировку избежать ?
 
Цитата
Олега написал:
тут надёжный клин
Клин преодолел.
Еще раз огромное спасибо Андрей за пример, без него бы точно не смог бы сдвинуться.
 
Какой физический смысл задачи? Для чего происходит распределение чисел?
На сколько большим может быть массив данных?

В качестве решения можно применить алгоритм отсюда: http://www.excelworld.ru/forum/3-21304-1
Во вложении пример решения с использованием данного алгоритма
Страницы: 1
Наверх