背景
在现代制造业复杂的生产场景中,常常面临多种商品混合制造的难题。每种商品因自身特性和工艺要求,所需的生产机器各不相同,生产时长也长短不一。假设有 N 个不同种类的商品,同时收到 M 个包含这些商品的订单。此时,如何科学合理地排列订单顺序,成为了提升生产效率、降低成本的关键。因为合理的订单排序,能够使生产机器得到更充分的利用,避免出现机器闲置或过度使用的情况,最终实现生产效益的最大化,这也正是众多制造企业迫切需要解决的问题。
问题
假设现有3种商品,每种商品的制造顺序与制造耗时如下:
| 商品 | 步骤1 | 步骤2 | 步骤3 | 步骤4 |
| 商品1 | 1H | 3H | 3H | |
| 商品2 | 6H | 1H | 1H | |
| 商品3 | 3H | 2H | 2H |
期望
我们期望通过计算得出最优的生产顺序, 假如排程结果如下
| 生产顺序1 | 生产顺序2 | 生产顺序3 | 生产顺序4 | |
| 步骤1 | 商品1 | 商品3 | ||
| 步骤2 | 商品1 | 商品2 | ||
| 步骤3 | 商品2 | 商品3 | ||
| 步骤4 | 商品1 | 商品2 | 商品3 | 商品4 |
这样我们能得到整个生产周期最小的排程时间。我们也可以求出每台机器的利用效率。
在java中常见求解最优方式如下:
| 求解器名称 | 优点 | 缺点 |
|---|---|---|
| IBM ILOG CPLEX | - 支持广泛的问题类型,如线性、整数、混合整数、二次、二次约束优化等。 - 求解性能极佳,在大规模、复杂的优化问题,特别是混合整数规划问题上表现卓越。 - 采用先进的分支定界、割平面生成、启发式等算法,提高求解效率。 - 支持并行计算,可利用多核处理器加速计算。 - 有强大的商业支持和丰富的文档资源。 | - 商业软件,需要购买许可证,成本较高。 |
| Gurobi | - 能解决多种类型的优化问题,如线性规划、混合整数规划、二次规划、二次约束规划、约束规划等。 - 是世界上最快的商业 MIP 求解器之一,求解效率高。 - 充分利用多核处理器,并支持分布式计算,可加快大规模问题的求解。 - 文档丰富,有免费的学术许可证,适合科研人员。 | - 商业软件,商业使用成本高。 - 对某些特殊约束的处理可能不如 CPLEX 灵活。 |
| YALMIP | - 提供 MATLAB 中的优化建模接口,语法简洁,类似数学表达式,方便定义和求解复杂的优化问题。 - 支持多种优化问题,如线性规划、混合整数规划、二次规划、半定规划、非线性规划等。 - 可集成多种开源和商业求解器,选择丰富。 | - 依赖 MATLAB 环境,若不使用 MATLAB 则不太方便。 - 本身不是一个独立的求解器,需要依赖其他求解器来实际求解问题。 |
| MOSEK | - 使用高效的内点法,能求解大规模的凸优化问题,在半定规划、二次锥规划等问题上性能卓越。 - 支持并行计算,可充分利用多核处理器加快求解速度。 - 与多种平台兼容,支持多种编程接口,如 Python、MATLAB、Java、C++ 等。 - 稳定性高,求解精度高,适合需要精确解的应用场景。 | - 商业软件,需要购买许可证。 - 对于非凸优化问题的求解能力相对较弱。 |
| OR - Tools | - 支持线性规划、整数规划、约束规划、图论算法、动态规划等多种优化方法,适用于多种类型的优化问题。 - 轻量高效,求解性能强大,适合中小规模问题的快速求解。 - 开源且免费,性价比高,适合科研和商业应用。 | - 对于大规模复杂问题的求解效率可能不如一些商业求解器。 |
| OptaPlanner | - 是轻量级、可嵌入的规划引擎,能有效解决多种规划和调度问题,如车辆路线规划、人员排班等。 - 将复杂的 AI 优化算法与高效的约束评分计算技术相结合,对普通 Java 程序员友好,不需要将约束以数学规划模型的形式输入。 - 与多种技术和框架集成良好,有丰富的 API 文档和社区资源。 | - 学习曲线较陡。 - 对于简单的优化问题可能存在性能开销。 |
| Apache Commons Math3 OptimizationSolver | - 提供多种优化算法,如牛顿法、共轭梯度法、遗传算法等,能适应不同类型的优化问题。 - 设计采用策略模式,代码可维护性高,算法扩展性强。 | - 不同算法有各自的局限性,例如牛顿法对初始值敏感,拟牛顿法计算复杂度较高,遗传算法可能收敛到局部最优解。 |
| MindOpt | - 提供简洁的 API 接口,支持多种编程语言,包括 Java,便于集成到现有系统中。 - 最初支持线性规划和混合整数规划,现已扩展到凸二次规划和半定规划等更复杂的优化问题。 - 利用现代计算架构,通过并发优化方法提升求解速度,尤其适用于大规模数据集。 - 有详细的文档和案例库,降低了使用门槛。 | - 作为相对较新的求解器,在某些小众场景下的应用案例可能较少,可参考的资料不如一些老牌求解器丰富。 |
| COPT | - 在求解大规模 MIP 和 LP 问题方面表现优秀,求解速度和性能能够媲美 Gurobi 和 CPLEX。 - 支持二次规划、二次约束规划等多种优化模型。 - 具有较高的性价比,适合预算有限的科研项目或中小企业使用。 | - 相比国际顶级商业求解器,在某些特定领域的应用可能不够广泛,相关案例和资料相对 |
解决
在这里我们使用google-ortools解决, 解决参考商品作业问题。
地址如下: 作业商店问题 | OR-Tools | Google for Developers
目前Aps系统已实现对多种商品排序。
APS系统: 这里
谢谢
2025/03/35
1534

被折叠的 条评论
为什么被折叠?



