Automatic course arrangement system based on optimization algorithm
By designing an automatic class schedule system based on optimization algorithm, the problems of inefficiency and conflict-prone problems of manual class schedule are solved, and efficient and reasonable course schedule generation is achieved.
Patent Information
- Application Number
- CN202510095282.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-03-18
AI Technical Summary
In the prior art, manual class schedules are time-consuming and inefficient, and are prone to problems such as teacher overload, student course conflicts, and waste of classroom resources.
Design an automatic course scheduling system based on optimization algorithm, including training plan management module, team management module, course management module, class time management module and automatic course scheduling module. Use the automatic course scheduling algorithm to build a requirement set, resource set and mapping constraint matrix, allocate course scheduling resources, and generate a reasonable course sheet.
It improves the efficiency of class scheduling, reduces human errors, ensures the rationality and fairness of class scheduling results, and is applicable to education and training institutions of different sizes and types.
Smart Images

Figure CN119647700A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of course scheduling systems, and in particular to an automatic course scheduling system based on an optimization algorithm. Background Art
[0002] Modern information technology characterized by computers and modern network technology has greatly promoted the development of educational informatization. The current educational model and system are facing unprecedented challenges. As a new form of teaching management, the B / S-based online class schedule has very important practical significance and broad development prospects. It provides users with great convenience, and teachers and students can obtain the latest information through the Internet. With the acceleration of the process of educational informatization, the traditional manual scheduling method is increasingly difficult to meet the efficient and scientific teaching management needs of modern schools. Manual scheduling is not only time-consuming and inefficient, but also prone to various unreasonable situations, such as teacher overload, student course conflicts, and classroom resource waste. Summary of the invention
[0003] The purpose of the present application is to provide an automatic class scheduling system, device and storage medium based on an optimization algorithm, so as to solve the problem that manual class scheduling in the prior art is not only time-consuming and inefficient, but also prone to various unreasonable situations.
[0004] To achieve the above-mentioned purpose, the embodiment of the present application provides an automatic course scheduling system based on an optimization algorithm, including: a training plan management module, which is used to input training plan information by team, create a training plan based on the training plan information, and modify and delete the training plan information; The team management module is used to manage and maintain team information, including team name, team code, description, training plan, trainee information, and the team includes trainees and teachers; The course management module is used to provide the function of entering and maintaining course information and to establish the management of course versions according to different years. The course information includes the course creation date, course name, abbreviation, course type, and study hours. Class time management module, used to plan and manage daily class time arrangements; The automatic course scheduling module is used to schedule courses based on the course information using an automatic course scheduling algorithm, wherein the automatic course scheduling algorithm includes: Obtain course information from the course management module and build a requirement set. Construct a resource set, the resource set including a class time set and a teaching venue set, Construct a mapping constraint matrix: an M'×N' matrix, where M' is the number of elements in the demand set, N' is the number of elements in the resource set, M'≤N', Based on the demand set and resource set, the mapping constraint matrix is used to schedule classes. After the class scheduling is completed, the corresponding course schedule is generated.
[0005] Optionally, the training plan information includes: training content, start and end dates, teacher information, training location, and trainee information.
[0006] Optionally, the team management module includes a team creation submodule, a student management submodule, and an information editing submodule, wherein: The team creation submodule is used to create a new team; The student management submodule is used to add or remove students from the team; The information editing submodule is used to modify the basic information of the team.
[0007] Optionally, it also includes: a teacher management module, The teacher management module includes a teacher basic information management submodule, a teacher work history management submodule, and a teacher assessment management submodule, which are respectively used to obtain teacher basic information, teacher work history information and teacher assessment information, and output a teacher basic information table, a teacher work history information table, a teacher daily assessment information table, a teacher regular assessment information table, and a teacher annual assessment information table.
[0008] Optionally, it also includes: a student management module, The student management module is used to obtain input student information and maintain and manage the student information; The student management module includes a student information entry submodule, a student information list query submodule, a student information editing submodule, a student information deletion submodule, and a student information flow submodule. The student information entry submodule is used to provide a student information entry interface, design a student form, and provide student information entry and storage functions based on the student form. The student information list query submodule is used to provide a multi-condition combination to input query conditions, query student information, and the obtained student query results are displayed in a list form. The student information editing submodule is used to provide a student details page, realize the student information editing function, and support the saving of student information into the database. The student information deletion submodule is used to provide a student information deletion function. The student information flow submodule is used to initiate a circulation program to circulate the student information entered by the student information entry submodule.
[0009] Optionally, the automatic class scheduling module includes a class scheduling rule configuration submodule, an automatic class scheduling algorithm writing submodule, a class scheduling information list query submodule and a related role class scheduling information sending submodule, wherein: The course scheduling rule configuration submodule is used to obtain course scheduling rules, including pre-scheduled courses, unscheduled courses, consecutive courses and other rules. Obtaining pre-scheduled courses includes: configuring the courses that need to be pre-scheduled in advance during the daily class hours within a week according to the selected class hours, and the automatic class scheduling algorithm gives priority to calculating the pre-scheduled courses based on the configured courses; Obtaining unscheduled courses includes: configuring the courses that are not allowed to be scheduled during the daily class hours within a week according to the selected class hours, and the automatic class scheduling algorithm automatically filters out the unscheduled courses according to the configuration; Obtaining consecutive courses includes: configuring the scheduling priority of each course, locking the allowed consecutive courses, and whether to conduct concentrated classes; Other rules include: the starting time period for class scheduling, whether to skip holidays, and multi-round class scheduling rules.
[0010] Optionally, the construction requirement set specifically includes: Determine the number of courses to be offered. The number of courses offered is set to N, where N represents the total number of courses that need to be scheduled; Find the course with the largest number of classes. Set the maximum number of classes to M, and each class of the course corresponds to a course number. An N×M demand matrix is established to obtain the demand set.
[0011] Optionally, it also includes setting soft constraint rules for the automatic class scheduling algorithm.
[0012] Optionally, the scheduling of classes using a mapping constraint matrix specifically includes: Manual allocation is first performed for the requirements in the soft constraint rules; Allocate time resources in the class time set to the demand set; Allocating the teaching venue resources in the teaching venue set to the demand set; Manual adjustments are made to the unmet needs in the demand set.
[0013] Optionally, allocating the time resources in the class time set to the demand set and allocating the teaching venue resources in the teaching venue set to the demand set specifically includes: 1) Set the number of levels H to be traced back in resource allocation s ; 2) Obtaining the constructed mapping constraint matrix A; 3) Sort the requirements set by priority to obtain a requirement vector B, whose number of elements is M' 4) Sort the resource set to obtain a resource vector C, the number of elements of which is N'; 5) Allocate the jth element in the resource vector C to the i-th element in the demand vector B, i≤M; j≤N 6) Check whether the mapping constraints are satisfied; 7) Check whether the soft constraint rules are met; 8) If the mapping constraint or soft constraint rule is not satisfied, then allocate the (j + 1)-th element in the resource vector C to it; 9) If all the resources in the resource vector C have been allocated and the constraint condition of the demand vector B is still not satisfied, then determine this state as a backtracking point, and use the variable YD to remember the i of the i-th element at this time. Re-allocate the resource vector C to the (i - 1)-th element in the demand vector B, set i - 1. If YD - i ≥ H s , then mark the i-th demand in B, do not allocate resources to it, leave it for manual allocation, then set i = YD + 1, and go back to step 5); if YD - i < Hs, go back to step 5); 10) Allocate the next element in the demand vector B, and so on until all the elements in the demand vector B are reasonably allocated, and the algorithm ends.
[0014] The embodiments of the present application have the following advantages: Through the above system, the present application overcomes the limitations of a single algorithm by means of flexible and diverse pre-set rule configurations and adopts a hybrid optimization algorithm, and can generate a high-quality class schedule in a short time. This system not only improves the course scheduling efficiency, reduces human errors, but also ensures the rationality and fairness of the course scheduling results, and is applicable to educational training institutions of different scales and types. Specifically, 1. High level of automation: The present application realizes an automated course scheduling process by integrating multiple optimization algorithms, which greatly improves the work efficiency.
[0015] 2. Strong accuracy: The algorithm can comprehensively consider various constraint conditions to ensure that the generated course scheduling plan is feasible and reasonable.
[0016] 3. Strong adaptability: The system can be customized according to different application scenarios, and has high adaptability and scalability.
[0017] 4. User-friendly: It provides a friendly user interface, which is convenient for users to input data and view the course scheduling results, and at the same time supports later adjustment and optimization.
[0018] 5. Fair resource allocation: Each course has the opportunity to participate in resource allocation, and resources such as time, classrooms, and teachers are allocated as fairly as possible, rather than being ignored artificially. At the same time, for special situations, manual adjustment of the results is allowed to flexibly meet individual needs and further ensure fairness.
[0019] 6. Backtracking and reallocation: When an allocation conflict occurs, reallocate resources through multiple backtracking attempts to solve the conflict to the greatest extent, so as to avoid abandoning a certain course due to one failure. At the same time, it can automatically detect and correct time conflicts, classroom conflicts, and teacher conflicts to ensure that the course scheduling results are reasonable and unbiased. Description of the Drawings
[0020] In order to more clearly illustrate the implementation methods of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for the implementation methods or the description of the prior art. Obviously, the drawings described below are only exemplary, and for ordinary technicians in this field, other implementation drawings can be derived from the provided drawings without creative work.
[0021] Figure 1 A functional module diagram of an automatic class scheduling system based on an optimization algorithm provided in at least one embodiment of the present application; Figure 2 A diagram of automatic class scheduling results of an automatic class scheduling system based on an optimization algorithm provided in at least one embodiment of the present application. DETAILED DESCRIPTION
[0022] The following is a description of the implementation of the present application by specific specific embodiments. People familiar with the technology can easily understand other advantages and effects of the present application from the contents disclosed in this specification. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0023] It should be noted that the steps in the claims and description of the present application may be executed substantially in parallel or in reverse order under appropriate circumstances, depending on the functions involved.
[0024] It should also be noted that the terms "step 1)", "step 2)", "step 3)", etc. in the claims and specification of the present application are used to distinguish different steps rather than to describe a specific order or sequence. It should be understood that these steps can be executed substantially in parallel or in reverse order under appropriate circumstances, depending on the functions involved.
[0025] In addition, the technical features involved in the different embodiments of the present application described below can be combined with each other as long as they do not conflict with each other.
[0026] Scheduling classes is a complicated matter, which is tedious and requires a huge amount of work. It is necessary to consider all teachers and courses, and to arrange class hours reasonably to ensure that the final class scheduling results are reasonably balanced in terms of courses and class hours, and that there are no conflicts between teachers and classrooms. The following uses causal reasoning to deduce the shortcomings of the prior art, and accordingly explains the purpose of this application and the expected technical effects.
[0027] Disadvantages of traditional manual scheduling: 1. Low efficiency in class scheduling Reason: Manual scheduling requires a lot of human participation, and the arrangement of each course requires careful verification of information such as teachers, students, and classrooms.
[0028] The result: scheduling classes is time-consuming, especially in large educational institutions, where the process can take weeks or even months.
[0029] 2. Prone to conflicts and unreasonable arrangements Reason: It is difficult to take all constraints into account during manual scheduling, such as teachers' working time constraints, students' course overlap, classroom availability, etc.
[0030] Result: Problems such as teacher overload, student course conflicts, and waste of classroom resources often occur.
[0031] 3. Poor flexibility Reason: Once the class schedule is completed, if some arrangements need to be changed, the entire schedule needs to be manually adjusted again.
[0032] Result: The adjustment process is complex, time-consuming, and prone to introducing new conflicts.
[0033] 4. Lack of Optimization Reason: Manual scheduling often relies on experience and intuition and lacks systematic optimization methods.
[0034] Result: Even after class scheduling is completed, it is difficult to ensure that the course schedule is optimized, and there may be better solutions that have not been discovered.
[0035] Purpose of this application: In view of the shortcomings of the above-mentioned prior art, the present application aims to provide an automatic course scheduling system based on an optimization algorithm, which can: 1. Improve class scheduling efficiency: Replace manual operations with automated tools to shorten the class scheduling cycle and reduce labor costs.
[0036] 2. Reduce conflicts and unreasonable arrangements: Use algorithms to automatically detect and avoid potential conflicts to ensure the rationality of course arrangements.
[0037] 3. Enhanced flexibility: The system can dynamically adjust the class schedule based on real-time changing data to improve the ability to respond to emergencies.
[0038] 4. Achieve optimization: By introducing advanced optimization algorithms, we can find the best or approximately best class scheduling plan to improve the overall resource utilization efficiency.
[0039] An embodiment of the present application provides an automatic course scheduling system based on an optimization algorithm, referring to Figure 1 , Figure 1This is a functional module diagram of an automatic class scheduling system based on an optimization algorithm provided in at least one embodiment of the present application. It should be understood that the system may also include additional blocks not shown and / or may omit the blocks shown, and the scope of the present application is not limited in this respect. Including functional modules: Training program management module The training plan management module is mainly used to enter training plan information by team, create a training plan based on the training plan information, and modify and delete the training plan information.
[0040] Specifically, the training plan management module is used to modify and delete training plan information, enter training plan information by team, and select training types, which are divided into short-term training and long-term training. When entering the training plan, you need to select courses, instructors, and upload relevant teaching materials (optional).
[0041] The administrator enters the training plan and saves it for archiving after internal inspection by the department.
[0042] In some embodiments, the training plan information includes: training content, start and end dates, teacher information, training location, and trainee information.
[0043] Specifically, the training plan is the basic requirement for phased business learning formulated according to the training objectives. It is the basis for trainees to learn, formulate personal training plans and select courses. It is also the main basis for training qualification review. The training plan may include the formulation of training plans for emergency responders of different positions and levels, and emergency knowledge publicity and education and plans. The main contents of the training plan include: training content (including emergency plans, handouts, and tutorials), start and end dates, teacher information, training location, trainee information, etc.
[0044] Team Management Module The team management module is mainly used to manage and maintain team information, which includes team name, team code, description, training plan, student information, etc. The team includes students and teachers.
[0045] Specifically, the team management module is similar to the class management function. Teams are assigned to each training plan, and each training plan can have multiple teams. The main goal of this module is to ensure that the information of all participants is accurate and can be easily queried, edited, and assigned tasks. The automatic scheduling results need to ensure that the course information of each team under the training plan does not conflict.
[0046] In some embodiments, the team management module includes a team creation submodule, a student management submodule, and an information editing submodule, wherein: Create Team Submodule: It is used to allow designated users (such as teachers or project leaders) to create new teams for specific teaching activities or projects.
[0047] Student management submodule: used to add or remove students from the team.
[0048] Information editing submodule: used to modify the basic information of the team, such as team name, description, etc.
[0049] In some embodiments, it also includes: a teacher management module, The teacher management module includes a teacher basic information management submodule, a teacher work history management submodule, and a teacher assessment management submodule, which are respectively used to obtain teacher basic information, teacher work history information and teacher assessment information, and output a teacher basic information table, a teacher work history information table, a teacher daily assessment information table, a teacher regular assessment information table, and a teacher annual assessment information table.
[0050] Specifically, teachers enter basic information and work history information, upload relevant attachments, submit them to leaders for review, and archive them after approval; teacher assessment information includes teacher daily assessment information, teacher regular assessment information, and teacher annual assessment information. Teacher assessment information needs to be submitted to leaders for review, and the information will be pushed after approval.
[0051] In some embodiments, it further includes: a student management module, The student management module is used to obtain input student information and maintain and manage the student information.
[0052] Specifically, the student management module obtains the student information filled in by the students themselves, and can perform maintenance operations, approval, export and other management operations on the relevant student information.
[0053] In some embodiments, the student management module includes a student information entry submodule, a student information list query submodule, a student information editing submodule, a student information deletion submodule, and a student information flow submodule. The student information entry submodule is used to provide a student information entry interface, design a student form, and provide student information entry and storage functions based on the student form. The student information list query submodule is used to provide a multi-condition combination to input query conditions, query student information, and the obtained student query results are displayed in a list form. The student information editing submodule is used to provide a student details page, realize the student information editing function, and support the saving of student information into the database. The student information deletion submodule is used to provide a student information deletion function. The student information flow submodule is used to initiate a circulation program to circulate the student information entered by the student information entry submodule.
[0054] Course Management Module The course management module is mainly used to provide course information entry and maintenance functions, and establish course version management according to different years.
[0055] Specifically, if a new course needs to be added, the version number is used to distinguish courses from different years. Enter the course information on the new course information entry page. The course information includes the course creation date, course name, abbreviation, course type, and class hours. After the teacher enters the course information, submit it for review. After the leader approves it (the approval process is customized), the course is released. The approval process diagram is as follows (the approval process must be customized).
[0056] Lesson Management Module The class time management module is an important part of the automatic class scheduling system, which is used to plan and manage the daily class schedule. The functions include arranging the class times for each day, arranging the classes into appropriate time periods, for example, there are 9 classes a day, and the class time periods are divided as follows: Section 1: 08:30-09:15 Section 2: 09:20-10:05 Section 3: 10:25-11:10 Section 4: 11:15-11:55 Section 5: 14:10-14:55 Section 6: 15:00-15:45 Section 7: 15:50 – 16:35 Section 8: 16:40-17:25 Section 9: 19:00 – 20:00 Automatic class scheduling module Used to schedule classes using an automatic scheduling algorithm based on the course information.
[0057] Specifically, automatic class scheduling is an organic combination of relevant resources needed in the process of teaching activities (including course resources, teacher resources, classroom resources and time resources). It can maximize the utilization of teaching resources through multi-stage scheduling, make full use of all teaching resources and improve management efficiency.
[0058] In some embodiments, the automatic class scheduling module includes a class scheduling rule configuration submodule, an automatic class scheduling algorithm writing submodule, a class scheduling information list query submodule and a related role (student, teacher, etc.) class scheduling information sending submodule.
[0059] Class scheduling is subject to many factors, such as the requirements of special venues and special time requirements; the bottleneck of class scheduling is the arrangement of time. Due to the influence of these factors, the total workload of class scheduling is very large.
[0060] Scheduling rules configuration submodule: Used to obtain class scheduling rules, including pre-scheduled courses, unscheduled courses, consecutive courses and other rules.
[0061] Specifically, obtaining the pre-scheduled courses includes: configuring the courses that need to be pre-scheduled in advance in the daily class hours within a week according to the selected class hours, and the automatic class scheduling algorithm preferentially calculates the pre-scheduled courses according to the configured courses; Obtaining unscheduled courses includes: configuring the courses that are not allowed to be scheduled during the daily class hours within a week according to the selected class hours, and the automatic class scheduling algorithm automatically filters out the unscheduled courses according to the configuration; Obtaining consecutive classes includes: configuring the scheduling priority of each course (1-10, high->low), locking the allowed consecutive classes (2 consecutive classes in the morning, 4 consecutive classes in the morning, 3 consecutive classes in the afternoon), and whether to conduct concentrated classes (after configuration, students in all classes are allowed to be taught by the same teacher at the same time point); Other rules include: the starting time period for class scheduling, whether to skip holidays, multiple rounds of class scheduling, etc.
[0062] In some embodiments, the system is designed to use a self-developed automatic scheduling algorithm that can quickly and accurately generate a reasonable course schedule, improve scheduling efficiency, reduce human errors, and ensure the rationality and fairness of course arrangements.
[0063] Specifically, the automatic scheduling algorithm automatically schedules classes according to the set conditions and algorithms. Interactive information must be provided during the scheduling process, such as information on courses being scheduled, completed scheduling tasks, etc. For tasks that cannot be scheduled, their corresponding item numbers must be marked in the total scheduling tasks.
[0064] In some embodiments, the automatic class scheduling algorithm establishes a mathematical resource allocation model: quantitative resources are allocated to different individuals with different needs. The method of establishing the mathematical resource allocation model specifically includes: (a) Constructing a demand set: Obtain the course information from the course management module to construct a demand set. The demand set refers to all courses that need to be scheduled, and the characteristics are the important information of each course: course name (such as mathematics), number of students (student information), teacher information, and class hours.
[0065] In some embodiments, the building requirement set specifically includes: First, determine the number of courses to be offered. The number of courses offered is set to N, where N represents the total number of courses that need to be scheduled. For example, if a school has three courses: Chinese, mathematics, and English, N is three. Each course is assigned an A. i Indicated by A1, A2, A3, …, A n , for example, A1=Chinese, A2=Mathematics; Then find the course with the largest number of classes. A course may have multiple classes. The number of classes opened for each course is the number of classes opened. For example, there are 5 classes in Chinese (Chinese 1, Chinese 2, etc.), and the number of classes opened for Chinese is 5. Let the maximum number of classes opened be M. Each class of the course corresponds to a course number. The course number is the class number given to each course. For example, A1 is Chinese, and Chinese 1 is A. 11 , Chinese Class 2 is A 12 , and so on; Establish an N×M demand matrix to obtain the demand set. The element A in the demand matrix ij Representative Course A i The j-th course number.
[0066] In some embodiments, the description of the requirements matrix includes: a) Each element in the matrix represents a course number, that is, a class (for example, Mathematics Class 1); b) The course numbers corresponding to the elements (course numbers) in each row are the same; c) For courses with less than M classes, use duplicate course numbers to fill in a row. For example, if there are 5 Chinese classes (the maximum number of classes M=5) and only 3 Mathematics classes, then use duplicate course numbers to fill in the row: A 21 ,A 22 ,A 23 ,A 23 ,A 23 ; d) Each column in the table can be understood as the curriculum of a class. For example, Class 1 has Chinese, Mathematics, and English.
[0067] (b) Resource set operation: Construct a resource set, which includes two parts: Class time collection: All available class times, such as mornings and afternoons from Monday to Friday.
[0068] Teaching venue collection: All available classrooms.
[0069] (c) Constructing conditional constraint groups: Construct a mapping constraint matrix: an M'×N' matrix, where M' is the number of elements in the demand set (i.e., the number of elements in the N×M matrix), N' is the number of elements in the resource set, M'≤N', P ij It is used to record whether each resource meets the demand. If it does, it is recorded as 1, otherwise it is recorded as 0.
[0070] In some embodiments, soft constraint rules for the automatic class scheduling algorithm are also set. Soft constraints are some adjustable class scheduling rules, which are multi-dimensional and amorphous constraints on the characteristics of elements in the demand concentration and elements in the resource concentration, such as: giving priority to arranging the time that teachers like, and giving priority to placing large classes in large classrooms.
[0071] (d) Scheduling classes based on the demand set and resource set using the mapping constraint matrix.
[0072] In some embodiments, scheduling classes using a mapping constraint matrix specifically includes: Manual allocation is first performed for the requirements in the soft constraint rules; Allocate time resources in the class time set to the demand set; Allocating the teaching venue resources in the teaching venue set to the demand set; Manual adjustments are made to the unmet needs in the demand set.
[0073] (e) Solution set: After the class schedule is completed, the result is a table that assigns time and classroom to each course in order, which is to generate the corresponding course schedule.
[0074] In some embodiments, allocating the time resources in the class time set to the demand set and allocating the teaching venue resources in the teaching venue set to the demand set specifically includes: 1) Set the number of levels H to be traced back in resource allocation s ; Specifically, backtracking is an algorithm strategy: if the allocation is found to be unsuccessful, it returns to the previous step and tries again, similar to the number of backtracking levels of "step back and start again", H s It means the maximum number of times the algorithm allows to go back and adjust. If the number of adjustments exceeds H s , just give up this part of the demand and mark it as "manual processing".
[0075] 2) Obtain the constructed mapping constraint matrix A. If each element in the matrix is set to 0 or 1, the satisfaction is a binary choice; Specifically, the mapping constraint matrix is a table that describes whether resources can meet demand. The rows represent “demand” (courses), the columns represent “resources” (classrooms, time, etc.), and the elements A in the table are ij Indicates whether the i-th demand can be satisfied by the j-th resource: A ij =1: resources can meet the demand, A ij =0: Resources cannot meet demand.
[0076] For example, if we have 3 courses to schedule (demand) and 3 teachers (resources), the mapping constraint matrix may look like this: Here A 11 =1, classroom 1 can meet the needs of course 1; A 21= 0, Classroom 1 cannot meet Course 2, and then the result is recorded in the previous mapping constraint matrix P ij in it.
[0077] 3) Sort according to the priority levels of the said requirement set to obtain a requirement vector B, the number of whose elements is M'.
[0078] 4) Sort the said resource set to obtain a resource vector C, the number of whose elements is N'; Specifically, the algorithm first sorts the requirements and resources: Requirement vector B: Sorted according to importance. For example, courses with more students and more class hours are arranged first; secondary courses (such as elective courses) are arranged later.
[0079] Resource vector C: Sorted according to applicability. For example, large classrooms are arranged in the front to give priority to meeting the needs of large classes; small classrooms are arranged at the back for courses with smaller needs.
[0080] 5) Allocate the j-th element in the resource vector C to the i-th element in the requirement vector B, where i ≤ M; j ≤ N.
[0081] 6) Check whether the mapping constraint is satisfied.
[0082] 7) Check whether the soft constraint rule is satisfied.
[0083] 8) If the mapping constraint or the soft constraint rule is not satisfied, then allocate the (j + 1)-th element in the resource vector C to it.
[0084] 9) If all the resources in the resource vector C have been allocated and the constraint conditions of the requirement vector B are still not satisfied, then determine this state as a backtracking point, and use the variable YD to remember the i of the i-th element at this time. Re-allocate the resource vector C to the (i - 1)-th element in the requirement vector B, set i - 1. If YD - i ≥ H s , then mark the I-th requirement in B and do not allocate resources to it, leaving it for manual allocation. Then set i = YD + 1 and go back to step 5); if YD - i < Hs, go back to step 5); 10) Allocate the next element in the requirement vector B, and so on until all the elements in the requirement vector B have been reasonably allocated, and the algorithm ends.
[0085] Specifically, the specific steps of steps 5) to 10) include: Select a requirement B [i] Take out the i-th course from the requirement vector. Try to allocate resource C [j] : Select the j-th resource from the resource vector, such as a classroom or time. Check the constraints: Determine whether this resource meets the requirements: Mapping constraints: For example, whether the classroom capacity is sufficient and whether the teacher is idle.
[0086] Soft constraints: For example, giving priority to large-class courses in the morning.
[0087] Adjust resources: If resource C [j] Does not meet demand B [i] , then try the next resource C [j+1] .
[0088] If all resources fail, the algorithm will backtrack to the previous step and reallocate them.
[0089] Backtracking point: If a step cannot be completed, the algorithm will mark the current state as a "backtracking point": Record the current status: Use variable YD to record the current demand B [i] .
[0090] Adjustment: Return to the previous requirement B [i-1] , try again to allocate resources.
[0091] Determine the number of backtracking levels H s : If the number of backtracking exceeds H s , some requirements will be marked as "manual processing".
[0092] Otherwise, continue to adjust.
[0093] Assign the next requirement: Once the current demand B [i] The resource allocation is completed, and the algorithm will enter the next requirement B [i+1] This process is repeated until all requirements have been properly allocated, or until any that cannot be completed are marked.
[0094] Simply put, the steps of allocating resources include: checking whether the resources meet the mapping constraints; checking whether the resources meet the soft constraints; if not, try the next resource; if all resources do not meet, go back and try again (backtracking); if the allocation cannot be completed after multiple backtrackings, mark the requirement and leave it for manual processing.
[0095] In some embodiments, an algorithm verification step is added to ensure that there is no conflict among course resources, teacher resources, classroom resources and time resources. If a class conflict, teacher conflict or incomplete class schedule is detected, a multi-round rescheduling mechanism is executed to ensure that the final scheduling result is reasonable.
[0096] In some embodiments, courses that are not satisfactory for the course scheduling results generated by the automatic course scheduling algorithm can be manually adjusted to ensure the flexibility of the course scheduling system and meet the multi-scenario and complex needs of users.
[0097] Course scheduling result query module In some embodiments, the course schedule data generated by automatic course scheduling is saved in the system, and reference Figure 2 ,This system provides multiple condition combinations to input query conditions, query class schedule information, and the class schedule query results are displayed in a list form.
[0098] Through the above system, this application overcomes the limitations of a single algorithm through flexible and diverse pre-rule configuration and adopts a hybrid optimization algorithm, and can generate a high-quality course schedule in a relatively short time. This system not only improves the efficiency of class scheduling and reduces human errors, but also ensures the rationality and fairness of the class scheduling results, and is suitable for educational training institutions of different sizes and types. Specifically, 1. High level of automation: This application integrates multiple optimization algorithms to realize the automated course scheduling process, greatly improving work efficiency.
[0099] 2. High accuracy: The algorithm can comprehensively consider various constraints to ensure that the generated class schedule is feasible and reasonable.
[0100] 3. Strong adaptability: The system can be customized according to different application scenarios and has high adaptability and scalability.
[0101] 4. User-friendly: It provides a friendly user interface to facilitate users to input data and view scheduling results, while supporting later adjustments and optimizations.
[0102] The present application may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present application.
[0103] Computer readable storage medium can be a tangible device that can hold and store instructions used by an instruction execution device. Computer readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (non-exhaustive list) of computer readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, for example, a punch card or a convex structure in a groove on which instructions are stored, and any suitable combination thereof. The computer readable storage medium used here is not interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (for example, a light pulse by an optical fiber cable), or an electrical signal transmitted by a wire.
[0104] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.
[0105] The computer program instructions for performing the operation of the present application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present application.
[0106] Various aspects of the present application are described herein with reference to flowcharts and / or block diagrams of systems, devices (systems) and computer program products according to embodiments of the present application. It should be understood that each box in the flowchart and / or block diagram and the combination of boxes in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0107] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0108] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0109] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, system and computer program product according to multiple embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can also be executed in the opposite order sometimes, depending on the function involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a dedicated hardware-based system that performs the function or action of the specification, or can be realized by a combination of special-purpose hardware and computer instructions.
[0110] Note that, unless otherwise directly stated, all features disclosed in this specification (including any attached claims, abstracts and drawings) may be replaced by alternative features for achieving the same, equivalent or similar purposes. Therefore, unless otherwise explicitly stated, each feature disclosed is only an example of a group of equivalent or similar features. Where used, further, preferably, further and more preferably are simple beginnings for elaborating another embodiment based on the aforementioned embodiment, and the content of further, preferably, further or more preferably followed by the aforementioned embodiment is combined with the complete composition of another embodiment. Several further, preferably, further or more preferably settings following the same embodiment can be arbitrarily combined to form another embodiment.
[0111] Although the present application has been described in detail above with general descriptions and specific embodiments, it is obvious to those skilled in the art that some modifications or improvements may be made to the present application. Therefore, these modifications or improvements made without departing from the spirit of the present application all fall within the scope of protection claimed in the present application.
Claims
1. An automatic course scheduling system based on optimization algorithm, characterized in that: include: A training plan management module, used to input training plan information by team, create a training plan based on the training plan information, and modify and delete the training plan information; The team management module is used to manage and maintain team information, including team name, team code, description, training plan, trainee information, and the team includes trainees and teachers; The course management module is used to provide the function of entering and maintaining course information and to establish the management of course versions according to different years. The course information includes the course creation date, course name, abbreviation, course type, and study hours. Class time management module, used to plan and manage daily class time arrangements; The automatic course scheduling module is used to schedule courses based on the course information using an automatic course scheduling algorithm, wherein the automatic course scheduling algorithm includes: Obtain course information from the course management module and build a requirement set. Construct a resource set, the resource set including a class time set and a teaching venue set, Construct a mapping constraint matrix: an M'×N' matrix, where M' is the number of elements in the demand set, N' is the number of elements in the resource set, M'≤N', Based on the demand set and resource set, the mapping constraint matrix is used to schedule classes. After the class scheduling is completed, the corresponding course schedule is generated.
2. The automatic course scheduling system based on optimization algorithm according to claim 1 is characterized in that: The training plan information includes: training content, start and end dates, teacher information, training location, and trainee information.
3. The automatic course scheduling system based on optimization algorithm according to claim 1 is characterized in that: The team management module includes a team creation submodule, a student management submodule, and an information editing submodule, wherein: The team creation submodule is used to create a new team; The student management submodule is used to add or remove students from the team; The information editing submodule is used to modify the basic information of the team.
4. The automatic course scheduling system based on optimization algorithm according to claim 1 is characterized in that: Also includes: Teacher management module, The teacher management module includes a teacher basic information management submodule, a teacher work history management submodule, and a teacher assessment management submodule, which are respectively used to obtain teacher basic information, teacher work history information and teacher assessment information, and output a teacher basic information table, a teacher work history information table, a teacher daily assessment information table, a teacher regular assessment information table, and a teacher annual assessment information table.
5. The automatic course scheduling system based on optimization algorithm according to claim 1 is characterized in that: Also includes: Student management module, The student management module is used to obtain input student information and maintain and manage the student information; The student management module includes a student information entry submodule, a student information list query submodule, a student information editing submodule, a student information deletion submodule, and a student information flow submodule. The student information entry submodule is used to provide a student information entry interface, design a student form, and provide student information entry and storage functions based on the student form. The student information list query submodule is used to provide a multi-condition combination to input query conditions, query student information, and display the obtained student query results in a list form. The student information editing submodule is used to provide a student details page, realize the student information editing function, and support the saving of student information into the database. The student information deletion submodule is used to provide a student information deletion function. The student information flow submodule is used to initiate a circulation program to circulate the student information entered by the student information entry submodule.
6. The automatic course scheduling system based on optimization algorithm according to claim 1 is characterized in that: The automatic class scheduling module includes a class scheduling rule configuration submodule, an automatic class scheduling algorithm writing submodule, a class scheduling information list query submodule and a related role class scheduling information sending submodule, wherein: The course scheduling rule configuration submodule is used to obtain course scheduling rules, including pre-scheduled courses, unscheduled courses, consecutive courses and other rules. Obtaining pre-scheduled courses includes: configuring the courses that need to be pre-scheduled in advance during the daily class hours within a week according to the selected class hours, and the automatic class scheduling algorithm gives priority to calculating the pre-scheduled courses based on the configured courses; Obtaining unscheduled courses includes: configuring the courses that are not allowed to be scheduled during the daily class hours within a week according to the selected class hours, and the automatic class scheduling algorithm automatically filters out the unscheduled courses according to the configuration; Obtaining consecutive courses includes: configuring the scheduling priority of each course, locking the allowed consecutive courses, and whether to conduct concentrated classes; Other rules include: the starting time period for class scheduling, whether to skip holidays, and multi-round class scheduling rules.
7. The automatic course scheduling system based on optimization algorithm according to claim 1 is characterized in that: The construction requirement set specifically includes: Determine the number of courses to be offered. The number of courses offered is set to N, where N represents the total number of courses that need to be scheduled; Find the course with the largest number of classes. Set the maximum number of classes to M, and each class of the course corresponds to a course number. An N×M demand matrix is established to obtain the demand set.
8. The automatic course scheduling system based on optimization algorithm according to claim 7 is characterized in that: It also includes setting soft constraint rules for the automatic class scheduling algorithm.
9. The automatic course scheduling system based on optimization algorithm according to claim 8 is characterized in that: The method of scheduling classes by using a mapping constraint matrix specifically includes: Manual allocation is first performed for the requirements in the soft constraint rules; Allocate time resources in the class time set to the demand set; Allocating the teaching venue resources in the teaching venue set to the demand set; Manual adjustments are made to the unmet needs in the demand set.
10. The automatic course scheduling system based on optimization algorithm according to claim 9 is characterized in that: The allocating time resources in the class time set to the demand set and allocating teaching venue resources in the teaching venue set to the demand set specifically includes: 1) Set the number of levels H to be traced back in resource allocation s ; 2) Obtaining the constructed mapping constraint matrix A; 3) Sort the requirements set by priority to obtain a requirement vector B, whose number of elements is M' 4) Sort the resource set to obtain a resource vector C, the number of elements of which is N'; 5) Allocate the jth element in the resource vector C to the i-th element in the demand vector B, i≤M; j≤N 6) Check whether the mapping constraints are satisfied; 7) Check whether the soft constraint rules are met; 8) If the mapping constraint or soft constraint rule is not satisfied, the j+1th element in the resource vector C is allocated to it; 9) If all resources in the resource vector C are allocated and still do not meet the constraints of the demand vector B, then determine this state as a backtracking point, and use the variable YD to remember the i of the i-th element at this time. Re-allocate the resource vector C to the (i - 1)-th element in the demand vector B, set i - 1. If YD - i ≥ H s , then mark the i-th demand in B and do not allocate resources to it, leaving it for manual allocation. Then set i = YD + 1 and go back to step 5); if YD - i < Hs, go back to step 5); 10) Allocate the next element in the demand vector B, and continue in this way until all elements in the demand vector B are reasonably allocated, and the algorithm ends.
Citation Information
Cited By
Intelligent recommendation scheduling method and system for training resources
CN120235423A
A training resource intelligent recommendation and scheduling method and system
CN120235423B
Cross-platform compatible vocational education software and hardware collaborative management method and system
CN120525687A
A cross-platform compatible vocational education software and hardware collaborative management method and system
CN120525687B