Course arrangement method and device, electronic equipment and storage medium

By constructing a three -dimensional table spatial model, using the coordinate span to determine the results of the curriculum, solve the problem of long and unreasonable results of the existing class algorithm, and achieve efficient and reasonable schedule results.

CN119379898APending Publication Date: 2025-01-28XIAMEN ELEPHANT ORIENTAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When the existing course scheduling algorithm realizes the complete scheduling of all courses, it takes a long time and the results are often unreasonable, and lacks the efficiency of manual course scheduling.

Method used

By constructing a three -dimensional table spatial model, determine the coordinate span of the course in the three dimensions, and directly locate the schedule of the curriculum section through the coordinate group to reduce the artificial intervention and improve the efficiency of the course.

Benefits of technology

The results of the rapid judgment of the class section were achieved, the artificial intervention of the course excitation work was reduced, the efficiency of the work was improved, and the conflict of class discharge of multi -dimensional factors could be dealt with.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119379898A_ABST
    Figure CN119379898A_ABST
Patent Text Reader

Abstract

The invention provides a course arrangement method and device, electronic equipment and a storage medium, and the method comprises the steps: S1, constructing a three-dimensional course schedule space model, and determining preset coordinate values of the model in a first dimension, a second dimension and a third dimension, a course arrangement space in the model is determined through a minimum coordinate group and a maximum coordinate group of the course arrangement space in three dimensions; s2, all courses are subjected to course arrangement space occupation in the model, a course arrangement model is obtained, and each course at least comprises one course section; the course arrangement space of all courses is occupied in the model, and the course arrangement space occupied by a course section is determined in the model according to coordinate spans of the course section in three dimensions; and S3, according to the course arrangement model, obtaining a 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 teaching management, and in particular, relates to a class scheduling method, device, electronic equipment and storage medium. Background Art

[0002] After the implementation plan of the major is determined, colleges and universities need to check, inspect and verify the teaching tasks according to the teaching task book for each semester, and complete the course scheduling related work such as the designation of course teachers, class hours, and textbooks within the time specified by the school. Because the course scheduling work is restricted by multiple factors such as majors, classes, teachers, classrooms, time, sequence, and students, automatic course scheduling has always been a recognized problem in the industry.

[0003] Reference [Zhang Yanhong, Wang Lingling, Teng Dongxing. College course scheduling system based on spatial model and genetic algorithm [J]. Computer Systems Applications, 2015, 24(9):7.] discloses a college course scheduling system based on spatial model and genetic algorithm. It uses a three-dimensional space lattice model for course scheduling. However, this course scheduling method only sets the class hours of each course as discrete points, and does not consider the continuity between the class hours of the same course, as well as the setting of the number of continuous class hours.

[0004] In the existing scheduling algorithm, in order to ensure that all courses are fully included in the timetable, each scheduling process needs to repeatedly traverse and loop through multiple dimensions of data to adjust the order and position of courses in the timetable. This is time-consuming, and the scheduling results are often unreasonable, which is not as efficient as manual scheduling. Summary of the invention

[0005] The present disclosure provides a class scheduling method, device, electronic device and storage medium, which can effectively solve the above problems.

[0006] The present disclosure is implemented as follows:

[0007] In a first aspect, the present disclosure provides a method for scheduling classes, the method comprising:

[0008] S1, constructing a three-dimensional timetable space model, determining preset coordinate values ​​of the model in the first dimension, the second dimension and the third dimension respectively, wherein a timetable space in the model is determined by the minimum coordinate group and the maximum coordinate group of the timetable space in the three dimensions;

[0009] S2. The class scheduling space is occupied by all courses in the model to obtain a class scheduling model, wherein each course includes at least one class period;

[0010] The occupancy of the course scheduling space for all courses in the model includes:

[0011] In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions;

[0012] S3. Obtain a class schedule based on the class scheduling model.

[0013] In some implementations, in the model, determining the class scheduling space occupied by a class segment according to the coordinate spans of the class segment in three dimensions respectively includes:

[0014] When the coordinate span of the class segment in the third dimension is larger than all the unoccupied class scheduling spaces in the model, the class segment space is divided into at least a first class segment and a second class segment;

[0015] The class scheduling space occupied by the first class segment and the second class segment are determined respectively.

[0016] In some implementations, in the model, determining the class scheduling space occupied by a class segment according to the coordinate spans of the class segment in three dimensions respectively includes:

