CN117634302A - Dynamic service combination selection method, device and product - Google Patents

Dynamic service combination selection method, device and product Download PDF

Info

Publication number
CN117634302A
CN117634302A CN202311657941.8A CN202311657941A CN117634302A CN 117634302 A CN117634302 A CN 117634302A CN 202311657941 A CN202311657941 A CN 202311657941A CN 117634302 A CN117634302 A CN 117634302A
Authority
CN
China
Prior art keywords
population
pareto front
pareto
points
representative points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311657941.8A
Other languages
Chinese (zh)
Other versions
CN117634302B (en
Inventor
刘艺
郑奇斌
李晴
杨国利
秦伟
史殿习
刁兴春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Big Data Advanced Technology Research Institute
Original Assignee
Beijing Big Data Advanced Technology Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Big Data Advanced Technology Research Institute filed Critical Beijing Big Data Advanced Technology Research Institute
Priority to CN202311657941.8A priority Critical patent/CN117634302B/en
Publication of CN117634302A publication Critical patent/CN117634302A/en
Application granted granted Critical
Publication of CN117634302B publication Critical patent/CN117634302B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The application provides a dynamic service combination selection method, a device and a product, and relates to the technical field of service combination selection, wherein the method comprises the following steps: generating an initialization population according to the service combination related information; initializing each individual in the population to express a combination of services; allowing the initialized population to autonomously evolve; determining that the current environment changes; predicting and obtaining pareto front representative points of the new environment population according to the pareto front representative points of the previous k-generation population; expanding to obtain a first population according to the pareto front representative points of the new environment population, and generating a second population; combining the first population with the second population by using dynamic parameters to obtain a new initialized population; allowing the new initialized population to autonomously evolve until the evolution stopping condition is met, so as to obtain the pareto optimal solution in the current environment; and determining the service combination corresponding to the pareto optimal solution as an optimal service combination, and sending the optimal service combination to the user.

Description

Dynamic service combination selection method, device and product
Technical Field
The application relates to the technical field of service combination selection, in particular to a dynamic service combination selection method, a dynamic service combination selection device and a dynamic service combination selection product.
Background
With the rapid development of service technology, the demands of service consumers have not been limited to a single basic service, and service combinations have been developed. Service composition refers to the ability to effectively cope with complex task scenarios by combining these basic services to provide value-added services to service consumers when a task contains multiple subtasks, each subtask corresponding to one or more services available to solve the task.
However, current service selection is generally based on quality of service (Quality of Service, qoS) attribute constraints of the service, and most do not take into account the dynamics of the service selection problem. Specifically, when the service consumer demand or service parameters change, it is difficult to timely reorganize the algorithm combination and to re-infer the optimal service combination.
Therefore, there is a need to develop a dynamic service combination selection method, apparatus and product, so as to implement dynamic service combination selection, and to obtain an optimal service combination efficiently and accurately when the environment changes.
Disclosure of Invention
In view of the foregoing, embodiments of the present application provide a dynamic service portfolio selection method, apparatus, and article to overcome or at least partially solve the foregoing.
In a first aspect of an embodiment of the present application, a dynamic service combination selection method is provided, including:
generating an initialization population according to the service combination related information, and coding the initialization population; each individual in the initialized population represents a combination of services;
utilizing a population evolution algorithm to autonomously evolve the initialized population;
under the condition that a user demand change notification or a service pool parameter change notification is received, determining that the current environment changes;
according to pareto front representative points of the previous k-generation population obtained in the autonomous evolution process of the population, predicting and obtaining pareto front representative points of the new environment population, wherein the pareto front representative points comprise inflection points, boundary points and center points;
expanding to obtain a first population according to the predicted pareto front representative points of the new environment population, and generating a second population; the first population represents a population for improving convergence, and the second population represents a population for increasing diversity;
combining the first population with the second population by using dynamic parameters to obtain a new initialized population;
the new initialized population is automatically evolved by utilizing the population evolution algorithm until the evolution stopping condition is met, so that the pareto optimal solution in the current environment is obtained;
And determining the service combination corresponding to the pareto optimal solution as an optimal service combination, and sending the optimal service combination to a user.
In one possible embodiment, the first population is expanded by the steps of:
and generating a plurality of clusters by taking the predicted pareto front representative points of the new environment population as cluster centers, so that the total number of clustered individuals is consistent with the total number of individuals of the initialized population, and obtaining the first population.
In one possible embodiment, the second population is generated by the steps comprising:
determining the upper and lower bounds of pareto front representative points of the new environmental population;
within the upper and lower bounds, diverse individuals are randomly generated according to the following formula:
dp d (i)=L d +r(i)*(U d -L d );
wherein said dp d (i) Is the value of the ith dimension of the diversity individual in the decision space, the L d Is the lower bound of the d dimension of the decision space of all the pareto front representative points, U d Is the upper bound of the d dimension of all the pareto front representative points, and r is [0,1]Parameters randomly generated between the two; and enabling the total number of the generated individuals to be consistent with the total number of the individuals of the initialized population, and obtaining the second population.
In one possible implementation manner, the pareto front representative point of the previous k-generation population obtained in the autonomous evolution process of the population is predicted to obtain the pareto front representative point of the new environment population, which comprises the following steps:
under the condition that the current environment changes from 1 st to X th generation of the population, according to pareto front representative points of a plurality of first candidate populations obtained in the autonomous evolution process of the population, predicting to obtain pareto front representative points of a new environment population, wherein the first candidate populations represent populations obtained by evolution every n generations in the previous k generations of populations; the n represents a positive integer greater than 1;
under the condition that the current environment changes and belong to the X+1th and later changes of the population, according to the pareto front representative points of a plurality of second candidate populations obtained in the autonomous evolution process of the population, predicting and obtaining the pareto front representative points of the new environment population, wherein the second candidate populations represent the last generation population before the previous X times of environment changes including the current environment changes.
In one possible implementation manner, the pareto front representative point of the previous k-generation population obtained in the autonomous evolution process of the population is predicted to obtain the pareto front representative point of the new environment population, which comprises the following steps:
According to the pareto front representative points of the first candidate populations or the second candidate populations, calculating the center point according to the following formula:
wherein, |x t The I represents the number of pareto optimal leading edge solutions at the moment t and x t Refers to the pareto optimal solution set at the time t;
taking the point of the minimum value of each objective function on the pareto front of the first candidate populations or the second candidate populations as the boundary point;
determining one or more points which are farthest from the connecting line of the boundary points on the pareto front edges of the first candidate populations or the second candidate populations as the inflection points; the method comprises the steps of carrying out a first treatment on the surface of the
And predicting the pareto front representative point of the new environment population according to the central point, the boundary point and the inflection point by using a prediction model.
In one possible embodiment, the predictive model is trained by:
the population is automatically evolved by utilizing the population evolution algorithm, so that every n generations of the population are evolved, and environmental change occurs once; the n represents a positive integer greater than 1;
and recording population information after each environmental change, wherein the population information comprises: the population autonomously evolves to the coordinate information of the pareto front representative point of the last generation population before the next environmental change;
When the environment m+1st time is changed, carrying out sliding window operation on the recorded population information m times before according to a time sequence, taking X continuous population information in the sliding window as a training sample, and taking population information at the rear position of the sliding window as a label of the training sample to generate a training sample set;
and training the model by using the training sample set to obtain the prediction model.
In a possible implementation manner, the combining the first population and the second population by using dynamic parameters to obtain a new initialized population includes:
randomly generating a floating point number with a value within a range of [0,1] for each individual in the first population;
when the floating point number is smaller than the dynamic parameter, replacing the individual with the individual at the corresponding position in the second population to obtain the new initialization population; the dynamic parameter decreases with increasing time.
In one possible implementation, the dynamic parameters are calculated according to the following formula:
where T represents the ratio of the current algebra to the frequency of the environmental change.
A second aspect of an embodiment of the present application provides a dynamic service combination selection apparatus, where the apparatus includes:
The initialization population generation module is used for generating an initialization population according to the service combination related information and coding the initialization population; each individual in the initialized population represents a combination of services;
the first evolution module is used for enabling the initialized population to autonomously evolve by utilizing a population evolution algorithm;
the environment change detection module is used for determining that the current environment is changed under the condition that a user demand change notification or a service pool parameter change notification is received;
the representative point prediction module is used for predicting and obtaining the pareto front representative points of the new environment population according to the pareto front representative points of the previous k-generation population obtained in the autonomous evolution process of the population, wherein the pareto front representative points comprise inflection points, boundary points and center points;
the population prediction module is used for expanding to obtain a first population according to the predicted pareto front representative points of the new environment population and generating a second population; the first population represents a population for improving convergence, and the second population represents a population for increasing diversity;
the population combination module is used for combining the first population with the second population by utilizing dynamic parameters to obtain a new initialized population;
The second evolution module is used for enabling the new initialized population to autonomously evolve by utilizing the population evolution algorithm until the evolution stopping condition is met, so as to obtain the pareto optimal solution in the current environment;
and the optimal solution determining module is used for determining the service combination corresponding to the pareto optimal solution as an optimal service combination and sending the optimal service combination to the user.
In one possible embodiment, the population prediction module includes: :
the first population prediction sub-module is used for generating a plurality of clusters by taking the pareto front representative points of the new environment population obtained through prediction as cluster centers, so that the total number of clustered individuals is consistent with the total number of individuals of the initialized population, and the first population is obtained.
In one possible embodiment, the population prediction module further includes:
the upper and lower boundary determining submodules are used for determining the upper and lower boundaries of the pareto front representative points of the new environment population;
a second population prediction submodule, configured to randomly generate diverse individuals within the range of the upper bound and the lower bound according to the following formula:
dp d (i)=L d +r(i)*(U d -L d );
wherein said dp d (i) Is the value of the ith dimension of the diversity individual in the decision space, the L d Is the lower bound of the d dimension of the decision space of all the pareto front representative points, U d Is the upper bound of the d dimension of all the pareto front representative points, and r is [0,1]Parameters randomly generated between the two; and enabling the total number of the generated individuals to be consistent with the total number of the individuals of the initialized population, and obtaining the second population.
In one possible implementation manner, the representative point prediction module includes:
the first representative point predicting sub-module is used for predicting and obtaining pareto front representative points of a new environment population according to pareto front representative points of a plurality of first candidate populations obtained in the autonomous evolution process of the population under the condition that the current environment changes from the 1 st time to the X th time of the population, wherein the first candidate populations represent populations obtained by every n generations of evolution in the previous k generations of populations; the n represents a positive integer greater than 1;
the second representative point predicting sub-module is used for predicting and obtaining pareto front representative points of a new environment population according to pareto front representative points of a plurality of second candidate populations obtained in the autonomous evolution process of the population under the condition that the current environment changes and belong to the X+1th and later changes of the population, wherein the second candidate populations represent the last generation population before the previous X times of environment changes including the current environment changes.
In one possible implementation manner, the representative point prediction module includes:
the center point calculation sub-module is used for calculating the center point according to the pareto front representative points of the first candidate populations or the second candidate populations and the following formula:
wherein, |x t The I represents the number of pareto optimal leading edge solutions at the moment t and x t Refers to the pareto optimal solution set at the time t;
a boundary point determining sub-module, configured to take, as the boundary point, a point of a minimum value of each objective function on pareto fronts of the first candidate populations or the second candidate populations;
the inflection point determining submodule is used for determining one or more points which are farthest from the connecting line of the boundary points on the pareto fronts of the first candidate populations or the second candidate populations as the inflection points;
and the representative point prediction sub-module is used for predicting and obtaining the pareto front representative point of the new environment population according to the central point, the boundary point and the inflection point by using a prediction model.
In one possible embodiment, the apparatus further comprises a predictive model training module comprising:
the evolution sub-module is used for autonomously evolving the population by utilizing the population evolution algorithm, so that every n generations of the population are evolved, and environmental change occurs once; the n represents a positive integer greater than 1;
The population information recording sub-module is used for recording population information after each environmental change, and the population information comprises: the population autonomously evolves to the coordinate information of the pareto front representative point of the last generation population before the next environmental change;
the training sample set generation sub-module is used for carrying out sliding window operation on the recorded first m times of population information according to a time sequence when the environment m+1st time is changed, taking X continuous population information in the sliding window as a training sample, and taking the population information at the rear position of the sliding window as a label of the training sample to generate a training sample set;
and the training sub-module is used for training the model by using the training sample set to obtain the prediction model.
In one possible embodiment, the population binding module comprises: :
the floating point generation sub-module is used for randomly generating a floating point number with the value within the range of [0,1] for each individual in the first population;
a replacement sub-module, configured to replace the individual with an individual at a corresponding position in the second population when the floating point number is smaller than the dynamic parameter, so as to obtain the new initialized population; the dynamic parameter decreases with increasing time.
In a possible implementation manner, the replacing sub-module is further configured to calculate the dynamic parameter according to the following formula:
wherein, T represents the ratio of the current evolution algebra to the environmental change frequency.
The third aspect of the embodiment of the application further provides an electronic device, which comprises a memory, a processor and a computer program stored on the memory, wherein the processor executes the computer program to implement the steps in the dynamic service combination selection method according to the first aspect of the embodiment of the application.
The fourth aspect of the embodiments of the present application further provides a computer readable storage medium, on which a computer program/instruction is stored, which when executed by a processor, implements the steps in the dynamic service combination selection method according to the first aspect of the embodiments of the present application.
A fifth aspect of the embodiments of the present application also provides a computer program product which, when run on an electronic device, causes a processor to carry out the steps of the dynamic service combination selection method according to the first aspect of the embodiments of the present application.
The embodiment of the application provides a dynamic service combination selection method, which generates an initialization population according to service combination related information and encodes the initialization population; each individual in the initialized population represents a combination of services; utilizing a population evolution algorithm to autonomously evolve the initialized population; under the condition that a user demand change notification or a service pool parameter change notification is received, determining that the current environment changes; according to pareto front representative points of the previous k-generation population obtained in the autonomous evolution process of the population, predicting and obtaining pareto front representative points of the new environment population, wherein the pareto front representative points comprise inflection points, boundary points and center points; expanding to obtain a first population according to the predicted pareto front representative points of the new environment population, and generating a second population; the first population represents a population for improving convergence, and the second population represents a population for increasing diversity; combining the first population with the second population by using dynamic parameters to obtain a new initialized population; the new initialized population is automatically evolved by utilizing the population evolution algorithm until the evolution stopping condition is met, so that the pareto optimal solution in the current environment is obtained; and determining the service combination corresponding to the pareto optimal solution as an optimal service combination, and sending the optimal service combination to a user.
Aiming at the dynamic property of the service selection problem, the embodiment of the application provides a dynamic service combination selection method based on a dynamic multi-objective optimization algorithm, which abstracts the service combination problem into a subset problem, converts different combinations into different individuals in a population, and when the demand of a service consumer or the parameter of a service pool changes, performs population evolution by using priori knowledge (pareto front representative points of the previous k-generation population) to obtain a new initialization population, thereby adaptively adjusting a search strategy under a dynamic environment to adapt to the change of an objective function and realizing dynamic service combination selection. In addition, the pareto front representative points of the previous k-generation population are utilized to predict and obtain the pareto front representative points of the new environment population, and then the first population for improving the convergence and the second population for increasing the diversity are predicted and obtained, and the two populations are dynamically combined, so that the population convergence is quickened, the diversity of the populations is ensured, and the obtained service combination result is more efficient and accurate.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments of the present application will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of steps of a dynamic service composition selection method according to an embodiment of the present application;
fig. 2 is a schematic representation of a pareto front according to an embodiment of the present application;
FIG. 3 is a schematic illustration of a sliding window operation provided in an embodiment of the present application;
FIG. 4 is a schematic flow chart of dynamic service composition selection according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a dynamic service combination selecting device according to an embodiment of the present application;
fig. 6 is a schematic diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings in the embodiments of the present application. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
With the increase of service demands of service consumers, task demands often cannot be completed independently by a certain service, and in order to solve the problem that a single service cannot meet the demands of the service consumers, a service combining scheme is provided to complete the multi-task demands of the service consumers. Service composition refers to the ability of a service consumer to effectively cope with complex task scenarios by combining these basic services to provide value-added services to the service consumer when a task contains multiple subtasks, each subtask corresponding to one or more services available to solve the task.
In the related art, service selection is generally based on QoS attribute constraints of services, and most of the service selection problems are not considered dynamic (i.e., conventional service combinations tend to be static and cannot be reorganized according to the requirements of clients or dynamic update conditions of service pools). When the user's demand for the service or the parameters of the service itself change during the selection of the service combination, it is difficult to reconstruct the algorithm combination in time and to re-infer the optimal service combination.
In view of the above problems, embodiments of the present application provide a dynamic service combination selection method, apparatus, and product, so that dynamic service combination selection is more efficient and accurate. The dynamic service combination selection method provided by the embodiment of the application is described in detail below by some embodiments and application scenes thereof with reference to the accompanying drawings.
An embodiment of the present application provides a dynamic service combination selection method, referring to fig. 1, fig. 1 is a flowchart of steps of the dynamic service combination selection method provided in the embodiment of the present application, as shown in fig. 1, where the method includes:
step S101, generating an initialization population according to service combination related information, and coding the initialization population; each individual in the initialized population represents a combination of services.
In the process of searching the optimal service combination, the service combination problem is abstracted into the subset problem, and different service combinations are converted into different individuals in a population according to the service combination related information, so that an initialized population is generated. Let the size of the initialized population be N, i.e., the total number of individuals in the initialized population be N, representing a total of N service combinations.
In this embodiment, a population is first initialized and the initialized population is encoded, with the encoding rule being decimal. The task is composed of four steps, three alternative services in each step, and when the four steps of the task respectively select the first service, the second service, the first service and the third service, the candidate service combination can be recorded as S 1,1 -S 2,2 -S 3,1 -S 4,3 The corresponding decimal code is 1-2-1-3, and the decoding rule is as follows: 1) Sequentially reading decimal coded bits; 2) Let x be given by the current read to the ith bit, which is encoded as n in =1, if it is currently the last bit, jumping to step 4), otherwise executing step 3); 3) Let the (i+1) th bit be k, let x in,(i+1)k =1, jump to step 1; 4) Let the rest decision variables be 0. For example, after the service combination is decoded, the following steps are:
Step S102, the initialized population is automatically evolved by using a population evolution algorithm.
In this embodiment, the population evolution algorithm may be an NSGA-II algorithm. In the practical application process, in order to find the optimal solution (optimal service combination in multiple service combinations) in the subset, inputting the maximum evolution algebra and the size of the population, carrying out population evolution through an NSGA-II algorithm, if the evolution environment does not change in the population evolution process, carrying out population evolution by adopting the NSGA-II method all the time, and outputting the non-dominant solution set of the final population when the population evolves to the maximum evolution algebra, so as to obtain the optimal service combination under the current limiting condition.
Step S103, when receiving the user demand change notification or the service pool parameter change notification, determining that the current environment is changed.
In this embodiment, in the process of using the population evolution algorithm to make the population self-evolve, the evolution environment changes, for example, the user's requirement changes (receiving the user requirement change notification) or the parameters of the service pool change (receiving the service pool parameter change notification), and then the population needs to be reinitialized. In an exemplary manner, in the process of searching for the optimal service combination a from multiple service combination schemes according to the requirement scheme a proposed by the user, in the process of continuously executing the service combination a, the user proposes a requirement change, and changes from the requirement scheme a to the requirement scheme B, so that the original service combination a is not applicable any more and cannot meet the new requirement of the user. In this embodiment, after receiving the user demand change notification, it is determined that the current environment has changed, and then the population is initialized again according to steps S104-S108, and then the optimal solution is searched, so that the finally obtained optimal service combination is the optimal service combination B applicable to the latest demand scheme B of the user, and the execution service combination a is changed to the execution service combination B. Or in the process of searching the optimal service combination from the multiple service combination schemes according to the requirement scheme A proposed by the user, the user proposes requirement change, the requirement change is changed from the requirement scheme A to the requirement scheme B, the searching is not performed according to the original requirement, the current environment is determined to be changed according to the received user requirement change notification, the population is initialized again according to the steps S104-S108, and the optimal solution is searched again, so that the finally obtained optimal service combination is the optimal service combination B applicable to the latest requirement scheme B of the user.
Step S104, predicting and obtaining the pareto front representative points of the new environment population according to the pareto front representative points of the previous k-generation population obtained in the autonomous evolution process of the population, wherein the pareto front representative points comprise inflection points, boundary points and center points.
The pareto front represents a non-dominant solution set, i.e., a set of optimal solutions, in the multi-objective optimization method, and the pareto front representative points in this embodiment refer to a plurality of points (solutions) in the pareto front (non-dominant solution set) that are representative. In this embodiment, the pareto front representative point includes an inflection point, a boundary point, and a center point of the pareto front. Optionally, k represents a positive integer greater than 300. The new environment population represents the population most likely to evolve after the environment changes, and the pareto front representative points of the new environment population represent the pareto front representative points most likely to appear after the environment changes.
In one possible implementation manner, the pareto front representative point of the previous k-generation population obtained in the autonomous evolution process of the population is predicted to obtain the pareto front representative point of the new environment population, which comprises the following steps:
under the condition that the current environment changes from 1 st to X th generation of the population, according to pareto front representative points of a plurality of first candidate populations obtained in the autonomous evolution process of the population, predicting to obtain pareto front representative points of a new environment population, wherein the first candidate populations represent populations obtained by evolution every n generations in the previous k generations of populations; the n represents a positive integer greater than 1.
Alternatively, the value of X may be 9, and correspondingly, if the current environmental change belongs to the 1 st-9 th environmental change of the population (for example, the current environmental change is the 9 th environmental change of the population), the pareto front representative points of the first candidate populations before the current environmental change may be used as "pareto front representative points of the first k-generation population", so that the pareto front representative points of the new environmental population are predicted according to the pareto front representative points of the first candidate populations.
The first candidate population represents a population obtained by evolution every n generations in the previous k generations of population. Alternatively, n may have a value of 30. For example, when the current environment changes to the first environment of the population and the current environment changes to the 500 th generation population, the population (the value of k is 300, the population of 200 th to 500 th generation is obtained by evolution at every 30 generations in the previous k generation population (the value of k is 300) before the algebra of the current environment changes to the 500 th generation population), namely, a plurality of first candidate populations are: 500 th generation, 470 th generation, 440 th generation, 410 th generation, 380 th generation, 350 th generation, 320 th generation, 290 th generation, 260 th generation and 230 th generation.
Under the condition that the current environment changes and belong to the X+1th and later changes of the population, according to the pareto front representative points of a plurality of second candidate populations obtained in the autonomous evolution process of the population, predicting and obtaining the pareto front representative points of the new environment population, wherein the second candidate populations represent the last generation population before the previous X times of environment changes including the current environment changes.
Correspondingly, if the current environment change occurs after the X-th environment change of the population and belongs to the x+1-th and subsequent changes of the population (for example, the X value is 9, the current environment change is the 10 th environment change of the population), the pareto front representative points of the second candidate populations before the current environment change can be used as the pareto front representative points of the k-generation population, so that the pareto front representative points of the new environment population can be predicted according to the pareto front representative points of the second candidate populations.
Wherein the second candidate population represents the last generation population before the previous X environmental changes, including the current environmental change. For example, the value of X is 9, the current environment changes to the 12 th generation of the population, and the current environment changes to the 600 th generation of the population, and the last generation of population before the previous 9 times of environment changes (i.e. the 3 rd-12 th generation of environment changes) including the current environment changes is taken, namely the plurality of second generation populations are: a 600 th generation population, a 545 th generation population (11 th environmental changes after evolution to the 545 th generation population), a 511 th generation population (10 th environmental changes after evolution to the 511 th generation population), a 488 th generation population (9 th environmental changes after evolution to the 488 th generation population) … … th generation population 204 (3 rd environmental changes after evolution to the 204 th generation population).
In a possible implementation manner, the step S104 predicts the pareto front representative point of the first k generation population according to the pareto front representative point of the first k generation population obtained in the autonomous evolution process of the population, and includes:
step S1041, calculating the center point according to the following formula according to the pareto front representative points of the first candidate populations or the second candidate populations:
wherein, |x t The I represents the number of pareto optimal leading edge solutions at the moment t and x t Refers to the pareto optimal solution set at time t.
Step S1042, using the point of the minimum value of each objective function on the pareto front of the first candidate population or the second candidate population as the boundary point. Referring to FIG. 2, FIG. 2 shows a schematic representation of the pareto front, where points A to L in FIG. 2 are solutions on the pareto optimal front, and point A in FIG. 2 is the objective function f of the population 1 Point L is the objective function f of the population 2 Points a and L may represent the shape of the pareto front (since this embodiment predicts a new pareto optimal front after an environmental change, and is therefore selected) The representative point is also a point capable of representing the pareto front shape), so points a and L are representative points of the population.
Step S1043, determining one or more points on the pareto fronts of the first candidate populations or the second candidate populations, which are the farthest from the connecting line of the boundary points, as the inflection points. As shown in fig. 2, a point a and a point L are representative points, a line is made between the point a and the point L as a boundary point line, the target space is equally divided into 3 parts based on an objective function f1, and a point farthest from the boundary point line is found on the pareto front in each part of the intervals to be used as an inflection point of the pareto front, so as to represent the shape of the pareto front.
Step S1044, predicting, by using a prediction model, a pareto front representative point of the new environment population according to the center point, the boundary point and the inflection point.
In this embodiment, the prediction model may be a linear regression prediction model. And inputting the central point, the boundary point and the inflection point of the pareto front of each generation of the previous k population into the prediction model to obtain a prediction result, namely the pareto front representative point (the central point, the boundary point and the inflection point) of the new environment population.
In one possible embodiment, the predictive model is trained by:
step S201, utilizing the population evolution algorithm to autonomously evolve the population, so that every n generations of evolution of the population occurs once environmental change; the n represents a positive integer greater than 1. Alternatively, the value of n can be set to 30, and the environment changes once every 30 generations of population evolution. It should be noted that, when the prediction model is trained, the set value of n needs to be the same as the value of n when the prediction is actually performed (i.e., the value of n in the population obtained by every n-generation evolution in the previous k-generation population represented by the first candidate population in the process of inputting the pareto front representative points of the first candidate populations into the prediction model and predicting the pareto front representative points of the new environment population).
Step S202, recording population information after each environmental change, wherein the population information comprises: the population autonomously evolves to the coordinate information of the pareto front representative point of the last generation population before the next environmental change. The population evolves from the 1 st generation to the 30 th generation, the environment changes for the first time, and then evolves from the 31 st generation to the 60 th generation, the environment changes for the second time, corresponding to the evolution, the coordinate information of the pareto front representative point of the 60 th generation population needs to be recorded, and the coordinate information of the pareto front representative point of the 60 th generation population is used as an autonomous evolution result of the population after the first environmental change.
And step S203, when the environment m+1st time is changed, carrying out sliding window operation on the recorded first m times of population information according to a time sequence, taking X pieces of continuous population information in the sliding window as a training sample, and taking the population information at the later position of the sliding window as a label of the training sample to generate a training sample set. Wherein m is a positive integer greater than X. Referring to fig. 3, fig. 3 shows a schematic diagram of a sliding window operation, as shown in fig. 3, let X be 3, take the population information of bits 1-3 as sample 1 according to time sequence, and the population information of bit 4 as the label (predictor 1) of sample 1; the population information of the 2 nd bit to the 4 th bit is sample 2, and the population information of the 5 th bit is a label (predicted value 2) of the sample 2; the population information of the 3 rd to 5 th bits is sample 3, and the population information of the 6 th bits is the label (predictive value 3) of sample 3. It should be noted that, when the prediction model is trained, the set value of X needs to be the same as the value of X when the prediction is actually performed (i.e., the pareto front representative points of the second candidate population are input into the prediction model when step S104 is performed, and the second candidate population represents the value of X in the last generation population before the previous X times of environmental changes including the current environmental change in the process of predicting the pareto front representative points of the new environmental population). The value of X here represents a reasonably sampled value that can ensure the accuracy of the prediction model.
And step S204, training the model by using the training sample set to obtain the prediction model.
Step S105, expanding to obtain a first population according to the predicted pareto front representative points of the new environment population, and generating a second population; the first population represents a population for improving convergence and the second population represents a population for increasing diversity.
The dynamic multi-objective optimization algorithm is an algorithm for solving the multi-objective optimization problem, and can adaptively adjust the search strategy under the dynamic environment to adapt to the change of the objective function. When the environment is not changed, the multi-objective optimization process is performed by adopting a traditional genetic algorithm (adopting the genetic algorithm, obtaining an optimal solution through population evolution, and outputting a service combination corresponding to the optimal solution as an optimal service combination). When the environment changes (when the user's service needs or service pool parameters change), the objective function or constraint of the dynamic multi-objective optimization problem changes, and the algorithm needs an effective environment change response mechanism to adapt to the change.
The related technology has a little blindness in solving the problem of dynamic multi-objective optimization, because the convergence rate is difficult to ensure because the optimal solution is found by the autonomous evolution capability of the population after the diversity of the population is maintained. If the optimal solution obtained by previous searching is multiplexed through the memory strategy to be used as priori knowledge to respond to environmental changes, the prediction-based method can provide a guiding direction for population evolution through the prediction strategy after the environmental changes, and the algorithm is assisted to respond quickly, the problems that the historical information is insufficient and the accuracy of the predicted effect cannot be guaranteed easily occur.
The embodiment of the application provides that the population which has evolved for a period of time can provide a certain priori knowledge (the pareto front representative point of the previous k-generation population) for the distribution of the optimal population in a new environment, so that a first population is obtained based on the prior knowledge expansion, the first population is utilized to accelerate convergence, and the time required by the population evolution is reduced; in order to avoid the loss of diversity of the population after evolution, a certain diversity maintaining strategy (generating a second population for increasing diversity) is adopted to avoid the solution set from falling into local optimum, so that the utilization of priori knowledge and the effective combination of convergence and diversity are realized.
In one possible embodiment, the first population is expanded by the steps of:
and generating a plurality of clusters by taking the predicted pareto front representative points of the new environment population as cluster centers, so that the total number of clustered individuals is consistent with the total number of individuals of the initialized population, and obtaining the first population.
In this embodiment, a plurality of clusters are generated based on the predicted pareto front representative point in the new environment (the pareto front representative point of the new environment population), and the sum of the clustered individuals is consistent with the size of the initialized population, and the first population is generated from the angle of acceleration convergence.
In one possible embodiment, the second population is generated by the steps comprising:
determining the upper and lower bounds of pareto front representative points of the new environmental population;
within the upper and lower bounds, diverse individuals are randomly generated according to the following formula:
dp d (i)=L d +r(i)*(U d -L a );
wherein said dp d (i) Is the value of the ith dimension of the diversity individual in the decision space, the L d Is the lower bound of the d dimension of the decision space of all the pareto front representative points, U d Is the upper bound of the d dimension of all the pareto front representative points, and r is [0,1]Parameters randomly generated between the two; and enabling the total number of the generated individuals to be consistent with the total number of the individuals of the initialized population, and obtaining the second population.
In this embodiment, in order to maintain diversity of the population, the population is prevented from being trapped in local optimum, and according to the upper bound (highest value) and lower bound (lowest value) of the pareto front representative point of the new environmental population, a plurality of individuals are randomly generated between the upper bound and the lower bound, and the sum of the individuals is consistent with the size of the initialized population. The coordinates of the ith individual in the second population DP thus obtained in the decision space are:
DP(i)=[dp 1 (i),dp 2 (i),dp 3 (i),dp 4 (i),dp 5 (i)......dp n (i)];
wherein DP (i) represents the ith individual in the second population DP, DP d (i) The value of the d dimension of the ith diversity individual in the decision space is set to be n dimensions altogether, the value of n can be set according to actual requirements, and the value is not limited in the embodiment.
And S106, combining the first population with the second population by using dynamic parameters to obtain a new initialized population.
Dynamic parameters represent parameters that change over time during evolution, e.g., parameters that decrease as time increases. According to the embodiment of the application, the pareto optimal front representative point (the pareto front representative point of the previous k-generation population) under the new environment is predicted according to the obtained pareto optimal front representative point (the pareto front representative point of the new environment population) of the historical population autonomous evolution. And finally, dynamically combining the two groups according to time to balance the convergence and diversity of the populations.
In a possible implementation manner, the step S106 combines the first population and the second population to obtain a new initialized population by using dynamic parameters, including: :
Step S1061, for each individual in the first population, randomly generating a floating point number with a value in the range of [0,1 ].
Step S1062, when the floating point number is smaller than the dynamic parameter, replacing the individual with an individual at a corresponding position in the second population to obtain the new initialized population; the dynamic parameter decreases with increasing time.
When dynamically combining individuals for increased convergence (individuals of a first population) and individuals for increased diversity (individuals of a second population), the proportion of individuals in both populations in the resulting new initialized population is controlled by dynamic parameters. Specifically, in the early stage of population evolution, as training set data is less, prediction accuracy is low, more diverse individuals and fewer convergent individuals are selected to combine to generate a population (time is shorter, so that dynamic parameters are smaller, more individuals in a second population can be selected, fewer individuals in a first population) in the embodiment of the application, and the proportion of the convergent individuals in the population is gradually increased along with time (along with time, the dynamic parameters are larger, and more individuals in the first population can be selected).
In one possible implementation, the dynamic parameters are calculated according to the following formula:
wherein, T represents the ratio of the current evolution algebra curgen to the environmental change frequency num_eva, the current evolution algebra represents the algebra of the population which has evolved at the current moment, and the environmental change frequency represents the ratio of the evolution algebra to the environmental change frequency. Thus, the resulting dynamic parameter P will decrease over time, and the probability that the randomly generated floating point number is smaller than the dynamic parameter will be lower, thereby resulting in fewer replaced individuals in the first population.
The embodiment of the application provides a method for dynamically combining a population for improving convergence and a population for increasing diversity, which has less training data in the initial stage of environmental change, has insufficient model accuracy, and more individuals for increasing diversity rather than predictive individuals with insufficient accuracy are contained in a newly generated initialized population. When the population history information serving as training data is stored sufficiently, the prediction accuracy is improved, the predicted representative points are more accurate, and more predicted individuals are contained in the new population instead of randomly generated diversified individuals.
And step S107, utilizing the population evolution algorithm to enable the new initialized population to autonomously evolve until the evolution stopping condition is met, and obtaining the pareto optimal solution in the current environment. Specifically, the NSGA-II method can be adopted to carry out population evolution, and when the maximum evolution algebra is reached, the non-dominant solution of the population, namely the pareto optimal solution in the current environment, is obtained.
And S108, determining the service combination corresponding to the pareto optimal solution as an optimal service combination, and sending the optimal service combination to a user.
Referring to fig. 4, fig. 4 shows a flow chart of dynamic service combination selection, as shown in fig. 4, in the process of searching for an optimal service combination, the service combination problem is abstracted into a subset problem, different combinations are converted into different individuals in a population, and the population is initialized by coding. And then, adopting an NSGA-II method to enable the population to automatically evolve, judging whether the evolution meets the termination condition (such as reaching the maximum evolution algebra) in the process, outputting an optimal solution if the evolution meets the termination condition, and continuously monitoring whether the environment changes if the evolution does not meet the termination condition. When the environmental conditions such as the demands of the service consumers and the service parameters change, a new initialization population needs to be predicted again, and the population at the moment is initialized so as to improve the convergence of evolution and prevent the solution set from falling into local optimum. As shown in fig. 4, in the embodiment of the present application, a population at a new moment is reinitialized by using a prediction strategy based on a representative point, and according to pareto front representative points of the population (a group of pareto front representative points of the first 9 groups is set, and every 30 generations of the population is set) when the environment changes at a historical moment, the pareto front representative points of the new environment population are predicted, and the pareto front representative points of the new environment population are used as cluster centers, so as to generate a first population on the same scale as the initialized population, thereby accelerating the convergence rate by using the first population, and meanwhile, a diversity maintaining strategy is adopted, so that the maximum value and the minimum value of each dimension of the predicted representative points in a decision space are found, and individuals are randomly generated in the range of the maximum value and the minimum value, so as to obtain a second population on the same scale as the initialized population, thereby preventing the solution from falling into local optimum by using diverse individuals of the second population. By dynamically combining the two populations, a new initialized population is obtained. As shown in fig. 4, the NSGA-II method is adopted to allow the new initialized population to self-evolve, and finally a non-dominant solution set is obtained, and the optimal service combination is determined according to the non-dominant solution set.
The service portfolio optimization problem can be abstracted into subset problems, encoding various service portfolios into genotype constituent populations of individuals and solved by genetic algorithms. However, the service composition optimization problem is not always static, and when the user's demand for the service or the parameters of the service itself change during the evolution process, a simple genetic algorithm is not enough to solve the problem well. Aiming at the dynamic property of the service selection problem, the embodiment of the application proposes to adopt a dynamic multi-objective optimization algorithm to solve the problem. The embodiment of the application provides a dynamic service combination selection algorithm based on a representative point prediction strategy, which is used for solving the dynamic problem in the service combination optimization process.
Specifically, under the circumstance that the environment changes, the embodiment of the application trains the prediction model to predict the pareto front representative points of the initial population in the new environment according to the history information by searching the representative points of the pareto front of the historical environment population, then uses the predicted representative points as the center of the cluster to generate a new population (first population) which is easier to converge in the new environment, randomly generates a plurality of new populations (second population) with better diversity according to the upper and lower boundaries of the predicted representative points, and dynamically combines the population used for ensuring convergence and the population used for ensuring diversity, so that the initialized population maintains an optimal balance between convergence and diversity.
A second aspect of the embodiments of the present application provides a dynamic service combination selection device, referring to fig. 5, fig. 5 shows a schematic structural diagram of the dynamic service combination selection device, as shown in fig. 5, where the device includes:
the initialization population generation module is used for generating an initialization population according to the service combination related information and coding the initialization population; each individual in the initialized population represents a combination of services;
the first evolution module is used for enabling the initialized population to autonomously evolve by utilizing a population evolution algorithm;
the environment change detection module is used for determining that the current environment is changed under the condition that a user demand change notification or a service pool parameter change notification is received;
the representative point prediction module is used for predicting and obtaining the pareto front representative points of the new environment population according to the pareto front representative points of the previous k-generation population obtained in the autonomous evolution process of the population, wherein the pareto front representative points comprise inflection points, boundary points and center points;
the population prediction module is used for expanding to obtain a first population according to the predicted pareto front representative points of the new environment population and generating a second population; the first population represents a population for improving convergence, and the second population represents a population for increasing diversity;
The population combination module is used for combining the first population with the second population by utilizing dynamic parameters to obtain a new initialized population;
the second evolution module is used for enabling the new initialized population to autonomously evolve by utilizing the population evolution algorithm until the evolution stopping condition is met, so as to obtain the pareto optimal solution in the current environment;
and the optimal solution determining module is used for determining the service combination corresponding to the pareto optimal solution as an optimal service combination and sending the optimal service combination to the user.
In one possible embodiment, the population prediction module includes: :
the first population prediction sub-module is used for generating a plurality of clusters by taking the pareto front representative points of the new environment population obtained through prediction as cluster centers, so that the total number of clustered individuals is consistent with the total number of individuals of the initialized population, and the first population is obtained.
In one possible embodiment, the population prediction module further includes:
the upper and lower boundary determining submodules are used for determining the upper and lower boundaries of the pareto front representative points of the new environment population;
a second population prediction submodule, configured to randomly generate diverse individuals within the range of the upper bound and the lower bound according to the following formula:
dp d (i)=L d +r(i)*(U d -L d );
Wherein said at least one ofDp of the following formula d (i) Is the value of the ith dimension of the diversity individual in the decision space, the L d Is the lower bound of the d dimension of the decision space of all the pareto front representative points, U d Is the upper bound of the d dimension of all the pareto front representative points, and r is [0,1]Parameters randomly generated between the two; and enabling the total number of the generated individuals to be consistent with the total number of the individuals of the initialized population, and obtaining the second population.
In one possible implementation manner, the representative point prediction module includes:
the first representative point predicting sub-module is used for predicting and obtaining pareto front representative points of a new environment population according to pareto front representative points of a plurality of first candidate populations obtained in the autonomous evolution process of the population under the condition that the current environment changes from the 1 st time to the X th time of the population, wherein the first candidate populations represent populations obtained by every n generations of evolution in the previous k generations of populations; the n represents a positive integer greater than 1;
the second representative point predicting sub-module is used for predicting and obtaining pareto front representative points of a new environment population according to pareto front representative points of a plurality of second candidate populations obtained in the autonomous evolution process of the population under the condition that the current environment changes and belong to the X+1th and later changes of the population, wherein the second candidate populations represent the last generation population before the previous X times of environment changes including the current environment changes.
In one possible implementation manner, the representative point prediction module includes:
the center point calculation sub-module is used for calculating the center point according to the pareto front representative points of the first candidate populations or the second candidate populations and the following formula:
wherein, |x t The I represents the number of pareto optimal leading edge solutions at the moment t and x t Of finger typeIs the pareto optimal solution set at the moment t;
a boundary point determining sub-module, configured to take, as the boundary point, a point of a minimum value of each objective function on pareto fronts of the first candidate populations or the second candidate populations;
the inflection point determining submodule is used for determining one or more points which are farthest from the connecting line of the boundary points on the pareto fronts of the first candidate populations or the second candidate populations as the inflection points;
and the representative point prediction sub-module is used for predicting and obtaining the pareto front representative point of the new environment population according to the central point, the boundary point and the inflection point by using a prediction model.
In one possible embodiment, the apparatus further comprises a predictive model training module comprising:
the evolution sub-module is used for autonomously evolving the population by utilizing the population evolution algorithm, so that every n generations of the population are evolved, and environmental change occurs once; the n represents a positive integer greater than 1;
The population information recording sub-module is used for recording population information after each environmental change, and the population information comprises: the population autonomously evolves to the coordinate information of the pareto front representative point of the last generation population before the next environmental change;
the training sample set generation sub-module is used for carrying out sliding window operation on the recorded first m times of population information according to a time sequence when the environment m+1st time is changed, taking X continuous population information in the sliding window as a training sample, and taking the population information at the rear position of the sliding window as a label of the training sample to generate a training sample set;
and the training sub-module is used for training the model by using the training sample set to obtain the prediction model.
In one possible embodiment, the population binding module comprises: :
the floating point generation sub-module is used for randomly generating a floating point number with the value within the range of [0,1] for each individual in the first population;
a replacement sub-module, configured to replace the individual with an individual at a corresponding position in the second population when the floating point number is smaller than the dynamic parameter, so as to obtain the new initialized population; the dynamic parameter decreases with increasing time.
In a possible implementation manner, the replacing sub-module is further configured to calculate the dynamic parameter according to the following formula:
wherein, T represents the ratio of the current evolution algebra to the environmental change frequency.
The embodiment of the application also provides an electronic device, and referring to fig. 6, fig. 6 is a schematic diagram of the electronic device according to the embodiment of the application. As shown in fig. 6, the electronic device 100 includes: the memory 110 and the processor 120 are connected through a bus communication, and the memory 110 and the processor 120 are stored with a computer program, and the computer program can run on the processor 120, so as to realize the steps in the dynamic service combination selection method disclosed in the embodiment of the application.
Embodiments of the present application also provide a computer readable storage medium having stored thereon a computer program/instruction which, when executed by a processor, implements steps in a dynamic service combination selection method as disclosed in embodiments of the present application.
Embodiments of the present application also provide a computer program product which, when run on an electronic device, causes a processor to perform the steps of the dynamic service combination selection method as disclosed in the embodiments of the present application.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described by differences from other embodiments, and identical and similar parts between the embodiments are all enough to be referred to each other.
Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus, electronic devices, and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present embodiments have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the present application.
Finally, it is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or terminal device comprising the element.
The foregoing has described in detail a method, apparatus and article of dynamic service composition selection provided herein, wherein specific examples are employed to illustrate the principles and embodiments of the present application, and the above examples are provided only to assist in understanding the method and core ideas of the present application; meanwhile, as those skilled in the art will have modifications in the specific embodiments and application scope in accordance with the ideas of the present application, the present description should not be construed as limiting the present application in view of the above.

Claims (10)

1. A method of dynamic service portfolio selection, the method comprising:
generating an initialization population according to the service combination related information, and coding the initialization population; each individual in the initialized population represents a combination of services;
utilizing a population evolution algorithm to autonomously evolve the initialized population;
under the condition that a user demand change notification or a service pool parameter change notification is received, determining that the current environment changes;
according to pareto front representative points of the previous k-generation population obtained in the autonomous evolution process of the population, predicting and obtaining pareto front representative points of the new environment population, wherein the pareto front representative points comprise inflection points, boundary points and center points;
Expanding to obtain a first population according to the predicted pareto front representative points of the new environment population, and generating a second population; the first population represents a population for improving convergence, and the second population represents a population for increasing diversity;
combining the first population with the second population by using dynamic parameters to obtain a new initialized population;
the new initialized population is automatically evolved by utilizing the population evolution algorithm until the evolution stopping condition is met, so that the pareto optimal solution in the current environment is obtained;
and determining the service combination corresponding to the pareto optimal solution as an optimal service combination, and sending the optimal service combination to a user.
2. The dynamic service combination selection method according to claim 1, wherein the first population is expanded by the steps of:
and generating a plurality of clusters by taking the predicted pareto front representative points of the new environment population as cluster centers, so that the total number of clustered individuals is consistent with the total number of individuals of the initialized population, and obtaining the first population.
3. The dynamic service portfolio selection method of claim 1, wherein the second population is generated by:
Determining the upper and lower bounds of pareto front representative points of the new environmental population;
within the upper and lower bounds, diverse individuals are randomly generated according to the following formula:
dp d (i)=L d +r(i)*(U d -L d );
wherein said dp d (i) Is the value of the ith dimension of the diversity individual in the decision space, the L d Is the lower bound of the d dimension of the decision space of all the pareto front representative points, U d Is all the pareto leading edge generationsThe table point is at the upper bound of the d-th dimension, r is [0,1]Parameters randomly generated between the two; and enabling the total number of the generated individuals to be consistent with the total number of the individuals of the initialized population, and obtaining the second population.
4. The method for dynamic service combination selection according to claim 1, wherein predicting the pareto front representative point of the first k generation population according to the pareto front representative point of the first k generation population obtained in the autonomous evolution process of the population comprises:
under the condition that the current environment changes from 1 st to X th generation of the population, according to pareto front representative points of a plurality of first candidate populations obtained in the autonomous evolution process of the population, predicting to obtain pareto front representative points of a new environment population, wherein the first candidate populations represent populations obtained by evolution every n generations in the previous k generations of populations; the n represents a positive integer greater than 1;
Under the condition that the current environment changes and belong to the X+1th and later changes of the population, according to the pareto front representative points of a plurality of second candidate populations obtained in the autonomous evolution process of the population, predicting and obtaining the pareto front representative points of the new environment population, wherein the second candidate populations represent the last generation population before the previous X times of environment changes including the current environment changes.
5. The method for dynamic service combination selection according to claim 4, wherein predicting the pareto front representative point of the first k generation population according to the pareto front representative point of the first k generation population obtained in the autonomous evolution process of the population comprises:
according to the pareto front representative points of the first candidate populations or the second candidate populations, calculating the center point according to the following formula:
wherein the method comprises the steps of,|x t The I represents the number of pareto optimal leading edge solutions at the moment t and x t Refers to the pareto optimal solution set at the time t;
taking the point of the minimum value of each objective function on the pareto front of the first candidate populations or the second candidate populations as the boundary point;
determining one or more points which are farthest from the connecting line of the boundary points on the pareto front edges of the first candidate populations or the second candidate populations as the inflection points; the method comprises the steps of carrying out a first treatment on the surface of the
And predicting the pareto front representative point of the new environment population according to the central point, the boundary point and the inflection point by using a prediction model.
6. The method of claim 5, wherein the predictive model is trained by:
the population is automatically evolved by utilizing the population evolution algorithm, so that every n generations of the population are evolved, and environmental change occurs once;
and recording population information after each environmental change, wherein the population information comprises: the population autonomously evolves to the coordinate information of the pareto front representative point of the last generation population before the next environmental change;
when the environment m+1st time is changed, carrying out sliding window operation on the recorded population information m times before according to a time sequence, taking X continuous population information in the sliding window as a training sample, and taking population information at the rear position of the sliding window as a label of the training sample to generate a training sample set;
and training the model by using the training sample set to obtain the prediction model.
7. The method of claim 1, wherein combining the first population and the second population using dynamic parameters results in a new initialized population, comprising:
Randomly generating a floating point number with a value within a range of [0,1] for each individual in the first population;
when the floating point number is smaller than the dynamic parameter, replacing the individual with the individual at the corresponding position in the second population to obtain the new initialization population; the dynamic parameter decreases with increasing time.
8. The dynamic service combination selection method according to claim 7, wherein the dynamic parameters are calculated according to the following formula:
where T represents the ratio of the current algebra to the frequency of the environmental change.
9. A dynamic service composition selection apparatus, the apparatus comprising:
the initialization population generation module is used for generating an initialization population according to the service combination related information and coding the initialization population; each individual in the initialized population represents a combination of services;
the first evolution module is used for enabling the initialized population to autonomously evolve by utilizing a population evolution algorithm;
the environment change detection module is used for determining that the current environment is changed under the condition that a user demand change notification or a service pool parameter change notification is received;
the representative point prediction module is used for predicting and obtaining the pareto front representative points of the new environment population according to the pareto front representative points of the previous k-generation population obtained in the autonomous evolution process of the population, wherein the pareto front representative points comprise inflection points, boundary points and center points;
The population prediction module is used for expanding to obtain a first population according to the predicted pareto front representative points of the new environment population and generating a second population; the first population represents a population for improving convergence, and the second population represents a population for increasing diversity;
the population combination module is used for combining the first population with the second population by utilizing dynamic parameters to obtain a new initialized population;
the second evolution module is used for enabling the new initialized population to autonomously evolve by utilizing the population evolution algorithm until the evolution stopping condition is met, so as to obtain the pareto optimal solution in the current environment;
and the optimal solution determining module is used for determining the service combination corresponding to the pareto optimal solution as an optimal service combination and sending the optimal service combination to the user.
10. An electronic device comprising a memory, a processor and a computer program stored on the memory, wherein the processor executes the computer program to implement the dynamic service portfolio selection method of any one of claims 1-8.
CN202311657941.8A 2023-12-05 2023-12-05 Dynamic service combination selection method, device and product Active CN117634302B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311657941.8A CN117634302B (en) 2023-12-05 2023-12-05 Dynamic service combination selection method, device and product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311657941.8A CN117634302B (en) 2023-12-05 2023-12-05 Dynamic service combination selection method, device and product

Publications (2)

Publication Number Publication Date
CN117634302A true CN117634302A (en) 2024-03-01
CN117634302B CN117634302B (en) 2024-05-14

Family

ID=90017974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311657941.8A Active CN117634302B (en) 2023-12-05 2023-12-05 Dynamic service combination selection method, device and product

Country Status (1)

Country Link
CN (1) CN117634302B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516141A (en) * 2017-06-24 2017-12-26 燕山大学 A kind of dynamic multi-objective evolution algorithm based on SVM prediction strategy
CN115662498A (en) * 2022-12-29 2023-01-31 天津大学 Biological metabolic pathway design method based on improved multi-objective evolutionary algorithm
CN116340839A (en) * 2023-02-08 2023-06-27 北京大数据先进技术研究院 Algorithm selecting method and device based on ant lion algorithm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516141A (en) * 2017-06-24 2017-12-26 燕山大学 A kind of dynamic multi-objective evolution algorithm based on SVM prediction strategy
CN115662498A (en) * 2022-12-29 2023-01-31 天津大学 Biological metabolic pathway design method based on improved multi-objective evolutionary algorithm
CN116340839A (en) * 2023-02-08 2023-06-27 北京大数据先进技术研究院 Algorithm selecting method and device based on ant lion algorithm

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AZIMI, H等: "Evolutionary Pareto optimization of an ANFIS network for modeling scour at pile groups in clear water condition", 《FUZZY SETS AND SYSTEMS》, 15 July 2017 (2017-07-15), pages 50 - 69 *
李霞霞: "基于预测策略的动态多目标进化算法研究", 《中国优秀硕士学位论文全文数据库》, no. 3, 15 March 2022 (2022-03-15), pages 1 - 79 *
稀土掘金: "多目标优化-MOEAD笔记", 《HTTP://JUEJIN.CN/POST/7090903403320049671》, 26 April 2022 (2022-04-26), pages 1 - 15 *

Also Published As

Publication number Publication date
CN117634302B (en) 2024-05-14

Similar Documents

Publication Publication Date Title
CN110780938B (en) Computing task unloading method based on differential evolution in mobile cloud environment
CN111860939B (en) Passenger flow prediction method and system based on attention mechanism and RCLSTM network
CN110705758B (en) Underwater network-oriented network element optimization layout method
CN110730369B (en) Video recommendation method and server
Nadeem et al. Predicting the execution time of grid workflow applications through local learning
CN110851247A (en) Cost optimization scheduling method for constrained cloud workflow
CN117634302B (en) Dynamic service combination selection method, device and product
CN112258129A (en) Distribution path prediction network training and distribution resource scheduling method and device
CN110971683B (en) Service combination method based on reinforcement learning
WO2023030230A1 (en) Using a machine learning module to determine a group of execution paths of program code and a computational resource allocation to use to execute the group of execution paths
CN114444240B (en) Delay and service life optimization method for cyber-physical system
US20060192850A1 (en) Method of and system to set an output quality of a media frame
CN113127167B (en) Heterogeneous resource intelligent parallel scheduling method based on improved genetic algorithm
CN115756772A (en) Dynamic arrangement and task scheduling method and system for edge cloud mixed operation
CN114839940A (en) Cross-domain collaborative workshop dynamic scheduling method based on balance index adaptive evolution
CN113747500A (en) High-energy-efficiency low-delay task unloading method based on generation countermeasure network in mobile edge computing environment
Riedel et al. Dynamic pooling for the combination of forecasts generated using multi level learning
CN112927037A (en) Supplier recommendation method and system
CN112749211A (en) Novel tea yield prediction method based on electric power big data
Wang et al. DyCE: Dynamic Configurable Exiting for Deep Learning Compression and Scaling
CN115471142B (en) Intelligent port tug operation scheduling method based on man-machine cooperation
CN111917854B (en) Cooperation type migration decision method and system facing MCC
CN117077726B (en) Method, device and medium for generating in-memory computing neural network model
CN116385071A (en) Resource flexible scheduling method and device for multiple recommendation scenes
CN117391624A (en) Service execution method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant