# Supply-Demand Dynamic Matching in Cloud Manufacturing Based on Hypernetwork Model
## 4 Dynamic Matching Method
### Specific Mechanism of Rematching
To accurately simulate the matching problem, the simulation is divided into three stages. Firstly, the experiment verifies the good convergence performance of the intelligent algorithm in the initial SDM problem. Next, it compares the initial matching effects of various multi-objective algorithms. Finally, it contrasts the dynamic matching capabilities of two different matching methods with and without considering network resilience under four different scenarios. The code was implemented using Python 3.11. All experiments were conducted on a PC with an Intel i7-8565U CPU running at 1.99 GHz, 8.00 GB RAM, and a 64-bit Windows 10 operating system. ### Experimental Setting

The SDM problem addressed in this paper involves multi-objective optimisation, requiring simultaneous optimisation of two objectives. The NSGA-II algorithm, introduced by [PERSON] in 2002 [46], utilises non-dominated sorting and crowding distance sorting to tackle multi-objective optimisation problems. This algorithm is applied to solve the initial matching scheme, with the algorithm parameters provided in Table 2. The specific design of NSGA-II includes the following aspects:

1. Chromosome Encoding: Each gene in the chromosome represents the service provider \(i\) selected for task \(j\). The chromosome is composed of a sequence of integers, where each integer corresponds to the index of the service provider selected for tasks from 1 to \(NoT\). 2. Selection Operator: The selection method is based on Pareto non-dominated sorting. Specifically, individuals are ranked according to non-dominated sorting and grouped into different layers. Individuals in the first layer \(P_{1}\), are assigned a selection probability of \(p\), while individuals in the second layer, \(P_{2}\), are assigned a selection probability of \(\alpha p\) (where \(0<\alpha<1\)), and the selection probability decreases for subsequent layers accordingly. 3. Crossover Operator: The interval crossover method is employed, in which two crossover points are randomly selected on the chromosome, and a segment between these points is exchanged between two parents. Additionally, constraint handling mechanisms are integrated into the process. If any genes violate constraints, local search algorithms are applied to these genes to identify optimal replacement solutions, ensuring feasible solutions are generated. 4. Mutation Operator: In this phase, an optional set is established, and a gene is randomly chosen for the mutation operation. The mutation operation first identifies the set of available service providers corresponding to the task of the selected gene. Then, a service provider is randomly selected from the optional set to replace the original one. While \(t=0\), a series of Pareto non-dominated solutions were generated using the NSGA-II algorithm. The suitable solution is selected from the Pareto solutions employing a weighted aggregation method, where \(U=\omega_{1}U_{1}+\omega_{2}U_{2}\), the preference weights are set to explore diverse solutions under varying preferences and weights, aiming to ultimately choose the most suitable optimal solution. Here, \(\omega_{1}\) is set to 0.6 and \(\omega_{2}\) is set to 0.4. Select an intermediate solution from the Pareto front that performs well on both objective values as our initial matching scheme. At time \(t=0\), we set up four distinct scenarios: 20 task nodes with 100 service nodes, 40 task nodes with 100 service nodes, 60 task nodes with 100 service nodes, and 80 task nodes with 100 service nodes. These configurations allow us to simulate a range of conditions from abundant to scarce service resources, facilitating an in-depth analysis of their impact on system performance. Each node with different attributes such as \(Q_{5}^{i}\), \(C_{T}^{j}\), etc., representing the service parameters that the service can provide or the demand parameters required by the task. These parameters are randomly assigned values within their respective numerical ranges.