用于混合/混合的python

时间:2018-08-20 18:10:58

标签: python combinations itertools mixture

我有10个具有以下特性的汽油储罐: https://i.stack.imgur.com/B4DPv.png

我希望能够为每个P1-P13属性创建具有特定属性范围的5000gal混合物。

例如:

P1:45-50%; P2:50-150g; P3:<1g; P4:<0.2%; P5:<0.2%; P6:<1.5%; P7:2-4%; P8:<0.3%; P9:8-12%; P10:2-4%; P11:<0.8%; P12:<50ppm; P13:30-33%;

我正在尝试开发一种PYTHON代码,该代码将帮助我查看50gal不同质量批次的所有可能组合,以实现所需的混合。

您可以将坦克的数量四舍五入到最接近的10,以简化操作

任何指导都很棒!

到目前为止,我已经使用itertools组合的变量来创建所有可能的混合,然后对其进行过滤。但是,这需要永远。以下是我一直在寻找所有可能的50gal混合物以制成5000gal混合物的方法。

from itertools import combinations
def unique_combinations(iterable, r=None):
    previous = tuple()
    for p in combinations(sorted(iterable), r):
        if p > previous:
            previous = p
            yield p
for p in unique_combinations(50gal_setlist, 100):

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试查看是否可以使用每个特征的权重为每个特征赋予“分数”。然后使用功能round

显示推荐的油液