Research on Collaborative Planning and Symmetric Scheduling for Parallel Shipbuilding Projects in the Open Distributed Manufacturing Environment

In the current distributed manufacturing environment, more extensive enterprise cooperation is an effective means for shipbuilding companies to increase the competitiveness. However, considering the project scale and the uneven production capacity between the collaborative enterprises, a key issue for shipbuilding companies is to effectively combine the product-oriented project tasks and the specialized production-oriented plants. Due to information privatization, the decision-making process of project planning and scheduling is distributed and symmetric. Existing project scheduling methods and collaboration mechanisms in the shipbuilding industry are somehow inefficient. The aim of the research is to provide an assistant decision-making method to support effective task dispatching and multi-party cooperation for better utilization of the distributed resources and to help project managers control the shipbuilding process. The article initially establishes an agent-based complex shipbuilding project collaborative planning and symmetric scheduling framework, simulating the distributed collaborative decision-making process and bridging the multi-project planning with the individual project scheduling in much detail, which fills the research gap. A negotiation method based on iterative combination auction (ICA) is further proposed to solve the integration problem of project planning and task scheduling, and an illustrative example is conducted to demonstrate the effectiveness and rationality of the methods. Finally, an application case using a prototype system on shipbuilding projects collaborative planning and scheduling will be reported as a result.


Introduction
Shipbuilding industry, characterized by the ETO (Engineering-to-Order) production mode, is a typical project-based industry [1]. In recent years, the global shipbuilding orders continue to decline due to the downturn of the international shipping market [2]. The new shipbuilding orders were inadequate in number for the global shipbuilding industry with excess capacity. The shipbuilders have faced more and more competitive pressures. Meanwhile, the prices of new orders are low compared with the increasing project cost. The revenue of enterprises is seriously affected [2]. In such a market environment, it is an inevitable choice for shipbuilding enterprises to improve the shipbuilding efficiency and reduce the shipbuilding cost, thus increasing the enterprise competitiveness.
As a typical large-scale engineering project, shipbuilding project has the characteristics of complex product structure, multiple manufacturing links, long production cycle, tight delivery, jobbing work, multi-project parallelism, frequent engineering alterations, and so on [3]. The shipbuilding process is extremely complicated. A single enterprise is unable to complete all the tasks independently. Some specialized enterprises are needed to collaborate on the large amount of various works, such as drawing design, material supply, hull construction, and so forth. With the rapid development of globalization and the Internet technology, the manufacturing environment is becoming more and more distributed [4], which provides conditions for the transformation of shipbuilding mode. In the distributed manufacturing environment, it requires cross-enterprise cooperation to complete such a complex shipbuilding project, as shown in Figure 1. Multi-project parallelism and distributed manufacturing bring a lot of project coordination jobs [5]. The complexity of the shipbuilding project and the large amount of coordination make the difficulty of controlling the project process increase exponentially. For most shipbuilding enterprises, undertaking projects is generally inefficient as reflected in the poor coordination, low utilization of resources, cost overrun, and project delay, which seriously affect the enterprise's reputation in the whole industry. Underpinning this poor performance is a lack of effective project scheduling methods matching with the characteristics of current shipbuilding projects of distributed manufacturing, collaborative decision-making, and dynamic scheduling.
Symmetry 2020, 12, x FOR PEER REVIEW 2 of 31 As a typical large-scale engineering project, shipbuilding project has the characteristics of complex product structure, multiple manufacturing links, long production cycle, tight delivery, jobbing work, multi-project parallelism, frequent engineering alterations, and so on [3]. The shipbuilding process is extremely complicated. A single enterprise is unable to complete all the tasks independently. Some specialized enterprises are needed to collaborate on the large amount of various works, such as drawing design, material supply, hull construction, and so forth. With the rapid development of globalization and the Internet technology, the manufacturing environment is becoming more and more distributed [4], which provides conditions for the transformation of shipbuilding mode. In the distributed manufacturing environment, it requires cross-enterprise cooperation to complete such a complex shipbuilding project, as shown in Figure 1. Multi-project parallelism and distributed manufacturing bring a lot of project coordination jobs [5]. The complexity of the shipbuilding project and the large amount of coordination make the difficulty of controlling the project process increase exponentially. For most shipbuilding enterprises, undertaking projects is generally inefficient as reflected in the poor coordination, low utilization of resources, cost overrun, and project delay, which seriously affect the enterprise's reputation in the whole industry. Underpinning this poor performance is a lack of effective project scheduling methods matching with the characteristics of current shipbuilding projects of distributed manufacturing, collaborative decision-making, and dynamic scheduling. In order to reduce the postponed or collapse risk of complex shipbuilding projects, more rigorous and reasonable project planning and scheduling schemes are needed. Regarding the shipbuilding project planning and scheduling, a critical thing is the way to take full advantage of all manufacturing resources capacities, thus meeting the overall objectives of the projects [6]. In other words, it is essential for project planning and scheduling schemes in the shipbuilding background to achieve the optimal combination of manufacturing resources of the participating enterprises. More specifically, each project task is able to be completed in a variety of completion modes and executed by different subcontractors. The goal of project planning and scheduling is to assign the tasks to the subcontractors and determine the details of the scheduling scheme. In the project planning phase, In order to reduce the postponed or collapse risk of complex shipbuilding projects, more rigorous and reasonable project planning and scheduling schemes are needed. Regarding the shipbuilding project planning and scheduling, a critical thing is the way to take full advantage of all manufacturing resources capacities, thus meeting the overall objectives of the projects [6]. In other words, it is essential for project planning and scheduling schemes in the shipbuilding background to achieve the optimal combination of manufacturing resources of the participating enterprises. More specifically, each project task is able to be completed in a variety of completion modes and executed by different subcontractors. The goal of project planning and scheduling is to assign the tasks to the subcontractors and determine the details of the scheduling scheme. In the project planning phase, the tasks are assigned to the specialized subcontractors based on some evaluation indexes, which are very common when researching supply chains [7]. However, the subtasks of shipbuilding projects are more relevant

Literature Review
Research on shipbuilding project planning and scheduling has a long history. From the 1980s to the early 1990s, the basic concepts of shipbuilding project management and shipbuilding project planning were established. This section will first review the research of shipbuilding project planning and scheduling and further summarize the research of two related resource constrained scheduling problems and symmetric decision making, thus obtaining the direction of our research.

Shipbuilding Project Planning and Scheduling
Yoon and Kim initially analyzed the needs of developing a process planning and dispatch system [34]. In the late 1990s, research on project planning was actively carried out, which was mainly focused on individual processes, such as installation, pre-installation, assembly, and manufacturing. At that time, genetic algorithms and heuristic methods were prevalent for solving the project planning and load balancing problems [35][36][37]. Subsequently, researchers studied other production planning methods and algorithms by taking into account the characteristics of the shipbuilding project process [38,39], and some systems were developed to effectively implement a production planning process [40,41]. In recent years, the production process planning and management for ships with complex equipment and technology were studied by the Markov decision processes [42], and then a simulation model was established [43]. Meanwhile, the related research on supply chain management was carried out for the shipbuilding industry [44].
Existing research focuses on designing shipyard production planning functions and the corresponding realization in computer systems. However, the basic system function cannot meet the increasing demand of enterprises in the fierce competitive environment, especially for the accuracy of project planning and scheduling schemes. In the past, the tasks were allocated according to certain indicators to determine subcontractors in the project planning stage and then detailed task plans were formulated in the scheduling stage. In fact, the optimal task allocation scheme may have been missed due to task allocation without considering the logical constraints between tasks. The disconnection between planning and scheduling is one of the more prominent reasons why complex shipbuilding projects are difficult to operate efficiently.

