Cloud manufacturing service combination optimization method and device, computing device and storage medium

By combining genetic algorithms and differential evolution algorithms to optimize cloud manufacturing service composition, the problems of low efficiency in multi-objective optimization and QoS standard trade-offs in the cloud manufacturing service composition problem are solved, and a more efficient service composition scheme is achieved.

CN116266140BActive Publication Date: 2025-11-04CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210681053.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-16
Publication Date
2025-11-04
Estimated Expiration
2042-06-16

AI Technical Summary

Technical Problem

The cloud manufacturing service composition problem is an NP-hard problem, and existing technologies struggle to effectively solve multi-objective optimization problems, especially given the diversity of user needs, low computational efficiency, and difficulty in achieving a trade-off between QoS standards.

Method used

An optimization method combining genetic algorithms and differential evolution algorithms is adopted. Through chromosome encoding, fitness value calculation and various crossover and mutation processes, the cloud manufacturing service combination is optimized. The global search capability of genetic algorithms and the local search capability of differential evolution algorithms are utilized to improve the balance between computational efficiency and QoS standards.

Benefits of technology

It improves the computing efficiency and QoS standard trade-offs of cloud manufacturing service portfolios, enabling a better service portfolio solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116266140B_ABST
    Figure CN116266140B_ABST
Patent Text Reader

Abstract

The application discloses a kind of cloud manufacturing service combination optimization method, device, computing device and storage medium, cloud manufacturing service combination is subtask and manufacturing resource combination, method includes: to the multiple combinations of subtask and manufacturing resource one by one coding, obtain multiple chromosomes, construct population comprising multiple chromosomes;According to the processing information of subtask and manufacturing resource corresponding to chromosome, the fitness value of chromosome is calculated;Determine whether the fitness value of chromosome is greater than preset optimization threshold;If yes, according to the chromosome of the fitness value greater than preset optimization threshold, obtain corresponding cloud manufacturing service combination;If not, obtain the optimization algebra of chromosome, according to the comparison of optimization algebra and preset algebra threshold, based on first optimization algorithm or second optimization algorithm, cross processing or difference mutation processing is carried out to chromosome, continue to calculate the fitness value of processed chromosome and judge, until the fitness value is greater than preset optimization threshold.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the field of IT applications, and in particular to a cloud manufacturing service combination optimization method and device, computing equipment and storage medium. BACKGROUND

[0002] Cloud computing is a new computing model, which mainly features that highly virtualized computing resources are centrally managed through a cloud platform to form a large resource pool, and then the cloud platform provides on-demand pay-as-you-go computing services for enterprises or individuals at any time and any place through the Internet in an autonomous and heterogeneous manner. When "manufacturing resources" are used to replace "computing resources", the computing model of cloud computing can be applied to the manufacturing field, and provides a brand-new idea for the informationization and service of manufacturing industry. With the popular use of the network accelerating the process of product informationization and virtualization, manufacturing vendors no longer limit to providing product components, but provide manufacturing capabilities. The manufacturing capabilities of manufacturers are centrally managed through the Internet to a unified platform, and the manufacturing mode is also changed from the traditional supply chain to cloud manufacturing.

[0003] The cloud manufacturing service combination problem is a typical NP problem (Non-deterministic Polynomial), which needs to decompose a complex manufacturing task into multiple sub-tasks according to the user's demand QoS (Quality of Service, such as time, cost, reliability and satisfaction), and the set composed of the sub-tasks is called a sub-task set, which contains multiple sub-tasks, such as sub-task 1, sub-task 2, sub-task n, and corresponding resources 1, 2, n, etc. The multiple sub-tasks and resources are combined in a certain logical order to form a CSEP (Composed Service Execute Path), and the CSEP finds the optimal execution path CSEP best according to the multi-objective optimization attribute through various intelligent optimization algorithms. The specific process is shown in Figure 1 . However, the optimal solution of the cloud manufacturing service combination problem is affected by the user's demand, and has the characteristics of uncertainty and mutual exclusion. When the user's demand is single, there is an optimal solution. However, in actual application, due to the influence of the diversity of user's demand, only a suboptimal solution is possible, which has multiple extreme values. Inspired by biological population evolution, the existing technology mainly has the following two optimization methods to solve the service combination problem based on the QoS evaluation model in cloud manufacturing.

[0004] One is a single-target optimization method, which is to construct an aggregate function according to the weighted combination of user preference characteristics, to convert the multi-target problem into a single-target problem, and finally to find the optimal solution of the aggregate function by using a single-target optimization algorithm and return it to the user as the optimization result. In practical applications, due to the conflict of QoS attributes, the customer can only obtain a set of Pareto optimal solutions. Due to the conflict of various QoS standards, it is difficult to express the trade-off of QoS standards using the service combination scheme obtained by this method.

[0005] Another method is a multi-target optimization method, which uses a multi-target optimization method to obtain a set of solutions with QoS standard trade-off values based on the Pareto optimal solution. However, in practical applications, service combination optimization problems usually involve four or more targets, and this method cannot effectively use user preference characteristics, and the calculation efficiency of the method will decrease with the increase of the number of targets. SUMMARY

[0006] In view of the above problems, the embodiments of the present application are proposed to provide a cloud manufacturing service combination optimization method, device, computing equipment and storage medium which overcome the above problems or at least partially solve the above problems.

[0007] According to an aspect of an embodiment of the present application, a cloud manufacturing service combination optimization method is provided, the method comprising:

[0008] The cloud manufacturing service combination is a combination of sub-tasks and manufacturing resources, and the method comprises:

[0009] The encoding step encodes each combination of sub-tasks and manufacturing resources to obtain a plurality of chromosomes, and constructs a population containing the plurality of chromosomes; the sub-tasks are obtained by task decomposition; and the optimization generation number of the chromosome is a preset initial value.

[0010] The fitness value calculation step calculates the fitness value of the chromosome according to the processing information of the sub-task and the manufacturing resource corresponding to the chromosome.

[0011] The judgment step judges whether the fitness value of the chromosome is greater than a preset optimization threshold; if yes, the determination step is executed; if no, the optimization generation number of the chromosome is obtained, and if the optimization generation number is less than a preset generation number threshold, the first optimization step is executed; if the optimization generation number is greater than or equal to the preset generation number threshold, the second optimization step is executed.

[0012] The first optimization step cross-processes the chromosome and other chromosomes based on a first optimization algorithm to obtain a cross-processed chromosome; wherein the optimization generation number of the cross-processed chromosome is obtained by incrementing the optimization generation number of the chromosome; the chromosome and the other chromosomes are parent nodes of the cross-processed chromosome; and the cross-processed chromosome is returned to execute the fitness value calculation step and the judgment step.

[0013] The second optimization step is based on a second optimization algorithm to obtain a parent chromosome corresponding to a parent node of the chromosome, and to obtain a differential mutation processed chromosome according to the parent chromosome and a differential mutation factor, wherein the differential mutation factor is determined according to a preset maximum optimization generation number and an optimization generation number of the chromosome, and the differential mutation processed chromosome is returned to execute the fitness value calculation step and the judgment step;

[0014] The determination step is to obtain a corresponding cloud manufacturing service combination according to the chromosome with the fitness value greater than the preset optimization threshold.

[0015] According to another aspect of the embodiment of the present application, a cloud manufacturing service combination optimization device is provided, which comprises:

[0016] The encoding module is adapted to encode each combination of the subtasks and the manufacturing resources to obtain a plurality of chromosomes, and to construct a population comprising the plurality of chromosomes; the subtasks are obtained by task decomposition; and the optimization generation number of the chromosome is a preset initial value.

[0017] The fitness value calculation module is adapted to calculate the fitness value of the chromosome according to the processing information of the subtasks and the manufacturing resources corresponding to the chromosome.

[0018] The judgment module is adapted to judge whether the fitness value of the chromosome is greater than a preset optimization threshold; if yes, the determination step is executed; if no, the optimization generation number of the chromosome is obtained, and if the optimization generation number is less than a preset generation threshold, the first optimization module is executed; if the optimization generation number is greater than or equal to the preset generation threshold, the second optimization module is executed.

[0019] The first optimization module is adapted to cross-process the chromosome and other chromosomes based on a first optimization algorithm to obtain a cross-processed chromosome; wherein the optimization generation number of the cross-processed chromosome is obtained by incrementing the optimization generation number of the chromosome; the chromosome and the other chromosomes are parent nodes of the cross-processed chromosome; and the cross-processed chromosome is returned to execute the fitness value calculation module and the judgment module.

[0020] The second optimization module is adapted to obtain a parent chromosome corresponding to a parent node of the chromosome based on a second optimization algorithm, and to obtain a differential mutation processed chromosome according to the parent chromosome and a differential mutation factor, wherein the differential mutation factor is determined according to a preset maximum optimization generation number and an optimization generation number of the chromosome, and the differential mutation processed chromosome is returned to execute the fitness value calculation module and the judgment module.

[0021] The determination module is adapted to obtain a corresponding cloud manufacturing service combination according to the chromosome with the fitness value greater than the preset optimization threshold.

[0022] According to another aspect of the embodiment of the present application, a computing device is provided, comprising a processor, a memory, a communication interface and a communication bus, the processor, the memory and the communication interface are in communication with each other through the communication bus;

[0023] The memory is configured to store at least one executable instruction, and the executable instruction is configured to enable the processor to perform the operation corresponding to the cloud manufacturing service combination optimization method.

[0024] According to another aspect of the embodiment of the present application, a computer storage medium is provided, and the storage medium stores at least one executable instruction, and the executable instruction is configured to enable the processor to perform the operation corresponding to the cloud manufacturing service combination optimization method.

[0025] According to the cloud manufacturing service combination optimization method, the device, the computing device and the storage medium provided by the embodiment of the present application, the first optimization algorithm and the second optimization algorithm are combined, the first optimization algorithm has the advantage of global search in early evolution, and the second optimization algorithm has the advantage of local search in differential mutation processing in late evolution, so as to accelerate the convergence speed of optimization, improve the calculation efficiency in the optimization process, and solve the calculation efficiency problem of multi-objective optimization in the prior art.

[0026] The above description is only a summary of the technical scheme of the embodiment of the present application, in order to more clearly understand the technical means of the embodiment of the present application, the content of the specification can be implemented, and in order to make the above and other purposes, characteristics and advantages of the embodiment of the present application more obvious and easy to understand, the following specific embodiments of the embodiment of the present application are described. BRIEF DESCRIPTION OF DRAWINGS

[0027] By reading the detailed description of the preferred embodiments below, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of illustrating the preferred embodiments and are not considered as limiting the embodiments of the present application. Moreover, the same reference symbols are used to represent the same parts throughout the drawings. In the drawings:

[0028] Figure 1 An optimization flowchart of a cloud manufacturing service combination is shown;

[0029] Figure 2 A flowchart of a cloud manufacturing service combination optimization method according to an embodiment of the present application is shown;

[0030] Figure 3A structural schematic diagram of an optimization apparatus of cloud manufacturing service combination according to one embodiment of the present application is shown;

[0031] Figure 4 A structural schematic diagram of a computing device according to one embodiment of the present application is shown. DETAILED DESCRIPTION

[0032] Exemplary embodiments of the present application will be described herein below with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that the present application can be more thoroughly understood and so that the scope of the present application can be conveyed completely to those skilled in the art.

[0033] Figure 2 A flow chart of an optimization method of cloud manufacturing service combination according to one embodiment of the present application is shown, as shown in Figure 2 The method comprises the following steps:

[0034] In step S201, each of the combinations of subtasks and manufacturing resources is encoded to obtain a plurality of chromosomes, and a population containing the plurality of chromosomes is constructed.

