基于SciPy库的非线性优化实例

import scipy.optimize as sp
import numpy as np

#设置自变量的约束
bounds = [[-10.0, 5], [-3.0, 4.0]]
#设置初值
x_0 = [1.0, 1.0]


#定义目标函数
def objective_function(x):
    return x[0] ** 2 + 4 * x[0] * x[1]

#定义目标函数的导数,如果是矩阵的话,就是对应的雅克比矩阵
def objective_jacobian(x):
    return np.array([2 * x[0] + 4 * x[1], 4 * x[0]])

#求解
result = sp.minimize(objective_function, x_0, method='L-BFGS-B', jac=objective_jacobian, bounds=bounds,
                     options={'disp': True})

print(result.x)
©️2020 CSDN 皮肤主题: 护眼 设计师: 闪电赇 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值