主页 > 系统开发 > 中国高铁调度系统是用什么开发的

中国高铁调度系统是用什么开发的

2023-12-04 15:24来源:m.sf1369.com作者:宇宇

一、中国高铁调度系统是用什么开发的

调度集中是利用遥信和远动技术实现行车调度远程控制的系统技术,是铁路运输生产指挥现代化的重要手段。调度集中具有减员增效的显著作用,可以有效提高铁路运输的生产效率,因此调度集中系统在世界发达国家得到了广泛的应用。日本调度集中营业里程达2.6万公里,占总营业里程的近90%;美国一个调度集中中心控制范围达到7.2公里,法国高速铁路、加拿大和北美的重载运输,已经全部实现了综合指挥调度。就连印度和韩国,他们的线路70%~80%也实现了调度集中控制。

我国目前在用的主要有青藏铁路西格线、格拉线;胶济线;郑徐线;沟海线;浙赣线等。

二、基于java企业内部车辆调度系统属于什么专业

当然是Java软件开发专业了,想企业内部车辆调度系统是是用java开发 b/s架构的系统。大致功能系统登录、车辆政策法规、车辆调度、车辆管理及维修保养、车辆责任人信息、车辆采购、车辆保险、权限设置等。

三、物流车辆调度怎么设计?

调运优先准则

“调运优先准则”是在物流调运中根据交货期迟早、距离远近、运输量大小以及客户重要性程度等信息而对当前全部客户的物流调运优先次序进行的分类、排序。根据调运优先准则设定陪送点的当前调运优先级,进一步可以构成物流调运的递阶控制机制。调运优先准则以实现物流调运敏捷化为策略层面的首要准则,并按调运策略的层次顺序设置:

第一级调运优先准则:交货需求早的配送地要优先安排;

第二级调运优先准则:在交货期相同的配送地中,距配送中心远的优先安排;

第三级调运优先准则:针对确定的配送地,配送车辆吨位大的优先安排;

第四级调运优先准则:针对确定车辆,装载物品质量大的优先安排地方

四、车厢调度问题的设计与实现

问题描述

1、用编号依次为1,2,3,……,n表示停在铁路调度站入口处的车厢序列。

2、用一个栈形象地表示为火车的调度站。

3、利用栈先进后出的性质,结合递归和回溯算法,实现编号1…n的车厢的所有可能的序列。

设计

为了使车厢能够调度,需要定义一个栈,利用栈先进后出的性质,改变车厢的顺序。

对栈的抽象数据类型进行定义:

ADT stack

{

数据对象:D={ai | ai∈CharSet,i=1,2,……,n,n≥0}

数据关系; R={<ai-1,ai> | ai-1,ai∈D,i=2,……,n}

}

MakeEmpty():

操作结果:构造一个空栈S。

IsEmpty():

判断栈是否为空栈,若s为空栈,则返回1,否则返回0。

Push(int item)

在栈s的栈顶插入新的栈顶元素item。

Pop()

删除s的栈顶元素并返回其值。

以上定义的详细设计如下代码所示:

struct StackNode

{

int data[maxSize];

int top;

}s;

int n;

void MakeEmpty() //置空栈

{

s.top=-1;

}

int IsEmpty() //判栈空否

{

if(s.top==-1)

return 1;

else

return 0;

}

void Push(int item) //进栈

{

s.top++;

s.data[s.top]=item;

}

int Pop() //出栈并取栈顶

{

int temp;

temp=s.data[s.top];

s.top--;

return temp;

}

生成输出序列的函数的伪码算法如下:

void OutPut(int pp,int cc,int Ways[])

if(pp<n)

{

一个数进栈后,有两种处理方式:要么立刻出栈,要么进行下一个数的进栈

};

if(!IsEmpty())

{

一个数出栈后,有两种处理方式:要么继续出栈,要么继续下一个数的进栈

}

if(pp==n&&IsEmpty())

{

一种可能输出序列产生,输出

}

该函数详细代码如下:

void OutPut(int pp,int cc,int Ways[])

{

int m,i;

if(pp<n) //一个数进栈后,有两种处理方式:要么立刻出栈,要么进行下一个数的进栈

{

Push(pp+1);

OutPut(pp+1,cc,Ways);

Pop();

}

if(!IsEmpty()) //一个数出栈后,有两种处理方式:要么继续出栈,要么继续下一个数的进栈

{

m=Pop();

Ways[cc]=m;

cc++;

OutPut(pp,cc,Ways);

Push(m);

}

if(pp==n&&IsEmpty()) //一种可能输出序列产生,输出

{

for(i=0;i<cc;i++)

cout<<Ways[i]<< ;

cout<<\t;

}

}

主函数如下:

int main

{

输入数据并初始化该栈,

之后调用函数void OutPut(int pp,int cc,int Ways[])

输出结果;

}

调试报告

本程序的栈其实也是一个简单的数组,它存储先后进入该栈的数,然后输出各个不同的序列。由于此程序比较简单明了,不是很复杂,按照概要设计来进行代码设计的时候基本没有什么大的问题。在调试过程中,主要是在OutPut这个函数设计过程中遇到不小的麻烦,而这主要的原因就在于平时对于递归的调用算法没太钻研所致,在此过程中借助于课本上以及网上查到的关于递归的资料才算勉强完成这个函数。

下面是程序运行结果:

输入n=4的情况下:

结果正确无误。

经验体会

通过这次课程设计,我对于将课本上的知识运用到实际生活中的整个过程深有体会了,不像之前对知识单纯的停留在课本及考试的要求上。对于我们学过的知识,我们不仅要尽量深入而透彻地去理解以及渗透,因为,在我看来,只有充分的了解渗透才能更好的将课本所学的知识运用到实验和生活中去。这次课程设计,我受益匪浅。

相关推荐

请教ESB是如何实现系统集成的

系统开发 2024-01-18

如何成功实施管理信息系统?

系统开发 2023-12-28