Next Article in Journal
Solar Energy-Powered Boats: State of the Art and Perspectives
Previous Article in Journal
Identification of Spoofing Ships from Automatic Identification System Data via Trajectory Segmentation and Isolation Forest
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Constrained Programming Model for the Optimization of Industrial-Scale Scheduling Problems in the Shipbuilding Industry

by
Javier Pernas-Álvarez
* and
Diego Crespo-Pereira
Universidade da Coruña, Campus Industrial de Ferrol, CITENI, Grupo Integrado de Ingeniería, Campus de Esteiro s/n, 15403 Ferrol, Spain
*
Author to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2023, 11(8), 1517; https://doi.org/10.3390/jmse11081517
Submission received: 27 June 2023 / Revised: 20 July 2023 / Accepted: 20 July 2023 / Published: 29 July 2023

Abstract

:
This work presents an innovative constrained programming model for solving a flexible job-shop scheduling problem with assemblies and limited buffer capacity based on a real case from the shipbuilding industry. Unlike the existing literature, this problem incorporates the manufacturing and assembly of blocks from subblocks to the final ship erection, while considering the limited buffer capacity due to the size of blocks, which has been often overlooked. The objectives considered are the minimization of the makespan and tardiness based on ship erection due dates. To demonstrate the model’s effectiveness, it is initially validated using various scheduling problems from the literature. Then, the model is applied to progressively challenging instances of the shipbuilding problem presented in this work. Finally, the optimization results are validated and analyzed using a comprehensive simulation model. Overall, this work contributes to reducing the gap between academia and industry by providing evidence of the convenience of the application of constrained programming models combined with simulation models on industrial-size scheduling problems within reasonable computational time. Moreover, the paper emphasizes originality by addressing unexplored aspects of shipbuilding scheduling problems and highlights potential future research, providing a robust foundation for further advancements in the field.

1. Introduction

Shipbuilding is an extraordinarily complex and Engineering-to-Order industry where each order (ship) is managed as a customized project and involves an endless amount of resources and technologies [1,2,3,4,5]. Thus, each project entails a high degree of uncertainty and associated risk, leading to the need for methods and systems to plan, monitor, and control the production systems involved. Furthermore, the current global political context and derived conflicts have prompted a race toward digitalization and efficiency within the industry. Manufacturers are striving to reduce costs and lead times to become more competitive while keeping quality standards. In doing so, they have been adopting techniques and production methodologies that come traditionally from other industries such as Lean Manufacturing and Product Lifecycle Management (PLCM) [3,4,6].
Since ship manufacturing is large-scale and greatly non-standardized [7], the production process of a ship involves thousands of operations that are interrelated and many times performed in parallel, thus depending on each other. This is especially noticeable in the block assembly process, the problem that this paper addresses, which requires a high degree of coordination between resources to meet deadlines and avoid cost overrunning [7,8].
Currently, the construction of ships is mostly based on the assembly of blocks made in turn of subblocks which are assembled in cells [7,8,9]. Conversely, the scheduling of subblocks determines the availability of blocks, which in turn constrains the assembly strategy of the ship at the dock. On top of this, the characteristics and size of subblocks and blocks make intermediate storage a critical element in operation scheduling. The timing of each operation must also be carefully considered to avoid costs associated with either the unavailability of sufficient storage space or the need to rent additional storage capacity. Thus, the construction sequence adopted in these stages not only influences the total completion time but also dictates the storage requirements, ultimately impacting the overall efficiency of the ship construction process. Based on this, following the notation of [10], a flexible job-shop scheduling problem with assembly operations and limited buffer capacity (FJSP-A-LBC) can be defined. Different computerized optimization techniques can be used to address this problem.
Refs. [1,10] point out that so far, few works have addressed the FJSP in shipbuilding. Mixed-Integer Linear Programming (MILP) as described in [5,7,10] and discrete-event simulation models like the ones used in [8,10,11,12,13] are the main approaches used in this area. Beyond shipbuilding, MILP is by far the most common approach to address the FJSP [14], although it has been frequently combined with other techniques. MILP-based hybrid approaches include heuristics [15,16,17], metaheuristics [15,18], and constrained programming (CP) [14]. Techniques of decomposition–aggregation and improvement algorithms like in [10] must be mentioned too. These alternatives to exact optimization methods provide reasonable computational times for large-sized cases at the expense of optimal solutions.
Since MILP models usually entail long computational times [18] in medium- and large-sized problems, another optimization approach that has recently been emerging as a serious alternative for scheduling problems is CP [14]. CP is an optimization approach to solving constraint satisfaction problems (CSP) [19,20] that has not yet received much attention from practitioners. This is due to several reasons such as semantics (CP is based on restrictions that are not as familiar as pure mathematical formulations), a certain skepticism of whether CP optimizers outperform other approaches on scheduling problems [19,21], and even commercial pressures [22]. The first efforts to incorporate CP into scheduling problems are based on Logic-based Benders Decomposition (LBBD) [19,22,23,24], a hybrid approach that combines CP and MILP. However, within CP, Constrained Integer Programming (CIP) has arisen as a promising optimization approach that seems to outperform both MILP and hybrid approaches like LBBD. This is stated in [22], where CIP models are able to solve more problems to optimality than Mixed Integer Programming (MIP) and LBBD models. In [24], the CP Optimizer (CPO), IBM’s proprietary CP solver, is upgraded with interval and sequence variables [25], thus substantially reducing the number of variables. CPO outperforms the rest of the approaches in the instances examined in [24]. Ref. [25] recommends using CPO in industrial-size scheduling applications. For readers who are unfamiliar with CP, Refs. [20,26] provide a good overview of the history of CP and related software.
Ref. [26] also provides an explanation of CPO Automatic Search, CP’s optimization algorithm. Different techniques are combined like constraint propagation [27], CP search tree, Large Neighborhood Search (LNS) [28], linear relaxation, failure-directed search (FDS) [29], and iterative diving along with parallelization. The criteria for the use of each of them depends on the size of the problem and the evolution of the optimization. For instance, if the problem is small enough or the solution is not being improved, FDS performs a complete search. Likewise, LNS performs a meta-heuristic search in medium- to large-sized cases. CP resorts to aggressive dives in the CP search tree from the iterative diving algorithm when the problem is too large for LNS. Ref. [20] provides a recent comparison between CPO and Google’s OR-Tools (ORT) for the job-shop scheduling problem (JSP), concluding that CPO outperforms ORT in large-scale cases (limitations of the benchmarking must be considered). In fact, Ref. [20] expects a rise in the number of industrial applications of CP.
When it comes to the incorporation of limited buffers in job-shop scheduling problems, to the best of our knowledge, this aspect has received limited attention in previous research [30,31,32]; most efforts have been dedicated to the flow-shop scheduling problem. Moreover, it has been even less explored in the context of shipbuilding production systems. Ref. [33] already showed that the two-machine flow-shop problem with a limited buffer capacity between the first two machines is NP-hard. Most recent studies in the field like [14,19,20] consider either flow- or job-shop problems with assemblies but assume no constraint regarding buffer capacity, the latter thus becoming infinite, as in classical problems [32,34]. If we resort to other areas, buffering constraints have barely been included in the MILP model. Ref. [31] provides a good reference to classify job-shop problems according to the type and capacity of buffers:
  • Output buffers: Machines have an output buffer downstream with limited capacity where the job can be stored once the operation on the machine is finished.
  • Input buffers: Machines have an input buffer upstream with limited capacity where the job can be stored once the operation on the previous machine is finished.
  • Pairwise buffers: Each pair of consecutive machines has a specific buffer to store the job, if necessary, when it goes from the machine upstream to the machine downstream.
  • Job-dependent buffers: There is a dedicated buffer for each job, so the assignment of the operations of a job to buffers depends on the job itself.
  • Blocking scheduling problem: A special case where buffers have no capacity, so operations may block machines if subsequent machines are busy.
