- 博客(40)
- 收藏
- 关注
原创 文献阅读(1)—— Learning Feature Embedding Refiner for Solving Vehicle Routing Problems
在本文中,我们提出了具有新颖和通用的编码器-精炼器-解码器结构的特征嵌入精炼器(FER),以提高现有的编码器-解码器结构的深度模型。编码器和解码器可以来自任何预先训练好的神经构造方法,这与模型无关。关于引入的精炼器网络,我们通过将标准的GRU单元与两个新层相结合来设计其架构,即累积图注意(AGA)层an accumulated graph attention和门控非线性(GNL)层 a gated nonlinear (GNL) layer。
2024-08-22 21:25:38
813
原创 文献阅读(1)——深度强化学习求解车辆路径问题的研究综述
neural network,GNN)技术的兴起,Scarselli等人利用GNN对每个节点特征进行学习,从而进行节点预测,主要求解思路是利用 GNN 对节点特征进行学习,由编码器对问题的输入序列进行编码,再利用解码器结合注意力计算方法,以自回归的方式逐步构造解,根据学习到的特征进行后续的节点预测。VRP变体都是在经典的TSP上衍生的,具有相似的优化结构,传统算法在问题描述发生轻微变化时,就要重新设计算法,面对 VRP众多变体,设计很多算法将消耗大量人力,因此,单独地使用传统算法是不可行的。
2024-07-10 17:10:28
1353
原创 【PYTORCH,TENSORFLOW环境配置,安装,自用代码】
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121(本人用的)安装真的好麻烦,好麻烦!谁懂,并不是为了省淘宝安装费,而是配置环境是最基础的!conda install cudnn=8.0.5.39 -c conda-forge(本人用的,还可以用更新的)(按照顺序无脑打得了,已经写的足够详细了,腰疼,配置了好几天,因为一些很愚蠢的问题,所以这些是精华)
2024-07-01 23:01:40
637
原创 有容量限制的车辆路径规划问题(Capacitated Vehicle Routing Problem)
在看matlab的时候发现了这篇文章仔细阅读一下。(英语渣渣,自学用)旨在以尽可能高效的方式为一定数量的客户提供服务。问题在于可能解决方案的组合爆炸,随着客户数量呈超指数级增长。经典解决方案能够提供全局最优解的良好近似。D-Wave的量子退火器是一台旨在解决优化问题的机器。与经典计算机相比,这台机器利用量子效应加快计算速度。在量子退火器上解决CVRP问题的问题在于优化问题的特定表述。
2024-05-21 21:12:21
1364
原创 【MATLAB】fminsearchbnd()函数安装包下载
链接:https://pan.baidu.com/s/1apc6_f92rDnV_NwHpZZpDQ?若链接失效,可以自行注册下载,操作也很简单,得到安装包之后,添加路径即可运行。
2024-05-16 15:03:48
645
原创 用阻尼牛顿法求解无约束问题: minf(x),armijo
输入:x0是初始点,fun,gfun,Hess 分别是求目标函数值,梯度,Hesse矩阵的函数。%解方程组Gk*dk=-gk,计算搜索方向。%输出: x,val分别是近似最优点和最优值,k是选代次数。while (m<20) %用Armij0搜索求步长。%功能:用阻尼牛顿法求解无约束问题: minf(x)
2024-05-13 16:20:35
620
原创 修正牛顿法求解无约束问题
输入:x0是初始点,fun, gfun,Hess分别是求目标函数值,梯度,Hesse矩阵的函数。end %检验终止准则。dk=-Ak\gk;%解方程组Gk*dk=-gk,计算搜索方向。%计算Hesse矩阵。while (m<20) %用Armij0搜索求步长。%输出:x,val分别是近似最优点和最优值,k是迭代次数。%功能:用修正牛顿法求解无约束问题:min f(x)
2024-05-13 16:17:54
437
原创 【matlab基础知识代码】(十八)无约束最优化问题
message: '优化已终止:↵ 当前的 x 满足使用 1.000000e-04 的 OPTIONS.TolX 的终止条件,↵F(X) 满足使用 1.000000e-04 的 OPTIONS.TolFun 的收敛条件↵'绘制三维等高线 ,获得并叠印中间结果。最优化求解函数的另一种调用方法。建立最优化问题的“结构体”模型。
2024-05-11 17:32:52
578
原创 【matlab基础知识代码】(十七)一般非线性方程的数值解方法
精度高得多得多,因为把这个解代回到原始的方程里去,误差是一个非常接近零的数。我们可以修改控制变量,最后能得到双精度意义下的最好的结果。
2024-05-10 17:23:50
330
原创 【matlab基础知识代码】(十六)代数方程的图解法&多项式型方程的准解析解方法
1. `subs(F,{x,y,z},{x0,y0,z0})`: 这一部分使用 `subs` 函数,将方程组 `F` 中的符号变量 `x`、`y` 和 `z` 替换为它们的解 `x0`、`y0` 和 `z0`,生成了一个数值的向量。3. `[x0,y0,z0]=vpasolve(F,[x,y,z]), size(x0)`: 这一行利用 `vpasolve` 函数求解方程组 `F`,并将解保存在变量 `x0`、`y0` 和 `z0` 中。方程组的目标是找到满足这三个方程的 `x`、`y` 和 `z` 的值。
2024-05-10 15:58:28
1028
原创 【matlab基础知识代码】(十五)线性方程求解(三种情况)
它将Z中的零空间向量与符号变量`[a1;所以,x是矩阵A的零空间向量和方程Ax=B的特解的线性组合。`x0=sym(pinv(A)*B)`:这行代码计算矩阵A的伪逆,将其乘以矩阵B,将结果转换为符号表示,并将其赋值给x0。本质上,它解决了方程Ax=B,找到了x的解。`Z=null(sym(A))`:这行代码计算矩阵A的零空间,将其转换为符号表示,并将其赋值给Z。在这里,`a1`、`a2`、`a3` 和 `a4` 被声明为符号变量。`pinv()` 是计算矩阵的伪逆。`pinv(A)` 会计算矩阵A的伪逆。
2024-05-10 13:51:30
539
原创 【matlab基础知识代码】(十四)矩阵的相似变换与三角分解&矩阵的Jordan 变换与奇异值分解
(之前学习牛顿法有涉及到Cholesky的相关证明)Cholesky分解是一种将一个对称正定矩阵分解为一个下三角矩阵和其转置的乘积的方法。简单来讲,就是将一个矩阵分解为一个下三角矩阵和其转置矩阵相乘的结果。Cholesky分解的主要步骤如下:1. 对于一个对称正定矩阵A,可以表示为A = LL^T,其中L是一个下三角矩阵。2. 如果A的第i行第j列元素为a(i,j),那么L的第i行第j列元素为l(i,j)。
2024-05-09 09:30:00
1597
原创 【matlab基础知识代码】(十二)逆矩阵与广义逆矩阵
矩阵维数较大,警告: 矩阵接近奇异值,或者缩放错误。结果可能不准确。5 11 10 8;9 7 6 12;4 14 15 1];警告: 矩阵接近奇异值,或者缩放错误。结果可能不准确。B =1.0e+15 *ans =伪逆矩阵。
2024-05-08 17:45:00
710
原创 【matlab基础知识代码】(九)傅里叶级数逼近&泰勒级数
原函数,自变量列表,中心点列表,order,k。尝试不同的展开阶次,6,8,10...16。在这个区间拟合效果比较好。
2024-05-06 09:30:00
461
1
原创 【matlab基础知识代码】(六)极限计算&区间极限与多变量极限
检查对函数 'piecewise' 的调用中是否存在不正确的参数数据类型或缺少参数。分段函数:条件(范围),结果。为啥老师可以运行出来。
2024-05-05 08:30:00
600
2
原创 【matlab基础知识】(五)三维曲线绘制
这段代码使用meshgrid函数创建了一个二维的网格,然后根据一定的数学公式计算了一个二维的函数p。最后使用surf函数绘制了这个函数的三维图像。使用surf函数绘制了函数p的三维图像,并通过xlim([-1.5 1.5])设置了x轴的显示范围为-1.5到1.5。用点运算的形式来构造Z矩阵。
2024-05-04 10:00:00
474
原创 【matlab基础知识】(三)二维曲线绘制plot
由于0.01cosx波动太小,所以plotyy绘制多纵轴曲线。左蓝为sinx,右黄为0.01cosx。颜色,线形,曲线上的标志。条件和函数值做一个点乘。
2024-05-03 16:35:24
353
原创 CPLEX+YALMIP安装(matlab调用)
通过百度网盘分享的文件:yalmip+c…链接:https://pan.baidu.com/s/1wwYDu9bHFPmcCg5vD2pSXg?pwd=9d1r提取码:9d1r复制这段内容打开「百度网盘APP 即可获取」具体安装步骤可以参考这篇博客,非常详细在matlab命令窗口中输入“yalmiptest",看一下运行结果,这样应该就成功了。
2024-05-03 15:41:06
1155
原创 【牛顿法不需要手动计算梯度黑森矩阵matlab代码】
之前说的不需要手动计算函数梯度和黑森矩阵的牛顿法,但是有的题目求出来的值可能会存在一些错误,谨慎使用。
2024-04-30 17:19:50
310
1
原创 【matlab基础知识】(二)
这对函数通常用于评估算法的性能或确定代码中的瓶颈。通过在代码的关键部分之间放置。,可以精确地测量这些部分的执行时间,从而进行优化或者了解其性能。是一对用于测量代码执行时间的函数。(耗时短,尽量采用向量型运算)历时 0.014985 秒。历时 0.002803 秒。在 MATLAB 中,
2024-04-30 17:00:02
6166
1
原创 【python导入Matplotlib库,附代码测试,适用于新手小白】
其中,`plt.plot`函数用于绘制曲线图,参数`color`、`linestyle`、`linewidth`等可用于设定曲线的颜色、线型、宽度等细节。1. `import matplotlib.pyplot as plt`: 这行代码导入了Matplotlib库,并使用`plt`作为别名,使得在代码中可以简洁地调用Matplotlib的函数。这将产生一个关于x的立方函数的值。5. `plt.plot(x, y)`: 这行代码使用Matplotlib的`plot`函数绘制了x和y之间的曲线图。
2024-04-29 13:04:10
2245
原创 【蒙特卡洛方法估计π的值】python,附代码
如果在圆内的点的数量足够大,那么这些点占正方形面积的比例将近似于圆和正方形面积的比例,即 π/4。因此,通过统计落在圆内的点的数量,并将其与总点数的比值乘以4,我们就可以得到一个近似的π值。- 如果点在单位圆内,增加 `total` 计数器,并在图上将该点绘制为红色圆圈 (`'ro'`)。这个函数的参数是`num_samples`,它代表了我们生成的随机点的数量。1. 首先导入了必要的库:`random`、`math`、`sys` 和 `matplotlib.pyplot`。这就是这段代码的要点。
2024-04-29 12:42:58
1072
原创 共轭梯度法matlab程序(需要直接复制)
优点就是不需要求Hess矩阵,然后利用精确线搜索方法求步长(感觉优点还是蛮明显的)(内大最优化代码作业)老师说PRP公式最好。
2024-04-27 09:44:31
423
原创 tensorflow(1)———python
让我看看是哪个蠢货,拜托朋友安装了tensorflow(废了好几个小时),结果现在一点也不会的(没错,正是在下)(这是干什么的,其实我也不太清楚,就安装了)(啊我真的服了我自己)(干脆我撞墙得了)(平静发疯中)好像还是安装了最新版本,朋友还给设置了一个虚拟环境,总之相当麻烦(这就是我比较喜欢matlab的原因,而且我记得之前好像还安装到了2.14版本,总之很混乱)然后再某乎复制了代码,跑了一下,感觉好牛的样子。2. 将生成的样本数据进行可视化,以散点图的形式展示在图上,x轴为房屋大小,y轴为房价。
2024-04-27 08:56:00
1385
2
原创 遗传算法(GA)【多元函数优化MATLAB】(二)
图一为目标函数图,圈为每代的最优价。图中可以看出,圈大都集中在一个点,这个点即为最优解。图中标出的最优点和程序计算的有偏差,这是因为图一画出的是函数的离散点,并不是全部。图二所示是种群优化50代的进化图。(这边可以改最大迭代次数)
2024-04-26 14:08:31
255
1
原创 【最速下降法,不需要手动求导】
手动求导真的很麻烦,针对之前上传的matlab代码,需要自己手算求梯度和黑森矩阵,所以改个代码不需要自己求,要matlab给我求。(所以说懒人推动科技发展bushi)运行结果为Jennrich-Sampson函数的最优点和对应的函数值,是正确的。不过其中也有一些函数不适用,必须要手动求导,大家可以自己试一试。也可以套用函数模板,去掉百分号都可以运行出来!!!(终于又可以删除一个文件了!!!!!
2024-04-26 13:33:32
611
2
原创 遗传算法(GA)进化算法,MATLAB(一)
%遗传算法 参数5表示生成的种群包含5个个体,10表示每个个体长度为10,chrom 矩阵,随机生成。%假设Chrom由两个子种群组成,通过轮盘赌选择函数sus对每个子种群选择150%的个体。3.%使用RFun中的值估算适应度,Fitnv列向量,包含chrom个体中的适应度。% %lind每个个体长度10,baseV指定基数值,编码的默认值2。%使用非线性排序,选择压差为2,在objv中有两个子种群估算适应度。2.适应度计算函数ranking 功能:基于排序的适应度分配。
2024-04-24 16:13:00
856
原创 谢菲尔德大学的MATLAB遗传算法工具箱(自学matlab找代码用)
本p人真的看一堆乱七八糟的代码和满地狼藉的桌面也会抓狂。务必记录一下自己的学习的知识,如有错误请路过的大佬批评指正。(每次从第一页看论文真的伤不起(省略对自己毫无计划学习的怨恨))先下载下来,点击matlab主页——设置路径——把这个下载的路径添加进去——保存——关闭,完成!(我明明记得之前安装好了,结果又安装了一遍,可能因为我不小心把这个文件删掉的原因,此外我用的2021b)(需要这个安装包的自取)
2024-04-23 09:30:00
317
原创 阻尼牛顿法,牛顿法(matlab作业代码)
调用函数x0=[-1,1]';[x,val,k]=nwfun('fun','gfun','Hess',x0)阻尼牛顿法,牛顿法(作业)
2024-04-22 14:59:45
385
原创 matlab自学的基础知识
用不同线型和颜色在同一坐标内绘制曲线y=2e^-0.5x sin(2πx)及其包络线。%从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。% % 如果能整除,则记录这个数并跳出循环。% % 使用for循环遍历100到200之间的整数。% % 判断是否能被21整除。
2024-04-22 14:34:41
385
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人