Edge server site selection optimization method, device, equipment, medium and product

By constructing a multi-objective optimization model and evolutionary algorithm to optimize edge server location, and combining a dual-population co-evolutionary framework and a niche offspring generation mechanism, the problems of load balancing and coverage integrity in edge server location are solved, achieving more reasonable resource allocation and higher location accuracy.

CN121815279APending Publication Date: 2026-04-07XINYANG BRANCH HENAN CO LTD OF CHINA MOBILE COMM CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511826134.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-05
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing edge server location methods fail to effectively consider load balancing, coverage integrity, and service quality, resulting in redundant coverage and repeated resource configuration, and frequent scheduling conflicts.

Method used

A multi-objective optimization model is constructed, introducing exclusivity and full coverage constraints. An evolutionary algorithm is used to optimize the location of edge servers. The location strategy of edge servers is optimized by combining a dual-population co-evolutionary framework and a niche offspring generation mechanism.

Benefits of technology

The edge server location strategy was optimized, reducing redundant resource configuration and scheduling conflicts, improving the rationality and effectiveness of location selection, and enhancing the adaptability and flexibility of the algorithm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121815279A_ABST
    Figure CN121815279A_ABST
Patent Text Reader

Abstract

The invention discloses an edge server site selection optimization method and device, equipment, a medium and a product, and the method comprises the steps: taking an exclusive constraint and a full-coverage constraint as constraint conditions based on the related data of an edge server and a base station, and taking the minimization of workload and access delay as an optimization target; constructing a multi-objective optimization model for edge server site selection; wherein the exclusive constraint indicates that each base station is controlled by only one edge server, and the full coverage constraint indicates that all the base stations are distributed with corresponding edge servers; and solving the multi-objective optimization model by adopting an evolutionary algorithm to obtain at least one optimal site selection area. The resource conflict is reduced, and the reasonability and effectiveness of the site selection strategy are guaranteed. According to the method, a double-population coevolution strategy and a niche offspring generation mechanism are further combined for optimization, the convergence and diversity of the algorithm during search can be balanced, and the accuracy of an optimization result is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technology, and in particular to an edge server location optimization method, apparatus, device, medium and product. Background Technology

[0002] With the widespread application of edge computing in IoT and mobile internet scenarios, the location of edge servers and base station allocation have become key issues affecting service latency, operation and maintenance costs, and resource utilization efficiency. For edge server location, existing methods rely on relatively basic mathematical models, typically only considering minimizing the distance to multiple preset locations. These models cannot intuitively characterize the actual optimization problem, neglecting collaborative constraints such as load balancing, coverage integrity, and quality of service. The allocation strategies are not clearly defined, easily leading to redundant coverage or contention among multiple edge nodes for the same base station, resulting in redundant configuration of computing and transmission resources, scheduling conflicts, and unnecessary control overhead. Summary of the Invention

[0003] To address the above technical issues, this application provides an edge server location optimization method, apparatus, device, medium, and product. It takes minimizing workload and access latency as the optimization objective and ensures rationality through exclusivity and full coverage constraints, thereby achieving multimodal and multi-objective optimization of edge servers.

[0004] This application provides a method for optimizing edge server location, including: Based on the relevant data between edge servers and base stations, a multi-objective optimization model for edge server location is constructed with exclusive constraints and full coverage constraints as constraints, and minimizing workload and access latency as optimization objectives. The exclusive constraint means that each base station is controlled by only one edge server, and the full coverage constraint means that all base stations are allocated a corresponding edge server. An evolutionary algorithm is used to solve the multi-objective optimization model to obtain at least one optimal location region.

[0005] As an improvement to the above scheme, the step of using an evolutionary algorithm to solve the multi-objective optimization model includes: Initialization: The main population and auxiliary population are randomly initialized. The solutions in the population represent the location strategy of the edge server. Producing offspring: The main population and the auxiliary population respectively produce corresponding offspring populations through microhabitat technology; Update the main population: merge the main population and the two offspring populations into a first joint population, and update the main population based on the first joint population using a convergence-first environment selection strategy; Update the auxiliary population: merge the auxiliary population with the two offspring populations into a second joint population, and update the auxiliary population based on the second joint population using a diversity-first environmental selection strategy; Iterative optimization: Repeat the steps of generating offspring, updating the main population, and updating the auxiliary population until a preset termination condition is met, then output the set of addressing strategies corresponding to the main population.

[0006] As an improvement to the above scheme, the step of generating offspring specifically includes: For each population, calculate the fitness value of the solutions in the population; Based on the fitness values, the population is divided into several non-overlapping niches; Each niche generates its own offspring solutions using a pre-defined differential evolution strategy based on its internal solutions; The offspring from all microhabitats are merged into a single offspring population.

[0007] As an improvement to the above scheme, dividing the population into several non-overlapping niches includes: The solution with the smallest fitness value in the population is taken as the central solution of the niche. Calculate the Euclidean distance from the central solution to the remaining solutions in the population. A set number of solutions are selected according to the Euclidean distance in ascending order, and together with the central solution, they are divided into a small habitat, and the small habitat is removed from the population. Determine if the number of solutions in the population is zero; if not, return to the step of taking the solution with the smallest fitness value in the population as the central solution of the niche; if yes, output several niches.

