Project cluster optimization method, device and system

By optimizing project clusters using biased random key genetic algorithms and NSGA series algorithms, the problems of low optimization efficiency and weak collaborative relationships in traditional methods are solved, achieving efficient and multi-objective project cluster optimization and improving the accuracy and feasibility of decision-making.

CN116579420BActive Publication Date: 2025-12-05NAT UNIV OF DEFENSE TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310152922.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-22
Publication Date
2025-12-05
Estimated Expiration
2043-02-22

AI Technical Summary

Technical Problem

Traditional methods are insufficient to effectively describe and optimize the value and cost relationships in military project clusters. This results in large project clusters with complex relationships, making it difficult for traditional methods to describe the problem model, leading to poor solution efficiency. Furthermore, the lack of architectural support prevents the full reflection of the collaborative relationships between projects.

Method used

The project cluster is optimized using the biased random key genetic algorithm (BRKGA) and the NSGA, NSGA-II or NSGA-III algorithms. By modeling the value, cost and constraints of the projects, and combining decoding and cross-mutation mechanisms, the project selection is optimized to ensure the diversity and convergence of the solution space.

Benefits of technology

It improves the efficiency and accuracy of project cluster optimization, avoids local optima, achieves multi-objective optimization, ensures the feasibility and uniformity of optimization results, and enhances the collaborative relationship between projects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116579420B_ABST
    Figure CN116579420B_ABST
Patent Text Reader

Abstract

The application provides a project cluster optimization method, device and system, comprising the following steps: A1, modeling a project cluster optimization problem based on the value, cost and constraint relationship of the project; A2, defining an objective function based on the value maximization of the project; A3, then solving the problem by using a biased random key genetic algorithm based on single project optimization in the project cluster, and solving the problem by using an NSGA, NSGA-II or NSGA-III algorithm based on multiple project optimization in the project cluster, and selecting the corresponding project or project combination that is most beneficial to the development of the project cluster according to the result of the solution. In the selection process of the project, the application can effectively avoid falling into a local optimal solution, the technical scheme of the application has stronger exploration ability for a solution space, can more uniformly and diversely search the solution space, has better convergence, and expands the problem model from single-objective optimization to multi-objective optimization, so that the feasibility of the optimization result is ensured while the solution space is reduced and the calculation efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of project cluster optimization, and particularly relates to a project cluster optimization method, device and system. BACKGROUND

[0002] The project cluster optimization problem refers to giving a specified scale of project set, which is selected by a decision maker according to one or more objectives. In the military field, there is a more prominent problem of the measurement of the value and cost of the project. The concept of capability planning is currently widely used in the field of national defense construction in China, wherein the capability is defined as: in order to perform a series of military tasks, the combination of systems with corresponding functions obtained by utilizing technology integration can meet certain military requirements and achieve the expected effect under specific conditions. In addition to funds, the cost of investment also includes human resources and other resources, and the benefits and costs are not in the same dimension, so it is difficult to evaluate the cost performance of the project. Secondly, the projects in the military field are often closely related to each other, or there is a mutually beneficial relationship, or there is a contradictory and repulsive relationship, and the cost, value and the like of a single project in the cluster will inevitably change.

[0003] The project cluster has a large scale and complex relationship, and the traditional solving method is difficult to describe the problem model, and the solving efficiency is poor. In addition, the traditional method is to analyze and calculate a single project to obtain a combination scheme. The combination optimization result obtained by such a method has only one layer of structure and cannot be further subdivided, lacks the support of the system structure, and weakens the collaborative relationship between the projects. SUMMARY

[0004] The technical problem to be solved by the application is to provide a project cluster optimization method, device and system to solve at least one of the above problems in the prior art.

[0005] To achieve the above purpose, one or more embodiments in the application provide a project cluster optimization method, which comprises the following steps:

[0006] A1, modeling the project cluster optimization problem based on the value, cost and constraint relationship of the project; the model is expressed as:

[0007]

[0008] Wherein, X = [x1, x2,..., xN] represents the decision variable, f represents the objective function, g represents the constraint condition, and x represents the value of the project. n ] T represents the decision variable, f represents the objective function, g i represents the constraint condition,

[0009] A2, defining the objective function based on the maximization of the value of the project as Wherein, x j: binary decision variable, 1 if item j is selected, 0 otherwise; v j ‘ : value of item j; N: number of item set;

[0010] A3, then based on the single item optimization in the project cluster using biased random key genetic algorithm solution, based on the optimization of multiple projects in the project cluster using NSGA, NSGA-II or NSGA-III algorithm solution, according to the results of the solution to select the corresponding project or project portfolio that is most conducive to the development of the project cluster.

[0011] Based on the above technical solutions of the present application, the following improvements can be made:

[0012] Optionally, the step of optimizing based on a single item in the project cluster comprises:

[0013] A31, generating an initial population representing the project cluster, given the population size n, randomly generating n individuals, the set consisting of n individuals is defined as the population P (0) ; wherein the individual is represented as a random key vector on [0,1] N , that is, represented by N random keys, N is the size of the project cluster; when generating the initial population, each random key of each individual is subject to uniform distribution on the interval [0,1];

[0014] A32, decoding, decoding all individuals of the population into solutions of the problem through the decoder, and calculating the fitness value of the corresponding solution; the random key vector of the individual is sorted in ascending order, and the items are prioritized to obtain the priority sequence of the items; the priority vector represents the priority order of the items, and the items with high ranking are considered first, and the items that cannot be arranged due to the constraints possessed by the items will be postponed, and after all the items are arranged, the fitness value is calculated according to the objective function;

[0015] A33, judging whether the iteration is ended; if the judgment result is yes, then entering step A34, otherwise ending the process;

[0016] A34, elite population division, sorting the population according to the fitness value, and dividing the population P (0) into an elite population and a non-elite population according to the set proportion, and satisfying

[0017] A35, generating the next generation population P (k) from the current kth generation population P (k+1) ; then go to step A32 to determine the selection of the project based on the fitness value of the objective function obtained in step A32.

[0018] Optionally, the conditions for determining whether the iteration in step A33 has ended include the number of iterations reaching a specified number of generations, or the fitness value of the best individual in the current population reaching a specified value, or the fitness value of the best individual in the population not changing after a specified number of iterations.

