无约束优化方法
1. 简介
无约束问题是指只有优化目标,而不存在约束条件的问题,用数学模型可表示为
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210511211255148.jpg#pic_center)
2. 无约束优化方法
无约束优化方法是通常是由给定的初始点出发,按一定的规则不断向最优解趋近,根据不同的趋近思想/规则,有如下的方法。下面介绍其中常见的三种方法。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210511210600776.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RhbmdzaGlzaGU=,size_16,color_FFFFFF,t_70#pic_center)
2.1 牛顿法
2.1.1 理论推导
牛顿法基本思想是用 f(x) 在已知点 x0 处的二阶 Taylor 展开式来近似代替f(x) ,即 用 g(x) 的极小值点 x1 作为 f(x) 的近似极小值点,即对g(x)两边求导,代入 x1 后化简: 以此类推,得到迭代规则: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210511222426543.jpg#pic_center)
2.1.2 求函数极值
import sympy as sy
def cal_dffi(f,x0,d):
x = sy.symbols("x")
f1 = sy.diff(f,x,d)
y = f1.evalf(subs={x:x0})
return y
def Newton(x0, f, detal):
while True:
x1 = x0 - cal_dffi(f,x0,d=1)/cal_dffi(f,x0,d=2)
print(x1)
if abs(x1-x0) |