结果不一样

来源:4-4 scipy优化器

慕设计1538302

2019-06-17 20:06

def func(x):
    return (2*x[0]*x[1]+2*x[0]-x[0]**2-2*x[1]**2)
def func_deriv(x):
    dfdx0=(-2*x[0]+2*x[1]+2)
    dfdx1=(2*x[0]-4*x[1])
    return np.array([dfdx0,dfdx1])
cons=({"type":"eq",
       "fun":lambda x:np.array([x[0]**3-x[1]]),
       "jac":lambda x:np.array([3.0*(x[0]**2.0),-1.0])},
      {'type':'ineq',
       'fun':lambda x:np.array([x[1]-1]),
       'jac':lambda x:np.array([0.0,1.0])})
res=minimize(func,[-1.0,1.0],jac=func_deriv,constraints=cons,method='SLSQP',options={'disp':True})
print("RESTRICT",res)


写回答 关注

1回答

  • 慕设计3172499
    2019-07-25 16:24:49
    def func(x):
        return -(2*x[0]*x[1]+2*x[0]-x[0]**2-2*x[1]**2)
    def  func_deriv(x):
        dfdx0 = -(-2*x[0] + 2*x[1] + 2)
        dfdx1 = -(2*x[0] - 4*x[1])
        return np.array([dfdx0,dfdx1])
    cons = ({"type":"eq","fun":lambda x:np.array([x[0]**3.0-x[1]]),
            "jac":lambda x:np.array([3.0*(x[0]**2.0),-1.0])},
            {"type":"ineq","fun":lambda x:np.array([x[1]-1]),
            "jac":lambda x:np.array([0.0,1.0])})
    res=minimize(func,[-1.0,1.0],jac = func_deriv,constraints=cons,
        method='SLSQP',options = {'disp':True})
    print("RESTRICT:",res)


    weixin... 回复慕设计317...

    请问这几个负号加上和不加上的区别在哪里呀

    2021-04-25 23:44:17

    共 2 条回复 >

Python数据分析-基础技术篇

使用Python进行数据分析的基础模块简介

93614 学习 · 277 问题

查看课程

相似问题