繁体   English   中英

python 中的产品组合优化

[英]Product portfolio optimization in python

我有一份 100 种产品和它们产生的收入的清单。 我想找到使收入总和最大化的 10 种产品的组合。 我可以通过创建 10 种产品和 select 的所有可能组合来实现这一点,该组合可以提供最大的收入总和。 但是,我认为这不是解决这个问题的最佳方法,因为这只是我要解决的主要问题的一个小规模示例,而且还有更多产品。 是否有任何数学 model 可用于实现这一目标?

注意:这个问题不同于资产组合优化,我们着眼于有效边界并根据风险和回报选择最优组合。

一种通过所有可能性优化运行的方法是简单地找到具有最大收入的产品并将它们组合起来:

import numpy as np

procuct_names = ["a", "b", "c", "d"]
product_revenues = [1, 4, 2, 5]
best = []

for i in range(2):
    top_index = product_revenues.index(np.amax(product_revenues))
    best.append([procuct_names[top_index], product_revenues[top_index]])
    del procuct_names[top_index]
    del product_revenues[top_index]

print(best)
[['d', 5], ['b', 4]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM