VGRAPH路径规划(Lozano-Perez and Wesley, 1979)

本文中的方法来自文章: Lozano-Pérez T, Wesley M A. An algorithm for planning collision-free paths among polyhedral obstacles[J]. Communications of the ACM, 1979, 22(10): 560-570. 本文参考了以下项目代码(特别是地图数据、增长障碍物部分代码、线段是否相交检查部分代码),特表示感谢: https://github.com/jingxixu/vgraph… 阅读全文

A*算法

A*算法解决加权图的最短路径问题。 原理 从图的特定起始节点开始,A*旨在找到从起始节点到目标节点见具有最小代价的路径(最少行驶距离、最短时间等)。A*算法维护源自起始节点的路径树,并且一次一个地延伸这些路径直到满足其终止标准。 在A*算法主循环的每次迭代中,需要确定对哪条路径进行扩展,A*算法根据… 阅读全文

Dijkstra算法例子

在Dijkstra算法代码下载本文涉及到的代码。 程序代码 Dijkstra算法的程序如下: function [d, p] = dijkstra(adj, s, t) % 使用dijkstra求最短路径 % adj 输入 矩阵 邻接矩阵 % s 输入 整数 起点 % t 输入 整数 或 [] 终点 % d 输出 向量 路径长度,若t==[],则返回从起点到所有节点的路径长度 % p 输出 向量 或 元胞 路径,若t==[],则返回从起点到所有节点的路径(cell) nodes_num… 阅读全文

Dijkstra算法

Dijkstra算法使用了广度优先搜索解决赋权有向图(或无向图)的单源最短路径问题。 输入 该算法的输入包含了一个有权重的图G,以及G中的一个起点S,V是途中所有顶点的集合,E是图中所有顶点的集合。图中的边是两个顶点所形成的元素对,(u,v)表示顶点u到顶点v的边,w(u,v)表示这条边的权重。 输出 该算法能够在一个图中,找到从起点到任何其他顶点的最低权重路径(最短路径)。 流程 这个算法是通过为每个顶点v保留当前为… 阅读全文

在LaTeX环境下使用BibTeX进行文献引用(MiKTeX软件)

手动管理参考文献总是令人抓狂,参考文献的样式需要小心编排,还需要按照引用顺序对参考文献进行排序和编号,以致添加、删除或者修改引用文献后都需要进行大量的修改,耗费大量的时间和精力。 使用BibTeX进行文献管理可以有效地提高这项工作的效率,下面以MiKTeX软件为例进行说明。 使用BibTex的好处是: 自动调整参考文献样式。 在正文中直接对参考文献别称进行引用,不需要在正文中来回修改引用号。 自动按照引用顺… 阅读全文

感知器基础

假设集 一般算法 口袋算法 MATLAB 程序 function [w, update_times] = my_perceptron(x, y, eta) % 基本的感知器算法,在没有错分样本时停止 % x 输入 x向量 % y 输入 y向量 % eta 输入 w <- w + eta*yt*xt % w 输出 权重 % update_times 输出 w更新次数 % 初始化参数和变量 [dataSetSize, xSize] = size(x); w = zeros(xSize,… 阅读全文

机器学习的类别

监督学习 从训练资料中学到或者建立一个模式,并依此模式推测新的实例。训练资料是由输入数据和预期输出数据组成。模式的输出可以是一个连续的值(称为回归分析)或者分类标签(称为分类)。 非监督学习 没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群。 强化学习 智能体以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标… 阅读全文

调度的三种类型

活动调度 在活动调度基础上通过更改机器上的加工顺序,使至少一个工序可以提前加工,必然导致其他工序完成时间推迟。也就是说,在活动调度中,在保留可行性的前提下,没有任何工序可以插入加工时间表前面的空隙中。 半活动调度 在半活动调度基础上更改机器上的加工顺序,使至少一个工序可以提前加工。 无延迟调度 存在一个工件等待加工时,不存在可用的处于空闲的机器。注意,最优解一般不在无延迟调度内。… 阅读全文

基于POX交叉的遗传算法求解流水车间调度(J-Shop)问题二

对于一个6个工件,6台机器的流水车间调度问题,程序运行结果如下: 下面是主程序、交叉算子程序、计算目标函数值程序,全部程序都可以下载(下载全部程序)。 主程序如下: clc; clear; [jobN, machineN, taskDuration, taskUse, processSize] = readDataFile('ft06.txt'); popSize = 200; chromLength = jobN * processSize;… 阅读全文