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

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

3 Comments

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

Sign in to comment.

 Accepted Answer

mizuki
mizuki on 17 Oct 2017

2 votes

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

More Answers (0)

Products

Asked:

on 17 Oct 2017

Answered:

on 17 Oct 2017

Community Treasure Hunt

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

Start Hunting!