Мне нужно решить простую задачу, используя функцию linprog
в наборе математических инструментов Matlab. Проблема в том, что я не знаю, как форматировать свои уравнения, поэтому эта функция решает проблему.
Это функция, которую я пытаюсь минимизировать (a_i
— некоторые заданные коэффициенты, x
— в R^5):
x = argmax min{a1*x1 + a2*x2, a2*x2 + a3*x3 + a4*x4, a4*x4 + a5*x5}
при условии:
sum(x_i) = 3000
all x_i >= 0
Это можно было бы перефразировать так:
(x, lambda) = argmin(-lambda)
при условии:
a1*x1 + a2*x2 >= lambda
a2*x2 + a3*x3 + a4*x4 >= lambda
a4*x4 + a5*x5 >= lambda
sum(x_i) = 3000
all x_i >= 0
Я смог найти только примеры минимизации простых линейных функций без аргументов min/max. Не могли бы вы подсказать, как сделать мои структуры аргументами для функции linprog
?