Intelligent examination arrangement system and method based on multi-stage hybrid optimization
The intelligent exam scheduling system, which utilizes a multi-stage hybrid optimization approach, leverages AI big data models and historical data to construct student conflict graphs, optimize resource allocation, and resolve the complexity and constraint conflicts in exam scheduling within university academic affairs management, generating a high-quality exam schedule.
Patent Information
- Application Number
- CN202610061674.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-16
- Publication Date
- 2026-04-24
AI Technical Summary
Existing technologies in university academic affairs management suffer from high computational complexity, complex resource matching, conflicting optimization goals, cumbersome input constraints, and a lack of historical continuity, making it difficult to generate high-quality exam schedules.
An intelligent exam scheduling system based on multi-stage hybrid optimization is adopted. It uses a large AI model to parse unstructured text, combines historical exam scheduling data and student conflict graphs, and generates an exam scheduling scheme that meets hard constraints and optimizes soft constraints through iterative allocation and local search optimization.
It simplifies the constraint input process, improves the success rate and efficiency of generating feasible solutions, significantly enhances the quality of the test elimination scheme, and has robustness and scalability.
Smart Images

Figure CN121921150A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer-based academic affairs management technology, specifically to an intelligent exam scheduling system and method based on multi-stage hybrid optimization. Background Technology
[0002] In higher education academic affairs management, exam scheduling is a periodic, computationally intensive, and crucial task. Its goal is to generate a feasible and high-quality exam schedule for all subjects, within given exam cycles, time slices, exam room resources, and invigilation resources.
[0003] Existing scheduling methods, whether manual or traditional computer-aided, face significant challenges:
[0004] 1. Computational Complexity: The exam scheduling problem is computationally NP-hard. As the number of exam subjects, students, and available resources increases, the possible combinations explode exponentially, making it difficult to find a feasible solution, let alone an optimal one, within a finite time.
[0005] 2. Rigidity of the core constraint: The core constraint of exam scheduling lies in the "student." No student can take two or more exams in the same time slot. This constraint is absolutely rigid, and processing it with course selection data from tens of thousands of students constitutes a huge computational bottleneck.
[0006] 3. The complexity of resource matching: The resources involved in exam scheduling are not one-to-one. For example, a large exam may need to be "split" into multiple exam rooms of different capacities; at the same time, each exam also needs to be equipped with a sufficient number of invigilators according to predetermined rules (such as the proportion of students). This "many-to-many" resource allocation requirement far exceeds that of traditional exam scheduling.
[0007] 4. Conflicts in Optimization Objectives: A "good" exam scheduling plan must not only meet all rigid constraints (such as no student conflicts), but also take into account multiple soft optimization objectives, such as "avoiding consecutive exams for students," "balancing the workload of invigilators," and "improving the utilization rate of exam room seats." These objectives are often conflicting, and existing technologies struggle to achieve an effective balance among multiple objectives.
[0008] 5. Limitations of Constrained Input: Existing systems typically require academic staff to manually convert complex, unstructured scheduling requirements (such as "Professor X's courses must be scheduled on Friday afternoons") into precise, machine-readable rules. This process is tedious, error-prone, and time-consuming.
[0009] 6. Lack of historical continuity: Traditional exam scheduling algorithms usually start from scratch, ignoring the valuable experience and patterns implicit in past exam scheduling data (such as "a certain public course is always finished in the first week"). This may result in exam scheduling results that lack continuity and do not meet the habitual expectations of teachers and students.
[0010] Based on this, the present invention designs an intelligent exam scheduling system and method based on multi-stage hybrid optimization to solve the above problems. Summary of the Invention
[0011] In view of the above-mentioned shortcomings of the existing technology, the present invention provides an intelligent exam scheduling system and method based on multi-stage hybrid optimization.
[0012] To achieve the above objectives, the present invention provides the following technical solution:
[0013] An intelligent exam scheduling system based on multi-stage hybrid optimization includes:
[0014] Data loading module: used to acquire data on exams to be scheduled, student course selection data, exam room resource data, invigilator resource data, historical exam scheduling data, and unstructured text;
[0015] AI Constraint Parsing Module: Used to parse unstructured text using a large AI model and convert it into machine-readable first constraints;
[0016] Historical pattern mining module: used to analyze historical exam scheduling data, mine the time arrangement characteristics of specific exams, and convert them into machine-readable second constraints;
[0017] Conflict graph construction module: Used to construct a student conflict graph based on student course selection data;
[0018] Heuristic construction module: used to calculate the conflict degree of each exam to be scheduled based on the student conflict graph, and combined with the exam size of the exams to be scheduled, determine the allocation priority of each exam according to the predetermined sorting rules, and sort the exams to be scheduled to generate the queue to be scheduled.
[0019] Iterative allocation module: Used to iteratively allocate resources to each exam in the queue according to its order;
[0020] Local search optimization module: After the iterative allocation module is executed, it performs local search optimization on the allocation of resources for the exam to be scheduled, with the goal of minimizing the penalty value of one or more soft constraints.
[0021] Furthermore, it also includes a conflict backtracking module to handle exams that failed to be assigned in the iterative assignment module, ensuring the completeness of the solution through forced insertion and chain rearrangement.
[0022] A scheduling method, utilizing an intelligent scheduling system based on multi-stage hybrid optimization, includes the following steps:
[0023] Step 1: Obtain pending exam data, student course selection data, exam room resource data, invigilator resource data, historical exam scheduling data, and unstructured text;
[0024] Step 2: AI Constraint Parsing: Use a large AI model to parse unstructured text and convert it into machine-readable first constraints;
[0025] Step 3: Historical Pattern Mining Step: This step analyzes historical exam scheduling data, mines the time arrangement characteristics of specific exams, and converts them into machine-readable second constraints.
[0026] Step 4: Based on student course selection data, construct a student conflict graph. The nodes in the student conflict graph are exams, and the edges between nodes indicate that there are students sharing exams to be scheduled.
[0027] Step 5: Iterative Allocation: Merge the first and second constraints with the preset constraint matrix into a comprehensive constraint; based on the node weights of the student conflict graph and the examination scale of the examination data, sort the examinations to be scheduled in descending order according to the predetermined sorting rules, and determine the examination scheduling scheme one by one according to the order while satisfying the available time slices, student conflict requirements, examination room resource requirements, monitoring resource requirements and comprehensive constraints. If an examination to be scheduled is still not assigned after traversing all available time slices, add it to a list to be reordered.
[0028] Step Six: Local Search Optimization: To minimize the penalty value of one or more soft constraints within the comprehensive constraints, perform local search optimization on the allocation of resources for the exams to be scheduled.
[0029] Step 7: Conflict Backtracking: Check if the "List of Examinations to be Rescheduled" is empty. If it is not empty, start the conflict backtracking mechanism, force insert the examinations to be scheduled in the list, and reschedule the examinations that conflict with the forcibly inserted examinations until all examinations to be scheduled have been arranged.
[0030] Furthermore, the dataset of pending exams , Includes a list of registered students and the number of applicants ;
[0031] All students gathered ;
[0032] , Includes capacity and type;
[0033] Types include regular classrooms and computer labs;
[0034] Available invigilators , Includes unavailable time ;
[0035] Available exam time set T ;
[0036] Historical test scheduling data ;
[0037] Unstructured text ;
[0038] Preset constraint matrix .
[0039] Furthermore, the specific steps for step two are as follows:
[0040] Step 21: AI large model recognizes unstructured text The intention behind the scheduling and constraint of exams;
[0041] Step 22: The AI large model extracts entities with the intent of the examination constraint;
[0042] Step 23: The AI large model converts the extracted entity information into a first set of machine-readable hard or soft constraints, and outputs the first set of machine-readable hard or soft constraints as the first constraint. .
[0043] Furthermore, the specific steps for step three are as follows:
[0044] Step 31: Receive historical exam scheduling data Analyze each scheduled exam in the past The schedule of the year ;
[0045] Step 32: Find the exam schedule in the past The schedule of the year The most common time slice The time slice with the largest proportion of calculations The number of times divided by The percentage of preference;
[0046] Step 33: Determine if the preference percentage is greater than a preset threshold. If yes, select the time slice with the highest preference percentage. This is converted into a second set of machine-readable soft constraints, which are the second set of soft constraints. .
[0047] Furthermore, the specific steps for step four are as follows:
[0048] Construct a student conflict graph based on student course selection data;
[0049] The student conflict graph is an undirected graph. ;
[0050] node Each node Corresponding to the scheduled exam ;
[0051] side If and only if two exams and Sharing at least one candidate (i.e.) When ), and Establish an edge between them ;
[0052] edge weight For each edge Assign weights That is, the number of students sharing the same space;
[0053] Node weight For each node Calculate the degree of conflict Node weight can be defined as the number of edges a node is connected to, or the sum of the weights of all edges connected to the node.
[0054] Furthermore, step five involves the following specific steps:
[0055] Step 51: Merge the second constraint First constraint and the preset constraint matrix To form comprehensive constraints ;
[0056] Step 52: Based on the degree of conflict and the number of applicants The exams to be scheduled are calculated according to the predetermined sorting rules. Priority coefficient ;
[0057] Step 53: All priority coefficients Sort in descending order to generate an ordered queue;
[0058] Step 54: Select the exam to be scheduled at the head of the queue. ;
[0059] Step 55: Select one available time slice from the available exam time set T. ;
[0060] Step 56: Check the scheduled exams All registered students Determine all registered students Within available time If no one has been assigned an exam, proceed to step 58 if the result is yes, and proceed to step 57 if the result is no.
[0061] Step 57: Select another available time slice from the available exam time set T. Then proceed to step 56;
[0062] Step 58: Check the examination room resources and determine whether the examination room resources meet the requirements. If the determination is yes, confirm the examination room resources and then proceed to step 59. If the determination is no, proceed to step 57.
[0063] Step 59: Check the invigilation resources, determine the number of invigilators needed based on the required number of invigilators, and determine the available time slots. If the number of available invigilators is greater than or equal to the number of invigilators required, proceed to step 510 if the condition is met; otherwise, proceed to step 57.
[0064] Step 510: Available Time Slices Invigilators who meet the required number of invigilators are selected from the available invigilators, and then the schedule of exams is determined. Available time slices Does the combination of examination resources and test center resources meet the comprehensive constraints? If the determination is yes, the exam will be postponed. Available time slices Update the status of the examination room resources to occupied, then proceed to step 54. If the result is negative, proceed to step 57.
[0065] Furthermore, the specific steps in step 58 are as follows:
[0066] Step 581: Determine the number of applicants Is it greater than the set of available exam rooms? The maximum capacity of a single examination room is determined. If the determination is yes, proceed to step 582; if the determination is no, proceed to step 583.
[0067] Step 582: Gather at an available examination room Multiple examination rooms are selected and their capacities are summed until the sum is greater than or equal to the number of registered candidates. The sum is greater than or equal to the number of registered participants. Multiple exam room combinations meet the needs of the scheduled exams For examination groups with the required number of participants, proceed to step 59.
[0068] Step 583: Determine the number of applicants Is it less than the set of available exam rooms? If the minimum capacity of a single examination room is determined, proceed to step 585; otherwise, proceed to step 584.
[0069] Step 584: Gather at an available examination room The internal search function checks if the examination room capacity is greater than or equal to the number of registered candidates. Choose an examination room whose capacity is closest to the number of applicants. The examination room is for candidates who are eligible to take the exam. For examination rooms with the required number of participants, proceed to step 59.
[0070] Step 585: Use each available time slice Based on the remaining capacity of the already scheduled examination rooms, determine the available time slots. Are the remaining capacity of the exam rooms that have already been assigned greater than or equal to the number of registered candidates? If the determination is yes, then the remaining capacity of the examination room should be greater than or equal to the number of registered candidates. The examination room is for candidates who are eligible to take the exam. If the number of examinees is required, proceed to step 59. If the result is negative, proceed to step 57.
[0071] Furthermore, the specific steps for step 6 are as follows:
[0072] Step 61: Receive the scheduling plan, define the current optimal solution and the historical optimal solution for the scheduling plan, calculate the cost value of the scheduling plan through the objective function value, define the current cost value and the historical optimal cost value, and clear the taboo table;
[0073] Step 62: The scheduling scheme performs neighborhood operations sequentially to generate a new scheduling scheme, using comprehensive constraints. The hard constraints are used to perform hard constraint verification on the new scheduling scheme; all neighborhood operations that pass the hard constraint verification and the new scheduling scheme they generate are retained, while neighborhood operations that fail the hard constraint verification are discarded.
[0074] Step 63: Using the objective function, determine one by one whether the cost value of each new scheduling plan is less than the historical best cost value. If the determination is yes, proceed to step 64; if the determination is no, proceed to step 65.
[0075] Step 64: Count all new scheduling schemes whose cost value is less than the historical best cost value. Select the scheduling scheme with the lowest cost value and update its cost value to the current cost value. Update the scheduling scheme with the lowest cost value in the effective candidate set to the historical best solution and the current best solution. Update the inverse operation of the neighborhood operation of the scheduling scheme with the lowest cost value to the tabu list. If the tabu list is full, remove the earliest added inverse operation and then execute step 68.
[0076] Step 65: Determine whether the inverse operation of the neighborhood operation of the new selection scheme is in the tabu list. If it is, mark the neighborhood operation of the new selection scheme as tabu. If it is not, form a regular candidate set and then execute step 66.
[0077] Step 66: Update the candidate with the lowest cost value in the regular candidate set to the current optimal solution, update the cost value of the candidate with the lowest cost value to the current cost value, and update the updated current optimal solution to the historical optimal solution if the updated current optimal solution is less than the historical optimal solution. Otherwise, keep the historical optimal solution unchanged, update the tabu list with the inverse operation of the neighborhood operation of the candidate with the lowest cost value. If the tabu list is full, remove the earliest added inverse operation and then execute step 68.
[0078] Step 68: Determine whether the total number of iterations completed has reached or exceeded the preset maximum number of iterations, or whether there have been K consecutive iterations since the last update of the current optimal solution and the current optimal solution has not been improved. If the determination is yes, output the historical optimal solution; if the determination is no, repeat step 62.
[0079] Compared with existing technologies, the advantages of this invention are as follows: By introducing large AI models and historical data mining, this application greatly simplifies the input process of complex constraints and makes the exam scheduling results more in line with actual needs and historical habits; by constructing a student conflict graph and adopting the "most difficult first" strategy, it greatly improves the success rate and efficiency of generating initial feasible solutions; through a collaborative decision-making mechanism of multi-dimensional resources, it effectively handles the complex problems of exam room splitting / merging and invigilator matching; through a hybrid optimization framework, it significantly improves the overall quality of the exam scheduling scheme while ensuring 100% satisfaction of hard constraints, and has high robustness and scalability. Attached Figure Description
[0080] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0081] Figure 1This is a flowchart of the present invention. Detailed Implementation
[0082] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.
[0083] Example 1: In some embodiments, an intelligent exam scheduling system based on multi-stage hybrid optimization includes:
[0084] Data loading module: used to acquire data on exams to be scheduled, student course selection data, exam room resource data, invigilator resource data, historical exam scheduling data, and unstructured text;
[0085] Unstructured text, such as "Efficient Calculus," must be taught on Friday afternoon of the first week and must be in Building A.
[0086] AI Constraint Parsing Module: Used to parse unstructured text using a large AI model and convert it into machine-readable first constraints;
[0087] Historical pattern mining module: used to analyze historical exam scheduling data, mine the time arrangement characteristics of specific exams, and convert them into machine-readable second constraints;
[0088] Conflict graph construction module: Used to construct a student conflict graph based on student course selection data;
[0089] Heuristic construction module: used to calculate the conflict degree of each exam to be scheduled based on the student conflict graph, and combined with the exam size of the exams to be scheduled, determine the allocation priority of each exam according to the predetermined sorting rules, and sort the exams to be scheduled to generate the queue to be scheduled.
[0090] Iterative allocation module: Used to iteratively allocate resources to each exam in the queue according to its order;
[0091] Local search optimization module: After the iterative allocation module is executed, it performs local search optimization on the allocation of resources for the exam to be scheduled, with the goal of minimizing the penalty value of one or more soft constraints.
[0092] It also includes a conflict backtracking module to handle exams that failed to be assigned in the iterative assignment module, ensuring the completeness of the solution through forced insertion and chain rearrangement.
[0093] Please refer to the accompanying drawings in the instruction manual. Figure 1A regulatory approach, comprising the following steps:
[0094] Step 1: Obtain pending exam data, student course selection data, exam room resource data, invigilator resource data, historical exam scheduling data, and unstructured text;
[0095] Step 2: AI Constraint Parsing: Use a large AI model to parse unstructured text and convert it into machine-readable first constraints;
[0096] Step 3: Historical Pattern Mining Step: This step analyzes historical exam scheduling data, mines the time arrangement characteristics of specific exams, and converts them into machine-readable second constraints.
[0097] Step 4: Based on student course selection data, construct a student conflict graph. The nodes in the student conflict graph are exams, and the edges between nodes indicate that there are students sharing exams to be scheduled.
[0098] Step 5: Iterative Allocation: Merge the first and second constraints with the preset constraint matrix into a comprehensive constraint; based on the node weights (conflict degree) of the student conflict graph and the examination scale of the examination data (such as the number of applicants), sort the examinations to be scheduled in descending order according to the predetermined sorting rules. Under the condition of satisfying the available time slices, student conflict requirements, examination room resource requirements, monitoring resource requirements and comprehensive constraints, determine the examination scheduling scheme one by one according to the sorting. If an examination to be scheduled is still not assigned after traversing all available time slices, add it to a list to be reordered.
[0099] Preset constraint matrix: Constraints are preset based on the requirements of exam time, invigilators, and exam room. The constraints in the preset constraint matrix are divided into hard constraints and soft constraints.
[0100] The hard constraints are absolute conditions that the scheduling plan must meet 100% of;
[0101] For example
[0102] Conflict-free constraints for students:
[0103] Description: No student may take two or more exams at the same time.
[0104] Technical Implementation: This constraint is ensured through a "conflict graph construction module." The system constructs a student conflict graph based on student course selection data, and two exams with edges in the graph (i.e., related students) are absolutely not allowed to be scheduled in the same time slice.
[0105] Resource uniqueness constraint:
[0106] Exclusivity of examination rooms: Within the same time slot, an examination room can only be allocated to one examination.
[0107] Exclusivity of invigilators: At any given time, an invigilator can only be assigned to one examination room to perform invigilation duties.
[0108] Resource capacity constraints:
[0109] Exam room capacity: The total capacity of exam rooms allocated to an exam (single exam room or combination of multiple exam rooms) must be greater than or equal to the number of registered candidates for that exam.
[0110] Number of invigilators: The number of invigilators assigned to an exam must meet the pre-defined rules (such as the formula in the document: Number of invigilators = Number of applicants / 30, rounded up).
[0111] Soft constraints: Optimization objectives that are expected to be met, but are allowed to be violated at a certain cost;
[0112] Detailed description of soft constraints
[0113] Time preference constraints:
[0114] Source: Primarily generated by the "Historical Pattern Mining Module". For example, if the analysis reveals that "a certain public course has been scheduled for the first Monday of the past 5 years in 4 years", the system will generate a soft constraint that hopes the exam will continue to be scheduled at this time.
[0115] Violation penalty: If the preferred time is not scheduled, a penalty value is calculated based on the degree of deviation (e.g., preference percentage).
[0116] Time interval constraints:
[0117] Description: We want to avoid having the same student take multiple exams consecutively, meaning we expect to have sufficient time between two exams that conflict with each other.
[0118] Penalty for violation: If a student takes two exams with too short an interval (such as back-to-back), a penalty value will be generated.
[0119] Resource utilization and load balancing constraints:
[0120] Exam room utilization: We hope that the exam rooms will be filled as much as possible to avoid wasting resources.
[0121] Balanced invigilation workload: It is hoped that the number of invigilations by invigilators will be as even as possible to avoid some teachers having too heavy a workload.
[0122] Step Six: Local Search Optimization: To minimize the penalty value of one or more soft constraints within the comprehensive constraints, perform local search optimization on the allocation of resources for the exams to be scheduled.
[0123] Step 7: Conflict Backtracking: Check if the "List of Examinations to be Rescheduled" is empty. If it is not empty, start the conflict backtracking mechanism, force insert the examinations to be scheduled in the list, and reschedule the examinations that conflict with the forced-inserted examinations until all examinations to be scheduled have been arranged.
[0124] Data set of pending exams , Includes a list of registered students and the number of applicants ;
[0125] All students gathered ;
[0126] , Includes capacity and type;
[0127] Types include regular classrooms and computer labs;
[0128] Available invigilators , Includes unavailable time ;
[0129] Available exam time set T ;
[0130] Historical test scheduling data ;
[0131] Unstructured text ;
[0132] Preset constraint matrix ;
[0133] Step two involves the following steps:
[0134] Step 21: AI large model recognizes unstructured text The intention behind the scheduling and constraint of exams;
[0135] Step 22: The AI large model extracts entities with the intent of the examination constraint;
[0136] Step 23: The AI large model converts the extracted entity information into a first set of machine-readable hard or soft constraints, and outputs the first set of machine-readable hard or soft constraints as the first constraint. ;
[0137] Large-scale AI models utilize large-scale language models.
[0138] Step three involves the following steps:
[0139] Step 31: Receive historical exam scheduling data Analyze each scheduled exam in the past The schedule of the year ;
[0140] Step 32: Find the exam schedule in the past The schedule of the year The most common time slice The time slice with the largest proportion of calculations The number of times divided by The percentage of preference;
[0141] Step 33: Determine if the preference percentage is greater than a preset threshold. If yes, select the time slice with the highest preference percentage. This is converted into a second set of machine-readable soft constraints, which are the second set of soft constraints. ;
[0142] ≥3;
[0143] Preset threshold 80%;
[0144] The specific steps for step four are as follows:
[0145] Construct a student conflict graph based on student course selection data;
[0146] The student conflict graph is an undirected graph. ;
[0147] node Each node Corresponding to the scheduled exam ;
[0148] side If and only if two exams and Sharing at least one candidate (i.e.) When ), and Establish an edge between them ;
[0149] edge weight For each edge Assign weights That is, the number of students sharing the same space;
[0150] Node weight For each node Calculate the degree of conflict Node weight can be defined as the number of edges a node is connected to or the sum of the weights of all connected edges (total number of collisions).
[0151] Conflict level For nodes The sum of the number of sides, such as the sum of subjects or the number of people;
[0152] Step five involves the following steps:
[0153] Step 51: Merge the second constraint First constraint and the preset constraint matrix To form comprehensive constraints ;
[0154] Step 52: Based on the degree of conflict and the number of applicants The exams to be scheduled are calculated according to the predetermined sorting rules. Priority coefficient ;
[0155] Step 53: All priority coefficients Sort in descending order to generate an ordered queue;
[0156] Step 54: Select the exam to be scheduled at the head of the queue. ;
[0157] Step 55: Select one available time slice from the available exam time set T. ;
[0158] Step 56: Check the scheduled exams All registered students Determine all registered students Within available time If no one has been assigned an exam, proceed to step 58 if the result is yes, and proceed to step 57 if the result is no.
[0159] Step 57: Select another available time slice from the available exam time set T. Then proceed to step 56;
[0160] Step 58: Check the examination room resources and determine whether the examination room resources meet the requirements. If the determination is yes, confirm the examination room resources and then proceed to step 59. If the determination is no, proceed to step 57.
[0161] Step 59: Check the invigilation resources, determine the number of invigilators needed based on the required number of invigilators, and determine the available time slots. If the number of available invigilators is greater than or equal to the number of invigilators required, proceed to step 510 if the condition is met; otherwise, proceed to step 57.
[0162] Step 510: Available Time Slices Invigilators who meet the required number of invigilators are selected from the available invigilators, and then the schedule of exams is determined. Available time slices Does the combination of examination resources and test center resources meet the comprehensive constraints? If the determination is yes, the exam will be postponed. Available time slices Update the status of the examination room resources to occupied, then proceed to step 54. If the result is negative, proceed to step 57.
[0163] The specific steps for step 58 are as follows:
[0164] Step 581: Determine the number of applicants Is it greater than the set of available examination rooms? The maximum capacity of a single examination room is determined. If the determination is yes, proceed to step 582; if the determination is no, proceed to step 583.
[0165] Step 582: Gather at an available examination room Multiple examination rooms are selected and their capacities are summed until the sum is greater than or equal to the number of registered candidates. The sum is greater than or equal to the number of registered participants. Multiple exam room combinations meet the needs of the scheduled exams For examination groups with the required number of participants, proceed to step 59.
[0166] Step 583: Determine the number of applicants Is it less than the set of available exam rooms? If the minimum capacity of a single examination room is determined, proceed to step 585; otherwise, proceed to step 584.
[0167] Step 584: Gather at an available examination room The internal search function determines whether the examination room capacity is greater than or equal to the number of registered candidates. Choose an examination room whose capacity is closest to the number of applicants. The examination room is for candidates who are waiting for their exams. For examination rooms with the required number of participants, proceed to step 59.
[0168] Step 585: Use each available time slice Based on the remaining capacity of the already scheduled examination rooms, determine the available time slots. Are the remaining capacity of the exam rooms that have already been assigned greater than or equal to the number of registered candidates? If the determination is yes, then the remaining capacity of the examination room should be greater than or equal to the number of registered candidates. The examination room is for candidates who are eligible to take the exam. If the number of examinees is required, proceed to step 59. If the result is negative, proceed to step 57.
[0169] The pre-defined sorting rules are as follows:
[0170]
[0171] Number of invigilators The calculation is as follows:
[0172]
[0173] The local search optimization process employs a tabu search algorithm, which iteratively searches for a better solution by defining neighborhood operations, tabu lists, and special rules.
[0174] The specific steps for step 6 are as follows:
[0175] Step 61: Receive the scheduling plan, define the current optimal solution and the historical optimal solution for the scheduling plan, calculate the cost value of the scheduling plan through the objective function value, define the current cost value and the historical optimal cost value, and clear the taboo table;
[0176] Step 62: The scheduling scheme performs neighborhood operations sequentially to generate a new scheduling scheme, using comprehensive constraints. The hard constraints are used to perform hard constraint verification on the new scheduling scheme; all neighborhood operations that pass the hard constraint verification and the new scheduling scheme they generate are retained, while neighborhood operations that fail the hard constraint verification are discarded.
[0177] Step 63: Using the objective function, determine one by one whether the cost value of each new scheduling plan is less than the historical best cost value. If the determination is yes, proceed to step 64; if the determination is no, proceed to step 65.
[0178] Step 64: Count all new scheduling schemes whose cost value is less than the historical best cost value. Select the scheduling scheme with the lowest cost value and update its cost value to the current cost value. Update the scheduling scheme with the lowest cost value in the effective candidate set to the historical best solution and the current best solution. Update the inverse operation of the neighborhood operation of the scheduling scheme with the lowest cost value to the tabu list. If the tabu list is full, remove the earliest added inverse operation and then execute step 68.
[0179] Step 65: Determine whether the inverse operation of the neighborhood operation of the new selection scheme is in the taboo list. If the determination is yes, mark the neighborhood operation of the new selection scheme as taboo. If the determination is no, form a regular candidate set and then execute step 66.
[0180] Step 66: Update the candidate with the lowest cost value in the regular candidate set to the current optimal solution, update the cost value of the candidate with the lowest cost value to the current cost value, and update the updated current optimal solution to the historical optimal solution if the updated current optimal solution is less than the historical optimal solution. Otherwise, keep the historical optimal solution unchanged, update the tabu list with the inverse operation of the neighborhood operation of the candidate with the lowest cost value. If the tabu list is full, remove the earliest added inverse operation and then execute step 68.
[0181] Step 68: Determine whether the total number of iterations completed has reached or exceeded the preset maximum number of iterations, or whether there have been K consecutive iterations since the last update of the current optimal solution and the current optimal solution has not been improved. If the determination is yes, output the historical optimal solution. If the determination is no, repeat step 62.
[0182] K≥8;
[0183] objective function
[0184]
[0185] For comprehensive constraints The set of soft constraints;
[0186] Comprehensive constraints Soft constraints The weights;
[0187] For comprehensive constraints Soft constraints The degree of violation;
[0188] The specific categories of neighborhood operations are as follows:
[0189] Time slice neighborhood operation: Move the scheduled exam from the time slice Move to time slice ;
[0190] Neighborhood operation for scheduled exams: Swap scheduled exams and ;
[0191] Exam Room Neighborhood Operation: Within the same time slot, move the scheduled exams from the exam room. move ;
[0192] Invigilator's neighboring operations: in time slice The exams to be scheduled Invigilators replace ;
[0193] Step seven is performed as follows:
[0194] Step 71: Select one exam to be scheduled from the list to be rearranged;
[0195] Step 72: Select a "lowest cost" time slot and place the scheduled exams into that time slot;
[0196] The "lowest cost" time slice is one that causes the fewest hard student conflicts while meeting the hard constraints of the scheduled exam itself.
[0197] Step 73: Remove scheduled exams that conflict with students in the waiting exam queue, forming a new "waiting queue";
[0198] Step 74: Use a depth-first search method to recursively find new scheduling schemes for the exams in the "queue".
[0199] The depth of the deep optimization search method is three layers.
[0200] By introducing large AI models and historical data mining, the input process for complex constraints is greatly simplified, and the exam scheduling results are made more in line with actual needs and historical habits. By constructing a student conflict graph and adopting a "most difficult first" strategy, the success rate and efficiency of generating initial feasible solutions are greatly improved. Through a collaborative decision-making mechanism of multi-dimensional resources, the complex problems of exam room splitting / merging and invigilator matching are effectively handled. Through a hybrid optimization framework, the overall quality of the exam scheduling scheme is significantly improved while ensuring 100% satisfaction of hard constraints, and it has high robustness and scalability.
[0201] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions will not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. An intelligent exam scheduling system based on multi-stage hybrid optimization, characterized in that: include: Data loading module: used to acquire data on exams to be scheduled, student course selection data, exam room resource data, invigilator resource data, historical exam scheduling data, and unstructured text; AI Constraint Parsing Module: Used to parse unstructured text using a large AI model and convert it into machine-readable first constraints; Historical pattern mining module: used to analyze historical exam scheduling data, mine the time arrangement characteristics of specific exams, and convert them into machine-readable second constraints; Conflict graph construction module: Used to construct a student conflict graph based on student course selection data; Heuristic construction module: used to calculate the conflict degree of each exam to be scheduled based on the student conflict graph, and combined with the exam size of the exams to be scheduled, determine the allocation priority of each exam according to the predetermined sorting rules, and sort the exams to be scheduled to generate the queue to be scheduled. Iterative allocation module: Used to iteratively allocate resources to each exam in the queue according to its order; Local search optimization module: After the iterative allocation module is executed, it performs local search optimization on the allocation of resources for the exam to be scheduled, with the goal of minimizing the penalty value of one or more soft constraints.
2. The intelligent exam scheduling system based on multi-stage hybrid optimization according to claim 1, characterized in that, It also includes a conflict backtracking module to handle exams that failed to be assigned in the iterative assignment module, ensuring the completeness of the solution through forced insertion and chain rearrangement.
3. A scheduling method, utilizing the intelligent scheduling system based on multi-stage hybrid optimization as described in claim 1, characterized in that, Includes the following steps: Step 1: Obtain pending exam data, student course selection data, exam room resource data, invigilator resource data, historical exam scheduling data, and unstructured text; Step 2: AI Constraint Parsing: Use a large AI model to parse unstructured text and convert it into machine-readable first constraints; Step 3: Historical Pattern Mining Step: This step analyzes historical exam scheduling data, mines the time arrangement characteristics of specific exams, and converts them into machine-readable second constraints. Step 4: Based on student course selection data, construct a student conflict graph. The nodes in the student conflict graph are exams, and the edges between nodes indicate that there are students sharing exams to be scheduled. Step 5: Iterative Allocation: Merge the first and second constraints with the preset constraint matrix into a comprehensive constraint; based on the node weights of the student conflict graph and the examination scale of the examination data, sort the examinations to be scheduled in descending order according to the predetermined sorting rules, and determine the examination scheduling scheme one by one according to the order while satisfying the available time slices, student conflict requirements, examination room resource requirements, monitoring resource requirements and comprehensive constraints. If an examination to be scheduled is still not assigned after traversing all available time slices, add it to a list to be reordered. Step Six: Local Search Optimization: To minimize the penalty value of one or more soft constraints within the comprehensive constraints, perform local search optimization on the allocation of resources for the exams to be scheduled. Step 7: Conflict Backtracking: Check if the "List of Examinations to be Rescheduled" is empty. If it is not empty, start the conflict backtracking mechanism, force insert the examinations to be scheduled in the list, and reschedule the examinations that conflict with the forced-inserted examinations until all examinations to be scheduled have been arranged.
4. The exam scheduling method according to claim 3, characterized in that, Data set of pending exams , Includes a list of registered students and the number of applicants ; All students gathered ; , Includes capacity and type; Types include regular classrooms and computer labs; Available invigilators , Includes unavailable time ; Available exam time set T ; Historical test scheduling data ; Unstructured text ; Preset constraint matrix .
5. The exam scheduling method according to claim 4, characterized in that, Step two is performed as follows: Step 21: AI large model recognizes unstructured text The intention behind the scheduling and constraint of exams; Step 22: The AI large model extracts entities with the intent of the examination constraint; Step 23: The AI large model converts the extracted entity information into a first set of machine-readable hard or soft constraints, and outputs the first set of machine-readable hard or soft constraints as the first constraint. .
6. The exam scheduling method according to claim 5, characterized in that, Step three involves the following steps: Step 31: Receive historical exam scheduling data Analyze each scheduled exam in the past The schedule of the year ; Step 32: Find the exam schedule in the past The schedule of the year The most common time slice The time slice with the largest proportion of calculations The number of times divided by The percentage of preference; Step 33: Determine if the preference percentage is greater than a preset threshold. If yes, select the time slice with the highest preference percentage. This is converted into a second set of machine-readable soft constraints, which are the second set of soft constraints. .
7. The exam scheduling method according to claim 6, characterized in that, The specific steps for step four are as follows: Construct a student conflict graph based on student course selection data; The student conflict graph is an undirected graph. ; node Each node Corresponding to the scheduled exam ; side If and only if two exams and Sharing at least one candidate (i.e.) When ), and Establish an edge between them ; edge weight For each edge Assign weights That is, the number of students sharing the same space; Node weight For each node Calculate the degree of conflict Node weight can be defined as the number of edges a node is connected to, or the sum of the weights of all edges connected to the node.
8. The exam scheduling method according to claim 7, characterized in that, Step five involves the following steps: Step 51: Merge the second constraint First constraint and the preset constraint matrix To form comprehensive constraints ; Step 52: Based on the degree of conflict and the number of applicants The exams to be scheduled are calculated according to the predetermined sorting rules. Priority coefficient ; Step 53: All priority coefficients Sort in descending order to generate an ordered queue; Step 54: Select the exam to be scheduled at the head of the queue. ; Step 55: Select one available time slice from the available exam time set T. ; Step 56: Check the scheduled exams All registered students Determine all registered students Within available time If no one has been assigned an exam, proceed to step 58 if the result is yes, and proceed to step 57 if the result is no. Step 57: Select another available time slice from the available exam time set T. Then proceed to step 56; Step 58: Check the examination room resources and determine whether the examination room resources meet the requirements. If the determination is yes, confirm the examination room resources and then proceed to step 59. If the determination is no, proceed to step 57. Step 59: Check the invigilation resources, determine the number of invigilators needed based on the required number of invigilators, and determine the available time slots. If the number of available invigilators is greater than or equal to the number of invigilators required, proceed to step 510 if the condition is met; otherwise, proceed to step 57. Step 510: Available Time Slices Invigilators who meet the required number of invigilators are selected from the available invigilators, and then the schedule of exams is determined. Available time slices Does the combination of examination resources and test center resources meet the comprehensive constraints? If the determination is yes, the exam will be postponed. Available time slices Update the status of the examination room resources to occupied, then proceed to step 54. If the result is negative, proceed to step 57.
9. The exam scheduling method according to claim 8, characterized in that, The specific steps for step 58 are as follows: Step 581: Determine the number of applicants Is it greater than the set of available exam rooms? The maximum capacity of a single examination room is determined. If the determination is yes, proceed to step 582; if the determination is no, proceed to step 583. Step 582: Gather at an available examination room Multiple examination rooms are selected and their capacities are summed until the sum is greater than or equal to the number of registered candidates. The sum is greater than or equal to the number of registered participants. Multiple exam room combinations meet the needs of the scheduled exams For examination groups with the required number of participants, proceed to step 59. Step 583: Determine the number of applicants Is it less than the set of available exam rooms? If the minimum capacity of a single examination room is determined, proceed to step 585; otherwise, proceed to step 584. Step 584: Gather at an available examination room The internal search function checks if the examination room capacity is greater than or equal to the number of registered candidates. Choose an examination room whose capacity is closest to the number of applicants. The examination room is for candidates who are eligible to take the exam. For examination rooms with the required number of participants, proceed to step 59. Step 585: Use each available time slice Based on the remaining capacity of the already scheduled examination rooms, determine the available time slots. Are the remaining capacity of the exam rooms that have already been assigned greater than or equal to the number of registered candidates? If the determination is yes, then the remaining capacity of the examination room should be greater than or equal to the number of registered candidates. The examination room is for candidates who are eligible to take the exam. If the number of examinees is required, proceed to step 59. If the result is negative, proceed to step 57.
10. The exam scheduling method according to claim 9, characterized in that, The specific steps for step 6 are as follows: Step 61: Receive the scheduling plan, define the current optimal solution and the historical optimal solution of the scheduling plan, calculate the cost value of the scheduling plan through the objective function value, define the current cost value and the historical optimal cost value, and clear the taboo table; Step 62: The scheduling scheme performs neighborhood operations sequentially to generate a new scheduling scheme, using comprehensive constraints. The hard constraints are used to perform hard constraint verification on the new scheduling scheme; all neighborhood operations that pass the hard constraint verification and the new scheduling scheme they generate are retained, while neighborhood operations that fail the hard constraint verification are discarded. Step 63: Using the objective function, determine one by one whether the cost value of each new scheduling plan is less than the historical best cost value. If the determination is yes, proceed to step 64; if the determination is no, proceed to step 65. Step 64: Count all new scheduling schemes whose cost value is less than the historical best cost value. Select the scheduling scheme with the lowest cost value and update its cost value to the current cost value. Update the scheduling scheme with the lowest cost value in the effective candidate set to the historical best solution and the current best solution. Update the inverse operation of the neighborhood operation of the scheduling scheme with the lowest cost value to the tabu list. If the tabu list is full, remove the earliest added inverse operation and then execute step 68. Step 65: Determine whether the inverse operation of the neighborhood operation of the new selection scheme is in the tabu list. If it is, mark the neighborhood operation of the new selection scheme as tabu. If it is not, form a regular candidate set and then execute step 66. Step 66: Update the candidate with the lowest cost value in the regular candidate set to the current optimal solution, update the cost value of the candidate with the lowest cost value to the current cost value, and update the updated current optimal solution to the historical optimal solution if the updated current optimal solution is less than the historical optimal solution. Otherwise, keep the historical optimal solution unchanged, update the tabu list with the inverse operation of the neighborhood operation of the candidate with the lowest cost value. If the tabu list is full, remove the earliest added inverse operation and then execute step 68. Step 68: Determine whether the total number of iterations completed has reached or exceeded the preset maximum number of iterations, or whether there have been K consecutive iterations since the last update of the current optimal solution and the current optimal solution has not been improved. If the determination is yes, output the historical optimal solution; if the determination is no, repeat step 62.