MATLAB Answers

二次計画問題(quadprog)について

2 views (last 30 days)
Youhei Ogawa
Youhei Ogawa on 28 Nov 2019
Answered: Kazuya on 30 Nov 2019
こんにちは
定式化される二次計画問題について、目的関数の値に制約条件をつけたいのですがどのように書けばよいでしょうか?
例えば、f(x)=0.5*X'*H*X+f'*X H=[1 -1;-1 2], f = [-2 ;-6]という二次計画問題に対して
-1<=f(x)<=1の制約条件が存在するとき、二次計画問題としてどのようにMATLABで記述すればよいでしょうか?
x = quadprog(H,f,A,b)←のどこに、どのように書けばよいのでしょうか。
  2 Comments
Youhei Ogawa
Youhei Ogawa on 28 Nov 2019
fは別ものです。
-1以上だけでなく、 -1以上、かつ1以下という制約条件を設けたいです。

Sign in to comment.

Answers (1)

Kazuya
Kazuya on 30 Nov 2019
まず・・ quadprog 関数では目的関数の値に制約条件をつけることはできません。目的関数に制約付けるというところが、あまりイメージ沸かないんですが、例えば以下のように問題を分割してみるのはどうでしょう。
Step 1: まず制約なしで quadporg を実行
Step 2-a: 結果的に f が範囲内ならOK
Step 2-b: 求まった f が範囲の下限より小さければ、f = 下限値を取る x を求める問題に切り替え・・
Step 2-c: 求まった f が範囲の上限より大きければ、範囲を満たす解は無い・(?)

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!