solve.QP требуют, чтобы D был симметричным положительно определенным в R - PullRequest
3 голосов
/ 17 августа 2010

Когда я запускаю solve.QP для моей проблемы, я получаю следующую ошибку от R:

Error in solve.QP(sigma, rep(0, 5), t(Amat), bvec, meq = 2) : 
  matrix D in quadratic function is not positive definite!

Моя сигма-матрица симметрична, но не является положительно определенной. Зачем это нужно? Если я решу это сам, используя функции Лагранжа, я смогу найти решение. Тогда почему R навязывает это требование?

Ответы [ 2 ]

4 голосов
/ 17 августа 2010

Алгоритм Голдфарба-Иднани начинается с вычисления безусловное решение. Таким образом, требуется, чтобы матрица D в целевая функция положительно определена.

Выдержка из исходного файла на Фортране.

c  this routine uses the Goldfarb/Idnani algorithm to solve the
c  following minimization problem:
c
c        minimize  -d^T x + 1/2 *  x^T D x
c        where   A1^T x  = b1
c                A2^T x >= b2
c
c  the matrix D is assumed to be positive definite.  Especially,
c  w.l.o.g. D is assumed to be symmetric.
1 голос
/ 30 октября 2012

Функция auglag в пакете alabama предоставляет множители лагранжа для решения любой задачи оптимизации.

...