Excel で実行しましたが、R で適切なシミュレーションを実行する必要があります。
F(x)
関数(x
はベクトル) を最小化する必要がありますがsum(x)=1
、すべての値が でx
あり[0,1]
、別の関数であるという制約がありますG(x) > G_0
。
optim
とで試してみましたconstrOptim
。それらのどれもあなたにこのオプションを与えません。
Excel で実行しましたが、R で適切なシミュレーションを実行する必要があります。
F(x)
関数(x
はベクトル) を最小化する必要がありますがsum(x)=1
、すべての値が でx
あり[0,1]
、別の関数であるという制約がありますG(x) > G_0
。
optim
とで試してみましたconstrOptim
。それらのどれもあなたにこのオプションを与えません。
あなたが言及している問題は、(おそらく)非線形制約を伴う非線形最適化です。これは、最も一般的な最適化問題の 1 つです。
これらの目的のために私が使用したパッケージは次のように呼ばれnloptr
ます:こちらを参照してください。私の経験から、それは用途が広く、高速です。eval_g_eq
とをそれぞれ設定することにより、等式制約と不等式制約の両方を指定できますeval_g_ineq
。ヤコビアンが明示的に知られている (分析的に導出できる) 場合は、それらを指定して収束を高速化します。それ以外の場合は、数値近似が使用されます。
このリストは、最適化問題の一般的なリファレンスとして使用してください。
OpenMx パッケージでこれを行うことができます (現在、以下のサイトでホストされています。今年は cran で 2.0 リリースを目指しています)。
主に構造方程式モデリングに使用される汎用パッケージですが、非線形制約を処理します。
あなたの場合、mxAlgebras() で表現された代数と mxConstraints() の制約で mxModel() を作成します。
モデルを mxRun() すると、可能な場合、代数は制約内で解決されます。