Использую поиск решения, выставляю все данные, запускаю эволюционный метод решения, и каждый раз он мне выдает разные значения.. Он может как то точно работать и выдать реально лучший результат в комбинации? Прикрепляю картинку настройки метода и сам файл. Ссылка удалена. Нарушение Правил форума (Файл из за массива данных весит 5 мб, сюда не получается залить)
Использую поиск решения, выставляю все данные, запускаю эволюционный метод решения, и каждый раз он мне выдает разные значения.. Он может как то точно работать и выдать реально лучший результат в комбинации? Прикрепляю картинку настройки метода и сам файл. Ссылка удалена. Нарушение Правил форума (Файл из за массива данных весит 5 мб, сюда не получается залить)negodyaj
Сообщение отредактировал Pelena - Четверг, 20.06.2019, 21:35
Эволюционный метод использует случайные значения, поэтому оптимальный вариант может не найти. И поэтому разные значения получаются при разных начальных данных. В вашей задаче всего-то 50000 вариантов. Можно перебрать все варианты и получить лучший результат. Кстати, через Поиск решения у меня один раз он получился. Могу предложить итерационный метод перебора всех вариантов и выбора наилучшего. В Ваш файл скопируйте формулы из моего файла в те же самые ячейки, разрешите итерации. Для пуска в ячейку E29 записать 0. Продолжать вычисления - F9. Когда итерации закончатся можно скопировать промежуточные результаты в числовом виде, после чего итерации автоматически возобновятся. Дойдя до конца - 250 и 200, увидим лучший вариант с этими ограничениями. С VBA, конечно, получилось бы быстрее, но я решил попробовать так. В моём решении итераций выполняется не 50000, а 200000, потому что процесс вычислений при итерациях линейно циклический, а не зависимо-вычислительный (цепочный). Могут получиться странные значения из промежуточных операций, если результат выше или левее аргументов.
Эволюционный метод использует случайные значения, поэтому оптимальный вариант может не найти. И поэтому разные значения получаются при разных начальных данных. В вашей задаче всего-то 50000 вариантов. Можно перебрать все варианты и получить лучший результат. Кстати, через Поиск решения у меня один раз он получился. Могу предложить итерационный метод перебора всех вариантов и выбора наилучшего. В Ваш файл скопируйте формулы из моего файла в те же самые ячейки, разрешите итерации. Для пуска в ячейку E29 записать 0. Продолжать вычисления - F9. Когда итерации закончатся можно скопировать промежуточные результаты в числовом виде, после чего итерации автоматически возобновятся. Дойдя до конца - 250 и 200, увидим лучший вариант с этими ограничениями. С VBA, конечно, получилось бы быстрее, но я решил попробовать так. В моём решении итераций выполняется не 50000, а 200000, потому что процесс вычислений при итерациях линейно циклический, а не зависимо-вычислительный (цепочный). Могут получиться странные значения из промежуточных операций, если результат выше или левее аргументов.Светлый