A scheduling method based on improved CHIO
By combining floating-point encoding and population optimization strategies with diffuse reflection mutation infection and simulated annealing, the problem of scheduling methods easily getting trapped in local optima is solved, achieving efficient and universal scheduling optimization.
Patent Information
- Application Number
- CN202311115115.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-31
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2043-08-31
AI Technical Summary
Existing scheduling methods are prone to getting trapped in local optima, have poor versatility, are difficult to adapt to solving large-scale problems, and require a large amount of data and computing power.
The scheduling problem is encoded using floating-point encoding. Combined with diffuse reflection mutation infection, neighbor infection, and simulated annealing, the proportion of susceptible, infected, and immune individuals is dynamically adjusted. A population optimization strategy is used to avoid local optima and enhance global optimization capabilities.
It effectively avoids local optima, enhances the versatility and robustness of scheduling methods, can quickly and comprehensively scan the solution space, achieves efficient optimization search, and is suitable for solving large-scale problems.
Smart Images

Figure CN117236369B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a scheduling method, in particular to a scheduling method based on improved CHIO. BACKGROUND
[0002] The scheduling problem is also called the job shop scheduling problem. The traditional scheduling method has low adaptability and is difficult to be used for solving large-scale problems. The scheduling method based on deep learning requires a large amount of data and computing power and is complex. At present, the method for solving the scheduling problem mainly includes meta-heuristic algorithms, such as genetic algorithm, particle swarm algorithm, simulated annealing algorithm, whale algorithm and Kepler algorithm. The genetic algorithm and the particle swarm algorithm are prone to fall into local optimum. The simulated annealing algorithm runs slowly and is greatly affected by the initial condition. The whale algorithm has slow convergence speed. The Kepler algorithm is complex and needs to adjust a large number of structure parameters according to different scheduling problems. Therefore, the current methods for solving the scheduling problem have problems such as being prone to fall into local optimum and poor universality.
[0003] Although the standard CHIO has high speed and strong universality, it is still prone to fall into local optimum. SUMMARY
[0004] The present application relates to a scheduling method, in particular to a scheduling method based on improved CHIO.
[0005] The technical scheme adopted by the present application to solve the above technical problem is as follows: a scheduling method based on improved CHIO, comprising the following steps:
[0006] Step 1, using floating-point encoding method to encode the scheduling problem to be solved, randomly generating an original population composed of floating-point values of each bit point between 0 and 1, marking the attributes of all individuals in the original population, marking the attribute of any individual as an infected individual, marking the attributes of other individuals as susceptible individuals, marking the number of immune individuals as 0, and obtaining the marked original population;
[0007] Step 2, initializing the marked original population, setting the infection time time1 of the infected individual in the marked original population as 0, setting the immune time time2 of the immune individual in the marked original population as 0, taking the initialized original population as the current population, and executing step 3;
[0008] Step 3, taking the iteration round as i, setting the initial iteration round as i=1 and taking it as the current iteration round, and executing step 4;
[0009] Step 4, in the current iteration round, using improved CHIO to update the current population to obtain the updated current population, and executing step 5;
[0010] Step V, judging whether i is equal to the preset total iteration number epochs, if yes, executing step VI, if no, taking the updated current population as a new current population, taking the current iteration round + 1 as a new current iteration round, and returning to execute step IV;
[0011] Step VI, decoding the updated current population to obtain an optimal solution;
[0012] The specific operation process of step IV is as follows:
[0013] Step IV-1, randomly selecting one individual in the current population as a current individual and recording it as pop, and executing step IV-2;
[0014] Step IV-2, performing diffuse reflection mutation infection on pop based on a diffuse reflection mutation rule to obtain a diffuse reflection mutation infected current individual and recording it as pop', and executing step IV-3;
[0015] Step IV-3, performing neighbor infection on pop' to obtain a neighbor infected current individual and recording it as pop", and executing step IV-4;
[0016] Step IV-4, judging whether pop" is better than pop, if pop" is better than pop, taking pop" as a new current individual and recording it as pop new , and executing step IV-5; if pop" is not better than pop, generating a random number r1 uniformly distributed in [0, 1] for pop", and judging whether r1 is less than the simulated annealing probability value p, if r1 < p, performing simulated annealing processing on pop", taking the simulated annealing processed pop" as a new current individual and recording it as pop new , and executing step IV-5; if r1 ≥ p, taking pop as a new current individual and recording it as pop new , and executing step IV-5;
[0017] Step IV-5, decoding pop new and the individuals in the current population with the same attribute as pop new , obtaining the solution of pop new and the average solution of all individuals with the same attribute as pop new , and executing step IV-6;
[0018] Step IV-6, updating the attribute of pop new according to the attribute of pop new , the solution of pop new and the average solution of all individuals with the same attribute as pop new , and executing step IV-7;
[0019] Step 4-7, judge whether all individuals in the current population have been infected by diffuse reflection variation, if yes, the current population at this time is taken as the updated current population, and step 5 is executed; if not, an individual in the current population which has not been infected by diffuse reflection variation is randomly selected as a new pop, and step 4-2 is executed.
[0020] Compared with the prior art, the advantages of the present application are that simple and general floating point coding mode is used for coding; when the immune individual is in the immune state for a long time, new immune individuals can be obtained after the current individual is infected by diffuse reflection variation and neighbor infection, and the simulated annealing process can improve the local problem and increase the population diversity, so that the solution of the scheduling problem is more abundant, thus avoiding falling into local optimum and enhancing the global optimization capability; the present application adopts complete randomization design, the number of susceptible individuals, infected individuals and immune individuals dynamically changes with the method running, and finally a relatively stable proportion distribution is reached, avoiding the influence of over-reliance on original conditions and enhancing the robustness of the present application; compared with the prior art which needs to preset parameters, the present application does not need to set initial parameters artificially, reducing the dependence on accurate parameter setting, thus expanding the application range and reliability of the present application, and the present application has strong universality; the present application adopts population optimization strategy, in which the immune individuals and susceptible individuals in diffuse reflection variation are responsible for global search, through setting a larger update range, the solution space can be quickly and comprehensively scanned, and combined with neighbor infection, the whole population can quickly converge to a stable state, realizing effective optimization search; the present application simulates the transmission and population immunity process of coronavirus in nature, which is highly consistent with the real world and closer to reality, and is convenient for understanding and explanation; from the experiment of solving Fisher and Thompson's famous example la16 in JSSP problem, when the iteration number is 500, the solving result of the present application is 956, the solving result of ssa is 1170, the solving result of gapso is 1136, the solving result of kepler is 1055, the solving result of bwo is 1014, and the optimal solution obtained by the present application is much better than those of other algorithms, so the present application has very good effect.
[0021] Further, in step 4-2, the specific operation process of obtaining the current individual after diffuse reflection variation infection and recording as pop' is as follows:
[0022] A random number r with [0, 1] uniform distribution is generated for pop;
[0023] If And the total number of infected individuals > 0, then
[0024] pop' = pop(1+psi(2rand i-1)) + (1 + psi((2rand i -1) + (2bias - 1)))(X a -pop),
[0025] where sr represents a preset group immunity infection rate, psi represents a diffuse reflection coefficient, arctanh(·) is a tangent function, rand i represents a random number between 0 and 1, i represents an iteration round, bias represents a random offset constant between 0 and 1 in the diffuse reflection variation, X a represents a difference variation amount of a global optimal individual, best i represents an optimal solution of a current population, 1≤i≤epochs, epochs represents a preset total iteration number, best i-1 represents an optimal solution of the current population in the last iteration round, the optimal solution of the current population is an individual corresponding to a minimum makespan value in the current population, and makespan represents a minimum maximum completion time of each individual;
[0026] if and the total number of susceptible individuals > 0, then where Normal mean represents an average value of solutions of all susceptible individuals, k w represents a diffuse reflection slope, A w represents a maximum amplitude value of water surface fluctuations in the diffuse reflection variation, A w = 0.5, rand1 and rand2 respectively represent random values between 0 and 1, rand Normal represents a random integer between 1 and the total number of susceptible individuals, represents a randomly selected susceptible individual from the current population;
[0027] if and the total number of immune individuals > 0, then where Recovered mean represents an average value of solutions of all immune individuals, k w represents a diffuse reflection slope, A w represents a maximum amplitude value of water surface fluctuations in the diffuse reflection variation, A w = 0.5, rand s and rand4 respectively represent random values between 0 and 1, rand Recovered represents a random integer between 1 and the total number of immune individuals, represents an immune individual randomly selected from the current population;
[0028] If sr≤r≤1, then pop'=pop.
[0029] Furthermore, the specific operation process of steps ④-6 is as follows:
[0030] If pop new The attribute of is susceptible individual, then pop new Is the solution of the susceptible individuals better than the average solution of all susceptible individuals? If so, pop new Update the attribute mark of the susceptible individual and execute step ④-7; if not, then pop new Update the attribute mark of to infected individual, and set the infection time of the individual time1 to 0, and execute step ④-7;
[0031] If pop new The attribute is an infected individual, then let the infection time of the individual time1 = time1 + 1, and judge pop new Is the solution of the infected individuals better than the average solution of all infected individuals? If so, pop new The attribute mark of the individual is updated to the immune individual, and the immune time of the individual is time z Set to 0, execute step ④-7; if not, judge pop new Is the infection time greater than the preset infection period? If pop new If the infection time is greater than the preset infection period, the pop new Re-encode and re-encode the pop new The attribute mark of the individual is updated to be susceptible, and steps ④-7 are executed; if pop new If the infection time is less than or equal to the preset infection period, pop new The attribute mark of is updated to infected individual, and steps ④-7 are executed;
[0032] If pop new If the attribute is an immune individual, then let the individual's immune time time2 = time2 + 1, and judge whether the individual's immune time time2 is less than the preset immune time upper limit. If the individual's immune time time2 is less than the preset immune time upper limit, then pop new Update the attribute mark of the immune individual to the immune individual, and execute step ④-7; if the individual's immune time time2 is greater than or equal to the preset immune time upper limit, then determine whether the total number of immune individuals is greater than or equal to the preset immune population upper limit Immune maxIf so, the individual with the largest makespan value is continuously selected from all immune individuals, and the attribute mark of the individual is updated to the infected individual, and the infection time of the individual is set to 0, until the total number of immune individuals is less than the preset immune population stability value Immune stable , execute step ④-7; if not, pop new The attribute tag of the individual is updated to immune individual, and steps ④-7 are executed. The transition from susceptible individuals to infected individuals and from immune individuals to infected individuals means that the solution is getting worse, while the transition from infected individuals to immune individuals means that the solution is getting better. This can dynamically and intuitively demonstrate the process of finding the optimal solution to the scheduling problem using the present invention, making it easy to understand.
[0033] Furthermore, the preset herd immunity infection rate is 0.6, the preset infection period is 0.1×epochs, the preset upper limit of immunity time is 0.1×epochs, and the preset upper limit of immunity population Immune max 0.3×pop size , the preset immune population stability value Immune stable 0.05×pop size , where pop size Indicates the feasible solution size set according to the scheduling problem to be solved.
[0034] Furthermore, the preset total number of iterations epochs is 500 to 1000 times.
[0035] Furthermore, between step ④-2 and step ④-3, the method further includes: performing normalization processing on pop' so that the floating point value of each site of pop' is between 0 and 1.
[0036] Furthermore, in step ④-3, the specific operation process of performing neighbor infection on pop' to obtain the current individual after neighbor infection and record it as pop" includes: swapping the positions of every two adjacent sites in pop' from left to right to obtain a neighbor group of pop', and selecting the individual corresponding to the smallest makespan value from the neighbor group as the current individual after neighbor infection and record it as pop", where makespan represents the minimized maximum completion time of each individual.
[0037] Furthermore, in the step ④-4, the simulated annealing probability value Where e represents a natural constant, pop new Represents the new current individual, pop represents the current individual, k represents a constant, k=0.6, epochs represents the preset total number of iterations, i represents the iteration round, and / / represents the integer division operator symbol. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Figure 1 It is a schematic diagram of the overall process of the present invention;
[0039] Figure 2 A schematic diagram of the results of solving the well-known example la16 of Fisher and Thompson in the JSSP (job shop scheduling) problem using the present invention;
[0040] Figure 3 The figure is a schematic diagram showing a comparison of the results of solving Fisher and Thompson's well-known example la16 in the JSSP (job shop scheduling) problem using the present invention and the prior art. DETAILED DESCRIPTION
[0041] The present invention will be described in further detail below with reference to the accompanying drawings and embodiments.
[0042] Example 1: Figure 1 As shown, a scheduling method based on improved CHIO includes the following steps:
[0043] Step 1: Encode the scheduling problem to be solved using floating-point encoding, randomly generate an original population consisting of individuals whose floating-point values at each site are between 0 and 1, label the attributes of all individuals in the original population, label any individual as infected, label the attributes of other individuals as susceptible, and label the number of immune individuals as 0, to obtain the labeled original population;
[0044] Step ②, initialize the marked original population, set the infection time time1 of the infected individuals in the marked original population to 0, set the immunity time time2 of the immune individuals in the marked original population to 0, use the initialized original population as the current population, and execute step ③;
[0045] Step ③, record the iteration round as i, set the initial iteration round as i=1 and use it as the current iteration round, and execute step ④;
[0046] Step ④: In the current iteration round, use the improved CHIO to update the current population, obtain the updated current population, and execute step ⑤;
[0047] The specific operation process of step ④ is as follows:
[0048] Step ④-1, randomly select an individual from the current population as the current individual and record it as pop, and execute step ④-2:
[0049] Step ④-2: Perform diffuse reflection mutation infection on pop based on the diffuse reflection mutation rule to obtain the current individual after diffuse reflection mutation infection and record it as pop', and execute step ④-3;
[0050] In step ④-2, the specific operation process of obtaining the current individual after diffuse reflection mutation infection and recording it as pop' is as follows:
[0051] For pop, generate a random number r uniformly distributed between [0, 1];
[0052] like And the total number of infected individuals is > 0, then
[0053] pop'=pop(1+psi(2rand i -1))+(1+psi((2rand i -1)+(2bias-1)))(X a -pop),
[0054] Among them, sr represents the preset herd immunity infection rate, psi represents the diffuse reflectance coefficient, arctanh(·) is the tangent function, rand i Represents a random number between 0 and 1, i represents the iteration round, bias represents a random offset constant between 0 and 1 in the diffuse variation, X a represents the differential variation of the global optimization individual, best i Indicates the optimal solution of the current population, 1≤i≤epochs, epochs indicates the preset total number of iterations, best i-1 Indicates the optimal solution of the current population in the previous iteration round. The optimal solution of the current population is the individual with the smallest makespan value in the current population. Makespan represents the minimized maximum completion time of each individual.
[0055] like And the total number of susceptible individuals is greater than 0, then Among them, Normal mean represents the average value of the solutions of all susceptible individuals, k w represents the diffuse reflection slope, A w The maximum amplitude of the water surface fluctuation that represents the diffuse reflection variation, A w =0.5, rand1 and rand2 represent random values between 0 and 1, respectively. Normal represents a random integer between 1 and the total number of susceptible individuals, represents a susceptible individual randomly selected from the current population;
[0056] If and the total number of immune individuals > 0, then where Recovered mean represents the average value of the solutions of all immune individuals, k w represents the diffuse reflection slope, A w represents the maximum amplitude value of the water surface wave of the diffuse reflection variation, A w = 0.5, rand3 and rand4 represent random values between 0 and 1 respectively, rand Recovered represents a random integer between 1 and the total number of immune individuals, represents an immune individual randomly selected from the current population;
[0057] If sr≤r≤1, then pop’ = pop;
[0058] Step IV-3, neighbor infection is performed on pop’ to obtain a neighbor-infected current individual and record it as pop”
[0059] The specific operation process of step IV-3, neighbor infection is performed on pop’ to obtain a neighbor-infected current individual and record it as pop” includes: exchanging the positions of every two adjacent bits in pop’ in the order from left to right to obtain the neighbor group of pop’, and selecting the individual corresponding to the minimum makespan value from the neighbor group as the neighbor-infected current individual and record it as pop”, wherein makespan represents the minimum makespan of each individual;
[0060] For example: the bits of pop’ from left to right are 0.1, 0.2, 0.3, 0.4 in turn, and the neighbor group of pop’ obtained includes an individual with bit order 0.2, 0.1, 0.3, 0.4, an individual with bit order 0.1, 0.3, 0.2, 0.4, and an individual with bit order 0.1, 0.2, 0.4, 0.3;
[0061] Step IV-4, it is judged whether pop” is better than pop or not, if pop” is better than pop, then pop” is taken as the new current individual and recorded as pop new , step IV-5 is executed; if pop” is not better than pop, a random number r1 uniformly distributed in [0, 1] is generated for pop”, and it is judged whether r1 is less than the simulated annealing probability value p or not, if r1 < p, then simulated annealing is performed on pop”, and the pop” after simulated annealing is taken as the new current individual and recorded as pop new, execute step 4-5; if r1≥p, take pop (i.e. the current individual which is not infected by diffuse reflection variation in step 3-2) as the new current individual and mark it as pop new , execute step 4-5;
[0062] In step 4-4, the simulated annealing probability value where e represents the natural constant, pop new represents the new current individual, pop represents the current individual, k represents a constant, k=0.6, epochs represents the preset total number of iterations, i represents the iteration round, and / / represents the integer division operator; for example, i=5, i / / 100=0; i=100, i / / 100=1; i=105, i / / 100=1;
[0063] In step 4-5, decode pop new and the individuals with the same attribute as pop new in the current population to obtain the solution of pop new and the average solution of all individuals with the same attribute as pop new , and execute step 4-6;
[0064] In step 4-6, according to the attribute of pop new , the solution of pop new , and the average solution of all individuals with the same attribute as pop new , update the attribute of pop new , and execute step 4-7;
[0065] The specific operation process of step 4-6 is as follows:
[0066] If the attribute of pop new is a susceptible individual, determine whether the solution of pop new is better than the average solution of all susceptible individuals, if yes, update the attribute of pop new as a susceptible individual, and execute step 4-7; if no, update the attribute of pop new as an infected individual, and set the infection time time1 of the individual to 0, and execute step 4-7;
[0067] If the attribute of pop new is an infected individual, set the infection time time1 of the individual to time1+1 (i.e. the infection time of the individual is incremented by 1), determine whether the solution of pop new is better than the average solution of all infected individuals, if yes, update the attribute of pop new as an immune individual, and set the immune time time2 of the individual to 0, and execute step 4-7; if no, determine whether the solution of pop newis greater than the preset infection period, the pop new is greater than the preset infection period, the pop new is re-encoded using a floating-point encoding method, and the attribute label of the re-encoded pop new is updated to a susceptible individual, and step ④-7 is executed; if the infection time of the pop new is less than or equal to the preset infection period, the attribute label of the pop new is updated to an infected individual, and step ④-7 is executed;
[0068] If the attribute of the pop new is an immune individual, the immune time time2 of the individual is set to time2+1 (i.e., the immune time of the individual is incremented by 1), it is determined whether the immune time time2 of the individual is less than a preset upper limit of the immune time, if the immune time time2 of the individual is less than the preset upper limit of the immune time, the attribute label of the pop new is updated to an immune individual, and step ④-7 is executed; if the immune time time2 of the individual is greater than or equal to the preset upper limit of the immune time, it is determined whether the total number of immune individuals is greater than or equal to a preset upper limit of the immune population Immune max , if yes, the individual corresponding to the maximum makespan value is selected from all immune individuals, the attribute label of the individual is updated to an infected individual, and the infection time time1 of the individual is set to 0, until the total number of immune individuals is less than a preset stable value of the immune population Immune stable , step ④-7 is executed; if no, the attribute label of the pop new is updated to an immune individual, and step ④-7 is executed;
[0069] Step ④-7, it is determined whether all individuals in the current population have been subjected to diffuse reflection mutation infection, if yes, the current population at this time is taken as an updated current population, and step ⑤ is executed; if no, an individual in the current population that has not been subjected to diffuse reflection mutation infection is randomly selected as a new pop, and step ④-2 is executed;
[0070] Step ⑤, it is determined whether i is equal to a preset total number of iterations epochs, if yes, step ⑥ is executed; if no, the updated current population is taken as a new current population, and the current iteration round is incremented by 1 to obtain a new current iteration round, and step ④ is executed again;
[0071] Step ⑥, the updated current population is decoded to obtain an optimal solution;
[0072] In this embodiment, the preset herd immunity infection rate is 0.6, the preset infection period is 0.1×epochs, the preset upper limit of the immunity time is 0.1×epochs, and the preset upper limit of the immune population is Immune max 0.3×pop size , the preset immune population stability value Immune stable 0.05×pop size , where pop size Indicates the feasible solution scale set according to the scheduling problem to be solved; in this embodiment, pop size =1000;
[0073] In this embodiment, the preset total number of iterations epochs is 500;
[0074] In this embodiment, between step ④-2 and step ④-3, the following steps are further included: normalizing pop' so that the floating point value of each site of pop' is between 0 and 1;
[0075] Example 2: The rest of the process is the same as Example 1, except that the total number of epochs is preset to 1000.
[0076] like Figure 2 As shown, la16 is a 10×10 problem (i.e., 10 workpieces and 10 machines). The horizontal axis represents unit time, and the vertical axis represents machine. The long rectangular blocks in the figure represent the processing time of the workpiece process on the machine. For example, j(9,0)=69 on the vertical axis Machine=8 means that the processing time of process 0 of workpiece 9 on machine 8 is 69 unit time. It can be seen from the figure that it takes 956 from the start (00:00) to the end (15:56). Therefore, the result can be displayed intuitively from the figure to verify the correctness of the result.
[0077] like Figure 3As shown, the horizontal axis of the figure represents the number of running iterations, and the vertical axis represents the makespan value, the smaller the makespan value, the better the optimal solution obtained by the algorithm, after the curve tends to be flat, the curves from top to bottom in the figure are Salp Swarm Algorithm (ssa), Genetic Particle Swarm Optimization Algorithm (gapso), Kepler Algorithm (kepler), Beluga Whale Optimization (bwo) and the present application (chio), when the number of iterations is 500 times, the solving result of using the present application is 956, the solving result of using ssa is 1170, the solving result of using gapso is 1136, the solving result of using kep1er is 1055, the solving result of using bwo is 1014, and the optimal solution obtained by the present application is much better than the rest of the algorithms, so the present application has very good effect.
Claims
1. An improved CHIO-based scheduling method, comprising the following steps: Step ①, using a floating-point coding method to code the scheduling problem to be solved, randomly generating an original population consisting of floating-point values of each site between 0 and 1, marking the attributes of all individuals in the original population, marking the attribute of any individual as an infected individual, marking the attributes of other individuals as susceptible individuals, marking the number of immune individuals as 0, and obtaining the marked original population; Step ②, initializing the marked original population, setting the infection time time1 of the infected individuals in the marked original population to 0, setting the immune time time2 of the immune individuals in the marked original population to 0, taking the initialized original population as the current population, and executing Step ③; Step ③, taking the iteration round as i, setting the initial iteration round as i = 1 and as the current iteration round, and executing Step ④; Step ④, in the current iteration round, updating the current population using the improved CHIO to obtain the updated current population, and executing Step ⑤; Step ⑤, determining whether i is equal to the preset total number of iterations epochs, if yes, executing Step ⑥; if no, taking the updated current population as the new current population, taking the current iteration round + 1 as the new current iteration round, and returning to execute Step ④; Step ⑥, decoding the updated current population to obtain the optimal solution; characterized in that the specific operation process of Step ④ is as follows: Step ④-1, randomly selecting an individual in the current population as the current individual and recording it as pop, and executing Step ④-2: Step ④-2, performing diffuse reflection mutation infection on pop based on the diffuse reflection mutation rule to obtain the diffuse reflection mutation infected current individual and record it as pop', and executing Step ④-3; Step ④-3, performing neighbor infection on pop' to obtain the neighbor infected current individual and record it as pop", and executing Step ④-4; Step IV-4, judge whether pop" is better than pop or not, if pop" is better than pop, then take pop" as new current individual and mark it as pop new , execute step IV-5; if pop" is not better than pop, then generate a random number r1 with uniform distribution in [0, 1] for pop", and judge whether r1 is less than simulated annealing probability value p or not, if r1 < p, then perform simulated annealing processing for pop", take the pop" after simulated annealing processing as new current individual and mark it as pop new , execute step IV-5; If r1≥p, then pop is taken as the new current individual and denoted as pop new Step IV-5 is performed. Step IV-5, for pop new and attributes in the current population and pop new Decode the same individual to get pop new solutions and the average solution of all individuals with the same attributes as pop new Step IV-6 is performed; Step IV-6 - 6, the properties of pop new , the solution of pop new , and the average solution of all individuals with the same properties of pop new Mark the properties of pop new with the update, execute step IV-7; Step ④-7, determining whether all individuals in the current population have been subjected to diffuse reflection mutation infection, if yes, taking the current population at this time as the updated current population, and executing Step ⑤; if no, randomly selecting an individual in the current population that has not been subjected to diffuse reflection mutation infection as the new pop, and executing Step ④-2.
2. The improved CHIO-based scheduling method of claim 1, wherein In Step ④-2, the specific operation process of obtaining the diffuse reflection mutation infected current individual and recording it as pop' is as follows: generating a random number r uniformly distributed in [0, 1] for pop; If and the total number of infected individuals > 0, then pop' = pop(1 + psi(2rand i -1)) + (1 + psi((2rand i -1) + (2bias - 1)))(X a -pop), wherein, sr represents a preset group immunity infection rate, psi represents a diffuse reflection coefficient, arctanh(·) is a tangent function, rand i represents a random number between 0 and 1, i represents an iteration round, bias represents a random offset constant between 0 and 1 in the diffuse reflection variation, X a represents a differential variation amount of a global optimal individual, best i represents an optimal solution of a current population, 1≤i≤epochs, epochs represents a preset total iteration number, best i-1 represents an optimal solution of a current population in a previous iteration round, the optimal solution of the current population is an individual corresponding to a minimum makespan value in the current population, makespan represents a minimum makespan of each individual. If and the total number of susceptible individuals > 0, then where Normal mean represents the average of the solutions of all susceptible individuals, k w represents the diffuse reflection slope, A w represents the maximum amplitude of the water surface wave of the diffuse reflection variation, A w = 0.5, rand1 and rand2 represent random values between 0 and 1, respectively, rand Normal represents a random integer between 1 and the total number of susceptible individuals, represents a susceptible individual randomly selected from the current population; If and the total number of immunized individuals > 0, then Recovered mean k w indicates the diffuse reflectance slope, A w indicates the maximum amplitude of the water surface wave, A w = 0.5, rand3 and rand4 represent random values between 0 and 1, rand Recovered indicates a random integer between 1 and the total number of immune individuals, indicates a randomly selected immune individual from the current population; if sr≤r≤1, then pop' = pop.
3. The improved CHIO-based scheduling method of claim 2, wherein The specific operation process of Step ④-6 is as follows: If pop new is a susceptible individual, then determine whether the solution of pop new is better than the average solution of all susceptible individuals, if yes, update the attribute of pop new as a susceptible individual, and execute step ④-7; if no, update the attribute of pop new as an infected individual, and set the infection time of this individual as time1=0, and execute step ④-7; If the attribute of pop new is infected individual, let the infection time of the individual time1 = time1 + 1, judge whether the solution of pop new is better than the average solution of all infected individuals, if yes, update the attribute of pop new to immune individual, and set the immune time of the individual time2 to 0, execute step ④-7; if no, judge whether the infection time of pop new is greater than the preset infection limit, if the infection time of pop new is greater than the preset infection limit, re-encode pop new in floating-point coding mode, update the attribute of the re-encoded pop new to susceptible individual, and execute step ④-7; if the infection time of pop new is less than or equal to the preset infection limit, update the attribute of pop new to infected individual, and execute step ④-7; If the attribute of pop new is immune individual, let the immune time of the individual time2 = time2 + 1, judge whether the immune time of the individual time2 is less than the preset upper limit of immune time, if the immune time of the individual time2 is less than the preset upper limit of immune time, update the attribute mark of pop new to immune individual, execute step 4-7; if the immune time of the individual time2 is greater than or equal to the preset upper limit of immune time, judge whether the total number of immune individuals is greater than or equal to the preset upper limit of immune population Immune max , if yes, constantly select the individual corresponding to the maximum makespan value from all immune individuals, update the attribute mark of the individual to infected individual, and set the infection time of the individual time1 to 0, until the total number of immune individuals is less than the preset immune population stable value Immune stable , execute step 4-7; if no, update the attribute mark of pop new to immune individual, execute step 4-7.
4. The improved CHIO-based scheduling method of claim 3, wherein The preset group immunity infection rate is 0.6, the preset infection period is 0.1*epochs, the preset upper limit of the immunity time is 0.1*epochs, the preset upper limit of the immune population is Immune max 0.3*pop size , the preset stable value of the immune population is Immune stable 0.05*pop size , wherein pop size represents the feasible solution scale set according to the scheduling problem to be solved.
5. The improved CHIO-based scheduling method of claim 1, wherein The preset total number of iterations epochs is 500 to 1000 times.
6. The improved CHIO-based scheduling method of claim 1, wherein Between Step ④-2 and Step ④-3, there is also normalization processing of pop' to make the floating-point values of each site of pop' between 0 and 1.
7. The improved CHIO-based scheduling method of claim 1, wherein The specific operation process of the step ④-3 of performing neighbor infection on pop' to obtain the current individual after neighbor infection and recording as pop" includes: performing position exchange on each two adjacent sites in pop' in a left-to-right order to obtain a neighbor group of pop', and selecting an individual corresponding to the minimum makespan value from the neighbor group as the current individual after neighbor infection and recording as pop", wherein makespan represents the minimum makespan of each individual.
8. The improved CHIO-based scheduling method of claim 1, wherein In step ④-4, the simulated annealing probability value where e represents a natural constant, pop new represents a new current individual, pop represents a current individual, k represents a constant, k = 0.6, epochs represents a preset total iteration number, i represents an iteration round, and / / represents an integer division operator.