[0019] Optionally, step A35 includes;

[0020] A351, the elite group Completely replicated to the next generation population P (k+1) ,Right now

[0021] A352, From the Elite Group Randomly select π e Individuals, non-elite groups Select π t Individuals form a parent set. Each individual in the parent set has a probability of passing on a random key to the next generation, and this probability also depends on the fitness value of the parent individual. This process is repeated several times to obtain the crossover subpopulation P. c (k+1) ;

[0022] A353, Generating Mutant Populations P (k+1) Complete, so that P (k+1) The scale and P (k) Remain unchanged;

[0023] A354. Jump to step A32.

[0024] Optionally, optimization steps based on multiple projects in a project cluster include:

[0025] B1. Generate an initial population, dividing the project cluster into N. C Given a subgroup of projects, n individuals are randomly generated, and the population size is N, where each individual is... A vector on, i.e., from N+N C A vector consisting of random keys, each random key following a uniform distribution on the interval [0,1];

[0026] B2. Decoding: The decoder decodes all individuals in the population into solutions to the problem, calculates the fitness values ​​of the corresponding solutions, and determines a vector composed of multiple objective function values.

[0027] B3. Determine if the iteration has ended. If the result is no, proceed to step A3; otherwise, end the process and return the non-dominated solution set of the current population.

[0028] B4. Non-dominant rank ranking; performing non-dominant rank ranking on each individual;

[0029] B5. Multiple paternal elite biases overlap, with the proportion r of a given elite group. e Then, individuals are added to the elite group in descending order of their non-dominance level.

[0030] B6. Mutation: Generate new individuals following the steps in B1.

[0031] B7. Solution diversity protection: For the NSGA algorithm, individuals of the same level are given priority to those with smaller sharing values; for the NSGA-II algorithm, crowding is used to replace the sharing in the NSGA algorithm, and individuals with smaller crowding are given priority; for the NSGA-III algorithm, each optimization objective is divided into several parts in the hyperplane to obtain several uniformly distributed reference points, and individuals closer to the reference points are given priority.

[0032] B8. Generate the next generation population, prioritizing items corresponding to solutions with higher non-dominance levels. For items corresponding to solutions with the same non-dominance level, select items corresponding to solutions that improve solution diversity. After selection, return to step A1.

[0033] Optionally, in step B3, the conditions for determining whether the iteration has ended include: the number of iterations reaches a specified number of generations, or there are individuals in the current population whose objective function values ​​for each item have reached satisfactory values, or after a specified number of iterations, the non-dominated solution set has not changed.

[0034] Optionally, in step B4, for the NSGA algorithm, the dominance level of each individual is determined by pairwise comparisons between solutions, serving as the basis for judging the quality of the solution; for the NSGA-II and NSGA-III algorithms, for each individual e in the population, the number n of individuals dominating e is calculated. e and the set S consisting of individuals dominated by e. e Then, all the first-level individuals, i.e., n e Individuals with a value of 0 are removed, and then S is processed. e n of all individuals e Subtract 1 from the value, then set n e Individuals whose values ​​are reduced to 0 are designated as the next level of individuals. This process is repeated until all individual levels have been assigned.

[0035] Optionally, in step B5, if the number of individuals in the elite group exceeds a specified proportion after adding all individuals of the current level to the elite group, then individuals are randomly selected from the individuals of the current level to make up the number of individuals in the elite group.

[0036] According to a second aspect of the present invention, a project cluster optimization system is provided, which employs any of the project cluster optimization methods described above.

[0037] According to a third aspect of the present application, there is provided a project cluster optimization apparatus comprising a storage unit for storing a computer program and a processing unit for executing the steps of the project cluster optimization method according to any one of the above aspects by the computer program stored in the storage unit.

[0038] The present application has the beneficial effect that it provides a project cluster optimization method, apparatus and system, which can effectively avoid falling into a local optimal solution in the selection process of projects, and has stronger exploration ability for the solution space, can more evenly and diversely search the solution space, has better convergence, and expands the problem model from single-objective optimization to multi-objective optimization, while reducing the solution space and improving the calculation efficiency, and also ensures the feasibility of the optimization result. BRIEF DESCRIPTION OF DRAWINGS

[0039] Figure 1 FIG. 1 is a basic process schematic diagram of a project cluster optimization method according to an embodiment of the present application.

[0040] Figure 2 FIG. 2 is a solution space division schematic diagram of a project cluster optimization method according to an embodiment of the present application.

[0041] Figure 3 FIG. 3 is a biased random key genetic algorithm framework schematic diagram of a project cluster optimization method according to an embodiment of the present application.

[0042] Figure 4 FIG. 4 is a decoding flow schematic diagram of a project cluster optimization method according to an embodiment of the present application.

[0043] Figure 5 FIG. 5 is a crossover strategy flow schematic diagram of a project cluster optimization method according to an embodiment of the present application.

[0044] Figure 6 FIG. 6 is a new generation population generation schematic diagram of a project cluster optimization method according to an embodiment of the present application.

[0045] Figure 7 FIG. 7 is a parameter change influence on solution deviation value and solving time schematic diagram of a project cluster optimization method according to an embodiment of the present application.

[0046] Figure 8 FIG. 8 is a deviation distribution schematic diagram of each instance calculation result and optimal solution of a project cluster optimization method according to an embodiment of the present application.

[0047] Figure 9 FIG. 9 is an iteration curve comparison schematic diagram of an algorithm of a project cluster optimization method according to an embodiment of the present application.

[0048] Figure 10A comparison diagram of time consumption of an optimal solution of a project cluster optimization method algorithm of an embodiment of the present application.

[0049] Figure 11 A comparison diagram of two project cluster optimization processes of a project cluster optimization method of an embodiment of the present application.

[0050] Figure 12 A congestion diagram of a project cluster optimization method of an embodiment of the present application.

[0051] Figure 13 A reference point diagram of a project cluster optimization method of an embodiment of the present application in two cases.

[0052] Figure 14 A diagram of the relationship between a deviation value and a solution of a project cluster optimization method of an embodiment of the present application.

[0053] Figure 15 A diagram of the influence of a shared radius σ value on NSGA algorithm solution of a project cluster optimization method of an embodiment of the present application.

[0054] Figure 16 A diagram of the influence of a target segmentation number λ on NSGA-III algorithm solution of a project cluster optimization method of an embodiment of the present application.

