在python中优化函数

时间:2017-02-13 20:57:21

标签: python function optimization constraints

该函数将4输入作为x,y,w,z,我希望优化约束函数为x + y + w + z = 1且所有4应小于1.我应如何处理此任务?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,以下解决方案应符合您的初始要求:

def checkAllForOne(x,y,w,z):
    args = [x,y,w,z]
    return all(i < 1 for i in args) and sum(args) == 1

print(checkAllForOne(0.2, 0.25, 0.25, 0.3))  # True
print(checkAllForOne(0.0, 0.25, 0.25, 0.3))  # False
print(checkAllForOne(0.5, 0.4, 0.1, 0))      # True

使用过的功能:
all() - 检查每个参数是否小于1
sum() - 检查参数的总和