Taking this notation as reference, Ref. [30] studies the multi-route job-shop scheduling problem with limited output buffers comparing a hybrid artificial immune-simulated annealing algorithm with a MILP model. Ref. [35] uses MILP to solve a blocking flow-shop model with up to 20 jobs and seven machines, which is still far from large-scale problems derived from shipbuilding. Ref. [36] investigates the job-shop problem of a robotic manufacturing cell with intermediate buffers. In their case, they consider restrictions on the time a manufactured piece can block a station if the downstream buffer is blocked: no-wait, free pick-up (unlimited time), and a time window (limited time). Ref. [37] proposes a MILP model to study a cyclic hybrid flow-shop problem with limited output buffer capacity, obtaining an assignment heuristic algorithm to generate initial sequences for the MILP model.
Beyond MILP, metaheuristics are the most common approach to address scheduling problems with buffering constraints. Ref. [32] applies a novel heuristic algorithm based on simulated annealing to the job-shop scheduling problem considering four different buffering constraints: no-wait, no-buffer, limited-buffer, and infinite-buffer. Ref. [38] uses tabu search to obtain good solutions for a flow-shop problem with limited buffer capacity. Ref. [39] applies an extended version of a genetic algorithm to optimize the makespan of a flow-shop problem with sequence-dependent setup times and output buffers with limited capacity.
For a comprehensive literature review, Ref. [40] provide insights on job-shop scheduling problems (JSP) and flow-shop scheduling problems (FSP) with buffering constraints. However, there is no study that specifically examines the job-shop scheduling problem with assembly operations and buffering constraints. Similarly, Refs. [31,32] offer references on flow-shop scheduling problems with buffering constraints, but do not address the specific combination of assembly operations and buffering constraints in the job-shop scheduling context.
Therefore, given the potential that CP seems to have in scheduling problems and the existing gap in the shipbuilding literature, this study first formulates a CP model of the FJSP-A for the case studies examined in [10] and compares the results of the minimization of the makespan between models. Since CP outperforms both the monolithic MILP formulation and the MILP-based decomposition algorithm proposed by [10] for the larger cases, a new variant of the FJSP with assemblies and limited buffer capacity is formulated and investigated. The problem derives from a real case from the shipbuilding industry and tackles the criticality of intermediate storage between stages due to the size of blocks and subblocks. Hence, several instances are defined based on buffer capacity, optimization objective, and number of blocks. MILP and CP models are formulated for each instance and a detailed comparison of the computational performance and the quality of the solutions is presented. Discrete-event simulation models are used to further validate the results and obtain insights into various key performance indexes that cannot be directly extracted from the optimization. Overall, our primary objective is to bridge the gap between academic research and industrial practice by demonstrating the effectiveness of constrained programming on large-scale scheduling problems, particularly in shipbuilding, where efficient production plans and storage capacity limits are crucial. We strive to develop a computerized optimization methodology that can accommodate manufacturing complexities and provide efficient production plans within reasonable computational time. Additionally, the approach must be designed so that results can be easily communicated to non-expert personnel, thereby supporting decision-making processes in various stages of the project.

2. The Shipbuilding Manufacturing Process

The assembly process of subblocks and blocks is a complex production process that starts with the manufacturing of sheets and profiles, components of blocks. Following a high-level modeling approach, activities can be grouped into parent activities according to different criteria such as activity location, nature, or personnel involved. We grouped the activities according to the workshops and flows between them (Figure 1). In doing so, we consider the following workshops (W), each one containing several multipurpose cells:
  • WA1, WA2: Workshops for assembly operations. Cells in WA1 and WA2 can also execute outfitting operations if needed.
  • WO1, WO2: Workshops designed for outfitting operations. Cells belonging to WO1 and WO2 can also perform assembly operations if needed.
  • BTC: Outside block turning cells for subblock turning.
  • PC: Painting cabin.
  • SW: Slipway for block erection.
We consider the following operations:
  • Subblock assembly 1 (SB-A1): Sheets and profiles that have been cut, formed, and welded are delivered to subblock assembly 1 area (SB-A1) to form subblock subassemblies. It can be executed in WA1 and WA2 cells.
  • Subblock assembly 2 (SB-A2): Subblock subassemblies are welded together to form subblocks. This operation can be continued in WA1 and WA2 workshops or executed in WO1 and WO2 if necessary.
  • Turning (SB-T): Some subblocks must be turned upside-down to proceed to block assembly. Turning can only be performed in BTC.
  • Block assembly (B-A): Subblocks are welded together to form blocks, which are the component parts of the frigate hull. This can be executed in WA1, WA2, WO1, WO2, or in the previous cell of BTC.
  • Outfitting 1 (B-O1): Piping, brackets, and other equipment fabricated in auxiliary workshops are installed on the block. This can be performed in WO1 and WO2 or in WA1 and WA2 if necessary.
  • Blasting and Painting (B-P): Block blasting and painting are performed in painting cabins. Blasting and painting can only be performed in PCs.
  • Outfitting 2 (B-O2): Electrical equipment, ducts, and other equipment fabricated in auxiliary workshops that could have been affected by the painting process are installed on the painted block. This can only be performed in WO2.
  • Block Erection: Once blocks are completed, they are erected and welded in a slipway to form the frigate hull according to a predefined strategy. Each block enables adjacent blocks to be erected and welded, so the production of blocks should be adjusted to hull construction to avoid unnecessary blockages and storage. This is executed in the SP.
Refs. [8,9] depict a similar process flow, but two extra operations (SB-A2 and SB-T) are included in this paper to consider the flow of parts between workshops. It is also remarkable how cells in different workshops are multipurpose and can hold different operations.
Finally, it is worth noting the impact of the block erection strategy on the scheduling problem. In this sense, we have considered a twofold objective: the makespan (MK) and the minimization of total tardiness according to predefined blocks’ due dates (DD). The latter allows for the adjustment of the solutions to the scheduling problem to a predefined block erection strategy.

3. Materials and Methods

3.1. Problem Statement

The flexible job-shop scheduling problem with assembly operations considers the following assumptions:
  • The set of jobs J = { j 1 ,   j 2 ,   j n } are to be processed in a set of stages S = { s 1 ,   s 2 ,   s n } .
  • Each job j J is composed of a variable number of operations o O j to be executed in the set of stages S . For each job, there is a predefined sequence to execute the operations which depends on the type of job, not necessarily using all the stages.
  • Only one operation of a given job can be processed at a time in a given stage.
  • Each stage s S is made up of a subset of workstations w W s . A workstation can perform operations in various stages, thus belonging simultaneously to the given stages.
  • One given workstation can only perform one operation at a time. No other equipment constraint is considered.
  • For assembly operations, the set of jobs J is split into two subsets J s a and J a to consider subassemblies J s a and final assemblies J a .
  • O a represents the set of the last operation of jobs j   J a
  • Jobs j J s a are available to be scheduled at time 0.
  • Jobs j J a can only start processing when all their subassemblies (complementary jobs j J s a ) are completed.
  • Operations of jobs j J s a follow always the same sequence of stages.
  • Operations of jobs j J a follow always the same sequence of stages which is different from jobs j J s a operations’ sequence.
  • Both jobs j J s a and j J a may have operations assigned to the same stage s S .
  • For a given operation o O j of a job j J , the processing time P T o j is always known in advance.
  • Transportation times of jobs between stages are negligible and thus ignored. The same happens with setup and changeover times.
  • Machine breakdowns and preventive operations are not considered.
  • All model parameters such as processing times are deterministic.
Two goals have been considered:
  • The minimization of the makespan (MK), which is the total time to complete all the operations belonging to all jobs.
  • The minimization of the total tardiness (DD), which is the sum of the tardiness of all jobs according to predefined due dates.
For the modeling of storage areas, we have taken a similar approach to [31]. Therefore, buffers are considered additional workstations in the model and mandatory steps for a job when an operation is completed in a stage. Therefore, when considering the FJSP with assembly operations and limited buffer capacity, we add the following assumptions:
  • There is a set of storage areas Β = { β 1 ,   β 2 ,   β n } to store jobs when the next operation cannot be processed for workstation availability.
  • Each storage area β Β is composed of a subset of buffers b B β of one unit of capacity.
  • The size of the storage area β is given by the length of the subset of buffers b B β .
  • The size of the storage area β is a positive integer that ranges from 0 to . A size of for all storage areas simplifies the problem to the FJSP with assembly operations.
  • For a given job j J , the list of operations O j is modified so that between every two operations o 1 s   a n d   o s   o   O j ,   ( s ,   s ) S , a new operation o is inserted and assigned to storage area β s .
  • The set of single-unit buffers b β s ,   s S are modeled as workstations w W with a processing time of 0 or higher.
Based on these assumptions, two variants of the base case are considered in this paper according to [31]:
  • Blocking FJSP with assembly operations: The size of all storage areas β is null or 0.
  • FJSP with assembly operations with output stage-dependent buffers: Each stage s has been assigned an output storage area β s with limited capacity ( < ) to move jobs when their operation in the current stage has been finished.
Finally, a mapping of the previous assumptions and definitions is performed for the shipbuilding case considered in this paper. Therefore:
  • Jobs J a   represent the blocks and jobs J s a represent the subblocks.
  • A workstation w W represents a workshop slot or cell for performing operations in a given block or subblock.
  • Stages s S are groups of workstations according to the shipbuilding operations shown in Figure 1. Therefore, each stage s S represents a shipbuilding process and not a workshop.
  • Operations o O are the shipbuilding processes represented in Figure 1 from subblock “Assembly 1” to “Outfitting 2”.
  • Block erection operation is indirectly considered by means of due dates. Thus, block erection start dates are parameters of the model that considers due dates.
  • Subblocks J s a follow the sequence of operations represented in Figure 1 from “Assembly 1” to “Block Assembly”. Blocks J a follow the sequence of operations from “Outfitting 1” to “Outfitting 2”.

3.2. Mathematical Formulations

3.2.1. MILP Model

The mathematical formulation of the MILP model for FJSP-A-LBC is based on [7,10] and illustrated here in Equations (1)–(8). In fact, Ref. [7] tackles a similar problem and demonstrates that the general precedence formulation is the most adequate formulation for this type of problem.
The notation used in our mathematical formulation is summarized in Table 1:
Based on this notation, we define the following Mixed Integer Linear Programming model:
  • Minimize Makespan (MK):
M K F T o o O
  • Minimize Total Tardiness (TT):
T T 0 = 1 n F T o D D j o O a  
  • Allocation Constraints:
w W s Y o w = 1 s S ,   o O s
  • Time Constraints:
F T o   S T o + P T o o O
S T o   F T o j J ,   ( o , o ) O j   /   o > o
  • Sequencing Constraints:
S T o F T o M ( 1 Z o o ) M ( 2 Y o w Y o w )   ( s , s ) S ,   o   O s ,   o   O s ,   w W s W s
S T o F T o M Z o o M ( 2 Y o w Y o w )   ( s , s ) S ,   o   O s ,   o   O s ,   w W s W s
  • Assembly Constraints:
S T o F T o   j J   /   j = j j ,   j J s a ,   j J f ,   o O j , o   O j ,   ( o ,   o )   O j  
  • Limited Buffer Capacity Constraint:
ST o = FT o 1   s S a ,   j J f ,   t   T j ,   t   T s : s > 1   t
Equations (1) and (2) define the two goals of the optimization studied in our work: the minimization of the last operation to be executed, that is, the makespan (MK) and the total tardiness (TT) of the final operations of the assembly jobs. Constraint (3) ensures that each operation can only be assigned to one workstation within its respective stage. Constraint 4 sets the ending time of operation o O , while Constraint (5) establishes the precedence relationship between operations within a job according to the predefined sequence. Formulated as big-M constraints, Constraints (6) and (7) sequence any pair of operations assigned to the same workstation so that they do not overlap with each other. Constraint (8) restricts operations o   O j to be started if and only if all operations o   O j have been finished being ( o ,   o )   O j and j J sa ,   j J f / j = j   j . Finally, for the model that considers limited buffer capacity, constraint (9) ensures that jobs cannot leave a workstation if the workstation downstream is blocked. For the blocking of FJSP, no storage area is added so the constraint applies directly between consecutive workstations for a given operation. It is worth noting that, when considering limited buffer capacity, this model adds unnecessary 0-time steps to jobs, since buffers are modeled as mandatory workstations with processing time 0. This makes the optimization more complex in terms of assignments, but simpler when it comes to the number of variables.

3.2.2. CPO Model

CP is based on computer-based syntax, and the syntax usually depends on the solver employed. Here, we represent the problem using CPO Optimizer from IBM as in [14]. It is worth noting that decision variables in CPO are a special type of variable called interval variable x whose domain d o m ( x ) is a subset { } { [ s , e ) | , s < e } . An interval variable replaces several variables of the MILP formulation: for a given operation o , variables ST o and Y ow are now contained in the interval variable υ o o p s , o O j , j J . Ref. [25] explains the syntax of CPO and the fundamentals of interval variables and CPO constraints. For the notation and representation of the problem, we follow [14].
The notation for the CP model of the FJSP-A-LBC is given in Table 2.
Based on this notation, the following CPO model can be defined:
  • Minimize Makespan (MK):
m i n i m i z e ( m a x ( e n d O f ( υ o o p s ) ) )   o O
  • Minimize Total Tardiness (TT):