[0055] Figure 17 A comparison diagram of time consumption of three algorithms of a project cluster optimization method of an embodiment of the present application. DETAILED DESCRIPTION

[0056] In order to make the objects, technical solutions and advantages of the present disclosure clearer, the present disclosure will be further described in detail below with reference to specific embodiments and drawings.

[0057] It should be noted that, unless otherwise defined, technical terms or scientific terms used in one or more embodiments of the present application should be understood as their common meanings to those skilled in the art to which the present disclosure belongs. The terms "first", "second", and similar terms used in one or more embodiments of the present application do not represent any order, number, or importance, but are only used to distinguish different components. The terms "include" or "contain" and similar terms mean that the elements or objects before the terms encompass the elements or objects listed after the terms and their equivalents, without excluding other elements or objects. The terms "connect" or "connected" and similar terms are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. The terms "up", "down", "left", "right", and the like are only used to represent relative positional relationships, and when the absolute positions of the described objects change, the relative positional relationships can also change accordingly.

[0058] Reference Figure 1 and Figure 2 , one project cluster optimization method of one or more embodiments in this application is mainly based on the analysis of single objective optimization and multi-objective optimization, and as an example, single objective optimization is illustrated by value-cost project cluster optimization, and multi-objective optimization is illustrated by heterogeneous network structure project cluster optimization.

[0059] The value-cost-based project cluster optimization problem is to support the development of a part of the project cluster in a certain time period with limited budget and resources, so as to maximize the improvement of the capabilities of the troops. The project has a series of personalized indicators, and it is difficult to accurately quantify the utility of the project to the improvement of the capabilities of the troops. The value-cost-based project cluster optimization problem is defined as follows: given a project cluster of size N, a planning period T, M resources, and the upper limit of the number of each resource r1, r2... rM. Select a subset of projects from the given project cluster, and then decide the development time t in to maximize the value.

[0060] The process of project cluster optimization problem is shown in Figure 1 The value-cost-based project cluster optimization problem is modeled as a single-objective optimization problem with constraints in this paper. Its model can be expressed as:

[0061]

[0062] where X=[x1, x2,..., x n ] T is the decision variable, f is the objective function, g i is the constraint condition, and the decision variable, the objective function and the constraint condition constitute the three elements of the optimization problem. In actual problems, the constraint condition often appears in the form of inequality, and the objective function will also have the case of maximizing, which can be converted into the form of equation 4.1 by adding auxiliary variables and converting the objective function into the minimum value of negative value.

[0063] When the decision variable X=[x1, x2,..., x n ] T is an n-dimensional vector, the n-dimensional Euclidean space R n is called the solution space, and any point on R n represents a possible solution. The feasible region on R n is defined as follows:

[0064] D={X|X∈R n ,g i(X) = 0, i = 1, 2,..., p

[0065] The feasible region is the set of points in the solution space that satisfy the constraints. Points in the feasible region D are called feasible solutions.

[0066] Figure 2 The division of the solution space and the meaning of each part in the optimization problem are shown. The solution space R n represents all solutions, which determines the size and complexity of the problem. The feasible region D represents the set of feasible solutions that satisfy the constraints among all solutions. The size of D is determined by the nature and characteristics of the problem itself. The satisfactory solution is a solution in the feasible solution that can meet the optimization requirements of the decision maker, which constitutes the satisfactory solution set S. The optimal solution X * is the solution that makes the objective function f take the minimum value on the entire feasible region.

[0067] In the traditional solution of optimization problems, people pay more attention to the solution of the optimal solution X * , and on this basis, optimization models such as linear programming, integer programming, and convex programming have been extensively studied and developed. However, as the size of the problem increases, R n continuously increases, and the complexity of solving X * increases dramatically. In most cases, the decision maker does not need to pursue the absolute optimal solution, but only needs to find a satisfactory solution.

[0068] As shown in Figure 3 , the framework of the biased random key genetic algorithm (BRKGA) is divided into three parts. BRKGA is divided into two parts: problem-independent and problem-dependent, with obvious differences and connections between the two parts. The specific process includes:

[0069] A31, generate an initial population representing a project cluster. Given the population size n, randomly generate n individuals, and the set composed of the individuals is defined as the population P (0) ; wherein the individual is represented as a random key vector in [0, 1] N , that is, represented by N random keys, N is the size of the project cluster; when generating the initial population, each random key of each individual is subject to uniform distribution in the interval [0, 1];

[0070] A32, decoding, which decodes all individuals of the population into solutions of the problem and calculates the corresponding fitness values. The random key vector of an individual is sorted in ascending order, and the items are prioritized to obtain a priority sequence of the items. For example, the individual [0.453, 0.224, 0.398, 0.243] corresponds to the priority sequence [2, 4, 3, 1], which means that the second item will be considered first, followed by item four, item three, and item one. The priority vector represents the priority order of the items, and the items with higher priority will be arranged first, but the items that cannot be arranged due to the constraints will be postponed. After all the arrangements are completed, the fitness value is calculated according to the objective function. The specific decoding process is shown in Figure 4 .

[0071] A33, determining whether the iteration is finished; if the result is yes, go to step A34, otherwise end the process; the conditions for determining whether the iteration is finished in step A33 include that the number of iterations reaches a specified number of generations, or the fitness value of the best individual in the current population reaches a specified value, or after a specified number of iterations, the fitness value of the best individual in the population does not change.

[0072] A34, elite population division, sorting the population according to the fitness value, and dividing the population P (0) into an elite population and a non-elite population according to a specified proportion, and satisfying

[0073] A35, generating the next generation population P (k) from the current k-th generation population P (k+1) ; then go to step A32 to determine the selection of the project based on the fitness value of the objective function obtained in step A32.

[0074] A351, copying the elite population to the next generation population P (k+1) in its entirety, i.e.

[0075] A352, randomly selecting π e individuals from the elite population and π t individuals from the non-elite population to form a parent set, each individual in the parent set has a probability of passing a random key to the next generation, and this probability also depends on the fitness value of the parent individual. Repeat this process several times to obtain a crossover population P c (k+1) . The specific crossover strategy is shown in Figure 5 , where the monotonic non-decreasing function Ψ: N→ R +The fitness ranking of an individual q in Q is mapped to a weight. Common forms of Ψ include the following:

[0076] (1) Logarithmic form: Ψ(r) = 1 / log(r+1)

[0077] (2) Linear form: Ψ(r)=1 / r

[0078] (3) Exponential form: Ψ(r) = e -r

[0079] (4) Constant form: Ψ(r)=1 / (π) e +π t )