[0017] The class scheduling space occupied by at least two class segments is determined based on the coordinate spans of at least two class segments in three dimensions, wherein the at least two class segments are class segments of the same course or class segments of different courses.

[0018] In some embodiments, in the model, the class scheduling space occupied by a class segment is determined based on the coordinate spans of the class segment in three dimensions, including: determining the value of the class scheduling space occupied by the class segment in the fourth dimension.

[0019] In some embodiments, the first dimension includes at least a first sub-dimension and a second sub-dimension;

[0020] In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions, including:

[0021] The coordinates of the occupied class scheduling space in the first dimension are all located in the first sub-dimension or the second sub-dimension.

[0022] In some embodiments, the model has boundary coordinate values ​​in the first dimension, the second dimension, and the third dimension, respectively, and the boundary coordinate value in each dimension is respectively greater than the preset coordinate value;

[0023] The occupancy of the course scheduling space for all courses in the model includes:

[0024] In the model, the occupancy order of the first course lags behind that of the second course, wherein the first course includes a first lesson segment, the second course does not include the first lesson segment, and the coordinates of the first lesson segment in any of the three dimensions are allowed to be greater than the preset coordinate value.

[0025] In some embodiments, the method further comprises:

[0026] A course container is configured for each course; the course container is associated with the course information of the course, and the course information includes the total class hours and weekly class hours of the course;

[0027] The occupancy of the course scheduling space for all courses in the model includes:

[0028] According to the course information in the course container, the coordinate spans of each lesson section of the course in three dimensions in the model are obtained.

[0029] In some embodiments, the method further comprises:

[0030] The minimum coordinate group and the maximum coordinate group of the course scheduling space occupied by each course in the model are associated with the course container of the course.

[0031] In some embodiments, the method further includes: associating the class scheduling space occupied by the second class segment in the first class scheduling model with the class scheduling space occupied by the third class segment in the second class scheduling model.

[0032] In a second aspect, the present disclosure provides a course scheduling device, the device comprising:

[0033] A model building module is used to build a three-dimensional timetable space model, determine the preset coordinate values ​​of the model in the first dimension, the second dimension and the third dimension respectively, and a timetable space in the model is determined by the minimum coordinate group and the maximum coordinate group of the timetable space in the three dimensions;

[0034] A course scheduling module, used for calculating the occupation of the course scheduling space of all courses in the model to obtain a course scheduling model;

[0035] Each course consists of at least one lesson;

[0036] The occupation of the course scheduling space for all courses on the model includes:

[0037] In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions;

[0038] The class schedule generation module is used to obtain the class schedule according to the class scheduling model.

[0039] In a third aspect, the present disclosure provides an electronic device, including:

[0040] a memory storing execution instructions; and

[0041] A processor executes the execution instructions stored in the memory, so that the processor executes the class scheduling method of any one of the above-mentioned embodiments.

[0042] In a fourth aspect, the present disclosure provides a readable storage medium, wherein the readable storage medium stores execution instructions, and when the execution instructions are executed by a processor, the execution instructions are used to implement the class scheduling method of any of the above-mentioned embodiments.

[0043] Compared with the prior art, the beneficial effects of the present invention are:

[0044] 1. The present invention forms the course occupancy situation by constructing a three-dimensional timetable space model, and can quickly determine the class scheduling results of the class period directly through coordinate group positioning, which can reduce manual intervention in class scheduling and improve the efficiency of class scheduling.

[0045] 2. By associating the same unit of class scheduling space between different class schedule space models, it is possible to check for class scheduling conflicts or jointly schedule classes for different class schedule objects.

[0046] 3. The scheduling space occupied by each class period can be supplemented with information other than time to achieve scheduling results in more than three dimensions. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present disclosure and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.

[0048] Figure 1 It is a flow chart of the class scheduling method provided in the embodiment of the present disclosure.

[0049] Figure 2 It is a schematic diagram of a class time space in the three-dimensional class scheduling model provided by an embodiment of the present disclosure;

[0050] Figure 3 is a schematic diagram of an occupied class scheduling space in the three-dimensional class scheduling model provided by an embodiment of the present disclosure;

[0051] Figure 4 It is a structural diagram of the course scheduling device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0052] The present disclosure is further described in detail below in conjunction with the accompanying drawings and implementations. It is understood that the specific implementations described herein are only used to explain the relevant content, rather than to limit the present disclosure. It should also be noted that, for ease of description, only the parts related to the present disclosure are shown in the accompanying drawings.

[0053] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in the present disclosure can be combined with each other. The technical solution of the present disclosure will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0054] Unless otherwise specified, the exemplary embodiments / embodiments shown will be understood as providing exemplary features of various details of some ways in which the technical concept of the present disclosure can be implemented in practice. Therefore, unless otherwise specified, the features of the various embodiments / embodiments can be combined, separated, interchanged and / or rearranged without departing from the technical concept of the present disclosure.

[0055] Embodiment 1

[0056] refer to Figure 1 The present disclosure provides a method for scheduling classes, the method comprising:

[0057] S1, constructing a three-dimensional timetable space model, determining preset coordinate values ​​of the model in the first dimension, the second dimension and the third dimension respectively, wherein a timetable space in the model is determined by the minimum coordinate group and the maximum coordinate group of the timetable space in the three dimensions;

[0058] S2. The class scheduling space is occupied by all courses in the model to obtain a class scheduling model, wherein each course includes at least one class period;

[0059] The occupancy of the course scheduling space for all courses in the model includes:

[0060] In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions;

[0061] S3. Obtain a class schedule based on the class scheduling model.

[0062] The course scheduling method provided by the disclosed embodiment forms the course occupancy status by constructing a three-dimensional timetable space model, and can quickly determine the course scheduling results of the course section directly through coordinate group positioning, thereby reducing manual intervention in course scheduling and improving the efficiency of course scheduling.

[0063] The method can realize the traversal of the scheduling space occupied by each class period as a whole in the model and the unoccupied scheduling space through two sets of coordinate groups, avoiding the traversal of the class time space one by one, that is, repeatedly traversing data of multiple dimensions, thereby improving the efficiency of scheduling and reducing the time and effort of manual intervention introduced due to unsatisfactory results of the automatic scheduling algorithm.

[0064] That is, when the method is traversing the model, it searches for a continuous scheduling space. The scheduling space occupied by each class segment as a whole in the model is continuous in three dimensions, and the three-dimensional size of the scheduling space occupied by each class segment may be different.

[0065] Instead of discretizing the courses in the form of data points in a three-dimensional matrix, and then searching for the discrete data points one by one.

[0066] The method "folds" the time parameter in a time sequence to form a three-dimensional spatial form. Therefore, the time parameter is determined by three dimensions.

[0067] Instead of setting the time parameter as one of the dimensions and setting the other parameters as the other two dimensions as in other methods.

[0068] The three-dimensional timetable space model is a three-dimensional model based on the timetable, and the prototype of the model is a cube.

[0069] In some implementations, since there are legal holidays other than weekends during the class time, such as National Day, or some classes are manually scheduled in advance before scheduling, the model may be an incomplete cube.

[0070] Take a vertex as the origin, and the three perpendicular lines connected by the vertex as the three dimensions, which respectively describe the order of week number, week, and lesson. Limited by the time for scheduling classes, the coordinate values ​​in the three dimensions cannot grow infinitely, and each has a maximum value that can be specified, which is the boundary coordinate value.

[0071] The meaning of the coordinate values ​​on the three dimensions is not to represent a time point, but a time period. The time period is a class time. Class time is the smallest time unit in the class schedule. For example, a coordinate value of 1 on the first dimension represents the first class of the day in the time used for class scheduling. A coordinate value of 2 on the second dimension represents the second day of the week (Tuesday) in the time used for class scheduling. A coordinate value of 3 on the third dimension represents the third week (teaching week) in the time used for class scheduling.

[0072] Therefore, the coordinate values ​​have continuity on their dimensional coordinate axes, and a combination of continuous coordinate values ​​on any one of the three dimensions can represent a continuous time period.

[0073] Furthermore, the model is divided into blocks according to each coordinate value (unit time period) in three dimensions, and each block is a combination of unit time periods in three dimensions, and each block is a class time space. That is, each class time corresponds to a block, which is a three-dimensional space, not a three-dimensional point.

[0074] The class time space where the origin is located describes the first class on Monday of the first week in the time used for scheduling classes.

[0075] The scheduling space occupied by each class segment is composed of continuous blocks. The scheduling space is used to describe the specific space occupied by the class segment in the model.

[0076] After the model is divided into blocks, a three-dimensional Rubik's Cube model is formed.

[0077] Reference Figure 2 , the first dimension is the X-axis, which indicates the order of the lessons. The second dimension is the Y-axis, which indicates the order of the weeks. The third dimension is the Z-axis, which indicates the order of the weeks. The red block is the class time space with the coordinate value (0,0,0). It is the origin.

[0078] Reference Figure 3 ,The blue block is an example of the scheduling space occupied by a class period. The scheduling space can be confirmed by the coordinate group, the smallest coordinate group is (0,0,1) and the largest coordinate group is (1,0,2).

[0079] The coordinate value of each dimension in the minimum coordinate group is the minimum coordinate value of the class scheduling space in that dimension. The coordinate value of each dimension in the maximum coordinate group is the maximum coordinate value of the class scheduling space in that dimension. The coordinate span of the class scheduling space in three dimensions can be defined as the three-dimensional size of the class scheduling space.

[0080] In some embodiments, a class scheduling space in the model may also be determined by a minimum coordinate group of the class scheduling space in three dimensions and its coordinate spans in the three dimensions respectively.

[0081] This method of determining space through a coordinate group not only locates it in the model, but also determines its size. At the same time, it also realizes the mutual connection between each class in the course segment.

[0082] Reference Figure 3 The scheduling space occupied by a class period is a complete cube composed of multiple class time spaces, and usually, the coordinate span in the second dimension is 0, and the coordinate span in the first dimension is (number of consecutive class hours - 1).

[0083] The existence of different sections in the same course may be because the classes are scheduled multiple times a week, so different sections need to occupy different scheduling spaces. Therefore, the minimum coordinates of the scheduling spaces of different sections in the third dimension may be different.

[0084] In some embodiments, different sections of the same course may be divided into different classes and taught at different times. In this case, class information may be added to the scheduling space of each section to facilitate information storage, classification, and integration of the course schedule. (If class information is not considered, classes taught at the same time may be considered as being scheduled in the same section.) In some embodiments, the first dimension includes at least a first sub-dimension and a second sub-dimension;

[0085] In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions, including:

[0086] The coordinates of the occupied class scheduling space in the first dimension are all located in the first sub-dimension or the second sub-dimension.

[0087] In the actual course scheduling process, it is inevitable to distinguish between the morning, afternoon, and evening time periods. In most cases, consecutive classes can only be held in one of these time periods. Therefore, breakpoints are set on the first dimension. When scheduling courses that are allowed to cross breakpoints, the course scheduling space can be traversed directly in the entire dimension. When scheduling courses that are not allowed to cross breakpoints, each sub-dimension needs to be traversed separately.

[0088] In some embodiments, the model has boundary coordinate values ​​in the first dimension, the second dimension, and the third dimension, respectively, and the boundary coordinate value in each dimension is respectively greater than the preset coordinate value;

[0089] The occupancy of the course scheduling space for all courses in the model includes:

[0090] In the model, the occupancy order of the first course lags behind that of the second course, wherein the first course includes a first lesson segment, the second course does not include the first lesson segment, and the coordinates of the first lesson segment in any of the three dimensions are allowed to be greater than the preset coordinate value.

[0091] When scheduling classes based on semesters, the class schedule of each semester cannot span into the next semester. Therefore, the boundary coordinate value is a limit to the growth of the coordinate values ​​in the three dimensions.

[0092] Correspondingly, due to the existence of evening time periods, weekends (Saturday and Sunday) and holidays, although classes are usually not scheduled, special courses are allowed or required to be scheduled during these time periods. The maximum coordinate value of at least one of the three dimensions of the scheduling space of these courses may exceed the preset coordinate value.

[0093] Correspondingly, as the dimension coordinate values ​​expand, the number of blocks in the Rubik's Cube model also expands, that is, the overall cube is larger than the preset cube.

[0094] Prioritizing scheduling of classes that cannot be scheduled outside the preset coordinate values ​​will improve scheduling efficiency.

[0095] Before traversing the course scheduling space, you can manually schedule some classes in the model to occupy the course scheduling space in advance. Then, you can traverse the unoccupied course scheduling space in the model to schedule each class in turn. Usually, the traversal starts from the origin or the coordinate value closest to the origin in a certain dimension. When adding constraints to the traversal conditions, you can also start the traversal from a specific coordinate in a certain dimension, or a specific coordinate group.

[0096] In some implementations, in the model, determining the class scheduling space occupied by a class segment according to the coordinate spans of the class segment in three dimensions respectively includes:

[0097] The class scheduling space occupied by at least two class segments is determined based on the coordinate spans of at least two class segments in three dimensions, wherein the at least two class segments are class segments of the same course or class segments of different courses.

