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

3 次查看(过去 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 CenterFile Exchange 中查找有关 二次計画法と錐計画法 的更多信息

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!