[0008] As an improvement to the above scheme, the calculation of the fitness value of the solution in the population includes: Perform Pareto dominance determination on any two solutions in the population to determine all the dominators of each solution, where each dominator represents the solution that dominates that solution; Calculate the total number of solutions controlled by all the dominants of each solution to obtain the convergence index of the solution; Based on a special crowding distance algorithm, the crowding distance of each solution in the decision space and the average crowding distance of each space are determined separately for the decision space and the target space. If the crowding distance of a solution in any space is greater than the average crowding distance of that space, then the larger of the two crowding distances corresponding to the solution is taken as the special crowding distance of the solution; otherwise, the smaller of the two crowding distances corresponding to the solution is taken as the special crowding distance of the solution. The special crowding distance is a diversity index of the solution. The fitness value of each solution is determined based on the convergence index and the diversity index.

[0009] As an improvement to the above scheme, the adoption of a diversity-first environmental selection strategy to update the auxiliary population includes: The solutions in the second joint population are sorted by Pareto non-dominated order, and the solutions with a non-dominated level of 1 are assigned to the first population, while the solutions with a non-dominated level other than 1 are assigned to the second population. If the number of solutions in the first population is equal to the preset target number, then the first population is output as the updated auxiliary population. If the number of solutions in the first population is greater than the target number, then calculate the special crowding distance of each solution in the first population, and select the solution of the target number as the updated auxiliary population in descending order of the special crowding distance; If the number of solutions in the first population is less than the target number, then based on the distance between each solution in the second population, the average distance between each solution and several nearest neighbor solutions is calculated. Based on the average distance between each solution and the distance between each solution, solutions are selected from the second population and incorporated into the first population until the number of solutions in the first population equals the target number.

[0010] This application also provides an edge server location optimization device, including: The model building module is used to construct a multi-objective optimization model for edge server location based on relevant data between edge servers and base stations, with exclusive constraints and full coverage constraints as constraints, and minimizing workload and access latency as optimization objectives. The exclusive constraint means that each base station is controlled by only one edge server, and the full coverage constraint means that all base stations are allocated a corresponding edge server. The multi-objective optimization module is used to solve the multi-objective optimization model using an evolutionary algorithm to obtain at least one optimal addressing region.

[0011] This application also provides a computer device including a processor and a memory, wherein the memory stores a computer program and the computer program is configured to be executed by the processor, wherein the processor executes the computer program to implement the edge server location optimization method described in any of the preceding claims.

[0012] This application also provides a computer-readable storage medium storing a computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the edge server location optimization method described above.

[0013] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the edge server location optimization method described in any of the above claims.

[0014] Compared with existing technologies, the beneficial effects of the edge server location optimization method, apparatus, device, medium, and product provided in this application are as follows: By constructing a multi-objective optimization model for edge server location with exclusive and full coverage constraints as constraints and minimizing workload and access latency as optimization objectives, and using an evolutionary algorithm to solve the model to obtain at least one optimal location region, it can simultaneously optimize multiple conflicting objectives, coordinate actual constraints such as full coverage and exclusiveness, reduce redundant resource configuration and scheduling conflicts, and ensure the rationality and effectiveness of the location strategy; by combining a dual-population co-evolutionary framework and a niche offspring generation mechanism for multi-objective optimization of the model, it can ensure diversity in the decision space and well balance convergence in the objective space, thereby searching for more global Pareto solutions, i.e., a set of location strategies, significantly improving the adaptability, flexibility, and accuracy of the algorithm. Attached Figure Description

[0015] Figure 1 This is a flowchart illustrating an edge server location optimization method provided in an embodiment of this application; Figure 2 This is a schematic diagram of the structure of an edge server location optimization device provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0016] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0017] Please see Figure 1 , Figure 1 This is a flowchart illustrating an edge server location optimization method provided in an embodiment of this application. The edge server location optimization method includes: S1: Based on the relevant data between edge servers and base stations, a multi-objective optimization model for edge server location is constructed with exclusive constraints and full coverage constraints as constraints, and minimizing workload and access latency as optimization objectives; wherein, the exclusive constraint means that each base station is controlled by only one edge server, and the full coverage constraint means that all base stations are allocated a corresponding edge server; S2: Use an evolutionary algorithm to solve the multi-objective optimization model to obtain at least one optimal location region.

[0018] This application constructs a multi-objective optimization model for the edge server location problem, comprehensively considering multiple optimization objectives and practical constraints related to exclusivity. Specifically, for the edge server location problem, the optimization objectives are minimizing workload and minimizing access latency. The location strategy is used as the decision variable, and constraints are introduced to ensure that each base station can only be exclusively occupied by one edge server, and that all base stations are controlled by one corresponding edge server. Furthermore, based on the two optimization objectives, a weighted method is used to transform the above problem into a multi-objective optimization problem with a Pareto optimal solution. Finally, by solving this multi-objective optimization problem, one or more feasible equivalent optimal location areas are obtained.

[0019] In step S1, a multi-objective optimization model for edge servers is first constructed based on relevant data between the edge servers and base stations, such as a list of deployable edge server locations, base station sets and locations, base station traffic requirements, edge server resource specifications, and network latency data. Specifically, the objectives of reducing access latency between users and servers, and alleviating the workload between servers, are described as a multi-objective optimization problem in edge server location selection. The expressions for the two optimization objectives are as follows:

[0020] Where r represents the edge server layout scheme, i.e., the location strategy, including the location area of ​​each edge server. R represents a set of layout schemes containing K edge servers; This indicates the workload between edge servers; This indicates the access latency between the user and the edge server; S Represents the set of candidate locations for edge servers; and Represents edge server and The workload; Indicates Euclidean distance; and These represent the locations of base station b and edge server s, respectively.

