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

4 ビュー (過去 30 日間)
Youhei Ogawa
Youhei Ogawa 2019 年 11 月 28 日
回答済み: Kazuya 2019 年 11 月 30 日
こんにちは
定式化される二次計画問題について、目的関数の値に制約条件をつけたいのですがどのように書けばよいでしょうか?
例えば、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 件のコメント
Kazuya
Kazuya 2019 年 11 月 28 日
f(x)=0.5*X'*H*X+f'*X
f = [-2 ;-6]
と2つ f がありますが、f(x) と f は別のものですよね?
要は -1 <= f(x) <= 1 の間で f(x) の最小値を、、すなわち f(x) が -1 以上の最小値を取る x を求めるということですか?
Youhei Ogawa
Youhei Ogawa 2019 年 11 月 28 日
fは別ものです。
-1以上だけでなく、 -1以上、かつ1以下という制約条件を設けたいです。

サインインしてコメントする。

回答 (1 件)

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

カテゴリ

Help Center および File Exchange二次計画法と錐計画法 についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!