[0035] A manufacturing task (hereinafter referred to as a task) can be decomposed into a plurality of subtasks in advance, and the number of subtasks is generally much larger than the number of manufacturing resources, i.e., a manufacturing resource needs to execute a plurality of subtasks to complete the overall task. The task can be decomposed into a plurality of subtasks according to the implementation, which is not limited here. The manufacturing resources are obtained from a resource pool, including resources such as virtual machines. The combination of subtasks and manufacturing resources constitutes a cloud service manufacturing service combination. In this embodiment, the combination of subtasks and manufacturing resources needs to be optimized to improve the optimization effect in different aspects, such as time, cost, reliability, satisfaction, etc.

[0036] The combination of subtasks and manufacturing resources can be randomly combined or combined according to the existing combination mode. Each of the combinations of subtasks and manufacturing resources is encoded to obtain a plurality of chromosomes corresponding to each of the combinations. The encoding can use indirect encoding, and the encoding value corresponds to the real data. For example, one of the chromosomes is: {1, 3, 2, 4, 2, 3, 1, 5, 2, 5}, wherein the length of the chromosome corresponds to the total number of all subtasks, each gene value in the chromosome identifies the corresponding manufacturing resource, and each gene position value in the chromosome identifies the corresponding subtask. In the above chromosome, the first gene has a position value of 1, corresponding to subtask 1, and its gene value is 1, corresponding to manufacturing resource 1; the length of the chromosome is 10, i.e., the total number of subtasks is 10, and each gene value is between 1 and 5, i.e., there are 5 manufacturing resources. According to the above chromosome, Table 1 can be obtained as follows: the combination of manufacturing resources and subtasks is as follows:

[0037] Manufacturing resources Subtasks 1 1、7 2 3、5、9 3 2、6 4 4 5 10

[0038] Table 1

[0039] According to the one-to-one coding of the subtasks and various combinations of manufacturing resources, a plurality of chromosomes are obtained, and a population is constructed based on the plurality of chromosomes. The population contains a plurality of chromosomes, and the population is a service combination. Each chromosome in the population is also provided with an optimization algebra, and the optimization algebra is set to a preset initial value, such as 1. The optimization algebra can be used to select chromosomes to participate in optimization during subsequent differential optimization based on the optimization algebra.

[0040] Further, considering that the diversity of the service combination can accelerate the convergence speed of the optimization mode, the plurality of chromosomes in the population can be subjected to screening processing, and the screening is based on the dissimilarity factors of the plurality of chromosomes. Specifically, for the plurality of chromosomes, the plurality of chromosomes can be sorted first, such as being sorted according to the coding generation order, such as first generating chromosome a and then generating chromosome b, so that the sorting obtains chromosome a and chromosome b; or being sorted according to the gene values in the plurality of chromosomes, such as being sorted according to the order of the first gene value, the second gene value, and the nth gene value in ascending order of the gene values, so that the plurality of chromosomes after sorting are obtained, such as chromosome c and chromosome d, wherein the first gene value in chromosome c is 1, and the first gene value in chromosome d is 2. If the first gene values are the same, the second gene value, the third gene value, and the nth gene value are compared to complete the sorting. The above sorting is for illustration only, and can be set according to the implementation, which is not limited herein. For the sorted plurality of chromosomes, the sum of the differences of the gene values in the zth chromosome and the (z-1)th chromosome can be calculated in sequence, and the individual dissimilarity factor V between the two chromosomes can be determined based on the sum of the differences.

[0041] V = H(M1, M2) / Hmax (1)

[0042]

[0043] Hmax = n * (m-1) (3)

[0044] Wherein, M1 and M2 are two different chromosomes, the number of genes in each chromosome is n (i.e. n subtasks), x j is the jth gene value of M1, y jis the jth gene value of M2. H(M1, M2) of formula (2) is the sum of the difference of each gene value in two different chromosomes. m is the number of manufacturing resources. Hmax of formula (3) is the maximum sum of the difference of each gene value in two different chromosomes. The individual dissimilarity factor V of formula (1) is the ratio of H(M1, M2) and Hmax. For example, when M2 is the second chromosome and M1 is the first chromosome, the sum of the difference of each gene value is obtained by using H(M1, M2), and the individual dissimilarity factor V is obtained by dividing Hmax. The individual dissimilarity factor V is compared with a preset factor threshold value. If the individual dissimilarity factor V is greater than the preset factor threshold value, it indicates that M2 is greatly dissimilar to M1, and M2 can be retained in the population. If the individual dissimilarity factor V is not greater than the preset factor threshold value, it indicates that M2 is similar to M1, and M2 is not retained in the population. Subsequently, M2 can be directly optimized based on the optimization result of M1, thereby reducing the amount of data to be processed. The preset factor threshold value can be set according to the implementation, which is not limited here.

[0045] In step S202, the fitness value of the chromosome is calculated according to the processing information of the manufacturing resources corresponding to the chromosome and the subtasks.

[0046] In this embodiment, the optimization of the chromosome (i.e., the optimization of the cloud manufacturing service combination) is started from the fitness value, and involves aspects such as task execution time, resource cost, load balancing, etc., to calculate the fitness value of the chromosome. Any chromosome is taken as a target chromosome, and the constraint value of the task execution time, the constraint value of the resource execution cost, the constraint value of the load balancing, etc. corresponding to the target chromosome are calculated according to the processing information of the target manufacturing resources and the target subtasks corresponding to the target chromosome.

[0047] Specifically, for the task execution time, the task execution time is determined according to the execution time of the target manufacturing resources; the maximum estimated time of the target manufacturing resources is determined according to the length of the target subtask and the processing speed of the target manufacturing resources, and the maximum estimated time is the time spent by the target manufacturing resources in executing the task at the minimum processing speed. The constraint value of the task execution time is obtained according to the task execution time and the maximum estimated time. The following formula can be used in calculation:

[0048] Ftime = θtime * ln(totalTime / maxTime) (4)

[0049] totalTime = max{sumTime(i)} (5)

[0050]

[0051] ETC(i, j) = taskSize j / mipsi (7)

[0052]

