42、优化算法及线性规划问题的MATLAB实现

优化算法及线性规划问题的MATLAB实现

1. 拟牛顿法求解Wood函数最小值

1.1 Wood函数及问题描述

Wood函数表达式如下:
[
f(x) = 100(x_2 - x_1^2)^2 + (1 - x_1)^2 + 90(x_4 - x_3^2)^2 + (1 - x_3)^2 + 10.1((x_2 - 1)^2 + (x_4 - 1)^2) + 19.8(x_2 - 1)(x_4 - 1)
]
我们使用Davidon–Fletcher–Powell (DFP)方法来寻找该函数的最小值。初始点设定为([-3, -1, -3, -1]),初始步长(\alpha_0 = 2),停止准则设为(1\times10^{-6}),最大函数评估次数为1000。

1.2 函数梯度计算

函数的梯度为:
[
\nabla f(x) =
\begin{bmatrix}
400x_1(x_1^2 - x_2) + 2(x_1 - 1) \
200(x_2 - x_1^2) + 20.2(x_2 - 1) + 19.8(x_4 - 1) \
360x_3(x_3^2 - x_4) + 2(x_3 - 1) \
180(x_4 - x_3^2) + 20.2(x_4 - 1) + 19.8(x_2 - 1)
\end{bmatrix}
]

1.3 MATLAB代码实现

fun = @(x) 100*(x(2)-x(1)^2)^2+(1-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值