m i n i m i z e ( s u m ( e n d _ e v a l ( f t a r d i n e s s (   υ o o p s ) ) )   o O
  • Allocation Constraints:
a l t e r n a t i v e ( υ o , w m o p s )     s S ,   o O s ,   w W s
  • Timing Constraints:
e n d B e f o r e S t a r t ( υ o 1 , j o p s , υ o , j o p s ) j J ,   o O j   i f   o > 0  
  • Sequencing Constraints:
n o O v e r l a p ( υ o , w m o p s , υ o , w m o p s )   ( s , s ) S ,   o   O s ,   o O s ,   w W s W s
  • Assembly Constraints:
e n d B e f o r e S t a r t ( υ o o p s , υ o o p s )     j J   /   j = j j ,   j J s a ,   j J f ,   o O j , o   O j ,   ( o ,   o )   O j
  • Limited Buffer Capacity Constraint:
e n d A t S t a r t ( υ o 1 , j o p s , υ o , j o p s )   j J ,   o O j   i f   o > 0
Equation (10) establishes the goal of the optimization as the minimization the makespan while Equation (11) establishes the goal of the optimization as the minimization of the total tardiness. Constraint (12) constrains the assignment of each operation to only one workstation of the respective stage where the operation is to be assigned. Constraint (13) ensures the precedence relation between the operations of a job. Constraint (14) forces no overlap between operations executed on the same workstation. Constraint (15) adds assembly restrictions, so the operations of a job that is an assembly cannot start until all the operations of the jobs which are its subassemblies have been completed. Finally, for the CPO model of the FJSP-A with limited buffer capacity, Constraint (16) forces consecutive operations of a job to be non-stop.

3.3. Shipbuilding Case Data and Experiments

For the shipbuilding case, the mapping of the workshops and operations explained in Section 2 is shown in Table 3 and Table 4. Table 3 displays the workstations (cells or cabins) that belong to each workshop while Table 4 maps the stages and workstations of the FJSP-A to the real problem according to the diagram from Figure 1. To ensure experiment reproducibility, in Appendix A, we provide detailed information in Table A1 and Table A2, which display the operations and durations of subblocks and blocks, respectively. Furthermore, Table A3 provides a clear representation of the assembly relationships between blocks and subblocks. Finally, Figure 2 illustrates the process flow along with the stage numbers and workstations identifying the assembly stage. Buffers are also represented for limited intermediate storage capacity instances.
Different problem instances of increasing complexity have been considered for this problem. While stages remain constant, we vary the number of jobs (blocks and subblocks) and subsequent assembly operations to assess the problem’s scalability. To examine the impact of limited buffer capacity, for each problem instance, we consider three scenarios: infinite or no limited buffer capacity (NBC), zero-unit buffer capacity (0BC), and single-unit buffer (1BC) capacity. In addition, for each of these scenarios, we focus on optimizing two key objectives: the makespan (MK) and the minimization of the total tardiness of all jobs (DD). Table 5 presents a summary of the experiments designed for the shipbuilding case.

3.4. Experimental Setup

The workflow designed for the present work is illustrated in Figure 3. Python 3.9 and Python APIs, provided by Gurobi (Gurobipy [41]) and CPLEX (docplex.cp [42]), respectively, were used to program the models. Gurobi Optimizer 10.0.1 was used as the optimization engine for all MILP models, while CP Optimizer 22.1.0.0 was used for all CP models. The computational experiments were conducted on a 14-core 12th Gen Intel(R) Core(TM) i7-12700H 2.70 GHz processor.
To ensure a streamlined workflow, data were automatically imported from Excel files at runtime using the Pandas library. The user defines the case number and the main parameters such as time limit and search strategy beforehand. Once the optimization is run, calls are made to the optimizer that returns the solution once the time limit is reached or the optimality gap is reduced to 0%. Output data consisting of the list of jobs’ start and end times and workstations’ assignments are automatically exported to an Excel file by using the Matplotlib library. The first Gantt diagram is also built using this library for a first check.
To evaluate the validity and robustness of the solution, FlexSim 22.0.8 was used to create the discrete-event simulation models. The output data from the optimization were seamlessly imported into the corresponding simulation model by using the Import/Export Excel module provided by FlexSim. The simulation model also allows for a comprehensive performance analysis of the solution, including the utilization of workstations and buffers. Additionally, during the model run, a more detailed Gantt chart is automatically generated, facilitating in-depth analysis at various simulation points. The model continuously verifies that job completion times and assembly requirements are consistently met throughout the simulation, promptly alerting the user in the event of any inconsistency.
Importantly, the model is designed to accommodate diverse types of buffer constraints, requiring only a single model for each specific case. It is worth noting that data transfer processes are fully automated, eliminating the need for time-consuming manual data management tasks.

4. Results and Discussion

In this section, we implemented the MILP and CP models to compare their performance and scalability. The evaluation is based on the small example and three real-world case studies previously studied by [10]. The aim is to determine the suitability of using CPO as a scheduling optimization approach for industrial-size cases. While [10] published the results of the MILP models, we have updated the results in this paper to account for computational characteristics and software adjustments.
As a second step, we applied the MILP and CP models to the FJSP-A-LBC instances presented in Table 5 based on the shipbuilding industry. In each case, we compared the computational efficiency of the two approaches and evaluated the impact of limited buffer capacity for two different objectives: the minimization of the makespan and the minimization of the total tardiness. To validate the results, we employed a discrete-event simulation model, which allowed us to draw specific conclusions regarding the scheduling outcomes.
For the cases studied in [10], we followed the termination criterion for MILP optimizations based on either a 0% integrality gap or a maximum CPU time of 3600 s. For the cases of FSJP-A with limited buffer capacity, a termination criterion of either a 0% integrality gap or a maximum CPU time of 300 s (5 min) was considered. It is worth noting that in real-world applications, shorter CPU times are typically required for prompt decision making. Therefore, we consider CPU times longer than 5 min as impractical for the actual implementation of optimization in real-world case scenarios.

4.1. Case Studies

The case studies examined in this research comprise the small illustrative example (CS0) and three distinct case studies (CS1, CS2, CS3) selected from Sections 5.1, 5.2, 5.3, and 5.4 of [10]. Of specific interest, CS2 has been subdivided into three progressive complexity levels: CS2.1, CS2.2, and CS2.3, corresponding to 4, 8, and 12 molds. For a comprehensive understanding of the case studies’ intricacies and complexities, we refer the readers to the original paper.
In the interest of brevity, we present the optimized results in Table 6 without extensive elaboration. The CPO search strategy has been kept as default since no alternative search strategy has been proven as more effective for the problems addressed. The CPO automatic search is based on failure-directed search and iterative diving [26,43].
Given its simplicity in terms of the number of jobs and stages, CS0 serves to demonstrate the convergence of the constrained programming model to the optimal solution of the problem. Moving on to CS1, it represents an industrial-size instance of the FJSP without assemblies. It is remarkable how the CPO model is capable of reaching the optimal solution in only 2 s, compared to the iterative algorithm presented by [10], which required 1762 s and already represented a substantial time reduction over the monolithic approach. Hence, the CPO model proves highly suitable for scheduling problems of this kind without assemblies.
When it comes to instances of FJSP-A, the increasing complexity of CS2 illustrates how CPO is designed to tackle large-sized problems. Even in the most complex case (CS2.3), the CPO model attains the optimal solution in less than a second while the iterative algorithm needed at least 1100 s to reach the same solution. The monolithic approach fails to close the gap, leaving it at 28%.
Lastly, the case study presented by [10] based on shipbuilding (CS3) involved 75 jobs and seven stages, meaning 9275 binary variables and 226 continuous variables. Figure 4 shows the Gantt chart generated by the CPO model yielding a makespan of 179.9 days and a GAP of 16.9%. It is worth noting that this result is obtained within 50 s of optimization, and no further improvement is observed within the given optimization time. Comparatively, the CPO model is capable of achieving a solution that is 50 days shorter in terms of workdays than the solution achieved by [10] after an hour of computational time. Furthermore, Ref. [10] was able to find a solution of 202.0 days after 50 h of optimization. This particular solution is not considered in our study, as our aim is to obtain high-quality solutions within reasonable computational times that are applicable in the industry.
Based on these outcomes, we can conclude that the CP formulation is highly suitable for addressing FJSP-A, even in industrial-sized scenarios such as the one presented in this paper. Consequently, the remaining sections of the paper compare the results obtained from the MILP monolithic approach and the CP model for various problem sizes and buffer capacities.

4.2. Shipbuilding Case

Regarding the shipbuilding case, Table 7 presents the number of variables for the MILP and the CP model. In the MILP model, variables are shown after applying the presolve function, which transforms the problem into a smaller and more manageable equivalent form. However, it is observed that the difference in the total number of variables of both models increases as the problem size grows. For instance, considering scenario 3, the MILP model consists of up to 233 continuous variables and 19,499 binary variables, whereas the CP model comprises 4194 interval variables. Although interval variables contain more information than binary variables, it suggests that the initial size of the problem to be solved is smaller in the CP model.
Regarding the zero-unit buffer capacity problems, the number of variables is slightly reduced in the MILP model after the presolve operation as the problem becomes more constrained. In contrast, in the CP model, the number of interval variables remains the same and there is an increase in the number of constraints.
Furthermore, the results indicate that considering buffers as machines in the current problem formulation leads to a greater increase in problem size for the MILP model. For example, in scenario 3 for MK, the MILP formulation shows an increase of 82 continuous variables and 2621 variables when transitioning from the NBC to the 1BC case, resulting in a total increase of 13.7% in the number of variables. On the other hand, the CP formulation demonstrates a smaller increase of 7.6%, with the number of interval variables rising from 4194 to 4513.
It should be noted that a direct comparison of the number of variables suggests that the CP model is more efficient in handling the problem. However, it is essential to refer to the optimization results due to the different nature of variables in each model.
Table 8 presents the optimization results of the MILP and CP models for all instances, with the objective of minimizing the makespan. The results reveal that for scenarios 1 and 2, both models are capable of closing the gap and reaching the optimal solution in less than 10 s, with the CPO model achieving virtually instant results. These findings serve to validate the formulation of the CP model, as the MILP model produces the same optimal values.
However, in the case of the industrial-size scenario (scenario 3), the MILP model fails to provide a feasible solution for any of the instances within the optimization time. On the contrary, the CP model is able to obtain a feasible solution within 300 s, with a GAP of approximately 20%. Considering the size of the problem, this GAP value is deemed reasonable.
With regard to the impact of limited buffer capacity, it is found to have a negligible effect for simpler instances such as scenarios 1 and 2. However, the results demonstrate that as the intermediate storage capacity becomes more limited, the GAP becomes higher. This outcome was expected for the single-unit buffer capacity, where the increased number of variables contributes to the higher GAP. However, it was not as straightforward for the 0BC case, where only the constraints were increased.
Table 9 shows the results of the MILP and CPO models for minimizing tardiness. The MILP model failed to find a solution for all the instances of case 3 within the optimization time and was unable to determine the optimal value in scenario 2 with single-unit capacity buffers. Conversely, the CPO model was able to achieve the optimal value in scenarios 1 and 2, whereas for scenario 3, it struggled to obtain solutions with GAPs exceeding 60%. Nevertheless, it managed to provide medium-quality solutions within the time limit. The model shows high sensitivity to demanding due dates, resulting in higher GAPs and lower-quality solutions.
The table also presents the makespan values for these cases. Notably, the makespan increases significantly compared to the optimal value for larger cases, with differences exceeding 30 days in scenario 3 when using the CP model. This emphasizes the need for a trade-off between the makespan and meeting deadlines.
Figure 5 and Figure 6 depict the Gantt charts for the instances SB-03-1BC-MK and SB-03-1BC-DD, respectively, as solved by the CP model. From these Gantts, we can observe that the production of subblocks and blocks is more orderly and requires less intermediate storage for SB-03-1BC-DD. Conversely, the use of buffers is more intensive in the case of SB-03-1BC-MK, resulting in a more compacted production, particularly evident in the final stage, O2. Additionally, Figure 7 shows the Gantt chart for the SB-03-0BC-MK instance, representing the best solution in terms of makespan.
By utilizing the simulation model, we gained further insights into the utilization of buffers and machines. Figure 8 shows the evolution of the required intermediate storage for the SB-03-NBC-MK instance that ignores buffers. Table 10 provides details on the maximum buffer content, buffer utilization, and workstation utilization for instances based on scenario 3, as derived from the CP model.
Analysis of these results reveals that the infinite-capacity buffer case exhibits a total buffer utilization of 22.73%, having several periods where up to three and two subblocks wait for the subblock assembly 2 and block turning cells, respectively, and up to three blocks wait after outfitting 1. Notably, there is even a brief period where up to four subblocks must be stored to await assembly 2 operations.
Furthermore, we observe that the utilization of cells is lower for the single-unit buffer capacity and less than 50% for the zero-unit buffer capacity case. It is our belief that accommodating subblocks and blocks in intermediate storage allows for better machine utilization, although there is no direct correlation with the makespan. As anticipated, the infinite buffer capacity case leads to the most compact schedule, albeit necessitating higher intermediate storage.
Figure 9 shows the simulation model implemented in FlexSim. Aside from analysis, this model has been instrumental in validating all instances by verifying start and finish times, as well as contents and assembly requirements. In doing so, we identified several deadlock situations (Figure 9) wherein jobs must exchange workstations simultaneously. Without intermediate buffers, these jobs obstruct one another, leading to a halt in the simulation. This is also informed by the Gantt chart generated by the simulation model where blockages are indicated in red. We believe it is crucial to consider such situations in the shipbuilding industry, particularly in terms of transport units and space management.

5. Conclusions

The present work has presented a constrained programming model for solving an industrial-size instance of the flexible job-shop problem with assemblies and limited buffer capacity. The model was initially tested on the case studies from [10], demonstrating its potential for scheduling problems involving multipurpose machines and assemblies. Following this, the model was extended to incorporate limited buffer constraints to apply it to a complex shipbuilding case and a comparison was made with a MILP model.
The results of this study confirm the validity of the proposed approach in tackling the complex problem discussed in this paper. The model consistently produced efficient solutions with reasonable gaps for the optimization of the makespan, even for industrial-scale cases involving up to 75 jobs. The inclusion of buffer constraints did not hinder the model’s ability to generate solutions, and it allowed for the evaluation of compact schedules that consider the critical spatial requirements of ship blocks and subblocks. When focusing on meeting due dates, the complexity is greatly influenced by the level of stringency imposed by these deadlines. In fact, the demanding due dates considered in this work resulted in a MILP model incapable of generating a feasible schedule and exceptionally large GAPs in the CP model. It is important to remark that the due dates play a crucial role in aligning the availability dates of blocks with the block erection necessities.
Methodologically, the combination of optimization techniques and simulation models proved valuable in assessing the solutions generated by the optimizer. It facilitated the evaluation of other key performance indexes such as machine utilization or storage requirements. One interesting insight was the appearance of potential transportation deadlock situations that could lead to shipyard logistic issues if left unaddressed (Figure 9). The simulation model also enhanced the understanding of the schedule and the quality of the solution.
Therefore, we can conclude that, overall, our approach represents a significant step towards bridging the gap between academia and the shipbuilding industry. Under conditions similar to the ones in the present study, the model demonstrates its capability to provide optimal or near-optimal solutions while considering critical aspects of the process, such as limited buffer capacity. The workflow facilitated the study of various cases in reasonable computational times, supporting our goal of providing insights and effective communication through simulation.
However, the primary limitations of the study revolve around the challenge of finding optimal solutions under highly demanding due dates or when dealing with a reduced number of machines. Moreover, we have identified an important increase in complexity when reducing the number of available machines to the extent that the CPO model is incapable of providing efficient solutions. It would be of great interest to us to explore strategies that allow reducing the number of machines per workshop while keeping acceptable makespan values. Additionally, comparing the proposed approach with other pseudo-optimal techniques such as metaheuristics could provide further insights.
Another limitation of our study is that it does not consider the block assembly strategy when optimizing the makespan, which can result in a schedule that is not aligned with the block erection strategy, potentially leading to the need for a buffer of blocks before the block erection phase. Therefore, another future research endeavor is integrating the block erection strategy in the CP model to achieve compact schedules that are aligned with the hull’s construction strategy.
Furthermore, it would be of interest to integrate the optimizer and the simulation model to create a dynamic scheduler that operates under real-time conditions at different project stages. Such an integrated system would allow for real-time optimization based on recent data, allowing for minor adjustments to the scheduling to accommodate makespan objectives.
In conclusion, this work has demonstrated the effectiveness of a constrained programming model in solving complex scheduling problems in the shipbuilding industry. The combination of optimization techniques, simulation models, and the exploration of future research directions provides a solid foundation for further advancements in this field.

Author Contributions

Conceptualization, J.P.-Á. and D.C.-P.; methodology, J.P.-Á. and D.C.-P.; software, J.P.-Á.; validation, J.P.-Á.; formal analysis, J.P.-Á.; investigation, J.P.-Á. and D.C.-P.; data curation, J.P.-Á. and D.C.-P.; writing—original draft preparation, J.P.-Á.; writing—review and editing, J.P.-Á. and D.C.-P.; visualization, J.P.-Á.; supervision, D.C.-P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

The authors would like to express their sincere gratitude to the authors of [10] for their invaluable support in providing the necessary data for part of the case studies conducted in this work.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Table A1. List of subblocks with operations and durations for shipbuilding case 3.
Table A1. List of subblocks with operations and durations for shipbuilding case 3.
Subblock IDStageDuration (h) *StageDuration (h) *StageDuration (h) *
1s1922s2397s324
2s1410s2300s337
3s1375s2416
4s1874s2112s328
5s1529s2430s339
6s1415s2225
7s1985s2302s341
8s1863s2322
9s11272s2147s330
10s1424s2363
11s11128s2213s325
12s11359s2476
13s1682s2429s342
14s11491s2239s336
15s1334s2181
16s1371s2118
17s11337s2131s337
18s11466s2119
19s11054s2453s332
20s1760s2183s333
21s1765s2357s324
22s11229s2372s335
23s1874s2403
24s1620s2300s325
25s1347s2392s326
26s11406s2174
27s11260s2153s343
28s11048s2460s326
29s1566s2461s330
30s1733s2233
31s1459s2356s326
32s1580s2163s335
33s1473s2320
34s11546s2298s338
35s1938s2362
36s11051s2264s331
37s1647s2168s326
38s11099s2367s325
39s1542s2475
40s1670s2370s326
41s1966s2172
42s11332s2186s344
43s1366s2452s344
44s1324s2427s339
45s11410s2164
46s1619s2168
47s11085s2123s337
48s11117s2220s333
49s11536s2400s332
50s1433s2177
* Times are provided in hours, with the consideration that 16 h is equivalent to 1 day of work.
Table A2. List of blocks with operations, durations, and due dates for shipbuilding case 3.
Table A2. List of blocks with operations, durations, and due dates for shipbuilding case 3.
Block IDStageDuration (h) *StageDuration
(h) *
StageDuration
(h) *
StageDuration
(h) *
Due Date (h) *
51s4125s5506s6265s71762400
52s4256s5355s6383s74752600
53s4346s5187s6347s73702700
54s4481s5459s6379s73483000
55s4389s5624s6322s72693000
56s4184s5212s6271s73583000
57s4272s5464s6347s74733100
58s4438s5472s6303s71603100
59s4326s5345s6331s74333100
60s4289s5355s6325s74483300
61s4306s5343s6323s74233300
62s4236s5485s6252s73503500
63s4298s5510s6336s72223700
64s4304s5320s6254s72763700
65s4462s5334s6263s73643900
66s4419s5514s6261s72333900
67s4437s5483s6243s73974100
68s4265s5607s6267s74484100
69s4228s5308s6347s74784300
70s4412s5455s6289s71844300
71s4460s5519s6363s73694500
72s4276s5314s6248s73294500
73s4295s5398s6322s74574700
74s4383s5259s6344s72394700
75s4433s5469s6282s73874900
* Times are provided in hours, with the consideration that 16 h is equivalent to 1 day of work.
Table A3. List of assemblies for shipbuilding case 3.
Table A3. List of assemblies for shipbuilding case 3.
Block IDSubassemblies
(Subblocks ID)
51123
524
5356
5478
55910
561112
5713
58141516
591718
601920
61212223
6224
632526
642728
65293031
663233
673435
6836
69373839
704041
714243
724445
73464748
7449
7550

References

  1. Okubo, Y.; Mitsuyuki, T. Ship Production Planning Using Shipbuilding System Modeling and Discrete Time Process Simulation. J. Mar. Sci. Eng. 2022, 10, 176. [Google Scholar] [CrossRef]
  2. Song, Y.J. Research on the development of simulation-based ship block logistics system based on data, flow and space modelling. Int. J. Manag. Decis. Mak. 2017, 16, 407–427. [Google Scholar] [CrossRef]
  3. Oliveira, A.; Gordo, J.M. Lean tools applied to a shipbuilding panel line assembling process. Brodogradnja 2018, 69, 53–64. [Google Scholar] [CrossRef]
  4. Shahsavar, A.; Sadeghi, J.K.; Shockley, J.; Ojha, D. On the relationship between lean thinking and economic performance in shipbuilding: A proposed model and comparative evaluation. Int. J. Prod. Econ. 2021, 239, 108202. [Google Scholar] [CrossRef]
  5. Basán, N.P.; Achkar, V.G.; Méndez, C.A.; García-Del-Valle, A. A hybrid simulation-based optimization approach for scheduling dinamic block assembly in shipbuilding. In Proceedings of the 29th European Modeling and Simulation Symposium, EMSS 2017, Held at the International Multidisciplinary Modeling and Simulation Multiconference, I3M 2017, Barcelona, Spain, 18–20 September 2017; pp. 83–90. [Google Scholar]
  6. Kolich, D.; Storch, R.L.; Fafandjel, N. Lean manufacturing in shipbuilding with Monte Carlo simulation. In Proceedings of the RINA, Royal Institution of Naval Architects—International Conference on Computer Applications in Shipbuilding 2011, Trieste, Italy, 20–22 September 2011; pp. 159–167. [Google Scholar] [CrossRef]
  7. Basán, N.P.; Cóccola, M.E.; del Valle, A.G.; Méndez, C.A. An efficient MILP-based decomposition strategy for solving large-scale scheduling problems in the shipbuilding industry. Optim. Eng. 2019, 20, 1085–1115. [Google Scholar] [CrossRef]
  8. Cebral-Fernandez, M.; Rouco-Couzo, M.; Pazos, M.Q.; Crespo-Pereira, D.; Del Valle, A.G.; Abeal, R.M. Application of a multi-level simulation model for aggregate and detailed planning in shipbuilding. In Proceedings of the Winter Simulation Conference, Las Vegas, NV, USA, 3–6 December 2017; Institute of Electrical and Electronics Engineers Inc.: Piscataway, NJ, USA, 2017; pp. 3864–3875. [Google Scholar] [CrossRef]
  9. Basan, N.P.; Achkar, V.G.; Mendez, C.A.; Garcia-Del-Valle, A. A heuristic simulation-based framework to improve the scheduling of blocks assembly and the production process in shipbuilding. In Proceedings of the Winter Simulation Conference, Las Vegas, NV, USA, 3–6 December 2017; Institute of Electrical and Electronics Engineers Inc.: Piscataway, NJ, USA, 2017; pp. 3218–3229. [Google Scholar] [CrossRef]
  10. Basán, N.P.; Cóccola, M.E.; del Valle, A.G.; Méndez, C.A. Scheduling of flexible manufacturing plants with redesign options: A MILP-based decomposition algorithm and case studies. Comput. Chem. Eng. 2020, 136, 106777. [Google Scholar] [CrossRef]
  11. Yue, W.; Rui, M.; Yan, L. The research of shipbuilding schedule planning and simulation optimization technique based on constant work-in-process system. J. Ship Prod. Des. 2018, 34, 20–31. [Google Scholar] [CrossRef]
  12. Wang, C.; Mao, Y.S.; Xiang, Z.Q.; Zhou, Y.Q. Ship block logistics simulation based on discrete event simulation. Int. J. Online Eng. 2015, 11, 16–21. [Google Scholar] [CrossRef] [Green Version]
  13. Woo, J.H.; Oh, D. Development of simulation framework for shipbuilding. Int. J. Comput. Integr. Manuf. 2018, 31, 210–227. [Google Scholar] [CrossRef]
  14. Ham, A.M.; Cakici, E. Flexible job shop scheduling problem with parallel batch processing machines: MIP and CP approaches. Comput. Ind. Eng. 2016, 102, 160–165. [Google Scholar] [CrossRef]
  15. Xiong, F.; Xing, K.; Wang, F. Scheduling a hybrid assembly-differentiation flowshop to minimize total flow time. Eur. J. Oper. Res. 2015, 240, 338–354. [Google Scholar] [CrossRef]
  16. Maravelias, C.T. A decomposition framework for the scheduling of single- and multi-stage processes. Comput. Chem. Eng. 2006, 30, 407–420. [Google Scholar] [CrossRef]
  17. Harjunkoski, I.; Bauer, R. Industrial scheduling solution based on flexible heuristics. Comput. Chem. Eng. 2017, 106, 883–891. [Google Scholar] [CrossRef]
  18. Verbiest, F.; Cornelissens, T.; Springael, J. A matheuristic approach for the design of multiproduct batch plants with parallel production lines. Eur. J. Oper. Res. 2019, 273, 933–947. [Google Scholar] [CrossRef]
  19. Laborie, P. An update on the comparison of MIP, CP and hybrid approaches for mixed resource allocation and scheduling. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin/Heidelberg, Germany, 2018; pp. 403–411. [Google Scholar] [CrossRef]
  20. Da Col, G.; Teppan, E.C. Industrial-size job shop scheduling with constraint programming. Oper. Res. Perspect. 2022, 9, 100249. [Google Scholar] [CrossRef]
  21. de Oliveira, R.M.E.S.; de Castro Ribeiro, M.S.F.O. Comparing Mixed & Integer Programming vs. Constraint Programming by solving Job-Shop Scheduling Problems. Indep. J. Manag. Prod. 2015, 6, 211–238. [Google Scholar] [CrossRef] [Green Version]
  22. Heinz, S.; Beck, J.C. Reconsidering mixed integer programming and MIP-based hybrids for scheduling. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin/Heidelberg, Germany, 2012; pp. 211–227. [Google Scholar] [CrossRef]
  23. Hooker, J.N. A hybrid method for the planning and scheduling. Constraints 2005, 10, 385–401. [Google Scholar] [CrossRef]
  24. Heinz, S.; Ku, W.Y.; Beck, J.C. Recent improvements using constraint integer programming for resource allocation and scheduling. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin/Heidelberg, Germany, 2013; pp. 12–27. [Google Scholar] [CrossRef]
  25. Laborie, P. IBM ILOG CP Optimizer for detailed scheduling illustrated on three problems. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin/Heidelberg, Germany, 2009; pp. 148–162. [Google Scholar] [CrossRef]
  26. Laborie, P.; Rogerie, J.; Shaw, P.; Vilím, P. IBM ILOG CP optimizer for scheduling: 20+ years of scheduling with constraints at IBM/ILOG. Constraints 2018, 23, 210–250. [Google Scholar] [CrossRef]
  27. Laborie, P.; Rogerie, J. Reasoning with conditional time-intervals. In Proceedings of the 21th International Florida Artificial Intelligence Research Society Conference, FLAIRS-21, Coconut Grove, FL, USA, 15–17 May 2008; pp. 555–560. Available online: www.aaai.org (accessed on 12 July 2023).
  28. Laborie, P.; Godard, D. Self-Adapting Large Neighborhood Search: Application to Single-Mode Scheduling Problems. In Proceedings of the MISTA-07, Paris, France, 28–31 August 2007; p. 8. Available online: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.4415&rep=rep1&type=pdf (accessed on 12 July 2023).
  29. Vilím, P.; Laborie, P.; Shaw, P. Failure-directed search for constraint-based scheduling. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin/Heidelberg, Germany, 2015; pp. 437–453. [Google Scholar] [CrossRef]
  30. Zhang, P.; Song, S.; Niu, S.; Zhang, R. A Hybrid Artificial Immune-Simulated Annealing Algorithm for Multiroute Job Shop Scheduling Problem With Continuous Limited Output Buffers. IEEE Trans. Cybern. 2022, 52, 12112–12125. [Google Scholar] [CrossRef] [PubMed]
  31. Brucker, P.; Heitmann, S.; Hurink, J.; Nieberg, T. Job-shop scheduling with limited capacity buffers. OR Spectr. 2006, 28, 151–176. [Google Scholar] [CrossRef]
  32. Liu, S.Q.; Kozan, E.; Masoud, M.; Zhang, Y.; Chan, F.T.S. Job shop scheduling with a combination of four buffering constraints. Int. J. Prod. Res. 2018, 56, 3274–3293. [Google Scholar] [CrossRef]
  33. Papadimitriou, C.H.; Kanellakis, P.C. Flowshop Scheduling with Limited Temporary Storage. J. ACM (JACM) 1980, 27, 533–549. [Google Scholar] [CrossRef] [Green Version]
  34. Ruiz, R.; Vázquez-Rodríguez, J.A. The hybrid flow shop scheduling problem. Eur. J. Oper. Res. 2010, 205, 1–18. [Google Scholar] [CrossRef] [Green Version]
  35. Lebbar, G.; El Abbassi, I.; Jabri, A.; El Barkany, A.; Darcherif, M. Multi-criteria blocking flow shop scheduling problems: Formulation and performance analysis. Adv. Prod. Eng. Manag. 2018, 13, 136–146. [Google Scholar] [CrossRef] [Green Version]
  36. Fatemi-Anaraki, S.; Tavakkoli-Moghaddam, R.; Foumani, M.; Vahedi-Nouri, B. Scheduling of Multi-Robot Job Shop Systems in Dynamic Environments: Mixed-Integer Linear Programming and Constraint Programming Approaches. Omega (UK) 2023, 115, 102770. [Google Scholar] [CrossRef]
  37. Soltani, S.A.; Karimi, B. Cyclic hybrid flow shop scheduling problem with limited buffers and machine eligibility constraints. Int. J. Adv. Manuf. Technol. 2015, 76, 1739–1755. [Google Scholar] [CrossRef]
  38. Wang, X.; Tang, L. A tabu search heuristic for the hybrid flowshop scheduling with finite intermediate buffers. Comput. Oper. Res. 2009, 36, 907–918. [Google Scholar] [CrossRef]
  39. Yaurima, V.; Burtseva, L.; Tchernykh, A. Hybrid flowshop with unrelated machines, sequence-dependent setup time, availability constraints and limited buffers. Comput. Ind. Eng. 2009, 56, 1452–1463. [Google Scholar] [CrossRef]
  40. Andrés, C.; Maheut, J. Secuenciación con A lmacenes L imitados. Una R evisión de la Literatura. Dir. y Organ. 2 El Probl. de Secuenciación con al-Macenes Ltd. 2018, 66, 17–33. [Google Scholar]
  41. Python API Details—Gurobi Optimization. Available online: https://www.gurobi.com/documentation/9.5/refman/py_python_api_details.html (accessed on 12 June 2023).
  42. Docplex.cp Reference Manual—DOcplex.CP: Constraint Programming Modeling for Python V2.25 Documentation. Available online: https://ibmdecisionoptimization.github.io/docplex-doc/cp/refman.html (accessed on 12 June 2023).
  43. Laborie, P. Planning/Scheduling with CP Optimizer; IBM: Armonk, NY, USA, 2019. [Google Scholar]
Figure 1. Process flow of the shipbuilding process.
Figure 1. Process flow of the shipbuilding process.
Jmse 11 01517 g001
Figure 2. Detailed process flow of the production of subblocks and blocks.
Figure 2. Detailed process flow of the production of subblocks and blocks.
Jmse 11 01517 g002
Figure 3. Workflow designed for the experimentation phase.
Figure 3. Workflow designed for the experimentation phase.
Jmse 11 01517 g003
Figure 4. Results of the CPO model for Case Study 3 from [10].
Figure 4. Results of the CPO model for Case Study 3 from [10].
Jmse 11 01517 g004
Figure 5. Gantt chart for the SB-03-1BC-MK instance solved by the CP model.
Figure 5. Gantt chart for the SB-03-1BC-MK instance solved by the CP model.
Jmse 11 01517 g005
Figure 6. Gantt chart for the instance SB-03-1BC-DD solved by the CP model.
Figure 6. Gantt chart for the instance SB-03-1BC-DD solved by the CP model.
Jmse 11 01517 g006
Figure 7. Gantt chart for the instance SB-03-NBC-MK solved by the CP model.
Figure 7. Gantt chart for the instance SB-03-NBC-MK solved by the CP model.
Jmse 11 01517 g007
Figure 8. Evolution of the intermediate storage necessities for the instance SB-03-NBC-MK.
Figure 8. Evolution of the intermediate storage necessities for the instance SB-03-NBC-MK.
Jmse 11 01517 g008
Figure 9. Example of deadlock produced by the schedule and detected by the DES model.
Figure 9. Example of deadlock produced by the schedule and detected by the DES model.
Jmse 11 01517 g009
Table 1. List of symbols for the MILP model.
Table 1. List of symbols for the MILP model.
Nomenclature
Indices
j ,   j Job
w Workstation
o ,   o Operation
s ,   s Stage
β Storage   area
b , b Sin gle unit   buffer
Sets
J Jobs
W Workstations
W s   Workstations   in   stage   S
O j Operations   of   job   j J
O s Operations   to   be   assigned   to   stage   S
J s a Subset   of   jobs   J   that   are   subassemblies
J a Subset   of   jobs   J   that   are   assemblies
O a Subset   of   operations   O   that   are   final   operations
Parameters
M Big M   constraint   constant
D D Due   dates
Continuous variables
M K Makespan
T T Total tardiness
S T o Start   time   of   operation   o
F T o Completion   time   of   operation   o
P T o Processing   time   of   operation   o
Binary variables
Z o o 1   if   operation   o   is   processed   before   o ,   otherwise   0
Y o w 1   if   operation   o   is   assigned   to   workstation   w ,   otherwise   0
Table 2. List of symbols for the CPO model.
Table 2. List of symbols for the CPO model.
Nomenclature
Parameters
o p s j , o L ist   of   all   operations   o O j , j J   that   are   to   be   assigned
m o p s j , o , s , w , p t List   of   all   possible   assignments   of   operations   o O j ,
j J ,   workstations   w   W s ,   s S   and   processing   times   PT o
Interval Variables
υ o o p s Interval   variable   for   each   operation   o O   contained   in   ops j , o .
The   interval   variable   is   defined   by   a   start   date   ST o ,   a   size   PT o   and  
and   end   date   given   by   ST o + PT o .
υ o , w m o p s ,   o p t i o n a l Optional   interval   variable   for   each   combination   contained
in   mops j , o , s , w , pt .   The   variable   is   declared   optional   to   model
parallel   workstations .
Functions
f t a r d i n e s s ( ) CpoSegmentedFunction   ( A   piecewise   linear   function   defined  
on   an   interval   [ xmin ,   xmax )   which   is   partitioned   into   segments  
such   that   over   each   segment ,   the   function   is   linear .  
Table 3. Manufacturing cells (workstations) of each workshop.
Table 3. Manufacturing cells (workstations) of each workshop.
WorkshopWorkstations (Cells)
WA1w1, w2, w3, w4, w5, w6, w7, w8, w9,
WA2w10, w11, w12, w13, w14, w15, w16, w17, w18
WO1w19, w20, w21, w22
WO2w23, w24, w25, w26
BTCw27, w28, w29, w30
PCw31, w32, w33, w34
Table 4. Mapping of the workstations, shipbuilding processes, and stages.
Table 4. Mapping of the workstations, shipbuilding processes, and stages.
StageStage NameWorkstations
s1Subblock Assembly 1w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18
s2Subblock Assembly 2w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26
s3Turningw27, w28, w29, w30
s4Block Assemblyw1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, w29, w30
s5Outfitting 1w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26
s6Painting/Blastingw31, w32, w33, w34
s7Outfitting 2w23, w24, w25, w26
Table 5. Instances defined for the shipbuilding case.
Table 5. Instances defined for the shipbuilding case.
ProblemBlocks × Subblocks
(N × M)
Infinite Buffer
Capacity
0 Buffer
Capacity
1-Unit
Buffer Capacity
MKDD
SB-01-NBC-MK5 × 10x x
SB-01-0BC-MK5 × 10 x x
SB-01-1BC-MK5 × 10 xx
SB-01-NBC-DD5 × 10x x
SB-01-0BC-DD5 × 10 x x
SB-01-1BC-DD5 × 10 x x
SB-02-NBC-MK10 × 20x x
SB-02-0BC-MK10 × 20 x x
SB-02-1BC-MK10 × 20 xx
SB-02-NBC-DD10 × 20x x
SB-02-0BC-DD10 × 20 x x
SB-02-1BC-DD10 × 20 x x
SB-03-NBC-MK25 × 50x x
SB-03-0BC-MK25 × 50 x x
SB-03-1BC-MK25 × 50 xx
SB-03-NBC-DD25 × 50x x
SB-03-0BC-DD25 × 50 x x
SB-03-1BC-DD25 × 50 x x
Table 6. Results.
Table 6. Results.
ProblemMILPMILP [10]CP
NameJ.*S.*A.*Obj.GAPCPU
Time (s)
Obj.CPU
Time (s)
Obj.*GAPCPU
Time (s)
CS093x310.00%0.25310.98310.00%0.02
CS17924 24,774.248.86%360023,015176222,930.10.00%1.26
CS2.1 (4m)249x9790.00%15.2697928.89790.00%0.63
CS2.2 (6m)369x13558.34%36001355455.713550.00%0.1
CS2.3 (8m)489x176428.04%36001764114517640.00%0.25
CS3757x200.531.62%3600229.61100179.916.9%3600
* J., number of jobs; S., number of stages; A., assemblies; Obj., objective.
Table 7. Number of variables and constraints in the MILP and CPO models for the shipbuilding case.
Table 7. Number of variables and constraints in the MILP and CPO models for the shipbuilding case.
ProblemMILP ModelCP Model
NameCont. VariablesBin. VariablesVariablesConstraints
SB-01-NBC-MK471384864215
SB-01-0BC-MK321369864246
SB-01-1BC-MK631474931534
SB-01-NBC-DD471384864215
SB-01-0BC-DD341369864246
SB-01-1BC-DD651474931534
SB-02-NBC-MK9340141694396
SB-02-0BC-MK6339841694458
SB-02-1BC-MK125440518231029
SB-02-NBC-DD10040141694396
SB-02-0BC-DD7039841694458
SB-02-1BC-DD132440518231029
SB-03-NBC-MK23319,4994194951
SB-03-0BC-MK15819,42441941108
SB-03-1BC-MK31522,12045132554
SB-03-NBC-DD25519,4994194951
SB-03-0BC-DD18019,42441941108
SB-03-1BC-DD33722,12045132554
Table 8. Results of the MILP and CPO models for the shipbuilding case and the minimization of the makespan.
Table 8. Results of the MILP and CPO models for the shipbuilding case and the minimization of the makespan.
ProblemMILP ModelCP
NameMK (days)GAP (%)CPU Time (s)MK (days)GAP (%)CPU Time (s)
SB-01-NBC-MK1910.00%0.181910.00%0.05
SB-01-0BC-MK1910.00%0.241910.00%0.06
SB-01-1BC-MK1910.00%0.21910.00%0.06
SB-02-NBC-MK1970.00%9.451970.00%0.32
SB-02-0BC-MK1970.00%5.121970.00%1.24
SB-02-1BC-MK1970.00%9.511970.00%0.32
SB-03-NBC-MKNA *-30026719.30%300
SB-03-0BC-MKNA *-30026919.99%300
SB-03-1BC-MKNA *-30027922.81%300
* A feasible solution was not generated within 300 CPUs.
Table 9. Results of the MILP and CPO models for the shipbuilding case and the minimization of the total tardiness.
Table 9. Results of the MILP and CPO models for the shipbuilding case and the minimization of the total tardiness.
ProblemMILP ModelCP
NameMK (days)TT (days)GAPCPU Time (s)MK (days)TT (days)GAPCPU Time (s)
SB-01-NBC-DD19110.00%0.1819110.00%0.05
SB-01-0BC-DD20010.00%0.2319110.00%0.05
SB-01-1BC-DD19110.00%0.2119110.00%0.05
SB-02-NBC-DD251130.00%28.94200130.00%1.35
SB-02-0BC-DD249320.00%43.73199130.00%77.09
SB-02-1BC-DD2761346.23%300198130.00%1.51
SB-03-NBC-DD-NA *-3002961860.95%300
SB-03-0BC-DD-NA *-3003014384.26%300
SB-03-1BC-DD-NA *-3002941860.95%300
* A feasible solution was not generated within 300 CPUs.
Table 10. Intermediate storage results for the best schedules of the shipbuilding case 3 solved by the CP model.
Table 10. Intermediate storage results for the best schedules of the shipbuilding case 3 solved by the CP model.
CP ModelObjectiveMax ContentU BufferU Workstations
CaseMK (Days)B1B2B3B4B5B6
SB-03-NBC-MK26742031222.73%71.62%
SB-03-0BC-MK269000000 48.15%
SB-03-1BC-MK2791111118.48%61.73%
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Pernas-Álvarez, J.; Crespo-Pereira, D. A Constrained Programming Model for the Optimization of Industrial-Scale Scheduling Problems in the Shipbuilding Industry. J. Mar. Sci. Eng. 2023, 11, 1517. https://doi.org/10.3390/jmse11081517

AMA Style

Pernas-Álvarez J, Crespo-Pereira D. A Constrained Programming Model for the Optimization of Industrial-Scale Scheduling Problems in the Shipbuilding Industry. Journal of Marine Science and Engineering. 2023; 11(8):1517. https://doi.org/10.3390/jmse11081517

Chicago/Turabian Style

Pernas-Álvarez, Javier, and Diego Crespo-Pereira. 2023. "A Constrained Programming Model for the Optimization of Industrial-Scale Scheduling Problems in the Shipbuilding Industry" Journal of Marine Science and Engineering 11, no. 8: 1517. https://doi.org/10.3390/jmse11081517

APA Style

Pernas-Álvarez, J., & Crespo-Pereira, D. (2023). A Constrained Programming Model for the Optimization of Industrial-Scale Scheduling Problems in the Shipbuilding Industry. Journal of Marine Science and Engineering, 11(8), 1517. https://doi.org/10.3390/jmse11081517

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop