电梯算法

电梯算法
电梯算法

电梯算法

学院:软件学院

班级:1402

组号:第8小组

姓名:冯信瑜

刘杨

马尚玮

源程序并附上注释:

public class DiskDispatchArithmetic {

public static ArrayList list = new ArrayList();//io表

public static ArrayList waitlist = new ArrayList();//输入的值不符合时,临时存入此表

static String course = "Null";//定义静态值存放进程名

static int cylinder = 0;//定义静态值存放柱面位置

static int track = 0;//定义静态值存放磁道位置

static int record = 0;//定义静态值存放物理记录位置

static String side = "up";//定义静态值存放当前摆臂方向,初始为up

BufferedReader streamin = new BufferedReader(

new InputStreamReader(System.in));

public void isBigger() {//通过随机数比较,确定下一步执行何种操作

DiskDispatchArithmetic ds = new DiskDispatchArithmetic();

Scanner sc = new Scanner(System.in);

System.out.println("输入随机数:");

//double i = Math.random();

//int i = 1;

//int i=0;

int i = sc.nextInt();

if (list.isEmpty() && waitlist.isEmpty()) {

System.out.println("当前io表为空,等待输入");

ds.toContinue();

}else{

if (i >= 0.5) {

System.out.println("随机数为" + i + "大于0.5,执行驱动调度");

ds.Scheduling();

} else {

System.out.println("随机数为" + i + "小于0.5,执行接受请求");

ds.Request();

}

}

}

public boolean isHave(int a, int b, int c) {

ArrayList list1 = (ArrayList) list.clone();

int flag = 0;

for (int i = 0; i < list.size(); i++) {

io io = (io) list.get(i);

if (a == io.getCylinder() && b == io.getTrack() && c == io.getRecord()) {

flag = 1;

} else {

flag = 0;

}

}

if (flag == 1) {

return true;

} else {

return false;

}

}

public void Request() {//运行后添加io表的元素

io io = new io();

Scanner sc = new Scanner(System.in);

System.out.println("输入进程名柱面号磁道号物理记录号");

io.setCourse(sc.next());

io.setCylinder(sc.nextInt());

io.setTrack(sc.nextInt());

io.setRecord(sc.nextInt());

if ("up".equals(side)) {//摆臂方向为up时,当输入值小于当前操作数的值时,不加入list进行比较而是存放进waitlist中等待

if (io.getCylinder() < cylinder) {

if (io.getTrack() < track) {

if (io.getRecord() < record) {

waitlist.add(io);

}

}

} else {

list.add(io);

}

}

if ("down".equals(side)) {//摆臂方向为down时,当输入值大于当前操作数的值时,不加入list进行比较而是存放进waitlist中等待

if (io.getCylinder() > cylinder) {

if (io.getTrack() > track) {

if (io.getRecord() > record) {

waitlist.add(io);

}

}

} else {

list.add(io);

}

}

toContinue();

}

public void firstRequest() {//初始化io表元素

io io = new io();

Scanner sc = new Scanner(System.in);

System.out.println("输入进程名柱面号磁道号物理记录号");

io.setCourse(sc.next());

io.setCylinder(sc.nextInt());

io.setTrack(sc.nextInt());

io.setRecord(sc.nextInt());

list.add(io);

}

public void Scheduling() {

ArrayList list1 = (ArrayList) list.clone();

ArrayList list2 = (ArrayList) list.clone();

int fcylinder = cylinder;//当前所在的柱面

int ftrack = track;//当前所在的磁道

int frecord = record;//当前所在的物理记录

if ("up".equals(side)) {//判断side方向为up时执行

ComparatorIo comparator = new ComparatorIo();

Collections.sort(list1, comparator);//调用从小到大排序进行排序

System.out.println("当前io表:");

System.out.println("进程名" + " " + "柱面号" + " " + "磁道号" + " " + "物理记录号");

for (int i = 0; i < list2.size(); i++) {//打印当前io表

io io = (io) list2.get(i);

System.out.println(io.getCourse() + " " + io.getCylinder() + " " + io.getTrack() + " " + io.getRecord());

}

for (int i = 0; i < waitlist.size(); i++) {

io io = (io) waitlist.get(i);

System.out.println(io.getCourse() + " " + io.getCylinder() + " " + io.getTrack() + " " + io.getRecord());

}

int p = 0;//当前要访问的下一个记录在io表中的位置

for (int i = 0; i < list1.size(); i++) {//通过比较找到下一个准备操作的元素

io io = (io) list1.get(i);

if (fcylinder > io.getCylinder()) {

if (ftrack > io.getTrack()) {

if (frecord > io.getRecord()) {

p = i;

}

}

}

}

if (p == 0 && list.size() >= 1) {//若找到比当前值小的元素,进行list表中对应元素的删除并继续

io io = (io) list1.get(p);

int a, b, c;

a = io.getCylinder() - cylinder;

b = io.getTrack() - track;

c = io.getRecord() - record;

System.out.println("当前所指向进程:");

System.out.println("进程名" + " " + "柱面号" + " " + "磁道号" + " " + "物理记录号");

System.out.println(course + " " + cylinder + " " + track + " " + record);

if (a != 0) {//若比较得到当前柱面号与下一个准备操作进程柱面号不同,则按照side方向寻找适合值

System.out.println("即将调度的进度不在此柱面号中,按照" + side + "方向寻找适配进度");

}

if (a == 0 && b != 0) {//若比较得到当前磁道号与下一个准备操作进程磁道号不同,则按照side方向寻找适合值

System.out.println("即将调度的进度在此柱面号中,但是不在此磁道号中,按照" + side + "方向寻找适配进度");

}

if (a == 0 & b == 0 & c != 0) {//仅物理记录号变化时,按照side方向寻找适合值

System.out.println("即将调度的进度在此柱面号,磁道号中,但是不在此物理记录号中,按照" + side + "方向寻找适配进度");

}

course = io.getCourse();

cylinder = io.getCylinder();

track = io.getTrack();

record = io.getRecord();

System.out.println("将要调度的进程:");

System.out.println("进程名" + " " + "柱面号" + " " + "磁道号" + " " + "

物理记录号");

System.out.println(course + " " + cylinder + " " + track + " " + record);

System.out.println("当前摆臂方向不变,为" + side);

list.remove(io);//删除当前所指向io表元素

} else if (list.isEmpty()) {//list表为空,则改变side指向为down

System.out.println("当前所指向进程:");

System.out.println(cylinder + " " + track + " " + record);

side = "down";

System.out.println("由于没有比当前所指向进程更大的进程,移动方向改变,为" + side);

for (int i = 0; i < waitlist.size(); i++) {//将waitlist中的值添加至list表中

io io = (io) waitlist.get(i);

io io1 = new io();

io1.setCourse(io.getCourse());

io1.setCylinder(io.getCylinder());

io1.setTrack(io.getTrack());

io1.setRecord(io.getRecord());

list.add(io1);

}

waitlist.clear();//清空waitlist

}

toContinue();

}

if ("down".equals(side)) {//当side为down,则进行从大到小排序,流程同上ComparatorIoTurn comparator = new ComparatorIoTurn();

Collections.sort(list1, comparator);

System.out.println("当前io表:");

System.out.println("进程名" + " " + "柱面号" + " " + "磁道号" + " " + "物理记录号");

for (int i = 0; i < list2.size(); i++) {

io io = (io) list2.get(i);

System.out.println(io.getCourse() + " " + io.getCylinder() + " " + io.getTrack() + " " + io.getRecord());

}

for (int i = 0; i < waitlist.size(); i++) {

io io = (io) waitlist.get(i);

System.out.println(io.getCourse() + " " + io.getCylinder() + " " + io.getTrack() + " " + io.getRecord());

}

int p = 0;

for (int i = 0; i < list1.size(); i++) {

io io = (io) list1.get(i);

if (fcylinder < io.getCylinder()) {

if (ftrack < io.getTrack()) {

if (frecord < io.getRecord()) {

p = i;

}

}

}

}

System.out.println("当前所指向进程:");

System.out.println("进程名" + " " + "柱面号" + " " + "磁道号" + " " + "物理记录号");

System.out.println(course + " " + cylinder + " " + track + " " + record);

if (p == 0 && list.size() >= 1) {

io io = (io) list1.get(p);

int a, b, c;

a = io.getCylinder() - cylinder;

b = io.getTrack() - track;

c = io.getRecord() - record;

if (a != 0) {

System.out.println("即将调度的进度不在此柱面号中,按照" + side + "方向寻找适配进度");

}

if (a == 0 && b != 0) {

System.out.println("即将调度的进度在此柱面号中,但是不在此磁道号中,按照" + side + "方向寻找适配进度");

}

if (a == 0 & b == 0 & c != 0) {

System.out.println("即将调度的进度在此柱面号,磁道号中,但是不在此物理记录号中,按照" + side + "方向寻找适配进度");

}

course = io.getCourse();

cylinder = io.getCylinder();

track = io.getTrack();

record = io.getRecord();

System.out.println("将要调度的进程:");

System.out.println("进程名" + " " + "柱面号" + " " + "磁道号" + " " + "物理记录号");

System.out.println(course + " " + cylinder + " " + track + " " + record);

System.out.println("当前摆臂方向不变,为" + side);

list.remove(io);//删除当前所指向io表元素

} else if (list.isEmpty()) {

System.out.println("当前所指向进程:");

System.out.println(cylinder + " " + track + " " + record);

side = "down";

System.out.println("由于没有比当前所指向进程更小的进程,移动方向改变,为" + side);

for (int i = 0; i < waitlist.size(); i++) {

io io = (io) waitlist.get(i);

io io1 = new io();

io1.setCourse(io.getCourse());

io1.setCylinder(io.getCylinder());

io1.setTrack(io.getTrack());

io1.setRecord(io.getRecord());

list.add(io1);

}

waitlist.clear();

}

toContinue();

}

toContinue();

}

public void toContinue() {//输入确定是否继续

DiskDispatchArithmetic ds = new DiskDispatchArithmetic();

System.out.println();

System.out.print("输入任意值继续,输入N退出:");

try {

String str = streamin.readLine();

if (str.equals("N") || str.equals("n")) {

System.out.println();

System.out.println("安全退出!");

System.exit(0);

} else {

ds.isBigger();

}

} catch (IOException ex) {

}

}

public static void main(String[] args) {

DiskDispatchArithmetic ds = new DiskDispatchArithmetic();

Scanner sc = new Scanner(System.in);

System.out.println("初始化多少请求?");

int a = sc.nextInt();

System.out.println("输入" + a + "个请求:");

for (int i = 0; i < a; i++) {

ds.firstRequest();

}

ds.isBigger();

}

}

总结:

通过模拟电梯调度算法实现对磁盘的驱动调度的设计,使我更加深刻的了解了磁盘驱动调度的工作的过程。初始化“请求I/O”表,置当前移臂方向为里移;置当前位置为0号柱面,0号物理记录。当有等待访问磁盘的进程时,按电梯调度算法从中选择一个等待访问者,按该进程指定的磁盘物理地址启动磁盘为其服务。对移动臂磁盘来说,驱动调度分移臂调度和旋转调度。电梯调度算法的调度策略是与移动臂的移动方向和移动臂的当前位置有关的,所以每次启动磁盘时都应登记移臂方向和当前位置。电梯调度算法总是优先选择与当前柱面号相同的访问请求,从这些请求中再选择一个能使旋转距离最短的等待访问者。如果没有与当前柱面号相同的访问请求,则根据移臂方向来选择,每次总是沿臂移动方向选择一个与当前柱面号最近的访问请求,若沿这个方向没有访问请求时,就改变臂的移动方向。

群控电梯调度算法

一)、弄清群控电梯调度算法的评价指标 由于乘客心理等待时间的长短、电梯响应呼梯的快慢、召唤厅站客流量的大小、轿厢内乘客人数的多少等均是一些模糊的概念,很难用确切的数量关系定义,也难以用普通的逻辑规则综合描述。 近年来,人们借助于模糊数学中的隶属函数来表述,将复杂的模糊问题转化为简单清晰的形式进行求解和控制.模糊控制通过模糊逻辑进行推理,有效地对电梯运行状况作出判断,但对于非常复杂的多变量系统,要建立正确的模糊规则和隶属函数是非常困难的,而且通过大量实验建立的隶属函数和规则有时也很难保证十分精确与合理。此外,其隶属函数中的加权系数是确定的,不能根据客流改变而相应改变。 为了解决模糊控制中存在的某些问题,新发明将神经网络控制方法应用于电梯控制中,无需建立精确数学模型,可以提供准确的控制策略,以减少候梯时间,降低乘客的焦急等待心理,节约能源,合理有效地调度电梯最佳运行。 (二)、理解上行高峰模式、下行高峰模式、双路运行模式等概念,并找出根据一系列输入手段间接算出运行模式的算法: 上行高峰交通模式:当主要的客流是上行方向,即全部或者大多数乘客从建筑物的门厅进入电梯且上行,这种状况被定义为上行高峰交通状况。 下行高峰交通模式:当主要的客流是下行方向,即全部或者大多数乘客乘电梯下行到门厅离开电梯,这种状况被定义为下行高峰交通状况。 二路交通模式:当主要的客流是朝着某一层或从某一层而来,而该层不是门厅,这种状况被定义为二路交通状况。二路交通状况多是由于在大楼的某一层设有茶点部或会议室,在一天的某一时刻该层吸引了相当多的到达和离开呼梯信号。所以二路交通状况发生在上午和下午休息期间或会议期间。 四路交通模式:当主要的客流是朝着某两个特定的楼层而来,而其中的一个楼层可能是门厅,这种交通状况被定义为四路交通状况。当中午休息期间,会出现客流上行和下行两个方向的高峰状况。午饭时客流主要是下行,朝门厅和餐厅。午休快结束时,主要是从门厅和餐厅上行。所以四路交通多发生在午休期间。四路交通又可分为午饭前交通和午饭后交通模式。此两类交通模式和早晨与晚上发生的上行、下行高峰不同,虽然主要客流都为上行和下行模式,但此两类交通模式同时还有相当比例的层间交通和相反方向的交通。各交通量的比例还与午休时间的长短,餐厅的位置和大楼的使用情况有关。四路交通时不但要考虑主要交通客流,还要考虑其他客流,与单纯的上、下行高峰期不同。 平衡的层间交通模式:当上行和下行乘客数量大致相同,并且各层之间的交通需求基本平衡时,此时的交通模式是处于一种普通的双向层间交通状况,它存在于一天中的大部分时间,乘客通常要求最小的候梯时间和乘梯时间。 空闲交通模式:空闲交通模式通常发生在假日、深夜、黎明等情况下,此时大楼的客流稀少、乘客的到达间隔很长,在这种状况下群控系统中仅仅有部分电梯进行工作,而其余电梯轿厢则空闲等候。 基于神经网络的交通模式识别 基于统计规律的交通模式识别 (三)、不同的运行模式各自适用什么样的调度算法? 1、基于专家系统的电梯群控调度算法[8] 电梯群控系统是一个具有大量不确定和不完整信息的复杂的非线性系统。这样一个复杂的系

