Python:学习使用scipy优化工具

本文介绍了如何通过Python的scipy库中的Nelder-Mead单纯形法实现Rosenbrock函数的最小化优化,从随机初始化点开始,逐步逼近全局最小值。这个过程展示了数值优化的基本步骤和算法原理。
摘要由CSDN通过智能技术生成

单纯形法:

import numpy as np
from scipy.optimize import minimize

def rosen(x):
    return sum(100.0 * (x[1:] - x[:-1] ** 2.0) ** 2.0 + (1 - x[:-1]) ** 2.0)

def callback(xk):
    print(xk)

# 初始迭代点
# x0 = np.random.randn(10)*2
x0 = np.ones(10)
print("x0::",x0)

# 最小化优化器,方法:Nelder-Mead (单纯形法)
resolve = minimize(rosen, x0=x0, method='nelder-mead',options={'xtol':1e-2,'disp':True})
print(resolve.x)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeniuHe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值