A two-stage improved variable neighborhood search-sine cosine algorithm for the multi-row layout problem with safety consideration
Achmad Pratama Rifai, Wangi Pandan Sari

TL;DR
This paper introduces a new algorithm to arrange machines in industrial settings while considering safety distances, improving efficiency over existing methods.
Contribution
A novel two-stage algorithm combining improved variable neighborhood search and sine-cosine algorithm for the multi-row layout problem with safety constraints.
Findings
The proposed IVNS+SCA algorithm outperformed benchmark metaheuristics by 0.9–5.3% on average.
Higher performance gains were observed in large-sized problem instances.
The algorithm effectively incorporates safety distances between machines in layout optimization.
Abstract
The multi-row layout problem (MRLP) involves arranging machines of varying sizes across multiple rows to minimize material handling costs. It is a significant design problem that frequently arises in practical situations. Some industrial settings require safety regulations to ensure a minimum distance between machines. However, existing studies on MRLP generally disregard the clearance between adjacent machines or solely take into account the minimum clearance. In this study, we address the issue by incorporating a safety factor into the MRLP and proposing a two-stage improved variable neighborhood with search-sine cosine algorithm (IVNS + SCA). The first stage involves an improved variable neighborhood search (IVNS) to determine machine placement on all rows. In the second stage, a sine-cosine algorithm (SCA) is presented to fine-tune the machines placement. The effectiveness and…
Genes, proteins, chemicals, diseases, species, mutations and cell lines named across the full text — each resolved to its canonical identifier and authoritative record.
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 4
Figure 5
Figure 6
Figure 7
Figure 9
Figure 8
Figure 9Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Manufacturing and Logistics Optimization · Optimization and Packing Problems · VLSI and FPGA Design Techniques
Introduction
The layout problem is a well-known combinatorial optimization problem that has been extensively studied in various fields, including manufacturing, logistics, and facility planning. A well-designed layout can have a significant impact on the efficiency and productivity of the manufacturing process, as well as on the safety of workers and the quality of the products being produced. In general, the facility layout is designed such that it can minimize the material handling cost (MHC), which is a non-value-added cost. MHC can contribute to about 20–50% of the total operating cost^1^ and by addressing layout problems, the cost can be reduced by at least 10–30%^2^.
In the single-row layout problem (SRLP), facilities are arranged along one side of the material handling path. On the other hand, multi-row layout problem (MRLP) involves several rows of facilities, of which the arrangements are laid on both sides of the material handling path. In practicality where numerous actual facilities place their machines (or rooms) on both sides of a corridor, the MRLP often addresses flow structure in a more efficient and realistic manner than SRLP. However, discussions on MRLP are limited in literature, especially in comparison to SRLP. Further, to the best of our knowledge, there is no prior research that has investigated the safety factor in MRLP. Most existing studies have only considered extra clearance between adjacent machines. Whereas the safety factor, representing the minimum distance between machines or workstations, is crucial for facility layout arrangements. Neglecting safety factors can lead to hazardous conditions such as fires, explosions, or other accidents, which could cause physical harm to workers, damage to equipment, and production downtime^3^. Safety factors also ensure environmental protection by preventing pollution, noise, and vibration, which could be harmful to the surrounding environment and people. Henceforth, it is important to consider safety distance between machines or workstations in finding the most efficient arrangement of facilities. In this study, we aim to bridge the research gap by incorporating safety distance consideration in the proposed mathematical formulation for the MRLP.
The objective of this study is twofold: firstly, to minimize MHC, and secondly, to integrate the consideration of the minimum safe distance between machines. The latter objective is achieved by minimizing the penalty incurred when the distance between the machines falls below the pre-defined recommended distance. The mathematical formulation for the MRLP is adopted from^4,5^. The proposed solution in this study adopts two-stage heuristics previously discussed in^6^. The first stage involves using an IVNS method to determine the optimal placement of machines in rows. To further improve the solution, an SCA is introduced to adjust the starting point of machines in the shorter row. The method is further referred to as improved variable neighborhood with search-sine cosine algorithm (IVNS + SCA).
The contributions of this study are threefold:
- First, this study is the first, to the best of our knowledge, to incorporate safety factors and recommended safe distances between machines in the MRLP. Previous works mainly considered only mutual interferences between adjacent machines, which results in merely setting minimum clearances.
- Second, we design the objective function to minimize the total material flow cost based on the actual travel distance of in-floor material handling equipment. This reflects practical industrial conditions, where equipment ranges from manual trolleys to fully automated systems, making the proposed model more applicable to real-world manufacturing environments.
- Third, we propose a two-stage heuristic approach tailored for industrial-scale MRLP with safety considerations. In Stage 1, the Improved Variable Neighborhood Search (IVNS) determines the machine sequence in each row. In Stage 2, the Sine Cosine Algorithm (SCA) fine-tunes the boundary clearance and the starting point of each row, ensuring both cost efficiency and safety compliance.
The remainder of this paper is structured as follows. Section 2 presents a literature review on the MRLP. The formulation of the MRLP with safety considerations is discussed in Sect. 3 whereas the proposed heuristic for the MRLP is detailed in Sect. 4. Section 5 thoroughly discusses numerical experiments. The paper concludes with Sect. 6, which presents the study’s conclusions and offers suggestions for future research.
Literature review
The layout configuration and material handling system are mutually dependent on each other. The type of material handling system design impacts the layout configuration^7^ and vice versa^8^. Depending on the types of material handling system employed, the layout configurations can be categorized in terms of row numbers, i.e., single-row (SRLP), double-row (DRLP), or multi-row (MRLP)^9^. For a comprehensive review on facility layout problems, refer to^9–11^. The SRLP is concerned with finding the most efficient arrangement of n machines along one side of the material handling path. It is commonly used and popular in practice due to its simplicity and efficient workflow. Various solutions have been proposed for the SRLP including using exact methods^12,13^ and heuristics^14,15^, and metaheuristics^16,17^. The DRLP is an extension of the SRLP in which n machines can be placed on both sides of the material handling path. Chung and Tanchoco^18^ extended the SRLP into DRLP and solved up to 10 machines using Mixed integer Programming (MIP) approach. A more efficient model for DRLP was proposed with improved performance^19–21^. More recently, Amaral^22^ proposed a heuristic approach where two-phase algorithms were employed to obtain good solution with the number of instances up to 50 machines.
As the facilities arrangement for the MRLP are on both sides of a corridor, the optimization problem of MRLP is more complex than SRLP. Further, the topic has received significantly less attention in the literature^9^. Metaheuristic approaches such as Genetic Algorithm (GA) have been proposed to address MRLP aiming to minimize the MHC in manufacturing system^23,24^. Vitayasak et al.^25^ developed a GA-based tool for machine layout design with consideration of dynamic demand and machine maintenance planning to minimize material flow distance. Variable neighborhood search (VNS) has also been applied to find optimal facility arrangements in MRLPs without inter-facility spacing^26^. The neighborhood structure is produced by two different moves, i.e., exchanging two facilities and inserting a facility in a different position of the layout. Integration of machine layout problem and cell formation using heuristic method has yielded the most efficient solution for MRLP^27^. The authors introduce three design features, i.e., machine layout within the cells, machine layout on the planar area, and the distance between rows. They also proposed three lower bounds for the integrated problem and selected the tightest one to evaluate the heuristics’ solution, showing the method’s effectiveness in solving medium and large-scale problems. To address bi-objective optimization in MRLP, a heuristic method was developed to minimize both flow distance and layout area^28^. Additionally, a harmony search algorithm was employed to identify the optimal sequence of machines for multi-row arrangements, simultaneously minimizing both objectives. The validation of the method was tested on SRLP presented in Vitayasak and Pongcharoen’s work^28^. Another study by Zuo et al.^29^ proposed a three-stage approach for minimizing MHC in MRLP. First, a Monte Carlo heuristic is used to find the effective way of laying machines in multiple rows. Second, a linear program is used to identify the optimal exact location of machines. The last one is to utilize an exchange heuristic to reassign material flows among parallel machines in different machine groups. This heuristic helps to optimize the material flow and minimize the handling cost of products.
Clearance between adjacent machines is a crucial aspect of MRLP, as it impacts material handling, interference prevention, and safety. Gen et al.^23^ introduced the concept of fuzzy clearance between two adjacent machines for MRLP. On the other hand, a model was developed to solve MRLP by minimizing clearance between two adjacent machines^30^. This is an extended study of similar work conducted for DRLP. Another study explored shared clearances between machines to improve machine layout and material handling cost. The authors presented the problem with a MILP formulation and solved it using a hybrid approach comprising Tabu search and heuristic rules^31^. While some studies as previously mentioned considered the least or minimum clearance to MRLP, increasing the clearance between adjacent machines can potentially reduce production costs, provide better material handling and safety. However, studies on MRLP that incorporate extra clearance have been limited. Zuo et al. considered extra clearance between adjacent machines to solve MRLP with parallel machines^29^. A more recent study on MRLP incorporated extra clearance to optimize both material handling costs and layout area^32^. Further, most prior studies on MRLP have overlooked the incorporation of safety measures in their model. Such measures are crucial for maintaining a safe working environment by enforcing safety distance between machines.
The inclusion of safety factor in facility layout problems was previously discussed in an SRLP proposed by Ou-Yang and Utamima^33^. They proposed an enhanced SRLP with the objective of minimizing the total distances between all facility pairs, incorporating penalty costs for solutions that violated safety constraint. They employed a hybrid approach combining EDA, PSO, and TS to solve the problem. A more recent study on SRLP^34^ incorporated safety measures into the proposed model and utilized a hybrid approach consisting of GA and TS. This model introduced risk costs in the total layout cost for two machines based on their safety relation and proximity. If the machines shared clearance despite high safety risks, they were subjected to risk penalty cost. In our previous work, we also explored the inclusion of safety factors in DRLP and introduced a model that imposed penalties on the objective function when the distance between machines fell below the pre-defined recommended safety distance^6^. To the best of our knowledge, no previous study on MRLP has incorporated safety factors.
This study builds upon the model proposed by Amaral et al.^4^ and Fischer et al.^5^ by introducing a penalty mechanism in the objective function. The penalty is applied when the distance between machines is below under the pre-defined recommended safety distance, which is contingent on various factors including machine interferences (due to noise, vibration, or heat), regulatory compliance, and minimum space for material handling, and fire safety considerations, which are specific to the type of machinery involved. The varying severity of those factors may influence the recommendation of the safety distance. Hence, employing a penalty function in the objective function offers greater flexibility for decision makers to determine the appropriate safety distance. We propose a VNS based two-stage metaheuristic referred to as IVNS + SCA. VNS, firstly introduced by Mladenovic and Hansen^35^, is a classical metaheuristic approach used to solve complex combinatorial optimization problems. Its efficacy has been demonstrated in various studies on facility layout problems, including SRLP^36–38^, DRLP^6,39^, and facilities with unequal area^40,41^. Whereas SCA is a relatively new algorithm proposed by Mirjalili in 2016 to solve optimization problems^42^. Due to its flexibility and simplicity, the SCA method has attracted much attention from researchers and been successfully applied to solve various optimization problems, such as the scheduling^43–45^, traveling salesman problem^46^, and image processing^47,48^.
Our study proposes a two-stage heuristic solution approach for the MRLP with safety considerations for industrial-scale cases. The first stage uses IVNS to determine machine sequences in each row, whilst the second stage employs SCA to identify the boundary clearance and starting point of each row. This approach addresses the gap in the literature by demonstrating the viability of incorporating both metaheuristic algorithms and safety factors into MRLP. For an overview of facility layout problems based on materials handling configurations, refer to Table 1.
Table 1. Overview of facility layout problems based on material handling configurations.ReferencesMaterial handling configurationsSolution categorySolution approachSafety considerations^12^SRLPExactSDPNo^13^SRLPMath programming, exactMILP - branch and cut algorithmsNo^14^SRLPHeuristicBest insertion (BI) and iterative BINo^15^SRLPHeuristicImprovement heuristic based on Lin–Kernighan algorithmNo^16^SRLPHeuristicGANo^17^SRLPHeuristicTA (2-opt and insertion neighborhood)No^18^DRLPMath programming, heuristicMIP, comparison of several heuristicsNo^19^DRLPMath programmingImproved MIPNo^20^DRLPMath programmingImproved MIPNo^21^DRLPMath programmingImproved MIPNo^22^DRLPHeuristicSeveral improvement heuristicsNo^23^MRLPHeuristicGANo^26^MRLPHeuristicVNSNo^27^MRLPMath programming, heuristicMINLP/decompositionNo^28^MRLPHeuristicHarmony search algorithmNo^29^MRLPHeuristicImprovement heuristic based on Monte Carlo, Linear Program, and Exchange HeuristicNo^30^MRLPMath programming, exactSDPNo^31^MRLPMath programming, heuristicMILP, TSNo^32^MRLPMath programming, heuristicMIP, mGRASPNo^33^SRLPHeuristicA hybrid algorithm based on EDA, PSO, and TSYes^34^SRLPHeuristicImproved GA & TSYes^36^SRLPHeuristicVNS and ACONo^37^SRLPHeuristicLS-VNSNo^38^SRLPHeuristicLS-VNSNo^6^DRLPHeuristicIVNS-SCAYes^39^DRLPMath programmingMIPYesThis studyMRLPHeuristicIVNS-SCAYes
Problem formulation
This section explains the model for the multi-row layout problem with safety consideration. In this study, we expand the MRLP to encompass real-world scenarios where individual machines possess specific recommended safety distances, and each row is limited by dimensional constraints. When organizing the layout of machines, decision-makers frequently encounter the necessity to adhere to safety regulations, like maintaining minimum distances between machines or workstations. This element remains unaccounted for in the initial MRLP formulation, despite the potential hazards arising from disregarding these constraints, including risks of fire, explosions, noise, vibration, and pollution.
The multi-row layout consists of several rows of machine, in which two adjacent rows are separated by an aisle/corridor. The type of material handling equipment (MHE) used in this layout are two-way in-floor MHE, such as automated guided vehicle (AGV), pallet jack, and forklift. The aisles provide access for the MHE movement. Each row is served by an aisle section. There are two additional aisle sections, each located at the left and right ends of the layout that serve inter-row movements. Figure 1 presents an example of multi-row layout discussed in this study with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n=10$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:m=3$$\end{document} .
Fig. 1. Example of a multi-row layout.
In this layout, there are three rows: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{1}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{2}$$\end{document} , and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{3}$$\end{document} . The machine sequence on \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{1}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{2}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{3}$$\end{document} are {1, 3, 8,10}, {4, 5, 9}, and {6, 2, 7}, respectively. Each machine has a fixed length \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{l}_{i}$$\end{document} . Although the machines may have different widths, the individual values are negligible since each row must have a fixed width. The row width \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{r}$$\end{document} is determined by the member machine which has the largest width \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{r}=\underset{i\in\:{N}_{r}}{\text{max}}{w}_{i}$$\end{document} , in which \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{N}_{r}$$\end{document} is the set of machines belonging to row \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:r$$\end{document} .
The loading/unloading ports \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{L/U}_{i}$$\end{document} are located at the middle of each machine on the side which faces the corresponding aisle. As such, each machine only has a single loading/unloading port. There is a clearance between two machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{c}_{ij}$$\end{document} , which is calculated as the distance between adjacent sides of the two machines.
The distance between any two machines, consisting of horizontal distance \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}$$\end{document} and inter-row distance \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:ir{d}_{ij}$$\end{document} , is the actual distance travelled by the MHE to move the materials between the machines’ loading/unloading ports. The intra-row movements (material movement between two machines in the same row) only pass through the aisle section facing these two machines. However, in the inter-row movements (material movement between two machines in different rows), the MHE must pass through three aisle sections: one aisle section faced by the first machine, one aisle section faced by the second machine, and one additional aisle section for inter-row movement. As such, there are two routes for this type of movement, one route using right-end additional aisle section and another route using left-end additional aisle section as exemplified in Fig. 1 as route 1 and route 2, respectively. The selected route between the two routes must be the route that yields minimum distance. In the example, since the length of route 1 is less than the length of route 2, hence \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{29}+ir{d}_{29}$$\end{document} = length of route 1.
The consideration of the safety layout factor in this problem is represented as the recommended minimum distance ϕ between a pair of machines that must be fulfilled. As such, the closest distance between the two machines must be greater than or equal to their recommended minimum distance. For example, in Fig. 1, if \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{13}=10,{ird}_{13}=0$$\end{document} (since both machines are in the same row), and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\varphi\:}_{13}=15$$\end{document} , then the placement of these two machines violates the safety considerations. Hence, in the mathematical model, penalty \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{2}$$\end{document} will be given.
The MRLP concerned in this study consist of two subproblems: determining the machine sequence on each row and determining the length of boundary clearance \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:a$$\end{document} of each row. The boundary clearance is the clearance between the left side of the leftmost machine in each row and the layout boundary (Wan et al. 2022). For example, in Fig. 1, the boundary clearance of the third row is indicated as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{a}_{r3}$$\end{document} . In other words, the boundary clearance determines the starting point of each row. Noted that in the row with longest length, the boundary clearance is zero, hence the starting point of this row is always at point zero in x-axis.
Further, several assumptions were made for the model: (i) each machine/workstation is rectangular with fixed width and length dimensions, denoted as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{i}\:$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{l}_{i}$$\end{document} , respectively, (ii) the width of the aisle/corridor is negligible, (iii) the product flows follow symmetric matrices, (iv) the distance between machines is calculated as the distance between their L/U ports (the center point), (v) the recommended minimum distance ϕ is outlined, which is a symmetric matrix. The sets, parameters, and decision variables of MRLP are listed below:
Sets and indices \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:N$$\end{document} = set of machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\{1,\dots\:,n\}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i$$\end{document} = index of machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:R$$\end{document} = set of rows \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\{\text{1,2},\dots\:,m\}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:r$$\end{document} = index of row \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:r\in\:R$$\end{document} Parameters \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n$$\end{document} = number of machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:m$$\end{document} = number of available rows \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{l}_{i}$$\end{document} = length of machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:L$$\end{document} = total length of all machines, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:L=\sum\:_{i\in\:N}{l}_{i}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{i}$$\end{document} = width of machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\beta\:$$\end{document} = penalty factor \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{c}_{ij}$$\end{document} = clearance between adjacent machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{cf}_{ij}$$\end{document} = amount of material flow between machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i$$\end{document} and machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\varphi\:}_{ij}$$\end{document} = recommended safe distance between machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:j$$\end{document} Variables \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\widehat{R}$$\end{document} = the total number of rows used in the layout, in which \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{N}_{r}=\varnothing\:$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}$$\end{document} = horizontal distance between the center of machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{ird}_{ij}$$\end{document} = inter-row distance between machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ikj}$$\end{document} = Binary variable to indicate in which row a machine belongs to, 1 if machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:k$$\end{document} is placed between machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:j$$\end{document} in the same row, and 0 otherwise. Consecutively, if the value is 1, this variable also indicates that machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i$$\end{document} is placed to the left of machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:j$$\end{document} .
Then, the following mixed-integer linear programming (MILP) formulation is proposed. The mathematical model is adopted from Amaral et al.^4^ and Fischer et al.^5^ in which we introduce novel objective functions and several constraints to comply the concerned problem.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\text{min}({f}_{1}+{f}_{2})$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{1}=\sum\:_{i=1}^{n-1}\sum\:_{j=i+1}^{n}{cf}_{ij}{(d}_{ij}+{ird}_{ij})$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{2}=\sum\:_{i=1}^{n-1}\sum\:_{j=i+1}^{n}\beta\:\times\:{Z}_{ij}$$\end{document}subject to:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ijk}+{u}_{ikj}+{u}_{jik}=1\:\:\:\forall\:\:r\in\:R;i,j,k\in\:{N}_{r},\:i<j<k$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ihj}+{u}_{ihk}+{u}_{jhk}\le\:2\:\:\:\forall\:\:r\in\:R;i,j,k,h\in\:{N}_{r},\:i<j<k$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{-u}_{ihj}+{u}_{ihk}+{u}_{jhk}\ge\:0\:\:\:\forall\:\:r\in\:R;i,j,k,h\in\:{N}_{r},\:i<j<k$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ihj}-{u}_{ihk}+{u}_{jhk}\ge\:0\:\:\:\forall\:\:r\in\:R;i,j,k,h\in\:{N}_{r},\:i<j<k$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ihj}+{u}_{ihk}-{u}_{jhk}\ge\:0\:\:\:\forall\:\:r\in\:R;i,j,k,h\in\:{N}_{r},\:i<j<k$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{\left(n+1\right)i\left(n+2\right)}=1\:\:\:\forall\:\:i\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{i\left(n+1\right)j}=0\:\:\:\:\forall\:\:r\in\:R;i,j\in\:{N}_{r}\cup\:\:\{n\:+\:2\},\:i<j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{i\left(n+2\right)j}=0\:\:\:\forall\:\:r\in\:R;i,j\in\:{N}_{r}\cup\:\:\{n\:+\:1\},\:i<j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ji\left(n+1\right)}={u}_{ij\left(n+2\right)}\:\:\:\forall\:\:r\in\:R;i,j\in\:{N}_{r},\:i\ne\:j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{j(n+1)}-{d}_{i\left(n+1\right)}\ge\:L\left({u}_{ji\left(n+1\right)}-1\right)+\frac{{l}_{i}+lj}{2}\:\:\:\forall\:\:r\in\:R;i,j\in\:{N}_{r},\:i\ne\:j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{i\left(n+1\right)}\ge\:\frac{{l}_{i}}{2}\:\:\:\forall\:\:i\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}\ge\:{d}_{i\left(n+1\right)}-{d}_{j\left(n+1\right)}\:\:\:\forall\:\:r,o\in\:R;i\in\:{N}_{r},j\in\:{N}_{o},\:i<j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}\ge\:{d}_{j\left(n+1\right)}-{d}_{i\left(n+1\right)}\:\:\:\forall\:\:r,o\in\:R;i\in\:{N}_{r},j\in\:{N}_{o},\:i<j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}={d}_{i\left(n+1\right)}+{d}_{j\left(n+1\right)}\:\:\:\forall\:\:r,o\in\:R;i\in\:{N}_{r},j\in\:{N}_{o},\:i<j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}+{d}_{jk}\ge\:{d}_{ik}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ik}+{d}_{jk}\ge\:{d}_{ij}$$\end{document}.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}+{d}_{ik}\ge\:{d}_{jk}\quad \:\forall\:i,j,k\in\:{N}_{r},\:i<k$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\text{m}\text{a}\text{x}\left\{\right|{r}_{s}-{r}_{t}|:s,t\in\:\left\{i,j,k\right\}\}\ge\:1$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{i(n+1)}\ge\:\sum\:_{k\in\:{N}_{r}\backslash\:\left\{i\right\}}{l}_{k}{u}_{ik(n+1)}+\frac{{l}_{i}}{2}\:\:\:\forall\:\:r\in\:R;i\in\:{N}_{r}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}\ge\:\sum\:_{k\in\:{N}_{r}\backslash\:\{i,j\}}{l}_{k}{u}_{ikj}+\frac{{l}_{i}+lj}{2}\:\:\:\forall\:\:r\in\:R;i,j\in\:{N}_{r},\:i<j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{ird}_{ij}=\left(\underset{i\in\:N}{{max}}{w}_{i}\right)|{r}_{i}-{r}_{j}|\:\:\:\forall\:\:r\in\:R;i,j\in\:{N}_{r},\:i<j$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{x}_{ij}\ge\:{d}_{ij}\:\:\:\forall\:\:i,j\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{x}_{ij}\ge\:{ird}_{ij}\:\:\:\forall\:\:i,j\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Z}_{ij}\ge\:0\:\:\:\forall\:\:i,j\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Z}_{ij}\ge\:{\varphi\:}_{ij}-{x}_{ij}\:\:\:\forall\:\:i,j\in\:N$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ijk}\in\:\left[\text{0,1}\right]\:\:\:\forall\:\:i,j,k\in\:{N}_{r},\:i<k$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij},{ird}_{ij}\le\:0]\:\:\:\forall\:\:i,j\in\:N\cup\:\:\{n\:+\:1\},\:i<j$$\end{document}The goal of objective function (1a) is to minimize the cost associated with handling materials among machines. Objective function (1b) aims to minimize the penalty incurred when the direct distance, either horizontal distance ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}$$\end{document} ) or inter-row distance ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{ird}_{ij})\:$$\end{document} between machines i and j is less than the recommended distance ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\varphi\:}_{ij}$$\end{document} ) that is predetermined. The coefficient β controls the relative importance of safety versus flow cost, with higher values assigning stronger penalties to safety distance violations, and vice versa. The auxiliary variable \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Z}_{ij}$$\end{document} indicates the differences between the direct distance and the recommended distance if \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\varphi\:}_{ij}$$\end{document} is larger, 0 otherwise.
Constraints and inequalities (2–6) express that the machines in each row do not overlap and that they correspond to some permutation in each row. These constraints are adopted from the model by Amaral^4^ and Fischer et al.^5^. As such, if machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i,j,k\in\:{N}_{r}$$\end{document} are placed in the same row, exactly one of them lies in between other machines and certain transitivity rules have to be satisfied. Subsequently, Constraints (7–10) ensure that in each row, all machines are placed between the dummy machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n+1$$\end{document} (the left border of the layout) and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n+2$$\end{document} (the right border in each row).
Constraints (11–12) ensure that a minimal distance of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\frac{{l}_{i}+lj}{2}$$\end{document} between machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i,j\in\:{N}_{r}\cup\:\:\{n\:+\:1\}$$\end{document} assigned to the same row. These betweenness constraints guarantee a workable arrangement of machines, positioned between departments \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n\:+\:1$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n\:+\:2$$\end{document} , within each row. By incorporating dummy departments and their respective betweenness variables, we enable the indirect utilization of ordering variables (specific betweenness variables) and positional variables (specific distance variables). This approach enhances our ability to optimize the arrangement of machines, ensuring efficient operations within the specified departments.
Constraints (13–14) are special triangle inequalities that bound the distances between the departments. Additionally, we can break some symmetry by setting \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ij\left(n+1\right)}$$\end{document} = 0 for some fixed pair \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\left|\left\{i\:,\:j\:\right\}\right|=2$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i\:,\:j\in\:{N}_{r}$$\end{document} . Constraint (15) provides the distances between machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i,\:j\in\:N,\:i\ne\:j$$\end{document} , lying in different rows \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{i}\ne\:{r}_{j}$$\end{document} are determined by summing up the distances of each of the two machines to the left border, i.e., to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n+\:1$$\end{document} . Constraint (16) are the classic triangle inequalities, which are used for machines in the same rows or in subsequent neighbouring rows. In addition, Constraints (17–18) bounded the position of each department \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:i,\:j\in\:N$$\end{document} , represented by the distance \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{i(n+1)}$$\end{document} . We can leverage the power of the betweenness model as outlined in Amaral et al.^4^ for machines within the same row. Moreover, utilizing the triangle inequalities, we can indirectly apply this model to machines in different rows that are interconnected through machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n\:+\:1$$\end{document} , which serves as the left border. This strategic approach allows us to optimize operations across various rows, enhancing overall efficiency in the interconnected machines.
In this model, we propose inter-row distance \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{ird}_{ij}$$\end{document} , formulated in Constraint (19). This variable calculates the distance travelled to move from one row to other rows through the left or right sides aisles, presented as vertical distance in Fig. 1. Here, we assume that the aisle width is neglected. Hence, the inter-row distance is solely influenced by the row width, which in turn is determined by the machine with largest width. Constraints (20–23) are for the linearization of auxiliary variable \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Z}_{ij}$$\end{document} calculation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Z}_{ij}=\text{m}\text{a}\text{x}(0,{\varphi\:}_{ij}-{\text{m}\text{a}\text{x}(d}_{ij},{ird}_{ij}))$$\end{document} . Lastly, Constraint (24) enforces the binary nature of the decision variables \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{u}_{ijk}$$\end{document} , and Constraint (25) is non-negativity constraint for variables \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{d}_{ij}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{ird}_{ij}$$\end{document} .
Proposed method
The proposed IVNS-SCA consists of two stages: the first stage is IVNS for determining the machine position, while the second stage is SCA for adjusting the boundary clearance and starting point for each row. Figure 2 illustrates the two-stage IVNS–SCA procedure for solving the MRLP with safety considerations. In the first stage (IVNS), the algorithm begins with solution initialization for machine positions, followed by a perturbation process (shaking) and local search using the Variable Neighborhood Descent (VND) strategy. The intermediate solution is then passed to the second stage (SCA), where boundary clearances are initialized, SCA parameters are updated, and starting points are refined through sine/cosine position updates and objective evaluation. This process is iterated until the SCA termination criterion is satisfied. The updated solution is subsequently evaluated using the Metropolis acceptance criterion in IVNS, and the procedure continues until the IVNS termination condition is met, at which point the algorithm ends with the final optimized layout.
Fig. 2. Flowchart of the proposed IVNS-SCA.
The improved variable neighborhood search
The IVNS is used in the first stage for determining the allocation of machines in each row. Since the concerned MRLP has the characteristic of open number of rows, the algorithm is also used to determine the number of rows in the layout. This algorithm is the extension of variable neighborhood search (VNS) formulated by Mladenovic and Hansen for solving combinatorial optimization problems^35^. The VNS is one of the emerging metaheuristics, and has been applied to various discrete optimization problems, such as minimum linear arrangement problem^49^, and travelling salesman problem with time windows^50^. VNS operates on the principle of iteratively exploring different neighborhoods of solutions within the search space. Unlike traditional algorithms that are confined to a single exploration strategy, VNS dynamically adjusts its search by transitioning between different neighborhood structures. These neighborhoods represent different levels of solution granularity, ranging from local to global configurations. By systematically moving between these neighborhoods, VNS can efficiently navigate complex, multi-dimensional solution spaces, often finding high-quality solutions in a remarkably efficient manner.
The hallmark of VNS lies in its ability to balance exploration and exploitation. During the exploration phase, the algorithm probes diverse regions of the solution space, ensuring that no promising areas are left unexplored. In the exploitation phase, VNS refines its search around the most promising solutions, homing in on optimal or near-optimal solutions with precision. This dynamic interplay between exploration and exploitation enables VNS to escape local optima and discover solutions that are globally optimal or near optimal.
This study adopts the IVNS that first was introduced by Rifai et al.^5^. The IVNS is a variant of skewed VNS (SVNS)^51^, in which an inferior solution can also be permitted as the current solution for next iteration. This procedure is aimed at diversifying the search process to promising regions that are far away from the regions where the search is currently locked^52^. The SVNS has been demonstrated in delivering satisfactory performance in various problems, such as degree constrained minimum spanning tree problem^53^, maximally diverse grouping^54^, cumulative capacitated vehicle routing problem^55^, and location-allocation problem for battery swap station^56^. A recent study by^57^ further improved General Skewed VNS, which demonstrated superior performance when compared to existing leading-edge methods. It set 57 new records for best-known solutions and equaled 43 former records across a collection of 100 instances^57^.
However, one important issue in SVNS is timing of skewed moves whereas premature movement could result in a missed opportunity to explore the region more thoroughly around a current incumbent solution^52^. Here, the improvement was executed by adding the Metropolis criterion for solution acceptance and archive-based solution replacement. These additions enhance the algorithm ability in exploring the search space during early iterations and then deepening the search process in promising regions during late iterations. Further, in this study, the IVNS is improved to accommodate the distinct characteristics of MRLP with open number of rows by tailoring the neighborhood structure and local search strategy. The complete procedure of IVNS for generating the multi-row layout is presented in Algorithm 1.
Algorithm 1IVNS for the first stage.
The IVNS starts with inputting all required information for generating a layout, which are number of machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n$$\end{document} , length of machine \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:l$$\end{document} , amount of material flow between machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:c$$\end{document} , row width \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:w$$\end{document} , and the minimum safe distance between machines \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\varphi\:$$\end{document} , as listed in Line (1). The aim of this algorithm is to generate a good multi-row layout \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:x$$\end{document} by minimizing the objective function \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:f\left(x\right)$$\end{document} which are calculated as the summation between the total material handling cost and the penalty due to violating the minimum safe distance. In addition, the IVNS also requires some parameters, i.e., initial temperature \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{{\Gamma\:}}_{1}$$\end{document} , final temperature \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{{\Gamma\:}}_{0}$$\end{document} , cooling rate \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\alpha\:$$\end{document} , Boltzman constant \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:K$$\end{document} , initial perturbation ratio \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Q}_{1}$$\end{document} , and final perturbation ratio \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Q}_{0}$$\end{document} .
Lines (2–4) initialize neighborhood list \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:S=\{1,\dots\:,\left|S\right|\}$$\end{document} which contain \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:sMax$$\end{document} moves that are deployed in the proposed framework. Here, the first move \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:s=1$$\end{document} is selected to initialize feasible solution. Afterward, the algorithm generates an initial solution randomly and initialize empty Archive, described in Lines (5–6). Subsequently, the initial solution \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:x$$\end{document} is stored in archive \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:A$$\end{document} , presented in Line (7). This archive is later used during the acceptance process. The iteration process of IVNS starts with setting the current temperature, as shown in Line (8). In each iteration, the current temperature is updated according to cooling rate \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\upalpha\:}$$\end{document} , given in Line (24). The iteration process continues until the termination criterion is satisfied as depicted in Line (9).
The perturbation process of the IVNS in each iteration follows the shaking procedure and local search strategy, described in Lines (10) and (11), respectively. Shaking procedure is performed to generate a modified solution \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\:{x}^{{\prime\:}}\:$$\end{document} by perturbing the current solution \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:x$$\end{document} based on the move in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:N$$\end{document} neighborhood. The modified solution \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{x}^{{\prime\:}}$$\end{document} will then be further exploited by applying local search strategy to generate a new solution \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\:{x}^{{\prime\:}{\prime\:}}$$\end{document} . Noted that the shaking procedure focuses on the search space exploration process, while local search focuses on the exploitation process, thus balancing between the two.
Subsequently, the new solution is evaluated according to the Metropolis criterion, formulated in Line (12). If the newly generated solution has a better objective than the previous ones, it is automatically accepted as the current solution (Lines (14–16)). However, when the objective of new solution is worse, there are two scenarios: (i) if the value of randomly generated variable \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:q$$\end{document} is greater than the probability \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\psi\:$$\end{document} , then the new solution is accepted as the current solution, described in Lines (17–19), (ii) otherwise, the new solution is rejected, and the algorithm decides stochastically to use previous solution or drawn a solution from the archive \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:a\in\:A$$\end{document} to be set as the current solution, as detailed in Lines (20–23).
An archive mechanism is employed to maintain solution diversity and prevent premature convergence. When a newly generated solution outperforms at least one member of the archive, the worst member (with the highest objective value) is replaced by the new solution. The archive size is fixed at 10, ensuring a balance between preserving high-quality solutions and maintaining diversity to avoid being trapped in local optima. The output of the IVNS is the best-known solution with minimum objective values among all solutions searched, as listed in Line (25).
Solution representation
Solution representation holds an important role in metaheuristics since it determines the method for solution modification. To a further extent, the solution representation also affects the efficiency and effectiveness of the method. Therefore, a good solution representation must be simple but can allow extensive mechanisms for solution modification. In this study, a \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:2\times\:n$$\end{document} matrix is used to represent the multi-row layout solution.
Fig. 3. Solution representation for the first stage.
Figure 3 presents an example of solution representation for a 10 machines layout described in Fig. 1. The upper section represents the corresponding row for each machine, i.e., \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{2},{M}_{6},{M}_{7}\:$$\end{document} belong to the third row since the three machines have the “Row” values of 3. The lower section represents the position of the machine in the sequence in its assigned row. For example, in third row (Row = 3), \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{6}$$\end{document} is the first machine (Machine Sequence = 1) from the left in that row, followed by \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{2}$$\end{document} (Machine Sequence = 2) and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{7}$$\end{document} (Machine Sequence = 3). This representation allows inter-row modifications, such as moving the machine to other rows, as well as intra-row modifications, such as modifying the sequence of machines that belong to the same row.
Neighborhood structure
The IVNS algorithm is designed to explore various row allocations and machine orders by utilizing four custom neighborhood structures: inter-row swap, inter-row reverse, inter-row insertion, and row change move. These structures are presented in Fig. 4 in the respective order, with nodes subject to change selected randomly, highlighted with the blue blocks. As illustrated in Fig. 4, the change in the inter-row swap and insertion only occurs at selected nodes. However, in the inter-row reverse dan row change moves, the change could also include other nodes. Hence, the inter-row reverse and row change moves have a higher magnitude of perturbation than the inter-row swap and insertion. The decision to execute these moves is based on their magnitudes, to balance the exploration and exploitation of the algorithm in searching for a global optimum solution. These neighborhood structures are used in the shaking procedure as well as in the local search phase of the algorithm.
Fig. 4. Solution perturbation methods in the proposed IVNS.
In addition, the row change moves may generate infeasible solutions. As such, the solution adjustment, highlighted with the green blocks, is performed to ensure the feasibility of the new solutions. The adjustment is performed mainly on sequence value, in which the sequence in a row must follow permutation order. It is done by substituting the redundant value of sequence with unassigned value of sequence. For example, in Fig. 3, the third machine is subject to row change move, highlighted in blue blocks. In the previous solution, machine 3 belongs to the 1st row with sequence number of 2. After row change move, the machine is assigned to the 2nd row with the same sequence number of 2. This creates redundant values since machine 5 also belongs to the 2nd row and sequence number of 2, highlighted in red blocks. As such, the sequence number of machine 5 must be changed to 3, and the sequence number of machine 9 is pushed to 4. Meanwhile, in the 1st row, the sequence number of 2 becomes empty after machine 3 is assigned to another row. Therefore, the sequence number of machines 8 and 10 must be changed from 3 to 4 to 2 and 3, respectively.
Local search strategy
The IVNS algorithm uses the Variable Neighborhood Descent (VND) technique to change neighborhoods during its local search phase. As such, the IVNS can be categorized as the improved version of Generalized Variable Neighborhood Descent (GVNS). GVNS is a classic variant of VNS in which one of the VND procedures is selected as the main improvement phase in an iteration, especially during the intensification phase^55^.
A VND consists of a set of predefined local search operators that are executed either in a sequential or a nested fashion. Three local search operators are used as exploitation moves: intra-row swap, intra-row reverse, and intra-row insertion moves. These moves refine the machine placement within a row. The process and illustration of the VND operators are shown in Fig. 5. The VND operators are similar to the shaking process moves, but they are performed on machines within the same row, hence emphasizing in intensification during the search process.
In this study, randomized VND is employed to improve the exploitation performance of the algorithm. The main difference between this approach and classical VND is the inclusion of a shuffle procedure in Step 9 of Algorithm 1. When the acceptance criterion is met, the neighborhood list S is rearranged. However, in contrast to previous methods, this study randomizes the number of neighborhoods lists S at each iteration.
Fig. 5. Local search methods in the proposed IVNS.
Solution acceptance and iteration termination
The Metropolis criterion is adapted as the solution acceptance mechanism in the IVNS. Previously, the Metropolis criterion was embedded for the Simulated Annealing^58^. However, due to its ability in enhancing the exploration of search process, the Metropolis criterion has been widely applied in other metaheuristics as well, such as in Particle Swarm Optimization^59^ and Adaptive Large Neighborhood Search^60^. This mechanism decides whether a newly generated solution \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\:{x}^{{\prime\:}{\prime\:}}$$\end{document} is accepted or rejected based on probability which is formulated in the following Eq.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:P\left({x}^{{\prime\:}{\prime\:}}\right)=\:\left\{\begin{array}{c}1\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:for\:\:f\left(x{\prime\:}{\prime\:}\right)-f\left(x\right)\:\le\:0\\\:{e}^{-\left(\frac{f\left(x{\prime\:}{\prime\:}\right)-f\left(x\right)}{K\left({{\Gamma\:}}_{p}\right)}\right)}\:\:\:\:\:\:for\:\:f\left(x{\prime\:}{\prime\:}\right)-f\left(x\right)\:>0\end{array}\right.$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:P\left({x}^{{\prime\:}{\prime\:}}\right)$$\end{document} is the probability of a new solution \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{x}^{{\prime\:}{\prime\:}}$$\end{document} to be accepted. When the new solution has a better objective value than the previous solution, it always has a probability of 1, thus automatically accepted. Meanwhile, when it has a worse objective value, the probability is affected by the deviance against the current objective and the iteration number. Once a new solution is accepted, it will replace the previous solution. Conversely, if the new solution is rejected, there are two options: retain the previous solution or drawing a solution from the Archive to be selected as the current solution. The iteration continues until the current temperature reaches the final temperature.
The sine cosine algorithm
The second stage aims to adjust the boundary clearance and determines the starting point of each row. Without the second stage, the starting points of machines are determined arbitrarily. Therefore, the algorithm may fail to obtain better solutions. As such, in the proposed two-stage algorithm, the SCA is used to determine the starting points of the rows which return further lower travelled distance.
The solution in this stage represents the value of the boundary clearance of each row. Figure 6 presents an example of solution representation for three rows layout described in Fig. 1. Since the first row has the longest length, its boundary clearance is always zero and cannot be modified.
Fig. 6. Solution representation for the second stage.
In this study, the Sine Cosine Algorithm (SCA) is used to find the optimal values of the boundary clearance that yield the lowest total material flow cost for the layout that has been generated in the first stage. The SCA is a population-based metaheuristics for continuous problem that is proposed by Mirjalili et al.^61^. It employs two simple solution perturbation processes which, as its name implies, use the two trigonometric functions: sine and cosine functions. The two solution perturbation processes are defined in Eq. 27.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{a}_{j}^{t+1}=\:\left\{\begin{array}{c}{a}_{j}^{t}+{r}_{1}\text{sin}\left({r}_{2}\right)\left|{r}_{3}\left({a}_{j}^{b}\right)-{a}_{j}^{t}\right|\:\:\:\:\:\:\:\:if\:{r}_{4}<0.5\\\:{a}_{j}^{t}+{r}_{1}\text{cos}\left({r}_{2}\right)\left|{r}_{3}\left({a}_{j}^{b}\right)-{a}_{j}^{t}\right|\:\:\:\:\:\:\:\:if\:{r}_{4}\ge\:0.5\end{array}\right.$$\end{document}Where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{a}_{j}^{t}$$\end{document} is the current solution (the boundary clearance) for row \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:j\in\:R$$\end{document} at iteration \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:t$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{a}_{j}^{b}$$\end{document} is the best-known solution so far for those rows, and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{a}_{j}^{t+1}$$\end{document} is the modified solution which can be generated by the two processes. Noted that in each iteration for each row, only one perturbation process can be used, which is randomly selected by generating random number \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{4}=U\left[\text{0,1}\right]$$\end{document} . As such, both perturbation processes have equal probabilities to be selected.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{1}=\alpha\:-t\left(\frac{\alpha\:}{T}\right)$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{2}=U\left[\text{0,2}\pi\:\right]$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{3}=U\left[\text{0,2}\right]$$\end{document}Besides the trigonometric function, the perturbation process is also affected by the three SCA parameters: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{1},{r}_{2}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{3}$$\end{document} , calculated in Eqs. (28–30), respectively. Parameter \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{1}$$\end{document} balances exploration and exploitation during the search process. Its value is governed by the pre-determined constant parameter \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\alpha\:$$\end{document} , the number of current iterations \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:t$$\end{document} , and the total iterations \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:T$$\end{document} . Parameter \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{2}$$\end{document} directs the movement of search process. Parameter \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{3}$$\end{document} stochastically emphasizes or deemphasizes the effect of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{a}_{j}^{b}$$\end{document} during the perturbation. The detailed process of SCA for boundary clearance determination is explained in Algorithm 2.
Algorithm 2SCA for the second stage.
Experiment and result
This section discusses the experiment to evaluate the performance of the proposed method. The evaluation of the method is executed in experiment with several instances. The algorithms are developed in MATLAB R2021a on a personal computer with Intel^®^ CoreTM i5-10400 F CPU @2.90 GHz (12 CPUs) and 16GB of RAM. The computation is only executed on a single core of the computer.
Test problems and parameter setting
The dataset for the test is taken from Rifai et al.^6^, consisting of 34 instances with various complexity with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n\in\:\left\{\text{11,12,13,14,15,17,40}\right\}.$$\end{document} The recommended safe distances between machines are randomly generated according to the discrete uniform distribution for half of the pair relationship. As for the other half, the recommended safe distance is zero \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\varphi\:}_{ji}=0$$\end{document} , which means that the two machines can be placed in proximity. The matrix is symmetrical, in which \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\varphi\:}_{ij}={\varphi\:}_{ji}$$\end{document} .
To ensure fairness during the experiment, all algorithms are executed in the same condition. In addition, the algorithms are executed under comparable computation time, following the computation time of the proposed IVNS. As such, the iteration process for SA and GVNS will be terminated once the current time reaches the computation time of the IVNS, albeit it has not reached the final temperature and maximum iteration. Table 2 details the parameter values of the methods.
Table 2. The parameter values of the methods.ParameterMeaningValue \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{{\Gamma\:}}_{1}$$\end{document} Initial temperature1 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{{\Gamma\:}}_{0}$$\end{document} Final temperature0.01 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{I}_{n}$$\end{document} Maximum no improvement iteration20,000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\alpha\:$$\end{document} Cooling rate0.995 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{I}_{\text{m}\text{a}\text{x}}$$\end{document} Maximum iteration at a temperature200 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:K$$\end{document} Boltzmann constant1/40 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Q}_{1}$$\end{document} Initial perturbation ratio0.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Q}_{0}$$\end{document} Final perturbation ratio0.05 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:T$$\end{document} Number of maximum generations500 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:a$$\end{document} Constant parameter2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:b$$\end{document} Constant parameter2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:Pop$$\end{document} Population size50
Evaluation metrics
The performances of the proposed and benchmark methods are evaluated using the Relative Deviation Index (RDI) metric, given as follows.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{RDI}_{A}=\frac{{f}_{A}-{f}_{best}}{{f}_{worst}-{f}_{best}}\times\:100$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{RDI}_{A}$$\end{document} is the Relative Deviation Index of algorithm A. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{A}$$\end{document} is the objective obtained by algorithm A, while \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{best}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{worst}$$\end{document} are the best (minimum) and the worst (maximum) objectives obtained by all methods in that instance, respectively. The RDI value ranges between 0 and 100, in which lower value of RDI indicates a good solution with better objective than the higher RDI value.
In addition, the use of SCA automatically adds the computation time, thus it is important to assess its worthiness to be embedded in the framework. Here, the average percentage deviation (API) is used to calculate the improvement obtained by the two-stage method against the standard method without adding SCA for the second stage. Equation (32) presents the formulation of API. The deviation is assessed by the RDI value.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{API}_{A-B}=\frac{{RDI}_{A}-{RDI}_{B}}{{RDI}_{B}}\times\:100$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{RDI}_{A}$$\end{document} is the Relative Deviation Index of the two-stage algorithm (i.e. IVNS-SCA), while \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{RDI}_{B}$$\end{document} is the Relative Deviation Index of the standard method using the no adjustment rule for the second stage (i.e. IVNS only). Besides the RDI, the API is also used to assess the increase of computation time by introducing the SCA in the framework by simply replacing \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{RDI}_{A}$$\end{document} with the average computation time of two-stage algorithm and replacing \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{RDI}_{B}$$\end{document} with the standard algorithm in Eq. (31).
Implication of considering safe distance
This subsection presents the importance of developing a model that can consider the inclusion of safe distance in the MRLP. The addition of recommended safe distance adds complexity to the problem. As presented in Sect. 3, the safe distance is accommodated in the second objective which imposes penalty if the safe distance is violated. In the standard MRLP, the model simply aims to minimize the material handling cost, disregarding the violation of safe distance. In contrast, the proposed model aims to minimize both the material handling cost and the penalty due to safe distance violation. Here, two results of multi-row layout for instance 1 ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n=9)$$\end{document} , with the standard multi-row model and the multi-row model with safety consideration generated by the IVNS-SCA are illustrated in Fig. 7. Table 3 presents the recommended safe distance between machines in instance 1, with the row width \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:w=3$$\end{document} .
Table 3. The recommended minimum safe distance \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\varphi\:$$\end{document} in instance 1. \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{1}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{2}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{3}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{4}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{5}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{6}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{7}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{8}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{9}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{1}$$\end{document} –0110012131316 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{2}$$\end{document} 0–180020201919 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{3}$$\end{document} 1118–001901215 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{4}$$\end{document} 000–13130200 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{5}$$\end{document} 00013–150012 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{6}$$\end{document} 1220191315–14190 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{7}$$\end{document} 132000014–150 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{8}$$\end{document} 1319122001915–0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{9}$$\end{document} 161915012000–
Fig. 7(a) The proposed layouts for instance 1 ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n=9)$$\end{document} . (b) Layout with safety consideration.
Figure 7 presents two different layouts, for instance 1: a layout without safety consideration (Fig. 7a) and a layout without safety consideration (Fig. 7b). Layout (a) has five rows, with relatively short row length, while Layout (b) has three rows with longer row length. In the perspective of material handling cost, Layout (a) gives better cost at \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{1}=\text{1,959.5}$$\end{document} , while Layout (b) has \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{1}=\text{2,865}.$$\end{document} However, Layout (a) violates the safe distance. For example, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{1}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{8}$$\end{document} are placed side by side in Layout (a) while it should not be according to the recommended minimum safe distance in Table 4. In another case, the placement of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{2}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{3}$$\end{document} is also violates the safe distance in which they are placed adjacent to each other. Meanwhile, albeit having higher material handling cost, Layout (b) can accommodate this issue by placing \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{2}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{3}$$\end{document} to be far apart from each other, in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{R}_{3}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{R}_{1}$$\end{document} for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{2}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{M}_{3}$$\end{document} , respectively. This illustration highlights that it is important to develop a model that can inclusively consider the issue of safe distance.
Algorithms evaluation
Effectiveness of IVNS-SCA
The proposed algorithm is compared against three benchmarks methods for the first stage: Gurobi solver, SA adopted from Kirkpatrick et al.^56^ and conventional GVNS adopted from Karakostas and Sifaleras^62^ with modifications in the perturbation operators to suit the MRLP. The optimization using Gurobi was performed with a time limit of 14,400 s, MIPGap tolerance of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:1\times\:{10}^{-4}$$\end{document} , and single-threaded computation to ensure comparability with the metaheuristic algorithms, which were also run on a single CPU core. The average objective value and the percentage improvement obtained by IVNS-SCA against benchmark metaheuristics (SA, SA-SCA, GVNS, GVNS-SCA, IVNS) are presented in Tables 4 and 5. In addition, the average computation time of the methods in each instance is presented in Table 6.
Table 4. The average objective values of all methods.InstanceGurobi solverMetaheuristicsObjectiveOptimality gap (%)SASA-SCAGVNSGVNS-SCAIVNSIVNS-SCA16,69377.70%2,9212,9142,9212,9042,8502,83627,65280.62%3,8833,8733,9773,9543,8973,88038,26592.05%3,7453,7293,7383,7153,7823,7474––7,6767,5837,5737,4857,3927,2955––6,0876,0436,1616,1256,0416,0036––7,1317,1157,1637,1177,1067,0537––7,7287,6797,8577,7817,7637,6848––4,8004,7974,9634,9544,7934,7809––4,1274,1154,1924,1754,1054,09910––5,4725,4415,8555,8405,4985,47311––5,4915,4765,5865,5645,4245,38612––4,4434,4364,4974,4904,2924,28213––8,8728,8559,2699,2548,8188,79814––8,5108,4908,7678,7588,5038,47615––7,6627,6387,9977,9887,7057,69016––8,4738,4018,5518,5308,3998,35217––9,6209,5359,7809,7459,5219,49718––10,27310,22410,30310,27510,18810,16319––10,82410,75811,36511,31510,86410,78420––12,87612,78912,82212,75912,99412,87121––10,60310,56010,84310,79610,61110,50822––8,9098,8469,6249,5068,9588,91323––9,1849,1549,4029,3659,0539,03024––5,9525,8906,2446,1096,0085,89825––12,36212,29312,63012,56612,16812,11226––16,00115,91016,67416,55715,98415,81927––16,58816,55817,68117,50016,81016,66028––120,535119,166136,597132,527119,035117,60229––151,374148,047169,289162,967146,950144,19430––360,905352,182371,817361,785359,437351,34631––203,846201,084225,134215,143203,806199,76832––246,067242,161266,110259,119244,814241,10633––5,467,2814,997,1855,992,8045,273,3115,094,4054,772,60334––1,267,3511,177,0871,267,0451,109,3761,209,7121,129,118
Table 5. Percentage improvement of IVNS-SCA against benchmark metaheuristics.InstanceImprovement of IVNS-SCA against benchmark metaheuristicsvs. SAvs. SA-SCAvs. GVNSvs. GVNS-SCAvs. IVNS12.9%2.7%2.9%2.3%0.5%20.1%− 0.2%2.4%1.9%0.4%3− 0.1%− 0.5%− 0.2%− 0.9%0.9%45.0%3.8%3.7%2.5%1.3%51.4%0.7%2.6%2.0%0.6%61.1%0.9%1.5%0.9%0.7%70.6%− 0.1%2.2%1.2%1.0%80.4%0.4%3.7%3.5%0.3%90.7%0.4%2.2%1.8%0.1%100.0%− 0.6%6.5%6.3%0.5%111.9%1.6%3.6%3.2%0.7%123.6%3.5%4.8%4.6%0.2%130.8%0.6%5.1%4.9%0.2%140.4%0.2%3.3%3.2%0.3%15− 0.4%− 0.7%3.8%3.7%0.2%161.4%0.6%2.3%2.1%0.6%171.3%0.4%2.9%2.5%0.3%181.1%0.6%1.4%1.1%0.2%190.4%− 0.2%5.1%4.7%0.7%200.0%− 0.6%− 0.4%− 0.9%0.9%210.9%0.5%3.1%2.7%1.0%220.0%− 0.8%7.4%6.2%0.5%231.7%1.4%4.0%3.6%0.3%240.9%− 0.1%5.5%3.5%1.8%252.0%1.5%4.1%3.6%0.5%261.1%0.6%5.1%4.5%1.0%27− 0.4%− 0.6%5.8%4.8%0.9%282.4%1.3%13.9%11.3%1.2%294.7%2.6%14.8%11.5%1.9%302.6%0.2%5.5%2.9%2.3%312.0%0.7%11.3%7.1%2.0%322.0%0.4%9.4%7.0%1.5%3312.7%4.5%20.4%9.5%6.3%3410.9%4.1%10.9%− 1.8%6.7%Average1.9%0.9%5.3%3.7%1.1%
Table 6. The computation times of all methods.InstanceAverage computation time (s)SASA-SCAGVNSGVNS -SCAIVNSIVNS-SCA164.565.064.5265.0164.5265.02264.464.964.4464.9364.4464.94370.370.870.2770.8370.2770.84478.379.078.3379.0078.3278.99582.583.182.4783.1582.4783.15675.676.275.5876.2575.5876.24776.677.376.6477.2876.6477.28870.371.070.3470.9670.3470.959341.8342.5341.85342.53341.85342.561084.485.184.3785.0784.3785.071175.376.075.2976.0075.2976.001286.186.986.0686.8686.0686.831382.783.482.6983.4282.6983.431482.483.282.4383.1782.4383.181582.883.582.7783.5382.7783.531678.779.578.7479.4978.7479.481784.885.684.8185.6584.8185.641889.590.389.4690.2989.4690.311990.291.190.2091.0590.2091.052092.493.292.3693.2292.3693.2321105.3106.2105.26106.24105.26106.2422106.1107.0106.09107.05106.09107.0523102.6103.6102.61103.64102.61103.6424102.2103.2102.19103.19102.19103.1825103.0104.0102.97104.06102.97104.0426121.0122.3121.01122.33121.01122.3427126.8128.2126.78128.25126.78128.2228405.9410.2434.78439.08405.92410.2129317.2321.6340.01344.34317.23321.6030303.7307.9339.64343.82303.72307.8931315.5319.8349.30353.66315.52319.8532324.7329.1350.41354.71324.70329.0533323.2327.6353.98358.36323.24327.6134313.5317.8346.12350.41313.49317.74
Table 4 indicates that the solutions obtained by Gurobi were significantly suboptimal, even for the simplest instances, with recorded optimality gaps of 77.70%, 80.62%, and 92.05% for instances 1 through 3, respectively. In contrast, the proposed metaheuristic consistently outperformed the Gurobi solver, even on the simplest instance. These results underscore the problem’s complexity and highlight the critical need for developing effective metaheuristic approaches to address it.
Table 5 shows that IVNS–SCA achieves the most notable improvements when compared to GVNS-based methods, averaging 5.3% against GVNS and 3.7% against GVNS–SCA. This trend is consistent across many instances, with particularly large gains in complex cases such as instance 28 (+ 13.9%), instance 29 (+ 14.8%), and instance 33 (+ 20.4%). In contrast, the improvements over SA and SA–SCA are much smaller, averaging 1.9% and 0.9%, with some instances even showing slight negative values (e.g., instances 3, 15, 20). Against IVNS without adjustment, the improvement is modest at 1.1%, indicating that the added SCA stage brings incremental rather than dramatic benefits over its base version.
Another clear pattern is the influence of problem size. In large-scale instances (28–34), IVNS–SCA delivers substantial gains, often exceeding 10%, while in smaller instances, the improvements are generally below 3% and sometimes negative. This suggests that SCA’s contribution is most effective when the number of machines and rows increases, giving more opportunity for optimizing boundary clearance. Overall, the table highlights that IVNS–SCA is consistently stronger than GVNS-based methods and provides meaningful benefits in larger, more complex cases.
Table 6 shows that the computation times of SA, GVNS, and IVNS are almost identical to their hybrid counterparts (SA–SCA, GVNS–SCA, and IVNS–SCA). For most instances, the addition of SCA increases runtime by less than one second (e.g., instance 1: 64.5s vs. 65.0s, instance 12: 86.1s vs. 86.9s). This pattern is consistent across all cases, demonstrating that integrating SCA as a fine-tuning stage has only a minimal effect on total computation time.
In larger instances (28–34), the overall runtime naturally rises (300–400 s), but the difference between single-stage and two-stage methods remains very small—typically within 1–2%. For example, in instance 28, IVNS takes 405.9s while IVNS–SCA requires 410.2s. This confirms that the benefits of SCA in improving solution quality come at a negligible computational cost, making the two-stage approach practical even for large and complex problem sizes.
Impact of SCA
For all metaheuristics computations, the performance of SCA is compared against the scenario without the adjustment of boundary clearance in the second stage. In the no adjustment scenario, the starting points of machines are determined arbitrarily. Hence, there are six algorithms to be evaluated: SA-no adjustment, SA-SCA, GVNS-no adjustment, GVNS -SCA, IVNS-no adjustment, and IVNS-SCA.
The comparison is executed to prove two aims: the significance of including SCA for the second stage, and the improvement of proposed IVNS-SCA against the benchmark methods. For each instance, ten replications are executed. Table 7 summarizes the average RDI of the methods in each instance. The best value for each instance is highlighted in bold font.
Table 7RDI of all methods in all instances.Instance \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n$$\end{document} SAGVNSIVNSNo adjustmentSCANo adjustmentSCANo adjustmentSCA1956.5755.0956.5552.9440.75 37.56 2930.23 28.53 46.5642.5732.7629.8431057.4155.6356.66 54.11 61.5357.6241144.3940.3139.8836.0832.00 27.77 51132.6728.3639.9236.3928.15 24.48 61134.1332.7336.9232.8631.88 27.28 71141.64 38.17 50.8145.4044.1638.4881118.8618.3448.0646.4017.69 15.34 91132.5530.3444.3041.1728.59 27.42 101119.81 16.79 56.7655.3022.2519.87111242.0139.5157.8254.1930.78 24.56 121252.5151.5059.7058.8032.15 30.81 131231.3729.7967.7866.4526.46 24.56 141226.9424.8653.3552.3626.26 23.47 151213.13 10.49 50.0149.0817.8816.28161237.6030.1745.8043.6029.95 25.05 171334.9527.9947.9345.0326.90 24.90 181356.2552.8458.4056.4450.36 48.54 191316.63 12.51 50.2047.1119.1114.14201345.3240.3542.22 38.63 52.1445.08211344.7340.2170.3065.3145.59 34.62 221327.30 24.49 58.8953.6729.4427.47231435.7133.1354.2751.1624.53 22.55 241442.85 39.34 59.4851.7946.0839.77251530.4026.4145.9542.2119.18 15.94 261729.6226.4153.0548.9829.01 23.25 271824.83 23.85 60.4454.5332.0727.17284018.9815.1763.7152.3814.81 10.81 294026.4321.0655.3245.1319.30 14.85 304042.4132.5154.8043.4140.74 31.56 314022.5118.1755.9940.2822.45 16.10 324025.7218.0565.1251.3823.26 15.97 334046.5435.4558.9441.9637.74 30.15 344033.9223.7433.88 16.11 27.4218.34Average34.6230.6652.9447.4531.28 26.81
The SA, GVNS, and IVNS are the methods in the first stage to determine the number of rows and the machine sequence in each row. The SCA and ‘No adjustment’ are the method for the second stage to determine the starting point of each row. Noted that the ‘No adjustment’ means that there is no adjustment on the boundary clearance, hence starting points of all rows are at point zero in x-axis. The result indicates that the proposed two-stage IVNS-SCA clearly outperforms the other algorithms, depicted by the lowest average RDI. Among 34 instances, the IVNS-SCA can obtain the best results in 23 instances.
Considering the equal computation time between the three methods, the result shows the ability of the proposed IVNS-SCA in finding better solutions. The result also clearly shows the improvement obtained by the IVNS against the conventional GVNS, albeit using the same neighborhood structure and local search strategy. It indicates that the introduction of Metropolis criterion into the IVNS framework is significantly useful to enhance the exploration ability of the algorithm, hence preventing premature convergence.
Table 8. The API in computation time and RDI.InstanceAPI of computation timeAPI of RDISA-SCA vs. SAGVNS-SCA vs. GVNSIVNS-SCA vs. IVNSSA-SCA vs. SAGVNS -SCA vs. GVNSIVNS-SCA vs. IVNS10.76%0.76%0.78%− 2.62%− 6.38%− 7.82%20.77%0.76%0.78%− 5.61%− 8.57%− 8.92%30.81%0.80%0.81%− 3.09%− 4.50%− 6.36%40.86%0.86%0.85%− 9.20%− 9.54%− 13.21%50.83%0.83%0.83%− 13.20%− 8.84%− 13.05%60.83%0.88%0.87%− 4.10%− 11.01%− 14.44%70.85%0.84%0.85%− 8.33%− 10.64%− 12.87%80.88%0.88%0.87%− 2.77%− 3.44%− 13.33%90.20%0.20%0.21%− 6.78%− 7.06%− 4.09%100.84%0.83%0.84%− 15.26%− 2.56%− 10.72%110.95%0.95%0.94%− 5.96%− 6.29%− 20.23%120.94%0.92%0.89%− 1.93%− 1.51%− 4.15%130.89%0.88%0.89%− 5.03%− 1.96%− 7.18%140.89%0.90%0.91%− 7.73%− 1.86%− 10.62%150.91%0.91%0.91%− 20.12%− 1.86%− 8.96%160.95%0.95%0.94%− 19.74%− 4.80%− 16.37%170.97%0.99%0.98%− 19.90%− 6.03%− 7.42%180.93%0.93%0.95%− 6.07%− 3.36%− 3.60%190.95%0.94%0.94%− 24.78%− 6.16%− 25.98%200.93%0.92%0.94%− 10.98%− 8.52%− 13.54%210.90%0.93%0.93%− 10.10%− 7.11%− 24.06%220.90%0.91%0.90%− 10.29%− 8.87%− 6.70%231.00%1.01%1.00%− 7.23%− 5.72%− 8.04%240.99%0.98%0.98%− 8.18%− 12.93%− 13.70%251.05%1.06%1.04%− 13.15%− 8.12%− 16.90%261.09%1.09%1.10%− 10.81%− 7.68%− 19.84%271.14%1.16%1.14%− 3.94%− 9.78%− 15.27%281.06%0.99%1.06%− 20.08%− 17.79%− 26.96%291.37%1.27%1.38%− 20.30%− 18.43%− 23.03%301.39%1.23%1.38%− 23.35%− 20.79%− 22.55%311.37%1.25%1.37%− 19.30%− 28.06%− 28.29%321.35%1.23%1.34%− 29.85%− 21.10%− 31.33%331.35%1.24%1.35%− 23.83%− 28.80%− 20.12%341.38%1.24%1.36%− 30.00%− 52.46%− 33.13%Average0.98%0.96%0.98%− 11.44%− 10.37%− 14.27%
Further, the effectiveness of using SCA for the second stage is also evaluated. Table 8 presents the average percentage deviation API for the computation time and the obtained RDI between the two-stage methods (SA-SCA, GVNS-SCA, and IVNS-SCA) and their standard methods (with no adjustment) counterparts. The results clearly indicate that the use of SCA for the second stage can significantly reduce the RDI with an average of 11.44%, 10.37%, and 14.27% for the SA, GVNS, and IVNS, respectively. The improvement is especially prominent in large-size instances since there are a greater number of rows that its starting points need to be adjusted. However, this improvement is compensated for by the increase of computation time with average of 0.98%, 0.96%, 0.98% for SA-SCA, GVNS-SCA, and IVNS-SCA against their standard method counterparts, respectively. Considering that the increase of computation time by adding the SCA is generally low (below 1.5%) while enabling significant improvement of RDI, the two-stage methods are deemed to be more favorable to be applied for solving the MRLP with safe distance consideration.
Statistical analysis
Statistical analysis is performed to further evaluate the advantage of the proposed IVNS–SCA as compared to the benchmark algorithms in terms of the obtained RDI values. The simple two-tailed t-tests are performed for each comparison using the hypothesis as follows.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{0}:\:{\mu\:}_{A}^{RDI}=\:{\mu\:}_{B}^{RDI}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{1}:\:{\mu\:}_{A}^{RDI}\ne\:{\mu\:}_{B}^{RDI}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\mu\:}_{A}^{RDI}$$\end{document} is the mean of RDI obtained by the IVNS – SCA, while \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{\mu\:}_{B}^{RDI}$$\end{document} is the mean of RDI obtained by the benchmark algorithm, for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:B=\{\text{I}\text{V}\text{N}\text{S},\:\text{S}\text{A},\:\text{S}\text{A}-\text{S}\text{C}\text{A},\:\text{G}\text{V}\text{N}\text{S},\:\text{G}\text{V}\text{N}\text{S}-\text{S}\text{C}\text{A}\}$$\end{document} . The alpha is 0.05 which means that if the *p-*value is less than 0.05, the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{0}$$\end{document} is rejected and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{1}$$\end{document} is accepted. It means that there is a significant difference between the Means of the two algorithms RDI. Table 9 presents the results of the statical tests.
Table 9. The results of the statistical tests.Algorithm 1Algorithm 2p-valueDescriptionIVNS – SCASA – No adjustment0.0053 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{0}$$\end{document} is rejected; the IVNS-SCA is significantly betterIVNS – SCASA – SCA0.1612Fail to reject \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{0}$$\end{document} IVNS – SCAGVNS – No adjustment \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:1.03\times\:{10}^{-16}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{0}$$\end{document} is rejected; the IVNS-SCA is significantly betterIVNS – SCAGVNS – SCA \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:4.06\times\:{10}^{-12}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{0}$$\end{document} is rejected; the IVNS-SCA is significantly betterIVNS – SCAIVNS – No adjustment0.0913Fail to reject \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{0}$$\end{document}
The tests indicate that the IVNS – SCA outperforms three benchmark algorithms: SA – No adjustment, GVNS – No adjustment, and GVNS – SCA. Especially against the GVNS based algorithm, this result confirms the significance of improvement obtained by the proposed IVNS. Subsequently, the test fails to reject \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{H}_{0}$$\end{document} in the comparison against two benchmark algorithms: SA – SCA, IVNS – No adjustment which means that the improvement is not as significant as against the other algorithms. Specifically, in smaller or less complex instances, the adjustment of boundary clearance by SCA has limited effect, since the row lengths and machine placements leave fewer opportunities for meaningful improvement. Similarly, when the initial layouts generated by the first-stage algorithm (e.g., IVNS) are already near-optimal, the contribution of SCA becomes marginal, leading to non-significant differences in Table 9.
On the other hand, the advantage of SCA becomes more apparent in large-scale instances with many rows or more diverse machine sizes, where boundary clearance decisions have greater influence on total material handling cost. In these cases, SCA significantly enhances layout quality, as reflected in the substantial Relative Deviation Index (RDI) reduction observed in large instances (Tables 7 and 8). Nevertheless, considering that all algorithms run on similar computation time, the IVNS – SCA performs favorably by obtaining the best objective value in most of the instances.
Discussion
The MRLP is inherently complex due to the simultaneous need to optimize machine sequencing within rows, inter-row arrangements, and safety clearances. Exact methods quickly become intractable as the number of machines increases, which motivates the use of advanced metaheuristics. Based on numerical experiments on 34 benchmark instances, the proposed IVNS–SCA consistently achieved higher-quality solutions compared to SA, GVNS, and their hybrid versions. These results demonstrate that combining IVNS for machine sequencing with SCA for fine-tuning boundary clearances provides a practical advantage in tackling industrial-scale MRLP, as it balances both efficiency and safety considerations.
In terms of computational effort, the proposed IVNS–SCA remains efficient for industrial-scale instances. The IVNS stage requires \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:O\left({n}^{2}\right)$$\end{document} operations due to pairwise machine moves in the neighborhood structures. The SCA stage adds iterative updates of boundary adjustments, with a complexity of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:O(n\cdot\:T)$$\end{document} , where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n$$\end{document} is the number of machines and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:T$$\end{document} is the number of iterations. Together, these steps yield a polynomial-time algorithm that scales reasonably with problem size. Importantly, the integration of SCA introduces only a negligible overhead: across all 34 instances, the additional runtime was less than one second on average compared to the single-stage counterparts. Even for the largest instances, the overall processing time of the two-stage algorithm was within 300–400 s, which is practical for industrial applications. This demonstrates that IVNS–SCA achieves consistent improvements in layout quality without sacrificing computational efficiency.
Despite these strengths, the scalability of IVNS–SCA is still constrained by the polynomial growth of computational effort, especially in the IVNS stage. For extremely large-scale MRLPs, additional enhancements such as decomposition strategies or parallel computing may be required to maintain tractability. Another promising direction is the development of more efficient MILP models, since exact approaches can guarantee optimal solutions and could serve as a benchmark or hybrid component when combined with metaheuristic methods.
In this study, objectives (1a) and (1b) were integrated into a single-objective formulation. For future research, these two objectives could be treated separately in a multi-objective framework: minimizing material handling cost (objective 1a) and minimizing the penalty from safety distance violations (objective 1b). Such an extension would better capture the potential trade-off between efficiency and safety, where improving one objective may adversely affect the other. In this context, applying a posteriori multi-objective method (such as epsilon constraint, multi-objective metaheuristics) would be more suitable, as they allow decision-makers to explore the Pareto front and select solutions that best fit their preferences and practical constraints.
It is also worth noting that the penalty coefficient β governs the trade-off between flow efficiency and safety compliance: low values risk neglecting safety constraints, while excessively high values may inflate layout size and cost. In our formulation, β is set to balance these two aspects, ensuring that severe hazards (e.g., collisions between machines and operators, or insufficient clearance for fire safety) are heavily penalized, whereas less critical issues such as noise or ergonomic discomfort receive lower penalties. This aligns the optimization results with practical industrial priorities. For future studies, it would be valuable to investigate how β can be calibrated for specific industries or operating environments, since different sectors (e.g., heavy manufacturing, electronics, or food processing) may prioritize safety factors differently, requiring industry-specific values of β to better capture their operational realities.
At last, while this study has compared the proposed IVNS–SCA against established metaheuristics such as SA, GVNS, and their hybrid versions with SCA, future studies could further strengthen the analysis by benchmarking against other widely used or recently developed metaheuristics (e.g., swarm intelligence–based or evolutionary hybrid methods). Incorporating these approaches would provide a broader performance landscape and reveal additional insights into the strengths and limitations of IVNS–SCA. More importantly, the development of new hybrid strategies has the potential to further enhance both the effectiveness of solution quality and the efficiency of computation, offering promising directions for future research.
Conclusion
A new mathematical model is presented in this study to solve multi row layout problems. The model incorporates safety factors with the objective of minimizing the material handling cost while ensuring the recommended safety distance between machines. A two-stage heuristic is proposed to solve the problem. First, IVNS is employed to allocate the machines in two rows. The subsequent stage involves utilizing the SCA algorithm to optimize the machine placements by establishing the boundary clearance and starting point of each row.
Based on computational experiments on instances of varying complexity, our proposed IVNS + SCA approach outperforms the single stage SA and single stage GVNS based algorithms, as well as the two stage GVNS + SCA method. Furthermore, given that all algorithms have a similar computation time, the IVNS-SCA approach demonstrates superior performance by achieving the best objective value in the majority of instances. On average, it achieved improvements of 0.9% compared to SA–SCA, 1.9% compared to SA, 1.1% compared to IVNS without adjustment, 3.7% compared to GVNS–SCA, and 5.3% compared to GVNS. The advantage was especially evident in large-sized instances, where the boundary clearance adjustment by SCA provided greater opportunities for reducing material handling costs. Although the proposed metaheuristics can deliver promising performance, the search for optimal solutions is still necessary, especially in small instances. Therefore, for the future improvement, it is still important to develop an efficient mathematical model and exact method to solve the problem which can guarantee reaching optimal results in reasonable time.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Hansen, P. et al. Variable neighborhood search for weighted maximum satisfiability problem. In Les Cahiers Du GERAD 62 (2000).
- 2Affi, M. et al. A skewed general variable neighborhood search approach for solving the battery swap station location-routing problem with capacitated electric vehicles. In Green Transportation and New Advances in Vehicle Routing Problems 75–89 (2020).
- 3Mirjalili, S. M. et al. Sine cosine algorithm: theory, literature review, and application in designing Bend photonic crystal waveguides. In Nature-Inspired Optimizers: Theor. Literature Reviews Applications 201–217 (2020).
