Situation

这是我参加18年数学建模竞赛赛题,一个智能加工系统的RGV动态调度问题。即在一个智能数控加工车间,有8台加工机床CNC等距排列在加工线的两侧,生产线传输带上有一辆命名为RGV的小车负责给CNC上下料。
题目设定了三组工作情况:一道工序加工、两道工序加工、一道工序,两道工序发生故障加工(故障发生率为1%),要求我们分别建立不同的模型求解出8个小时RGV动态调度的最佳方案,并给出了三组该加工系统的参数用来检验模型。

Target

我们根据对智能加工系统动态调度的约束条件,通过层次结构优化法,分析得出每一种情况下RGV动态调度的最佳方案(以加工完成物料的数量作为系统效率的绝对指标),并推导出相应的数学函数,建立求解模型。最后通过对数据验算,验证该模型的实用性和可行性。

Action

情况1.一道工序(无故障)
解决方案

因为一道工序所用的道具相同,所以无论在哪一 台CNC加工都可以完成,这是一个简单的排列组合问题, 只要找到最简路径方案周期性运行即可。

1)RGV的运动路径A3 3共有六种情况(移动单位0123)

2)RG V的作业调度分析

RGV按照顺序各完成一次上下料之后总是选择等待时间最长的CNC进行上下料,确定下一次作业工序。

3)调度模型的目标函数

以一个班次8小时系统加工完成物料的总数最多为系统工作效率最高的绝对指标。

4)调度模型的约束条件

a.加工完成的物料数量:一个班次第i台CNC加工完成Ni个物料,则有Ni;
b.CNC加工完成时间约束:一个班次第i台CNC加工完Ni个物料所需要的总时间:上下料+加工+等待总时间小于等于8*3600;
C.RGV 作业约束时间:**一个班次RGV的移动、上下料、清洗作业和等待时间总时间小于等于8*3600
D、RGV移动时间约束:RGV根据回路1与回路2周期性作业的总时间小于等于8*3600  
E、RGV与CNC作业时间约束:
 第i个物料下料开始时间=第i+1个物料的下料开始时时间;
 第i+1个物料开始时间-第i个物料下料时间>=RGV移动时间+一个物料的清洗时间+一次上下料时间
 下料开始时间-上料开始时间>=一次上下料时间长度+加工一个物件的时间长度

情况2.两道工序(无故障)
解决方案

因为两道工序的每一个物料都要在两台不同的CNC上分别一次加工完成,所以两道工序是在一道工序的基础上先确定两道工序CNC的数量和分布位置,再按照最优回路周期作业。

两道工序CNC数量及分布位置的确定

通过穷举法得出16*16=256种CNC的分布情况网络, 再根据该网络计算出每一种CNC数量及位置分布下最优回路的RGV总体的调度效率。

约束条件:

下料开始时间-上料开始时间>一次下料时间长度+加工一个物料的时间长度
RGV的动态约束时间:工序a的第K个物料的CNCi下料-移动到给物料加工的CNCj 上料——物料K对CNCj
下料——熟料清洗送下料传送带——加工工序a的第K+1个物料的CNC

情况3.一道工序、两道工序故障
约束条件:

出现故障是在无故障的基础上,CNC以1%的概率发生故障后对RGV动态调度的影响。因为故障的发生具有4个不确定性:发生故障的CNC是随机的,发生的时间是任意的,发生故障的次数不确定、排除故障的时间不确定。

解决方案:

假设加工过程中每台CNC发生故障的概率是等可能的,发生故障的时刻和故障排除的时间的不确定性,考虑到这是概率分布问题,我们猜想可以假设加工过程中每台CNC发生故障为泊松分布,从而计算出发生故障对RGV动态调度的影响。

RESULT

我们计算出来的每种作业情况下,一个班次8小时系统加工完成物料的总数与给定的参考数据比较,效率达到96%,从而验证了所建模型的实用性与可行性。
起初,我们根据积累的建模经验,认为遗传学算法能很好的解决RGV动态调度问题,但是在实现的过程中,遇到了很多问题。所以中途放弃了遗传学算法,最后时间极其有限,故障作业情况下的模型没有编写。

Q&A

sum

数学模型:优化、预测、评价 优化方法中,决策变量、目标函数(尽量简单、光滑)、约束条件、求解方法

数学建模十大算法:

1.蒙特卡罗算法:随机抽样或统计抽样模拟算法,适用于所求问题是某种随机时间的概率或者随机变量的期望值,通过“实验”,计算出统计特性;特点:思路简单,易于理解;采用随机抽样,结果真切;不受系统限制;

2.数据拟合、参数估计、插值等数据处理算法:给出一批数据点,确定满足特定要求的曲线或者曲面,从而反映对象整体的变化趋势,多用Matlab;

3.线性规划、整数规划、多元规划、二次规划等规划类问题:以一组不等式为约束条件、各个函数表达式作为目标函数,列举出规划用Lingo;

4.图论算法:最大流、二分匹配、floyd 等

5.动态规划、回溯搜索、分治算法、分支定界等计算机算法;

6.最优化理论的三大经典算法:模拟退火、神经网络、遗传算法;遗传算法

7.网络算法和穷举法;

8.一些连续离散发方法;

9.数值分析算法;

10.图像处理算法;

遗传算法:模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模拟,
模拟自然进化过程搜索最优解; 特点:直接对结构对象操作,具内在的隐并性和全局寻优能力; 过程:编码—初始化种群——评估种群中个体适应度——选择——交叉——变异——演化

