simplex法に範​囲制約を加えて多変数​関数の最小値を求める​方法

fminsearchに適用されているシンプレックス探索法に範囲制約を加えて、多変数関数の最小値を求めることはできますか? fminconに適用されているいるような、数値勾配や解析勾配による最小化ではなく、直接探索法によって多変数関数の最小値を求めたいです。

3 件のコメント

Nicolas Schmit
Nicolas Schmit 2017 年 10 月 17 日
fminconには制約条件付きの最適化問題を解くためのアルゴリズムがいくつか実装されていますが、シンプレックス法を用いたい理由は特にありますでしょうか。
michio
michio 2017 年 10 月 17 日
Global Optimization Toolbox の patternsearch 関数などいかがでしょう。
kazuma hamano
kazuma hamano 2017 年 10 月 17 日
お返事ありがとうございます。
まず最初にx1, x2に初期値を適当に与えて、x1', x2'を算出します。算出したx1', x2'と誤差が小さくなるx1, x2を求めるために、matlabの最適化関数を用いたいと考えています。
私の現在のプログラムでは、初期値x1とx1’の誤差は大きく出ますが、初期値x2とx2'の誤差が小さく出るように計算されています。
しかし実際には、与えた初期値x2も最適解とは異なるので、x2も変動させて最適解を求めたいと考えています。その時、数値勾配や解析勾配を用いて最小化を行うと、x2の変動が小さくなってしまうため、シンプレックス法を用いて最適解を求めたいです。

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

 採用された回答

mizuki
mizuki 2017 年 10 月 17 日

2 投票

File Exchange で提供されている FMINSEARCHBND はいかがでしょうか。

その他の回答 (0 件)

カテゴリ

製品

質問済み:

2017 年 10 月 17 日

回答済み:

2017 年 10 月 17 日

Community Treasure Hunt

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

Start Hunting!