77、时间与空间装配线平衡问题的多目标GRASP算法

时间与空间装配线平衡问题的多目标GRASP算法

1. 引言

装配线由一系列工作站组成,这些工作站可以串联或并联排列。生产一个产品的制造过程会被分解为一组任务,一个常见且具有挑战性的问题是如何在满足特定限制条件的情况下,将这些任务分配到各个工作站,目标是实现任务子集到工厂工作站的最优分配,且每个任务都有其执行所需的操作时间。

简单装配线平衡问题(SALBP)是为模拟这种情况而提出的一类学术问题。在此基础上,Bautista和Pereira引入空间信息,提出了更符合实际的时间与空间装配线平衡问题(TSALBP)。该框架考虑了额外的空间约束,这源于对西班牙巴塞罗那日产工厂特定特征的研究。

TSALBP具有多标准性质,包含三个相互冲突的目标需要最小化:装配线的周期时间、工作站数量以及工作站面积。本文聚焦于TSALBP - 1/3变体,即在给定固定周期时间的情况下,最小化工作站数量和面积。由于TSALBP - 1/3存在诸如优先级和每个工作站周期时间限制等硬约束,使用构造性方法比局部或全局搜索程序更为合适。此前,我们曾通过基于多蚁群系统(MACS)算法的特定程序成功解决了TSALBP - 1/3问题,该方法是目前解决TSALBP - 1/3问题的最先进方法。此外,我们还提出了一种多目标随机贪心算法,虽然MACS算法性能更佳,但随机贪心算法在某些问题实例中也表现良好。

本文提出了一种多目标贪心随机自适应搜索程序(GRASP)。其第一阶段对应于之前提出的随机贪心构造,第二阶段基于多目标局部搜索,针对每个目标采用两种改进方法。我们考虑了两种不同的GRASP方法:典型的GRASP方案和一种以随机加贪心构造为特征的替代方案。通过对五个问题实例(包括一个来自西班牙巴塞罗那日产工厂的实际问题)进行实验,并使用多目标性能指标来分析算法的性能。

2. 时间与空间装配线平衡问题

生产一个产品的制造过程被划分为一组包含n个任务的集合V。每个任务j执行需要操作时间tj > 0,该时间由制造技术和使用的资源决定。每个工作站k被分配一个任务子集Sk(Sk ⊆ V),称为工作量。每个任务j都有一组直接前驱任务Pj,必须在开始任务j之前完成这些前驱任务。这些约束通常用无环优先级图表示,图的顶点代表任务,有向弧(i, j)表示任务i必须在生产线上任务j开始之前完成。每个工作站k的工作量时间t(Sk)等于分配给该工作站的任务长度之和。SALBP旨在以高效且连贯的方式将任务分组到工作站中。

在装配线设计中引入空间约束主要有两个原因:一是大多数情况下工作站的长度有限;二是待组装的所需工具和组件应沿生产线两侧分布。因此,可以通过为每个任务j关联所需面积aj和为每个工作站k关联可用面积Ak(为简化起见,假设每个工作站的可用面积相同,即A = max∀k∈{1..n}{Ak})来考虑面积约束。每个工作站k所需的面积a(Sk)等于分配给该工作站的任务所需面积之和。

这就引出了TSALBP问题。该问题可表述为:给定一组具有时间tj和空间aj属性(1 ≤ j ≤ n)的n个任务以及一个优先级图,每个任务必须分配到一个单一的工作站,使得:(i)满足每个优先级约束;(ii)任何工作站的工作量时间(t(Sk))不超过周期时间(c);(iii)任何工作站所需的面积(a(Sk))不超过每个工作站的可用面积(A)。

TSALBP根据三个优化标准(工作站数量m、周期时间c和工作站面积A)有八种变体,其中有四个是多目标问题。本文研究的TSALBP - 1/3变体的数学公式如下:
[
\begin{cases}
f_0(x) = m = \sum_{k = 1}^{UB_m}\max_{j = 1,2,\cdots,n} x_{jk}\
f_1(x) = A = \max_{k = 1,2,\cdots,UB_m}\sum_{j = 1}^{n} a_jx_{jk}
\end{cases}
]
其中,UBm是工作站数量m的上限,aj是任务j的面积信息,xjk是决策变量,若任务j分配到工作站k则取值为1,n是任务数量。

我们选择这个变体是因为在汽车行业中,工业工厂的年产量(即周期时间c)通常由市场目标设定。

3. 多目标GRASP方案

GRASP方法在每次迭代中生成一个解。由于问题是多目标的,如果解不被支配,则将其包含在多目标存档中。算法最终得到一组在所有迭代中生成的非支配解。

