Optimization 从scipy.optimize最小化中存在约束的问题

Optimization 从scipy.optimize最小化中存在约束的问题,optimization,scipy,Optimization,Scipy,我对此进行了一些搜索,但无法解决此问题。我正在使用scipy.optimize中的最小化函数,并不断得到错误: “str”对象不可调用 我的代码很复杂,所以我在网上查找了一个简单的示例,以确保我输入的所有内容都正确,但仍然得到了相同的错误。以下是我在youtube上找到的一个简单示例: 这是直接来自youtube上的一个示例的代码,该示例似乎在其他人的机器上正常工作,但在我的机器上却没有。我这里出了什么问题 [编辑:如果我删除了约束,那么它工作正常。我输入约束函数的方式有什么问题?] 非常感谢

我对此进行了一些搜索,但无法解决此问题。我正在使用scipy.optimize中的最小化函数,并不断得到错误:

“str”对象不可调用

我的代码很复杂,所以我在网上查找了一个简单的示例,以确保我输入的所有内容都正确,但仍然得到了相同的错误。以下是我在youtube上找到的一个简单示例:

这是直接来自youtube上的一个示例的代码,该示例似乎在其他人的机器上正常工作,但在我的机器上却没有。我这里出了什么问题

[编辑:如果我删除了约束,那么它工作正常。我输入约束函数的方式有什么问题?]


非常感谢您抽出时间。

错误在于您的限制。传递的是字符串,而不是约束的函数。只需将其更改为:

con1 = {'type':'ineq','fun': constraint1 }
con2 = {'type':'eq','fun': constraint2 }
cons=[con1,con2]

哦,天哪。我一直在看这个,我不知道我是怎么错过的。谢谢你的快速回复,我为这个愚蠢的问题感到抱歉@gpsimms:如果解决了您的问题,请接受答案(单击答案旁边的复选框,该复选框将变为绿色)。投票选出有用的答案也是一种很好的做法。
con1 = {'type':'ineq','fun': constraint1 }
con2 = {'type':'eq','fun': constraint2 }
cons=[con1,con2]