Resource Constrained Project Scheduling
Project planning and scheduling is essential to determine how to use resources more effectively, including resource allocation and detailed resource utilization plans. The resource constrained project scheduling problem (RCPSP) is a common problem. Since enterprises cannot invest unlimited resources for production, it is very important to plan the time and quantity of project resources. Researchers proposed many efficient approaches to solve RCPSP, which have been summarized in [45,46]. At first, most of the previous work focused on problem modeling and solution designing. It made great contributions to solving the project planning problems and improving the project management efficiency. However, as research deepened, the model assumptions were too strict for many practical applications. So, various extensions and variations of the RCPSP were proposed. For example, in addition to the finish-start (FS) priority relationship, researchers proposed a broader and more practical priority relationship, including start-start (SS), finish-start (FF), and start-finish (SF) [47].
One of the most widely studied generalizations of RCPSP is the multi-mode resource constrained project scheduling problem (MRCPSP) [48,49]. It means that each activity can be executed in several execution modes with different durations and required resources. In this sense, a standard RCPSP is Symmetry 2020, 12, 161 5 of 31 regarded as a special case of MRCPSP, since each activity only has one execution mode. The RCPSP and its extended forms are non-deterministic polynomial hard (NP-hard) problems, to solve which effective heuristic and meta-heuristic solutions are highly preferred [50][51][52][53][54][55]. In shipbuilding projects, each task can be completed by several different manufacturing units, which can be regarded as execution modes with different resources requirements.
However, the task duration is still flexible after a subcontractor is selected in a complex shipbuilding project, which is distinguished from the general MRCPSP. The duration is usually determined by negotiation among the general contractor and subcontractor to be selected. In the negotiation process, the problem involves uncertain task duration, which indicates a stochastic resource constrained project scheduling problem (SRCPSP) that has stochastic activity durations. Since SRCPSP attempts to incorporate uncertainty into the formula itself by expressing the random parameters of the problem as random variables, the problem is a challenge both theoretically and computationally [11,12]. Despite the applicability and reference value in the modeling method, most of the literature concerning SRCPSPs is virtually useless for shipbuilding projects without considering the project characteristics. Wang et al. researched the ship erection scheduling problem with flexible activity duration and established the problem model, which provides a way to deal with the tasks that have flexible duration [56].
On the other hand, with considerations of information privatization and distributed decision making, shipbuilding project planning and scheduling belongs to the distributed resource constrained project scheduling problem (DRCPSP). With the rapid development of globalization and information technology, the manufacturing environment is becoming more and more distributed [4]. Confessore et al. first introduced the distributed resource constrained project scheduling problem as an extension of RCPSP [57]. Due to the decentralization of manufacturing information, researchers began developing new models and methods to overcome the barrier faced by the traditional centralized scheduling method. Meanwhile, since cross-organizational collaborative production has become an overwhelming trend in this era, research on DRCPSP has been gradually increased [58][59][60][61][62][63].
A common method is to represent distributed problems with a multi-agent system (MAS) model and solve it by designing coordination mechanisms between the agents. In the scheduling process, agents representing different subproblems must compete with each other to obtain sufficient resources under the limitation of global resource capacity. Resource conflicts are very easy to occur, and the most effective method of conflict resolution is to design a reasonable coordination mechanism. According to the mechanism adopted, the existing research on MAS-based methods can be divided into two categories. One is the auction mechanism based on the market auction principle. Generally, each local agent calculates the price and bids at the auction; then, a global agent ranks the prices and allocates global resources to the winners. Lee et al. proposed a multi-agent system model of dynamic economy and a market-based mechanism in which resource agents and task agents were constructed to allocate resources [4]. Confessore et al. developed a marked-based MAS model with a classification of local resources and global resources being introduced [15]. The results showed that the implementation of distributed methods is not worse than that of the classical centralized methods. The other method is the negotiation mechanism where agents provide and adjust their respective solving schemes in accordance with others' proposals so as to get the best solution when reaching an agreement. Lau et al. proposed a multi-agent system based on negotiation [58]. Each agent exchanged information to obtain the voting candidates for the final scheme. Homberger extended DRCPSP by considering multiple global resources and proposed a multi-agent system based on a restart evolutionary strategy [60]. However, some problems remain to be addressed in the MAS-based solving method. Firstly, scheduling priority constraints has not been effectively integrated in most existing research. For instance, current methods often seek to achieve high global resource utilization when allocating resources. However, a resource allocation strategy with relatively low global resource utilization yields higher throughput than a full allocation of resources [64]. So, the method based on the existing mechanism may not be able to outperform in resolving situations with different degrees of conflict. Secondly, current approaches may encounter difficulties in providing satisfactory solutions to large-scale problems. Now, Symmetry 2020, 12, 161 6 of 31 the allocation process only involves the information of each time slot, usually ignoring the impact of allocation on the whole project cycle. Therefore, it is necessary to design a new heuristic algorithm to solve project collaboration under multi-agent distributed decision making in the shipbuilding industry.

Symmetric Decision-Making
Considering the distribution and symmetry of the planning and decision-making processes in the shipbuilding projects, an appropriate decision-making method and tool to assist the participants to make better decisions is extremely important. There are many researches on symmetric decision-making theory. Some scholars focus on the research of the decision-making model. Du et al. apply a robust optimization approach to a p-center facility location problem under uncertainty and use Gurobi to solve the equivalent robust counterpart models [19]. Liu et al. considered the problem of providing an efficient privacy protection decision tree evaluation service for resource constrained customers under the Internet of Things, and established a security comparison protocol based on the additive secret sharing technology through the cloud model to achieve efficient decision evaluation [20]. Zeng et al. developed a comprehensive model based spherical fuzzy rough set model hybrid with TOPSIS (technique for order preference by similarity to ideal solution) for multi-attribute decision making regarding human opinions [21]. Kucharska proposed a classification of the dynamic vehicle routing problem (DVRP) due to various elements causing dynamism to distinguish dynamic vehicle routing problems, which takes into account the dynamic appearance of customers to serve during the design or execution of the routes [22]. These decision problems are usually solved by applying a multi-standard decision-making (MCDM) framework wherein decisions are built by considering multiple standards or perspectives. The most popular methods include DEMATEL (decision-making and trial evaluation laboratory), PROMETHEE (preferred order structure assessment method), TOPSIS, AHP (analytic hierarchy process), ANP (analytic network process), VIKOR (Višekriterijumsko kompromisno rangiranje), COPRAS (complex proportional assessment), ARAS (additive ratio assessment), and WASPAS (weighted aggregated sum-product assessment) [23].
In system modeling, researchers mainly focus on business process modeling and decision-making process modeling. Jeong et al. introduced an efficient MapReduce-based parallel processing framework for the collaborative filtering method that requires only a one-time parallelized full scan, while adhering to the sequential access patterns on Hadoop data nodes [24]. Kim et al. proposed adaptive mobile resource offloading (AMRO), which is a load-balancing scheme for processing large-scale jobs using mobile resources without a cloud server, which is applied in a mobile cloud computing environment based on collaborative architecture [25]. Machuca et al. describe a 3D mobile interaction technique that allows users to collaborate with other people by creating a symmetric and collaborative ambience [26]. Wu et al. proposed a novel method for collaborative computer aided design (Co-CAD) synchronization, in which all Co-CAD sites maintain symmetric and consistent operating procedures [27]. Dursun et al. developed an integrated decision framework for material selection procedure [28]. Yang et al. presented a prototype of a decision-making system that uses agent-based modeling to simulate deep foundation pit evacuation in the presence of collapse disaster [29].

Conclusions on the Reviewed Literature
The problem of shipbuilding project planning and scheduling is a more complex integrated scheduling problem on the basis of MRCPSP and DRCPSP. At present, the existing research does not fully conform to this feature. The majority of previous research on multi-project planning and scheduling problems establishes problem models from the perspective of centralized decision-making, ignoring the cross-enterprise proactive collaboration and coordination. Existing studies on distributed project scheduling problems focus on the contention for public resources, shedding little light on the relationship between the planning and the scheduling. These models make it difficult to meet the planning requirements of complex shipbuilding projects. In order to solve this problem, we need to clearly analyze the shipbuilding planning and task dispatching process to find out the actual business and relationship between the planning and dispatching process; then, we need to find a way to integrate the two-stage problem into a model and establish solutions by drawing on the existing research results in solving MRCPSP and DRCPSP. We need to complete the following aspects of work: (1) Conduct a deep analysis of the shipbuilding project planning and scheduling processes to find the relationship between tasks; (2) Define the unified mathematical model. Through mathematical methods, a unified mathematical model is constructed to link the whole project planning with the scheduling process; (3) In view of the success of MAS theory in system modeling, draw lessons from existing research and find suitable methods to build the framework of planning and scheduling with the characteristic of symmetric collaborative decision making and design the negotiation method and scheduling strategy.