特种设备安全风险辨识清单 电梯

特种设备安全风险辨识清单――――电梯 辨识单位辨识日期年月日设备位置辨识人/手机 设备类别设备品种设备型号 《使用登记证》编号分项评估分值人员:管理:设备:环境:评估总分值辨识分值评估总分值×(种类系数)= 风险级别 人员风险因素(100分) 权重:10 序号风险指标风险因素辨识标准得分得分 小计 备注 1 人员 持证情况 (50分) 安全管理人员或司机应持证;证 书在效期内 1.应持证人员未持证(50分) 累加不超 过50分 2.作业证不在有效期内(10分) 3.作业内容与证书项目不符(30分) 2 人员安全 培训情况 (20分) 应按规定定期开展安全培训 1.未按制度开展安全培训(20分)累加不超 过20分 2.培训未覆盖相关人员(10分) 3 人员 配置情况 (30分) 应按规定配备相关人员 1.医院提供患者使用的电梯,直接用于游客观光的速度大于米/ 秒的乘客电梯,以及需要人工操作的电梯,未按规定配备电 梯司机(30分) 累加不超 过30分 2.公众聚集场所未设立专人进行现场疏导(20分) 应按规定配置安全责任人 使用为公众提供运营服务电梯的,或者在公众聚集场所使用30台以 上(含30台)电梯的,未逐台落实安全责任人(30分) 应按规定配置安全管理人员 使用各类特种设备总量20台以上(含20台)的,未配备专职安全 管理员(10分) 人员风险因素得分合计:人员风险因素评估分值(得分合计×权重):人员因素风险级别:

管理风险因素(100分) 权重:10 序号风险指标风险因素辨识标准得分得分 小计 备注 1 安全 管理机构 (5分) 应按规定设置安全管理机构 使用为公众提供运营服务电梯的,或者在公众聚集场所使用30 台以上(含30台)电梯的;使用特种设备总量大于50台(含50 台) 的,未建立安全管理机构(5分) 2 安全 管理制度 (20分) 应建立以安全生产责任制为主要 内容的安全管理制度 未编制以安全生产责任制为主要内容的安全管理制度(20分) 累加不超 过20分 安全管理制度不完善,未按规定建立(1)特种设备安全管理机构 (需要设置时)和相关人员岗位职责;(2)特种设备经常性维 护保养、定期自行检查和有关记录制度;(3)特种设备使用登 记、定期检验管理制度;(4)特种设备隐患排查治理制度; (5)特种设备安全管理人员与作业人员管理和培训制度;(6)特 种设备采购、安装、改造、修理、报废等管理制度;(7)特种设 备应急救援管理制度;(8)特种设备事故报告和处理制度 (缺一项加5分) 3 设备 使用登记 (10分) 应按规定办理使用登记 1.未在电梯投入使用前或者投入使用后30日内,向特种设备所在 地的直辖市或者设区的市的特种设备安全监督管理部门申请办理 使用登记(10分) 累加不超 过10分 2.《特种设备使用标志》未按规定固定在电梯轿厢(或者扶梯、人 行道出入口)易于乘客看见的部位(8分) 4 安全 技术档案 (10分) 应按规定逐台建立安全技术档案 1.未按一梯一档建立安全技术档案(10分) 累加不超 过10分 2.档案文件内容和保存期限不满足相关规定(6分) 3.未按规定在设备使用地保存相关安全技术档案原件或复印件 (4分)

电梯调度算法

课程设计报告 电梯调度算法 学院医药信息工程学院 专业 年级 2008 学生姓名 学号 指导教师 2011-7-12 电梯调度算法设计报告

一.LOOK(查找)调度(电梯)电梯算法,操作系统学术名为SCAN算法。磁臂仅移动到请求的最外道就回转。反方向查找服务。 1.问题描述: 说明:电梯调度算法的基本原则就是如果在电梯运行方向上有人要使用电梯则继续往那个方向运动,如果电梯中的人还没有到达目的地则继续向原方向运动。具体而言,如果电梯现在朝上运动, *如果当前楼层的上方和下方都有请求,则先响应所有上方的请求,然后才向下响应下方的请求;如果电梯向下运动,则刚好相反。 *设计要求:模拟多人在不同楼层同时要求到各自目的地时电梯的响应顺序,要求使用C语言编程,定义合适的数据结构。最后,需要说明设计思想,同时给出能够运行的源程序,并给出对应的程序流程图。 * 设计提示:可以用一个结构体表示乘电梯的人,其中内容包括人的姓名、起始楼层、目的楼层;建立一个结构体的数组模拟当前所有需要乘电梯的人。把这个结构体数组作为程序的输入,*通过对数组中每个人的起始楼层和目的楼层进行分析,确定每个人进出电梯的顺序,并打印输出。 2.算法设计: 本程序用java语言、eclipse平台编写。 (1)算法思想:本算法只设计了一辆电梯,通过往返寻找方法,即先查询电梯运行方向的楼层是否存在有其他键被按下,有就继续往该方向运行,如果没有就查询电梯运行反方向的楼层是否有按键被按下,如果有电梯就改变方向,反方向运行。如果没有电梯就停止在该楼层,30秒后如果没有任何键被按下,电梯就自动返回1楼驻停。同时,电梯乘客所去的楼层方向与电梯当前方向一致的话,则电梯优先搭载该乘客。随后再搭载去反方向的乘客。实现电梯的升降操作。 二.1.总程序流程图如下

特种设备安全监察条例电梯

