柔性作业车间调度问题介绍 (Flexible Job-shop Scheduling Problem, FJSP)

调度问题是制造流程规划和管理中最关键的问题之一。 这个领域最困难的问题之一是作业车间调度问题(Job-shop Scheduling Problem, JSP),该问题中,一组机器需处理一组工件,每个工件由一系列具有先后顺序约束的工序形成,每个工序只需要一台机器,机器一直可用,可以一次处理一个操作而不会中断。决策内容包括如何对机器上的工序进行排序,已优化给定的性能指标。 JSP的典型性能指标是完工时间 (makespan),即完成… 阅读全文

数组和关联数组 – Linux Shell 脚本

数组借助索引将多个独立的数据存储为一个集合。普通数组只能使用整数作为数组索引。关联数组可以使用字符串作为数组索引。 下面是一个普通数组和关联数组的示例: #!/bin/bash array_var=(apple grape banana); # 定义普通数组 echo ${array_var[0]}; # 取出索引为0的元素 echo ${array_var[*]}; # 取出所有元素 array_var[3]=peach; #… 阅读全文

Voronoi图路径规划 (许松清, 2005)

本文学习了以下文章中的方法: 许松清,吴海彬,林宜,高洪张,陈天炎. 基于Voronoi图法的移动机器人路径规划[J]. 中国工程机械学报,2005,(03):336-340. 在Voronoi路径规划代码下载本文代码。 维诺图 用X表示一个距离函数为d的空间。令K为一个指示集合,(P_k ),k∈K为空间X的一个非空子集的有序元组。对应于P_k 的R_k,称为沃洛诺伊元胞… 阅读全文

A*算法例子

在A*算法代码下载本文涉及到的代码。 A*算法程序代码 function [distance, path] = a_star(map_size, neighbors, start, goal) % A* 算法, 找不到路径时返回 error % map_size 输入 地图尺寸 == size(mymap) % neighbors 输入 邻居 (cell) % start 输入 起点 % goal 输入 目标点 % distance 输出 距离 % path… 阅读全文

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… 阅读全文