求解器 "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_i
在 b_i = 1
时强制 w_i >= 0.05
。约束 w_i <= b_i
强制 b_i = 1
if w_i > 0
在电子表格中,如果您的决策变量在一列中,您可以引入一个标记为例如的新列。 Used?
在您的决策变量旁边,用于保存新的决策变量,也许还有另一列用于保存产品 0.05 *b_i
。
最后一点 -- 最好将最小权重 0.05
放在某个单元格中,而不是硬连线以便可以对其进行修改。
我在 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_i
在 b_i = 1
时强制 w_i >= 0.05
。约束 w_i <= b_i
强制 b_i = 1
if w_i > 0
在电子表格中,如果您的决策变量在一列中,您可以引入一个标记为例如的新列。 Used?
在您的决策变量旁边,用于保存新的决策变量,也许还有另一列用于保存产品 0.05 *b_i
。
最后一点 -- 最好将最小权重 0.05
放在某个单元格中,而不是硬连线以便可以对其进行修改。