Excel Solver в рамках другого Excel Solver (последовательное соединение решателей) - PullRequest
0 голосов
/ 14 мая 2018

Я хочу использовать решатель Excel для решения проблемы минимизации и в то же время максимизировать еще одну функцию, используя солвер из Excel. Другими словами, я хочу минимизировать целевую функцию для параметра a при условии, что другая функция всегда максимизируется для параметра a .

Чтобы быть более точным, представьте, что я хочу минимизировать функцию f для параметра a , т.е. е. Я хочу, чтобы решатель нашел значение a , которое минимизирует f . Но в то же время я хочу максимизировать еще одну функцию g для параметра x , который снова зависит от a , с использованием решателя Excel (Это в принципе конверт теорема). Это означает, что у меня есть следующая проблема:

мин f для

а также

макс. г для х (а)

Это означает, что решатель Excel должен сначала использовать значение для a и найти значение x , которое максимизирует функцию g , учитывая значение а . Это выдает определенное значение для функции f при ограничении, которое у нас есть максимум для g . И тогда решатель должен изменить значение a (например, с помощью метода Обобщенного градиента с уменьшением) и снова найти значение x , которое максимизирует заданную функцию g значение нового а .

Можно ли использовать решатель Excel для двух связанных задач оптимизации (как в последовательном соединении), когда один решатель всегда является частью другого решателя?

Спасибо.

редактировать: псевдокод для VBA

SolverReset

SolverOk SetCell:="$G$4", MaxMinVal:=2, ValueOf:=0, ByChange:="$I$8", Engine:=1 _
    , EngineDesc:="GRG Nonlinear"
SolverReset
SolverOK SetCell:="$G$5", MaxMinVal:=1, ValueOf:=0, ByChange:="$I$9", Engine:=1 _
    , EngineDesc:="GRG Nonlinear" 

1 Ответ

0 голосов
/ 14 мая 2018

Стандартный Солвер имеет только одну объективную ячейку.

Но не могли бы вы построить свою модель, отражающую два вычисления, например, сумму A + 1 / B?

Другая возможность состоит в том, чтобы взглянуть на расширенный решатель, предлагаемый Frontline, который все равно предоставляет решатель.

...