Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Позволяет указать дополнительные параметры для модели решателя. Эта функция и ее аргументы соответствуют параметрам в диалоговом окне Параметры решателя .
Заметка Надстройка "Решатель" не включена по умолчанию. Прежде чем использовать эту функцию, необходимо включить и установить надстройку Решателя. Сведения о том, как это сделать, см. в разделе Использование функций Решателя VBA. После установки надстройки "Поиск решения" необходимо установить ссылку на надстройку "Поиск решения". В редакторе Visual Basic с активным модулем щелкните Ссылки в меню Сервис, а затем выберите пункт Поиск решения в разделе Доступные ссылки. Если пункт поиск решения не отображается в разделе Доступные ссылки, нажмите кнопку Обзор и откройте элемент Solver.xlam во вложенной папке \Program Files\Microsoft Office\Office14\Library\SOLVER.
SolverOptions(MaxTime, Iterations, Precision, AssumeLinear, StepThru, Estimates, Производные, SearchOption, IntTolerance, Scaling, Convergence, AssumeNonNeg, PopulationSize, RandomSeed, MultiStart, RequireBounds, MutationRate, MaxSubproblems, MaxIntegerSols, SolveWithout, MaxTimeNoImp)
MaxTime Необязательный вариант Variant. Максимальное время (в секундах) Решатель затратит на решение проблемы. Значением должно быть положительное целое число.
Итераций Необязательный вариант Variant. Максимальное количество итераций, которые Решатель будет использовать при решении проблемы. Значением должно быть положительное целое число.
Точность Необязательный вариант Variant. Число от 0 (ноль) до 1, указывающее степень точности, с которой должны быть выполнены ограничения (включая целые числа). Точность по умолчанию — 0,000001. Меньшее число десятичных разрядов (например, 0,0001) указывает на меньшую степень точности. Как правило, чем выше указанная степень точности (чем меньше число), тем больше времени потребуется решателям для достижения решений.
AssumeLinear Необязательный вариант Variant. Значение true , если решателем предполагается, что базовая модель является линейной. Это ускоряет процесс решения, но его следует использовать только в том случае, если все связи в модели являются линейными. Значение по умолчанию — False. StepThru Необязательный вариант Variant. True , чтобы приостанавливать поиск решения в каждом пробном решении. Вы можете передать решателя макрос для выполнения при каждой приостановке с помощью аргумента ShowRef функции SolverSolve . Значение false , чтобы не было приостановки Решения в каждом пробном решении. Значение по умолчанию — False.
Оценки Необязательный вариант Variant. Задает подход, используемый для получения начальных оценок базовых переменных в каждом одномерном поиске: 1 представляет тангенсные оценки, а 2 — квадратичные оценки. Оценки тангенсов используют линейную экстраполяцию из тангенсного вектора. Квадратические оценки используют квадратическую экстраполяцию; это может улучшить результаты для высоко нелинейных проблем. Значение по умолчанию — 1 (тангенсные оценки).
Производные Необязательный вариант Variant. Указывает прямую разностную или центральную дифференциацию для оценок частичных производных функций цели и ограничений: 1 представляет собой прямую дифференциацию, а 2 — центральную. Для централизованного различения требуется больше пересчетов на листе, но это может помочь с проблемами, которые создают сообщение о том, что решателям не удалось улучшить решение. С ограничениями, значения которых быстро меняются ближе к их ограничениям, следует использовать центральное различение. Значение по умолчанию — 1 (переадресация).
SearchOption Необязательный вариант Variant. С помощью параметров Поиск укажите алгоритм поиска, который будет использоваться при каждой итерации, чтобы определить направление поиска: 1 представляет метод поиска Newton, а 2 — метод сопряженного поиска. Newton, использующий метод квази-Ньютона, является методом поиска по умолчанию.
IntTolerance Необязательный вариант Variant. Десятичное число от 0 (нуль) до 100, указывающее допуск в процентах целочисленной оптимальности . Этот аргумент применяется только в том случае, если определены целые ограничения; Он указывает, что решатель может остановиться, если он нашел возможное целочисленное решение, цель которого находится в пределах этого процента от наиболее известной привязки к цели истинного оптимального решения с целым числом. Большая процентная погрешность, как правило, ускоряет процесс решения.
Масштабирование Необязательный вариант Variant. Если цель или ограничения различаются на несколько порядков, например, максимизируя процент прибыли на основе инвестиций в миллион долларов, установите этот параметр True , чтобы Решатель внутренне перемасштабировали целевые и ограничивающие значения на аналогичные порядки во время вычислений. Если этот параметр имеет значение False, решатель выполнит вычисления с исходными значениями цели и ограничений. Значение по умолчанию — True.
Сходимость Необязательный вариант Variant. Число между 0 (ноль) и 1, указывающее допустимость конвергенции для методов нелинейного решения GRG и эволюционного решения . Для метода GRG, когда относительные изменения в значении целевой ячейки меньше этого допуска для последних пяти итераций, решатель останавливается. Для эволюционного метода, когда 99% или более членов популяции имеют значения "пригодности", относительная, то есть процентная разница меньше этой допустимости, Рефер останавливается. В обоих случаях средство решения отображает сообщение "Решатель сошел с текущим решением. Все ограничения удовлетворены".
AssumeNonNeg Необязательный вариант Variant. Значение true , если в решателях предполагается нижнее ограничение в 0 (ноль) для всех ячеек переменных принятия решений, которые не имеют явных нижних пределов в списке Ограничения (ячейки должны содержать неотрицательные значения). Значение false , чтобы решатель использовал только ограничения, указанные в списке Ограничения .
PopulationSize Необязательный вариант Variant. Значение true , если в решателях предполагается нижнее ограничение в 0 (ноль) для всех ячеек переменных принятия решений, которые не имеют явных нижних пределов в списке Ограничения (ячейки должны содержать неотрицательные значения). Значение false , чтобы решатель использовал только ограничения, указанные в списке Ограничения.
RandomSeed Необязательный вариант Variant. Положительное целое число задает фиксированное начальное значение для генератора случайных чисел, используемого методом "Эволюционное решение " и методом multistart для глобальной оптимизации. Это означает, что решатель будет находить одно и то же решение при каждом запуске в модели, которая не изменилась. Нулевое значение указывает, что решатель должен использовать другое начальное значение для генератора случайных чисел при каждом запуске, что может привести к различным решениям при каждом запуске в модели, которая не изменилась.
Многозапускное руководство Необязательный вариант Variant. Значение true , если в решателях используется многозапускной метод для глобальной оптимизации с нелинейным методом GRG при вызове SolverSolve . Значение false , чтобы средство поиска выполняло метод GRG Solving только один раз без нескольких запусков при вызове SolverSolve .
RequireBounds Необязательный вариант Variant. Значение true , чтобы методы Evolutionary Solving и многозапускные методы возвращались немедленно из вызова SolverSolve со значением 18, если какая-либо из переменных не имеет нижнюю и верхнюю границы. Значение false , чтобы эти методы пытались решить проблему без границ для всех переменных.
МутацияRate Необязательный вариант Variant. Число от 0 (нуль) до 1, указывающее скорость, с которой метод эволюционного решения будет вносить "изменения" в существующие члены популяции. Более высокий уровень мутаций, как правило, увеличивает разнообразие населения и может дать лучшие решения.
MaxSubproblems Необязательный вариант Variant. Максимальное число вложенных проблем Решателем будет изучаться в проблемах с целыми числами ограничений и проблемах, решаемых с помощью метода эволюционного решения . Значением должно быть положительное целое число.
MaxIntegerSols Необязательный вариант Variant. Максимальное количество возможных (или целочисленных) решений, которые решаемый решателем будет учитываться в проблемах с целыми числами ограничений и проблемах, решаемых с помощью метода эволюционного решения . Значением должно быть положительное целое число.
РешениеWithout Необязательный вариант Variant. Значение true , чтобы решатель игнорировали все ограничения целочисленного числа и устраняли проблему. Значение false , чтобы решатель использовал целые числа при решении проблемы.
MaxTimeNoImp Необязательный вариант Variant. При использовании метода эволюционного решения максимальное время (в секундах) Решатель будет продолжать решение, не найдя значительно улучшенных решений для добавления в популяцию. Значением должно быть положительное целое число.
Пример
В этом примере для параметра Точность задано значение .001.
Worksheets("Sheet1").Activate
SolverReset
SolverOptions Precision:=0.001
SolverOK SetCell:=Range("TotalProfit"), _
MaxMinVal:=1, _
ByChange:=Range("C4:E6")
SolverAdd CellRef:=Range("F4:F6"), _
Relation:=1, _
FormulaText:=100
SolverAdd CellRef:=Range("C4:E6"), _
Relation:=3, _
FormulaText:=0
SolverAdd CellRef:=Range("C4:E6"), _
Relation:=4
SolverSolve UserFinish:=False
SolverSave SaveArea:=Range("A33")
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.