[0053] Wherein, in each of the above formula, i corresponds to each target manufacturing resource, the value range is 1 to m, j corresponds to each target subtask, the value range is 1 to n. In formula (7), taskSize j is the length of each target subtask; mips i is the processing speed of each target manufacturing resource, which can be determined according to the information of the target subtask and the target manufacturing resource itself. ETC adopts the form of m rows and n columns matrix, which represents the time required for each target manufacturing resource to complete its task queue, and ETC(i,j) represents the time required for target manufacturing resource i to complete target subtask j. In formula (6), CONV is in the form of m rows and n columns matrix, which is the chromosome matrix obtained by converting the target chromosome. For example, the target chromosome is: {1, 3, 2, 4, 2, 3, 1, 5, 2, 5}, when converted into a chromosome matrix, the number of rows of the matrix is the total number of target manufacturing resources, and the number of columns of the matrix is the total number of target subtasks. Since one target subtask can only be completed by one target manufacturing resource (one target subtask is executed on a virtual machine), that is, there is only one 1 in each column of the CONV matrix, and the rest is 0, the following CONV matrix is obtained:

[0054]

[0055] CONV(i,j) corresponds to the value of the i-th row and the j-th column in the matrix. 1 represents that the current i,j position has target manufacturing resources and target subtasks, and 0 represents that the current i,j position has no corresponding target manufacturing resources or target subtasks. In formula (6), sumTime(i) is the execution time of the i-th target manufacturing resource processing target subtasks. The target subtask adopts parallel execution mode in the cloud manufacturing environment, that is, all target manufacturing resources run simultaneously and in parallel, and the task completion time is limited by the maximum estimated time of all target manufacturing resources, that is, the task execution time totalTime is the maximum value of all target manufacturing resource execution times sumTime(i), as shown in formula (5). In formula (8), the maximum estimated time maxTime is the time required for each target subtask to be executed with the smallest processing speed in the target manufacturing resource. Formula (4) compares the task execution time totalTime with the maximum estimated time maxTime, and a preset time factor θtime to obtain the constraint value Ftime of the task execution time. The value of the preset time factor θtime is 0-1, and the specific value is set according to the implementation, which is not limited here.

[0056] For the resource execution cost, the unit execution cost, execution time, etc. of each target manufacturing resource are calculated according to the following formula:

[0057] Fcost=0cost*ln(Cost / maxCost) (9)

[0058]

[0059]

[0060]

[0061] In the above formulas, i corresponds to each target manufacturing resource, and the value range is 1 to m, and j corresponds to each target subtask, and the value range is 1 to n. In formula (11), RCU(i) is the unit execution cost of the ith target manufacturing resource in the execution process, which is related to the processing speed mips i In formula (10), Cost is the execution cost of executing all target subtasks, that is, the product of the time required to execute all target manufacturing resources of the task and the unit execution cost. In formula (12), maxCost is the maximum estimated cost, that is, the maximum value of the product of the time required to execute each target subtask and the unit execution cost is accumulated to obtain the maximum estimated cost of executing all target subtasks. Formula (9) compares the execution cost Cost of executing all target subtasks with the maximum estimated cost maxCost, and a preset cost factor 0cost, to obtain the constraint value Fcost of the resource execution cost. The value of the preset time factor 0cost is 0-1, and the specific value is set according to the implementation, which is not limited here.

[0062] For load balancing, the load balancing level value of each target manufacturing resource is calculated according to the following formula:

[0063] Fload=1 / Load (13)

[0064]

[0065]

[0066] Wherein, in each of the above formula, i corresponds to each target manufacturing resource, the value range is 1 to m. In formula (15), avgTime is the average value of the execution time of m target manufacturing resources. In formula (14), the standard deviation of the execution time of the target manufacturing resource is calculated according to the difference between each target manufacturing resource and the average value, that is, the load balancing level value Load of the target manufacturing resource. The smaller the load balancing level value, the smaller the data dispersion degree, that is, the data is centralized, the target manufacturing resource almost runs at the same time, and the load balancing of the target manufacturing resource is more balanced. In formula (13), the constraint value Fload of load balancing is calculated according to the load balancing level value Load of the target manufacturing resource.

[0067] After obtaining the constraint value of the above task execution time, the constraint value of the resource execution cost, and the constraint value of the load balancing, the fitness value F of each target chromosome can be calculated as follows:

[0068] F=w1*Ftime+w2*Fcost+w3*Fload (16)

[0069] Wherein, w1, w2, w3 are preset weight coefficients, w1+w2+w3=1, and the specific value can be adjusted according to the implementation, which is not limited here. That is, the target chromosome fitness value F is the sum of the product of the constraint value of the task execution time, the constraint value of the resource execution cost, the constraint value of the load balancing and the corresponding weight coefficient.

[0070] Step S203, judge whether the fitness value of the chromosome is greater than the preset optimization threshold; if yes, execute step S207; if no, execute step S204.

[0071] The preset optimization threshold is set according to the implementation, when the fitness value of the chromosome is greater than the preset optimization threshold, it can be determined that the chromosome has completed optimization, and the optimized cloud manufacturing service combination can be obtained based on the chromosome. When the fitness value of the chromosome is greater than the preset optimization threshold, step S207 is executed. If the fitness value of the chromosome is less than or equal to the preset optimization threshold, further refinement is needed, and step S204 is executed.

[0072] Step S204, obtain the optimization generation number of the chromosome, and judge whether the optimization generation number is less than the preset generation threshold; if yes, execute step S205; if no, execute step S206.

[0073] The different optimizations are based on the optimization algebra. If the optimization algebra is less than a preset algebra threshold, that is, the optimization algebra is small, at this time, most of the chromosomes have not been optimized, and a large amount of data needs to be processed, step S205 is performed, and a first optimization algorithm is used for optimization. If the optimization algebra is greater than or equal to the preset algebra threshold, that is, at the later stage of optimization, most of the chromosomes have been optimized, and a small amount of data needs to be processed, step S206 is performed, and a second optimization algorithm is used for optimization.

[0074] In step S205, based on the first optimization algorithm, the other chromosomes are crossed with the chromosome to obtain a chromosome after cross processing, and the fitness value is calculated according to the chromosome after cross processing and is judged.

[0075] The first optimization algorithm can use, for example, a genetic algorithm. In the early stage of optimization processing, a large number of chromosomes need to be processed, and the global search capability of the genetic algorithm is used to search a plurality of chromosomes to complete cross processing. Specifically, the chromosome is crossed with other chromosomes to determine the cross probability of the two chromosomes, and the cross probability can be processed according to the following formula:

[0076]

[0077] Pcmax is the maximum crossover probability, and Pcmin is the minimum crossover probability. For example, Pcmax can be set to 80%, and when the length of the chromosome is 10, 8 genes are selected for crossover in the crossover process; Pcmax can be set to 30%, and when the length of the chromosome is 10, 3 genes are selected for crossover in the crossover process. The above is an example, and Pcmax and Pcmin can be set in advance according to the implementation. Fmax is the maximum value of the fitness values of the chromosomes in the population, Favg is the average value of the fitness values of the chromosomes in the population, and F' is the larger value of the fitness values of the two chromosomes to be crossed. The two chromosomes to be crossed include the chromosome and other chromosomes. When F' is less than Favg, that is, the fitness values of the two chromosomes to be crossed are both lower than the average value of the fitness values of the chromosomes in the population, it is indicated that the fitness values of the two chromosomes to be crossed are both low, the crossover probability Pc adopts the maximum crossover probability Pcmax for crossover processing, and part of the genes in the two chromosomes are exchanged in the crossover processing to complete the crossover processing. When F' is greater than Favg, the crossover probability Pc is calculated by using the upper formula in formula (17), and the crossover processing is performed according to the obtained Pc value. When F' is equal to Favg, the values of the two formulas in formula (17) are both Pcmax. The value of Pc is the crossover probability in the crossover processing, and the number of gene positions to be crossed in the crossover processing is determined according to the length of the chromosome and Pc. The positions of the genes to be crossed are set according to the implementation, such as starting from the first gene or starting from the middle position of the gene, which is not limited here.

[0078] After the crossover processing, the chromosome after the crossover processing is obtained, and the optimization generation number of the chromosome after the crossover processing is obtained by incrementing the optimization generation number of the chromosome before the crossover processing. For example, if the optimization generation number of the chromosome before the crossover processing is n, the optimization generation number of the chromosome after the crossover processing is n+1. At the same time, the chromosome a subjected to the crossover processing and the chromosome b subjected to the crossover processing with the chromosome a are set as the parent nodes of the chromosome c after the crossover processing. That is, the chromosome a and the chromosome b are the parent nodes of the chromosome c. The chromosome c after the crossover processing needs to be further judged whether the optimization is completed after the crossover processing, that is, the fitness value of the chromosome c needs to be calculated, and it is judged whether the fitness value is greater than the preset optimization threshold. For details, refer to steps S202-S203. If it is judged that the fitness value of the chromosome c is greater than the preset optimization threshold, step S207 can be executed, otherwise, the optimization of the chromosome c is continued, the corresponding optimization algorithm is executed according to the optimization generation number, and the judgment is continued until the fitness value is greater than the preset optimization threshold.

[0079] In step S206, the parent chromosome corresponding to the parent node of the chromosome is obtained based on the second optimization algorithm, the differential mutation processed chromosome is obtained according to the parent chromosome and the differential mutation factor, and the fitness value is calculated and judged according to the differential mutation processed chromosome.

[0080] The second optimization algorithm can be a differential evolution algorithm, where most chromosomes in the population have already been optimized. The local search capability of the second optimization algorithm can be used to improve the optimization speed. Specifically, the parent chromosome corresponding to the parent node of a chromosome is obtained. After obtaining multiple parent chromosomes, the product of the difference values ​​of each gene between two randomly obtained parent chromosomes and the differential mutation factor is added to the genes of a third randomly obtained parent chromosome to obtain the chromosome after differential mutation processing. Specifically, it can be calculated according to the following formula:

[0081]

[0082]

[0083] In formula (19), the difference mutation factor k is determined based on the preset maximum optimization generation T and the current optimization generation t of the chromosome. The difference mutation factor k decreases as the optimization generation of the chromosome increases, thereby reducing the search range of the second optimization algorithm and accelerating the optimization speed. In formula (18) These are genes from three different parent chromosomes, where the parent chromosome is the parent node of the chromosome currently in optimization generation t. r1, r2, and r3 are different random real numbers. In formula (18), the genes from two parent chromosomes are... The difference is multiplied by the difference variation factor k to obtain a product, and then the product is added to the gene of the third parent chromosome. The final chromosome S obtained after differential mutation treatment of each gene group t +1 The optimized generation of the chromosome after differential mutation is t+1.

[0084] After obtaining the chromosome after differential mutation processing, it is necessary to further determine whether optimization is complete, i.e., to calculate its fitness value and determine whether it is greater than a preset optimization threshold. Refer to steps S202-S203 for details. If the fitness value of the chromosome after differential mutation processing is greater than the preset optimization threshold, step S207 can be executed; otherwise, continue optimizing the chromosome after differential mutation processing, executing the corresponding optimization algorithm according to the optimization generation, and continuing the judgment until the fitness value is greater than the preset optimization threshold.

[0085] Step S207: Obtain the corresponding cloud manufacturing service combination based on chromosomes whose fitness value is greater than the preset optimization threshold.

[0086] When it is judged that the fitness value of the chromosome is greater than the preset optimization threshold, the chromosome is determined as a chromosome meeting the optimization requirement, and a corresponding cloud manufacturing service combination can be obtained according to the chromosome. For example, the corresponding manufacturing resources and subtasks are determined according to the gene value and gene position of the chromosome, and the cloud manufacturing service combination is obtained by combining the manufacturing resources and the subtasks.

[0087] The cloud manufacturing service combination optimization method provided by the embodiment of the application uses the combination of the first optimization algorithm and the second optimization algorithm. The first optimization algorithm can globally search a stronger advantage in the early evolution stage, and can select data with a larger crossover probability to complete the evolution of the chromosome when the chromosome is cross-processed with other chromosomes, so that as many chromosomes as possible are cross-processed, the multi-objective QoS standard trade-off is achieved, the fitness value of the chromosome is improved, and the cloud manufacturing service combination meeting the QoS standard is optimized. The second optimization algorithm has a stronger advantage in local search in the differential mutation processing in the late evolution stage, so that the optimization convergence speed is accelerated, the calculation efficiency in the optimization process is improved, and the calculation efficiency problem in the multi-objective optimization in the prior art is solved.

