0

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

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

在游戏方面,我看到这个包是免费的,只是为了有限地使用一些变量。因此我正在考虑 AMPL,但如果我无法弄清楚矩阵向量乘法的 AMPL 表示法,那么对于较小的问题,gams 可能是解决方案

4

1 回答 1

0

AMPL 语法非常简单:

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

请注意,许多投资组合模型不需要成熟的 MINLP 求解器,但可以使用 Cplex 和 Gurobi 等系统中存在的二次(和 SOCP)功能来求解。您的问题有些难以解析(至少对我而言),但我相信您的模型属于此类。

于 2017-02-09T16:13:34.277 回答