2018年数学建模国赛B题 智能RGV的动态调度策略
第一种情况大致思路: 每秒判断各个CNC的状态,若工作完成或者是出于空闲状态下则向RGV发出一个请求。同时,RGV每秒判断自己的状态(上下料、移动、闲置、清洗等),如果是处于闲置状态,则启用调度算法,把目前在闲置的CNC做一个全排列,计算把他们都换上料所花的时间。得到最优方案后再决定这次给谁上料,同时切换状态。
第二种情况大致思路: 大致与上面的相同,还是每秒判断各种状态,再特殊时段启用调度算法决定去哪,不过这里是双工序,所以需要在初始确定一种刀片分配方案。这里用循环直接枚举出所有的分配方案,每一种在仿真八个小时(实际上就是几秒,不显示界面的话)得到一个分数,选择最好的一种分配方案。这里对于某一种确定的分配方案,我们在调度的时候,选择把空闲的一号刀片CNC与二号刀片CNC放在两个列表中,也是对两个列表做一个全排列,并计算交错运行的间隔时间,找到最短方案。(比如1 2 是一号刀片 3 4 5是二号刀片 因为一个长一个短,全排列后也无法正好一个一号一个二号全上一次料,所以我们以短的那组作为上下料的数目 这里第一个列表长度是2 第二个是3 所以计算两对即可,去一个一号工序的,去一个二号工序的;再去一个一号,再去另一个二号;计算过程中所有CNC的等待时间),因为我们两个列表都做了全排列,且取较短的那个,所以可以穷举所有情况:比如最终采取1 4 2 5,然后在完成1 4之前就不再变动,当1 4 完成后,重新启用调度算法,对剩下的空闲CNC再算一次,决定当前状态下怎么抉择最好。
第三种情况大致思路: 这里我们启用了一种智能的调度算法,框架大体同上,只是让RGV每时每刻都处于一个接收命令的状态,所以命令列表就是所有的CNC,而非空闲的CNC了。对所有CNC进行全排列,计算去哪一个花费的时间少。并直接过去,如果此CNC未完成工作就继续等待。在完成一个工作后,立马计算当前状态下应该前往哪一个CNC那里。双刀片类似。
2018年数学建模国赛B题代码 本代码实现的是一个仿真模型,并在优化模型中使用了智能化的小车
具体代码太长,已经上传到Github:https://github.com/xiaoDragon/-2018-mathematical-modeling-competition-Question-B
2018年数学建模国赛B题 智能RGV的动态调度策略的更多相关文章
- 2018数学建模国赛总结(A题/编程选手视角)
2018数学建模已经告一段落了,先说说基本情况吧,我们队伍专业分别为:金融(A),会计(B),计算机(我),配置还算可以,他们俩会数据分析软件也会写论文,我可以写代码,画图.他们俩打过美赛(M奖),我 ...
- 2017年第六届数学中国数学建模国际赛(小美赛)C题解题思路
这篇文章主要是介绍下C题的解题思路,首先我们对这道C题进行一个整体的概括,结构如下: C题:经济类 第一问:发现危险人群. 发现:欺诈的方式开始.雇佣或浪漫的承诺. 数据→确定特定的经济萧条地区→确定 ...
- 2017 年“认证杯”数学中国数学建模网络挑战赛 C题思路讲解
之前有小伙伴私信我叫我说说这次比赛C题的思路,怎么写的,我就写篇博客说说吧,仅供参考! 针对C题,该题目比较综合,是一个成熟的数模赛题,与国赛的相似性较高.一般而言,第一问难度较低,题目要求进行数据挖 ...
- 2019建模美赛B题(派送无人机)M奖论文
昨天上午出了建模美赛的结果,我们小组获得的是M奖,感觉挺开心的.我一直觉得拿O奖那种是个概率事件,需要天时地利人和的各种因素都合适才行,所以看到自己是M奖,感觉自己的能力已经得到了认可就很满意了.今天 ...
- 2018年蓝桥杯b组国赛真题
1.标题:换零钞x星球的钞票的面额只有:100元,5元,2元,1元,共4种.小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱.小明有点强迫症,他坚持要求200元换出 ...
- 2018 ACM-ICPC徐州站网络赛 G题
There's a beach in the first quadrant. And from time to time, there are sea waves. A wave ( xxx , yy ...
- 无聊的活动/缘生意转(2018 Nova OJ新年欢乐赛B题)解题报告
题目2(下面的太抓 我重新写了个背景 其他都一样) 无聊的活动 JLZ老师不情愿的参加了古风社一年一度的活动,他实在不觉得一群学生跳舞有什么好看,更不明白坐在身后的学生为什么这么兴奋(看小姐姐),于是 ...
- 平方十位数(蓝桥杯第八届国赛真题 JAVA-B组)
思路:从大到小枚举,判断其平方是否不重复 答案:9814072356 //水题 标题:平方十位数 由0~9这10个数字不重复.不遗漏,可以组成很多10位数字. 这其中也有很多恰好是平方数(是某个数的平 ...
- 2016国赛B题小区数据爬取软件
-------------------------请以任何方式留言给作者,否则视为窃取----------------------------- 看你们找数据找的那么辛苦 我就苦逼的花了1个小时写了个 ...
随机推荐
- FTP上传(批处理)
将以下内容保存为名为ftp_upload.txt的文件: open 192.168.11.199testw\adadminboc.123binaryput e:\wt.zipbye 在命令提示符下运行 ...
- 乘风破浪:LeetCode真题_002_Add Two Numbers
乘风破浪:LeetCode真题_002_Add Two Numbers 一.前言 这次的题目是关于链表方面的题目,把两个链表对应节点相加,还要保证进位,每个节点都必须是十进制的0~9.因此主要 ...
- wooyun内网渗透教学分享之内网信息探测和后渗透准备
常规的,从web业务撕开口子url:bit.tcl.comgetshell很简单,phpcms的,一个Phpcms V9 uc api SQL的老洞直接getshell,拿到shell,权限很高,sy ...
- SQL简单基础(1)
对于SQL不再做过多的介绍,毕竟作为一个初学者对于SQL(结构化查询语言)也好,关系型数据库也好理解都并不是很深,只知道一些基本的概念. 本系列旨在介绍一些简单开发中用得上的SQL语句以及其使用方法, ...
- python process,queue
#-*- coding:utf-8 -*- from multiprocessing import Process,Queue import os,time,random def write(q): ...
- Requests中文乱码解决方案
分析: r = requests.get(“http://www.baidu.com“) **r.text返回的是Unicode型的数据. 使用r.content返回的是bytes型的数据. 也就是说 ...
- [Noip2007]Core树网的核
嘟嘟嘟 首先求树的直径两次bfs即可,实际上bfs就是最短路,因为树上路径是唯一的,所以用任何一种遍历方法都行(spfa和dijkstra当然也可以). 可以证明,只要求出任意一条直径就行了,为什么呢 ...
- [USACO09MAR]Look Up
嘟嘟嘟 题面说的有点问题,应该是向后看齐. 于是我们维护一个单调递减栈,如果当前a[i]比栈顶元素大,就执行pop操作,然后把pop出来的元素的答案都用 i 更新即可. #include<cst ...
- 4、Android-数据存储方案(使用LitePal操作数据库)
4.5.使用LitePal操作数据库 4.5.1.LitePal简介 LitePal是一款开源的Android数据库框架 采用了关系映射(ORM)的模式 将经常使用的一些数据库做了封装 是得不用编写S ...
- 3、Web Service-Jaxws(Eclipse版本)
1.概述 开发手段: 使用jdk开发(1.6及以上的版本) 使用CXF框架开发 组成: -服务器端 -客户端 2.使用JDK开发 1).服务器端 -@WebService(SEI和SEI的实现类) - ...