[发明专利]一种基于WCS调度策略的仓储物流系统仿真算法在审
申请号: | 202111012075.8 | 申请日: | 2021-08-31 |
公开(公告)号: | CN113887013A | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 杨智 | 申请(专利权)人: | 云南策蓝科技有限公司 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06Q10/08 |
代理公司: | 深圳至诚化育知识产权代理事务所(普通合伙) 44728 | 代理人: | 刘英 |
地址: | 650000 云南省昆明市中国(云南)自由*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 wcs 调度 策略 仓储 物流 系统 仿真 算法 | ||
1.一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:包括以下步骤:
第一步:定义整型数组S[];
第二步:初始化;
第三步:源点的选择;
第四步:利用for循环选择一个终点Vj,使其满足VO到Vj距离最短,同时将Vj加入集合S中;
第五步:根据j顶点调整当前的最短路径;
第六步:此时一趟求最短路径完毕,将终点V1添加到路径中;
第七步:循环执行第四步,第五步,第六步的操作,直到全部顶点加入到S中。
2.根据权利要求1所述的一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:所述第一步定义整型数组S[],这是一个顶点集合,初始时该集合只有源点v0,然后逐步将以求得最短路径的顶点加入到该集合中,直到全部顶点都在集合S中,算法结束;定义两个整型变量dis、mindis均用来标志图中最短的那一条路径。
3.根据权利要求1所述的一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:所述第二步初始化dist数组的值即为cost数组中存放的权值:dist[i]=cost[v0][i]。
4.根据权利要求1所述的一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:所述第二步初始化求到每个顶点的最短路径时都经过vO顶点:path[i].pnode[0]=vO。
5.根据权利要求1所述的一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:所述第二步初始化记录经过的顶点数都为0:path[i].num=0。
6.根据权利要求1所述的一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:所述第二步初始化顶点集合s为空,即还未开始:s[i]=0。
7.根据权利要求1所述的一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:所述第三步将vO顶点加入到顶点集合s中:s[v0]=1。
8.根据权利要求1所述的一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:所述第五步若满足dist[i]dist[ij]+cost[j][i],则修改dist[i]的值;同时VO到Vi的最短路径中经过的顶点数加1,即path[i].num++。并将经过的顶点存入数组pnode即path[i].pnode[path[i].num]=j。
9.根据权利要求1所述的一种基于WCS调度策略的仓储物流系统仿真算法,其特征在于:所述第一步至第五步的执行步骤为:
typedefchar VertexType;
typedef int VRType;
typedef int InfoType;
typedefstruct ArcCell
{
VRType adj;
InfoType*info;
}ArcCell;
typedef struct
{
VertexType vexs[MAX_VERTEX_NUM];
ArcCell arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
int vexnum,arcnum;
}MGrph;
int Locate Vex(MGrph*GVertexType v)
{
int j,b;
for(b=0;bG-vexnum;b++)
if(G-vexs[b]-=v)
{
j=b;break;},
return(j);
}
void Creat_YG(MGrph*G)
{
int i,k,j,n;
VertexType v1,v2;int w=1;
printf(请输入顶点个数和弧数如括号里的方式(3,3):);scanf(%d,%d,G-vexnum,G-arcnum);
printf('n);
for(i=0;iG-vexnum;i++)
{
printf(请输入图的第%d个顶点:,w);
w++;
fflush(stdin);
scanf(%c,G-vexs[i]);
printf(\n);
}
for(i=0;iG-vexnum;it+)
for(j=0;jG-vexnum;j++)
{
G-arcs[i][j].adj-INFINITY;
G-arcs[i][j].info=NULL;
}
for(k=O;kG-arcnum;k++)
{
printf(请输入边的起点和终点和权值如(v1,v2,n):);
fflush(stdin);
scanf(%c,%c,%d,v1,v2,n);
printf(\n);
i=Locate Vex(Gv1);
j=Locate Vex(Gv2);
G-arcs[i][j].adj=n;
G-arcs[i][j].info=NULL;
}
getchar();
}
void juzhen(MGrph*G){
int i,j,k;
printf(邻接矩阵显示:\n);
printf(\t);
for(i=0;iG-vexnum;i++)
printf(\t%5c,G-vexs[i]);
for(j=0;jG-vexnum;j++)
{
printf('\n\n);
printf(\t\%5c,G-vexs[j]);
for(k=O;kG-vexnum;k++)
{
if(G-arcsL[j][k].adjINFINITY)
printf(\t%5d,G-arcs[j][k].adj);
else printf('it 3000);
}
}
void Short(MGrph*Gint path[],int i,int w){
K=path[i];
if(k!=w)Short(Gpath,k,w);
printf(%c,,G-vexs[k])。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南策蓝科技有限公司,未经云南策蓝科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111012075.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种水下多点爆源聚集同步爆炸的模拟装置
- 下一篇:一种半导体功率模块散热底座