我可能会问一个简单的问题,但是我在网上找了它,发现没有什么能解释得好(我不是一个伟大的蟒蛇......)
只是我想用约束来最小化一个函数,所以我使用了scipy.optimize中的最小化函数。但我想最小化变量x(唯一的变量),但我也想要其他参数(如果需要我可以轻松改变)。
例如,这里是我想要最小化的基本功能:
import scipy.optimize as so
def goal(x, a) : #The variable is x, a is just a parameter
return 2 * (x - 6) ** 2 + a
cons =({'type':'ineq','fun':lambda x:x})
x0 = 10
res = so.minimize(goal, x0, method = 'SLSQP', constraints = cons)
RES
当然,如果我提出类似的内容:
goal = lambda x: 2 * (x - 6) ** 2 + 3 #so a=3
我得到了一些东西,但我必须“手动”更改a ...
我认为这是* a或者其他什么? (我不是那么好:()
谢谢,如果有人可以给我一些该示例的代码;)