[0080] After calculating the weights, the roulette wheel method is used to pass the paternal genes in Q to the offspring individuals.

[0081] The crossover strategy used in this step favors the elite population. In traditional genetic algorithms, the two parent individuals for crossover to produce offspring are selected from the entire population, while BRKGA uses the control parameter π. e and π t They were selected from both elite and non-elite groups. The scale is much smaller The BRKGA crossover strategy allows the elite population to play a larger role in offspring generation, thus better preserving excellent solutions during iteration.

[0082] A353, Generating Mutant Populations P (k+1) Complete, so that P (k+1) The scale and P (k) Remain unchanged; The generation method is the same as the initial population generation method in step A31, except for the scale. Figure 6 As shown.

[0083] A354, Jump to step A32.

[0084] For example, a reasonable parameter range is first set, and samples are taken within this range and used for calculations in each instance. This process is repeated 30 times to determine the optimal parameter combination for subsequent control experiments. BRKGA, on the other hand, uses multiple parameter combinations for comparative experiments. Specifically, for the five control parameters involved in BRKGA—population size, elite population proportion, mutation rate, number of elite parents, and number of non-elite parents—specific values ​​are assigned to population size, mutation rate, and number of non-elite parents. The elite population proportion and number of elite parents are sampled at multiple points within the range and subjected to further experimental calculations. The specific parameter settings are shown in the table below:

[0085]

[0086] To measure the performance of the solution of the algorithm, the deviation index is defined as follows:

[0087]

[0088] The deviation index e defines the quality of a solution, where f(X) represents the value obtained by substituting the solution X into the objective function, and f(X*) represents the objective function value of the optimal solution among all solutions obtained during the entire calculation process for an instance. The value of e ranges from 0 to 100, and when e = 0, it means that the solution is the best among all solutions obtained, and the quality of the solution decreases as the value of e increases. Obviously, e = 0 does not mean that the solution is the optimal solution in the entire solution space, because for an instance with N = 500, the size of the solution space exceeds 2 500 It is very difficult to find the optimal solution in the entire solution space. However, the deviation index e can meet the needs when comparing the relative advantages and disadvantages of several algorithms.

[0089] Experimental results: The experiment was run on an 8-core, 3.20 GHz AMD Ryzen 7 5800H with Radeon Graphics, NVIDIA GeForce RTX 3050 Laptop GPU, 16 GB RAM, and windows 10 experimental environment. For each instance, each algorithm was run 100 times.

[0090] Figure 8 represents the influence of different values of parameters r e and π e on the deviation value and time consumption of the algorithm solution. In each scatter plot, the x-axis represents the time consumption, and the y-axis represents the deviation value of the solution.

[0091] The three scatter plots in the same row have the same value of π e and different values of r e . It can be found that the change of r e does not have a significant impact on the deviation value of the solution, but it improves the stability of the solution. The scatter plot on the right side has smaller fluctuations in the y-axis direction compared to the left side, but the fluctuations in the x-axis direction are larger, causing instability in time consumption.

[0092] The five scatter plots in the same column have the same value of r e and different values of π e . Overall, the lower scatter plots have a rightward shift trend in the x-axis direction compared to the upper scatter plots, and the scatter points are more concentrated and lower in the y-axis direction. This indicates that as π eThe quality of the solution is improved and the stability is higher, but the time cost is increased. e The meaning of π is the number of elite parents in the crossover process, and the corresponding number of non-elite parents is π t = 2, π e = 1, the crossover process is biased to the non-elite population, and with the increase of π e , the crossover process is gradually biased to the elite population, and the excellent individuals are better preserved, which improves the quality of the solution. But the time cost of the crossover process will increase linearly with the increase of π e , so the time consumption will be increased. But the trade-off between the improvement of the solution quality and the increase of the time consumption can be seen from Table 1 that the quality of the solution is improved obviously, both the bias value and the dispersion degree of the solution are reduced, and the increase of the time consumption is not obvious, which is within the acceptable range, so a larger π e value can be selected. Figure 7

[0093] In summary, in the next experiment, π e = 5, r e = 0.2 are taken for calculation.

[0094] In each instance, BRKGA calculates the optimal solution, and the mean and variance are significantly lower than GA and PSO, which is sufficient to show that BRKGA has more advantages than the classical meta-heuristic algorithm on this problem. On Instance1, BRKGA converges to the same solution in each operation, which to some extent proves that BRKGA has stability on the value-cost-based project portfolio optimization problem on the data set with a not very large scale. And with the expansion of the data set scale, the quality of the BRKGA solution does not change significantly, and the mean and standard deviation remain at a low level, but the gap between GA, PSO and BRKGA is gradually enlarged. By comparing the performance of GA and PSO, it can be found that except for Instance2, the quality of the GA solution is slightly higher than that of PSO, but the stability of the PSO solution is higher than that of GA.

[0095] Figure 8 ​is the specific deviation distribution of the calculation results, corresponding to the data in Table 2. The y-axis represents the deviation value, and the x-axis is the instance. Three violin plots correspond to a group, respectively corresponding to GA, PSO, BRKGA, and one group corresponds to the calculation of an instance. As can be seen from the figure, on each instance, the positions of GA and PSO are obviously above BRKGA, and GA and PSO are roughly at the same height, with PSO being slightly higher. It shows that there is no significant difference between GA and PSO in the quality of the solution, and GA is slightly stronger than PSO, and BRKGA is significantly stronger than the former two. The violin plot of GA is relatively long and symmetrical around the median, while the violin plots of PSO and BRKGA are relatively thick and the distribution is relatively concentrated below the median. However, according to the overall shape of the violin plot, the results obtained by the three methods conform to the normal distribution.

[0096] Figure 9 represents the iteration process of the three algorithms when calculating instance 5. The x-axis represents the number of iterations, and the y-axis represents the deviation value of the solution. The broken line in the figure represents the mean value of 100 calculations, and the shaded part represents the standard deviation. Figure 10 represents the actual running time of the algorithm (interval 5 minutes for statistics), x-axis is time, unit is minute, y-axis is cumulative frequency, which represents the frequency of consuming time less than the specified time when the algorithm is completed.