总则 1.监察条例的制定是首先为了保障人民群众生命和财产安全 2.国务院特种设备安全监督管理部门负责全国特种设备的安全监察工作,县以上地方负责特种设备安全监督管理的部门对本行政区域内特种设备实施安全监察 3.特种设备生产使用单位应当建立健全特种设备安全、节能管理制度和岗位安全、节能责任制度 4.国家鼓励推行科学的管理方法,采用先进技术,提高特种设备安全性能和管理水平,增强特种设备生产、使用单位防范事故的能力,对取得显著成绩的单位和个人给予奖励。 国家鼓励特备节能技术研究、开发、示范和推广,促进特备技能技术创新和应用。 特备生产、使用单位和特备检测机构,要保证必要的安全和节能投入。 国家鼓励实行特备责任保险制度,提高事故赔偿能力。 特备生产 1.特备生产单位对其生产的特备的安全性能和能效指标负责 2.按照安全技术规范的要求,应当进行型式试验的特备产品部件或者试制特备新产品新部件新材料,必须进行型式试验和能效测试。 3.锅炉、电梯等特备的维修单位,应当有与特备维修相适应的专业技术人员以及必要的检测手段,并经省特备安全监督管理部门许可,方可从事相应的维修活动。 4.电梯的安装、改造、维修,必须有电梯制造单位或者其通过合同委托、同意的依照条例虚的许可的单位进行。电梯制造单位对电梯质量以及安全运行设计的质量问题负责。 5.电梯安装施工过程中,电梯安装单位要服从建筑施工单位对施工现场的安全生产管理,并订立合同,明确各自安全责任。电梯井道的土建工程必须符合建筑工程质量要求。 6.电梯的制造安装改造和维修活动,必须严格遵守安全技术规范的要求。电梯制造单位委托或者同意其他单位进行电梯安装等活动的,应当对其安装等活动进行安全指导和监控。电梯安改等活动结束后,电梯制造单位应当按照安全技术规范要求对电梯进行校验和调试,并对其结果负责。 7.锅炉、电梯等特备的改造、维修竣工后,安改维的施工单位应当在验收后30日内将有关技术资料移交使用单位,使用单位应将其存入该特备的安全技术档案。 特备的使用 1.特备在投入使用前或者投入使用后30日内,特备使用单位应当向市的特备安全监督管理部门登记。登记标志应当置于或者附着于该特备的显著位置。 2.特备使用单位应当在安全检验合格有效期届满前1个月向特备检测机构提出定期检验要求。未经定期检验或检验不合格的特备,不得继续使用。 3.特备存在严重事故隐患,无改造、维修价值,或超过规定使用年限,特备使用单位应当及时予以报废,并当向原登记的特备安全监督管理部门办理注销。 4.电梯要至少每15日进行一次清洁、润滑、调整和检查。要由取得许可的单位进行。 5.电梯的维保单位要严格执行国家规范,保证其维保电梯的安全技术性能,并负责落实现场安全防护措施,保证施工安全。电梯维保单位,应当对其维保电梯的安全性能负责,接到故障通知后,应当立即赶赴现场,并采取必要的应急救援措施。 6.特备使用单位应当对特备作业人员进行特备安全、节能教育和培训,保证特备作业人员具备必要的特备安全、节能知识。特备作业人员在作业中应当严格执行特备的操作规程和有关的安全规章制度。 7.特备作业人员在作业过程中发现事故隐患或其他不安全因素,应当立即向现场安全管理人员和单位有关负责人报告。 检验检测和监督检查 1.从事监察条例规定的监督检验、定期检验、型式检验以及专门为特备生产、使用、检验检测提供无损检测服务的特备检验检测机构,应当那个经国务院特备安全管理部门核准。 2.特备的检验检测机构应当具备相适应的人员,相适应的仪器和设备,有健全的管理和责任制度。 3.特备检验检测机构和检测人员对涉及的被检测单位的商业秘密,负有保密义务。特备检验检测机构和检测人员对检验检测结果、鉴定结论负责。 4.特备检测机构进行特备检测,发现严重事故隐患或者能耗严重超标的,应及时报告使用和管理部门 5.特备安全监督管理部门对特备生产、使用单位和检验检测机构实施安全监察时,应当有两名以上的特备安全监察人员参加,并出示有效的特备安全监察人员证件。如过程中发现重大违法行为或严重事

多部电梯群控系统控制算法优化毕业设计论文

多部电梯群控系统控制算法优化 摘要 智能楼宇的普及,使电梯群组控制技术得到飞速发展。电梯系统在安全便捷的基础上更追求乘坐的舒适度,向高效节能发展。促进群控算法不断革新,优化建筑物中交通流的调度方案。电梯系统因自身具有多变量、非线性和随机性等特点,用传统方法较难控制。本文采用多目标规划方法实现多部电梯群组系统控制算法优化,优化电梯交通系统调度方案。首先比较当前主流控制算法,分析电梯群控系统交通流模式。再建立电梯群控系统数学模型,分别在上行高峰、下行高峰、随机客流和空闲交通模式下进行函数分析,分配性能指标权重,得出相应调度规则。最后将系统模型用MATLAB系统仿真,验证系统调度方案,证明多目标规划算法对多部电梯群组系统调度方案有所提高。 关键词:电梯群控,算法优化,交通模式,调度,仿真

Elevators Group Control System Control Aalgorithm Optimization ABSTRACT With the emergence of the intelligent building, the elevator group control technology got rapid development. The elevator system pursuits better riding comfort on the basis of safty and convenience, developing towards high efficiency and energy saving. Promoting the elevolution of group control algorithm, the elevator traffic flow scheduling scheme is optimized. Because of its characteristics of multivariable, nonlinear and randomness, elevator systems is difficult to be controlled in a traditional way. In this article, multi-objective programming method was adopted to realize the optimization of elevators group system control algorithm and the optimization of elevator traffic system scheduling scheme. Firstly, the current mainstream control algorithm are compared, analyzing the elevator group control system of traffic flow patterns. Then a mathematical model of elevator group control system is established, analysing pattern function in the peak peak upward, downward, under random traffic and idle traffic, allocating performance index weight and the corresponding scheduling rules are drawed. Finally, a system model is simulated in MATLAB to verify system scheduling scheme, proving that multi-objective programming algorithms for elevators group system scheduling scheme is improved. KEY WORDS: Elevator group control, Algorithm optimization, Traffic patterns, Sscheduling ,Simulation

磁盘移臂调度过程模拟设计-电梯算法最短寻道时间优先

学号: 课程设计 题目 磁盘移臂调度过程模拟设计 --电梯算法、最短寻道时间优先算法 学院计算机科学与技术学院专业 班级 姓名 指导教师吴利军

2013 年 1 月15 日 课程设计任务书 学生姓名: 指导教师:吴利军工作单位:计算机科学与技术学院 题目: 磁盘移臂调度过程模拟设计——电梯算法、最短寻道时间优先算法初始条件: 1.预备内容:阅读操作系统的文件管理章节内容,理解有关文件组织形式、存储设备的概念。 2.实践准备:掌握一种计算机高级语言的使用。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.编程序模拟磁盘调度的过程,采用指定算法,模拟并输出存取臂的移动顺序,并计算存取臂移动的磁道总数。能够处理以下的情形: ⑴可根据需要输入当前磁头的位置,磁头移动方向; ⑵能够输入柱面数,磁道访问序列等参数,并能够显示调度结果(磁盘访问请求的磁道号 以及磁头移动的总磁道数)。 2.设计报告内容应说明: ⑴课程设计目的与功能; ⑵需求分析,数据结构或模块说明(功能与框图);

⑶源程序的主要部分; ⑷测试用例,运行结果与运行情况分析; ⑸自我评价与总结: i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正; iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他的其他方法(如果有,简要说明该方法); v)对实验题的评价和改进意见,请你推荐设计题目。 时间安排: 设计安排一周:周1、周2:完成程序分析及设计。 周2、周3:完成程序调试及测试。 周4、周5:验收,撰写课程设计报告。 (注意事项:严禁抄袭,一旦发现,抄与被抄的一律按0分记) 指导教师签名:年月日 系主任(或责任教师)签名:年月日 磁盘移臂调度过程模拟设计 ——电梯算法、最短寻道时间优先算法1 课程设计目的与功能

论电梯群控智能系统与智能控制技术

论电梯群控智能系统与智能控制技术 发表时间:2019-08-08T09:16:19.187Z 来源:《基层建设》2019年第11期作者:王程 [导读] 摘要:本文主要针对电梯群控智能系统展开分析,思考了电梯群控智能系统的关键点,以及智能控制技术的关键环节,希望可以为今后的电梯群控智能系统应用提供借鉴。 合肥市科技馆安徽省合肥市 230031 摘要:本文主要针对电梯群控智能系统展开分析,思考了电梯群控智能系统的关键点,以及智能控制技术的关键环节,希望可以为今后的电梯群控智能系统应用提供借鉴。 关键词:电梯群控智能系统;智能控制 一、就电梯群控技术算法 1.1模糊控制算法。模糊控制算法先对电梯交通模式进行分类,然后由专家知识确定隶属函数及控制规则,确立系统的综合评价函数实现多目标控制,并根据不同的交通模式调整加权系数,最后通过模糊控制算法实现不同交通模式下电梯群的优化调度控制。但此算法的缺点是系统性能主要取决于专家的经验,如果专家预设的规则与实际的建筑不符控制效果就会不好,另外调整和确定隶属函数需要大量仿真实验且需花费非常多的时间和精力,学习技能和适应性差。 1.2神经网络算法。神经网络算法模仿的是人类的大脑和思维方式,网络结构特殊性使其具有自学习和自适应能力。它可以通过调整网络权值得到近似的最优输入输出映射关系,适用于处理非线性问题,并且它有很强的自学能力,能改进控制算法并对制定的规则加以修改,利用非线性和学习方法建立合适的模型进行推理对电梯交通流进行预测,对于建筑里不断变化的交通流能灵活的进行调整。由于在网络里要不断接受数据的输入和处理,有很强的自适应能力。但此算法的网络训练样本多,算法的收敛时间将会延长,而且还会产生体积庞大的网络,难以验证算法的合理性。 1.3模糊神经网络算法。模糊控制算法的优点在于它能够处理精确的和模糊的信息并能实现精确的映射,不足之处是隶属函数中的加权系数不能随着不同的交通流类型而变化,无自学习能力,而神经网络算法正好弥补了其不能自学习和自适应性的功能,是可以自动生成函数、自动提取问题的自适应算法。因此将两者完美结合即为模糊神经网络算法,可以发挥各自的特长,更好地预测交通流的不确定性,从而实现以最小的电梯数目配置应付最大的交通流,实现最优的调度。但模糊神经网络算法的不足在于其梯度法的学习,其收敛性太依靠于初始条件。 1.4遗传算法。遗传算法是模拟自然遗传规律来寻找最优方案的一种算法,实际上就是种群在进化中优胜劣汰的一种竞争机制,最终选出最佳的一种方法。此算法自适应能力强,能够根据不同的交通流调整为不同的群控策略,但遗传算法搜索时间长,搜索效率低。 1.5专家系统控制算法。专家系统控制算法是根据专家的经验积累起来的有一定控制规则的推理知识库,能解决很多需要靠经验解决的问题,根据这些输入评价指标信息可以利用推理知识库按一定的策略去调度电梯。但此算法对复杂的电梯控制系统不适用,主要是局限于专家的知识和经验。另外控制规则数多的话,系统难以控制,并且影响控制的性能。 二、神经网络在电梯群控系统中的应用 神经网络的研究已有较长的历史,自从心理学家McCulloch和数学家Pitts在1943年首次提出了一个简单的神经网络模型以后的几十年,神经网络历经沉浮,但多层网络BP算法、Hopfield网络模型等仍然在各个领域得到了广泛的发展,特别是与这一学科交叉的前沿技术领域引起了学者们的关注。神经网络应用在电梯群控系统中的原因是:电梯群控系统具有随机性、非线性,难以建立精确的数学模型,而神经网络学习的主要优点在于它可以通过调整网络连接权来得到近似最优的输入—输出映射,因此适应于难以建模的、非线性动态系统。虽然电梯群控系统具有随机性,但对于任何一幢大楼,都可以近似为有一定的工作周期(一天或一个星期),在不同周期的同一时间段会存在相似的系统状态和系统输入,群控系统可以以一定的采样周期信息作为样本,只要周期足够小,就可以有充足的过程数据用于学习。神经网络在电梯群控系统中最成功的应用就是可以识别交通流量的变化。交通流量是表明电梯状态的一个概念。它可由乘客数、乘客出现的周期及起始点和终点的排队情况来描述。这种交通流量可以划分为许多性质不同的线数图,日立公司开发出的带有神经网络的电梯群控装置EJ21000FN,能适应各种建筑物的交通条件变化。与模糊群控相比,神经网络群控减少了10%的平均候梯时间,减少了20%的长候梯率,防止了群聚和长候梯。 三、模糊控制技术在电梯群控系统中的应用 1965年,美国伯克利加州大学的L.A.Zadeh教授首次提出模糊集合的概念,引入了“隶属函数”来描述差异的中介过渡,开始为研究模糊性规律提供了数学工具。在以后的研究过程中,人们把模糊集合论的思想应用于控制工程领域,形成了这种智能控制方法。模糊控制是建立在人类思维模糊性的基础上,是目前控制领域中所采用的3种控制方法中最有实际意义的方法。电梯交通系统中存在着大量的不确定性,当系统的复杂程度很高而系统的状态又不易精确预测时,制定控制系统的精确模型就很困难,因此许多系统都应用了模糊理论的近似方法。厅层召唤分配给适合服务的电梯过程是一个多目标决策过程。由于决策的目标多,描述比较复杂,同时解的可行域大,用规则方法求严格的最优解目前尚难实现。因此实际上经常根据群控分配原则召唤。群控原则大多是一些模糊的概念,例如:乘客候梯时间的长短、厅层客流量的大小、电梯响应召唤的快慢等。这些模糊概念难以用明确的数量界限定义,也难以用普通的逻辑规则综合考虑,但可以利用模糊模型代表模糊知识,用模糊推理方法进行求解。模糊知识一般以模糊规则的形式给出。自从三菱公司首次把模糊逻辑用于电梯系统后,此种方法获得了广泛的应用。 四、电梯群控技术的发展方向 4.1多目标优化调度方法。目前研究的能达到电梯满意度的指标主要有拥挤程度,乘梯时间、候梯时间,长候梯率等几种,而随着超高层电梯群发展的越来越迅速,人们对环保的关注度加强,对于电梯的运行速度和电梯的能耗方面研究的不多或者不太深入,所以未来新的优化算法需要包含更多人们关注的指标,并且要根据不同建筑物的电梯运行情况和同一建筑物不同时间区间的需求智能的调整这 4.2基于图像处理的群控技术。目前电梯群控大多还是通过传统的外呼按钮作为获取乘客信息的设备,进入电梯之后再进行目标楼层的选择,获取交通流的实时性和完整性不能得到有效的保证。为了解决这个问题,需要增加一些图像处理设备对客流信息进行检测识别,增加智能输入楼层液晶触屏显示器面板提前进行登记,客流信息的完整度掌握非常好的情况下进行派梯会有更好的效果。 4.3基于“互联网+”的群控技术。随着“互联网+”技术的迅猛发展,因网络通信方面也是影响群控技术的关键因素,所以“互联网+”应用在

模拟电梯调度算法,实现对磁盘的驱动调度。

操作系统实验 (第三次) 一、实验内容 模拟电梯调度算法,实现对磁盘的驱动调度。 二、实验目的

磁盘是一种高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅 助存储器,担负着繁重的输入输出任务、在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请求等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求。这就叫驱动调度,使用的算法称为驱动调度算法。驱动调度能降低为若干个输入输出请求服务所需的总时间,从而提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。通过实验使学生理解和掌握驱动调度的职能。 三、实验题目 模拟电梯调度算法,对磁盘进行移臂和旋转调度。 [提示]: (1)磁盘是可供多个进程共享的存储设备,但一个磁盘每时刻只能为一个进程服务。 当有进程在访问某个磁盘时,其他想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出要求而处于等待状态时,可用电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。选择访问者的工作由“驱动调度”进程来完成。 由于磁盘与处理器是可以并行工作的、所以当磁盘在作为一个进程服务时,占有处理 器的另一进程可以提出使用磁盘的要求,也就是说,系统能动态地接收新的输入输出请求。为了模拟这种情况,在本实验中设置了一个“接收请求”进程。 “驱动调度”进程和“接收请求”进程能否占有处理器运行,取决于磁盘的结束中断信 号和处理器调度策略。在实验中可用随机数来模拟确定这两个进程的运行顺序,以代替中断四、处理和处理器调度选择的过程。因而,程序的结构可参考图3—1

《特种设备安全法》出台对电梯行业发展

《特种设备安全法》出台对电梯行业发展 会带来那些积极的影响? 在电梯安全形势日趋严峻和电梯事故频发的情况下,《特种设备安全法》的出台犹如一场及时雨,获得电梯行业和社会公众的一片喝彩。 《特种设备安全法》明确了各方主体的责任,把责任进行了细化,无论是电梯制造厂家、维保企业还是使用单位,都会加大对电梯安全的重视程度,而这也必将促进电梯行业的健康发展。中国电梯行业协会副秘书长张乐祥如此评价《特种设备安全法》出台的意义。 明确安全责任主体防踢皮球 业界普遍认为,近两年电梯安全事故频发与责任不清晰不无关联。事故发生后,制造厂家、维保企业等相关责任主体互相推卸责任踢皮球的现象时有发生。 本法就是要通过强化企业主体责任,加大对违法行为的处罚力度,督促生产、经营、使用单位及其负责人树立安全意识,切实承担保障特种设备安全的责任。全国人大常委会法工委副主任阚珂说。 《特种设备安全法》第二十二条明确规定,电梯的安装、改造、修理必须由电梯制造单位或者其委托的依照本法取得相应许可的单位进行。电梯制造单位委托其他单位进行电梯安装、改造、修理的,应当对其安装、改造、修理进行安全指导和监控,并按照安全技术规范的要求进行校验和调试,电梯制造单位对电梯安全性能负责。 近年来连续发生的多起电梯安全事故表明,维护保养对电梯安全至关重要。据了解,5月深圳罗湖区长虹大厦电梯事故是由于维护保养人员违规使用液体润滑油导致电梯制动能力降低而造成的。 针对类似问题,国家也从法律上对电梯从业人员进行了资质上的严格把关。法律明确要求电梯维护保养必须由电梯制造单位或者依照本法取得许可的安装、改造、修理单位进行;承担维护保养的作业人员必须经过专业培训、取得作业人员资格;维护保养过程应当严格执行安全技术规范要求,并落实现场防护措施,保证施工安全。 此外,电梯投入使用后,电梯制造单位应对电梯的安全运行情况进行跟踪调查和了解,对电梯的维护保养单位或者使用单位在维护保养和安全运行方面存在

操作系统课程设计--模拟实现磁盘的调度

课 程 设 计设计题目:模拟实现磁盘的调度

一、课题设计目的 a、观察、体会操作系统的磁盘调度方法,并通过一个简单的磁盘调度模拟程序的实现,加深对磁盘调度的理解。 b、提高实际动手编程能力,为日后从事软件开发工作打下坚实基础。 c、通过对磁盘调度算法的设计,深入理解提高磁盘访问速度的原理。 二、课题实现环境 VC++6.0 MFC 三、课题设计思路 算法描述: 1.服务算法(FCFS) 先来先服务(FCFS)调度:按先来后到次序服务,未作优化。 最简单的移臂调度算法是“先来先服务”调度算法,这个算法实际上不考虑访问者要求访问的物理位置,而只是考虑访问者提出访问请求的先后次序。例如,如果现在读写磁头正在50号柱面上执行输出操作,而等待访问者依次要访问的柱面为130、199、32、159、15、148、61、99,那么,当50号柱面上的操作结束后,移动臂将按请求的先后次序先移到130号柱面,最后到达99号柱面。 采用先来先服务算法决定等待访问者执行输入输出操作的次序时,移动臂来回地移动。先来先服务算法花费的寻找时间较长,所以执行输入输出操作的总时间也很长。 2.算法(SCAN) SCAN 算法又称电梯调度算法。SCAN算法是磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动,SCAN算法在很大程度上消除了SSTF算法的不公平性,但仍有利于对中间磁道的请求。 “电梯调度”算法是从移动臂当前位置开始沿着臂的移动方向去选择离当前移动臂最近的那个柱访问者,如果沿臂的移动方向无请求访问时,就改变臂的移动方向再选择。这好比乘电梯,如果电梯已向上运动到4层时,依次有3位乘客陈生、伍生、张生在等候乘电梯。他们的要求是:陈生在2层等待去10层;伍生在5层等待去底层;张生在8层等待15层。由于电梯目前运动方向是向上,所以电梯的形成是先把乘客张生从8层带到15层,然后电梯换成下行方向,把乘客伍生从5层带到底层,电梯最后再调换方向,把乘客陈生从2层送到10层。 我们仍用前述的同一例子来讨论采用“电梯调度”算法的情况。由于磁盘移动臂的初始方向有两个,而该算法是与移动臂方向有关,所以分成两种情况来讨论。 〈1〉.移动臂由里向外移动 开始时,,在50号柱面执行操作的读写磁头的移动臂方向是由里向外,趋向32号柱面的位置,因此,当访问50号柱面的操作结束后,沿臂移动方向最近的柱面是32号柱面。所以应先为32号柱面的访问者服务,然后是为15号柱面的访问者服务。之后,由于在向外移方向已无访问等待者,故改变移动臂的方向,由外向里依次为各访问者服务。在这种情况下为等待访问者服务的次序是61、99、130、148、159、199。