[0021] Meanwhile, to ensure the rationality and effectiveness of edge server deployment, two important constraints are introduced: exclusivity and full coverage. The exclusivity constraint means that each base station can only be exclusively used by one edge server; that is, no base station can be shared by multiple edge servers. This constraint ensures a clear mapping relationship between each base station and its corresponding edge server, which helps reduce communication conflicts and complexity. The full coverage constraint means that in the deployment scheme, each base station should be associated with one edge server to ensure the breadth and accessibility of network services.

[0022] The expression for the exclusivity constraint is as follows:

[0023] in, and Represents edge server and The set of base stations covered, this constraint ensures that each base station device is assigned to a unique edge server.

[0024] The expression for the full coverage constraint is as follows:

[0025] in, Represents a single edge server s The set of base stations covered; This means taking the set of base stations covered by each of the deployed edge servers. B represents the union of all base stations; B represents the complete set of all base stations.

[0026] Furthermore, each base station is paired with a unique edge server, as shown in the following expression:

[0027] in, Represents edge server s The total workload undertaken; b represents the set of base stations. A base station in the middle; Indicates base station b The workload requirements.

[0028] Furthermore, the above problem is transformed into a multi-objective optimization problem with a Pareto solution. A multi-objective optimization model for edge server location is constructed, as shown in the following formula:

[0029] in, and There are two objective functions.

[0030] Furthermore, in step S2, an evolutionary algorithm is used to optimize the constructed multi-objective optimization model to obtain feasible location strategies and the optimal location area for the edge server. Specifically, the optional evolutionary algorithms include, but are not limited to, MOGA (Traditional Multi-Objective Genetic Algorithm), NSGA (Non-Dominated Sorting Genetic Algorithm), MOPSO (Multi-Objective Particle Swarm Optimization), and MOACO (Multi-Objective Ant Colony Optimization).

[0031] Furthermore, by employing a Pareto-based evolutionary algorithm for multi-objective optimization, two conflicting optimization objectives can be considered simultaneously, ultimately outputting a set of Pareto optimal address schemes and obtaining multiple feasible optimal address regions, providing decision-makers with multiple robust addresses.

[0032] This application embodiment optimizes edge server location selection, which can reduce the distance and frequency of data transmission, improve the real-time performance of data processing, optimize data traffic and costs, enhance data privacy and security, improve the flexibility and scalability of data processing, and effectively improve user experience.

[0033] As one optional embodiment, the step of solving the multi-objective optimization model using an evolutionary algorithm includes: Initialization: The main population and auxiliary population are randomly initialized. The solutions in the population represent the location strategy of the edge server. Producing offspring: The main population and the auxiliary population respectively produce corresponding offspring populations through microhabitat technology; Update the main population: merge the main population and the two offspring populations into a first joint population, and update the main population based on the first joint population using a convergence-first environment selection strategy; Update the auxiliary population: merge the auxiliary population with the two offspring populations into a second joint population, and update the auxiliary population based on the second joint population using a diversity-first environmental selection strategy; Iterative optimization: Repeat the steps of generating offspring, updating the main population, and updating the auxiliary population until a preset termination condition is met, then output the set of addressing strategies corresponding to the main population.

[0034] This application proposes a multi-objective optimization evolutionary algorithm based on a dual-population co-evolutionary framework and a niche offspring generation mechanism. To maintain the diversity performance of the population during the search process and retain as many Pareto optimal regions as possible, the algorithm balances the convergence and diversity performance of the population in the decision space and the target space through a dual-population co-evolutionary strategy. The two populations use different search strategies and population update mechanisms. The main population uses a convergence-priority environment selection strategy to ensure it obtains a sufficiently high-quality Pareto optimal solution set at the end of its evolutionary process, while the auxiliary population uses a diversity-priority environment selection strategy, which expands the population's search range and further increases the probability of the population finding multiple optimal regions in the decision space. Furthermore, a niche mechanism is employed, using population partitioning and differential evolution to improve population diversity and balance, avoiding getting trapped in local optima, and thus obtaining more global Pareto solutions. By combining the dual-population co-evolutionary strategy and the niche offspring generation mechanism, this application embodiment can guarantee diversity in the decision space while effectively balancing convergence in the target space, thereby finding more global Pareto solutions.

[0035] Specifically, after constructing the multi-objective optimization model for edge server location, for the evolutionary algorithm, the decision variables in the decision space are first defined. and the target vector in its corresponding target space Where D represents the dimension of the decision variable, which in this algorithm's encoding is the number of edge servers, and m represents the number of optimization objectives. The algorithm population size N, i.e., the number of individuals in the population, is determined, and the maximum number of evaluations for the population is set. This generates a randomly initialized population, including a main population P1 and an auxiliary population P2, both of size N. The objective function values ​​of the main population P1 and the auxiliary population P2 are evaluated separately, with the number of evaluations for each population increased by 2N.

[0036] Then, optimization iterations are performed: Based on the niche offspring generation mechanism, the main population P1 and the auxiliary population P2 generate offspring populations O1 and O2 respectively, and the objective function values ​​of offspring populations O1 and O2 are evaluated respectively, increasing the number of population evaluations by 2N; the main population P1, the offspring population O1 generated by the main population P1, and the offspring population O2 generated by the auxiliary population P2 are merged into a first joint population U1, and based on this first joint population U1, the main population P1 is updated using a preference-convergent environment selection strategy; the offspring populations O1 generated by the auxiliary population P2 and the main population P1 are then combined. The offspring population O2 generated by the auxiliary population P2 is merged into a second joint population U2. Based on this second joint population U2, the auxiliary population P2 is updated using an environment selection strategy with preference diversity. The above offspring generation and population update operations are repeated for the updated main population P1 and auxiliary population P2, and the cycle is iterated until the set termination condition is reached, such as the number of population evaluations reaching the set maximum number of population evaluations or the number of iterations reaching the maximum number of iterations. The final set of decision variables in the main population P1 is output and then converted into the coordinates of the corresponding server location.

[0037] This application's embodiments establish two populations: one focused on exploring new possibilities (diversity search), and the other focused on optimizing known good solutions (convergent search). This allows the algorithm to flexibly adjust its strategy at different stages based on the current search requirements. Through continuous information exchange and mutual learning, this framework enables the two populations to complement each other's strengths, promoting more efficient global and local searches. This approach is particularly effective when dealing with multi-objective optimization problems because it allows the algorithm to make progress in multiple directions simultaneously, thereby finding solutions that satisfy all key metrics more efficiently.

[0038] As one optional embodiment, the step of generating offspring specifically includes: For each population, calculate the fitness value of the solutions in the population; Based on the fitness values, the population is divided into several non-overlapping niches; Each niche generates its own offspring solutions using a pre-defined differential evolution strategy based on its internal solutions; The offspring from all microhabitats are merged into a single offspring population.

[0039] In order to accurately measure and select the solution with the minimum comprehensive density in the decision space and the target space for population update, the algorithm divides the population into multiple non-overlapping niches by neighborhood radius before the population generates offspring. Each niche generates its own offspring and updates the solutions within its own niche.

[0040] Specifically, in the niche offspring generation mechanism of this application embodiment, the population to be generated, i.e., the main population P1 or the auxiliary population P2, is first input to determine the population size N; the fitness values ​​of the solutions (i.e., individuals) in the population are estimated to obtain the fitness value of each solution. Then, based on the fitness values ​​of each solution in the population, the population is divided into several non-overlapping niches.

[0041] In one embodiment, dividing the population into several non-overlapping niches specifically includes: based on fitness values, setting fitness threshold ranges, dividing solutions in the population that satisfy different threshold ranges into different niches, thereby obtaining several non-overlapping niches.

[0042] In another embodiment, dividing the population into several non-overlapping niches specifically includes: dividing a preset number of solutions into niches in order of increasing fitness values, and finally generating several non-overlapping niches.

[0043] Furthermore, after dividing the subhabitats, a reproduction operation is performed on the solutions in each subhabitat. Each solution in a subhabitat selects a preset differential evolution strategy with a set probability, thereby selecting other solutions in that subhabitat as the difference vector to generate offspring with a certain probability. This prevents the population from getting trapped in local optima. Finally, the offspring solutions generated by all subhabitats are merged to obtain the offspring population.

[0044] As one optional embodiment, dividing the population into several non-overlapping niches includes: The solution with the smallest fitness value in the population is taken as the central solution of the niche. Calculate the Euclidean distance from the central solution to the remaining solutions in the population. A set number of solutions are selected according to the Euclidean distance in ascending order, and together with the central solution, they are divided into a small habitat, and the small habitat is removed from the population. Determine if the number of solutions in the population is zero; if not, return to the step of taking the solution with the smallest fitness value in the population as the central solution of the niche; if yes, output several niches.

[0045] Specifically, each solution in the population is sorted in ascending order based on its fitness value. The solution with the smallest fitness value is selected as the center solution of the first niche. The Euclidean distance between the remaining solutions in the population and the center solution is calculated. Based on this Euclidean distance, the k-1 solutions closest to the center solution are selected as the nearest neighbors. The center solution and these k nearest neighbors constitute the first niche. Then, the first niche is removed from the population. For the remaining solutions in the population, the above steps of determining the center solution of the niche, calculating distances, determining the nearest neighbors, and dividing the niche are repeated to gradually divide the population into several non-overlapping niches until the number of solutions in the population is zero.

[0046] This application's embodiments analyze the local characteristics of solutions within each niche, identifying and utilizing information between similar niches to focus on generating potentially valuable but currently underexplored location schemes. This approach helps discover edge server configurations that may exhibit superior latency or load characteristics under certain parameter settings. It also improves the level of local optimization of solutions, especially when facing diverse needs and complex constraints, enabling a more detailed exploration of the impact of specific parameter or configuration changes on the optimization objective. This embodiment enhances the algorithm's advantage in finding unconventional solutions, helping to avoid highly competitive solution spaces and find unique configuration combinations, making it suitable for real-world application scenarios with varying requirements.

[0047] Furthermore, after obtaining multiple niches, each niche generates its own offspring solutions using a pre-defined differential evolution strategy based on its internal solutions. The differential evolution strategy (DE) includes, but is not limited to, the DE / Current-to-best / 1 / bin (first-order differential evolution based on binary crossover from the current to the best individual) strategy and the DE / rand / 1 (first-order differential evolution based on random individuals) strategy.

[0048] Specifically, each solution in the niche is selected with half the probability to use either the DE / Current-to-best / 1 / bin strategy or the DE / rand / 1 strategy to generate offspring solutions. The DE / Current-to-best / 1 / bin strategy corresponds to a convergence-first search, which is a guided search based on the optimal solution, and its expression is as follows:

