最优化
关于最优化问题的相关资料,算法及代码
篱落~~成殇~~
敲最好的代码,写最美的人生
展开
-
最小化——最速下降法matlab实现
最小化——最速下降法matlab实现1、matlab代码function [min_x,min_f,k]=down(f,x0,var,eps)%%%输入目标函数f,初始点x0,以及自变量var和精度eps%%%利用Newton迭代法计算无约束目标函数极小值;%%%输出最小值点min_x,最小值min_f以及迭代次数k。syms a;ff=sym(f);j=jacobian(f,var); %计算函数的雅可比矩阵,falg=1;原创 2020-12-08 21:32:42 · 20103 阅读 · 10 评论 -
正定二次函数的共轭梯度法matlab实现
正定二次函数的共轭梯度法matlab实现1、算法过程2、matlab实现function [X,min_f]=minGRAD(fx,var,x0)%%%输入目标函数(正定二次函数)fx,变量var,初始点x0;%%%采用共轭梯度法计算目标函数的极小值;%%%输出极小值点X,极小值min_f.j=jacobian(fx,var); G=double(jacobian(j,var));g0=(double(subs(j,var,x0)))';d=-g0;x0=x0';k=0;eps=原创 2020-11-28 21:26:40 · 2410 阅读 · 1 评论 -
一维搜索——进退法matlab实现(含代码)
一维线性搜索——进退法matlab实现(含代码)在采用线性搜索算法可分为两个阶段:第一个阶段确定包含最优解的初始搜索区间;第二个阶段采用某种算法对初始搜索区间进行缩小,直到达到精度为止。而进退法就给出了一种确定初始搜索区间的算法。下面是对进退法的具体描述和matlab实现。1、算法思想2、matlab实现function [section]=JT(fx,x0,h0,t)%%%输入目标函数fx,初始点x0,初始步长h0和加倍系数t;%%%采用进退法确定搜索区间[a,b];%%%输出搜索区间。原创 2020-11-25 21:20:03 · 7834 阅读 · 2 评论 -
Newton迭代法求无约束目标函数极小值matlab实现
Newton迭代法求无约束目标函数极小值matlab实现1、算法思想2、matlab代码实现function [min_x,min_f,k]=newton_min(f,x0,var)%%%输入目标函数f,初始点x0,以及自变量var和精度eps;%%%利用Newton迭代法计算无约束目标函数极小值;%%%输出最小值点min_x,最小值min_f以及迭代次数k。j=jacobian(f,var); %计算函数的雅可比矩阵,!!!知识点:梯度恰好是雅可比矩阵的转置;J=jacobia原创 2020-11-15 21:11:18 · 5330 阅读 · 5 评论 -
关于n维欧式空间上梯度,Hesse矩阵的定义及两个重要结论
关于n维欧式空间上梯度,Hesse矩阵的定义及两个重要结论下面给出证明过程:原创 2020-09-01 01:02:25 · 1608 阅读 · 1 评论 -
模拟退火算法之旅行商(TSP)问题matlab实现
模拟退火算法之旅行商(TSP)问题matlab实现关于模拟退火算法的理论部分,小编就不多做赘述,请看下图(如有问题请百度):话不多说,请看例题:一位旅行者从出发点(200,200)出发,要求经过30个目标点,并且每个点只能经过一次,最终经过所有点后回到起点。 要求:为旅行者制定一条最短路径。下面是利用模拟退火算法求TSP问题的代码:由于小编比较懒,不想挨个敲坐标,就利用matlab中rand()函数自动生成30个点的坐标。如果你有坐标,换成自己的坐标就行了。生成坐标代码如下:x=rand原创 2020-06-20 18:19:14 · 3493 阅读 · 3 评论 -
蚁群算法求TSP问题matlab代码
蚁群算法求TSP问题matlab代码%%% 蚁群算法求解TSP问题clc;clear all;%%%各目标点的位置坐标, %%%一时找不到数据,就自动生成了五十个坐标点(xi,yi),i=1,2...,50;x=randi([0,200],50,1);y=randi([0,200],50,1); city=[x,y];city0=[0,0]; %%%出发点选取(0,0);citys=[city0;city]; %%%将出发点加在50个点的开原创 2020-06-23 22:18:15 · 530 阅读 · 0 评论