[0088] Figure 3 A structure schematic diagram of the cloud manufacturing service combination optimization device provided by the embodiment of the application is shown. As shown in the figure, Figure 3 The device comprises:

[0089] The encoding module 310 is adapted to encode each of the multiple combinations of the subtasks and the manufacturing resources to obtain multiple chromosomes, and construct a population comprising the multiple chromosomes. The subtasks are obtained by task decomposition. The optimization generation number of the chromosome is a preset initial value.

[0090] The fitness value calculation module 320 is adapted to calculate the fitness value of the chromosome according to the processing information of the corresponding subtasks and manufacturing resources.

[0091] The judgment module 330 is adapted to judge whether the fitness value of the chromosome is greater than a preset optimization threshold. If yes, the determination step 360 is executed. If no, the optimization generation number of the chromosome is obtained. If the optimization generation number is less than a preset generation number threshold, the first optimization module 340 is executed. If the optimization generation number is greater than or equal to the preset generation number threshold, the second optimization module 350 is executed.

[0092] The first optimization module 340 is adapted to cross-process the chromosome with other chromosomes based on the first optimization algorithm to obtain the cross-processed chromosome. The optimization generation number of the cross-processed chromosome is obtained by incrementing the optimization generation number of the chromosome. The chromosome and the other chromosomes are the parent nodes of the cross-processed chromosome. The cross-processed chromosome is returned to the fitness value calculation module 320 and the judgment module 330 for execution.

[0093] The second optimization module 350 is adapted to obtain a parent chromosome corresponding to a parent node of the chromosome based on a second optimization algorithm, and obtain a chromosome after differential mutation processing according to the parent chromosome and a differential mutation factor, wherein the differential mutation factor is determined according to a preset maximum optimization generation number and an optimization generation number of the chromosome; and return the chromosome after differential mutation processing to the fitness value calculation module 320 and the determination module 330 for execution.

[0094] The determination module 360 is adapted to obtain a corresponding cloud manufacturing service combination according to the chromosome with the fitness value greater than the preset optimization threshold.

[0095] Optionally, the length of the chromosome corresponds to a total number of all subtasks; each gene value in the chromosome identifies a corresponding manufacturing resource; and a position value of each gene in the chromosome identifies a corresponding subtask.

[0096] Optionally, the encoding module 310 is further adapted to:

[0097] sort the plurality of chromosomes;

[0098] sequentially calculate a sum of differences of gene values in the zth chromosome and the (z-1)th chromosome, and determine an individual dissimilarity factor between the two chromosomes based on the sum of differences; wherein z is a positive integer greater than 1;

[0099] determine whether the individual dissimilarity factor is greater than a preset factor threshold;

[0100] if yes, retain the zth chromosome in the population;

[0101] if no, do not retain the zth chromosome in the population.

[0102] Optionally, the fitness value calculation module 320 is further adapted to:

[0103] calculate a constraint value of task execution time, and / or a constraint value of resource execution cost, and / or a constraint value of load balancing corresponding to the target chromosome according to processing information of a target subtask and a target manufacturing resource corresponding to the target chromosome; the target chromosome is any chromosome;

[0104] calculate the fitness value of the target chromosome according to the constraint value of task execution time, and / or the constraint value of resource execution cost, and / or the constraint value of load balancing corresponding to the target chromosome.

[0105] Optionally, the fitness value calculation module 320 is further adapted to:

[0106] convert the target chromosome into a chromosome matrix;

[0107] The execution time of each target manufacturing resource is calculated according to the chromosome matrix, the length of each target subtask, and the processing speed of each target manufacturing resource;

[0108] The task execution time is determined according to the execution time of each target manufacturing resource; the task execution time is the maximum value of the execution time of each target manufacturing resource;

[0109] The constraint value of the task execution time corresponding to the target chromosome is calculated according to the task execution time and the maximum estimated time; the maximum estimated time is the time required for each target subtask to be executed at the minimum processing speed in each target manufacturing resource;

[0110] And / or,

[0111] The task execution cost is calculated according to the execution time of each target manufacturing resource and the unit execution cost of each target manufacturing resource;

[0112] The constraint value of the resource execution cost corresponding to the target chromosome is calculated according to the task execution cost and the maximum estimated cost; the maximum estimated cost is the cumulative value of the maximum value of the product of the time required for each target subtask to be executed and the unit execution cost;

[0113] And / or,

[0114] The load balancing level value is calculated according to the execution time of each target manufacturing resource and the average value of the execution time of each target manufacturing resource;

[0115] The constraint value of the load balancing corresponding to the target chromosome is obtained according to the load balancing level value.

[0116] Optionally, the first optimization module 340 is further adapted to:

[0117] The crossover probability is determined according to the fitness value of the chromosome and other chromosomes, the maximum value of the fitness value of the chromosomes in the population, and the average value of the fitness value of the chromosomes in the population;

[0118] The crossover processing is performed on the chromosome and other chromosomes according to the crossover probability, to obtain the chromosome after the crossover processing.

[0119] Optionally, the second optimization module 350 is further adapted to:

[0120] The parent chromosomes corresponding to the parent nodes of the chromosome are randomly obtained;

[0121] The product of the difference value of each gene between the two randomly obtained parent chromosomes and the differential mutation factor is added to the gene of the third randomly obtained parent chromosome, to obtain the chromosome after the differential mutation processing.

[0122] The above modules are described with reference to the corresponding descriptions in the method embodiments, and thus will not be described again.

[0123] The embodiment of the present application further provides a non-volatile computer storage medium, which stores at least one executable instruction, and the executable instruction can execute the cloud manufacturing service combination optimization method in any method embodiment.