[0049] in, This represents the mutation vector, i.e., the newly generated candidate solution; This represents the optimal solution in the current population; , , , This represents a randomly selected solution from the current population; F represents the scaling factor, used to scale the difference vector to control the mutation intensity.

[0050] The DE / rand / 1 strategy is a differential evolution based on random sampling, corresponding to the search for preference diversity, and its expression is as follows:

[0051] in, This represents a solution randomly selected from the current population, which serves as the basis vector.

[0052] Optionally, differential evolution strategies also include DE / best / 1 (a first-order differential evolution strategy based on the best individual), DE / rand / 2 (a second-order differential evolution strategy based on random individuals), and DE / rand-to-best / 1 (a first-order differential evolution strategy based on random to best individuals), which can be selected and used according to actual needs.

[0053] As one optional embodiment, the calculation of the fitness value of solutions in the population includes: Perform Pareto dominance determination on any two solutions in the population to determine all the dominators of each solution, where each dominator represents the solution that dominates that solution; Calculate the total number of solutions controlled by all the dominants of each solution to obtain the convergence index of the solution; Based on a special crowding distance algorithm, the crowding distance of each solution in the decision space and the average crowding distance of each space are determined separately for the decision space and the target space. If the crowding distance of a solution in any space is greater than the average crowding distance of that space, then the larger of the two crowding distances corresponding to the solution is taken as the special crowding distance of the solution; otherwise, the smaller of the two crowding distances corresponding to the solution is taken as the special crowding distance of the solution. The special crowding distance is a diversity index of the solution. The fitness value of each solution is determined based on the convergence index and the diversity index.

[0054] Specifically, the fitness value measures the convergence and diversity performance of a solution in the decision space and the objective space. It consists of two parts: a convergence index and a diversity index, expressed as follows:

[0055] in, Let x represent the fitness value of solution x, and P represent the population. The convergence index of solution x is represented. The diversity index represents the solution x.

[0056] For evaluating the convergence performance of each solution First, based on the Pareto dominance criterion, the definition is... The formula used to record the dominance relationships among all solutions in the population is as follows:

[0057] Let x represent the Pareto-dominated solution y in a population.

[0058] Furthermore, based on the Pareto non-dominance principle, according to The number of individuals dominated by each solution is calculated using the following expression:

[0059] in, This indicates the number of solutions dominated by solution x, where solutions x and y are distinct.

[0060] Then according to Calculate the solution for each solution in population P. The value is calculated using the following formula:

[0061] in, Let x represent all solutions that govern x.

[0062] Furthermore, we calculate all dominance values ​​for all solutions dominating x to obtain the convergence index. The expression is as follows:

[0063] in, Used to evaluate the convergence performance of each solution. Let x be the y-th element in the set of all solutions that govern x.

[0064] To evaluate the diversity performance of each solution, the Special Crowding Distance (SCD) is used to measure the diversity performance of the solution in both the decision space and the objective space. The formula for calculating SCD is as follows:

[0065] in, The specific crowding distance for solution x is represented by a diversity index. Let x represent the crowding distance of solution x in the decision space. Let x represent the crowding distance of the solution x in the target space. This represents the average crowding distance in the target space. This represents the average crowding distance in the decision space.

[0066] The crowding distance can be selected based on the distribution of individuals in the decision space and the target space. If the crowding distance of an individual in a certain space is greater than the average level, then the crowding distance of the larger space is selected as the special crowding distance; otherwise, the crowding distance of the smaller space is selected as the special crowding distance.

[0067] Finally, according to and The fitness value of solution x is calculated and used for population update.

[0068] As one optional embodiment, the method of updating the auxiliary population using a diversity-first environmental selection strategy includes: The solutions in the second joint population are sorted by Pareto non-dominated order, and the solutions with a non-dominated level of 1 are assigned to the first population, while the solutions with a non-dominated level other than 1 are assigned to the second population. If the number of solutions in the first population is equal to the preset target number, then the first population is output as the updated auxiliary population. If the number of solutions in the first population is greater than the target number, then calculate the special crowding distance of each solution in the first population, and select the solution of the target number as the updated auxiliary population in descending order of the special crowding distance; If the number of solutions in the first population is less than the target number, then based on the distance between each solution in the second population, the average distance between each solution and several nearest neighbor solutions is calculated. Based on the average distance between each solution and the distance between each solution, solutions are selected from the second population and incorporated into the first population until the number of solutions in the first population equals the target number.

[0069] In this embodiment, two populations use different search strategies and population update mechanisms. The main population uses a convergence-priority population update strategy to ensure that it obtains a Pareto optimal solution set of sufficiently high quality at the end of its evolutionary process. The auxiliary population uses a diversity-priority environment selection strategy to expand the population's search range and increase the probability that the population finds multiple optimal regions in the decision space.

[0070] Specifically, the update process based on the diversity-first environment selection strategy includes: First, inputting the second joint population U2 and the population size N; performing a non-dominated sorting operation on the second joint population U2, and sorting the solutions in ascending order according to their non-dominated levels, retaining solutions with a non-dominated level of 1, which indicates the best solution in the current population, located on the Pareto front, and classifying these solutions into the first population, while the remaining solutions in the second joint population U2 are classified into the second population; determining whether the number of solutions with a non-dominated level of 1 is less than N, i.e., whether the size of the first population is less than N, if so, then selecting solutions from the remaining solutions in the second joint population U2 to add to the first population, until the population size is N; if the size of the first population is not less than N, then removing the worse solutions from the first population until the population size is N; finally, the first population with a population size of N is the updated auxiliary population.