3.1 第一阶段:随机贪心解的生成

在GRASP生成贪心解的过程中,我们在两个过程中引入了随机性。
- 任务选择 :允许从最佳候选任务中随机选择下一个任务分配到当前工作站。首先创建一个未分配任务的候选列表,对于每个候选任务j,计算其启发式值ηj,该值衡量将其分配到当前打开的工作站的偏好程度。ηj与该任务的处理时间和面积比(分别用周期时间c和所有任务面积之和的上限进行归一化)成正比,同时也与任务j的后继任务数量与任何合格任务的最大后继任务数量之比成正比。然后根据启发式值对所有候选任务进行排序,并设置质量阈值q = maxηj - γ · (maxηj - minηj),其中γ是多样化 - 强化权衡控制参数。当γ = 1时,选择完全随机,实现最大可能的多样化;当γ = 0时,选择接近纯贪心决策,多样化程度较低。所有启发式值ηj大于或等于q的候选任务被选入受限候选列表(RCL),最后在当前构建步骤中从RCL中随机选择一个任务。当所有任务都分配到所需的工作站时,构建过程结束。
- 工作站关闭决策 :根据工作站的填充率给出的概率分布来决定是否关闭当前工作站,概率公式为:
[p(\text{closing } k) = \frac{\sum_{i\in S_k} t_i}{c}]
同时使用填充阈值方法来获得足够多样化的帕累托前沿。在多目标随机贪心算法的每次迭代中单独选择不同的阈值,即每个解的构建过程考虑不同的阈值。

此外,我们还考虑了一种替代的构建程序,称为GRASP RCL2。它首先随机选择候选任务,然后根据贪心函数评估每个候选任务以做出贪心选择。GRASP RCL2首先随机选择β(0 ≤ β ≤ 1)比例的元素构建受限候选列表(RCL2),然后评估RCL2中的所有元素,计算启发式值ηj,最后选择具有最高ηj值的元素。经过初步研究,发现β = 0.5是该参数的最佳值。

算法运行多次迭代以生成不同的解,最终输出由非支配解组成的帕累托集近似。

3.2 第二阶段:多目标局部搜索

GRASP方法的第二阶段是对每个构造的解进行局部搜索以改进。多目标组合优化问题主要有两种随机局部搜索方法:
- 第一种方法基于邻域解的目标值向量的弱分量排序的接受准则,并维护一个在搜索过程中找到的非支配解的无界存档。
- 第二种方法基于目标函数向量的不同标量化。

本文采用第二种方法,通过以下公式计算问题的两个目标A和m的加权和标量化:
[Min (\lambda_1A + \lambda_2m)]
权重向量λ = (λ1, λ2)为在GRASP第一阶段构建的每个贪心解随机创建。

我们考虑两种不同的局部搜索方法,针对每个目标各一种。算法根据权重向量λ将这些方法应用于贪心解。如果λ1 > λ2,则采用最小化目标A的局部搜索方法;否则,采用最小化目标m的局部搜索方法。如果所选的局部搜索方法未能成功最小化加权和标量化,则应用另一种方法。

局部搜索方法基于任务的移动。为了解释这个过程,需要为每个任务j定义根据其直接前驱和后继任务的分配情况,任务j可以分配的第一个工作站ESj和最后一个工作站LPj。一般来说,移动(j, k1, k2)描述了任务j从工作站k1移动到工作站k2的过程,其中k1 ≠ k2且k2 ∈ [ESj, LPj]。
- 目标A的局部搜索方法 :该方法的伪代码如下:

while Iterations ≤ MAX_ITERATIONS do
    Target Station ← Find the station with the highest area;
    Tasks ← Descending Sort(tasks of Target Station);
    while no scalarization improvement AND Tasks ≠ ∅ do
        Task ← First element of Set Of Tasks;
        Find First Station and Last Station of Task;
        while no scalarization improvement do
            Possible Station ← station with the lowest area
                              ∈ [First Station, Last Station];
            Move Task from Target Station to Possible Station;
            if scalarization improvement then
                Make the movement permanent;
            end
        end
        Remove Task from Set Of Tasks;
    end
    if Target Station = ∅ then
        Remove Target Station;
    end
    Iterations ← Iterations + 1;
end
return true if scalarization is improved;

