If you refer to https://docs.scipy.org/doc/scipy-0.18.1/reference/tutorial/optimize.html and scrool down to Constrained minimization of multivariate scalar functions (minimize), you can find that
This algorithm allows to deal with constrained minimization problems
of the form:
where the inequalities are of the form C_j(x) >= 0
.
So when you define the constraint as
def constraint1(x):
return x[0]+x[1]+x[2]+x[3]-1
and specify the type of the constraint as
con1 = {'type': 'ineq', 'fun': constraint1}
it automatically assumes that the constraint is in the standard form x[0]+x[1]+x[2]+x[3]-1>=0
i.e., x[0]+x[1]+x[2]+x[3]>=1
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…