[0098] For example, in the aforementioned situation where students attend classes at different times, in order to ensure the same progress, the coordinate spans of the two classes in the third dimension are usually set to be the same.

[0099] For example, in order to ensure the synchronization of theoretical courses and experimental courses, it is also necessary to schedule the classes of the two synchronously to avoid disconnection in teaching.

[0100] For another example, if the first course needs to be taught after the second course, the synchronous scheduling method can also be adopted to lag the class segments in the second course behind the class segments in the first course in the third dimension.

[0101] In other implementations, this synchronous scheduling method can also be replaced by: scheduling courses in sequence, adding constraints to the later courses, and being constrained by the scheduling of the earlier courses.

[0102] In some implementations, in the model, determining the class scheduling space occupied by a class segment according to the coordinate spans of the class segment in three dimensions respectively includes:

[0103] When the coordinate span of the class segment in the third dimension is larger than all the unoccupied class scheduling spaces in the model, the class segment space is divided into at least a first class segment and a second class segment;

[0104] The class scheduling space occupied by the first class segment and the second class segment are determined respectively.

[0105] When there are many occupancy in the model, the unoccupied scheduling space may not be able to accommodate the three-dimensional size expectation of a complete class segment, usually the expectation of the coordinate span on the first dimension cannot be met. In this case, the class segment can be divided to occupy one of the scheduling spaces with the largest coordinate span on the first dimension. And so on, the remaining class segments are occupied.

[0106] In some embodiments, the method is provided with a second week lock constraint, which also has the ability to prevent faults, when the breakpoints of any two sections or sub-sections of the same course in the third dimension are not greater than a coordinate value, that is, it is used to constrain a course from being absent for more than one week.

[0107] In some embodiments, the method further comprises:

[0108] A course container is configured for each course. The course container is associated with the course information of the course. That is, the course container is generated according to the course information.

[0109] Each course container is respectively configured with a course identifier, which can be constructed into an identifier code through a fixed algorithm for easy storage, transmission and comparison.

[0110] Place the course container into the course library to provide an index for subsequent operations.

[0111] Course information is a series of information that distinguishes different course containers, including but not limited to course ID, course type, course major, etc.

[0112] The course information includes the total class hours, weekly class hours, consecutive class hours, etc. of the course.

[0113] In some implementations, the number of consecutive class hours may be the maximum number of consecutive class hours, that is, once the requirement is met, there is no limit on the number of classes per week.

[0114] In some embodiments, the method further sets a day lock constraint, that is, each class of the week is held on a different day, and multiple different sessions of the same course will not appear at the same time on a single day.

[0115] The occupancy of the course scheduling space for all courses in the model includes:

[0116] According to the course information in the course container, the coordinate spans of each lesson section of the course in three dimensions in the model are obtained.

[0117] According to the total number of class hours, weekly class hours, and consecutive class hours in the course container, determine the expected three-dimensional size of the scheduling space that each lesson of the course needs to occupy in the model. Then, traverse and occupy the scheduling space that satisfies the requirements.

[0118] In some embodiments, the method provides a class scheduler.

[0119] The course scheduler is the main operating tool of the course scheduling algorithm. It schedules courses in units of sections and is used to control the overall three-dimensional structure of each section of the course and ensure that the space occupied by the course scheduling in the model meets the requirements of the course information.

[0120] In some embodiments, the method further comprises:

[0121] Associate the minimum coordinate group and the maximum coordinate group of the course scheduling space occupied by each lesson section of the course in the model with the course container of the course.

[0122] The coordinate information of each class time space in the scheduling space of each class period of the course is associated with the course container of the course and stored in the course container to facilitate indexing, transmission and comparison for subsequent operations.

[0123] In some embodiments, the method provides a lesson library.

[0124] The lesson library stores all lesson space objects in the model in the form of hash mapping, and builds an index to quickly or batch obtain the specified lesson space objects. The lesson library is used to provide data in three dimensions: week, lesson section, and weekly number.

[0125] Furthermore, the course library is equipped with an independent conflict system to avoid conflicts in class scheduling space.

[0126] The conflict system is used to determine whether the scheduling space of two sections conflicts. Conflicts can be divided into default conflicts and custom conflicts. Custom conflicts are set by users and can be set to have the highest priority. The default conflicts may be different for different section objects.

[0127] In some implementations, the method provides a course library.

