vba: не получается отключить опцию «сделать неотрицательные переменные неотрицательными» для Солвера - PullRequest
2 голосов
/ 13 октября 2011

После SolverReset

Я хочу отключить параметр Сделать неотрицательные переменные неотрицательными в vba Solver.

Какие команды отключают создание неотрицательных переменных неотрицательными в Солвере?

Я попытался записать макрос, чтобы узнать, но все, что я получил, было

Sub Macro2()
'
' Macro2 Macro
'

'
    SolverOk SetCell:="$D$26", MaxMinVal:=2, ValueOf:=0, ByChange:="$B$9:$B$12", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverOk SetCell:="$D$26", MaxMinVal:=2, ValueOf:=0, ByChange:="$B$9:$B$12", _
        Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve
End Sub

Ответы [ 2 ]

6 голосов
/ 09 июля 2014

Что вы хотите сделать, это добавить:

SolverOptions Assumenonneg:=False

Полную информацию обо всех опциях решателя можно найти на MSDN .

2 голосов
/ 13 апреля 2012

Когда вы записываете макрос «SOLVER», откройте вкладку параметров в окне «SOLVER», а затем закройте.Нажмите кнопку «Решить», а затем «Остановить запись». Это должно дать «Параметры SLOVER», как показано ниже. Необходимая опция: AssumeNonNeg: = False (или True), как требуется

SolverOptions MaxTime:=0, Iterations:=0, Precision:=0.000001, Convergence:= _
        0.0001, StepThru:=False, Scaling:=True, AssumeNonNeg:=False, Derivatives:=1
    SolverOptions PopulationSize:=100, RandomSeed:=0, MutationRate:=0.075, Multistart _
        :=False, RequireBounds:=True, MaxSubproblems:=0, MaxIntegerSols:=0, _
        IntTolerance:=1, SolveWithout:=False, MaxTimeNoImp:=30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...