Это может быть смоделировано как:
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 дороже, потом дешевле) также распространен (скидка за объем).Это немного сложнее моделировать (требуются двоичные переменные).