//このページが表示される方は、URLから「action=SOURCE&」を削除してみてください [[R備忘録 - 記事一覧]] !!!2次計画法(2次計画問題)のメモ *投稿者: みゅ *カテゴリ: なし *優先度: 普通 *状態: 完了 *日時: 2009年10月03日 11時04分26秒 //{{bugstate}} !!内容 *2次計画法のメモ !!Rで *solve.QPのヘルプにある例 Dmat <- matrix(0,3,3) diag(Dmat) <- 1 dvec <- c(0,5,0) Amat <- matrix(c(-4,-3,0,2,1,0,0,-2,1),3,3) bvec <- c(-8,2,0) solve.QP(Dmat,dvec,Amat,bvec=bvec, meq=3) *「meq=3」をつけて、等式制約にする $solution [1] -1 4 8 $value [1] 20.5 $unconstrainted.solution [1] 0 5 0 $iterations [1] 4 0 $iact [1] 3 1 2 *等式制約だけならラグランジュ未定乗数法でできる > B <- rbind(cbind(Dmat,Amat),cbind(t(Amat),array(0,dim=dim(Amat)))) > B [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 0 0 -4 2 0 [2,] 0 1 0 -3 1 -2 [3,] 0 0 1 0 0 1 [4,] -4 -3 0 0 0 0 [5,] 2 1 0 0 0 0 [6,] 0 -2 1 0 0 0 > solve(B) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 0.0 0 0 0.50 1.50 0 [2,] 0.0 0 0 -1.00 -2.00 0 [3,] 0.0 0 0 -2.00 -4.00 1 [4,] 0.5 -1 -2 -5.25 -10.75 2 [5,] 1.5 -2 -4 -10.75 -22.25 4 [6,] 0.0 0 1 2.00 4.00 -1 > solve(B) %*% c(dvec,bvec) [,1] [1,] -1.0 [2,] 4.0 [3,] 8.0 [4,] 15.5 [5,] 31.5 [6,] -8.0 *最初の3つの要素がQPの結果と同じ !!コメント //{{comment}}