[0097] From Figure 10 It can be seen that PSO has the fastest convergence speed, BRKGA is second, and GA is the slowest. However, BRKGA actually consumes the most time. The main reason why PSO and GA converge quickly but have low solution quality is that there are many constraints in the problem, and a large number of generated solutions do not meet the constraint conditions in the iteration process of the two algorithms, which does not get effective search optimization. BRKGA can guarantee that all generated solutions meet the constraint conditions due to the design of the algorithm decoding method, effectively reducing meaningless search. However, the iteration process of BRKGA itself is relatively complex, so it actually consumes more time.

[0098] In the iteration process of PSO, the only global information used between particles in the population is the information of the current optimal solution, which is a strategy biased towards the current optimal solution, so the convergence speed is fast but it is easy to fall into local optimal solution. GA and BRKGA use the information of all individuals in the entire population in the iteration process, so they are not easy to fall into local optimal solution. Figure 8 In the process, BRKGA has the phenomenon of keeping stable for a period of time before being optimized again, which is because the mutation mechanism exists, which expands the search ability of BRKGA to the solution space.

[0099] Project cluster optimization based on heterogeneous network structure: Figure 11 is the comparison between the traditional project cluster optimization method and the project cluster optimization method based on heterogeneous network structure.Figure 11 It can be seen that the traditional method is to analyze and calculate a single project to obtain a combination scheme. The combination optimization result obtained by such a method has only one layer of structure and cannot be further subdivided, lacking the support of architecture and weakening the collaborative relationship between projects. Based on the above problems, a heterogeneous network structure of project cluster is proposed, which divides the project cluster into multiple project subgroups. The subgroups have close internal relations and collaborative promotion relations, while the subgroups have mutual exclusion relations or no constraint relations.

[0100] Specifically, the project cluster is abstracted as a heterogeneous network, and then the meta-path structure in the project network is established. On this basis, the network is divided into a three-level structure of project cluster-project subgroup-project. Group index and individual index are established for the last two layers of structure. Finally, the optimization objective and constraint condition of the optimization model are established.

[0101] Figure 14 The figure represents the framework of the BRK-NSGA algorithm, which combines the advantages of BRKGA for combination optimization problems and the advantages of NSGA for multi-objective optimization problems. The figure includes the process contained in the simple genetic algorithm, the improved part of the BRKGA algorithm, and the improved part of the NSGA algorithm. As can be seen from the figure, the improvement of the BRKGA algorithm is mainly in the decoding and crossover aspects, while the improvement of the NSGA algorithm is in the selection and sorting aspects. There is no conflict between the two, so they can be effectively combined.

[0102] The specific process is as follows:

[0103] B1, generate an initial population, divide the project cluster into N C project subgroups, randomly generate n individuals, and give the population size N, where each individual is a vector on, i.e. a vector composed of N+N C random keys, each of which is uniformly distributed on the interval [0, 1];

[0104] B2, decoding, decode all individuals in the population into solutions of the problem through the decoder, calculate the fitness value of the corresponding solution, and determine the vector composed of multiple objective function values;

[0105] B3, judge whether the iteration is ended, if the result is no, then enter step A3, otherwise end the process and return the current population of non-inferior solutions. The conditions for judging whether the iteration is ended include that the iteration number reaches the specified number of generations, or there is an individual in the current population whose objective function value reaches the satisfactory value, or after a specified number of iterations, the non-inferior solution set does not change.

[0106] B4, non-dominated level sorting; non-dominated level sorting is performed on each individual;

[0107] For NSGA algorithm, the dominance rank of each individual is determined by pairwise comparison between solutions, which is used to judge the quality of solutions. When the size of population P is N and there are M objective functions, the comparison cost between two individuals is O(M), and in the worst case, each individual is compared with all other individuals, and each individual is traversed in each iteration, and the complexity is O(MN 3 ) which is a large cost;

[0108] For NSGA-II and NSGA-III algorithm, first, for each individual e in the population, the number of individuals dominated by e n e is calculated, and the set S e composed of individuals dominated by e is also calculated. This step needs to compare times, and the cost of each comparison is O(M), so the complexity of this step is O(MN 2 ). Next, all individuals of the first level, i.e. individuals with n e = 0, are taken out, and then the n e value of all individuals in S e is reduced by 1 (if an individual is in the S e of multiple other individuals, its n e value will be reduced multiple times), and then the individuals whose n e value is reduced to 0 are taken as the individuals of the next level, and this process is repeated until the rank of all individuals is divided.

[0109] In the process of iterative loop, an individual is accessed at most N-1 times, and it will not be accessed again after its rank is divided. Therefore, the time complexity of the iteration process is O(N 2 ), and the time complexity of the whole process is O(MN 2 ). Although the time complexity is reduced from O(MN 3 ) to O(MN 2 ) compared with the NSGA method, the space complexity is increased to O(N 2 ).

[0110] B5, multi-parent elite bias crossover, the difference lies in the division of the elite population. The individual has no fitness value, but a non-dominance rank. After the specified proportion r e of the elite population is specified, the individual is added to the elite population in order from high to low according to its non-dominance rank; if the number of elite population exceeds the specified proportion after all individuals of the current level are added to the elite population, the individual is randomly selected from the individuals of the current level, and the number of elite population is supplemented.

[0111] B6, variation, generate new individuals in the same way as step B1; in NSGA, the selection step is placed after the variation step, so the number of individuals generated by variation is not to complement the population, but to determine according to the specified variation rate.

[0112] B7, solution diversity protection, for NSGA algorithm, prefer to select individuals with smaller sharing value in the same level; for NSGA-II algorithm, use crowding degree to replace the sharing degree in NSGA algorithm, prefer to select individuals with smaller crowding degree; for NSGA-III algorithm, divide each optimization objective into several parts in the hyperplane, obtain several reference points with uniform distribution, and prefer to select individuals closer to the reference points; in multi-objective optimization problem, the diversity of solutions is an important evaluation standard, the purpose of this step is to prevent the optimization direction of the algorithm to only optimize some objectives, and ignore other objectives.