电梯调度算法

江西师范大学计算机信息工程学院学生实验报告 专业_ 计算机科学与技术姓名___马化梁学号____1308092042 日期__2015.6.5_ 课程名称操作系统实验室名称X4313 实验名称设备管理-电梯调度算法 指导教师朱明华成绩 1、实验目的 本实验要求学生设计一个电梯调度算法来模拟实现磁盘移臂调度过程。 2、实验原理和内容 任何一个对磁盘的访问请求,应给出访问磁盘的存储空间地址:柱面号、磁头号和扇区号。在启动磁盘执行I/O操作时,应先把移动臂移动到指定的柱面,再等待指定的扇区旋转到磁头位置下,最后让指定的磁头进行读/写,完成信息传送。移臂调度是根据访问者指定的柱面位置来决定执行次序的调度。 3、实验步骤 (1)弄清实验要求及目的; (2)想清思路; (3)设计代码; (4)实现代码。

4、程序及运行结果(或实验数据记录及分析) #include #include #include #include #include using namespace std; const int maxn=1024; int N,a[maxn]; int main() { int flag=1,m; while(flag) { cout<<"电梯调度算法"<>N; cout<<"请输入相应的柱面号"<>a[i]; sort(a,a+N); cout<<"请输入执行I/O操作的起始位置(柱面号)"<>x; for(int i=0;i>y; if(y==1) { for(int i=m+1;i

电梯群控技术的现状与发展趋势

电梯群控技术的现状与发展趋势 摘要院随着高层建筑的迅猛发展,对楼宇智能化程度的要求越来越高,很多高 层建筑中都安装了多部电梯。电梯群控的目的是为了提高对乘客的服务质量,并 减少能量损耗。为提高电梯群控系统的性能,改善服务质量,大量研究人员对群 控算法进行了研究并提出了各种算法。本文首先分析了电梯群控系统算法的现状,然后指出了未来电梯群控系统的发展趋势。 Abstract院With the rapid development of high-rise buildings, intelligent buildings extent of the increasingly high demand, many highrisebuildings are equipped with multiple elevators. The purpose of elevator group control is to improve the quality of service for passengersand reduce energy loss. To improve the performance of elevator group control system and improve service quality, a lot of researchersconducted a study group control algorithm and proposed various algorithms. This paper analyzes the status quo of elevator group controlsystem algorithm, and then points out the future development trend of elevator group control system.关键词院电梯;群控技术;现状;发展趋势Key words院elevator;group control technology;status quo;trends中图分类号院TU857 文献标识码院A 文章 编号院1006-4311(2014)31-0055-02 0 引言在现代社会和经济活动中,电梯已经成为城市物质文明的一种标志, 特别是对于现代社会来说,高层建筑越来越多,无形中也对楼宇智能化提出了更 高的要求。对于居住在高层建筑里的居民来说,电梯是必不可少的一项垂直交通 运输工具,必须保证其安全性和舒适性。有研究有关高层建筑电梯的资料表明: 满足乘客生理和心理上的承受力是电梯交通系统设计的关键。这就要求我们不仅 要保证电梯的安全性和舒适性,还应该最大程度的减少候梯和乘梯时间,而要想 有效的达到这个要求,必须适当的多安装几个电梯,电梯群控系统就是在这种形 势下应运而生的,它是指多台电梯的优化调度系统。 所谓电梯群控系统是依据建筑物内的交通流量状况,科学地安装了多台电梯 形成了电梯群,并且这些电梯群的候梯厅召唤信号是由微机控制系统进行统一管 理的,该系统首先识别当下的交通状况,然后根据自身识别的信息结合不同的优 化目标发布系统控制指令,最后针对这些不同的指令就可以把候梯厅召唤信号分 配给电梯群中的电梯,从而得出最优的分配方案,来提高电梯的运行效率,减少 所有候梯厅乘客的平均等候时间。 在一个不确定的环境下的在线调度、资源配置及随机最优控制组合的问题就 是群控分配算法的实质。对电梯群控系统时间序列性能指标的优化是分配算法的 实质,但是每一个指标都是很难被优化的,形成这种现象的原因主要是系统状态 空间巨大、系统动态特性具有很强的不确定性及系统控制指令的具体实施问题。 1 电梯群控系统算法的现状由于传统电梯控制算法没有加入智能的因素,存 在着以下几个问题:一是电梯的运行效率低;二是电梯容易出现扎堆现象;三是 存在电梯能量浪费的现象等。由此可见电梯群控系统实现智能控制的重要性,只 有在电梯控制系统中采用智能控制算法才能有效地解决以上几个问题。随着智能 建筑的出现和发展,电梯领域的智能控制算法也越来越多,现阶段比较常用的有 以下几种。 1.1 专家系统的群控算法早期人工智能的一个重要分支就是专家系统,是研 究知识表述、使用和获取的一种方法。求解和探索是专家系统的整个工作过程, 它是一种知识信息的加工处理系统,对于现行的不可以用数学模型进行确切描述

应用实例电梯调度模拟器

