Как решить объединенный набор линейных уравнений и неравенств в Matlab?
У меня есть проблема, которая включает в себя систему линейных уравнений и неравенств. Проблема определяется Ax = 0
а также Cx > 0
(A
а также C
являются матрицами, x
является вектором переменных, для которых необходимо решить). Эта проблема, вероятно, имеет ряд решений. Я хотел бы найти хотя бы одно решение или набор решений, а затем выбрать одно из них. Есть идеи, как это сделать с MATLAB?
Для фона (не уверен, что это поможет, хотя), вектор x
содержит коэффициенты для функции, которую я пытаюсь определить. Функция имеет известные минимумы (определяемые равенством) и другой набор ограничений для точек, которые должны быть выше минимумов (определяемых неравенствами).
1 ответ
Если у вас есть набор инструментов оптимизации, вы хотите использовать linprog
,
Если у вас нет набора инструментов оптимизации, используйте null(A)
или же svd(A)
найти нетривиальные решения A*x = 0
, что позволяет свести проблему к нахождению линейной комбинации этого решения, так что C*x > 0
доволен.