トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

BugTrack-R備忘録/44

R備忘録 /状態空間モデリング/donlp2/その他のメモ

R備忘録 - 記事一覧

2次計画法(2次計画問題)のメモ

  • 投稿者: みゅ
  • カテゴリ: なし
  • 優先度: 普通
  • 状態: 完了
  • 日時: 2009年10月03日 11時04分26秒

内容

  • 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の結果と同じ

コメント