赛题公示

12.智能订单拣货路径规划

智能订单拣货路径规划

 

一、项目背景
在现代仓储管理中,拣货是订单履行过程中的核心环节。拣货员根据订单需求,在仓库内不同货位拾取商品。一个高效的拣货路径规划方案能够显著缩短拣货员的行走距离,从而提高整体拣货效率,降低运营成本。

二、项目需求
开发一个程序,能够根据用户指定的货物和仓库内商品及货位的预设信息,规划出一条拣货路径。该路径需从一个固定的仓库起点出发,依次访问订单上所有商品所在的货位(每个需拣选商品的不同货位仅访问一次),并最终返回该固定起点。目标是使拣货员的总行走距离最短。程序需采用简化的曼哈顿距离计算两点间的行走距离,并应用最近邻算法(Nearest Neighbor Algorithm)作为路径规划的简化策略。

三、输入数据格式

1.  初始库存布局数据 (Simplified_Initial_Stock.csv):

    CSV文件,描述每个SKU(商品唯一编码)当前存放的货位。

    关键字段:

    SKU_Reference;num (文本型): 商品的唯一编码及其对应的数量。

    Location_ID (文本型): 该SKU存放的货位唯一编码。

    限制条件: 每个SKU只存放在一个唯一的货位。

2.  货位坐标数据 (Simplified_Locations.csv):

    CSV文件,提供仓库中所有货位的唯一标识及其简化的二维坐标。

    关键字段:

    Location_ID (文本型): 货位的唯一编码。

    X_coord (数值型): 货位在仓库中的X坐标。

    Y_coord (数值型): 货位在仓库中的Y坐标。

3.  固定起点坐标 (程序运行时输入或硬编码):

    格式为元组 (X, Y)

    示例: START_POINT = (0, 0)

 

四、训练/参考数据示例

   Simplified_Initial_Stock.csv 内容示例:

image.png

   Simplified_Locations.csv 内容示例:

image.png

五、评测数据示例 (预期输出格式)
对于用户给定的拣货单和起点,例如:
输入拣货单:
[{"sku": "SKU001", "quantity": 1}, {"sku": "SKU004", "quantity": 1}]
输入起点: (0,0)

假设根据CSV数据查得:

   SKU001 位于 LOC_A1,坐标 (1,1)

   SKU004 位于 LOC_C1,坐标 (5,1)

程序应输出:

1.  规划的拣货路径: 一个包含坐标元组的列表,表示从起点开始,依次访问的货位坐标,最后回到起点。
示例输出(具体顺序取决于最近邻算法的起始选择和实现):
拣货路径: [(0,0), (1,1), (5,1), (0,0)]

2.  计算的总行走距离: 一个数值,表示该路径的总曼哈顿距离。
示例输出(基于上述路径):
总行走距离: 12
(计算过程:|(1-0)|+|(1-0)| = 2; |(5-1)|+|(1-1)| = 4; |(0-5)|+|(0-1)| = 6. 总计: 2+4+6 = 12)

六、交付形式
提交一个能够独立运行的程序(例如Python脚本)。该程序应能读取指定的CSV输入文件,并能接收或内部定义拣货单和起点信息,最终将规划的拣货路径和总行走距离按指定格式输出到标准输出或指定文件。

七、评测标准

1.  订单处理: 能够正确解析用户输入的拣货单,并识别出所有需要访问的唯一货位坐标。

2.  路径规划: 正确实现最近邻算法,从指定的 START_POINT 出发,访问所有目标货位坐标,并返回 START_POINT

3.  输出正确性: 输出的拣货路径(坐标序列)和总行走距离与标准答案一致或在允许的误差范围内(若问题存在多种最优解,则路径序列可不同但总距离应一致)。