[0128] The course library stores all course objects in the form of hash maps and builds indexes to quickly or batch retrieve specified course objects.

[0129] Furthermore, the course library is equipped with a weight system, and the course scheduling order of the course objects is confirmed according to the weights when scheduling.

[0130] The weight system quantifies course information and course settings into weights through a fixed algorithm. The weights can be divided into multiple levels, such as the absolute priority set by the user, whether crossing the boundary (crossing the breakpoint or crossing the preset coordinate value), the number of consecutive classes, the number of weeks required, the total number of class hours, etc.

[0131] In some implementations, courses with a large total number of class hours are scheduled preferentially, so that courses with a large total number of class hours can have more continuous overall scheduling space for selection and occupation during scheduling. If courses with a large total number of class hours are scheduled later, the occupation of the preceding courses may cause the remaining scheduling space to become fragmented and unable to provide sufficient three-dimensional size.

[0132] In some implementations, in the model, determining the class scheduling space occupied by a class segment according to the coordinate spans of the class segment in three dimensions respectively includes:

[0133] Determine the value of the course scheduling space occupied by the class segment in the fourth dimension.

[0134] For example, the fourth dimension is address information, which is used to determine the location of the class while scheduling the class period.

[0135] Or / and, the fifth dimension is teacher information, which determines the teaching teacher while scheduling the class segments.

[0136] Accordingly, in some implementations, the method sets up an address library.

[0137] The address library stores all address objects in the form of hash maps, and builds indexes to quickly or batch obtain specified address objects.

[0138] The address library is used to provide address data of the fourth dimension.

[0139] Furthermore, the address database is equipped with an independent conflict system to avoid conflicts in addresses between classes.

[0140] In some embodiments, the three-dimensional class scheduling model in the method implements the scheduling of courses in a sub-class schedule, that is, is used to generate a sub-class schedule.

[0141] Each three-dimensional scheduling model is an independent schedule area, for example, a schedule for a major.

[0142] Different sub-course schedules are equipped with different course libraries.

[0143] In addition to accepting the overall scheduling rules of the root schedule, each sub-schedule has its own set of overall scheduling rules.

[0144] Accordingly, there is a relationship between the multiple sub-course tables, and the relationship includes synchronization and conflict of information in various dimensions.

[0145] Multiple sub-course schedules form a high-dimensional root course schedule, which at least includes the dimension of the sub-course schedule sequence. The root course schedule has the aforementioned overall course scheduling rules.

[0146] That is, the root timetable is generated based on the three-dimensional scheduling model of multiple sub-timetables.

[0147] In some embodiments, the method further includes: associating the class scheduling space occupied by the second class segment in the first class scheduling model with the class scheduling space occupied by the third class segment in the second class scheduling model.

[0148] Different majors may have classes together, so it is necessary to associate the class times on the two sub-timetables. That is, the association means that they occupy the same 3D coordinate value in the model.

[0149] When address information of the fourth dimension exists, only one course can be scheduled at the same time and place. Such conflicts can be eliminated by comparing the information of the same class time space in the scheduling model.

[0150] Likewise, the same teacher can only schedule one course at one location at one time.

[0151] The class scheduling logic of the method is as follows:

[0152] 1. Take out a course to be scheduled and take out one of the course sections. If the course to be scheduled cannot be taken out, the course scheduling will be stopped.

[0153] 2. Based on the expected coordinate span of the course segment in three dimensions, request the course scheduler for unoccupied scheduling space in the model.

[0154] According to the course information such as the total number of class hours and weekly class hours associated with the course, the three-dimensional expectations of one of the course sections are generated, and space is occupied in the model with the three dimensions (class section, week, number of weeks).

[0155] a. The course scheduler generates a list of course scheduling spaces that meet expectations and occupies them according to the rules. The default rule is to give priority to occupying the course scheduling space close to the origin.

[0156] b. If there is no class schedule that meets your expectations, you can divide the class period and occupy it separately.

[0157] For example, if the course information of a course is that the total number of class hours is 50, there are 10 classes per week, and each day is 2 consecutive class hours. Then the three-dimensional expectation of one of the class segments is (1,1,4)

[0158] When the second class on Tuesday of the second week is reached, the coordinate point is (1,1,1). The course scheduler will check the course scheduling space between coordinate point a (1,1,1) and coordinate point b (2,0,5). If any part of the space is occupied, it will be skipped and the traversal will continue to the next coordinate point.

