使用 OptaPlanner 安排航空航天复合材料加工厂的固化任务

问题描述 投票:0回答:1

背景

在航空复合材料加工厂中,“固化”过程需要使用高压釜,这对于工厂来说是稀缺资源。为了提高效率,需要对各部位的固化需求(简称固化任务)进行如下调度:

固化任务的关键属性:

  1. 任务ID(唯一标识任务)
  2. 任务预计到达时间
  3. 固化任务使用的参数;具有相同固化参数的任务可以同时安排在同一个高压釜中。
  4. 固化参数中指定的持续时间,代表高压釜将被占用的时间(具有相同固化参数的任务具有相同的固化持续时间)。
  5. 工装的底面积;高压灭菌器中任务所需的面积。
  6. 最长等待固化时间,争取在这段时间内执行。

工厂拥有多台高压釜设备,其关键属性包括:

  1. 高压灭菌器ID
  2. 容量——高压釜可容纳的面积,对应于固化任务的底面积。

要求

  • 假设所有高压灭菌器最初都可用。
  • 根据固化参数、预计到达时间和计划高压釜的当前占用时间对固化任务进行分组。
  • 将这批任务安排到高压灭菌器中。
  • 每个高压灭菌器一次只能执行一个批处理任务。
  • 批量任务的总底面积不能超过高压灭菌器的容量。
  • 最大限度地减少所有固化任务的等待时间。

问题

我该如何建模?

我的困难在于需要将固化任务规划为批量任务,并将这些批量任务一次性分配给特定设备。规划批处理任务具有挑战性,因为:

我需要考虑哪些未来任务将到达以及它们是否使用相同的计划参数。 将具有相同固化参数的固化任务分组后,我无法继续进行。我不知道首先安排哪组固化参数,将它们分配给哪个高压釜,以及如何使用相同的固化参数进一步批量任务(考虑设备容量限制)。 我不确定OptaPlanner是否支持这种场景。

optaplanner
1个回答
0
投票

如果每台机器(高压灭菌器)一次有一项作业(任务),则这是作业车间调度问题,请查看 timefold-quickstarts 中的食品包装快速入门(OptaPlanner 已停产,并以 Timefold 形式继续)。

如果每台机器同时有多个作业:

  • 它允许自动折叠(请参阅文档,向下滚动)
  • 或者是 2D 表面或 3D 体积装箱问题(时间与高压灭菌器占用率),目前尚未得到很好的支持。
© www.soinside.com 2019 - 2024. All rights reserved.