2017-02-08 13 views
0

x'S.xを最小化するポートフォリオ最適化問題を解決するためのMINLPオプティマイザを探しています。ここで、xはベクトルSを与えられた行列です。 x要素がexに依存する整数制約があります。ここで、g [i]は整数であり、K [i]は与えられたベクトルであるから、目的を最小にしながらg [i] sを見つける必要がある。ampl vs gams MINLPポートフォリオ最適化構文

AMPLまたはgamsを使用することを検討しています。メインプログラムはPythonで書かれています。私はこれらが最高のMINLPであるかどうかは分かりませんが、とにかく両方のウェブサイトにいくつかの例があるようです。最小化目的のための行列乗算に関して、AMPLでこれを書く簡単な方法があるかどうかは不明ですが、代数的展開として書く必要がありますか? x'.S.xの操作例をAMPL言語で記述できますか?

gamsの点では、このパッケージはいくつかの変数を限定的にしか使用できないことがわかります。したがって、私は、AMPLを検討していたが、私は行列ベクトル乗算

答えて

0

AMPLの構文は非常に簡単であるためAMPL表記を把握することはできません場合は、多分小さい問題のためにGAMSは解決策を次のようになります。

sum{i in I, j in I} x[i]*S[i,j]*x[j] 

なお、多くのポートフォリオモデル本格的なMINLPソルバーは必要ありませんが、CplexやGurobiなどのシステムに存在する二次関数(およびSOCP)で解くことができます。あなたの質問は(少なくとも私のために)解析するのはやや難しいですが、私はあなたのモデルがこのカテゴリに入ると信じています。

関連する問題