BB方法进行求解f(x,y) = x^2+y^2的最小值的python代码
时间: 2024-03-14 22:47:58 浏览: 96
简单介绍Python中用于求最小值的min()方法
以下是使用BB方法求解函数f(x,y) = x^2+y^2的最小值的Python代码:
```python
import math
def BB_method(f, x0, y0, eps):
x = x0
y = y0
delta = 1
while delta > eps:
f1 = f(x + delta, y)
f2 = f(x - delta, y)
f3 = f(x, y + delta)
f4 = f(x, y - delta)
fmin = min(f1, f2, f3, f4)
if fmin == f1:
x = x + delta
elif fmin == f2:
x = x - delta
elif fmin == f3:
y = y + delta
else:
y = y - delta
delta = delta / 2
return x, y, f(x, y)
def f(x, y):
return x**2 + y**2
x0 = 1
y0 = 1
eps = 0.0001
x_min, y_min, f_min = BB_method(f, x0, y0, eps)
print("x_min = ", x_min)
print("y_min = ", y_min)
print("f_min = ", f_min)
```
其中,BB_method是BB方法的实现函数,f是要求解的函数,x0和y0是初始点,eps是收敛精度。最后输出的结果是x_min,y_min和f_min,分别表示函数的最小值和最小值对应的x和y坐标。
阅读全文