
最优化
文章平均质量分 56
最优化方法及其Matlab程序设计
斑马L*
数据分析师 python MySQL excel BI
展开
-
线性规划、二次规划、无约束非线性优化和约束非线性规划的Matlab调用格式
线性规划求解下列线性规划1代码结果x = (0.3333,1.5000)T,fval= -4.00872代码结果x=( 2.6667,0,0)T,fval= -13.3333二次规划求解下列二次规划代码结果x=( 0.6667, 1.3333)T,fval= -9.1631无约束非线性优化求解下列无约束非线性规划问题代码结果fminunc函数结果:x= 1.0e-23 * (0.0827, 0.3309)T,fval= 1.8545e-4原创 2021-06-21 09:21:56 · 814 阅读 · 0 评论 -
最优化理论——可行方向·梯度投影法
最优化理论——可行方向·梯度投影法算法思想算法步骤示例算法思想算法步骤示例原创 2021-06-21 09:03:23 · 12223 阅读 · 7 评论 -
最优化理论——可行方向法
最优化理论——可行方向法算法思想算法步骤线性约束非线性约束示例算法思想转化为子问题:算法步骤线性约束非线性约束示例原创 2021-06-21 08:55:51 · 7760 阅读 · 3 评论 -
最优化理论——罚函数法·乘子法
最优化理论——罚函数法·乘子法算法思想外点法内点法乘子法等式一般情形算法步骤外点法内点法乘子法等式约束乘子法一般约束约束乘子法代码示例算法思想外点法内点法乘子法等式一般情形算法步骤外点法内点法乘子法等式约束乘子法一般约束约束乘子法代码Matlab代码如下:function [x,mu,lambda,output]=multphr(fun,hf,gf,dfun,dhf,dgf,x0)% 功能: 用乘子法解一般约束问题: min f(x), s.t.原创 2021-06-21 00:04:34 · 6313 阅读 · 10 评论 -
最优化理论——信赖域方法
最优化理论——信赖域方法算法思想算法步骤子问题算法步骤代码示例原问题代码示例算法思想算法步骤子问题算法步骤代码function [d,val,lam,k]=trustq(gk,Bk,dta)% 功能: 求解信赖域子问题: min qk(d)=gk'*d+0.5*d'*Bk*d, s.t. ||d||<=delta%输入: gk是xk处的梯度, Bk是第k次近似Hesse阵, dta是当前信赖域半径%输出: d, val分别是子问题的最优点和最优值, lam是乘原创 2021-06-20 23:16:33 · 10021 阅读 · 6 评论 -
最优化理论——拟牛顿算法·BFGS 算法
最优化理论——拟牛顿算法·BFGS 算法算法思想算法步骤代码示例算法思想算法步骤代码Matlab代码如下:function [x,val,k]=bfgs(fun,gfun,x0,varargin)%功能: 用BFGS算法求解无约束问题: min f(x)%输入: x0是初始点, fun, gfun分别是目标函数及其梯度;% varargin是输入的可变参数变量, 简单调用bfgs时可以忽略它,% 但若其它程序循环调用该程序时将发挥重要的作用%输出: x, val分别是近似最优点原创 2021-06-20 22:48:26 · 4362 阅读 · 0 评论 -
最优化理论——拟牛顿算法·对称秩 1 算法
最优化理论——拟牛顿算法·对称秩 1 算法算法思想拟牛顿法对称秩1法算法步骤代码示例算法思想拟牛顿法对称秩1法算法步骤代码Matlab代码如下:function [x,val,k]=sr1(fun,gfun, x0)%功能: 用对称秩1算法求解无约束问题: min f(x)%输入: x0是初始点, fun, gfun分别是目标函数及其梯度%输出: x, val分别是近似最优点和最优值, k是迭代次数.maxk=500; %给出最大迭代次数rho=0.55;sig原创 2021-06-20 22:44:08 · 4121 阅读 · 4 评论 -
最优化理论——共轭梯度法
最优化理论——共轭梯度法算法思想共轭方向法:共轭梯度法:算法步骤共轭方向法:共轭梯度法:代码示例算法思想共轭方向法:共轭梯度法:算法步骤共轭方向法:共轭梯度法:代码Matlab代码如下:function [x,val,k]=frcg(fun,gfun,x0)% 功能: 用FR共轭梯度法求解无约束问题: min f(x)%输入: x0是初始点, fun, gfun分别是目标函数和梯度%输出: x, val分别是近似最优点和最优值, k是迭代次数.maxk=500原创 2021-06-20 22:31:09 · 2634 阅读 · 0 评论 -
最优化理论——修正牛顿法
最优化理论——修正牛顿法算法思想算法步骤代码示例算法思想算法步骤代码Matlab代码如下:function [x,val,k]=revisenm(fun,gfun,Hess,x0)%功能: 用修正牛顿法求解无约束问题: min f(x)%输入: x0是初始点, fun, gfun, Hess 分别是求% 目标函数,梯度,Hesse 阵的函数%输出: x, val分别是近似最优点和最优值, k是迭代次数.n=length(x0); maxk=150;rho=0原创 2021-06-20 22:16:56 · 5531 阅读 · 2 评论 -
最优化理论——最速下降法
最优化理论——最速下降法算法思想算法步骤代码示例算法思想用不同的方式确定搜索方向或搜索步长, 就会得到不同的算法. 最速下降法是用负梯度方向作为搜索方向的 (因此也称为梯度法).算法步骤代码Matlab代码如下:function [x,val,k]=grad(fun,gfun,x0)% 功能: 用最速下降法求解无约束问题: min f(x)%输入: x0是初始点, fun, gfun分别是目标函数和梯度%输出: x, val分别是近似最优点和最优值, k是迭代次数.maxk=5原创 2021-06-20 22:10:35 · 3656 阅读 · 1 评论 -
最优化理论——阻尼牛顿法
最优化理论——阻尼牛顿法算法思想算法步骤代码示例算法思想由于实际问题的精确极小点一般是不知道的, 因此初始点的选取给算法的实际操作带来了很大的困难. 为了克服这一困难, 可引入线搜索技术以得到大范围收敛的算法, 即所谓的阻尼牛顿法.算法步骤基于 Armijo 搜索的阻尼牛顿法如下:代码Matlab代码如下:function [x,val,k]=dampnm(fun,gfun, Hess,x0)%功能: 用阻尼牛顿法求解无约束问题: min f(x)%输入: x0是初始点, fun, g原创 2021-06-20 22:01:06 · 7313 阅读 · 4 评论 -
最优化理论——线搜索技术·Armijo准则
最优化理论——线搜索技术·Armijo准则算法思想算法步骤代码示例算法思想算法步骤代码Matlab代码如下:function mk=armijo(xk,dk )beta=0.5; sigma=0.2;m=0; mmax=20;while (m<=mmax) if(fun(xk+beta^m*dk)<=fun(xk)+sigma*beta^m*gfun(xk)'*dk) mk=m; break; end m=m+1;endalp原创 2021-06-20 21:51:20 · 19931 阅读 · 15 评论 -
最优化理论——线搜索技术·抛物线法
最优化理论——线搜索技术·抛物线法算法思想算法步骤代码示例算法思想在搜索区间中不断地使用二次多项式去近似目标函数, 并逐步用插值多项式的极小点去逼近线搜索问题的极小点。算法步骤代码Matlab代码如下:function [s,phis,k,ds,dphi,S]=qmin(phi,a,b,delta,epsilon)%功能: 精确线搜索之抛物线法%输入: phi 是目标函数, a和b是搜索区间的端点% delta,epsilon是容许误差%输出: s是近似极小点, phi原创 2021-06-20 21:35:22 · 2377 阅读 · 0 评论 -
最优化理论——线搜索技术·黄金分割法
最优化方法及其Matlab程序设计——线搜索技术之黄金分割法无约束问题的一般算法线搜索精确线搜索非精确线搜索进退法算法例题:代码黄金分割法0.618的由来(推导)算法步骤代码设xkx_kxk :第K次迭代点dkd_kdk:第k次搜索方向aka_kak:第k次步长因子则第k次迭代完成后可得到新一轮(第k+1次)的迭代点:xk+1=xk+akdkx_{k+1}=x_k+a_kd_kxk+1=xk+akdk无约束问题的一般算法给定初始化迭代参数及初试迭代点x0x_0x0。置k=0原创 2021-05-04 00:44:10 · 7668 阅读 · 0 评论 -
最优化理论——基本牛顿法
最优化理论——基本牛顿法算法思想算法步骤代码示例算法思想用迭代点xkx_kxk处的一阶导数(梯度)和二阶导数(Hess矩阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一过程,直至求得满足精度的近似极小点。算法步骤代码Matlab代码如下(由阻尼牛顿法修改而来,不保证绝对正确,若有错欢迎指正):function [x,val,k]=nm(fun,gfun,Hess,x0)%功能: 用基本牛顿法求解无约束问题: min f(x)maxk=100; %给原创 2021-06-01 22:12:18 · 1985 阅读 · 0 评论 -
最优化理论——牛顿-最速下降混合算法
数据挖掘——关联分析F算法实验原理示例算法Apriori算法原理:目标:实验步骤代码结果分析实验原理示例算法Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。原理:如果一个项集是频繁项集,则它的所有子集都是频繁项集;如果一个集合不是频繁项集,则它的所有父集(超集)都不是频繁项集。目标:发现频繁项集:发现满足最小支持度的所原创 2021-06-01 21:56:40 · 2711 阅读 · 2 评论