Course arrangement method based on multi-way tree path

Through a multi -split tree path, the complexity of the increasing complexity of genetic algorithms in the existing technology and the problem of non -convergence of the schedule of the schedule are solved, and the effect of quickly finding the conditions to meet the conditions and ensuring diversity is achieved.

CN119338160APending Publication Date: 2025-01-21SHENZHEN PUCAN INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411323053.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

In the prior art, the intelligent class-scheduling method based on genetic algorithm increases the complexity of the class-scheduling system, and the cross-scheduling schedules may easily lead to the problem of non-convergence of class-scheduling schedules.

Method used

Adopt a multi-tree path-based course scheduling method, collect data related to course scheduling, build a multi-tree structure that reflects course scheduling constraints, and use depth-first search or multi-tree pruning strategies to find courses that meet course scheduling constraints. arrange.

Benefits of technology

Through the multi -fork tree structure, the possibility of scheduling and the possibility of scheduling, simplifying the complexity of the problem of course, quickly finding the course of course excretion schemes, and ensuring the diversity of the scheme, which is suitable for large -scale schedules.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119338160A_ABST
    Figure CN119338160A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of course arrangement of an education system, and discloses a multi-way tree path-based course arrangement method, which comprises the following steps of: S1, collecting course arrangement related data; s2, constructing a multi-way tree structure reflecting course arrangement constraints according to the collected course arrangement related data; s3, through a depth-first search or multi-way tree pruning strategy, searching a course arrangement satisfying a course arrangement constraint; and S4, representing the generated course arrangement scheme in a multi-way tree path form for a user to check and confirm. The method solves the problems that the complexity of a course arrangement system is increased due to the adoption of a genetic algorithm in an existing course arrangement method, and the course arrangement schedule is not converged after crossing and variation of the course schedule.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of class scheduling in an education system, and in particular, relates to a class scheduling method based on a multi-branch tree path. Background Art

[0002] In the field of education, class scheduling is a complex and important task that requires consideration of many factors such as classroom resources, teacher time, and course conflicts. Traditional class scheduling methods are inefficient and prone to errors. With the development of computer technology, algorithm-based automatic class scheduling methods have emerged.

[0003] In the Chinese public patent with application number CN202310723576.X, a method for intelligent class scheduling based on genetic algorithm is disclosed, including the following steps: S1, using individual optimization to generate the initial class schedule, and binary encoding it to obtain the initial pre-scheduled class schedule population; S2, using genetic algorithm to calculate the fitness of the initial pre-scheduled class schedule population, and selecting the class schedule with the smallest fitness value as the best class schedule; S3, judging whether the fitness corresponding to the current best class schedule reaches the expected value; if so, output the current best class schedule; if not, cross and mutate the current best class schedule, return to step S2, until the fitness reaches the expected value, and output the corresponding best class schedule. The present invention adopts the above-mentioned intelligent class scheduling method based on genetic algorithm, based on big data analysis, data mining, and machine learning, and under the conditions of limited teaching resources, it can meet the constraints in class scheduling to the greatest extent and realize intelligent class scheduling.

[0004] The defect of the existing technology is that a genetic algorithm is used to calculate the fitness of the initial pre-scheduled class schedule population, and the class schedule with the smallest fitness value is selected as the optimal class schedule. However, the use of a genetic algorithm increases the complexity of the class scheduling system, and the crossover and mutation of the current optimal class schedule will lead to the problem of non-convergence of the class schedule. Summary of the invention

[0005] In view of the problem that the existing class scheduling method adopts genetic algorithm to increase the complexity of the class scheduling system and the class schedule will not converge after crossing and mutating, the present invention provides a class scheduling method based on a multi-branch tree path.

[0006] In order to achieve the above technical objectives, the technical solution adopted by the present invention is as follows:

[0007] A method for scheduling classes based on a multi-branch tree path, comprising the steps of:

[0008] S1. Collect data related to class scheduling;

[0009] S2, constructing a multi-branch tree structure reflecting the class scheduling constraints based on the collected class scheduling related data;

[0010] S3, find the course schedule that meets the class scheduling constraints through depth-first search or multi-tree pruning strategy;

[0011] S4. The generated class schedule is presented in the form of a multi-branch tree path for users to view and confirm.

[0012] Furthermore, in step S1, the course scheduling related data includes course information (such as course ID, course name, course duration, etc.), teacher information (such as teacher ID, teacher available time, etc.), classroom information (such as classroom ID, classroom capacity, etc.) and possible course conflict information (such as some courses cannot be scheduled at the same time, etc.);

[0013] And organize the class scheduling related data into a structured format for use in subsequent steps.

[0014] Furthermore, each node of the multi-branch tree structure represents a time point, and each branch of the node represents a course. If a course has multiple optional follow-up courses at a certain time point, then the node will have a corresponding number of branches. In this way, the structure of the multi-branch tree reflects all possible course combinations.

[0015] Furthermore, a depth-first search strategy is adopted, starting from the root node (the start time of the course), searching downward along each branch (i.e. selecting a course) until the preset end time of the course is reached; during the search process, the current path is checked in real time to see if it violates the scheduling constraints, such as course conflicts, insufficient classrooms, etc.

[0016] Furthermore, for each path that meets the conditions found by the depth-first search strategy, an optimization algorithm is used to adjust it. For example, a genetic algorithm can be used to generate a new path (representing a new course schedule), and the new and old paths can be compared to determine whether to accept the new path (possibly based on indicators such as the number of course conflicts and teacher workload).

[0017] Furthermore, after generating a preliminary class schedule, we receive user feedback, dynamically adjust the structure of the multi-branch tree based on the user feedback, re-search and optimize the path, and generate a class schedule that better meets user needs.

[0018] Further, the course scheduling method formula is:

[0019] [\text{Maximize}\quad f(S,C,T)=\alpha\cdot\sum_{i=1}^{n}w_i\cdot s_i+\beta\cdot\sum_{j=1}^{m}u_j\cdot c_j+\gamma\cdot\sum_{k=1}^{l}v_k\cdot p_k];

[0020] The constraints are:

[0021] [\sum_{j\in J_i}t_{ij}=d_i\quad\forall i];

[0022] [\sum_{i\in I_j}t_{ij}\leq T_j\quad\forallj];

[0023] [C_{ij}\cap C_{kl}=\emptyset\quad\forall(i,j)\neq(k,l),i,k\in[1,n],j,l\in[1,m]];

[0024] [R_{ij}\in{0,1}\quad\forall i,j];

[0025] [\sum_{i=1}^{n}\sum_{j=1}^{m}R_{ij}\cdot t_{ij}\leq B];

[0026] in:

[0027] (f(S,C,T)) is the overall objective function, which includes multiple sub-goals such as satisfaction, resource utilization and preference satisfaction.

[0028] (\alpha,\beta,\gamma) are weight coefficients for weighing different sub-goals.

[0029] (S) is the sub-goal related to satisfaction, (C) is the sub-goal related to resource utilization, and (T) is the sub-goal related to time allocation.

[0030] (w_i) is the weight of the (i)th course, and (s_i) is the satisfaction score of the (i)th course.

[0031] (u_j) is the weight of the (j)th time unit, and (c_j) is the resource utilization of that time unit.

[0032] (v_k) is the weight of the (k)th preference factor, and (p_k) is the satisfaction of the preference factor.

[0033] (n) is the total number of courses, (m) is the total number of time units, and (l) is the total number of preference factors.

[0034] (J_i) is the set of time units that can be scheduled for the (i)th course, and (I_j) is the set of all courses within the (j)th time unit.

[0035] (t_{ij}) is the number of class hours for the (i)th course in the (j)th time unit.

[0036] (d_i) is the total required hours for the (i)th course.

[0037] (T_j) is the maximum number of available class hours for the (j)th time unit.

[0038] (C_{ij}) is the class schedule interval of the (i)th course in the (j)th time unit.

[0039] (R_{ij}) is a decision variable that is 1 if the (i)th course is scheduled at the (j)th time unit and 0 otherwise.

[0040] (B) is the total upper limit of class hours available for scheduling.

[0041] Compared with the prior art, the present invention has the following beneficial effects:

[0042] 1. Through the multi-branch tree structure, the constraints and possibilities of class scheduling are intuitively represented, simplifying the complexity of the class scheduling problem.

[0043] 2. By using path search and optimization algorithms, we can quickly find class scheduling plans that meet the requirements and ensure the diversity of the plans.

[0044] 3. This method is suitable for large-scale class scheduling problems and has high practicality and universality. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 The present invention is an overall flow chart of a method for scheduling classes based on a multi-branch tree path in an embodiment of the present invention. DETAILED DESCRIPTION

[0046] In order to facilitate the understanding of those skilled in the art, the present invention is further described below in conjunction with embodiments and drawings. The contents mentioned in the implementation modes are not intended to limit the present invention.

[0047] like Figure 1 As shown, this embodiment provides a class scheduling method based on a multi-branch tree path, comprising the steps of:

[0048] S1. Collect data related to class scheduling;

[0049] S2, constructing a multi-branch tree structure reflecting the class scheduling constraints based on the collected class scheduling related data;

[0050] S3, find the course schedule that meets the class scheduling constraints through depth-first search or multi-tree pruning strategy;

[0051] S4. The generated class schedule is presented in the form of a multi-branch tree path for users to view and confirm.

[0052] In step S1, the course scheduling related data includes course information (such as course ID, course name, course duration, etc.), teacher information (such as teacher ID, teacher available time, etc.), classroom information (such as classroom ID, classroom capacity, etc.) and possible course conflict information (such as some courses cannot be scheduled at the same time, etc.);

[0053] And organize the class scheduling related data into a structured format for use in subsequent steps.

[0054] Each node of the multi-branch tree structure represents a time point, and each branch of the node represents a course. If a course has multiple optional follow-up courses at a certain point in time, then the node will have a corresponding number of branches. In this way, the structure of the multi-branch tree reflects all possible course combinations.

[0055] A depth-first search strategy is adopted, starting from the root node (the start time of the course), searching downward along each branch (i.e. selecting a course) until the preset end time of the course is reached; during the search process, the current path is checked in real time to see if it violates the scheduling constraints, such as course conflicts, insufficient classrooms, etc.

[0056] For each path that meets the conditions found by the depth-first search strategy, an optimization algorithm is used to adjust it. For example, a genetic algorithm can be used to generate a new path (representing a new course schedule), and the new and old paths are compared to decide whether to accept the new path (possibly based on indicators such as the number of course conflicts and teacher workload).

[0057] After generating a preliminary class schedule, we receive user feedback, dynamically adjust the structure of the multi-branch tree based on the user feedback, re-search and optimize the path, and generate a class schedule that better meets user needs.

[0058] Class scheduling formula:

[0059] [\text{Maximize}\quad f(S,C,T)=\alpha\cdot\sum_{i=1}^{n}w_i\cdot s_i+\beta\cdot\sum_{j=1}^{m}u_j\cdot c_j+\gamma\cdot\sum_{k=1}^{l}v_k\cdot p_k];

[0060] The constraints are:

[0061] [\sum_{j\in J_i}t_{ij}=d_i\quad\forall i];

[0062] [\sum_{i\in I_j}t_{ij}\leq T_j\quad\forallj];

[0063] [C_{ij}\cap C_{kl}=\emptyset\quad\forall(i,j)\neq(k,l),i,k\in[1,n],j,l\in[1,m]];

[0064] [R_{ij}\in{0,1}\quad\forall i,j];

[0065] [\sum_{i=1}^{n}\sum_{j=1}^{m}R_{ij}\cdot t_{ij}\leq B];

[0066] in:

[0067] (f(S,C,T)) is the overall objective function, which includes multiple sub-goals such as satisfaction, resource utilization and preference satisfaction.

[0068] (\alpha,\beta,\gamma) are weight coefficients for weighing different sub-goals.

[0069] (S) is the sub-goal related to satisfaction, (C) is the sub-goal related to resource utilization, and (T) is the sub-goal related to time allocation.

[0070] (w_i) is the weight of the (i)th course, and (s_i) is the satisfaction score of the (i)th course.

[0071] (u_j) is the weight of the (j)th time unit, and (c_j) is the resource utilization of that time unit.

[0072] (v_k) is the weight of the (k)th preference factor, and (p_k) is the satisfaction of the preference factor.

[0073] (n) is the total number of courses, (m) is the total number of time units, and (l) is the total number of preference factors.

[0074] (J_i) is the set of time units that can be scheduled for the (i)th course, and (I_j) is the set of all courses within the (j)th time unit.

[0075] (t_{ij}) is the number of class hours for the (i)th course in the (j)th time unit.

[0076] (d_i) is the total required hours for the (i)th course.

[0077] (T_j) is the maximum number of available class hours for the (j)th time unit.

[0078] (C_{ij}) is the class schedule interval of the (i)th course in the (j)th time unit.

[0079] (R_{ij}) is a decision variable that is 1 if the (i)th course is scheduled at the (j)th time unit and 0 otherwise.

[0080] (B) is the total upper limit of class hours available for scheduling.

[0081] Compared with the prior art, the present invention has the following beneficial effects:

[0082] 1. Through the multi-branch tree structure, the constraints and possibilities of class scheduling are intuitively represented, simplifying the complexity of the class scheduling problem.

[0083] 2. By using path search and optimization algorithms, we can quickly find class scheduling plans that meet the requirements and ensure the diversity of the plans.

[0084] 3. This method is suitable for large-scale class scheduling problems and has high practicality and universality.

[0085] The above is a detailed introduction to a method for scheduling classes based on a multi-branch tree path provided by the present application. The description of the specific embodiments is only used to help understand the method and its core idea of ​​the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.

Claims

1. A method for scheduling classes based on a multi-branch tree path, characterized in that: Includes steps: S1. Collect data related to class scheduling; S2, constructing a multi-branch tree structure reflecting the class scheduling constraints based on the collected class scheduling related data; S3, find the course schedule that meets the class scheduling constraints through depth-first search or multi-tree pruning strategy; S4. The generated class schedule is presented in the form of a multi-branch tree path for users to view and confirm.

2. A method for scheduling classes based on a multi-branch tree path according to claim 1, characterized in that: In step S1, the course scheduling related data includes course information, teacher information, classroom information and course conflict information; And organize the class scheduling related data into a structured format for use in subsequent steps.

3. A method for scheduling classes based on a multi-branch tree path according to claim 2, characterized in that: Each node of the multi-branch tree structure represents a point in time, and each branch of the node represents a course; if a course has multiple optional follow-up courses at a certain point in time, the node will have a corresponding number of branches.

4. A method for scheduling classes based on a multi-branch tree path according to claim 3, characterized in that: A depth-first search strategy is adopted, starting from the root node, and searching downward along each branch until the preset course end time is reached; during the search process, the current path is checked in real time to see if it violates the course scheduling constraints.

5. A method for scheduling classes based on a multi-branch tree path according to claim 4, characterized in that: For each path that meets the conditions found by the depth-first search strategy, an optimization algorithm is used to make adjustments.

6. A method for scheduling classes based on a multi-branch tree path according to claim 5, characterized in that: After generating a preliminary class schedule, we receive user feedback, dynamically adjust the structure of the multi-branch tree based on the user feedback, re-search and optimize the path, and generate a class schedule that better meets user needs.

7. A method for scheduling classes based on a multi-branch tree path according to claim 6, characterized in that: Class scheduling formula: [\text{Maximize}\quad f(S,C,T)=\alpha\cdot\sum_{i=1}^{n}w_i\cdot s_i+\beta\cdot\sum_{j=1}^{m}u_j\cdot c_j+\gamma\cdot\sum_{k=1}^{l}v_k\cdot p_k]; The constraints are: [\sum_{j\in J_i}t_{ij}=d_i\quad\forall i]; [\sum_{i\in I_j}t_{ij}\leq T_j\quad\forallj]; [C_{ij}\cap C_{kl}=\emptyset\quad\forall(i,j)\neq(k,l),i,k\in[1,n],j,l\in[1,m]]; [R_{ij}\in{0,1}\quad\forall i,j]; [\sum_{i=1}^{n}\sum_{j=1}^{m}R_{ij}\cdot t_{ij}\leq B]; in: (f(S,C,T)) is the overall objective function, which includes multiple sub-goals such as satisfaction, resource utilization and preference satisfaction; (\alpha,\beta,\gamma) are weight coefficients for weighing different sub-goals; (S) is the sub-goal related to satisfaction, (C) is the sub-goal related to resource utilization, and (T) is the sub-goal related to time allocation; (w_i) is the weight of the (i)th course, (s_i) is the satisfaction score of the (i)th course; (u_j) is the weight of the (j)th time unit, and (c_j) is the resource utilization of the time unit; (v_k) is the weight of the (k)th preference factor, and (p_k) is the satisfaction of the preference factor; (n) is the total number of courses, (m) is the total number of time units, and (l) is the total number of preference factors; (J_i) is the set of time units that can be arranged for the (i)th course, and (I_j) is the set of all courses in the (j)th time unit; (t_{ij}) is the number of class hours for the (i)th course in the (j)th time unit; (d_i) is the total required hours for the (i)th course; (T_j) is the maximum number of available class hours for the (j)th time unit; (C_{ij}) is the class schedule interval of the (i)th course in the (j)th time unit; (R_{ij}) is a decision variable, which is 1 if the (i)th course is scheduled in the (j)th time unit, and 0 otherwise; (B) is the total upper limit of class hours available for scheduling.

Citation Information

Patent Citations

  • Intelligent mobile class arrangement method based on genetic algorithm

    CN116468416A