在 Python 中进行 52 周的最佳行组合

问题描述

考虑一下我正在尝试解决的这个问题。不确定是否有更简单的解决方案:

我有 1024 行数据,包含 5 个产品价格组合和相应的总收入(6 列)。我想要做的是使用这 1024 个组合来制定一个 52 周计划,其中考虑到以下限制:

  • 每个产品价格在 52 周内都有特定的周数。例如,以下示例代码中的 22 总共只有 30 周 52。
  • 在选择行时,应确保收入(以下示例代码中的值)最大化。
  • 在 52 周计划中,同一行可以出现多次

我有以下可重现的代码获取初始数据,但我不确定从哪里开始。如果这个问题含糊不清,我深表歉意。

# Total List of Rows
import itertools
import pandas as pd
p1=[22,19,16,10]
p2=[13.5,11.5,9.5,7.5]
p3=[30,25,20.5,14]
p4=[12,10.5,8.5,5]
p5=[8,7,6,5]
a=[p1,p2,p3,p4,p5]
data=list(itertools.product(*a))
df=pd.DataFrame(data)
value=list(range(1000,2024))
df['Value']=value

#Constraints
constraint={22:30,19:4,16:4,10:14,13.5:30,11.5:4,9.5:4,7.5:14,30:30,25:4,20.5:4,14:14,12:30,10.5:4,8.5:4,5:14,8:30,7:4,6:4,5:14}

最终输出将有总共 52 行和 6 列。

任何帮助都很棒。谢谢堆

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)