python解不等式方程_python,scipy.optimize.minimize.最小化等式不等式约束优化是一种非常有效的优化方法,pythonscipyoptimizeminimize,进行,...

code

import numpy as np

from scipy.optimize import minimize

# optimize 1

# f(x) = 2xy + 2x - x^2 - 2y^2; x^3 - y = 0; y - 1 >=0

def func(x, sign=1.0):

return sign * (2*x[0]*x[1] + 2*x[0] -x[0]**2 -2*x[1]**2)

def func_deriv (x, sign=1.0):

dfdx0 = sign * (-2*x[0] + 2*x[1] + 2)

dfdx1 = sign * (-4*x[1] + 2*x[0])

return np.array([dfdx0, dfdx1])

cons = (

{ 'type':'eq',

'fun': lambda x: np.array([x[0] ** 3 - x[1]]),

'jac': lambda x: np.array([3*x[0]**2, -1])

},

{'type':'ineq',

'fun': lambda x: np.array([x[1] - 1]),

'jac': lambda x: np.array([0, 1])}

)

res = minimize( func, [-1.0, 1.0], args=(-1.0,), jac = func_deriv,

method='SLSQP',

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值