最初始版本,使用最原始的贪心算法,优先合成7类工作台,让其快速生产,4.5.6类工作台根据7类工作台的需要进行生产。
根据需要购买:先判断7类工作台是否有产品,如果有则送去8类或9类工作台,如果没有则判断缺少哪一类产品, 例如缺少6号原材料,判断6类工作台是否有产品,如果有则送去7类工作台,如果没有则判断缺少哪一类产品,以此类推。
问题:一开始对工作台的判断顺序为根据工作台序号,但这样会使机器人向偏远的工作台购买以及取货物,浪费较多时间, 解决方法:对最高级别到最低级别的工作台构建成一个树,根据每一级的工作台寻找最近距离的下一级别工作台,以此来使机器人行驶较短的距离而节省时间。
问题:工作台每一帧都会给机器人发送消息,这样会导致机器人没有执行完上一个步骤就被下达另一个命令 解决办法:将工作台和机器人进行绑定,当机器人还没有执行完上一个指令时,不会再接收其他工作台发送的指令。
问题:工作台给查询机器人的工作状态并给机器人发命令的顺序是按序号的,这导致工作台可能会给较远的0号机器人发命令,而不给较近的1号机器人发信号 解决办法:工作台先计算所有没有任务的机器人的距离,对最近的机器人发命令。
就近原则策略:机器人选择购买最近的工作台产品,向最近的工作台售卖
优点:机器人不会去较远的工作台购买或者售卖,保证了机器人的行动效率
问题:机器人寻找最近的工作台时,而该工作台已经有一个更近的机器人在附近,这将会导致两个机器人会更加的规划不是最优的 解决方法:对机器人任务进行交换策略,计算两个机器人交换任务后的总行驶距离,如果更短则将两个机器人进行交换,以确保四个机器人的总行驶距离是最短的。
问题及解决办法:由于机器人到工作台是有距离的,所以对工作台增加了产品生产完毕的预测功能,也增加了工作台产品生产完毕后原材料缺少的预测。
问题:机器人与工作台之间不会发生碰撞,但机器人之间是会发生碰撞的,才有防碰撞的方法是低序号的机器人躲避高序号的机器人,但这样仍然会发生碰撞,在此之上先判断为携带物品的机器人给携带了物品的机器人躲避。
经济效益优先:计算一个机器人先去一个工作台购买一个物品,再去另一个工作台卖出去,计算出每个机器人可能会执行的路线,构造价值函数:将所行驶的距离和赚取的差价统计出来,再将距离换算成时间,根据赚取的价值除以时间得到每一秒的收益,寻找出经济效益最高的一条路线。