任务详情
需求目标
设计并实现一套“木板套料算法”,完成以下任务:
输入加工件 CAD 图纸(DXF 格式),识别所有需要切割的板件轮廓及其数量;
输入原料板 CAD 图纸(DXF 格式),识别可使用的原料板边界信息;
在约束条件下完成套料优化排布,输出排布结果;
输出标准化结果文件,包括:
○ 排布图(DXF 格式);;
○ 加工件与原料板之间的匹配关系映射表。
加工件
●来源于 BIM 系统或设计系统导出的 CAD 文件;
●每个加工件为一个封闭图形(可能为矩形或任意异形);
●同一类型加工件可能有多个(如 1 号件×3);
●加工件尺寸以毫米为单位
原料板
●来自企业库存的旧料(余料)CAD 图形;
●每张原料板为一个封闭图形(可能为矩形或异形);
●每块原料板的可用空间不完全一致;
●图纸中可识别唯一编号,支持多个原料板同时套料。
问题建模
●类型:二维异形装箱问题(2D Irregular Packing);
●目标:在多个原料板上放置全部加工件,满足以下约束条件,并优化目标函数;
●特性:加工件尺寸不变,允许旋转(可配置是否允许);
●匹配方式:多对多(一个原料板套多个加工件);
约束条件
1.加工件不得超出原料板边界(强约束);
2.加工件之间不得重叠(强约束);
3.加工件必须完全套入某一块原料板(当前版本不考虑跨板拼接);
4.加工件可按设定角度旋转(如允许 90°、180°旋转);
5.排布时保留最小间距边界(如 5mm)用于切割刀路。
优化目标
●主目标:原料板空间利用率最大化;
●次目标:减少使用原料板数量(即尽量在少量原料板中完成所有套料);
●可扩展目标:优先使用尺寸较小或库存时间较久的原料板(后期可引入优先级模型)。