数学建模的步骤

五步法

STEP1. 提出问题 ;
STEP2选择建模方法 ;
STEP3推导模型的数学表达式;
STEP4求解模型 STEP5回答问题

《智能RGV动态调度》项目相关推荐

  1. 《基于C/S模式的android手机与PC机通信系统的开发》项目

    基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 单位:南京邮电大学 通信与信息工程学院 信号与信息处理 6班 学号:1012010638 邮箱:zhb931706659@126 ...

  2. 通过usb利用adb实现android手机和pc机通信

    1. adb forward 原理概述 adb forward 的功能是建立一个转发 如:adb forward tcp:8000 tcp:9000 的意思是,将PC端的 8000 端口收到的数据,转 ...

  3. android手机连接PC后怎样切换为U 盘模式

    android手机连接PC后怎样切换为U 盘模式 之前已经发过关于 APK文件怎样安装程序到手机上  已经介绍过了怎样通过手机与 PC 的连接将软件安装至手机.这一次再来讲解一下怎样将你的手机变为&q ...

  4. 如何在Android手机上进行Google Map的开发。

    1.题记 提起谷歌Map相信大家都不会陌生,那进入我们今天的话题,如何在Android手机上进行Google Map的开发. 2.Map应用程序的开发 2.1 准备工作 2.1.1 申请Android ...

  5. android手机的刷机

    android手机的刷机,就相当于给它重装一下系统,这和我们常见的电脑重装系统类似.刷机前先对自己手机中的一些重要内容进行备份吧,像名片,短信,日历等重要信息,有需要的就先备份一下,否则刷机后就都没了 ...

  6. Android手机vivoY20t刷机教程

    首先要清楚刷机的概念,刷机分为卡刷和线刷两种.卡刷,是手机能开机,刷机包放在手机卡中进行刷机.线刷,是手机无法开机变砖头,这个时候只能进行线刷. 需要知道刷机的手机型号,我的Android手机的手机型 ...

  7. android手机连接PC无法正常安装驱动

    工作当中我们经常会遇到Android手机连接PC的时候无法正确安装驱动,或者安装失败.当然找到正确的驱动文件时首选的解决方案,如果正确的驱动文件依旧无法安装成功我们可以打开我的电脑-->属性-- ...

  8. android平台如何实现b s模式,基于B/S架构的Android手机管理系统的设计与实现

    摘要: 随着Android手机的市场占有率不断攀升,出现了很多通过电脑管理Android手机的管理类软件,使用这些软件进行手机管理前需要很多繁琐的步骤,需要用数据线将手机与电脑连接,在手机上打开调试模 ...

  9. android老人机模式吗,Android手机变身老人机

    让Android"老年化" 我们都知道Android系统的图标较小,多安装一些应用,就密密麻麻一片挤在屏幕上,别说老年人,年轻人看着都容易眼花.改造普通智能手机变成老年机最重要的一 ...

  10. android系统怎么刷机教程,如何刷新Android系统? Android手机通用刷机教程

    方法一,刷卡机 1. 在恢复模式下,从sdcard中选择第四项Flash zip. 2. 然后,您将在SD卡中看到所有zip文件. 名称update.zip只是为了找到rom软件包,找到您放入SD卡中 ...

最新文章

  1. 决策树-随机森林-两种Feature importances排序方法
  2. Linux Kernel TCP/IP Stack — L4 Layer
  3. 有一整片蓝天 停住时间。
  4. 建议11: 区别对待==和Equals
  5. python 判断子序列_Leetcode练习(Python):第392题:判断子序列:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。...
  6. 【kafka】如何修改分区的指定副本为Leader|设计方案
  7. SAP License:孔乙己,一名ERP顾问
  8. OpenCart框架运行流程介绍opencart资料链接
  9. hive 建表导入数据
  10. 去掉flash player自带的fff新推荐广告插件
  11. 从大数据的角度看 房价一定会下跌
  12. php吧输出结果进行分割,[判断题] 呼叫处理程序按照一定的逻辑对呼叫进行处理,对呼叫的处理结果与局数据、用户数据的内容无关。...
  13. java deflate,java.util.zip.Deflater.deflate(byte[] b, int off, int len)方法示例
  14. Elasticsearch 7.X RESTful 风格 高级查询
  15. 11 从零实现线性回归
  16. CodeChef 补题
  17. 关于ARM指令的英文全称(方便记忆|巧记汇编指令)
  18. python半径为2.11的圆球的体积_python数据分析第二版(11),利用,Python,进行,复现,十一...
  19. 三大运营商手机号段正则表达式
  20. 与matlab有关的课程设计,MATLAB课程设计

热门文章

  1. Win7 关闭任务栏缩略图预览(Taskbar Thumbnails Preview)
  2. iOS 图片转NSData
  3. Spring StateMachine(2) UML状态图支持
  4. 暗淡的太阳,Sun公司兴衰史
  5. 局域网中搭建EasyDarwin流媒体服务器后,使用vlc拉流播放失败的解决方法
  6. 红薯淀粉加工设备加工需要哪些部分组成
  7. 利用梯度下降法实现线性回归--python实现
  8. 定远化工学校计算机专业数学达标分,定远化工学校2021年有哪些专业
  9. Oracle SPARC T7-2 服务器:硬件规格
  10. android测试rs232_Android接入RS232-新闻详情