[0124] Figure 4 A structural schematic diagram of a computing device according to an embodiment of the present application is shown, and the specific embodiments of the present application do not limit the specific implementation of the computing device.

[0125] As shown in Figure 4 The computing device can include a processor 402, a communications interface 404, a memory 406, and a communications bus 408.

[0126] characterized in that:

[0127] The processor 402, the communications interface 404, and the memory 406 complete mutual communication through the communications bus 408.

[0128] The communications interface 404 is configured to communicate with network elements of other devices, such as clients or other servers.

[0129] The processor 402 is configured to execute the program 410, and specifically can execute the related steps in the cloud manufacturing service combination optimization method embodiments.

[0130] Specifically, the program 410 can include program code, and the program code includes computer operation instructions.

[0131] The processor 402 can be a central processing unit CPU, or an application specific integrated circuit ASIC, or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the computing device can be processors of the same type, such as one or more CPUs; or can be processors of different types, such as one or more CPUs and one or more ASICs.

[0132] The memory 406 is configured to store the program 410. The memory 406 can include a high-speed RAM memory, and can also include a non-volatile memory, such as at least one disk memory.

[0133] The program 410 can be specifically configured to enable the processor 402 to perform the optimization method of cloud manufacturing service combination in any of the above method embodiments. The specific implementation of each step in the program 410 can refer to the corresponding description in the corresponding step and unit in the above optimization embodiment of cloud manufacturing service combination, and will not be repeated here. It can be clearly understood by those skilled in the art that, for the convenience and brevity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the above method embodiments, and will not be repeated here.

[0134] The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems can be used with programs in accordance with the teachings herein. The construction of such systems as well as other structural requirements are within the skill in the art. In addition, the present embodiments are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages can be used to implement the present embodiments as described herein, and any references below to specific languages are provided for disclosure of the best mode of practicing the present embodiments.

[0135] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application can be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been described in detail in order not to obscure the understanding of this description.

[0136] Similarly, it is to be understood that the mechanical details of the application have sometimes been presented in terms of particular embodiments thereof, and that the features of the application described in connection with one embodiment can be combined with features of another embodiment, as will be realized by those skilled in the art. It is therefore not intended to limit the scope of the application to the particular embodiments presented herein but rather, the scope of the present application extends to other structures as would be within the knowledge of one skilled in the art.

[0137] Those skilled in the art will appreciate that the modules in the apparatuses in the embodiments can be adapted and placed in one or more apparatuses other than the embodiments. The modules or units or components in the embodiments can be combined into one module or unit or component, and further can be divided into multiple sub-modules or sub-units or sub-components. Except that at least some of such features and / or processes or units are mutually exclusive, all combinations of all features disclosed in this specification (including accompanying claims, abstract and drawings) and all processes or units of any methods or apparatuses so disclosed can be adopted in any combination. Unless explicitly stated otherwise, each feature disclosed in this specification (including accompanying claims, abstract and drawings) can be replaced by alternative features providing the same, equivalent or similar functionality.

[0138] Further, those skilled in the art will appreciate that a combination of features of different embodiments means that such combination is within the scope of the application and forms a different embodiment. For example, in the following claims, any of the claimed embodiments can be used in any combination.

[0139] The various component embodiments of the present application can be implemented in hardware, or as software modules running in one or more processors, or in combinations thereof. Those skilled in the art will appreciate that a microprocessor or a digital signal processor (DSP) can be used in practice to implement some or all of the functionality of some or all of the components according to the embodiments of the present application. The embodiments of the present application can also be implemented as a program of apparatuses or devices (for example, computer programs and computer program products) for performing part or all of the methods described herein. Such program implementing the embodiments of the present application can be stored on a computer readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, or provided on a carrier signal, or in any other form.

[0140] It should be noted that the above-mentioned embodiments illustrate rather than limit the application, and that one skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word 'comprising' does not exclude the presence of elements or steps other than those listed in a claim. The word 'a' or 'an' preceding an element does not exclude the presence of a plurality of such elements. The application can be implemented by means of both hardware and software, and any combination thereof. In a unitary claim, several devices, apparatuses or means can be listed, comprising means for carrying out a certain task. The use of the term'means' in a claim is intended to refer to a combination of devices, apparatuses or means for carrying out a task. The word 'first','second', 'third', etc. do not imply any order. The use of these terms is to be construed as an indication of particular embodiments. Steps in the above-described embodiments can be carried out in any order, unless otherwise specified.

Claims

1. A method for optimizing a cloud manufacturing service portfolio, characterized in that, The cloud manufacturing service combination is a combination of subtasks and manufacturing resources, and the method comprises the following steps: An encoding step encodes each combination of a subtask and a manufacturing resource to obtain a plurality of chromosomes, and a population comprising the plurality of chromosomes is constructed; the subtask is obtained by task decomposition; and an optimization generation number of the chromosome is a preset initial value; An adaptability value calculation step correspondingly calculates an adaptability value of the chromosome according to processing information of the subtask and the manufacturing resource corresponding to the chromosome; A judgment step judges whether the adaptability value of the chromosome is greater than a preset optimization threshold value; if yes, a determination step is executed; and if no, an optimization generation number of the chromosome is obtained, and if the optimization generation number is less than a preset generation number threshold value, a first optimization step is executed; and if the optimization generation number is greater than or equal to the preset generation number threshold value, a second optimization step is executed; The first optimization step cross-processes the chromosome and other chromosomes based on a first optimization algorithm to obtain a cross-processed chromosome; wherein the optimization generation number of the cross-processed chromosome is obtained by incrementing the optimization generation number of the chromosome; the chromosome and the other chromosomes are parent nodes of the cross-processed chromosome; the adaptability value calculation step and the judgment step are returned to be executed according to the cross-processed chromosome; and the first optimization algorithm adopts a genetic algorithm; The second optimization step obtains a parent chromosome corresponding to the parent node of the chromosome based on a second optimization algorithm; a differentially mutated chromosome is obtained according to the parent chromosome and a differential mutation factor; wherein the differential mutation factor is determined according to a preset maximum optimization generation number and the optimization generation number of the chromosome; the adaptability value calculation step and the judgment step are returned to be executed according to the differentially mutated chromosome; and the second optimization algorithm adopts a differential evolution algorithm; The determination step obtains a corresponding cloud manufacturing service combination according to the chromosome whose adaptability value is greater than the preset optimization threshold value.