UML程序设计实例 —电梯调度模拟器— 本章通过电梯调度模拟器的例子详细介绍了如何利用UML进行一个实际系统的开发。这个系统的实现过程,遵循Rational统一软件开发过程,最后用Vc++编码实现。 问题描述 在开发任何一个系统之前,开发人员对所要开发的系统的初步理解首先是从用户的问题描述开始的。问题描述的内容包括系统的基本功能需求,用户对系统的性能,外观等特性的要求。这种描述根据开发项目的规模不同,呈现不同的形式。对于大的项目,问题描述可能是长达几页(几十页)的需求规格说明;对于小的项目,可能只是口头上的几句陈述。通过问题描述,开发人员对要开发的系统产生一个大概的印象。 此实例的问题描述如下: 有一座8层楼房,每层提供一组按钮(“上”或“下”),用于请求电梯的到达;每部电梯内部提供一个控制面板,提供用户对目标楼层的选择,并显示电梯当前所处楼层、运行方向。两部电梯由一个调度器统一调度。如果没有请求,并超过一定时限,电梯回到一楼。希望开发人员能实现一个电梯调度模拟器来模拟如上所述的一切,对电梯的调度准则没有做特别要求。 此外,用户还可能会对系统的性能,外观等特性提出要求,这些都需要在开发过程中加以考虑。 需求分析 拟订侯选需求 在系统开发启动之前,首先要对项目做一些可行性分析。在Rational统一软件开发过程中,称这个阶段为初始阶段。 在初始阶段主要是跟各方进行交流,广泛收集信息,听取客户和专家的建议。并对这些信息和建议进行记录,整理得到一个后选需求列表。 后选需求列表中应包括如下各项 1.名称 2.简要说明 3.状态(建议的、批准的、并入的或证实的) 4.实现成本估算(人小时,人月) 5.优先级(关键的、重要的或辅助的) 6.实现风险的级别(关键的、重要的或一般的) 表1 后选需求列表

电梯群控系统软件设计

电梯群控系统软件设计

目录 摘要 (Ⅰ) Abstract (Ⅱ) 第1章绪论 (1) 1.1 电梯群控系统概述 (1) 1.1.1 电梯群控系统的起源 (2) 1.1.2 电梯群控系统的发展状况 (3) 1.2 国内外电梯群控算法的研究现状 (4) 1.2.1 专家系统的应用 (4) 1.2.2 模糊控制的应用 (5) 1.2.3 人工神经网络的应用 (5) 1.2.4 遗传算法的应用 (6) 1.3 课题背景、目的及意义 (6) 1.3.1课题背景 (6) 1.3.2 课题的目的及意义 (7) 1.4 本论文研究的主要内容 (8) 第2章电梯群控系统的网络结构设计及特征分析 (9) 2.1 电梯群控系统的特性 (9) 2.1.1 多目标性 (9) 2.1.2 不确定性 (10) 2.1.3 非线性 (10) 2.1.4 电梯群控系统中信息的不完备性 (11) 2.2电梯群控系统的性能评价指标 (12) 2.2.1 运行距离s (12) 2.2.2 停站层数n (13) 2.2.3 候梯时间t (13)

2.2.4 乘梯时间T (13) 2.2.5 平均乘梯时间 (13) 2.2.6 长侯梯率L (14) 2.2.7 拥挤度W (14) 第三章模糊神经网络的群控系统设计 (15) 3.1 整体的控制系统图 (16) 3.2 模糊神经网络模块 (16) 3.2.1 模糊集合和模糊规则的确定 (16) 3.2.2 模糊隶属函数的确定 (17) 3.3 模糊BP神经网络的设计 (19) 3.3.1 模糊BP神经网络结构的设计 (19) 3.3.2 模糊神经网络的训练算法设计 (20) 第四章程序设计 (22) 4.1 PLC的编程语言 (22) 4.2 程序设计常用方法 (22) 4.2.1经验设计法 (23) 4.2.2 逻辑设计法 (23) 4.2.3 顺序控制法 (23) 4.3 I/O点数的估算 (24) 4.4 输入/输出的分配如下: (25) 4.5 群空器程序设计 (26) 4.6 应用程序与PLC之间的DDE通信 (28) 第5 章电梯群控系统的仿真 (31) 5.1 BP模糊神经网络的训练 (31) 5.1.1 乘梯满意度的训练 (31) 5.1.2 侯梯满意度的训练 (32) 5.1.3 耗能满意度的训练 (33)

数学建模 电梯调度问题16

电梯调度问题 商业中心某写字楼有二十二层地上建筑楼层和两层地下停车场,6部电梯,每部电梯最大载重是20个正常成人的体重总和。工作日里每天早晚高峰时期均是非常拥挤,而且等待电梯的时间明显增加。请你针对早晚高峰期的电梯调度问题建立数学模型,以期获得合理的优化方案。 1)请给出若干合理的模型评价指标。 2)暂不考虑该写字楼的地下部分,每层楼层的平均办公人数经过调查已知(见表1)。假设每层楼之间电梯的平均运行时间是3秒,最底层(地上一层)平均停留时间是20秒,其他各层若停留,则平均停留时间为10秒,电梯在各层的相应的停留时间内乘梯人员能够完成出入电梯。 表1:该写字楼各层办公人数 楼层人数楼层人数楼层人数 1无9236 617200

2 3 4 5 6 7 8208 52 177 222 5 130 181 191 236 7 10 11 12 13 14 15 16 139 272 272 272 270 300 264 18 19 20 2l 22 200 200 200 207 207 请你针对这样的简化情况,建立你的数学模型(列明你的假设),给出一个尽量最优的电梯调度方案,并利用所提评价指标进行比较。 3)将你在第2问中所建立的数学模型进一步实际化,以期能够尽量适用于实际情况,用于解决现实的电梯调度问题。 问题备注:

本题的评分标准按照以下先后顺序:逻辑的严谨程度-行文与模型描述的条理程度-模型和现实问题的接近程度-以及所用数学工具的理论程度。 摘要 随着科技的发展,人们逐步加快了自己的步伐,高节奏的生活,对于时间的要求,越来越高,写字楼里的人来也匆匆去也匆匆,在高峰期时段对电梯的使用最多,电梯的合理化应用在此显得尤为重要,没有合理的优化方案,不仅影响了乘客的上班时间,同时,电梯的多次停顿也造成了一定程度的能源浪费,所以在此提出得到优化方案,并作出计算分析其优化程度。 本文首先根据电梯群控模型评价指标体系,从乘客者的候梯时间和乘梯时间和能耗三个角度考虑。最初选定方案一 电梯编号负责楼层 1—2 2-10 3—4 11-17 5—6 18-22 方案二 电梯编号负责楼层 1 2 3 4 5 6 2 7 8 9 10 3 11 12 13 4 14 1 5 16 5 17 18 19 6 20 21 22 我们将建立一个多目标规划模型,对该模型的建立,分三个目标:乘客的平均候梯时间要短,乘客的平均乘梯时间要短,能源耗损要少。利用这三个指标来综合评价电梯群控方案的优劣。并采用模糊评价和多目标优化群控和借助实现蒙特卡罗模拟的思想,建立了全面合理的电梯调度方案的评价体系。并将模拟出的数据代入评价函数,从而帮助确定电梯调度的最佳策略。 根据建模得到的结果,最终得到的最佳方案为方案二。最后本文还根据使用的算法,结合实际情况,对模型的优缺点进行了详细的分析与评价,并提出了改进和模型推广方向。最后本文就所建立的模型在实际运用中的作用进行了分析,并提出了改进方向。结合实际,加入重要因素的考虑,比如考虑其他交通流,考虑个别人群满意度。

相关文档
最新文档