该函数将4输入作为x,y,w,z,我希望优化约束函数为x + y + w + z = 1且所有4应小于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