2. The method of claim 1, wherein, The length of the chromosome corresponds to the total number of all subtasks; each gene value in the chromosome identifies a corresponding manufacturing resource; and the position value of each gene in the chromosome identifies a corresponding subtask.

3. The method of claim 1, wherein, The encoding step further comprises the following steps: The plurality of chromosomes are sorted; The sum of the difference values of each gene value in the zth chromosome and the (z-1)th chromosome is calculated in sequence, and an individual dissimilarity factor between the two chromosomes is determined based on the sum of the difference values; wherein z is a positive integer greater than 1; It is judged whether the individual dissimilarity factor is greater than a preset factor threshold value; If yes, the zth chromosome is retained in the population; If no, the zth chromosome is not retained in the population.

4. The method of claim 1, wherein, The adaptability value calculation step further comprises the following steps: A constraint value of a task execution time, and / or a constraint value of a resource execution cost, and / or a constraint value of load balancing of a target subtask corresponding to a target chromosome and a target manufacturing resource are calculated according to processing information of the target subtask and the target manufacturing resource; and the target chromosome is any of the chromosomes. According to the constraint value of the task execution time corresponding to the target chromosome, and / or the constraint value of the resource execution cost, and / or the constraint value of the load balancing, the fitness value of the target chromosome is calculated.

5. The method of claim 4, wherein, The fitness value calculation step further comprises: The target chromosome is converted into a chromosome matrix; According to the chromosome matrix, the length of each target subtask, and the processing speed of each target manufacturing resource, the execution time of each target manufacturing resource is calculated; According to the execution time of each target manufacturing resource, the task execution time is determined; the task execution time is the maximum value of the execution time of each target manufacturing resource; According to the task execution time and the maximum estimated time, the constraint value of the task execution time corresponding to the target chromosome is calculated; the maximum estimated time is the time required for each target subtask to be executed at the minimum processing speed of each target manufacturing resource; and / or, According to the execution time of each target manufacturing resource and the unit execution cost of each target manufacturing resource, the task execution cost is calculated; According to the task execution cost and the maximum estimated cost, the constraint value of the resource execution cost corresponding to the target chromosome is calculated; the maximum estimated cost is the cumulative value of the maximum value of the product of the time required for each target subtask and the unit execution cost; and / or, According to the execution time of each target manufacturing resource and the average value of the execution time of each target manufacturing resource, the load balancing level value is calculated; According to the load balancing level value, the constraint value of the load balancing corresponding to the target chromosome is obtained.

6. The method according to any one of claims 1 to 5, characterized in that, The first optimization step further comprises: According to the fitness value of the chromosome and the other chromosomes, the maximum value of the fitness value of the chromosomes of the population, and the average value of the fitness value of the chromosomes of the population, the crossover probability is determined; According to the crossover probability, the chromosomes and the other chromosomes are subjected to crossover processing to obtain the chromosomes after crossover processing.

7. The method according to any one of claims 1 to 5, characterized in that, The second optimization step further comprises: Randomly obtaining the parent chromosomes corresponding to the parent nodes of the chromosome; Adding the product of the difference value of each gene between the two randomly obtained parent chromosomes and the differential mutation factor to the gene of the third randomly obtained parent chromosome to obtain the chromosome after differential mutation processing.

8. An optimization device for cloud manufacturing service combination, characterized in that the device comprises: An encoding module adapted to encode each combination of subtasks and manufacturing resources to obtain a plurality of chromosomes, and to construct a population comprising the plurality of chromosomes; The subtasks are obtained by task decomposition; The optimization algebra of the chromosome is a preset initial value; A fitness value calculation module adapted to correspondingly calculate the fitness value of the chromosome according to the processing information of the subtasks and manufacturing resources corresponding to the chromosome; A judgment module adapted to judge whether the fitness value of the chromosome is greater than a preset optimization threshold value; If yes, a determination step is performed; If no, the optimization algebra of the chromosome is obtained, and if the optimization algebra is less than a preset algebra threshold value, a first optimization module is executed. If the optimization algebra is greater than or equal to a preset algebra threshold, a second optimization module is executed; The first optimization module is adapted to perform cross processing on the chromosome and other chromosomes based on a first optimization algorithm to obtain a cross-processed chromosome; wherein the optimization algebra of the cross-processed chromosome is obtained by incrementing the optimization algebra of the chromosome; the chromosome and the other chromosomes are parent nodes of the cross-processed chromosome; the fitness value calculation module and the determination module are executed according to the cross-processed chromosome; the first optimization algorithm adopts a genetic algorithm; The second optimization module is adapted to obtain a parent chromosome corresponding to the parent node of the chromosome based on a second optimization algorithm; a differentially mutated chromosome is obtained according to the parent chromosome and a differential mutation factor; wherein the differential mutation factor is determined according to a preset maximum optimization algebra and the optimization algebra of the chromosome; the fitness value calculation module and the determination module are executed according to the differentially mutated chromosome; the second optimization algorithm adopts a differential evolution algorithm; The determination module is adapted to obtain a corresponding cloud manufacturing service combination according to the chromosome whose fitness value is greater than the preset optimization threshold.

9. A computing device comprising: A processor, a memory, a communication interface and a communication bus, the processor, the memory and the communication interface complete communication with each other through the communication bus; The memory is used to store at least one executable instruction, and the executable instruction makes the processor execute the operation corresponding to the cloud manufacturing service combination optimization method in any one of claims 1-7.

10. A computer storage medium, the storage medium stores at least one executable instruction, and the executable instruction makes the processor execute the operation corresponding to the cloud manufacturing service combination optimization method in any one of claims 1-7.

Citation Information

Patent Citations

  • Optimal path selection-based network perception service combination algorithm method

    CN111770020A

  • Multi-target cloud workflow scheduling method and device

    CN111813500A