[0113] B8, generate the next generation population, prefer to select the projects corresponding to the solutions with higher non-dominated level, and for the projects corresponding to the solutions with the same non-dominated level, select the projects corresponding to the solutions with better diversity; that is:

[0114] After selection, return to step A1.

[0115] The diversity protection mechanism of NSGA algorithm needs to set the value of parameter σ manually, and the time complexity is also high. NSGA-II algorithm uses the method of crowding degree to replace the sharing function, which does not need to set the value of parameter manually, and the time complexity is also reduced.

[0116] The calculation method of crowding degree is as follows:

[0117] In the formula, τ i represents the crowding degree of individual i, respectively represent the objective function value of the previous individual of i, the objective function value of the next individual of i, the maximum value and the minimum value of the mth objective function according to the sorting of the mth objective function value. The crowding degree can be intuitively understood as the perimeter of the hypercube containing individual i but not containing any other individual of the same level as i in the solution space, as shown in Figure 12 , where the perimeter of the dashed rectangle is the crowding degree of the individual. The crowding degree is different from the sharing degree, which is a larger indicator, and does not need to set additional parameters. The calculation of crowding degree involves sorting M times N individuals, so the time complexity is, which is better than the calculation method of NSGA sharing degree.

[0118] The crowdedness mechanism in NSGA-II algorithm cannot guarantee the diversity of solutions, so the NSGA-III algorithm proposes a mechanism based on reference points. For M-dimensional multi-objective optimization problems, there is an M-1-dimensional hyperplane in the solution space, which is the same as the inclination of the M optimization objectives. By dividing each optimization objective into λ parts, we can get uniformly distributed reference points.

[0119] Figure 13 The generation of reference points is shown in the generation of 4, 10 reference points under the conditions of M=2, λ=3 and M=3, λ=3. On one objective, the reference points are divided into λ segments by dividing [0, θ] uniformly, and the value of θ is determined by the maximum value of the objective in the current population. When selecting, according to the projection of the individual on the hyperplane, we can find a reference point closest to the projection point, and the fewer the number of times the reference point is selected, the higher the priority of the individual.

[0120] Example analysis: comparative experimental analysis of NSGA, NSGA-II and NSGA-III algorithms, discussion of reasonable parameter values in NSGA and NSGA-III algorithms, and verification of the applicability, effectiveness and correctness of the three algorithms to the problem.

[0121] The size of the example data is shown in the following table:

[0122] Example Project cluster size Planning period Optimization target number Metapath structure Instance 1 300 30 4 17 Instance 2 400 30 4 29 Instance 3 500 30 2 19 Instance 4 500 30 3 35 Instance 5 500 30 4 41

[0123] The size of the example is set by the control variable method. The number of resource categories of Instance1, Instance2, Instance5 is the same, that is, the optimization objective dimension is the same, and the cluster size increases successively. Through the comparison and analysis of the three instances, the influence of the objective dimension is discussed. The problem size of Instance3, Instance4, Instance5 is the same, and the optimization objective dimension increases successively, which can be used to analyze the influence of the optimization objective dimension.

[0124] Result analysis: according to the experimental results, the specific experimental parameter settings are as follows:

[0125]

[0126]

[0127] NSGA-II algorithm does not require additional parameter settings, NSGA and NSGA-III have special parameters σ and λ, and these two parameters have an important influence on the solution diversity protection mechanism, so only the range of these two parameters is set, and the specific value needs to be determined by further experiments.

[0128] The evaluation index is set as: The deviation value calculation method is as follows: Wherein, f(X * ) is the minimum value obtained by calculating multiple times for one instance. Figure 14 The relationship between the deviation value e and the cost type objective function value is shown in the figure. The horizontal axis represents the deviation value, and the vertical axis represents the value of the cost type, corresponding to the left vertical axis, and the blue line represents the value type, corresponding to the right coordinate axis. As can be seen from the figure, the optimization target of the value type is linearly related to the deviation value and the objective function value of the solution, while the cost type is nonlinear. The greater the deviation value, the more obvious the change in solution quality reflected by the growth of the deviation value.

[0129] Experimental results: The experiment was run in an experimental environment of 8-core, 3.20GHz AMD Ryzen 7 5800H with Radeon Graphics, NVIDIA GeForce RTX 3050 Laptop GPU, 16GB RAM, windows 10. For each instance, each algorithm was run 100 times.

[0130] Figure 15 is the influence of different σ values on the solution structure when using the NSGA algorithm to calculate instance Instance3. The points in the figure are 100 calculations of each parameter value. All non-inferior solutions obtained by 100 calculations are put together and compared again to obtain the real non-inferior solution set of the parameter at this value. As can be seen from the figure, when σ = 0.02, i.e. the algorithm requires the highest diversity of solutions, the distribution of solutions is relatively uniform, but there are two obvious gaps, and the quality of the solutions is the worst among the three values; when σ = 0.06, i.e. the algorithm requires a lower diversity of solutions, the quality of the solutions is the highest, but the distribution of the solutions is relatively concentrated in the position of optimizing the objective function f1, ignoring the optimization of f2, i.e. concentrated on the left side of the figure. When σ = 0.04, the distribution of the solutions is relatively uniform, and the quality of the solutions is significantly better than that of σ = 0.02, and the difference compared with σ = 0.06 is not obvious, so it can be considered that σ = 0.04 is the optimal value of σ. The meaning of σ is to control the dispersion of solutions at the same level. The smaller the value, the more strict the control, i.e. the greater the distance between solutions. However, too small σ value will cause the loss of high-quality solutions, thereby reducing the quality of the entire solution set; too large σ value will make the distribution of solutions not uniform enough, and easily concentrate on optimizing a certain optimization target, ignoring other targets. In summary, σ = 0.04 is taken for calculation in the subsequent experimental calculation.

[0131] Figure 16is the influence of different λ values on the solution results when the NSGA-III algorithm is used to calculate the instance 3. As in the experiment for verifying the σ value, each λ value is repeated 100 times, and all the calculation results are put together to compare the non-inferior solution set corresponding to each parameter value again. The experiment verifies the λ values of 3, 4, 5, and 6.

