Excel Solver - цена за изменение порции после блока 5 - PullRequest
0 голосов
/ 29 сентября 2019

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

Я хочу добавить еще одно ограничение, в котором цена на картофель изменяется на 0,40 вместо 0,15 после пятой единицы.Как это ограничение моделируется линейно в Excel?

спасибо

1 Ответ

1 голос
/ 30 сентября 2019

Это может быть смоделировано как:

 potatoes = cheap_potatoes + expensive_potatoes
 cheap_potatoes <= 5
 potatoes, cheap_potatoes, expensive_potatoes >= 0

В целевой функции замените 0.15*potatoes на 0.15*cheap_potatoes + 0.4*expensive_potatoes.Поскольку cheap_potatoes дешевле, цель (минимизация затрат) автоматически попытается использовать их в первую очередь.

Это не должно быть слишком сложно для реализации в вашей электронной таблице.

PS.Обратный ход (первые 5 дороже, потом дешевле) также распространен (скидка за объем).Это немного сложнее моделировать (требуются двоичные переменные).

...