[0071] When the number of solutions in the first population is greater than N, the special crowding distance (SCD) of all solutions in the first population is calculated, and they are sorted in descending order. The top N solutions are selected to form the updated auxiliary population.

[0072] When the number of solutions in the first population is less than N, first calculate the Euclidean distance between each solution in the second population, and arrange the population in ascending order according to this distance; based on the distance between each solution, for each solution in the population, calculate the average distance between the solution and its three nearest neighbor solutions, and add solutions in the second population whose distance between any two solutions is greater than this average to the first population; if the number of solutions in the first population is still less than N, then select solutions from the remaining solutions in the second population according to the non-dominated level of the solutions and incorporate them into the first population, until the population size is N; if the number of solutions in the first population is greater than N, then calculate the special crowding distance of all solutions in the first population, and select the top N solutions after sorting them in descending order to form the updated auxiliary population.

[0073] In another embodiment, when the number of solutions in the first group is less than the target number, the Euclidean distance between each solution in the second group is first calculated, and the groups are arranged in ascending order according to this distance. Based on the distance between each solution, for each solution in the group, the average distance between the solution and its three nearest neighbor solutions is calculated to obtain the local average value for each solution. Then, solutions are selected from the second group and incorporated into the first group in descending order of the local average value until the number of solutions in the first group equals the target number. Alternatively, the average of all local average values ​​is calculated to obtain the global average value, and solutions in the second group whose local average value is greater than the global average value are selected as candidate solutions. It is then determined whether the number of candidate solutions is less than the difference between the target number and the number of solutions in the first group. If not, solutions are selected from the second group and incorporated into the first group in descending order of the local average value until the number of solutions in the first group equals the target number. If so, candidate solutions in the second group are incorporated into the first group, and solutions are then selected and incorporated into the first group based on the non-dominated level of the remaining solutions until the number of solutions in the first group equals the target number. Finally, the first population is output as the updated auxiliary population.

[0074] The diversity-first environment selection strategy in this application prioritizes solutions that are sparsely distributed in the solution space, preventing the algorithm from becoming overly focused on certain "hot regions"—easily searchable local optima—and thus avoiding missing other effective solutions. Specifically, this is achieved by quantifying the similarity between solutions and prioritizing unique or rare solutions. This strategy emphasizes a balance between latency and workload. By maintaining the diversity of location selection schemes, it helps to comprehensively evaluate the strengths and weaknesses of different strategies, avoiding the overlooking of potentially effective edge configurations due to premature convergence. This strategy provides a better balance between exploration and exploitation, especially in scenarios with high requirements for solution space coverage and solution quality, significantly improving the algorithm's adaptability and flexibility.

[0075] Compared to existing technologies, this application's embodiments construct a multi-objective optimization model for edge server location with exclusive and full coverage constraints as conditions and minimizing workload and access latency as optimization objectives. An evolutionary algorithm is used to solve the model to obtain at least one optimal location region. This model can simultaneously optimize multiple conflicting objectives, coordinating practical constraints such as full coverage and exclusiveness, reducing redundant resource configuration and scheduling conflicts, and ensuring the rationality and effectiveness of the location strategy. By combining a dual-population co-evolutionary framework and a niche offspring generation mechanism for multi-objective model optimization, it ensures diversity in the decision space while effectively balancing convergence in the objective space, thereby searching for a larger global Pareto solution set, i.e., a set of location strategies, significantly improving the algorithm's adaptability, flexibility, and accuracy.

[0076] Accordingly, this application also provides an edge server location optimization device, which can implement all the processes of the edge server location optimization method in the above embodiments.

[0077] Please see Figure 2 , Figure 2 This is a schematic diagram of the structure of an edge server location optimization device provided in an embodiment of this application. The edge server location optimization device includes: The model building module 201 is used to construct a multi-objective optimization model for edge server location based on relevant data between edge servers and base stations, with exclusive constraints and full coverage constraints as constraints, and minimizing workload and access latency as optimization objectives; wherein, the exclusive constraint means that each base station is controlled by only one edge server, and the full coverage constraint means that all base stations are allocated a corresponding edge server; The multi-objective optimization module 202 is used to solve the multi-objective optimization model using an evolutionary algorithm to obtain at least one optimal addressing region.

[0078] Preferably, the step of solving the multi-objective optimization model using an evolutionary algorithm includes: Initialization: The main population and auxiliary population are randomly initialized. The solutions in the population represent the location strategy of the edge server. Producing offspring: The main population and the auxiliary population respectively produce corresponding offspring populations through microhabitat technology; Update the main population: merge the main population and the two offspring populations into a first joint population, and update the main population based on the first joint population using a convergence-first environment selection strategy; Update the auxiliary population: merge the auxiliary population with the two offspring populations into a second joint population, and update the auxiliary population based on the second joint population using a diversity-first environmental selection strategy; Iterative optimization: Repeat the steps of generating offspring, updating the main population, and updating the auxiliary population until a preset termination condition is met, then output the set of addressing strategies corresponding to the main population.

[0079] Preferably, the step of generating offspring specifically includes: For each population, calculate the fitness value of the solutions in the population; Based on the fitness values, the population is divided into several non-overlapping niches; Each niche generates its own offspring solutions using a pre-defined differential evolution strategy based on the solutions within it; wherein, the solutions in each niche select solutions in neighboring niches as the difference vector to generate offspring with a pre-defined probability; The offspring from all microhabitats are merged into a single offspring population.

