某制造系统有5个工作站(station),任务到达的间隔时间服从以0.85小时为均值的指数分布。有1、2、3三种任务,他们出现的概率分别是:0.3,0.5,0.2。三种任务分别要完成4、3、5个流程,而且要求以一定的顺序在指定的工作站上进行。模拟3000小时的情形,统计每个工作站的平均等待时间。
思路:
事件:新任务到达和5个离开工作站事件
1.新任务到达:
安排下一个新任务的到达,确定本次任务的类型和到达工作站的次序,执行到达工作站i。
2.到达工作站i:
若设备忙,进入等待队伍,记录等待时间;若设备闲,占用设备,安排它服务完成离开的时间。
3.任务离开工作站:
若等待队伍为空,则设备设闲,下一次离开时间无穷;
若等待队伍不空,则安排队首占用设备,计算他的等待时间;
判断这个离开的任务是否完成所有的流程:
若没有,则确定下一个工作站,执行到达工作站j。
java程序:
到达系统:
private void arriveSystem(Event e) {
this.arriveTaskNumber++;
this.currentTime=e.getTime();
Event e1=new Event();
e1.setEventType(Event.arriveType);
e1.setTime(this.currentTime+this.GenerateExpRandom(theta1));
eventList.add(e1);
int taskType=this.generateTaskType();
Task task=new Task(this.arriveTaskNumber,this.currentTime,taskType);
task.setServiceTime(this.GenerateExpRandom(task.getServiceExp().getFirst()));
arriveStation(task);
}
执行到达工作站i:
private void arriveStation(Task arriveTask) {
//获得本工作站的编号
int stationNo=arriveTask.getDeviceNumbers().getFirst();
// System.out.println("stationNO:"+stationNo);
//System.out.println("is queue null:"+queue[stationNo].getQueue().isEmpty());
System.out.println("at "+this.currentTime+" taskId:"+arriveTask.getTaskId()+" taskType:"+arriveTask.getTaskType()+" arrive station:["+stationNo+"].");
if(statusBusy[stationNo]==true){
//设备忙
arriveTask.setArriveTime(this.currentTime);
}else{
//设备闲,由闲设忙
statusBusy[stationNo]=true;
//设定离开本工作站的时间
Event e=new Event();
e.setDepartStationNo(stationNo);
e.setEventType(Event.departType);
e.setTime(this.currentTime+arriveTask.getServiceTime());
eventList.add(e);
}
//流程和服务时间指数前移--设定下个到达的工作站和服务时间
arriveTask.getDeviceNumbers().removeFirst();
arriveTask.getServiceExp().removeFirst();
if(!arriveTask.getDeviceNumbers().isEmpty())
arriveTask.setServiceTime(this.GenerateExpRandom(arriveTask.getServiceExp().getFirst()));
queue[stationNo].getQueue().add(arriveTask);
//将刚到达的也放进队列,方便以后它离开给工作站时确定时间。
//这样以后实际的队列长度为queue的length-1
//放在最后以保存修改
}
离开工作站:
private void depart(Event e) {
this.currentTime=e.getTime();
int stationNo=e.getDepartStationNo();
Task departTask=queue[stationNo].getQueue().getFirst();
//System.out.println("should depart stationNO:"+stationNo+" but it really depart:"+departTask.getDeviceNumbers().getFirst());
queue[stationNo].getQueue().removeFirst();
//将这个即将离开该工作站的任务移除队列。
if(queue[stationNo].isQueueEmpty()){
statusBusy[stationNo]=false;
}else{
//计算等待时间
double totalWaitingTime=queue[stationNo].getTotalWaitingTime();
queue[stationNo].setTotalWaitingTime(totalWaitingTime+this.currentTime-departTask.getArriveTime());
int taskNumber=queue[stationNo].getTaskNumber();
queue[stationNo].setTaskNumber(taskNumber+1);
Task nextDepartTask=queue[stationNo].getQueue().getFirst();
Event e1=new Event();
e1.setDepartStationNo(stationNo);
e1.setEventType(Event.departType);
e1.setTime(this.currentTime+nextDepartTask.getServiceTime());
eventList.add(e1);
}
if(!departTask.getDeviceNumbers().isEmpty()){
//如果还有为完成的流程
this.arriveStation(departTask);
}else{
//任务完成,离开系统
System.out.println("*****************************");
System.out.println("at "+this.currentTime+" taskId:"+departTask.getTaskId()+" taskType:"+departTask.getTaskType()+" depart the system.");
System.out.println("*****************************");
}
}
附件为事件为数组和链表的形式。
分享到:
相关推荐
2.实验仪器和设备 (1)函数信号发生器(型号:AFG310)。(2)数字存储示波器(型号: DS1062CA)。 (3)双路智能数字交流毫伏表(型号:YB2173F)。(4)数字万用表(型号:FLUKE17B)。 (5)九孔实验板,电容、电阻、电感线圈...
串联电抗器是指一种由金属导线绕制而成具有一定电抗值的电气设备。它串联于电气回路上,主要用以限制短路电流。在城市电阐改造中,利用串联电抗器限制短路容量,使一些断流容量不足的继路器可以继续使用。一般用于35...
fast无线路由,B-tp- link无线路由做例子) 一:192.168.1.1进页面 二:设置好后,看看状态,已经连上就ok 开启DHCP服务(也就是让局域网上的设备自动获取ip地址) A路由器基本ok啦 接下来连接B路由器 四:把A路由器...
路由器 核心交换机 接入交换机 接入交换机 接入交换机 Web应用服务器群 WAF Web应用防火墙串联透明部署在Web服务器的前端,在物理层面是Web服务器的前端多了一台硬件设备,但在网络层面是Web服务器的前端没有任何...
I/O专用处理器 D软件工具 3、如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是( A )。 A.程序查询 B.中断方式 C.DMA方式 D.无条件存取方式 4、文件系统中用( D )管理文件。 A. 作业控制...
RSE离心机(固-液-液三相萃取分离机)为固-液-液三相立式分离...在青霉素新萃取工艺开发中,充分利用这2种设备的优点,开发了RSE与POD机串联逆流萃取生产工艺,该工艺具有连续稳定、劳动强度小、产品质量好、收率高等优点。
漏风的影响 15 相关知识 1) 强迫风冷是利用风机驱使工作的气流经过发热表面,把热量带走的一种冷却方法, 气流的速度越高,带走的热量越多,电子设备中,强迫风冷的散热能力要比自然 散热的能力大10倍左右。...
串联电池可以为系统提供更高的供电电压,从而提高功放、背光、以及5V供电设备模块的转换效率。对比单节电池,可以降低对充电电流的要求,同等负载下也降低了电池放电电流,对于电池寿命影响更小。 单节电池在...
4、该地埋式生活污水处理设备的除臭方式除采用常规高空排气,另配有土壤脱臭措施。 5、整个设备处理系统配有全自动电气控制系统和设备故障报警系统,运行安全可靠,平时一般不需要专人管理,只需适时地对设备...
1 BBXG-I-54-108串联谐振试验设备.doc 2 BKZ-E型直流电阻快速测试仪.doc 3 BYKC-2000型有载调压开关测试仪.doc ...
目前,PDA、移动电话和数码相机等便携式电子设备已逐步过渡到了彩色LCD显示屏,因此越来越多的产品需要背光源。白光LED被普遍用作便携式电子设备LCD的背光源,原因是它们的复杂程度较低、成本低且尺寸小于CCFL背光源...
0670、串联式多谐振荡器.rar 0671、串入式声控延时开关.rar 0672、单结晶体管多谐振荡器.rar 0673、单脉冲控制转换开关.rar 0674、单脉冲控制转换开关基本电路.rar 0675、单稳态多谐振荡器.rar 0676、单稳态多谐振荡...
ISOS V-4-20mA 采用顺源科技独有的电磁隔离耦合、高效能的回路窃电发明专利技术,来实现电压信号到 4-20mA 标准信号的精准隔离转换,该 IC 输出是针对 24VDC 和取样电阻(或称负载电阻)相串联的二线制供电回路...
为了保障设备的正常运行和人身安全,都要求设备必须有可靠的接地,例如普通设备要求接地电阻小于4欧姆;CT机则更要求小于0.5欧姆。 通常,测试接地桩的安装是否合格,接地电阻是否在合格范围内,须使用专用的接地...
现代电力电子设备的大量使用产生的非线性电流,产生的谐波影响电网并加重电网污染,并导致电容器,变压器及传输设备产生的严重干扰。谐振及电压畸变还会造成供电用电事故,解谐电抗器作用是改善与避免谐波电流的危害...
支持串联短信(长度大于一条短信的,自动分成多条发送,接收方则作为一条短信显示). 3.支持电话功能:拨出,应答,摘机,挂机,获取对方号码,发DTMF码等. 4.支持直接对串口读写功能,可直接对串口发送AT命令.(相当...
4. 行车图纸:指用于描述行车设备(如起重机、桥式起重机等)的图纸,包括电气、机械等方面的信息。 5. 串电阻:指串联连接的电阻器,用于调节电路中的电阻值。 6. 变频器:一种用于调节电机转速的电子设备,可以...
台达VFD-C2000选型手册...4、只有当符合上述要点时,改隔离线才会用作设备的接地线。 5、在安装多台驱动器时,不要将驱动器接地端子以串联方式连接。 如果您需要了解更多产品信息,请点击http://www.gongboshi.com