Не могу решить задачу в excel поиском решения, поскольку слишком много переменных. Вернее, поиск решения работает нереально долго - через пару часов мне надоело ждать ответ, excel зачем-то перебирает нецелые значения (хотя я поставил "только целые") .... Простой перебору вручную и то быстрее, чем такой поиск решения.
Прошу помощи у знатоков VBA.
Задача - оптимально распределить значения в большой таблице (53 столбца по 150 значений). Допустим критерий оптимальности заключен всего в одном значении, которое должно быть минимально. (на самом деле надо добиться, чтобы суммы под каждым столбцом были примерно равны, но это можно выразить одним значением - сумма модулей разности между средним и значениями суммы каждого столбца)
Влияет на это значение один столбец из 150 строк (он определяет смещение значений в таблице). Еще есть столбец, лимитирующий это смещение (т.е. максимум каждого значения в искомом столбце).
Исходная позиция - "сдвиг" = 0, т.е. первый столбец максимально загружен. Надо перебрать все возможные значения, т.е. "сдвигать" данные в строках в поисках оптимальной комбинации во влияющем столбце.
Как это лучше сделать? (Пример - в файле. Формат 2007, т.к. в 2003 размер много больше 100 кб.)
Добрый день!
Не могу решить задачу в excel поиском решения, поскольку слишком много переменных. Вернее, поиск решения работает нереально долго - через пару часов мне надоело ждать ответ, excel зачем-то перебирает нецелые значения (хотя я поставил "только целые") .... Простой перебору вручную и то быстрее, чем такой поиск решения.
Прошу помощи у знатоков VBA.
Задача - оптимально распределить значения в большой таблице (53 столбца по 150 значений). Допустим критерий оптимальности заключен всего в одном значении, которое должно быть минимально. (на самом деле надо добиться, чтобы суммы под каждым столбцом были примерно равны, но это можно выразить одним значением - сумма модулей разности между средним и значениями суммы каждого столбца)
Влияет на это значение один столбец из 150 строк (он определяет смещение значений в таблице). Еще есть столбец, лимитирующий это смещение (т.е. максимум каждого значения в искомом столбце).
Исходная позиция - "сдвиг" = 0, т.е. первый столбец максимально загружен. Надо перебрать все возможные значения, т.е. "сдвигать" данные в строках в поисках оптимальной комбинации во влияющем столбце.
Как это лучше сделать? (Пример - в файле. Формат 2007, т.к. в 2003 размер много больше 100 кб.)
Посмотрел вашу тему. У меня немного не то. Весь диапазон у меня уже заполнен, речь идет только об альтернативе поиску решения. Кстати, поиск решения в моем файле заполнен - можно посмотреть как ставится задача. Только для меня не понятно, почему современный компьютер (excel) не может ее решить за разумное время. Например, если я ставлю в поиске решения ограничение времени 60 сек. ответа все равно нет. Хотя чтобы приблизиться к оптимальному решению (уменьшить число) надо всего лишь начать изменять числа. Любое изменение приближает к решению.
Посмотрел вашу тему. У меня немного не то. Весь диапазон у меня уже заполнен, речь идет только об альтернативе поиску решения. Кстати, поиск решения в моем файле заполнен - можно посмотреть как ставится задача. Только для меня не понятно, почему современный компьютер (excel) не может ее решить за разумное время. Например, если я ставлю в поиске решения ограничение времени 60 сек. ответа все равно нет. Хотя чтобы приблизиться к оптимальному решению (уменьшить число) надо всего лишь начать изменять числа. Любое изменение приближает к решению.sst99