[0080] Preferably, dividing the population into several non-overlapping niches includes: The solution with the smallest fitness value in the population is taken as the central solution of the niche. Calculate the Euclidean distance from the central solution to the remaining solutions in the population. A set number of solutions are selected according to the Euclidean distance in ascending order, and together with the central solution, they are divided into a small habitat, and the small habitat is removed from the population. Determine if the number of solutions in the population is zero; if not, return to the step of taking the solution with the smallest fitness value in the population as the central solution of the niche; if yes, output several niches.

[0081] Preferably, the calculation of the fitness value of the solution in the population includes: Perform Pareto dominance determination on any two solutions in the population to determine all the dominators of each solution, where each dominator represents the solution that dominates that solution; Calculate the total number of solutions controlled by all the dominants of each solution to obtain the convergence index of the solution; Based on a special crowding distance algorithm, the crowding distance of each solution in the decision space and the average crowding distance of each space are determined separately for the decision space and the target space. If the crowding distance of a solution in any space is greater than the average crowding distance of that space, then the larger of the two crowding distances corresponding to the solution is taken as the special crowding distance of the solution; otherwise, the smaller of the two crowding distances corresponding to the solution is taken as the special crowding distance of the solution. The special crowding distance is a diversity index of the solution. The fitness value of each solution is determined based on the convergence index and the diversity index.

[0082] Preferably, the method of updating the auxiliary population using a diversity-first environmental selection strategy includes: The solutions in the second joint population are sorted by Pareto non-dominated order, and the solutions with a non-dominated level of 1 are assigned to the first population, while the solutions with a non-dominated level other than 1 are assigned to the second population. If the number of solutions in the first population is equal to the preset target number, then the first population is output as the updated auxiliary population. If the number of solutions in the first population is greater than the target number, then calculate the special crowding distance of each solution in the first population, and select the solution of the target number as the updated auxiliary population in descending order of the special crowding distance; If the number of solutions in the first population is less than the target number, then based on the distance between each solution in the second population, the average distance between each solution and several nearest neighbor solutions is calculated. Based on the average distance between each solution and the distance between each solution, solutions are selected from the second population and incorporated into the first population until the number of solutions in the first population equals the target number.

[0083] In specific implementation, the working principle, control process and technical effects of the edge server location optimization device provided in this application are the same as those of the edge server location optimization method in the above embodiments, and will not be repeated here.

[0084] See Figure 3 , Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. The computer device includes: a processor 301, a memory 302, and a computer program stored in the memory 302 and executable on the processor 301. When the processor 301 executes the computer program, it implements the steps in the above-described edge server location optimization method embodiment. Alternatively, when the processor 301 executes the computer program, it implements the functions of each module / unit in the above-described device embodiments.

[0085] For example, the computer program may be divided into one or more modules / units, which are stored in the memory 302 and executed by the processor 301 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the computer device.

[0086] The computer device may include, but is not limited to, processor 301 and memory 302. Those skilled in the art will understand that the schematic diagram is merely an example of a computer device and does not constitute a limitation on the computer device. It may include more or fewer components than illustrated, or combine certain components, or different components. For example, the computer device may also include input / output devices, network access devices, buses, etc.

[0087] The processor 301 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. The processor 301 is the control center of the computer device, connecting various parts of the entire computer device through various interfaces and lines.

[0088] The memory 302 can be used to store the computer programs and / or modules. The processor 301 implements various functions of the computer device by running or executing the computer programs and / or modules stored in the memory 302 and calling the data stored in the memory 302. The memory 302 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function, etc.; the data storage area may store data created based on the use of the mobile phone, etc. In addition, the memory 302 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0089] Wherein, if the modules / units integrated into the computer device are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by the processor 301, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms.

[0090] This application also provides a computer-readable storage medium, which includes a stored computer program, wherein the computer program, when running, controls the device where the computer-readable storage medium is located to execute the edge server location optimization method described in any of the above embodiments.

[0091] This application also provides a computer program product, including a computer program / instruction, which, when executed by the computer program / instruction processor, implements the edge server location optimization method described in any of the above embodiments.

[0092] The methods in this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, they can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, network equipment, user equipment, core network equipment, OAM, or other programmable devices.

[0093] The computer program or instructions may be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions may be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; or an optical medium, such as a digital video optical disc; or a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or non-volatile storage medium, or may include both volatile and non-volatile types of storage media.

[0094] The computer programs / instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper cables, fiber optic cables, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network and forwards those instructions to computer-readable storage media within the respective computing / processing device.

[0095] The computer program instructions used to perform the operations of this application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits, such as programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), are personalized by utilizing the status information of the computer-readable program instructions. These electronic circuits can execute the computer-readable program instructions to implement various aspects of this application.

[0096] Various aspects of this application are described herein with reference to flowchart illustrations and / or block diagrams according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, as well as combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0097] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0098] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0099] Each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the figures. For example, two consecutive blocks may actually be executed substantially in parallel, or they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation in hardware, implementation in software, and implementation using a combination of software and hardware are equivalent.