[0159] When a class scheduling space is occupied, the associated information of the coordinate group of coordinate point a and coordinate point b of the class scheduling space, as well as the information that the class scheduling space has been occupied, will be recorded and associated with the course container.

[0160] Then schedule other sections of the same course in the model.

[0161] Until all courses are scheduled, a course scheduling model is obtained to generate a course timetable.

[0162] The method uses divide-and-conquer and greedy as the main algorithm modes, forms constraints by passing in parameters of three dimensions to ensure that the results meet expectations, improves the success rate by preprocessing the constraints of the class structure, achieves dimensionality reduction by decomposing and merging each dimension, thereby reducing the computational complexity and the number of course traversals during the scheduling process. The dynamic programming algorithm is used for detailed operations to make the scheduling results more in line with expectations, thereby improving the efficiency of scheduling.

[0163] Embodiment 2

[0164] The present disclosure provides a class scheduling device.

[0165] The device may include a corresponding module for performing each or several steps in the above flowchart. Therefore, each step or several steps in the above flowchart may be performed by a corresponding module, and the device may include one or more modules in these modules. The module may be one or more hardware modules specially configured to perform the corresponding steps, or implemented by a processor configured to perform the corresponding steps, or stored in a computer-readable medium for implementation by a processor, or implemented by some combination.

[0166] Specifically, Figure 4 As shown, a course scheduling device 1000 includes:

[0167] The model building module 1002 is used to build a three-dimensional timetable space model, determine the preset coordinate values ​​of the model in the first dimension, the second dimension and the third dimension respectively, and a row of class space in the model is determined by the minimum coordinate group and the maximum coordinate group of the space in the three dimensions;

[0168] The course scheduling module 1004 is used to calculate the occupation of the course scheduling space in the model for all courses to obtain a course scheduling model;

[0169] Each course consists of at least one lesson;

[0170] The occupation of the course scheduling space for all courses on the model includes:

[0171] In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions;

[0172] The class schedule generating module 1006 is used to obtain the class schedule according to the class scheduling model.

[0173] The embodiment of the present disclosure also provides an electronic device, including: a memory, the memory storing execution instructions; and a processor or other hardware module, the processor or other hardware module executes the execution instructions stored in the memory, so that the processor or other hardware module executes the above-mentioned class scheduling method.

[0174] The present disclosure also provides a readable storage medium, in which execution instructions are stored. When the execution instructions are executed by a processor, they are used to implement the above-mentioned class scheduling method.

[0175] Among them, the hardware structure adopted by the course scheduling device based on the hardware implementation of the processor disclosed in the present invention can be implemented using a bus architecture. The bus architecture can include any number of interconnected buses and bridges, depending on the specific application and overall design constraints of the hardware. The bus connects various circuits including one or more processors, memories and / or hardware modules together. The bus can also connect various other circuits such as peripherals, voltage regulators, power management circuits, external antennas, etc.

[0176] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Component (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one connecting line is used in this figure, but it does not mean that there is only one bus or one type of bus.

[0177] Any process or method description in the flowchart or otherwise described herein can be understood as a module, fragment or portion of a code representing one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present disclosure includes other implementations, in which the functions may not be performed in the order shown or discussed, including performing the functions in a substantially simultaneous manner or in a reverse order according to the functions involved, which should be understood by a person skilled in the art of the present disclosure. The processor performs the various methods and processes described above. For example, the method implementation in the present disclosure can be implemented as a software program, which is tangibly contained in a machine-readable medium, such as a memory. In some embodiments, part or all of the software program can be loaded and / or installed via a memory and / or a communication interface. When the software program is loaded into the memory and executed by the processor, one or more steps in the method described above can be performed. Alternatively, in other embodiments, the processor can be configured to perform one of the above methods in any other appropriate manner (e.g., by means of firmware).

[0178] The logic and / or steps represented in the flowchart or otherwise described herein may be embodied in any readable storage medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other system that can fetch instructions from and execute instructions on an instruction execution system, apparatus, or device), or in combination with such instruction execution systems, apparatuses, or devices.

[0179] For the purposes of this specification, a "readable storage medium" may be any device that can contain, store, communicate, propagate or transmit a program for use with or in conjunction with an instruction execution system, device or apparatus. More specific examples of readable storage media (a non-exhaustive list) include the following: an electrical connection with one or more wirings (electronic device), a portable computer disk case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and editable read-only memory (EPROM or flash memory), a fiber optic device, and a portable read-only memory (CDROM). In addition, the readable storage medium may even be paper or other suitable medium on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering or, if necessary, processing in another suitable manner, and then stored in a memory.

[0180] It should be understood that the various parts of the present disclosure can be implemented in hardware, software, or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented in software stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0181] A person skilled in the art may understand that all or part of the steps of implementing the above-mentioned implementation method may be completed by instructing related hardware through a program, and the program may be stored in a readable storage medium, which, when executed, includes one or a combination of the steps of the implementation method.

[0182] In addition, each functional unit in each embodiment of the present disclosure may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a readable storage medium. The storage medium may be a read-only memory, a disk or an optical disk, etc.

[0183] Those skilled in the art should understand that the above embodiments are only for the purpose of clearly illustrating the present disclosure, and are not intended to limit the scope of the present disclosure. For those skilled in the art, other changes or modifications may be made based on the above disclosure, and these changes or modifications are still within the scope of the present disclosure.

Claims

1. A method for scheduling classes, characterized in that: The method comprises: S1, constructing a three-dimensional timetable space model, determining preset coordinate values ​​of the model in the first dimension, the second dimension and the third dimension respectively, wherein a timetable space in the model is determined by the minimum coordinate group and the maximum coordinate group of the timetable space in the three dimensions; S2. The class scheduling space is occupied by all courses in the model to obtain a class scheduling model, wherein each course includes at least one class period; The occupancy of the course scheduling space for all courses in the model includes: In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions; S3. Obtaining a class schedule according to the class scheduling model.

2. The class scheduling method according to claim 1, characterized in that: In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions, including: When the coordinate span of the class segment in the third dimension is larger than all the unoccupied class scheduling spaces in the model, the class segment space is divided into at least a first class segment and a second class segment; The class scheduling space occupied by the first class segment and the second class segment are determined respectively.

3. The class scheduling method according to claim 1, characterized in that: In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions, including: The class scheduling space occupied by at least two class segments is determined based on the coordinate spans of at least two class segments in three dimensions, wherein the at least two class segments are class segments of the same course or class segments of different courses.

4. The class scheduling method according to claim 1, characterized in that: In the model, the class scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions, including: determining the value of the class scheduling space occupied by the class segment in the fourth dimension.

5. The class scheduling method according to claim 1, characterized in that: The model has boundary coordinate values ​​in the first dimension, the second dimension and the third dimension respectively, and the boundary coordinate value in each dimension is respectively greater than the preset coordinate value; The occupancy of the course scheduling space for all courses in the model includes: In the model, the occupancy order of the first course lags behind that of the second course, wherein the first course includes a first lesson segment, the second course does not include the first lesson segment, and the coordinates of the first lesson segment in any of the three dimensions are allowed to be greater than the preset coordinate value.

6. The class scheduling method according to claim 1, characterized in that: The method further comprises: A course container is configured for each course; the course container is associated with the course information of the course, and the course information includes the total class hours and weekly class hours of the course; The occupancy of the course scheduling space for all courses in the model includes: According to the course information in the course container, the coordinate spans of each lesson section of the course in three dimensions in the model are obtained.

7. The class scheduling method according to claim 1, characterized in that: The method also includes: associating the class scheduling space occupied by the second class segment in the first class scheduling model with the class scheduling space occupied by the third class segment in the second class scheduling model.

8. A class scheduling device, characterized in that: The device comprises: A model building module is used to build a three-dimensional timetable space model, determine the preset coordinate values ​​of the model in the first dimension, the second dimension and the third dimension respectively, and a timetable space in the model is determined by the minimum coordinate group and the maximum coordinate group of the timetable space in the three dimensions; A course scheduling module, used for calculating the occupation of the course scheduling space of all courses in the model to obtain a course scheduling model; Each course consists of at least one lesson section; The occupation of the course scheduling space for all courses on the model includes: In the model, the course scheduling space occupied by a class segment is determined according to the coordinate spans of the class segment in three dimensions; The class schedule generation module is used to obtain the class schedule according to the class scheduling model.

9. An electronic device, characterized in that: include: A memory storing execution instructions; as well as A processor, wherein the processor executes the execution instructions stored in the memory, so that the processor executes the class scheduling method according to any one of claims 1 to 7.

10. A readable storage medium, characterized in that: The readable storage medium stores execution instructions, which, when executed by a processor, are used to implement the class scheduling method according to any one of claims 1 to 7.