当初quadratic programmingのソルバーにCGALを使う予定だったが、OctaveにもQPのソルバーが入ってるようなのでこちらを使うことにした。学生時代に使っていたMATLABと似ているのでOctaveの方が個人的には使いやすい。
インストール
ubuntu universeのレポジトリに含まれているのでapt-getで。
sudo apt-get install octave
QPを解いてみる
とりあえず手計算でも解ける簡単な問題から。
ソルバーの使い方はここ。
octave> X0 = [0;0;0]; octave> H = [2,0,0;0,2,0;0,0,2]; octave> Q = [0;0;0]; octave> A = [1,1,1]; octave> B = [1]; octave> LB = []; octave> UB = []; octave> A_LB = []; octave> A_IN = [1,1,1]; octave> A_UB = []; octave> [X, OBJ, INFO, LAMBDA] = qp (X0, H, Q, A, B, LB, UB,A_LB, A_IN, A_UB); octave> X X = 0.33333 0.33333 0.33333 octave> OBJ OBJ = 0.33333 octave> LAMBDA LAMBDA = 0.66667いいですねぇ、使いやすいです。
0 件のコメント:
コメントを投稿