该方法的目标是通过将任务移动到其他工作站来减少占用面积最大的工作站的面积,这个过程重复MAX_ITERATIONS次,经过初步研究,MAX_ITERATIONS = 20。
- 目标m的局部搜索方法 :该方法的目标是减少工作站数量m。从初始贪心解开始,通过将任务数量最少的工作站的所有任务移动到其他工作站来创建一个邻域解,同时保持解的可行性。该方法的循环伪代码如下:

while Iterations ≤ MAX_ITERATIONS do
    Stations ← Ascending sort with respect no. of tasks;
    i ← 1;
    while i ≤ MAX_STATIONS AND no scalarization improvement do
        Target Station ← i-th element of Set Of Stations;
        Set Of Tasks ← Descending Sort(tasks of Target Station);
        for all elements of Set Of Tasks do
            Find First Station and Last Station;
        end
        BB(First element of Set Of Tasks, Set Of Tasks);
        if no scalarization improvement then
            i ← i + 1;
        end
    end
    Iterations ← Iterations + 1;
end
return true if scalarization is improved;

局部搜索也运行MAX_ITERATIONS = 20次,同时需要指定最大工作站数量(MAX_STATIONS)以限制局部搜索的计算时间。

4. 实验
4.1 问题实例和参数值

我们选择了五个具有不同特征的问题实例进行实验:arc111(周期时间限制分别为c = 5755和c = 7520,记为P1和P2)、lutz2(P3)、mukherje(P4)和nissan(P5)。除nissan外,这些实例最初是仅包含时间信息的SALBP - 1实例,我们通过反转任务图为它们创建了面积信息,使其成为双目标问题。P5是来自西班牙巴塞罗那日产工厂的实际问题,对应日产Pathfinder发动机的装配过程。这五个TSALBP - 1/3实例可在http://www.nissanchair.com/TSALBP上公开获取。

每个算法运行10次,使用不同的随机种子,以900秒作为停止标准。所有算法都在同一台计算机上运行:Intel Pentium D,两个CPU,主频2.80GHz,CentOS Linux 4.0。GRASP和GRASP RCL2分别以α = 0.3和β = 0.5启动。对于多目标局部搜索,最大迭代次数为20,MAX_STATIONS = 20。对于MACS算法,考虑10只不同的蚂蚁,β = 2,蒸发率ρ = 0.2,转移规则参数q0的值为0.2,并且针对五个蚂蚁阈值{0.2, 0.4, 0.6, 0.7, 0.9}各使用两只蚂蚁,使算法成为多蚁群算法。

4.2 多目标性能指标

我们使用两种不同的多目标性能指标来评估新GRASP方法相对于TSALBP - 1/3最先进的MACS算法的质量。
- 超体积比(HVR) :这是一个一元性能指标。
- 集合覆盖指标C :这是一个二元性能指标。我们使用基于C指标的箱线图来计算每对算法的近似帕累托集的支配程度。每个矩形包含五个箱线图,代表某一有序算法对在五个问题实例(P1到P5)中C值的分布。每个箱对应于相应行中的算法A和相应列中的算法B,并给出A覆盖B的比例(C(A, B))。此外,我们还展示了实例P1的聚合帕累托前沿近似示例,以便对结果进行可视化分析。

4.3 结果分析

通过C性能指标箱线图、HVR值和获得表面,可以看到两种多目标GRASP变体(GRASP和GRASP RCL2)和MACS算法的实验结果。

仅考虑前四个问题实例(P1到P4)的C箱线图,我们可以得出以下结论:
- GRASP与MACS比较 :新的多目标GRASP方法优于最先进的MACS算法。箱线图清晰显示,除了P5(nissan)实例外,GRASP在所有实例中都获得了比MACS更好的帕累托集。
- GRASP RCL2与MACS比较 :GRASP RCL2相对于MACS的表现不如GRASP与MACS的比较那么清晰。GRASP RCL2在P1和P4两个实例中优于MACS,但在P2和P3实例中,MACS获得的帕累托集更好。因此,仅根据C性能指标,不能确定哪个算法更好。
- GRASP与GRASP RCL2比较 :比较两种GRASP版本的C箱线图可以发现,原始的GRASP方法明显比GRASP RCL2“更好”,这种行为在所有问题实例中都很常见。

根据二元性能指标C,GRASP方法对于解决TSALBP - 1/3问题是有效的。然而,贪心构造阶段对于问题求解很重要,因为GRASP和GRASP RCL2之间的差异很大。因此,在限制候选列表后随机选择一个任务比随机选择候选任务后根据贪心值选择最佳任务更好。

分析HVR值也可以得出类似的结论。除了P5(nissan)实例外,GRASP的HVR值在所有问题实例中总是最高的。相比之下,GRASP RCL2的HVR值总是优于或等于MACS,这意味着GRASP RCL2通常比MACS收敛更好,但它的帕累托前沿不如MACS多样化。

