Python ampl vs gams MINLP投资组合优化语法

Python ampl vs gams MINLP投资组合优化语法,python,mathematical-optimization,ampl,gams-math,Python,Mathematical Optimization,Ampl,Gams Math,我正在寻找一个MINLP优化器来解决投资组合优化问题,该问题最小化x'.S.x,其中x是一个向量,S是一个给定的矩阵。存在x元素依赖于ex的整数约束;x[i]=g[i].K[i],其中g[i]是一个整数,K[i]是一个给定的向量,因此我们需要在最小化目标的同时找到g[i]s 我正在考虑使用或。主程序是用python编写的。我不确定这些是否是最好的MINLP,但无论如何,这两个网站上似乎都有一些例子。关于最小化目标的矩阵乘法,我不清楚是否有一种简单的方法可以用AMPL来写,我需要把它写成代数展开式

我正在寻找一个MINLP优化器来解决投资组合优化问题,该问题最小化x'.S.x,其中x是一个向量,S是一个给定的矩阵。存在x元素依赖于ex的整数约束;x[i]=g[i].K[i],其中g[i]是一个整数,K[i]是一个给定的向量,因此我们需要在最小化目标的同时找到g[i]s

我正在考虑使用或。主程序是用python编写的。我不确定这些是否是最好的MINLP,但无论如何,这两个网站上似乎都有一些例子。关于最小化目标的矩阵乘法,我不清楚是否有一种简单的方法可以用AMPL来写,我需要把它写成代数展开式吗?你能用AMPL语言提供一个x'.S.x操作的例子吗


就gams而言,我认为该软件包仅对一些变量的有限使用是免费的。因此,我考虑了AMPL,但对于较小的问题,如果我无法找出矩阵向量乘法的AMPL表示法,gams可能是解决方案

AMPL语法非常简单:

sum{i in I, j in I} x[i]*S[i,j]*x[j]
注意,许多投资组合模型不需要成熟的MINLP求解器,但可以使用Cplex和Gurobi等系统中存在的二次(和SOCP)功能进行求解。你的问题有点难以解析(至少对我来说),但我相信你的模型属于这一类