[0132] The meaning of λ is the number of segments that the objective function is divided into from the best to the worst on average when the reference point is taken. Therefore, contrary to σ, the smaller the λ value, the more stringent the requirement for the diversity of solutions, and the larger the value, the more relaxed the requirement. From the perspective of the algorithm, the smaller the λ value, the more difficult the algorithm is to search for solutions, and the larger the value, the easier the algorithm is to search for solutions. Figure 16 It can be seen that when the λ value is 3 and 4, the distribution of solutions is relatively concentrated, and there are gaps. When λ = 3, the non-inferior solutions are divided into three small regions, indicating that when the λ value is too small, the search ability of the NSGA-III algorithm for the solution space is lacking. When λ = 6, the distribution of the non-inferior solution set is relatively uniform, and there is no gap. The interval distance between solutions is large, and there is good solution diversity, but the quality of the solution is not very high. When λ = 5, the most non-inferior solutions are obtained, the distribution of the solutions in the solution space is relatively uniform, and the quality of the solutions is the highest, which is the largest part of the Pareto frontier. Considering the above, λ = 5 is taken for calculation in the subsequent experiments.

[0133] When the same algorithm is used to repeatedly calculate the same instance, not every solution obtained by calculation is an effective non-inferior solution. The non-inferior solution obtained in one calculation may have a dominance relationship with the solution obtained in another calculation. Therefore, the truly effective non-inferior solution in multiple repeated calculations only accounts for a part of all the solutions obtained, and the proportion of effective solutions represents the stability of the algorithm. In addition, the quality of the solution also differs when the same instance is calculated using different algorithms. Therefore, a solution may be a non-inferior solution for an algorithm, but not a non-inferior solution for the entire calculation process of the instance. For example, Figure 15 and 16 The quality of the solution differs, and the higher the proportion, the higher the quality of the solution.

[0134] The following table shows the performance of the three algorithms on five instances. It can be observed that in Instance1, Instance2 and Instance5, when the target dimension is the same, with the expansion of the problem size, the stability of the three algorithms does not change significantly, only with a slight downward trend, the effective solution ratio of NSGA decreases from 13.9% to 7.5%, NSGA-Ⅱ decreases from 18.3% to 12.1%, and NSGA-Ⅲ decreases from 13.3% to 11.5%, the decline is not large, which shows that the expansion of the problem size has little effect on the stability of the algorithm; from the proportion of Pareto frontier, in the three instances, NSGA-Ⅲ is the highest and maintains at a high level, NSGA-Ⅱ is the second, and NSGA is the lowest, and with the increase of the problem size, the proportion of NSGA decreases significantly from 52.1% to 26.4%, the proportion of NSGA-Ⅲ increases from 85.7% to 92.5%, and the proportion of NSGA-Ⅱ does not change significantly, which shows that when the target dimension is 4, NSGA-Ⅲ algorithm has obvious advantages, and with the expansion of the problem size, the performance advantage of NSGA-Ⅲ algorithm is also increasing, while NSGA cannot adapt to high-dimensional and large-scale problem solving.

[0135]

[0136] Observing Instance3, Instance4 and Instance5, it can be found that when the problem size remains N=500, the target dimension is 2, the proportion of Pareto frontier of NSGA-Ⅱ algorithm is 91.5%, slightly higher than that of NSGA-Ⅲ algorithm which is 85.3%, but when the target dimension increases to 3, the proportion of Pareto frontier of NSGA-Ⅱ algorithm decreases rapidly to 74.3%, while the proportion of NSGA-Ⅲ algorithm increases to 93.8, which is greater than that of NSGA-Ⅱ algorithm, and when the target dimension is 4, the difference is further enlarged. At the same time, the proportion of Pareto frontier of NSGA algorithm is always less than that of the other two. This shows that NSGA-Ⅲ algorithm has better solving performance when the target dimension is high. The reason for this is the difference in the diversity protection mechanism of the three algorithms. The crowding distance measurement method of NSGA-Ⅱ algorithm is not effective in high-dimensional solution space. The diversity of solutions represents the search ability of the solution space. If the search ability of the solution space is weak, the distribution of solutions will appear discontinuous, resulting in a decrease in the number of non-inferior solutions and low quality.

[0137] In summary, NSGA-Ⅱ algorithm and NSGA-Ⅲ algorithm can solve large-scale problems, but compared with NSGA-Ⅲ algorithm, NSGA-Ⅱ algorithm cannot better cope with high target dimension.

[0138] Another difference between the three algorithms is the non-dominated ranking method. NSGA-II and NSGA-III use a fast ranking method compared with NSGA, which reduces the time complexity from O(MN 3 ) to O(MN 2 ). Figure 17 is the time consumption comparison of the three algorithms. It can be seen that the time consumption of NSGA is significantly higher than that of NSGA-II and NSGA-III, and the average time consumption of NSGA-II and NSGA-III is not much different, but the time consumption of NSGA-II is more stable. This is because the complexity of the crowding degree calculation of NSGA-II is relatively stable, and only the distance between the adjacent two solutions needs to be calculated after sorting, while NSGA-III needs to calculate the projection of all solutions on the reference surface, and according to the relative distribution of all solutions about the reference point, the number of projection points calculated each time is different, thus causing a certain degree of unstable time consumption. In summary, in terms of calculation efficiency, NSGA-II and NSGA-III are faster, and NSGA-II is more stable, and the efficiency of NSGA is lower.

[0139] Through comparative analysis, the influence of parameter σ on NSGA and parameter λ on NSGA-III is discussed, and the value of the parameter is determined. Then, using the control variable method, the influence of problem size and optimization objective dimension on the performance and efficiency of the three algorithms is compared and analyzed. The conclusion is that the performance of NSGA is poor, NSGA-II and NSGA-III have higher solution accuracy and higher efficiency in large-scale problems, and at the same time, NSGA-III has better performance than NSGA-II in the scenario of multi-dimensional optimization objectives. Therefore, when dealing with large-scale and high-dimensional problems, the BRK-NSGA-III method is the best choice.

[0140] In another embodiment, a project cluster optimization system is provided, which adopts the project cluster optimization method of any one of the above claims.

[0141] In another embodiment, a project cluster optimization device is also provided, which includes a storage unit and a processing unit, the storage unit is used to store a computer program, and the processing unit is used to execute the steps of the project cluster optimization method of any one of the above claims through the computer program stored by the storage unit.

