2018数模国赛B题(2)完整实现代码

本文介绍了2018数模国赛B题中RGV类的详细实现,包括RGV类的构造函数、初始化、移动、上下料、清洗和等待等关键操作。同时阐述了CNC类的构造及时间同步功能,通过CNC::countdown函数实现时间变化的同步。
摘要由CSDN通过智能技术生成

//接前一篇

1、RGV::RGV()

      RGV类构造函数,定义RGV类对象时实现成员变量的初始化。具体成员变量初始化情况:RGV初始位置Position=0,初始最优解(RGV当前操作CNC台的编号)now_cnc=1,RGV初始状态rgv_flag空闲,加工总耗时为0,加工熟料总数为0。

2、void RGV::Init(CNC *p)

       RGV第一轮作业情况特殊,仅需考虑RGV“移动”和“上料”动作。

3、int RGV::posCalculate(int pos1, int pos2)

      该函数返回RGV从位置1pos1移动到位置2pos2需要的时间。主要由函数RGV::move调用。

4、void RGV::move(CNC *p)

      该函数抽象RGV类的“运动”作业。①先用“贪心算法”找到RGV下一移动目标的最优解next_cnc;②比较当前对象now_cnc和最优对象next_cnc,如果当前对象不是最优对象,则移动向最优对象;③判断是否需要等待,如果最优CNC工作台当前忙碌(CNC工作剩余时间count不为0),则等待。

5、void RGV::load(CNC *p)

      该函数抽象RGV类的“上下料”作业。①判断当前C

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值