The Shipbuilding Projects' Collaborative Planning and Symmetric Scheduling Process
This section will sort out and analyze the planning and scheduling process of complex shipbuilding projects, thus summarizing the decision-making features of all project participants.

Project Planning and Scheduling Process
Shipbuilding is a typical order-driven process. Once the shipbuilding order is accepted, the shipbuilding project is formed. For each shipbuilding project, the general contractor is responsible for delivering the required ship products on time in accordance with the contract. In addition, the general contractor is also responsible for controlling the project's progress, cost, quality, and safety during project implementation. On the other hand, because shipbuilding is a large-scale and complex process, shipbuilding projects are divided into many engineering tasks that need to be completed. Collaborating enterprises such as design institutes, classification societies, equipment/material suppliers, parts and components plants, and assembly plants participate in various shipbuilding projects according to their own resource advantages. The progress of each task is changed by selecting different subcontractors or changing the completion plan representing different combinations of resources, processes, and time. Of course, not all tasks are outsourced by the general contractor. In this article, the general contractor itself is considered a special subcontractor. The general contractor first provides a task completion plan for the project tasks that it can complete based on the historical experience of the planner and the resources of the enterprise. The task completion scheme will be compared with the task subcontracting scheme to select the best scheme for all concurrent tasks. In short, shipbuilding project planning and scheduling is a decision-making process that determines how to use the manufacturing capabilities of potential participants to achieve project goals.
Since there is no absolute subordination relationship among the enterprises during the planning and scheduling process, in consideration of the information privatization, it requires multi-party cooperation to determine the task completion plan and form the optimal project plan. As the goals of the members are not quite aligned with the project objectives, there are inevitable resource conflicts arising from the multi-party collaboration to determine the subcontractor and the scheduling scheme of each task. Therefore, the goal of shipbuilding project planning and scheduling is to determine the start and finish time of each task by taking full advantage of the distributed manufacturing capacities with goal and capacity balancing achieved. The planning and scheduling process has the characteristics of both multi-project parallel planning and distributed scheduling. The whole project planning and scheduling process is shown in Figure 2. The specific process can be explained as follows: • According to the requirements of the order contract, the general contractor of each project sets the overall goal of the project and breaks down the project into multiple tasks; • The general contractor publishes the task requirements to qualified cooperative enterprises with the ability to complete the task, and negotiates with them to determine the scheduling plan for each task; • The project planning scheme is a combination of these task scheduling schemes. The logical constraints between tasks can be considered and obtained through local scheduling optimization; • Multiple projects are planned simultaneously, and these projects are independent of each other. Therefore, resource conflicts occur from time to time and need to be resolved by the resource owner; • The general contractor and the cooperating enterprise conduct multiple rounds of negotiation according to their respective goals to determine the subcontractor and corresponding scheduling plan for each task.
Symmetry 2020, 12, x FOR PEER REVIEW 8 of 31 • According to the requirements of the order contract, the general contractor of each project sets the overall goal of the project and breaks down the project into multiple tasks; • The general contractor publishes the task requirements to qualified cooperative enterprises with the ability to complete the task, and negotiates with them to determine the scheduling plan for each task; • The project planning scheme is a combination of these task scheduling schemes. The logical constraints between tasks can be considered and obtained through local scheduling optimization; • Multiple projects are planned simultaneously, and these projects are independent of each other. Therefore, resource conflicts occur from time to time and need to be resolved by the resource owner; • The general contractor and the cooperating enterprise conduct multiple rounds of negotiation according to their respective goals to determine the subcontractor and corresponding scheduling plan for each task.

Symmetric Collaborative Decision-Making Process
Based on the above analysis, shipbuilding project planning and scheduling needs to solve the complexity of intersection between multiple manufacturing entities and multiple projects to satisfy the objectives of each project in the distributed scheduling environment. In the shipbuilding industry, it is a great challenge to combine the product-oriented project tasks and the specialized production-oriented plants. The complex shipbuilding project planning and scheduling problem has the obvious characteristics of combining distributed local optimization with inter organizational coordination. The decision-making process is symmetric and collaborative. Existing research does

Symmetric Collaborative Decision-Making Process
Based on the above analysis, shipbuilding project planning and scheduling needs to solve the complexity of intersection between multiple manufacturing entities and multiple projects to satisfy the objectives of each project in the distributed scheduling environment. In the shipbuilding industry, it is a great challenge to combine the product-oriented project tasks and the specialized production-oriented plants. The complex shipbuilding project planning and scheduling problem has the obvious characteristics of combining distributed local optimization with inter organizational coordination. The decision-making process is symmetric and collaborative. Existing research does not have a suitable model to satisfy this feature. We need to establish a project planning and scheduling system to matching the symmetric collaborative decision-making process.
In order to obtain a more accurate model, the salient features of the decision-making process are necessary to explain in detail.
(1) In the project planning stage, multiple complex shipbuilding projects are planned at the same time. These projects are independent of each other, and the corresponding information is also confidential.
(2) Project planning is to develop the task allocation and project planning scheme. Tasks are allocated to multiple qualified subcontractors chosen from the collaborative enterprises who have the production capacities required by the tasks. The production capacity of a collaborative enterprise is judged by its manufacturing resources. There are two types of manufacturing resources in the shipbuilding process: fixed resource and variable resource. The number of fixed resources occupied by each task per unit of time is fixed and changeless during the task cycle, so the total consumption of fixed resources is proportional to the task duration. However, the total consumption of variable resources is only related to the task workload. The number of variable resources occupied by each task per unit of time is inversely proportional to the task duration, i.e., the task duration is determined by the amount of variable resources input per unit of time.
(3) The scheduling scheme of each task includes the duration based on the resource inputs and the start time, which need to be negotiated between the general contractor and subcontractors. In the scheduling scheme, the task must not be interrupted until completion. Correspondingly, the resources that the task occupies cannot be released in advance. The project planning scheme is an optimized combination of these task-scheduling schemes.
(4) The project schedule, project cost, and quality are the most important objectives of project control. Since the contract price is fixed, the direct way to increase profits is to reduce costs. Thus, the main objective of shipbuilding project planning is optimally assigning tasks to minimize the project total cost, meanwhile maximizing the overall task completion quality on the premise of ensuring timely delivery.
(5) For the general contractor of each project, it is necessary to take full account of all available internal and external resources and select the subcontractor of each task from a global perspective in order to achieve the optimal objectives of each project. For each subcontractor, the ultimate motive of participation in the projects is to gain the most profit, which can be obtained by rationally allocating the inner resources to each task.
(6) To formulate each task plan, there is a negotiation decision process between the general contractor and the subcontractor. The general contractor has to consider logical constraints between the tasks of the same project. When resource contention occurs, resource owners make local decisions based on their respective interests.

The System Framework
Based on the process analysis, the symmetric collaborative decision-making features of each complex shipbuilding project are clear. Complex shipbuilding project planning and scheduling is the process of optimizing the combination of distributed manufacturing resources. The proposed system framework consists of two modules: a planning module and scheduling module, as shown in Figure 3. The system is designed for symmetric collaborative decision-making with five types of agents, namely a management agent (MA), project agent (PA), subcontractor agent (SA), project schedule agent (PSA), and task schedule agent (TSA). The definitions and functions of these agents are as follows: • Management Agent: Responsible for managing the overall system. When new projects and project plans need to be adjusted, the MA opens the project planning function of the system. In the planning process, the MA receives and verifies the PAs and SAs; then, the MA organizes the project planning and the auction process; • Project Agent: Each project sets up one PA to complete the project planning and realize the project objective. After receiving the project information, the PA sends the registration requests to the MA, breaks the project down into numerous executable tasks by analyzing the order demand information, identifies qualified subcontractors, and inquires into the manufacturing efficiency and resource price for all tasks. Based on the auction mechanism and the project objective, PAs then adjust and finalize the project plans, determining the subcontractor and completion plan of each task; • Subcontractor Agent: Each subcontractor sets up one SA to complete the related operations during the project, who provides the resource information to each PA, including manufacturing efficiency and resource price. Based on the auction mechanism and local objectives, SAs assist in finalizing the project plan; • Project Schedule Agent: The PSA determines the resource use plan based on a local scheduling algorithm and sends the resource use plan to the PA. • Task Schedule Agent: The TSA formulates the specific scheduling scheme based on the information of resources and tasks.
At the system planning module, the MA controls the beginning and end of the whole planning process. PAs and SAs send registration information (project information and resource information) to the MA. The input of the project planning module is the order requirements received by PAs. The   The definitions and functions of these agents are as follows: • Management Agent: Responsible for managing the overall system. When new projects and project plans need to be adjusted, the MA opens the project planning function of the system. In the planning process, the MA receives and verifies the PAs and SAs; then, the MA organizes the project planning and the auction process; • Project Agent: Each project sets up one PA to complete the project planning and realize the project objective. After receiving the project information, the PA sends the registration requests to the MA, breaks the project down into numerous executable tasks by analyzing the order demand information, identifies qualified subcontractors, and inquires into the manufacturing efficiency and resource price for all tasks. Based on the auction mechanism and the project objective, PAs then adjust and finalize the project plans, determining the subcontractor and completion plan of each task; • Subcontractor Agent: Each subcontractor sets up one SA to complete the related operations during the project, who provides the resource information to each PA, including manufacturing efficiency and resource price. Based on the auction mechanism and local objectives, SAs assist in finalizing the project plan; • Project Schedule Agent: The PSA determines the resource use plan based on a local scheduling algorithm and sends the resource use plan to the PA. • Task Schedule Agent: The TSA formulates the specific scheduling scheme based on the information of resources and tasks.
At the system planning module, the MA controls the beginning and end of the whole planning process. PAs and SAs send registration information (project information and resource information) to the MA. The input of the project planning module is the order requirements received by PAs. The PA breaks the project down into numerous engineering tasks based on experience and order requirements. In order to accomplish these tasks, PAs initiate the resource use requests to SAs. The resource use requests of each PA are local decisions made in the scheduling module. PAs need to compete for the resources. An iterative combination auction-based negotiation method is proposed to reasonably allocate resources, which makes the planning scheme of these projects feasible. At the system scheduling module, the PSA organizes the TSAs to formulate the scheduling scheme and determine the resources use plan of each task based on the scheduling algorithm, and send the resource use plan to the PAs.

Mathematical Formulation
Notations in the problem model are given as follows:

Parameters n
Number of projects required to complete The predecessor group of T i j m Number of qualified cooperative enterprises If T i j is assigned to E l and completed at time period t, x l i jt = 1; else, x l i jt = 0. y l i j Production efficiency, representing the variable resource input per unit of time

FT i
The final time of project P i dp i The delay penalty for project P i C i (R) The resources cost of P i FC i Total cost of project P i FQ i Total quality of project P i Suppose that there are n complex shipbuilding projects {P 1 , . . . , P i , . . . , P n } to be completed. According to the shipbuilding order contract, project P i should be completed before the delivery date del i . Each project is decomposed into a set of tasks. The tasks inside one project are constrained by the predecessor-successor relationship; otherwise, they are independent. Let us assume that P i contains n i tasks T i1 , T i2 , . . . , T ij , . . . , T in i . The total workload of task T ij is marked as Load ij and the predecessor task group of T ij is marked as PTG ij . Task T ij cannot start until all the predecessor tasks (T ih ∈ PTG ij ) are fulfilled. In order to deal with the planning and scheduling problem, two virtual tasks T i0 and T i(n i +1) with the duration of zero are added as the start and end of P i .
Let us consider that there are m qualified cooperative enterprises {E 1 , . . . , E l , . . . , E m } having the production capacity to satisfy these task requirements. Each enterprise E l owns m l types of available resources R l 1 , . . . , R l k , . . . , R l m l , among which the first v l types R l k (k = 1, . . . , v l ) are the variable resources and the other f l types R l k (k = v l + 1, . . . , v l + f l ) are the fixed resources. Using a l k represents the available amount of resource R l k per unit time, and c l kt is the corresponding resource use cost at time t. Enterprises who are able to satisfy the production capacity requirements of task T ij constitute the group of candidate subcontractors marked as CSG ij . The production capacity of these candidate subcontractors comes from the combination of resources they own. For example, enterprise E l E l ∈ CSG ij could fulfill the task T ij by using combinatorial resources. Let us define the minimum resource inputs as ures l ij = ua l ij1 , . . . , ua l ijk , . . . , ua l ijm l , and the corresponding combination capacity is Capa l ij , representing the accomplished workload with the consumption of resources ures l ij per unit of time. Project planning and scheduling is used to choose the subcontractor and formulate the scheduling scheme for the tasks according to the task requirement and the capacity of each subcontractor. A candidate scheme of task T ij can be represented as T ij , E l , dur l ij , st l ij , q l ij , where T ij is the task code, E l is the subcontractor code, dur l ij is the duration, st l ij is the start time, and q l ij is the completion quality. Based on the feature analysis, we can know: (1) If task T ij completed by enterprise E l , the quality q l ij is constant; (2) The task duration dur l ij is affected by the inputs of the resource, which is up to subcontractor E l to negotiate with the general contractor; (3) The start time st l ij is later than the end time of the predecessor tasks.
Let us assume that if task T ij is completed by enterprise E l , T ij occupies res l ij = a l ij1 , . . . , a l ijk , . . . , a l ijm l of the resources per unit of time in one scheduling scheme. The total resource input of task T ij is a combination of the variable resources res lv ij = a l ijk k = 1, . . . , v l and the fixed resources res l f ij = a l ijk k = v l + 1, . . . , v l + f l . The occupied amount of fixed resources a l ijk (k = v l + 1, . . . , v l + f l ) is constant in different scheduling schemes, and a l ijk is equal to ua l ijk , while the occupied amount of variable resources a l ijk (k = 1, . . . , v l ) varies from one scheduling scheme to another, and a l ijk is a multiple of ua l ijk . Since the resources must be used in combination, we use a decision variable y l ij to represent the resource inputs and production efficiency for different scheduling schemes.
Since a l ijk cannot exceed the total available amount a l k , the range of variable y l ij is 1, 2, . . . , a l k ua l ijk ; k = 1, . . . , v l . The duration is inversely proportional to the variable resource inputs.
Normally, the duration dur l ij can be calculated based on the variable y l ij .
Obviously, the duration dur l ij is not always an integer based on this Formula (2), which is inconsistent with the practical situation of the shipbuilding project. So, we rectify the formula as follows.
The earliest and the latest finish time window EF ij , LF ij of task T ij can be calculated by the traditional time calculation method in accordance with the operation logic of predecessor-successor tasks, the candidate completion scheme, and the project delivery date. The project planning scheme is an integration of all the task scheduling schemes. We set decision variable x l ijt representing the end time of each task by a certain subcontractor. The final time of project P i can be calculated as Equation (4).
In fact, shipbuilding contracts generally specify a deadline for delivery ddel i and a fine coefficient θ i for the delivery delay. In other words, project P i is allowed to complete in time window [1, ddel i ] in practical terms. The project time slot is t = 1, . . . , ddel i . The optimal project completion time should be neither too early nor too late. This is because the contract prescribes the delivery date, and even though the project is completed earlier, the key fixed resources (e.g., docks) would not be released until the delivery, thus bringing no extra benefits. Considering that there is a trade-off between the delay penalty and the benefit brought by optimal resource utilization, the total project cost consists of the use cost of resources and the delay penalty. Formula (5) calculates the penalty for project delay, while Formula (6) calculates the costs of resources.
For each project, the overall objective is twofold: decreasing the cost and increasing the quality. So, the objective function is: The constraints are: x l ijt ∈ {0, 1}, t = EF ij , . . . , LF ij , ∀i, j, l Constraint (9) denotes that only one subcontractor is assigned to a task. Constraint (10) indicates that the task can be implemented after the completion of all predecessors. Constraint (11) is the total amount of constraints of all the resources. Constraints (12) and (13) represent the value range of the variables. Constraint (14) indicates that the completion date of the project must be before the specified deadline.
For each project P i , the optimal solution (FC i , FQ i ) * can be obtained by solving the above problem model, and then an optimal project planning scheme can be obtained based on the scheduling algorithm provided in Section 4.3. However, this scheme is merely based on the local needs of an individual project. Due to the total resource constraints of each subcontractor, the resource requests for each project may conflict. In this regard, all the project planning schemes must satisfy the resource constraints: The resource schemes for each project are local decisions, so Constraint (15) is usually unsatisfactory. It requires negotiation among projects to reasonably allocate manufacturing resources, which makes the planning scheme of these projects feasible. In order to realize it, a negotiation method is provided.

Iterative Combinational Auction-Based Negotiation Method
The project planning module adopts an iterative combinational auction mechanism to coordinate the resources usage among projects. The resource use rights of each subcontractor at time t (t = 1, . . . , T; T = max(ddel i ), ∀p i ) are regarded as the auction items. Subcontractor agents send the information of resource prices (Ψ = ∂(l, k, t) : l = 1, . . . , m; k = 1, . . . , m l ; t = 1, . . . , T set by SA l , representing the price of resource R l k ) to the auctioneer (combinational auction mechanism). In each iteration, an auctioneer communicates to the project agents (PAs) the current price of all the resources and receives the bids. The combinational auction process includes the following steps: Step 1. Auctioneer initializes resource prices Ψ = ∂(l, k, t) : l = 1, . . . , m; k = 1, . . . , m l ; t = 1, . . . , T . Project agents (PAs) are informed the current price of resources.
Step 2. Project agents (PAs) build bids (Ω i = ρ i (l, k, t) : l = 1, . . . , m; k = 1, . . . , m l ; t = 1, . . . , T set by PA i , representing the resource use amount requested by project P i ) according to the current price of auction items and communicate the bids to auctioneer to solve the problem of selecting subcontractors for each task and determining the start/finish time.
The bid Ω i = ρ i (l, k, t) : l = 1, . . . , m; k = 1, . . . , m l ; t = 1, . . . , T is a summary of the resource use scheme of all tasks in the local optimal solution, which can be calculated out as follows: Project agent PA i generates a completion scheme for each task in the task scheduling module. The scheduling process is to choose the subcontractor for the task and determine a feasible scheduling scheme, including the duration and the start time of each task according to the logical constraints between the tasks and the capacity of each subcontractor. Taking T ij as the example, a scheduling scheme is plan ij = T ij , E l , y l ij , st l ij where T ij is the task code, E l is the selected subcontractor, y l ij is the selected production efficiency to determine the duration, and st l ij is the start time. Based on plan ij , ρ ij (l, k, t) can be calculated out (the resource use amount requested by task T ij ). Correspondingly, the whole project plan plan i is the combination of all the task completion schemes plan ij , j = 1, . . . , n i , i.e., ρ i (l, k, t) = n i j=1 ρ ij (l, k, t). Current resource prices are Ψ = ∂(l, k, t) : l = 1, . . . , m; k = 1, . . . , m l ; t = 1, . . . , T ; hence, the bid price B i (Ω i , Ψ) of PA i is the use cost of resources in the optimal solution.
Step 3. The auctioneer calculates revenue according to the bids and checks the resource conflicts. If there are no resource conflicts, the auction will be terminated.
For subcontractor agent (SAs), the local goal is to maximize the total revenue by allocating its available resources to the participating projects reasonably. On receipt of the bids from PAs, the auctioneer calculates and sends the resource request information to the corresponding SA. The calculation formula for the total resource requests to SA l is as follows: The total resource requests to SA l should meet the total resource constraints R l (k, t) ≤ a l k , which is another form of constraint (15). If there are no resource conflicts in an iteration, it indicates that all the requests can been met, and the auction will be terminated.
Step 4. Update the price of the auction items, turn to step 2, and start the next round of the auction. Update the prices of resources by increasing the price of conflict resources and reducing the price of idle resources to resolve resource conflicts and guide PAs to use idle resources. Based on this principle, the auctioneer updates the resource prices Ψ = ∂(l, k, t) : l = 1, . . . , m; k = 1, . . . , m l ; t = 1, . . . , T with consideration of the deviation dev l (k, t) = R l (k, t) − a l k , and by increasing the current value if dev l (k, t) > 0 (resource conflict) or decreasing it (at most to 0) if dev l (k, t) < 0 (idle resource).
The value of the increase (decrease) of ∂ l (k, t) should be a non-decreasing (non-decreasing) function of excess (deficit); moreover, it is a good practice for auctioneers to actively obtain a good resource allocation in early iterations, while smaller adjustments can be made in later iterations to improve the same quality. This paper uses an algorithm inspired by the subgradient technique to update the price. At iteration r, the deviation of the resource requests is dev r l (k, t), and let Ψ l,r = ∂ l,r (k, t) m l ×T be the matrix of the resource prices in which ∂ l,r (k, t) is the price of resource R l k in time period t. The new price of resource R l k in time period t at iteration r + 1 is: where s r is a scalar controlling the aggressiveness of the auctioneer. The initial value of s r is s 0 and halves its value within a certain number of iterations:

Task Scheduling Module
The project scheduling agent (PSA) provides decision-making support for the project agent (PA). The scheduling model of the research is designed to handle the problem of scheduling for distributed manufacturing resources. In each iteration, project agent (PA i ) generates a completion scheme for each task to obtain the optimal solution (FC i , FQ i ) * for project P i . The scheduling process is to choose the subcontractor for the tasks and determine a feasible scheduling scheme including the duration and the start time of each task.
The non-dominated sorting genetic algorithm (NSGA)-II has been proved to be one of the most effective methods to solve multi-objective problems [65][66][67][68][69][70]. However, due to the large work amount of complex shipbuilding projects, the length of coding increases, resulting in a huge solution space of the whole problem. Besides, because the elitism strategy has to compare every individual in the Pareto solution set, the calculation efficiency becomes rather low. Although the rate of crossover and variation can protect the diversity of population to a certain degree, the change of a genetic locus will greatly destroy the formed optimal Pareto solution set since that chromosome contains multiple types of characteristic information. Therefore, the traditional NSGA-II is difficult to obtain the global optimal solution. Correspondingly, the multi-agent genetic algorithm (MAGA), a technology based on artificial intelligence and an evolutionary algorithm, has strong local search capacity [71]. MAGA is a type of evolutionary algorithms for large-scale global numerical optimization. Due to the emphasis on local relations between the agents, the local search capacity of MAGA is very strong. Integrating the ideas of NSGA-II and MAGA, a non-dominated sorting multi-agent genetic algorithm (NSMAGA) with strong global and local search ability is used to solve the local project scheduling problem of this paper. The algorithm flowchart of NSMAGA is as shown in Figure 4

Encoding and Decoding
For simplicity, the project number is omitted, and the problem is transformed into a single project scheduling problem. Design a triplet 1 × n matrix to express the feasible solution of the problem, where n is the total number of tasks. The triplet matrix describes three characteristics of the project scheduling scheme: task sequence, selected subcontractor, and production efficiency. Figure 5 shows a feasible coding for a project scheduling example with seven tasks.
The first part of the solution describes the ordered list of the tasks that shows the order of the tasks' entrance in the scheduling process. In this example, Figure 5 shows that Task 3 is the second task in the list of order of the tasks; in other words, Task 3 is the second task that should be scheduled. It is important to note that this task can be started only when all of its predecessors are finished and enough resources are available for executing it; otherwise, the next task in the list of order of the tasks should be considered. The second part of the solution represents the respective selected subcontractors of the task in the first part. In the discussion of this paper, the tasks are allocated to the qualified subcontractors with the production capacities required by the projects. In this example, Subcontractors 2 and 3 are the qualified subcontractors of Task 3, and Task 3 is assigned to Subcontractor 2. The third part of the solution depicts the selected production efficiency and resource inputs, i.e., the scheduling scheme with the multiplier of resource input. For each task, the duration can be obtained by a combination of the selected subcontractor and production efficiency. on artificial intelligence and an evolutionary algorithm, has strong local search capacity [71]. MAGA is a type of evolutionary algorithms for large-scale global numerical optimization. Due to the emphasis on local relations between the agents, the local search capacity of MAGA is very strong. Integrating the ideas of NSGA-II and MAGA, a non-dominated sorting multi-agent genetic algorithm (NSMAGA) with strong global and local search ability is used to solve the local project scheduling problem of this paper. The algorithm flowchart of NSMAGA is as shown in Figure 4.  For simplicity, the project number is omitted, and the problem is transformed into a single project scheduling problem. Design a triplet 1 × matrix to express the feasible solution of the problem, where is the total number of tasks. The triplet matrix describes three characteristics of the project scheduling scheme: task sequence, selected subcontractor, and production efficiency. Figure 5 shows a feasible coding for a project scheduling example with seven tasks. The first part of the solution describes the ordered list of the tasks that shows the order of the tasks' entrance in the scheduling process. In this example, Figure 5 shows that Task 3 is the second task in the list of order of the tasks; in other words, Task 3 is the second task that should be scheduled. It is important to note that this task can be started only when all of its predecessors are finished and enough resources are available for executing it; otherwise, the next task in the list of order of the tasks should be considered. The second part of the solution represents the respective selected subcontractors of the task in the first part. In the discussion of this paper, the tasks are allocated to the qualified subcontractors with the production capacities required by the projects. In this example, Subcontractors 2 and 3 are the qualified subcontractors of Task 3, and Task 3 is assigned to Subcontractor 2. The third part of the solution depicts the selected production efficiency and resource inputs, i.e., the scheduling scheme with the multiplier of resource input. For each task, the duration can be obtained by a combination of the selected subcontractor and production efficiency.
Due to the structure of the solution matrix including the scheduling sequence, subcontractor, and production efficiency, the scheduling scheme can be generated by determining the start time {s , s , … , s }. For one solution matrix, the project quality is constant. So, the decoding rule is applied to generate the optimal schedule corresponding to minimum project cost (min ). To describe the decoding rule more clearly, it is necessary to add some notations: the unscheduled task matrix order by the scheduling sequence the scheduled task matrix j * the task with premier order in matrix p the predecessor group of task j ES the earliest start time of task j EF the earliest finish time of task j Due to the structure of the solution matrix including the scheduling sequence, subcontractor, and production efficiency, the scheduling scheme can be generated by determining the start time {s 1 , s 2 , . . . , s n }. For one solution matrix, the project quality FQ is constant. So, the decoding rule is applied to generate the optimal schedule corresponding to minimum project cost (minFC). To describe the decoding rule more clearly, it is necessary to add some notations:

US
the unscheduled task matrix order by the scheduling sequence PS the scheduled task matrix j * the task with premier order in matrix US p j the predecessor group of task j ES j the earliest start time of task j EF j the earliest finish time of task j LS j the latest start time of task j LF j the latest finish time of task j s j the start time of task j f j the finish time of task j A j the order of task j M j the selected subcontractor of task j d(j) the duration of task j r(j) the resource requirement of task j Obviously, the optimal solution can be obtained by iterating through the scope of the solution space (s i ∈ [0, deadline]), which works, but takes a lot of time. Consequently, it is necessary to narrow the scope of the solution space by preprocessing the constraints.
In order to narrow the scope of the solution space, two rounds of scheduling are carried out to obtain the earliest and latest start time of each task. The scheduling process of the tasks is divided into "n stages", while one task is scheduled in each stage. The first task in the scheduling sequence that has no predecessors will be scheduled in the first stage. Then, the other tasks based on their location in the scheduling sequence will be scheduled in the next stages. In each stage, all tasks whose predecessors are finished completely are placed at the matrix (US) firstly, and task (j * ) with a premier order amongst other tasks in the scheduling sequence will be selected to schedule in this stage. For task (j * ), its earliest start time (ES j * ) will be calculated out in two steps. Firstly, the logical relationships between tasks are considered. The task's ES j * equals the maximum finish times (max{ES h + d h }) of its predecessors (h ∈ p j ). If there is no predecessor, the task's ES j * is equal to zero (the outset of the scheduling time horizon). Secondly, check the resource constraints. If the resources conflict, delay the earliest start time (ES j * ) by one unit repeatedly until the resource constraints are satisfied. The scheduled tasks will be moved to the matrix (PS) from the matrix (US). Similarly, the latest start time (LS j ) of each task can be calculated out by reverse scheduling the tasks in matrix (PS) and setting the value of deadline to the finish time of the last task. Then, iterate through the scope of the solution space (s j ∈ ES j , LS j ) to obtain the optimal schedule {s 1 , s 2 , . . . , s n } * . The schedule corresponding to the minimum project cost is the solution of start times added to the solution matrix. The decoding process can be summarized and explained procedurally as follows:

Initialize the Population
In the proposed algorithm, each individual in the population is regarded as an agent representing a candidate solution of the optimization problem. An agent is expressed as a = body, energy, neighborhood , where body represents the coding of a solution, energy is equal to the value of the objective function {FQ, FC}, and neighborhood = {N 1 , N 2 trustdegree(a, b)) represents the relation between a and b, trustdegree(a, b) is the trust degree between a and b, and the range of trustdegree is [−1, 1]. The neighborhood of a changes as the trustdegree changes. According to human society, the neighborhood being extended and reduced follows the modes: Extended mode: Randomly select an agent b from the network outside of the neighborhood of a, place b into the neighborhood of a, and set trustdegree(a, b) = 0; if agent b is in the neighborhood of a ij and trustdegree(a, b) = 1, and agent c is in the neighborhood of b and trustdegree(b, c) = 1, place c into the neighborhood of a and set trustdegree(a, b) = 1.
Cut mode: If agent b is in the neighborhood of a and trustdegree(a, b) = −1, take b out of the neighborhood of a.
An agent exists in a network with the size of (La × La). In order to prevent the boundary effect, the network topology is the ring. Suppose that the population size is N, the Pareto solution set is P best with the size of N, and the maximum number of evolutionary iterations is g max . Randomly generate N (N = La × La) individuals as the initial population based on the coding rules and place these individuals in the agent network. Agent a ij represents the individual in position (i, j) of the network. The energy of each agent can be obtained based on the schedule generation algorithm. The initial neighborhood of each agent contains only four agents in the adjacent location, and the initial trustdegree is zero. For agent a ij , the initial neighborhood is neighborhood = a i j , 0 , a ij , 0 , a i j , 0 , a ij , 0 ,

Rapid Non-Dominated Sorting and Tournament Selection
When all the objective function values of populations are calculated out by the schedule generation algorithm, rapid non-dominated sorting is employed to module the current populations and give them corresponding serial numbers. The serial numbers of some individuals are the same. In terms of selection, crowding distance calculation is needed for the consideration of population diversity [72,73]. The energy of an agent with a smaller serial number and bigger crowding distance is considered larger. Tournament selection is used to choose the agent with larger energy when needed in the process of the algorithm. Firstly, comparing the corresponding serial numbers of the agents, we choose the agent with the smaller serial number. If there are several agents with the same serial numbers, we compare their corresponding crowding distances and choose the agent with the bigger crowding distance. In NSGA-II, the Pareto preferential should be carried out after non-dominated sorting if the size of the current population is beyond the initial value. NSGA-II solves this problem by comparing the crowding distance to successively select the individuals with the bigger crowding distances. This method could result in the distance between some individuals being too far, making the distribution of the individuals too sparse. For overcoming the shortcoming, this paper adapts other ways to carry out the Pareto preferential, which is to prune the individuals with smaller crowding distance successively until the size of the population is sufficient.

Evolution Operation
The evolutionary goal of the agent is to increase its energy (lower cost and higher quality). In the evolutionary process, each agent implements multiple evolution operations with certain probability.

• Competition operation
The competition operation occurs in the current agent a by the occupied probability P o . Through tournament selection, the agent a max is selected from the neighborhood. If the energy of a is less than that of a max , replace a with a max ; else, keep a unchanged.

Algorithm 2: Competition Operation
Step 1: Input agent a. The occupied probability P o ; Step 2: Generate random number P ∈ (0, 1). If P ≤ P o , go to Step 3; else, go to Step 5; Step 3: Select agent a max with the maximum energy from the neighborhood of a by tournament selection; Step 4: If the energy of a is less than that of a max , set a.body = a max .body and a.energy = a max .energy; Step 5: Output agent a.

• Collaborative crossover
Collaborative crossover is the behavior between a and b that is selected to be the collaborative agent with the probability Pc + trustdegree(a, b) * 0.1 from the neighborhood of a. A binary random 0-1 array is to decide the crossover position, as shown in Figure 6. For the task sequence, if the value is "1" in binary array, keep the corresponding position of the offspring body unchanged, and then place the rest of the values from the collaborative agent b into the remaining positions of the offspring body in order. For the selected subcontractor and production efficiency sequences, if the value is "1", we should find the corresponding tasks of the positions. Then, place the corresponding subcontractors and efficiency of the tasks into the position of the task at the offspring body and place the value from the collaborative agent b into the remaining position of the offspring body. So, we obtain an offspring agent a . Calculate the function values of a . If a can dominate a, replace a with a and set trustdegree(a, b) = trustdegree(a, b) + 0.1; else, set trustdegree(a, b) = trustdegree(a, b) − 0.2. The competition operation occurs in the current agent by the occupied probability . Through tournament selection, the agent is selected from the neighborhood. If the energy of is less than that of , replace with ; else, keep unchanged.

Algorithm 2: Competition Operation
Step 1: Input agent . The occupied probability ; Step 2: Generate random number ∈ (0,1). If ≤ , go to Step 3; else, go to Step 5; Step 3: Select agent with the maximum energy from the neighborhood of by tournament selection; Step 4: If the energy of is less than that of , set . = . and . = . ; Step 5: Output agent . •

Collaborative crossover
Collaborative crossover is the behavior between and that is selected to be the collaborative agent with the probability + ( , ) * 0.1 from the neighborhood of . A binary random 0-1 array is to decide the crossover position, as shown in Figure 6.

Algorithm 3: Collaborative Crossover Operation
Step 1: Input agent , the number of neighbors of is ; Step 2: The crossover probability ; Step 3: Initialize the agent = ; = 1; Step 4: Set b = b| ( , ) from the neighborhood of ; Step 5: Generate random number ∈ (0,1). If ≤ + * 0.1, go to Step 6; else, go to Step 8; Step 6: Generate the binary array and implement the collaborative crossover operation to get ; Production efficiency Figure 6. Collaborative crossover operation.

Algorithm 3: Collaborative Crossover Operation
Step 1: Input agent a, the number of neighbors of a is J; Step 2: The crossover probability P C ; Step 3: Initialize the agent a = a; j = 1; Step 4: Set b = b N j (b, trustdegree) from the neighborhood of a; Step 5: Generate random number P ∈ (0, 1). If P ≤ Pc + trustdegree * 0.1, go to Step 6; else, go to Step 8; Step 6: Generate the binary array and implement the collaborative crossover operation to get a ; Step 7: If a can dominate a, replace a with a and set trustdegree(a, b) = trustdegree(a, b) + 0.1; ease if a can dominate a , set trustdegree(a, b) = trustdegree(a, b) − 0.2; else, neither can dominate a .
• Self-learning Self-learning behavior improves the energy due to an agent's own knowledge. For the task sequence, select two positions randomly, place the code in the first position into the second position, and place the other codes in order. For the selected subcontractor and production efficiency sequences, select one position randomly and find the corresponding task; then, change the value of the selected subcontractor and production efficiency to a random 1~M/P (M/P is the maximum value to be selected) and place the new value into the position of the corresponding task of a . An example of self-learning is shown in Figure 7. If a can dominate a, replace a with a . Step 8: = + 1, if ≤ , go to Step 4; else, go to Step 9; Step 9: Output agent a.
• Self-learning Self-learning behavior improves the energy due to an agent's own knowledge. For the task sequence, select two positions randomly, place the code in the first position into the second position, and place the other codes in order. For the selected subcontractor and production efficiency sequences, select one position randomly and find the corresponding task; then, change the value of the selected subcontractor and production efficiency to a random 1~M/P (M/P is the maximum value to be selected) and place the new value into the position of the corresponding task of . An example of self-learning is shown in Figure 7. If can dominate , replace with .

Algorithm 4: Self-Learning Operation
Step 1: The self-learning probability ; Step 2: Generate the random number ∈ (0,1). If ≤ , go to Step 3; else, go to Step 8; Step 3: Choose the agent by tournament selection; the length of the code is ; Step 4: Initialize the agent a = ; Step 5: Generate two numbers R1, R2 between (1, n-1) randomly, then place the code in the position R1 into R2 and place the other codes in order; If a can dominate a, replace with ; Step 6: Generate one number R3 between (1, n-1) randomly, find the corresponding task, change the value of the selected subcontractor to a random 1~M, and place it into the position of the corresponding task of a in the selected subcontractor sequence; If can dominate , replace with .
Step 7: Generate one number R4 between (1, n-1) randomly, find the corresponding task, change the value of production efficiency to a random 1~P and place it into the position of the corresponding task of a in the production efficiency sequence; If can dominate , replace with .
Step 8: Output agent a.

Determine the Optimal Scheme
After obtaining the Pareto solution set , the optimal scheduling scheme still needs to be determined. Suppose that there are Pareto solutions , , … , , among which ∈ , = 1, … , .

Algorithm 4: Self-Learning Operation
Step 1: The self-learning probability P s ; Step 2: Generate the random number P ∈ (0, 1). If P ≤ P s , go to Step 3; else, go to Step 8; Step 3: Choose the agent a by tournament selection; the length of the code is n; Step 4: Initialize the agent a = a; Step 5: Generate two numbers R1, R2 between (1, n − 1) randomly, then place the code in the position R1 into R2 and place the other codes in order; If a can dominate a, replace a with a ; Step 6: Generate one number R3 between (1, n − 1) randomly, find the corresponding task, change the value of the selected subcontractor to a random 1~M, and place it into the position of the corresponding task of a in the selected subcontractor sequence; If a can dominate a, replace a with a .
Step 7: Generate one number R4 between (1, n − 1) randomly, find the corresponding task, change the value of production efficiency to a random 1~P and place it into the position of the corresponding task of a in the production efficiency sequence; If a can dominate a, replace a with a .
Step 8: Output agent a.

Determine the Optimal Scheme
After obtaining the Pareto solution set P best , the optimal scheduling scheme still needs to be determined. Suppose that there are p Pareto solutions S 1 , S 2 , . . . , S p , among which S e ∈ P best , e = 1, . . . , p. is a candidate scheme, the corresponding objective function values are {FC e , FQ e }, which can be regarded as the evaluation vector of scheme S e . There are different optimum values from different decision-making angles. The entropy weight method and TOPSIS method have been proven to be an efficient way to select the optimal scheme [74][75][76][77]. Follow the following steps to evaluate the project: (1) Let us define the evaluation matrix A = r 11 r 21 (3) Define the weighting coefficient of two objectives as W = {ω i |i = 1, 2}, which can be calculated as Equations (21)- (23).
(4) Generate the weighted decision matrix V by multiplying the standardized matrix B and the weighting coefficient ω i of each evaluation index.
(5) Calculate the positive and negative ideal solutions. The optimal scheme V + = v + 1 , v + 2 and the worst scheme (6) Calculate the Euclidean distance between the candidate scheme S e and the optimal scheme/the worst scheme.
(7) Calculate the approximation degree of the candidate scheme to the optimal one.
The larger value of approximation degree C e indicates that the scheme is closer to the optimal solution.

Experiment and Results Analysis
The proposed approach is implemented in a simulated manufacturing system. Simulations were performed on several Windows 10 operating systems with an Intel Core i7-6700 2.60 GHz processor and 8 GB of RAM to test the process of shipbuilding project planning and scheduling. Agent behaviors, protocols, and the scheduling algorithm were coded in MATLAB 2016b and collectively used to support the agent-based simulations.
In order to test the effectiveness of the proposed approach, an illustrative example is conducted. Due to the huge amount of shipbuilding project statistics, this article takes the plans corresponding to hull blocks as verification objects. For clear demonstration of the interactions among project participants, we consider a parallel planning problem with two projects {P 1 , P 2 } and three cooperative enterprises {E 1 , E 2 , E 3 }. Each project contains 36 tasks, respectively. Each cooperative enterprise owns two kinds of variable resources (R 1 &R 2 ) and fixed resources (R 3 &R 4 ) that are available, respectively. Table 1 displays the detailed project information. Task T 1 and T 36 in each project are virtual tasks with the duration of zero, representing the start and end of each project. Task T 2 to T 35 are real tasks. The basic information of each task include the workload, predecessors, and candidate scheme. Each task has several production schemes to choose from, which are provided by cooperative enterprises with different production capacities. The candidate scheme of each task includes the executive enterprise code, quality, and resources scheme (the minimum resource inputs {R 1 , R 2 , R 3 , R 4 }). Taking task T 3 in Project P 1 as an example, the workload is 15, the predecessor is T 1 and enterprises E 1 , E 2 , and E 3 all have the production capacity to satisfy the requirements of task T 3 . If task T 3 is fulfilled by enterprise E 1 , the quality is 10 and the minimum resource inputs are {6, 0, 0, 5}. Some tasks have multiple predecessors, such as task T 5 . The daily supply capacity (a i , i = 1, 2, 3, 4) and price (c i , i = 1, 2, 3, 4) of each resource are shown in Table 2. According to the negotiation strategy in Section 4.2.2, each project generates a completion scheme for each task by local scheduling in each iteration of a combinational auction. In the local decision-making process, NSMAGA is used to find an optimal solution for the best combination of cost and quality. The parameters of NSMAGA are listed as follows: the largest repetition number g max is 100, the initial population size N is 100, the agent network size La is 10, the Pareto solution set size N is 50, the occupied probability P o is 0.9, the crossover probability P C is 0.9, and the self-learning probability P s is 0.1. After running the algorithm, the local scheduling optimal solution of each project can be obtained. Table 3 shows the scheduling results of Project 1. The corresponding Gantt chart is shown in Figure 8.  Since the scheduling scheme of each project is a local optimal solution, resource conflicts are inevitable. Each subcontractor needs to update the prices of resources by increasing the price of conflict resources and reducing the price of idle resources to resolve resource conflicts and guide PAs to use idle resources. According to the update strategy of the resource prices in Section 4.2.2, the initial aggressiveness parameter needs to be set in advance. In this illustration, the parameter is set to 2. Figures 9-12 shows the situation of resource request and conflicts for cooperative enterprises { , , } after 5, 10, 15, and 18 iterations. In the figures, the red line refers to the total amount of available resources. After 18 iterations, the resource conflicts are resolved, and all the resource requests of the two projects are met. In the distributed decision-making environment, the goal coordination of project participants is achieved. The results show that the proposed method is effective. Since the scheduling scheme of each project is a local optimal solution, resource conflicts are inevitable. Each subcontractor needs to update the prices of resources by increasing the price of conflict resources and reducing the price of idle resources to resolve resource conflicts and guide PAs to use idle resources. According to the update strategy of the resource prices in Section 4.2.2, the initial aggressiveness parameter s 0 needs to be set in advance. In this illustration, the parameter s 0 is set to 2. Figures 9-12 shows the situation of resource request and conflicts for cooperative enterprises {E 1 , E 2 , E 3 } after 5, 10, 15, and 18 iterations. In the figures, the red line refers to the total amount of available resources. After 18 iterations, the resource conflicts are resolved, and all the resource requests of the two projects are met. In the distributed decision-making environment, the goal coordination of project participants is achieved. The results show that the proposed method is effective.

An Application Case
Java development language is used to develop the prototype system-Complex Shipbuilding Projects Collaborative Planning and Scheduling System (CSPCPSS) in the form of a Java Web project. The development technology framework adopts the lightweight spring framework, which

An Application Case
Java development language is used to develop the prototype system-Complex Shipbuilding Projects Collaborative Planning and Scheduling System (CSPCPSS) in the form of a Java Web project. The development technology framework adopts the lightweight spring framework, which focuses on solving the complexity of enterprise application development. The public infrastructure layer is combined with the object relational mapping framework Hibernate for rapid data operation. The foreground adopts the EASY-UI technology framework, and the database adopts the large relational database Oracle 11 G by invoking the JAR package in the Spring control layer (Controller) to realize complex business proxy functions. The screenshots of the key functional interfaces in the prototype system are made, as shown in Figure 13.

An Application Case
Java development language is used to develop the prototype system-Complex Shipbuilding Projects Collaborative Planning and Scheduling System (CSPCPSS) in the form of a Java Web project. The development technology framework adopts the lightweight spring framework, which focuses on solving the complexity of enterprise application development. The public infrastructure layer is combined with the object relational mapping framework Hibernate for rapid data operation. The foreground adopts the EASY-UI technology framework, and the database adopts the large relational database Oracle 11 G by invoking the JAR package in the Spring control layer (Controller) to realize complex business proxy functions. The screenshots of the key functional interfaces in the prototype system are made, as shown in Figure 13.

Conclusions
In this paper, an assistant decision-making method is provided to support effective task dispatching and multi-party cooperation for better utilization of the distributed resource, thus helping project managers control the shipbuilding process. The proposed method effectively solved a new complex problem in the shipbuilding background, including a multi-mode resource constraint multi-project scheduling problem under flexible task duration and distributed resource-constrained project planning problems. To articulate the problem, a complex shipbuilding project distributed cooperative planning and scheduling problem model is proposed, combining the project planning and scheduling process. As a matter of fact, in many similar large-scale projects, there is no connection between scheduling and planning problems, which leads to inaccurate scheduling schemes and more frequent changes. The research in this paper provides a reference: the distributed scheduling process can be effectively connected by parameterizing the local optimization and the interorganizational coordination process.
From the perspective of engineering applications, a multi-agent-based project planning and scheduling framework was proposed, which simulated the collaborative decision-making planning and symmetric scheduling process, filling the research gap. The designed framework includes two symmetrical modules, a planning module and a scheduling module, connecting the multi-project planning with a single project scheduling in detail, wherein a negotiation method is proposed to solve the integration problem of distributed local optimization and coordination between organizations. The experiments verify the effectiveness and rationality of the framework and method. From the academic perspective, this research contributes to the parallel planning problem solving for distributed large-scale complex engineering projects. Current and future work can be dedicated to expanding the system by designing more negotiation methods to deal with more possible engineering situations.
Author Contributions: X.M. designed the framework of complex shipbuilding project collaborative planning and symmetric scheduling and the operation method in the modules; J.L. proposed the symmetry characteristics of system and provided the method of system modeling; H.G. realized the concrete algorithm and developed the verification system; X.W. provided the test data and environment to verify the proposed method and analyzed the test results. All authors have read and agreed to the published version of the manuscript.

Conflicts of Interest:
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.