[0142] Although the preferred embodiments of the present application have been described, those skilled in the art can make further changes and modifications to these embodiments once they know the basic inventive concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.

[0143] Obviously, many modifications and variations of the present application are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.

Claims

1. A project cluster optimization method, characterized by: The project cluster is a collection of military mission projects of a specified size, including: A1. Model the project cluster optimization problem based on the project's value, cost, and constraints; the model is expressed as: Where X = [x1, x2, ..., x] n ] T Let f represent the decision variable, and g represent the objective function. i Indicates constraints. A2. The objective function for maximizing project value is defined as follows: Where, x j : A binary decision variable, where 1 is selected if item j is chosen, and 0 otherwise; v j ‘ N: Value of project j; N: Number of project clusters; A3. Then, the biased random key genetic algorithm is used to solve the optimization of a single project in the project cluster, and the NSGA, NSGA-II or NSGA-III algorithm is used to solve the optimization of multiple projects in the project cluster. Based on the solution results, the corresponding project or project combination that is most conducive to the development of the project cluster is selected. The steps involved in optimizing a cluster of projects include: B1. Generate an initial population, dividing the project cluster into N. C Given a subgroup of projects, n individuals are randomly generated, and the population size is N, where each individual is... A vector on, i.e., from N+N C A vector consisting of random keys, each random key following a uniform distribution on the interval [0, 1]; B2. Decoding: The decoder decodes all individuals in the population into solutions to the problem, calculates the fitness values ​​of the corresponding solutions, and determines a vector composed of multiple objective function values. B3. Determine if the iteration has ended. If the result is no, proceed to step A3; otherwise, end the process and return the non-dominated solution set of the current population. B4. Non-dominant rank ranking; performing non-dominant rank ranking on each individual; B5. Multiple paternal elite biases overlap, with the proportion r of a given elite group. e Then, individuals are added to the elite group in descending order of their non-dominance level. B6. Mutation: Generate new individuals following the steps in B1. B7. Solution diversity protection: For the NSGA algorithm, individuals of the same level are given priority to those with smaller sharing values; for the NSGA-II algorithm, crowding is used to replace the sharing in the NSGA algorithm, and individuals with smaller crowding are given priority; for the NSGA-III algorithm, each optimization objective is divided into several parts in the hyperplane to obtain several uniformly distributed reference points, and individuals closer to the reference points are given priority. B8. Generate the next generation population, prioritizing items corresponding to solutions with higher non-dominance levels. For items corresponding to solutions with the same non-dominance level, select items corresponding to solutions that improve solution diversity. After selection, return to step A1.

2. The project cluster optimization method as described in claim 1, characterized in that, The steps involved in optimizing a single project within a project cluster include: A31. Generate an initial population representing a cluster of projects. Given a population size of n, randomly generate n individuals, and define the set of these individuals as the population P. (0) Individuals are represented as [0,1]. N A random key vector on the project, that is, represented by N random keys, where N is the size of the project cluster; when generating the initial population, each random key of each individual follows a uniform distribution on the interval [0, 1]. A32. Decoding: The decoder decodes all individuals in the population into solutions to the problem and calculates the fitness value of the corresponding solutions. The random key vectors of the individuals are sorted in ascending order to prioritize the items and obtain the priority sequence of the items. The priority vector represents the priority order of the items. Items with higher rankings are given priority and are arranged first. Items that cannot be arranged due to constraints are postponed. After all items are arranged, the fitness value is calculated according to the objective function. A33. Determine if the iteration has ended; if the result is yes, proceed to step A34; otherwise, end the process. A34. Elite group division: Sort the population according to fitness value, and divide the population P according to a set ratio. (0) Divided into elite groups non-elite groups And satisfy A35. Through the current kth generation population P (k) Iteratively generate the next generation population P (k+1) Then proceed to step A32, where the selection of projects is determined based on the fitness value of the objective function obtained in step A32.

3. The project cluster optimization method as described in claim 2, characterized in that, The conditions for determining whether the iteration in step A33 has ended include the number of iterations reaching a specified number of generations, or the fitness value of the best individual in the current population reaching a specified value, or the fitness value of the best individual in the population not changing after a specified number of iterations.

4. The project cluster optimization method as described in claim 3, characterized in that, Step A35 includes: A351, the elite group Completely replicated to the next generation population P (k+1) ,Right now A352, From the Elite Group Randomly select π e Individuals, non-elite groups Select π t Individuals form a parent set. Each individual in the parent set has a probability of passing on a random key to the next generation, and this probability also depends on the fitness value of the parent individual. This process is repeated several times to obtain the crossover subpopulation P. c (k+1) ; A353, Generating Mutant Populations P (k+1) Complete, so that P (k+1) The scale and P (k) Remain unchanged; A354. Jump to step A32.

5. The project cluster optimization method as described in claim 1, characterized in that, In step B3, the conditions for determining whether the iteration has ended include: the number of iterations reaches a specified number of generations, or there are individuals in the current population whose objective function values ​​have reached satisfactory values, or the non-dominated solution set has not changed after a specified number of iterations.

6. The project cluster optimization method as described in claim 1, characterized in that, In step B4, for the NSGA algorithm, the dominance level of each individual is determined by pairwise comparisons between solutions, serving as the basis for judging the quality of the solution; for the NSGA-II and NSGA-III algorithms, for each individual e in the population, the number n of individuals dominating e is calculated. e and the set S consisting of individuals dominated by e. e Then, all the first-level individuals, i.e., n e Individuals with a value of 0 are removed, and then S is processed. e n of all individuals e Subtract 1 from the value, then set n e Individuals whose values ​​are reduced to 0 are designated as the next level of individuals. This process is repeated until all individual levels have been assigned.

7. The project cluster optimization method as described in claim 1, characterized in that, In step B5, if the number of individuals in the elite group exceeds a specified proportion after adding all individuals of the current level to the elite group, then individuals are randomly selected from the individuals of the current level to make up the number of individuals in the elite group.

8. A project cluster optimization system, characterized by: It employs the project cluster optimization method described in any one of claims 1-7.

9. A project cluster optimization device, characterized in that, It includes a storage unit and a processing unit, wherein the storage unit is used to store a computer program, and the processing unit is used to execute the steps of the project cluster optimization method according to any one of claims 1-7 through the computer program stored in the storage unit.