求解器 "minimum number of cells"

Solver "minimum number of cells"

我在 excel 中使用 Solver 求解最优投资组合权重,但有一个约束条件我不知道如何定义。

优化问题是我有 12 只股票,我希望找到一个最优解,其中一个约束是投资组合中使用了六只或更多股票。

有谁知道我该怎么做?

(权重总和为 1,如果有差异的话。)

是否可以在求解器中进行 IF 语句?

我不确定的最后一个限制是如何说明投资组合中只考虑 5% 或更多的权重。

我了解到您有 12 个决策变量 w_1, w_2 ,..., w_12,其中 w_i 是股票 i 在投资组合中的权重。引入 12 个新的决策变量,b_1, b_2, ..., b_12,它们被限制为二进制(0 或 1)——在求解器中很容易执行。添加一个新约束,使这些总和 >= 6。您需要确保

b_i = 1 <=> w_i > 0

w_i > 0 => w_i >= 0.05

添加以下 24 个约束条件(每只股票 2 个):

0.05 * b_i <= w_i <= b_i

约束 0.05 * b_i <= w_ib_i = 1 时强制 w_i >= 0.05。约束 w_i <= b_i 强制 b_i = 1 if w_i > 0

在电子表格中,如果您的决策变量在一列中,您可以引入一个标记为例如的新列。 Used? 在您的决策变量旁边,用于保存新的决策变量,也许还有另一列用于保存产品 0.05 *b_i

最后一点 -- 最好将最小权重 0.05 放在某个单元格中,而不是硬连线以便可以对其进行修改。