[0100] This application provides an edge server location optimization method, apparatus, device, medium, and product. Its beneficial effects are as follows: By constructing a multi-objective optimization model for edge server location with exclusive and full coverage constraints as conditions and minimizing workload and access latency as optimization objectives, and using an evolutionary algorithm to solve the model to obtain at least one optimal location region, it can simultaneously optimize multiple conflicting objectives, coordinate practical constraints such as full coverage and exclusiveness, reduce redundant resource configuration and scheduling conflicts, and ensure the rationality and effectiveness of the location strategy. By combining a dual-population co-evolutionary framework and a niche offspring generation mechanism for multi-objective model optimization, it can ensure diversity in the decision space and well balance convergence in the objective space, thereby searching for more global Pareto solutions, i.e., a set of location strategies, significantly improving the algorithm's adaptability, flexibility, and accuracy.

[0101] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications are also considered to be within the scope of protection of this application.

Claims

1. A method for optimizing edge server location, characterized in that, include: Based on the relevant data between edge servers and base stations, a multi-objective optimization model for edge server location is constructed with exclusive constraints and full coverage constraints as constraints, and minimizing workload and access latency as optimization objectives. The exclusive constraint means that each base station is controlled by only one edge server, and the full coverage constraint means that all base stations are allocated a corresponding edge server. An evolutionary algorithm is used to solve the multi-objective optimization model to obtain at least one optimal location region.

2. The edge server location optimization method as described in claim 1, characterized in that, The step of solving the multi-objective optimization model using an evolutionary algorithm includes: Initialization: The main population and auxiliary population are randomly initialized. The solutions in the population represent the location strategy of the edge server. Producing offspring: The main population and the auxiliary population respectively produce corresponding offspring populations through microhabitat technology; Update the main population: merge the main population and the two offspring populations into a first joint population, and update the main population based on the first joint population using a convergence-first environment selection strategy; Update the auxiliary population: merge the auxiliary population with the two offspring populations into a second joint population, and update the auxiliary population based on the second joint population using a diversity-first environmental selection strategy; Iterative optimization: Repeat the steps of generating offspring, updating the main population, and updating the auxiliary population until a preset termination condition is met, then output the set of location selection strategies corresponding to the main population.

3. The edge server location optimization method as described in claim 2, characterized in that, The step of generating offspring specifically includes: For each population, calculate the fitness value of the solutions in the population; Based on the fitness values, the population is divided into several non-overlapping niches; Each niche generates its own offspring solutions using a pre-defined differential evolution strategy based on its internal solutions; The offspring from all microhabitats are merged into a single offspring population.

4. The edge server location optimization method as described in claim 3, characterized in that, The division of the population into several non-overlapping niches includes: The solution with the smallest fitness value in the population is taken as the central solution of the niche. Calculate the Euclidean distance from the central solution to the remaining solutions in the population. A set number of solutions are selected according to the Euclidean distance in ascending order, and together with the central solution, they are divided into a small habitat, and the small habitat is removed from the population. Determine if the number of solutions in the population is zero; if not, return to the step of taking the solution with the smallest fitness value in the population as the central solution of the niche; if yes, output several niches.

5. The edge server location optimization method as described in claim 3, characterized in that, The calculation of the fitness value of the solution in the population includes: Perform Pareto dominance determination on any two solutions in the population to determine all the dominators of each solution, where each dominator represents the solution that dominates that solution; Calculate the total number of solutions controlled by all the dominants of each solution to obtain the convergence index of the solution; Based on a special crowding distance algorithm, the crowding distance of each solution in the decision space and the average crowding distance of each space are determined separately for the decision space and the target space. If the crowding distance of a solution in any space is greater than the average crowding distance of that space, then the larger of the two crowding distances corresponding to the solution is taken as the special crowding distance of the solution; otherwise, the smaller of the two crowding distances corresponding to the solution is taken as the special crowding distance of the solution. The special crowding distance is a diversity index of the solution. The fitness value of each solution is determined based on the convergence index and the diversity index.

6. The edge server location optimization method as described in claim 2, characterized in that, The method of updating the auxiliary population by adopting a diversity-first environmental selection strategy includes: The solutions in the second joint population are sorted by Pareto non-dominated order, and the solutions with a non-dominated level of 1 are assigned to the first population, while the solutions with a non-dominated level other than 1 are assigned to the second population. If the number of solutions in the first population is equal to the preset target number, then the first population is output as the updated auxiliary population. If the number of solutions in the first population is greater than the target number, then calculate the special crowding distance of each solution in the first population, and select the solution of the target number as the updated auxiliary population in descending order of the special crowding distance; If the number of solutions in the first population is less than the target number, then based on the distance between each solution in the second population, the average distance between each solution and several nearest neighbor solutions is calculated. Based on the average distance between each solution and the distance between each solution, solutions are selected from the second population and incorporated into the first population until the number of solutions in the first population equals the target number.

7. An edge server location optimization device, characterized in that, include: The model building module is used to construct a multi-objective optimization model for edge server location based on relevant data between edge servers and base stations, with exclusive constraints and full coverage constraints as constraints, and minimizing workload and access latency as optimization objectives. The exclusive constraint means that each base station is controlled by only one edge server, and the full coverage constraint means that all base stations are allocated a corresponding edge server. The multi-objective optimization module is used to solve the multi-objective optimization model using an evolutionary algorithm to obtain at least one optimal addressing region.

8. A computer device, characterized in that, The device includes a processor and a memory, the memory storing a computer program configured to be executed by the processor, wherein the processor, when executing the computer program, implements the edge server location optimization method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein when the device containing the computer-readable storage medium executes the computer program, it implements the edge server location optimization method as described in any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the edge server location optimization method as described in any one of claims 1 to 6.