对于来自西班牙巴塞罗那工厂的日产Pathfinder发动机装配的实际问题实例P5,结果有所不同。分析C性能指标(图1中箱线图的第五列)和HVR性能指标(表1)都表明,MACS比两种版本的GRASP都更好,即MACS算法获得的帕累托集质量更高。

P5实例与其他实例不同,其主要区别在于待分配任务的面积。几乎所有任务的面积都非常小(小于一个面积单位),甚至超过25个任务没有分配面积。这种特殊特征可能导致了不同算法在该实例中的性能差异。

算法 P1 P2 P3 P4 P5
MACS 0.925 (0.006) 0.914 (0.012) 0.877 (0.024) 0.886 (0.012) 0.939 (0.009)
GRASP 0.969 (0.005) 0.935 (0.008) 0.889 (0.034) 0.944 (0.013) 0.925 (0.027)
GRASP RCL2 0.948 (0.007) 0.919 (0.007) 0.827 (0.037) 0.909 (0.008) 0.896 (0.008)

综上所述,GRASP在大多数问题实例中表现出色,但对于日产的实际问题实例P5,MACS算法更合适。不同算法在不同问题实例中的表现差异,为我们在实际应用中选择合适的算法提供了参考。在未来的研究中,可以进一步探索如何改进算法以更好地适应各种不同特征的问题实例。

时间与空间装配线平衡问题的多目标GRASP算法

5. 结论与展望

本文提出了两种多目标GRASP变体(GRASP和GRASP RCL2)来解决时间与空间装配线平衡问题的TSALBP - 1/3变体,并与最先进的MACS算法进行了对比。通过对五个问题实例(包括一个实际问题)的实验,使用多目标性能指标(超体积比HVR和集合覆盖指标C)进行评估,得到了以下结论:

  • 算法性能对比
    • 在大多数问题实例(P1 - P4)中,GRASP算法表现出色,优于MACS算法,能够获得更好的帕累托集。这表明GRASP方法在解决TSALBP - 1/3问题上具有有效性。
    • GRASP RCL2与MACS的表现各有优劣,在不同实例中互有胜负,难以简单判断哪个算法更好。
    • GRASP在与GRASP RCL2的比较中,明显占据优势,说明贪心构造阶段的任务选择方式对算法性能有重要影响。
  • 实际问题实例表现 :对于日产工厂的实际问题实例P5,MACS算法获得的帕累托集质量更高,更适合该问题。这可能是由于P5实例中任务面积的特殊特征(几乎所有任务面积非常小,甚至部分任务无面积分配)导致的。

为了更清晰地展示各算法在不同实例中的性能表现,以下是一个简单的mermaid流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px

    A([开始实验]):::startend --> B{实例类型}:::decision
    B -->|P1 - P4| C(GRASP表现出色):::process
    B -->|P5| D(MACS表现出色):::process
    C --> E(分析结果得出结论):::process
    D --> E
    E --> F([结束]):::startend

未来的研究可以从以下几个方面展开:
- 算法改进 :进一步探索如何改进GRASP和GRASP RCL2算法,使其能够更好地适应各种不同特征的问题实例,特别是像P5这样具有特殊任务面积特征的实际问题。可以尝试调整贪心构造阶段的参数,或者优化局部搜索方法。
- 更多实例验证 :使用更多不同类型的问题实例进行实验,以更全面地评估算法的性能。这有助于发现算法在不同场景下的优缺点,为算法的改进提供更多依据。
- 结合其他方法 :考虑将GRASP算法与其他优化算法或技术相结合,如遗传算法、模拟退火算法等,以提高算法的性能和适应性。

总之,本文的研究为时间与空间装配线平衡问题的解决提供了新的思路和方法,不同算法在不同问题实例中的表现差异也为实际应用中算法的选择提供了参考。未来的研究有望进一步提升算法的性能,使其在实际生产中发挥更大的作用。

以下是一个总结各算法在不同实例中表现的表格,方便读者回顾:
| 算法 | P1 - P4表现 | P5表现 |
| — | — | — |
| GRASP | 表现出色,优于MACS | 不如MACS |
| GRASP RCL2 | 与MACS互有胜负 | 不如MACS |
| MACS | 不如GRASP | 表现出色 |

通过以上的研究和分析,我们对多目标GRASP算法在时间与空间装配线平衡问题中的应用有了更深入的了解。希望这些结果能够为相关领域的研究和实际生产提供有价值的参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值