Multi-objective improved optimization algorithm based on non-dominated sorting and multi-objective enterprise training course arrangement optimization system
By using a multi-objective improved optimization algorithm based on non-dominated sorting, the problem of corporate training scheduling is solved, achieving efficient resource utilization and cost minimization, and providing better training arrangements.
Patent Information
- Application Number
- CN202511053985.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-30
- Publication Date
- 2025-11-14
AI Technical Summary
Existing technologies cannot effectively solve the problem of corporate training scheduling, resulting in wasted resources and increased costs, and there is a lack of multi-objective optimization algorithms suitable for enterprises.
An improved multi-objective optimization algorithm based on non-dominated sorting is adopted. The solution set is generated by MATLAB, ROV is transformed into ECSP discrete space, and insertion greedy decoding algorithm and non-dominated sorting algorithm are used. Combined with domain search and random elite pool strategy, the course arrangement is optimized to minimize the maximum course completion time and budget cost.
It enables efficient use of resources in corporate training, reduces waste of human and financial resources, provides better training arrangements, and meets the needs of corporate interests.
Smart Images

Figure CN120952733A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of enterprise scheduling technology, specifically to a multi-objective improved optimization algorithm based on non-dominated sorting and a multi-objective enterprise training scheduling optimization system. Background Technology
[0002] The class scheduling problem refers to the allocation of teachers and students to classes within a suitable time period that satisfies a set of constraints. Current algorithms and papers on class scheduling primarily focus on university-level scheduling, with a lack of research on enterprise-level scheduling problems.
[0003] With the continuous development of the economy, the scale of enterprises has gradually increased. In order to increase their competitiveness and cohesion, enterprises often conduct training for their employees. However, the algorithm for university scheduling problems cannot be directly applied to enterprise scheduling problems. Compared with university scheduling, enterprise scheduling has the following main differences: (1) the single class hours of different training courses are different; (2) different classrooms and trainers can be selected for the same training course; (3) different classrooms and trainers have different costs. In addition, the goals of the two are also different. The goal of university scheduling is to complete the scheduling of all courses within the specified time, while enterprises not only require the scheduling of all courses within the specified time, but also require the overall cost to be low. Therefore, compared with university scheduling problems, enterprise scheduling problems have more goals and more complex constraints. The current status of enterprise scheduling: a temporary and incomplete timetable is established at the beginning of each training session. During the subsequent class time, continuous improvements are made and a final complete version is developed. Therefore, for a considerable period of time, enterprises cannot make full use of their resources, resulting in a large waste of human and financial resources. Moreover, current research on models and algorithms for multi-objective scheduling problems is insufficient. Therefore, there is an urgent need for an improved multi-objective optimization algorithm based on non-dominated sorting and a multi-objective enterprise training scheduling optimization system. Summary of the Invention
[0004] In order to overcome the shortcomings of the existing technology, one of the objectives of this invention is to provide a multi-objective improved optimization algorithm based on non-dominated sorting, so that enterprises can make full use of resources in training arrangements and reduce waste of human and financial resources.
[0005] The technical solution adopted in this invention is as follows: a multi-objective improved optimization algorithm based on non-dominated sorting, comprising the following steps:
[0006] S1: Randomly generate the solution set using MATLAB;
[0007] S2: The solution set is mapped to the discrete space of ECSP through ROV transformation to obtain the initial population of the course;
[0008] S3: The position vector in the initial population of the course is the course code. A three-segment coding method is used to encode the classroom and trainer.
[0009] S4: Use an insert-type greedy decoding algorithm to decode the encoded courses, classrooms, and trainers to form multiple first timetables;
[0010] S5: Input the course, classroom, and trainer number of each first timetable into the constraints to obtain the corresponding second timetable and the end time of each course. Input the course, classroom, and trainer number of each course, the end time of each course, the daily fixed management fee of the classroom, and the hourly fee of the trainer into the objective function to obtain multiple sets of objective function values. Each set of objective function values includes minimizing the maximum course scheduling completion time and the minimum budget cost.
[0011] S6: Obtain the non-dominated optimal solution from the course codes and objective function values corresponding to multiple second timetables through the non-dominated sorting algorithm, construct the Pareto front, rank the non-dominated optimal solution in the Pareto front as 1, and delete the non-dominated optimal solution in the Pareto front from the initial course population.
[0012] S7: Decentralize the non-dominated optimal solution in the Pareto front to an external archive set of size K, and randomly select a non-dominated optimal solution from the external archive set to obtain the first solution set through the basic arithmetic optimization algorithm. Then, obtain the second and third solution sets through the neighborhood search and random elite pool strategies respectively. Finally, combine the first, second, and third solution sets into a new solution set.
[0013] S8: Repeat S2-S7. If the specified number of iterations is met, then terminate.
[0014] S9: Perform non-dominated sorting on the non-dominated optimal solutions in the external archive set, construct the final Pareto front, select the objective function values of the corresponding groups of non-dominated optimal solutions in the final Pareto front, and the corresponding timetables as the final timetable.
[0015] In a preferred embodiment of the present invention, S1 further includes the following steps:
[0016] S11: Multiple solution components are randomly generated in the continuous solution space using MATLAB and combined into a solution vector to form a solution set, as shown in formulas (1), (2), and (3).
[0017] v in =rand(N,Dim)×(UB-LB)+LB (1),
[0018] V i =[v i1 ,v i2,···,v in (2),
[0019] V = [V1, V2, ..., V i (3),
[0020] In formula (1), v in For the solution component, rand(N,Dim) is a randomly generated number, UB is the upper boundary of the solution component, and LB is the lower boundary of the solution component. In formula (2), V i Let V be the solution vector, and V be the solution set.
[0021] In a preferred embodiment of the present invention, S2 further includes the following steps:
[0022] S21: The solution set is mapped to the discrete space of ECSP using the ROV transformation to obtain the initial population of the course, as shown in formulas (4) and (5).
[0023] X i =[x i1 ,x i2 ,···,x in (4),
[0024] X = [X1, X2, ..., X...] i (5),
[0025] In formulas (4) and (5), X represents the initial population of the course. i Let x be the position vector. in To solve for the components.
[0026] In a preferred embodiment of the present invention, S3 further includes the following steps:
[0027] S31: The position vector in the initial population of the course is the course code. A three-segment coding method is used, and then the classroom and trainer are coded, as shown in formula (6).
[0028] W = [x i1 ,x i2 ,...,x in ,x l1 ,x l2 ,...,x ln ,x k1 ,x k2 ,...,x kn (6),
[0029] In formula (6), x in For course number, x ln Classroom number, x kn Number the trainer.
[0030] In a preferred embodiment of the present invention, S5 further includes the following steps:
[0031] S51: Substitute the course, classroom, and trainer number from each first timetable, along with the corresponding training time, into the constraints to obtain the corresponding second timetable and the end time of each course, as shown in formulas (7), (8), (9), and (10).
[0032] c i =s i +t i ,i=1,2,...,n (7),
[0033] t i ≥0, i=1,2,...,n (8),
[0034]
[0035] In formulas (7), (8), (9), and (10), i and j are the i-th and j-th courses, respectively, and s i Let c be the start time of the i-th course. i Let t be the end time of the i-th course. i Let be the time required for the i-th course. Let j be the end time of the j-th course in classroom l. Let Q be the end time of the i-th course in the l-th classroom, and let Q be a positive integer. Let be the end time of the training session for the j-th course conducted by the k-th trainer. Let be the end time of the training session for the i-th course conducted by the k-th trainer.
[0036] When course i is taught in classroom l before course j, y ijl If y equals 1, otherwise y ijl Equal to 0;
[0037] When course i is taught by trainer k before course j, z ijk If z equals 1, otherwise z ijk Equal to 0;
[0038] S52: Substitute the course, classroom, and trainer numbers from the second timetable, along with the end time of each course, the daily fixed management fee for the classroom, and the trainer's hourly rate, into the objective function to obtain multiple sets of objective function values. Each set of objective function values includes minimizing the maximum course scheduling completion time and the minimum budget cost, as shown in formulas (11) and (12).
[0039] minF1=max(c i ), i = 1, 2, ..., n (11),
[0040]
[0041] In formulas (11) and (12), c i Let be the end time of the i-th course, n be the number of training courses the company needs each year, m be the number of trainers, g be the number of classrooms, pv be the daily fixed management cost of the classrooms, and t be the end time of the i-th course. i Let be the time required for the i-th course. The cost per day for the i-th course in the l-th classroom. Let F1 be the daily cost of teaching the i-th course by the k-th trainer, and minF2 be the minimum maximum course scheduling completion time.
[0042] When the i-th course is taught by the k-th trainer in the l-th classroom, h ikl It equals 1, otherwise it equals 0.
[0043] In a preferred embodiment of the present invention, S6 further includes the following steps:
[0044] S61: First, determine the dominance of vectors at different positions in the initial population of the course, as shown in formula (13).
[0045]
[0046] In formula (18), p and q represent different position vectors, Let p dominate q, F1(p) and F1(q) be different minimum maximum course completion times, and F2(p) and F2(q) be different minimum budget costs.
[0047] S62: Delete the position vectors that satisfy the above conditions, retain the remaining position vectors in the initial population of the current course as the non-dominated optimal solution, and construct the Pareto front.
[0048] S63: Rank the obtained non-dominated optimal solution as 1 in the Pareto front and remove the non-dominated optimal solution from the initial population of the course.
[0049] In a preferred embodiment of the present invention, S7 further includes the following step:
[0050] S71: The non-dominated optimal solution in the Pareto front is transferred to an external archive set of size K, and a non-dominated optimal solution is randomly selected from the external archive set to obtain the first solution set through the basic arithmetic optimization algorithm. Three random numbers are randomly generated by MATLAB, namely the first random number, the second random number, and the third random number. When the first random number is less than the acceleration function value of the cth generation, the multiplication and division operation strategy of the basic arithmetic optimization algorithm is used to search for candidate solutions in the entire continuous solution space. The acceleration function is shown in formula (14). When the second random number is less than 0.5, the division operation is performed as shown in formula (15). When the second random number is greater than or equal to 0.5, the multiplication operation is performed as shown in formula (16). When the first random number is greater than the acceleration function value of the cth generation, the addition and subtraction operation strategy of the basic arithmetic optimization algorithm is used to search for candidate solutions in the local continuous solution space. When the third random number is less than 0.5, the subtraction operation is performed as shown in formula (17). When the third random number is greater than or equal to 0.5, the addition operation is performed as shown in formula (18).
[0051]
[0052] v i,n (c+1)=best(X i )÷(MOP(c)+ε)×((UB n -LB n )×μ+LB n (15),
[0053] v i,n (c+1)=best(X i )×MOP(c)×((UB n -LB n )×μ+LB n (16),
[0054] v i,n (c+1)=best(X i )-MOP(c)×((UB n -LB n )×μ+LB n (17),
[0055] v i,n (c+1)=best(X i )+MOP(c)×((UB n -LB n )×μ+LB n (18),
[0056] In formula (14), c is the current iteration number, T is the total number of iterations, MOA(c) is the acceleration function value of the cth generation, and Min and Max are the minimum and maximum values of the acceleration function, respectively.
[0057] In formulas (15), (16), (17), and (18), v i,n (c+1) represents the nth component of the r-th candidate solution in the (c+1)-th iteration, best(X) i ) represents the non-dominated optimal solution obtained up to the current iteration number, where ε is an integer, n is the dimension of each solution component, and UB n and LB n Here, μ represents the upper and lower bounds of the optimal solution in the nth dimension, μ is the control parameter, and MOP(c) is the function value at the cth iteration.
[0058] S72: Then, the first solution set obtained above is used to simultaneously obtain the second solution set and the third solution set through the domain search and random elite pool strategies, respectively;
[0059] S73: Then combine the first solution set, the second solution set, and the third solution set into a new solution set.
[0060] Then, the first solution set obtained above is used to obtain the third solution set.
[0061] In a preferred embodiment of the present invention, S72 further includes the following step:
[0062] S721: The first solution set is simultaneously obtained by the second solution set through the domain search structure N1, domain search structure N2 and domain search structure N3 in the domain search. The domain search structure N1 is to randomly select two elements in the course code, and the selected elements must correspond to different courses. Then the selected courses are swapped. The domain search structure N2 is to randomly select two elements in the course code and then insert the latter course before the former course. The domain search structure N3 is to randomly swap the front and back course blocks.
[0063] S722: The first solution set is used to obtain the third solution set through any one of the search strategies in the random elite pool strategy. The first search strategy is shown in formulas (19) and (20), the second search strategy is shown in formula (21), the third search strategy is shown in formula (22), and the fourth search strategy is shown in formula (23).
[0064]
[0065] V2(c+1)=(X best (c)-X M (c))×0.1-rand+((UB-LB)×rand+LB)×0.1 (21),
[0066] V3(c+1)=(X best (c)-X M (c))-rand×((UB-LB)×rand+LB) (22),
[0067] In formulas (19), (20), (21), and (22), c is the current iteration number, T is the total number of iterations, rand is a random number between 0 and 1, V1(c+1) is the position vector in the (c+1)th iteration of the first search strategy, and X best (c) represents the non-dominated optimal solution obtained up to the current iteration number, X. M (c) is the average of all position vectors in the current population, X i (c) is the i-th position vector of the current population, and N is the total number of individuals in the population; V2(c+1) is the position vector of the second search strategy at the (c+1)-th iteration, and UB and LB are the upper and lower bounds of the optimal solution, respectively; V3(c+1) is the position vector of the third search strategy at the (c+1)-th iteration.
[0068] The second objective of this invention is to provide a multi-objective enterprise training scheduling optimization system, which uses the improved evolutionary algorithm based on non-dominated sorting described above to achieve multi-objective enterprise training scheduling.
[0069] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0070] This invention solves the enterprise training scheduling problem by establishing a multi-objective optimization model with the objectives of minimizing the maximum scheduling completion time and the minimum total cost, and by using an improved basic arithmetic optimization algorithm (AOA). This allows enterprises to complete their training tasks while simultaneously developing training arrangements that align with their interests, making full use of resources and reducing waste of human and financial resources.
[0071] Specifically, based on the ROV transformation rule, a mapping between discrete and continuous spaces is achieved, enabling the improved basic arithmetic optimization algorithm to be applied to enterprise scheduling problems. Secondly, three neighborhood search structures and a random elite pool strategy are designed to further enhance the algorithm's convergence ability. The external archive set is updated using a non-dominated sorting algorithm, ultimately outputting the Pareto front. The effectiveness and convergence ability of the improved basic arithmetic optimization algorithm are demonstrated using real-world enterprise data. This allows continuous optimization algorithms to be applied to solve complex enterprise scheduling problems. Attached Figure Description
[0072] Figure 1 This is a flowchart of the multi-objective improved optimization algorithm based on non-dominated sorting in this invention;
[0073] Figure 2This is a schematic diagram of priority decoding in the multi-objective improved optimization algorithm based on non-dominated sorting, as presented in this invention.
[0074] Figure 3 This is a schematic diagram of the domain search structure N3 of the multi-objective improved optimization algorithm based on non-dominated sorting according to the present invention;
[0075] Figure 4 This is a schematic diagram of the Pareto front of the multi-objective improved optimization algorithm based on non-dominated sorting, as presented in this invention. Detailed Implementation
[0076] Typical embodiments embodying the features and advantages of the present invention will be specifically described in the following description. It should be understood that the present invention can have various variations in different embodiments without departing from the scope of the present invention, and the descriptions and illustrations herein are for illustrative purposes only and not intended to limit the present invention.
[0077] The present invention will now be described in detail with reference to the accompanying drawings and embodiments.
[0078] Explanation: The number of courses, classrooms and their corresponding numbers, the number of trainers and their corresponding numbers, the corresponding training time for each course, the daily fixed management fee for each classroom, and the hourly rate for each trainer are known conditions. The number of courses is used to limit the number of solution components. Individuals are also known as position vectors and solution vectors.
[0079] Improved multi-objective optimization algorithms based on non-dominated sorting, such as Figure 1 As shown, it includes the following steps:
[0080] S1: Randomly generate the solution set using MATLAB;
[0081] Specifically, S1 also includes the following steps:
[0082] S11: Multiple solution components are randomly generated in the continuous solution space using MATLAB and combined into a solution vector to form a solution set, as shown in formulas (1), (2), and (3).
[0083] v in =rand(N,Dim)×(UB-LB)+LB (1),
[0084] V i =[v i1 ,v i2 ,···,v in (2),
[0085] V = [V1, V2, ..., V i (3),
[0086] In formula (1), v inFor the solution component, rand(N,Dim) is a randomly generated number, UB is the upper boundary of the solution component, and LB is the lower boundary of the solution component. In formula (2), V i Let V be the solution vector, and V be the solution set.
[0087] In this embodiment, UB is 10 and LB is -10.
[0088] S2: The solution set is mapped to the discrete space of ECSP through ROV transformation to obtain the initial population of the course;
[0089] Specifically, S2 also includes the following steps:
[0090] S21: The solution set is mapped to the discrete space of ECSP using the ROV transformation to obtain the initial population of the course, as shown in formulas (4) and (5).
[0091] X i =[x i1 ,x i2 ,···,x in (4),
[0092] X = [X1, X2, ..., X...] i (5),
[0093] In formulas (4) and (5), X represents the initial population of the course. i Let x be the position vector. in To solve for the components.
[0094] In this embodiment, through the solution vector V i =[v i1 ,v i2 ,···,v in Find the smallest position in the continuous vector and assign it the course number 1. Then select the second smallest position in the continuous vector and assign it the course number 2, and so on. Convert all solution vectors into course numbers. For example, if the solution vector V6 = [0.29, 2.31, 5.32, 3.73, 1.13, 0.62], the corresponding course number is X6 = [1, 4, 6, 5, 3, 2].
[0095] S3: The position vector in the initial population of the course is the course code. A three-segment coding method is used to encode the classroom and trainer.
[0096] Specifically, S3 also includes the following steps:
[0097] S31: The position vector in the initial population of the course is the course code. A three-segment coding method is used, and then the classroom and trainer are coded, as shown in formula (6).
[0098] W = [x i1 ,xi2 ,...,x in ,x l1 ,x l2 ,...,x ln ,x k1 ,x k2 ,...,x kn (6),
[0099] In formula (6), x in For course number, x ln Classroom number, x kn Number the trainer.
[0100] Table 1 Encoding Examples
[0101] 2 1 8 7 5 6 3 4
[0102] (a) Course Code
[0103]
[0104] (b) Class Code
[0105]
[0106] (c) Trainer Code
[0107] In this embodiment, the three-segment coding method means that each adjustment degree contains three equal parts: the course selection scheme, the classroom selection scheme, and the trainer selection scheme. The first segment, the course code, represents the course number; the second segment represents the course in the corresponding classroom; and the third segment represents the course with the corresponding trainer. For example, see the coding example in Table 1. 41 For the first class in the fourth classroom, k 42 The second course for the fourth trainer.
[0108] S4: Use an insert-type greedy decoding algorithm to decode the encoded courses, classrooms, and trainers to form multiple first timetables;
[0109] Specifically, such as Figure 2 As shown, for classroom and trainer decoding, priority is given to trainers and classrooms with fewer scheduled classes. That is, each scheduling operation is transferred to trainers and classrooms with lower workloads, and then subsequent related operations are transferred to the left, increasing the possibility of generating better scheduling. Figure 2 In the diagram, the horizontal axis represents the time when the course scheduling was completed, the vertical axis represents the classroom selected for the current course, and each rectangle represents two numbers: the trainer's ID and the number of times the trainer has taught the course.
[0110] S5: Input the course, classroom, and trainer number of each first timetable into the constraints to obtain the corresponding second timetable and the end time of each course. Input the course, classroom, and trainer number of each course, the end time of each course, the daily fixed management fee of the classroom, and the hourly fee of the trainer into the objective function to obtain multiple sets of objective function values. Each set of objective function values includes minimizing the maximum course scheduling completion time and the minimum budget cost.
[0111] Specifically, S5 also includes the following steps:
[0112] S51: Substitute the course, classroom, and trainer number from each first timetable, along with the corresponding training time, into the constraints to obtain the corresponding second timetable and the end time of each course, as shown in formulas (7), (8), (9), and (10).
[0113] c i =s i +t i ,i=1,2,...,n (7),
[0114] t i ≥0, i=1,2,...,n (8),
[0115]
[0116] In formulas (7), (8), (9), and (10), i and j are the i-th and j-th courses, respectively, and s i Let c be the start time of the i-th course. i Let t be the end time of the i-th course. i Let be the time required for the i-th course. Let j be the end time of the j-th course in classroom l. Let Q be the end time of the i-th course in the l-th classroom, and let Q be a positive integer. Let be the end time of the training session for the j-th course conducted by the k-th trainer. Let be the end time of the training session for the i-th course conducted by the k-th trainer.
[0117] When course i is taught in classroom l before course j, y ijl If y equals 1, otherwise y ijl Equal to 0;
[0118] When course i is taught by trainer k before course j, z ijk If z equals 1, otherwise z ijk Equal to 0;
[0119] In this embodiment, formula (7) means that once a course starts, it cannot be interrupted; formula (8) means that the class time is non-negative; formula (9) means that only one course can be scheduled for the same class at the same time; and formula (10) means that only one class can be scheduled for the same trainer at the same time.
[0120] S52: Substitute the course, classroom, and trainer numbers from the second timetable, along with the end time of each course, the daily fixed management fee for the classroom, and the trainer's hourly rate, into the objective function to obtain multiple sets of objective function values. Each set of objective function values includes minimizing the maximum course scheduling completion time and the minimum budget cost, as shown in formulas (11) and (12).
[0121] minF1=max(c i ), i = 1, 2, ..., n (11),
[0122]
[0123] In formulas (11) and (12), c i Let be the end time of the i-th course, n be the number of training courses the company needs each year, m be the number of trainers, g be the number of classrooms, pv be the daily fixed management cost of the classrooms, and t be the end time of the i-th course. i Let be the time required for the i-th course. The cost per day for the i-th course in the l-th classroom. Let F1 be the daily cost of teaching the i-th course by the k-th trainer, and minF2 be the minimum maximum course scheduling completion time.
[0124] When the i-th course is taught by the k-th trainer in the l-th classroom, h ikl It equals 1, otherwise it equals 0.
[0125] In this embodiment, minimizing the maximum course completion time is achieved by rationally allocating course, classroom, and trainer resources so that the latest course ends as early as possible after all courses are scheduled.
[0126] S6: Obtain the non-dominated optimal solution from the course codes and objective function values corresponding to multiple second course schedules through the non-dominated sorting algorithm, construct the Pareto front (that is, rank the non-dominated optimal solution in the Pareto front as 1, and delete the non-dominated optimal solution in the Pareto front from the initial course population.
[0127] Specifically, S6 also includes the following steps:
[0128] S61: First, determine the dominance of vectors at different positions in the initial population of the course, as shown in formula (13).
[0129]
[0130] In formula (18), p and q represent different position vectors, Let p dominate q, F1(p) and F1(q) be different minimum maximum course completion times, and F2(p) and F2(q) be different minimum budget costs.
[0131] S62: Delete the position vectors that satisfy the above conditions, retain the remaining position vectors in the initial population of the current course as the non-dominated optimal solution, and construct the Pareto front.
[0132] S63: Rank the obtained non-dominated optimal solution as 1 in the Pareto front and remove the non-dominated optimal solution from the initial population of the course.
[0133] S7: Decentralize the non-dominated optimal solution in the Pareto front to an external archive set of size K, and randomly select a non-dominated optimal solution from the external archive set to obtain the first solution set through the basic arithmetic optimization algorithm. Then, obtain the second and third solution sets through the neighborhood search and random elite pool strategies respectively. Finally, combine the first, second, and third solution sets into a new solution set.
[0134] Specifically, S7 also includes the following steps:
[0135] S71: The non-dominated optimal solution in the Pareto front is transferred to an external archive set of size K, and a non-dominated optimal solution is randomly selected from the external archive set to obtain the first solution set through the basic arithmetic optimization algorithm. Three random numbers are randomly generated by MATLAB, namely the first random number, the second random number, and the third random number. When the first random number is less than the acceleration function value of the cth generation, the multiplication and division operation strategy of the basic arithmetic optimization algorithm is used to search for candidate solutions in the entire continuous solution space. The acceleration function is shown in formula (14). When the second random number is less than 0.5, the division operation is performed as shown in formula (15). When the second random number is greater than or equal to 0.5, the multiplication operation is performed as shown in formula (16). When the first random number is greater than the acceleration function value of the cth generation, the addition and subtraction operation strategy of the basic arithmetic optimization algorithm is used to search for candidate solutions in the local continuous solution space. When the third random number is less than 0.5, the subtraction operation is performed as shown in formula (17). When the third random number is greater than or equal to 0.5, the addition operation is performed as shown in formula (18).
[0136]
[0137] v i,n (c+1)=best(X i )÷(MOP(c)+ε)×((UB n -LBn )×μ+LB n (15),
[0138] v i,n (c+1)=best(X i )×MOP(c)×((UB n -LB n )×μ+LB n (16),
[0139] v i,n (c+1)=best(X i )-MOP(c)×((UB n -LB n )×μ+LB n (17),
[0140] v i,n (c+1)=best(X i )+MOP(c)×((UB n -LB n )×μ+LB n (18),
[0141] In formula (14), c is the current iteration number, T is the total iteration number, MOA(c) is the acceleration function value of the c-th generation, Min and Max are the minimum and maximum values of the acceleration function, respectively, with values of 0.2 and 1, c is 1, and T is 100;
[0142] In formulas (15), (16), (17), and (18), v i,n (c+1) represents the nth component of the r-th candidate solution in the (c+1)-th iteration, best(X) i ) represents the non-dominated optimal solution obtained up to the current iteration number, where ε is an integer, n is the dimension of each solution component, and UB n and LB n These are the upper and lower bounds of the optimal solution in the nth dimension, respectively; μ is the control parameter, μ is 0.9; and MOP(c) is the function value at the cth iteration.
[0143] In this embodiment, α is a sensitivity parameter, and α is 5. When the number of position vectors i in the external archive set is greater than K, ik position vectors are randomly deleted. The Pareto front is also known as the Pareto front.
[0144] In this embodiment, a non-dominated optimal solution has multiple solution components. Each time, a single solution component in the non-dominated optimal solution is used to obtain a new solution component through an arithmetic optimization algorithm. Multiple new solution components constitute the first solution set.
[0145] S72: Then, the first solution set obtained above is used to simultaneously obtain the second solution set and the third solution set through the domain search and random elite pool strategies, respectively;
[0146] Specifically, S72 also includes the following steps:
[0147] S721: The first solution set is simultaneously obtained by the second solution set through the domain search structure N1, domain search structure N2 and domain search structure N3 in the domain search. The domain search structure N1 is to randomly select two elements in the course code, and the selected elements must correspond to different courses. Then the selected courses are swapped. The domain search structure N2 is to randomly select two elements in the course code and then insert the latter course before the former course. The domain search structure N3 is to randomly swap the front and back course blocks.
[0148] In this embodiment, the first solution set consists of multiple solution vectors, which are also course codes. The random swapping of preceding and following course blocks in the domain search structure N3 specifically involves, for course code V... i =[v i1 ,v i2 ,···,v iD Select a random number. [x] i1 ,x i2 ,...,x i(r1) ] and [x i(n-r1) ,x i(n-r1+1) ,...,x iD The two course blocks are swapped, such as... Figure 3 As shown.
[0149] In this embodiment, the course block is also the decomposition block or the encoding block.
[0150] S722: The first solution set is used to obtain the third solution set through any one of the search strategies in the random elite pool strategy. The first search strategy is shown in formulas (19) and (20), the second search strategy is shown in formula (21), the third search strategy is shown in formula (22), and the fourth search strategy is shown in formula (23).
[0151]
[0152] V2(c+1)=(X best (c)-X M (c))×0.1-rand+((UB-LB)×rand+LB)×0.1 (21),
[0153] V3(c+1)=(X best (c)-X M(c))-rand×((UB-LB)×rand+LB) (22),
[0154] In formulas (19), (20), (21), and (22), c is the current iteration number, T is the total number of iterations, rand is a random number between 0 and 1, V1(c+1) is the position vector in the (c+1)th iteration of the first search strategy, and X best (c) represents the non-dominated optimal solution obtained up to the current iteration number, X. M (c) is the average of all position vectors in the current population, X i (c) is the i-th position vector of the current population, and N is the total number of individuals in the population; V2(c+1) is the position vector of the second search strategy at the (c+1)-th iteration, and UB and LB are the upper and lower bounds of the optimal solution, respectively; V3(c+1) is the position vector of the third search strategy at the (c+1)-th iteration.
[0155] S73: Then combine the first solution set, the second solution set, and the third solution set into a new solution set.
[0156] Then, the first solution set obtained above is used to obtain the third solution set.
[0157] S8: Repeat S2-S7. If the specified number of iterations is met, then terminate.
[0158] S9: Perform non-dominated sorting on the non-dominated optimal solutions in the external archive set, construct the final Pareto front, select the objective function values of the corresponding groups of non-dominated optimal solutions in the final Pareto front, and the corresponding timetables as the final timetable.
[0159] In this embodiment, the non-dominated optimal solution is sorted by dominance in S9, referring to the non-dominated optimal solution in S6.
[0160] The multi-objective corporate training scheduling optimization system adopts the improved evolutionary algorithm based on non-dominated sorting described above to achieve multi-objective corporate training scheduling.
[0161] The following is a specific example using data from a major automaker after anonymization:
[0162] The training program requires 1000 courses, 50 classrooms, and 50 trainers. Each course lasts 1-5 days. The price per classroom and per trainer is between 100 and 200 yuan per day, with a fixed classroom management cost of 50 yuan per day. See Table 2 for details.
[0163]
[0164] Population size i = 30, total number of iterations T = 100, control parameter μ = 0.449, sensitivity parameter α = 5, maximum speedup function Max = 1 and minimum speedup function Min = 0.2, upper bound UB = 10, lower bound LB = -10, external archive set size K = 30.
[0165] The algorithms compared are the heuristic algorithm FCFS (which schedules courses according to the natural sequence of course numbers) and the AOA algorithm. Each algorithm is run independently 5 times, and the final non-dominated solution set is taken.
[0166] The Multi-objective Arithmetic Optimization Algorithm (MOAOA) is based on non-dominated sorting. To further demonstrate the effectiveness and convergence of the MOAOA algorithm, the following evaluation metrics are selected: the best solution at the Pareto front, the average value (Ave), and the solution set coverage C(A,B). Here, Best and Ave represent the exploration ability and convergence ability of different algorithms, respectively. The formula for calculating the solution set coverage C(A,B) is shown in (23):
[0167]
[0168] In formula (23), C(A,B) is the percentage of B that is dominated by at least one solution in A. If the result of C(A,B) is greater than C(B,A), then algorithm A is superior to algorithm B. Algorithm A refers to the MOAOA algorithm, and algorithm B refers to one of the other two comparison algorithms.
[0169] Table 2 shows the final Pareto optimal solution sets obtained by the three algorithms for minimizing the maximum scheduling time (F1) and the minimum scheduling cost (F2). It can be observed that the MOAOA algorithm obtains three non-dominated solutions, fewer than the AOA algorithm. However, when the non-dominated solution sets of the three algorithms are combined, the MOAOA algorithm's non-dominated solution set is dominant over the other two algorithms. Figure 4 The Pareto fronts of the three algorithms are shown in the comparison diagram. In this embodiment, the MOAOA algorithm has the optimal Pareto front compared to the other two algorithms, meaning it completes scheduling in less time and has a lower total scheduling cost. This demonstrates that the MOAOA algorithm can guarantee the quality of solutions to multi-objective scheduling problems.
[0170]
[0171] Table 2
[0172]
[0173] Table 3
[0174] The experimental results in Table 3 show that the minimum and average scheduling completion times obtained by the MOAOA algorithm are 84 and 85 days, respectively. This represents an improvement of at least 19.04% and 20% compared to the other two algorithms. The MOAOA algorithm also achieved good results in terms of total cost budget, with its optimal solution and average cost being 1,103,392 yuan and 1,109,903.3 yuan, respectively. This represents an improvement of at least 3.4% and 3.3% compared to the other two algorithms. The C(A,B) index shows that the PF solution set obtained by the MOAOA algorithm completely dominates the other two algorithms, demonstrating the effectiveness of the neighborhood search and random elite pool strategies, as well as the superiority of the machine and trainer decoding methods designed in this invention.
[0175] Table 4 shows the final course schedule obtained by the enterprise based on the MOAOA algorithm. As can be seen from the course schedule, the final result meets the hard constraints required by the enterprise: (1) All classrooms and trainers are idle at the initial zero time; (2) Only one class can be scheduled in the same classroom at the same time; (3) Only one class can be scheduled in the same trainer at the same time; (4) The class time cannot be less than the course's prescribed class hours; (5) Once the course starts, it cannot be interrupted.
[0176]
[0177] Table 4
[0178] The above embodiments are merely preferred embodiments of the present invention and should not be construed as limiting the scope of protection of the present invention. Any non-substantial changes and substitutions made by those skilled in the art based on the present invention shall fall within the scope of protection claimed by the present invention.
Claims
1. A multi-objective improved optimization algorithm based on non-dominated sorting, characterized in that: Includes the following steps: S1: Randomly generate the solution set using MATLAB; S2: The solution set is mapped to the discrete space of ECSP through ROV transformation to obtain the initial population of the course; S3: The position vector in the initial population of the course is the course code. A three-segment coding method is used to encode the classroom and trainer. S4: Use an insert-type greedy decoding algorithm to decode the encoded courses, classrooms, and trainers to form multiple first timetables; S5: Input the course, classroom, and trainer number of each first timetable into the constraints to obtain the corresponding second timetable and the end time of each course. Input the course, classroom, and trainer number of each course, the end time of each course, the daily fixed management fee of the classroom, and the hourly fee of the trainer into the objective function to obtain multiple sets of objective function values. Each set of objective function values includes minimizing the maximum course scheduling completion time and the minimum budget cost. S6: Obtain the non-dominated optimal solution from the course codes and objective function values corresponding to multiple second timetables through the non-dominated sorting algorithm, construct the Pareto front, rank the non-dominated optimal solution in the Pareto front as 1, and delete the non-dominated optimal solution in the Pareto front from the initial course population. S7: Decentralize the non-dominated optimal solution in the Pareto front to an external archive set of size K, and randomly select a non-dominated optimal solution from the external archive set to obtain the first solution set through the basic arithmetic optimization algorithm. Then, obtain the second and third solution sets through the neighborhood search and random elite pool strategies respectively. Finally, combine the first, second, and third solution sets into a new solution set. S8: Repeat S2-S7. If the specified number of iterations is met, then terminate. S9: Perform non-dominated sorting on the non-dominated optimal solutions in the external archive set, construct the final Pareto front, select the objective function values of the corresponding groups of non-dominated optimal solutions in the final Pareto front, and the corresponding timetables as the final timetable.
2. The improved multi-objective optimization algorithm based on non-dominated sorting according to claim 1, characterized in that: S1 also includes the following steps: S11: Multiple solution components are randomly generated in the continuous solution space using MATLAB and combined into a solution vector to form a solution set, as shown in formulas (1), (2), and (3). v in =rand(N,Dim)×(UB-LB)+LB (1), V i =[v i1 ,v i2 ,···,v in ] (2), V=[V1,V2,···,V i ] (3), In formula (1), v in For the solution component, rand(N,Dim) is a randomly generated number, UB is the upper boundary of the solution component, and LB is the lower boundary of the solution component. In formula (2), V i Let V be the solution vector, and V be the solution set.
3. The improved multi-objective optimization algorithm based on non-dominated sorting according to claim 1, characterized in that: S2 also includes the following steps: S21: The solution set is mapped to the discrete space of ECSP using the ROV transformation to obtain the initial population of the course, as shown in formulas (4) and (5). X i =[x i1 ,x i2 ,···,x in ] (4), X=[X1,X2,···,X i ] (5), In formulas (4) and (5), X represents the initial population of the course. i Let x be the position vector. in To solve for the components.
4. The improved multi-objective optimization algorithm based on non-dominated sorting according to claim 1, characterized in that: S3 also includes the following steps: S31: The position vector in the initial population of the course is the course code. A three-segment coding method is used, and then the classroom and trainer are coded, as shown in formula (6). W=[x i1 ,x i2 ,...,x in ,x l1 ,x l2 ,...,x ln ,x k1 ,x k2 ,...,x kn ] (6), In formula (6), x in For course number, x ln Classroom number, x kn Number the trainer.
5. The improved multi-objective optimization algorithm based on non-dominated sorting according to claim 1, characterized in that: S5 also includes the following steps: S51: Substitute the course, classroom, and trainer number from each first timetable, along with the corresponding training time, into the constraints to obtain the corresponding second timetable and the end time of each course, as shown in formulas (7), (8), (9), and (10). c i =s i +t i ,i=1,2,...,n (7), t i ≥0,i=1,2,...,n (8), In formulas (7), (8), (9), and (10), i and j are the i-th and j-th courses, respectively, and s i Let c be the start time of the i-th course. i Let t be the end time of the i-th course. i Let be the time required for the i-th course. Let j be the end time of the j-th course in classroom l. Let Q be the end time of the i-th course in the l-th classroom, and let Q be a positive integer. Let be the end time of the training session for the j-th course conducted by the k-th trainer. Let be the end time of the training session for the i-th course conducted by the k-th trainer. When course i is taught in classroom l before course j, y ijl If y equals 1, otherwise y ijl Equals 0; When course i is taught by trainer k before course j, z ijk If z equals 1, otherwise z ijk Equals 0; S52: Substitute the course, classroom, and trainer numbers from the second timetable, along with the end time of each course, the daily fixed management fee for the classroom, and the trainer's hourly rate, into the objective function to obtain multiple sets of objective function values. Each set of objective function values includes minimizing the maximum course scheduling completion time and the minimum budget cost, as shown in formulas (11) and (12). minF1=max(c i ),i=1,2,...,n (11), In formulas (11) and (12), c i Let be the end time of the i-th course, n be the number of training courses the company needs each year, m be the number of trainers, g be the number of classrooms, pv be the daily fixed management cost of the classrooms, and t be the end time of the i-th course. i Let be the time required for the i-th course. The cost per day for the i-th course in the l-th classroom. Let F1 be the daily cost of teaching the i-th course by the k-th trainer, and minF2 be the minimum maximum course scheduling completion time. When the i-th course is taught by the k-th trainer in the l-th classroom, h ikl It equals 1, otherwise it equals 0.
6. The improved multi-objective optimization algorithm based on non-dominated sorting according to claim 1, characterized in that: S6 also includes the following steps: S61: First, determine the dominance of vectors at different positions in the initial population of the course, as shown in formula (13). In formula (18), p and q represent different position vectors, Let p dominate q, F1(p) and F1(q) be different minimum maximum course completion times, and F2(p) and F2(q) be different minimum budget costs. S62: Delete the position vectors that satisfy the above conditions, retain the remaining position vectors in the initial population of the current course as the non-dominated optimal solution, and construct the Pareto front. S63: Rank the obtained non-dominated optimal solution as 1 in the Pareto front and remove the non-dominated optimal solution from the initial population of the course.
7. The improved multi-objective optimization algorithm based on non-dominated sorting according to claim 1, characterized in that: S7 also includes the following steps: S71: The non-dominated optimal solution in the Pareto front is transferred to an external archive set of size K, and a non-dominated optimal solution is randomly selected from the external archive set to obtain the first solution set through the basic arithmetic optimization algorithm. Three random numbers are randomly generated by MATLAB, namely the first random number, the second random number, and the third random number. When the first random number is less than the acceleration function value of the cth generation, the multiplication and division operation strategy of the basic arithmetic optimization algorithm is used to search for candidate solutions in the entire continuous solution space. The acceleration function is shown in formula (14). When the second random number is less than 0.5, the division operation is performed as shown in formula (15). When the second random number is greater than or equal to 0.5, the multiplication operation is performed as shown in formula (16). When the first random number is greater than the acceleration function value of the cth generation, the addition and subtraction operation strategy of the basic arithmetic optimization algorithm is used to search for candidate solutions in the local continuous solution space. When the third random number is less than 0.5, the subtraction operation is performed as shown in formula (17). When the third random number is greater than or equal to 0.5, the addition operation is performed as shown in formula (18). v i,n (c+1)=best(X i )÷(MOP(c)+ε)×((UB n -LB n )×μ+LB n ) (15), v i,n (c+1)=best(X i )×MOP(c)×((UB n -LB n )×μ+LB n ) (16), v i,n (c+1)=best(X i )-MOP(c)×((UB n -LB n )×μ+LB n ) (17), v i,n (c+1)=best(X i )+MOP(c)×((UB n -LB n )×μ+LB n ) (18), In formula (14), c is the current iteration number, T is the total number of iterations, MOA(c) is the acceleration function value of the cth generation, and Min and Max are the minimum and maximum values of the acceleration function, respectively. In formulas (15), (16), (17), and (18), v i,n (c+1) represents the nth component of the r-th candidate solution in the (c+1)-th iteration, best(X) i ) represents the non-dominated optimal solution obtained up to the current iteration number, where ε is an integer, n is the dimension of each solution component, and UB n and LB n Here, μ represents the upper and lower bounds of the optimal solution in the nth dimension, μ is the control parameter, and MOP(c) is the function value at the cth iteration. S72: Then, the first solution set obtained above is used to simultaneously obtain the second solution set and the third solution set through the domain search and random elite pool strategies, respectively; S73: Then combine the first solution set, the second solution set, and the third solution set into a new solution set. Then, the first solution set obtained above is used to obtain the third solution set.
8. The improved multi-objective optimization algorithm based on non-dominated sorting according to claim 7, characterized in that: S72 also includes the following steps: S721: The first solution set is simultaneously obtained by the second solution set through the domain search structure N1, domain search structure N2 and domain search structure N3 in the domain search. The domain search structure N1 is to randomly select two elements in the course code, and the selected elements must correspond to different courses. Then the selected courses are swapped. The domain search structure N2 is to randomly select two elements in the course code and then insert the latter course before the former course. The domain search structure N3 is to randomly swap the front and back course blocks. S722: The first solution set is used to obtain the third solution set through any one of the search strategies in the random elite pool strategy. The first search strategy is shown in formulas (19) and (20), the second search strategy is shown in formula (21), the third search strategy is shown in formula (22), and the fourth search strategy is shown in formula (23). V2(c+1)=(X best (c)-X M (c))×0.1-rand+((UB-LB)×rand+LB)×0.1 (21), V3(c+1)=(X best (c)-X M (c))-rand×((UB-LB)×rand+LB) (22), In formulas (19), (20), (21), and (22), c is the current iteration number, T is the total number of iterations, rand is a random number between 0 and 1, V1(c+1) is the position vector in the (c+1)th iteration of the first search strategy, and X best (c) represents the non-dominated optimal solution obtained up to the current iteration number, X. M (c) is the average of all position vectors in the current population, X i (c) is the i-th position vector of the current population, and N is the total number of individuals in the population; V2(c+1) is the position vector of the second search strategy at the (c+1)-th iteration, and UB and LB are the upper and lower bounds of the optimal solution, respectively; V3(c+1) is the position vector of the third search strategy at the (c+1)-th iteration.
9. A multi-objective corporate training scheduling optimization system, characterized by: The improved evolutionary algorithm based on non-dominated sorting, as described in any one of claims 1-8, is used to implement multi-objective enterprise training scheduling.