问题描述
该问题来源于参加某知名外企的校招面试。根据面试官描述,一块木板有数百个小孔(坐标已知),现在需要通过机械臂在木板上钻孔,要求对打孔路径进行规划,力求使打孔总路径最短,这对于提高机械臂打孔的生产效能、降低生产成本具有重要的意义。
数学模型建立
问题分析
机械臂打孔生产效能主要取决于以下三个方面:
单个孔的钻孔作业时间,这是由生产工艺所决定的,不在优化范围内,本文假定对于同一孔型钻孔的作业时间是相同的。
打孔机在加工作业时,钻头的行进时间。
针对不同孔型加工作业时间,刀具的转换时间。
在机械臂打孔生产效能的三个重要因素中,单孔作业时间因生产工艺无法优化,刀具切换时间因生产流程无法优化,所以可优化的主要是机械臂行进时间,这直接受到打孔路径规划的影响,并与路径长度正相关,所以设计出合理的较短的打孔路径,对于提高机械臂打孔的生成效能具有重要意义。
打孔的路径规划问题,可以转换为旅行商问题TSP(一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后回到原来出发的城市)来分析求解。
在实际应用中,因为机械臂连续作业,那么一块木板打孔完毕后,机械臂是否回到起始点需要对TSP进行改造。
最佳规划路径
采用0-1变量来确定规划路径上两点的情况,即
那么刀具行进时间为
其中ÿ