SuperAPI AI 工具集

1d-cutting-stock

通用与其它

查看项目

更新于 10-15 21:09

技能介绍

用途:解决一维切割下料问题,即把标准长度原料(钢管、棒材、梁、纸卷、布料等)切成多个小尺寸件以满足需求,目标是最小化用料数量、材料成本或废料率,提高利用率。

主要能力与覆盖范围:资料将问题分为经典切割下料(单一原料长度、多需求长度)、多原料长度(各自成本不同,最小化总成本)、余料利用(优先使用已切余料)、带换型/装设成本的切割、两阶段切割等类别。

数学模型:给定原料长度 L、各需求件长度 l_i 与需求量 d_i,定义切割模式 a_j,用决策变量 x_j 表示模式使用次数,最小化 Σx_j,约束为 Σ(a_ij×x_j)≥d_i、x_j 取非负整数。核心难点是模式数量随规模指数增长,无法显式枚举,需列生成。

算法:资料给出三类方法及 Python 实现。一是首次适应递减(FFD)贪心启发式,通常高于最优解 10% 至 30%;二是最佳适应递减(BFD),通常高于最优解 5% 至 20%;三是列生成精确解法,用主问题(LP)选择模式、用定价问题(无界背包)生成有负缩减成本的新模式,迭代至无有利模式后再求整数规划最终解,示例依赖 pulp 等库。

使用方式:调用时需明确原料长度、需求 (长度, 数量) 清单、锯缝宽度(kerf)、是否有最小可用长度或每根最大切割次数、装设成本、优化目标(最少根数、最低成本或最低废料率)、需要精确解还是快速近似、在线实时还是离线批量。代码示例中包含 first_fit_decreasing、best_fit_decreasing 及 ColumnGenerationCuttingStock 类,输出用料根数、利用率和废料。

适用场景:制造、建材、金属加工、造纸、纺织等线性材料下料排产与批量规划。

限制:启发式不保证最优;列生成实现复杂度较高;资料未提供具体价格、平台、性能基准或安装步骤,相关信息暂未提供,使用时需自行补充实际约束。