Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 购买一对不超过一定年龄且成本最低的设备_Python - Fatal编程技术网

Python 购买一对不超过一定年龄且成本最低的设备

Python 购买一对不超过一定年龄且成本最低的设备,python,Python,我正试图解决一个供应链问题。我的数据是关于设备的,有两个字段:成本和年限 我必须找出2台设备,它们可以存放在某个位置,但它们的使用年限总和不应超过5年,而且它们的成本也应最低 以下是我拥有的数据示例: 设备=[(10000,1)、(15000,2)、(7000,20)、(12000,15)、(5000,3)、(4000,4)] 谢谢你的帮助 如果我理解正确,您希望找到一对年龄总和不大于5岁且成本总和尽可能小的产品 def find_pair(equipment,pair_can_consist_

我正试图解决一个供应链问题。我的数据是关于设备的,有两个字段:成本和年限

我必须找出2台设备,它们可以存放在某个位置,但它们的使用年限总和不应超过5年,而且它们的成本也应最低

以下是我拥有的数据示例:

设备=[(10000,1)、(15000,2)、(7000,20)、(12000,15)、(5000,3)、(4000,4)]


谢谢你的帮助

如果我理解正确,您希望找到一对年龄总和不大于5岁且成本总和尽可能小的产品

def find_pair(equipment,pair_can_consist_of_equal_things=False):
    min_cost=float("inf")
    min_pair=None
    for i1 in range(len(equipment)):
        for i2 in range(i1+pair_can_consist_of_equal_things):
            if equipment[i1][1]+equipment[i2][1]<=5 and equipment[i1][0]+equipment[i2][0]<min_cost:
                min_cost=equipment[i1][0]+equipment[i2][0]
                min_pair=(i1,i2)
    return equipment[min_pair[0]],equipment[min_pair[1]]
Equipment=[(10,1),(15,2),(7,20),(12,15),(5,3),(4,4)]
print(find_pair(Equipment))
def find_pair(设备,pair可以由相等的东西组成=False):
最低成本=浮动(“inf”)
最小对=无
对于范围内的i1(透镜(设备)):
对于范围内的i2(i1+对可以由相等的东西组成):

如果设备[i1](1)+设备[i2](1)看起来像经典背包问题-而不是重量,你需要考虑这里的年龄,而不是最大化成本,使成本最小化。我是否正确地了解到,你想找到2个设备,谁的成本总和最小,谁的年限总和小于或等于5?返回的2个元素是否相同?