Schedule generation apparatus, schedule generation method, and schedule generation program
The schedule generation device optimizes instructor-student matches using a two-stage process, reducing computational load and ensuring time and subject compatibility, thus efficiently creating schedules in tutoring schools.
Patent Information
- Application Number
- JP2024047210
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-22
- Publication Date
- 2025-10-03
AI Technical Summary
Existing systems for generating schedules in private tutoring schools face challenges in matching all students due to high computational load and calculation time when using optimization algorithms, considering instructor and student availability and subject preferences.
A schedule generation device that optimizes combinations of instructors and students using a two-stage optimization process: a first optimization unit matches based on time and subject compatibility, followed by a second optimization unit enhancing compatibility based on predefined student preferences.
Reduces computational load and efficiently generates schedules that meet both time and subject compatibility criteria, allowing for easy and efficient schedule creation.
Smart Images

Figure 2025146443000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a schedule generating device, a schedule generating method, and a schedule generating program. [Background technology]
[0002] In private tutoring schools where one instructor teaches multiple students, it is desirable to create study timetables using a computer. For example, Japanese Patent Application Laid-Open No. 2009-9120 describes a matching system in which a server assigns students to the timetable in order of priority, and if a student is already assigned to a specific day, the server matches the student to be assigned to a pair on a day and time slot available for the student. Students who could not be matched are displayed on the display as unconfirmed slots, and if the input unit is used to move a student with an unconfirmed slot to an undesired day or time slot, a matching error is displayed.
[0003] However, the above-mentioned matching system may not be able to match all students. On the other hand, it is possible to match all students by using an optimization algorithm. However, when using an optimization algorithm, parameters that must be considered when creating a timetable that matches instructors with students include the instructor's available work days and times, the student's available time to come to the school, the subjects that the instructor can teach, and the subjects that the student wishes to take. Therefore, when creating a course timetable by computer using an optimization algorithm, the amount of calculation required is large, resulting in a problem of enormous calculation time. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-9120 Summary of the Invention [Problem to be solved by the invention]
[0005] An object of the present invention is to provide a schedule generation device that can easily generate a schedule while reducing the load.
[0006] Another object of the present invention is to provide a schedule generation method that can easily generate a schedule while reducing the load.
[0007] It is still another object of the present invention to provide a schedule generation program that can easily generate a schedule while reducing the load. [Means for solving the problem]
[0008] According to one aspect of the present invention, a schedule generation device generates a schedule that defines combinations of a first type of multiple first objects and a second type of multiple second objects, and includes a first optimization unit that optimizes multiple first sets consisting of combinations of first objects and second objects in accordance with a first condition based on a first element of each of the multiple first objects and a first element of each of the multiple second objects, and a second optimization unit that optimizes the multiple first sets in accordance with a second condition based on a second element that is different from the first element of each of the multiple second objects.
[0009] According to another aspect of the present invention, a schedule generation method is a schedule generation method executed by a schedule generation device that generates a schedule defining combinations of a first type of multiple first objects and a second type of multiple second objects, and includes a first optimization step of optimizing, in accordance with a first condition, multiple first sets consisting of combinations of first objects and second objects based on a first element of each of the multiple first objects and a first element of each of the multiple second objects, and a second optimization step of optimizing, in accordance with a second condition, the multiple first sets based on a second element different from the first element of each of the multiple second objects.
[0010] According to yet another aspect of the present invention, a schedule generation program is a schedule generation program executed by a computer that generates a schedule that defines combinations of a first type of multiple first objects and a second type of multiple second objects, and causes the computer to execute a first optimization step of optimizing multiple first sets consisting of combinations of first objects and second objects in accordance with a first condition based on a first element of each of the multiple first objects and a first element of each of the multiple second objects, and a second optimization step of optimizing the multiple first sets in accordance with a second condition based on a second element that is different from the first element of each of the multiple second objects. [Brief explanation of the drawings]
[0011] [Figure 1] 1 is a block diagram showing an example of a hardware configuration of a schedule generation device according to an embodiment of the present invention. [Figure 2] FIG. 10 is a diagram illustrating an example of a format of instructor time zone information. [Figure 3] FIG. 10 is a diagram showing an example of subject information. [Figure 4] FIG. 10 is a diagram illustrating an example of a format of student time period information. [Figure 5] FIG. 10 is a diagram showing an example of course information. [Figure 6] FIG. 10 is a diagram illustrating an example of compatibility information. [Figure 7] FIG. 2 is a block diagram showing an example of functions of a CPU included in the schedule generation device. [Figure 8] FIG. 10 is a diagram showing an example of a plurality of first sets. [Figure 9] FIG. 10 is a diagram showing an example of swapping two first sets. [Figure 10] 10 is a flowchart illustrating an example of the flow of a schedule generation process. [Figure 11] 10 is a flowchart showing an example of the flow of a first optimization process. [Figure 12] 10 is a flowchart showing an example of the flow of a first replacement process. [Figure 13]10 is a flowchart showing an example of the flow of a second replacement process. DETAILED DESCRIPTION OF THE INVENTION
[0012] A schedule generation device according to an embodiment of the present invention will be described below with reference to the drawings. In the following description, identical components are designated by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.
[0013] Fig. 1 is a block diagram showing an example of the hardware configuration of a schedule generation device according to this embodiment. Referring to Fig. 1, schedule generation device 100 is a computer that performs arithmetic processing. Schedule generation device 100 includes a central processing unit (CPU) 101 for controlling the entire schedule generation device 100, a ROM (Read Only Memory) 102 that stores programs to be executed by CPU 101, a RAM (Random Access Memory) 103 used as a work area for CPU 101, an HDD 104 that stores data in a non-volatile manner, a communication unit 105 that connects CPU 101 to a network, a display unit 106 that displays information, an operation unit 107 that accepts input of user operations, and an external storage device 108.
[0014] The communication unit 105 is an interface for connecting the schedule generation device 100 to a network. Therefore, the CPU 101 can communicate with a computer such as a server connected to the network via the communication unit 105. The network includes a local area network (LAN) or the Internet.
[0015] The CPU 101 downloads a program from a computer connected to the network and stores the program in the HDD 104. When a computer connected to the network writes a program to the HDD 104, the program is stored in the HDD 104. The CPU 101 loads the program stored in the HDD 104 into the RAM 103 and executes it.
[0016] A CD-ROM (Compact Disk Read Only Memory) 109 is attached to the external storage device 108. In this embodiment, an example will be described in which the CPU 101 executes a program stored in the ROM 102 or the HDD 104. The CPU 101 may control the external storage device 108 to read a program to be executed by the CPU 101 from the CD-ROM 109, store the read program in the RAM 103, and execute the program.
[0017] The recording medium for storing the program executed by CPU 101 is not limited to CD-ROM 109, but may be a flexible disk, cassette tape, optical disk, IC card, optical card, semiconductor memory, or other medium. Optical disks include MO (Magnetic Optical Disc), MD (Mini Disc), and DVD (Digital Versatile Disc). Semiconductor memory includes mask ROM and EPROM (Erasable Programmable ROM). The program here includes not only a program that can be directly executed by CPU 101, but also a source program, a compressed program, an encrypted program, and the like.
[0018] The schedule generation device 100 in this embodiment generates a schedule that defines combinations of a first type of multiple first subjects and a second type of multiple second subjects. In this embodiment, an example will be described in which the schedule generation device 100 creates a schedule consisting of combinations of lecturers and students. In this case, the first type of first subjects are lecturers who teach academic subjects, and the second type of second subjects are students studying academic subjects. A plurality of time slots during which a plurality of lectures are held are determined in advance. During each time slot, the lecturer teaches the students a subject identified by a study subject.
[0019] Each of the multiple instructors registers instructor time zone information, which specifies the time slots they are available to teach from among multiple time slots. Each of the multiple instructors also registers subject information, which specifies one or more subjects they are available to teach. Each of the multiple students also registers student time zone information, which specifies the time slots they are available to participate from among multiple time slots. Each of the multiple students also registers subject information, which specifies one or more subjects they plan to study.
[0020] The instructor time zone information and the subject information are determined by each of the multiple instructors and are stored in advance in HDD 104. The student time zone information and the subject information are determined by each of the multiple students and are stored in advance in HDD 104. The subject information and the subject information are one of the first elements that serve as conditions for matching an instructor with a student. Furthermore, the instructor time zone information and the student time zone information are one of the first elements that serve as conditions for matching an instructor with a student.
[0021] In addition, each of the students registers compatibility information that defines the compatibility with each of the instructors for each subject. The compatibility information is one of the second elements.
[0022] FIG. 2 is a diagram showing an example of the format of instructor time zone information. Referring to FIG. 2, the instructor time zone information includes a plurality of instructor time zone records. The instructor time zone record includes a field for instructor name, a field for date, and a field for time zone. The instructor name field contains information for identifying the instructor. The field for date contains the date when the instructor is available to teach. The field for time zone contains the time zone when the instructor is available to teach.
[0023] FIG. 3 is a diagram showing an example of subject information. Referring to FIG. 3, the subject information is information that defines, for each of multiple instructors, the subjects that the instructor can teach. The subject information includes multiple instructor records. The instructor record includes an instructor name field and a subject field. The subject field includes a field for each of the multiple subjects. Here, the multiple subjects are English, mathematics, earth science, social studies, physics, chemistry, and Japanese. The instructor name field is set with information for identifying the instructor. In the subject field, a circle is set in the field for subjects that the instructor can teach, and nothing is set in the field for subjects that the instructor cannot teach. For example, it is shown that an instructor with the instructor name of instructor A can teach the subjects of English, mathematics, earth science, physics, and chemistry, but cannot teach the subjects of social studies and Japanese.
[0024] FIG. 4 is a diagram showing an example of the format of student time zone information. Referring to FIG. 4, the student time zone information includes a plurality of student time zone records. The student time zone record includes a student name field, a date field, and a time zone field. The student name field contains information for identifying the student. The date field contains the date when the student is available to take the class. The time zone field contains the time zone when the student is available to take the class.
[0025] FIG. 5 is a diagram showing an example of course subject information. Referring to FIG. 5, the course subject information is information that specifies, for each of a plurality of students, the number of courses for each of the plurality of study subjects that the student plans to take during a predetermined period. The course subject information includes a plurality of student records. The student record includes a student name field and a study subject field. The study subject field includes a field for each of the plurality of study subjects. In this example, the plurality of study subjects are English, mathematics, earth science, social studies, physics, chemistry, and Japanese. Information for identifying the student is set in the student name field. The study subject field sets the number of time slots that the student is scheduled to take during a predetermined period. For example, for a student named Student A, the following number of time slots are set: 3 for English, 2 for mathematics, 2 for earth science, 2 for social studies, 1 for physics, 1 for chemistry, and 0 for Japanese.
[0026] FIG. 6 is a diagram showing an example of compatibility information. Referring to FIG. 6, the compatibility information is information that defines the compatibility between each of a plurality of students and a plurality of instructors. The compatibility information includes a plurality of student compatibility records. The student compatibility record includes a student name field and a matching target field. The matching target field includes a lecturer name field. There are as many lecturer name fields as there are lecturers. Here, the lecturer name fields include a field for lecturer A and a field for lecturer B. The lecturer name field includes fields for each of a plurality of study subjects. Here, the case is shown in which the plurality of study subjects are English, mathematics, earth science, social studies, physics, chemistry, and Japanese.
[0027] A student match record corresponds to one student. Therefore, the match information contains the same number of student match records as there are students. In the figure, some of the student match records are shown, with the student names corresponding to Student A, Student B, Student C, and Student D. The student name field contains information to identify the student. The match target field contains the match. The match is a value that qualitatively defines the compatibility between the student and the instructor for each subject. For example, the match is expressed as a number on a 10-point scale.
[0028] For example, the compatibility of a student with the name of Student A with the name of Instructor A for the study subjects is shown to be 3 for English, 3 for mathematics, 6 for earth science, 3 for physics, and 3 for chemistry. The subject information shown in Figure 3 indicates that the instructor with the name of Instructor A does not teach social studies or Japanese, so no compatibility is set.
[0029] Furthermore, the compatibility of a student with the name of Student A with the name of Instructor b for the study subjects is shown to be 9 for English, 10 for mathematics, 5 for earth science, and 4 for Japanese. The subject information shown in Figure 3 indicates that the instructor with the name of Instructor b does not teach physics and chemistry, so no compatibility is set.
[0030] Fig. 7 is a block diagram showing an example of functions of a CPU included in the schedule generation device. The functions shown in Fig. 7 are realized by CPU 101 included in schedule generation device 100 as CPU 101 executes a schedule generation program stored in ROM 102, HDD 104, or CD-ROM 109. Referring to Fig. 7, CPU 101 included in schedule generation device 100 has a first optimization unit 51, a second optimization unit 53, and a correction unit 55.
[0031] The first optimization unit 51 optimizes a plurality of first pairs of instructors and students based on a first element of each of the plurality of instructors and a first element of each of the plurality of students in accordance with a first condition. The first pair is a pair of one of the plurality of instructors and one of the plurality of students. The first elements are a time period and a subject being studied. The first condition includes at least a condition that the time period matches and a condition that the subject being taught matches the subject being taken.
[0032] The first condition may additionally include, for example, a condition for each student and a condition for each instructor. The conditions for each student include a condition that the same subject is not taught in multiple time slots in one day, a condition that multiple time slots taught in one day are consecutive, and a condition that the number of time slots selectable in one day is less than or equal to a maximum. The conditions for each instructor include a condition that the number of time slots that an instructor can teach in one day is limited to a maximum, and a condition that the number of students that an instructor can teach in one time slot is three or less. The additional first condition may include at least one of the multiple conditions, and multiple conditions may be combined.
[0033] For example, the first optimization unit 51 assigns an evaluation score to each of the plurality of first sets according to the degree to which the first condition is satisfied, and optimizes the plurality of first sets so as to increase the evaluation score. The optimization method used by the first optimization unit 51 is not limited to, but may use a genetic algorithm. A shift scheduling algorithm may be used as the genetic algorithm.
[0034] The first optimization unit 51 generates one or more first pairs of one instructor and one student for each of a plurality of time periods. The first pairs are pairs of instructors and students whose first elements, time period and subject of study, match. The first optimization unit 51 outputs the plurality of first pairs to the second optimization unit 53.
[0035] The second optimization unit 53 optimizes the multiple first pairs according to a second condition based on a second element for each of the multiple students. The second element includes, for each student, compatibility between the multiple instructors and each of the multiple learning subjects. The compatibility is predetermined information for each of the multiple students and is pre-stored in the HDD 104 as compatibility information. The second condition is a condition that increases the compatibility of each of the multiple first pairs. The second optimization unit 53 outputs the multiple first pairs optimized according to the second condition. For example, the second optimization unit 53 stores the multiple first pairs in the HDD 104. Alternatively, the second optimization unit 53 displays the multiple first pairs on the display unit 106 in a similar display state.
[0036] The second optimization unit 53 includes a first replacement unit 61 and a second replacement unit 63. The first replacement unit 61 replaces two first sets, among the plurality of first sets, that have the same plurality of first elements. Specifically, the second optimization unit 53 replaces the combinations of instructors and students. Specifically, the first replacement unit 61 replaces two first sets, among the plurality of first sets, that have the same time period information and study subjects.
[0037] Furthermore, the first replacement unit 61 may replace two first sets that have the same time period information but different study subjects among multiple first sets. In this case, after the first replacement unit 61 replaces the two first sets, the condition for replacement is that the information on the subjects taught by the instructors includes the study subject that is the first element defined in the first set.
[0038] The second replacement unit 63 replaces two first sets among the multiple first sets that have the same students but differ in at least one of the multiple first elements. For example, the second replacement unit 63 replaces two first sets among the multiple first sets that have the same students but differ in the learning subject and time period information. In this case, the second replacement unit 63 determines, after replacing the two first sets, that the learning subject, which is the first element determined in the first set, is included in the subject information of the instructor.
[0039] The second optimization unit 53 calculates the fitness for each of the multiple first sets and optimizes the multiple first sets so that the calculated fitness becomes larger. Specifically, the second optimization unit 53 calculates the fitness before and after swapping two first sets using either the first swapping unit 61 or the second swapping unit 63. The second optimization unit 53 swaps the two first sets if the fitness after the swapping is greater than the fitness before the swapping, but does not swap the two first sets if not. The second optimization unit 53 optimizes the multiple first sets by repeatedly swapping two first sets.
[0040] The correction unit 55 receives the plurality of first sets from the first optimization unit 51. The correction unit 55 generates a plurality of second sets by correcting the plurality of first sets. The correction unit 55 includes a first set display control unit 65 and a correction receiving unit 67. The first set display control unit 65 displays the plurality of first sets on the display unit 106 in a displayed state. A user managing the schedule generation device 100 can visually recognize the plurality of first sets. As a result of the optimization by the first optimization unit 51, the plurality of first sets may not satisfy the first condition. Furthermore, as a result of the optimization by the first optimization unit 51, the plurality of first sets may satisfy the first condition, but since the number of iterations (number of layers) of the optimization process is limited, the achievement level indicating the degree of optimization may not reach a predetermined value. A user managing the schedule generation device 100 can view the table of the plurality of first sets displayed on the display unit 106 and correct the plurality of first sets.
[0041] The correction receiving unit 67 receives correction instructions input by the user to the operation unit 107. The correction unit 55 corrects the multiple first sets in accordance with the correction instructions received by the correction receiving unit 67, and generates the multiple first sets after correction as multiple second sets. The correction instructions preferably require the multiple first sets to satisfy a first condition, but they do not necessarily have to satisfy the first condition. There may be cases where multiple first sets that satisfy the first condition do not exist. For example, this may occur when many students wish to study during a time period when there are few instructors available. In this case, multiple second sets that do not satisfy the first condition are generated. The correction unit 55 outputs the multiple second sets to the second optimization unit 53.
[0042] Furthermore, the modification unit 55 may modify the multiple first sets when a user managing the schedule generation device 100 instructs modification. The modification unit 55 may not modify the multiple first sets when the multiple first sets input from the first optimization unit 51 satisfy the first condition or when the degree of achievement is equal to or greater than a predetermined value. The modification unit 55 may modify the multiple first sets only when the multiple first sets input from the first optimization unit 51 do not satisfy the first condition or when the degree of achievement is smaller than a predetermined value. The modification unit 55 may modify the first sets regardless of whether the multiple first sets input from the first optimization unit 51 satisfy the first condition or whether the degree of achievement is equal to or greater than a predetermined value.
[0043] When multiple first sets are modified by the modification unit 55, the first replacement unit 61 receives multiple second sets from the modification unit 55. When multiple second sets are input, the first replacement unit 61 modifies the multiple second sets in place of the multiple first sets.
[0044] FIG. 8 is a diagram showing an example of multiple first groups. Referring to FIG. 8, eight first groups in the first period are shown. The eight first groups include three first groups including the instructor name "Instructor A," two first groups including the instructor name "Instructor B," and three first groups including the instructor name "Instructor C." The three first groups including the instructor name "Instructor A" include a first group with a student name "Student M" and a subject of mathematics, a first group with a student name "Student W" and a subject of physics, and a first group with a student name "Student F" and a subject of mathematics. The two first groups including the instructor name "Instructor B" include a first group with a student name "Student K" and a subject of English, and a first group with a student name "Student H" and a subject of mathematics. The three first sets including the instructor name instructor c include the first set with the student name student D and the subject of study physics, the first set with the student name student T and the subject of study mathematics, and the first set with the student name student B and the subject of study English.
[0045] The targets of replacement by the first replacement unit 61 are two of the eight first sets that have the same learning subject. Focusing on the learning subject of mathematics, there are four: two first sets with the instructor name "Instructor A" and the student name "Student M" and the student name "Student F," one with the instructor name "Instructor B" and the student name "Student H," and one with the instructor name "Instructor C" and the student name "Student T." Of these, two sets are targets of replacement. However, even if the two first sets with the instructor name "Instructor A" and the student name "Student M" and the student name "Student F" are swapped, the compatibility will not change because multiple first elements are the same between the two first sets. In FIG. 8, the two first sets indicated by hatching are targets of replacement.
[0046] FIG. 9 is a diagram showing an example of the interchange of two first groups. Referring to FIG. 9, eight first groups in the first period time slot and eight first groups in the third period time slot are shown. The two first groups connected by an arrow in the diagram have the same student name, Student F. This indicates that the two first groups are to be interchanged. The first group in the first period has the instructor name Instructor A, while the instructor name in the third period after the interchange will be Instructor E.
[0047] 10 is a flowchart showing an example of the flow of a schedule generation process. The schedule generation process is performed by CPU 101 included in schedule generation device 100 as CPU 101 executes a schedule generation program stored in ROM 102, HDD 104, or CD-ROM 109. Referring to FIG. 10, CPU 101 included in schedule generation device 100 acquires a first element of the instructor (step S01), and proceeds to step S02. The first element of the instructor is acquired by CPU 101 reading instructor time zone information and subject information stored in HDD 104.
[0048] In step S02, a second element of the student is acquired, and the process proceeds to step S03. The first element of the student is acquired by CPU 101 reading out student time zone information and course information stored in HDD 104.
[0049] In step S03, a first optimization process is executed, and the process proceeds to step S04. The first optimization process, which will be described in detail later, is a process of optimizing a plurality of first pairs in which the first elements of the instructor and the first elements of the students match, in accordance with a first condition.
[0050] In step S04, it is determined whether the degree of achievement as a result of executing the first optimization process is 100%. If the degree of achievement is 100%, the process proceeds to step S08; otherwise, the process proceeds to step S05. In step S05, the first set is displayed, and the process proceeds to step S06. The multiple first sets generated in step S03 are displayed on the display unit 106. This allows the administrator who manages the schedule generation device 100 to view the multiple first sets. For example, the multiple first sets are displayed in the form of a table shown in FIG. 8. In this case, the first optimization process may result in a first set that does not satisfy the first condition. This first set is displayed in a display form different from the display form of a first set that satisfies the first condition. The difference in display form may be, for example, color, font thickness, or font size.
[0051] In step S06, a correction instruction input by the administrator to the operation unit 107 is accepted. The correction instruction is an instruction to appropriately assign the first group that does not satisfy the first condition to a new first group. As a result, the first group is corrected under conditions different from the first condition. Also, even if the first condition is satisfied by the first optimization process, the achievement rate may not be 100%. In this case, the correction instruction includes an instruction from the administrator to move the first group to a different time period. As a result, the first group is corrected under conditions different from the first condition.
[0052] In step S07, a second set is generated, and the process proceeds to step S08. CPU 101 generates a plurality of second sets by modifying a plurality of first sets in accordance with the modification instruction input by the administrator.
[0053] In step S08, a second element of the student is acquired, and the process proceeds to step S09. The second element is acquired by CPU 101 reading out compatibility information stored in HDD 104. In step S09, a second optimization process is executed, and the process proceeds to step S10. Details of the second optimization process will be described later; however, if steps S05 to S07 are not executed, the process is to optimize a plurality of first sets in accordance with a second condition based on the second element. If steps S05 to S07 are executed, the process is to optimize a plurality of second sets in accordance with a second condition based on the second element. Using the compatibility information, which is the second element, the plurality of first sets or the plurality of second sets is optimized so as to increase the compatibility.
[0054] In step S10, the schedules made up of a plurality of first sets are stored in HDD 104, and the process proceeds to step S11. In step S11, the schedules made up of a plurality of first sets are displayed on display unit 106, and the process ends.
[0055] FIG. 11 is a flowchart showing an example of the flow of the first optimization process. The first optimization process is a process executed in step S03 of the schedule generation process. Referring to FIG. 11, CPU 101 generates an initial schedule, and the process proceeds to step S12. A plurality of first pairs are generated in which the first elements of the instructor and the first elements of the students match. The first elements of the instructor are instructor time zone information and taught subject information. The first elements of the students are student time zone information and taken subject information. A first pair is generated in which the time zones of the instructor time zone information and the student time zone information match, and the taught subject information and taken subject information match. The initial schedule may be any combination of students and instructors, and does not necessarily have to satisfy the first condition.
[0056] In step S12, a first condition is acquired. The first condition stored in HDD 104 is read. The first condition is determined by an administrator of schedule generation device 100 and is pre-stored in HDD 104. The first condition includes at least a condition that the time slots match and a condition that the subjects taught and the subjects taken match. The first condition may additionally include, for example, a condition for each student and a condition for each instructor. The conditions for each student include a condition that the same subject is not taught in multiple time slots in one day, a condition that multiple time slots taken in one day are consecutive, and a condition that the number of time slots selectable in one day is equal to or less than the upper limit. The conditions for each instructor include a condition that the number of time slots that an instructor can teach in one day is equal to or less than the upper limit, and a condition that the number of students that an instructor can teach in one time slot is three or less. The additional first condition includes at least one of the multiple conditions, and multiple conditions may be combined.
[0057] In step S13, the degree of achievement is evaluated, and the process proceeds to step S14. The degree of achievement of the first condition is calculated. The degree of achievement of the first condition is calculated for a plurality of first sets. If all of the first conditions are met, the degree of achievement is 100%.
[0058] In step S14, it is determined whether or not a termination condition is satisfied. If the termination condition is satisfied, the process returns to the schedule generation process; if not, the process proceeds to step S15. The termination condition includes a condition that the achievement level reaches 100% or a condition that the number of times steps S15 to S17, which will be described later, are repeated reaches an upper limit. The upper limit is a predetermined value that is set by the administrator and stored in advance in HDD 104.
[0059] In steps S15 to S17, a plurality of first sets are selected, crossed over, or mutated. As a result, the plurality of first sets generated before step S15 is executed are changed to a different plurality of first sets. The order in which the processes of steps S15 to S17 are executed is not limited to this. In addition, one or more steps may not be executed. After the processes of steps S15 to S17 are executed, the process returns to step S13.
[0060] In step S13, if the process proceeds from step S17, the achievement levels for the multiple first sets after the change are calculated. Steps S15 to S17 are repeated until the achievement level reaches 100% or the number of repetitions reaches the upper limit. This determines the multiple first sets with the highest achievement level.
[0061] 12 is a flowchart showing an example of the flow of the first replacement process. The first replacement process is part of the second optimization process executed in step S09 of the schedule generation process. With reference to FIG. 12, CPU 101 selects a time period (step S21) and proceeds to step S22. In step S21, a first pair with the lowest suitability is selected for each instructor, and the process proceeds to step S23. The same number of first pairs as the number of instructors are selected.
[0062] In step S23, the two with the lowest degree of compatibility are selected, and the process proceeds to step S24. In step S24, the sum of the degrees of compatibility of the two selected first pairs is calculated as a post-replacement evaluation value, and the process proceeds to step S25. In step S25, the sum of the degrees of compatibility of the two first pairs after the two selected first pairs are replaced is calculated as a post-replacement evaluation value.
[0063] In step S26, the post-replacement evaluation value is compared with the pre-replacement evaluation value. If the post-replacement evaluation value is greater than the pre-replacement evaluation value, the process proceeds to step S27; otherwise, step S27 is skipped and the process returns to the schedule generation process. In step S27, the two selected first pairs are swapped, and the process returns to the schedule generation process.
[0064] By executing the first swapping process, two first pairs are swapped while satisfying the first condition. Furthermore, two first pairs in the same time period have different instructors. Since two first pairs with different instructors are swapped, the compatibility between the students and the instructor changes. Therefore, by repeatedly swapping the two first pairs, multiple first pairs are optimized so that the compatibility becomes higher.
[0065] FIG. 13 is a flowchart showing an example of the flow of the second replacement process. The second replacement process is part of the second optimization process executed in step S09 of the schedule generation process. Referring to FIG. 13, the second replacement process is different from the first replacement process shown in FIG. 12 in that steps S21 and S22 are changed to steps S21A and S22A, respectively. Since the other processes are the same as those of the first replacement process, description thereof will not be repeated here. In step S21A, CPU 101 selects a student and proceeds to step S22A. In step S22A, two first sets with the lowest compatibility are selected from the number of first sets equal to the total number of learning subjects determined by the student's subject information, and the process proceeds to step S24. By executing the second replacement process, two first sets that include the student and are located in different time periods are swapped. This changes the compatibility between the student and the instructor. Therefore, by repeatedly swapping two first sets, multiple first sets are optimized to increase the compatibility. Here, two first sets in multiple time slots on the same day are swapped, but two first sets on different days may also be swapped.
[0066] The second optimization process repeats the first replacement process and the second replacement process. Furthermore, the second replacement process may be performed after the first process is performed, or the first replacement process may be performed after the second replacement process is performed. Furthermore, the first replacement process and the second replacement process may be performed repeatedly.
[0067] <Modification> In the above-described embodiment, the compatibility information is a value indicating the compatibility between a student and a teacher for each of a plurality of study subjects, but the compatibility information is not limited to this.
[0068] The compatibility information may be the compatibility between the student and the instructor in terms of gender. The compatibility information may also be the personal compatibility between the student and the instructor. The compatibility information may also be the compatibility between the student and the instructor in terms of age. The instructor's years of teaching experience may be used instead of his or her age. The compatibility information may also be the compatibility between the student and the instructor as determined by a third party, such as the student's parent. The compatibility information may also be the compatibility between the student and the instructor and other students.
[0069] <Summary of implementation form> (Item 1) A schedule generation device that generates a schedule that defines combinations of a first type of multiple first targets and a second type of multiple second targets, a first optimization unit that optimizes a first set of combinations of the first objects and the second objects based on a first element of each of the first objects and the first element of each of the second objects according to a first condition; and a second optimization unit that optimizes the plurality of second targets in accordance with the plurality of first sets of second conditions based on a second element that is different from the first element of each of the plurality of second targets.
[0070] According to this aspect, a plurality of first sets are optimized according to a first condition based on a first element of each of a plurality of first objects and a first element of each of a plurality of second objects, and a plurality of first sets are optimized according to a second condition based on a second element of each of a plurality of second objects. Therefore, since the plurality of first elements and the plurality of second elements are divided and optimized separately, it is only necessary to set a first condition for the plurality of first elements and a second condition for the plurality of second elements, making it easy to set optimization conditions. Furthermore, since the number of combinations of a plurality of first elements and a plurality of second elements is reduced compared to when a plurality of first elements and a plurality of second elements are optimized using a single algorithm, the optimization processing load can be reduced. As a result, a schedule generation device can be provided that can easily generate a schedule while reducing the load.
[0071] (Item 2) The method further includes a correction unit that generates a plurality of second sets by correcting the plurality of first sets, Item 1. The schedule generation device according to item 1, wherein, when the correction unit generates a plurality of the second sets, the second optimization unit optimizes the plurality of the second sets instead of the plurality of the first sets.
[0072] According to this aspect, a plurality of second sets are generated by modifying a plurality of first sets, and when the modification unit generates a plurality of second sets, the plurality of second sets are optimized instead of the plurality of first sets. Therefore, since the plurality of first sets are modified, the plurality of first sets optimized under the first conditions are modified into a plurality of second sets under conditions different from the first conditions. Therefore, a plurality of second sets can be generated under conditions different from the first conditions and the second conditions.
[0073] (Item 3) The schedule generation device described in Item 2, wherein the modification unit generates a plurality of modified second sets from a plurality of first sets in a state in which the first condition is not satisfied when the first condition is not satisfied by optimization by the first optimization unit, and does not generate a plurality of second sets when the first condition is satisfied.
[0074] According to this aspect, when the first condition is not satisfied by optimization, a plurality of second sets are generated, and when the first condition is satisfied, a plurality of second sets are not generated. Therefore, even when the first condition is not satisfied, a second set that satisfies another condition can be generated.
[0075] (Item 4) The schedule generation device described in Item 3, wherein the correction unit generates a plurality of second sets from a plurality of first sets whose degree of achievement is below a predetermined value when the degree of achievement indicating the degree of optimization is below a predetermined value even if the first condition is satisfied by optimization by the first optimization unit.
[0076] According to this aspect, even if the first condition is satisfied by optimization, multiple second sets are generated when the achievement level is equal to or lower than a predetermined value. Therefore, since multiple second sets are generated when the achievement level is equal to or lower than a predetermined value, multiple second sets can be generated using another condition when optimization using the first condition is difficult.
[0077] (Item 5) The schedule generating device according to any one of items 1 to 4, wherein the second element includes a compatibility between the second target and a plurality of the first targets or another of the second targets.
[0078] According to this aspect, the second element includes the compatibility between the second object and the plurality of first objects or other second objects, so that the plurality of first sets can be changed into combinations with high compatibility.
[0079] (Item 6) The plurality of first elements include time zone information, 6. The schedule generating device according to item 5, wherein the second optimization unit swaps two of the first sets having the same time period information among the plurality of first sets.
[0080] According to this aspect, two first sets having the same time period information are swapped. As a result, the multiple first sets are optimized to satisfy the second condition while still satisfying the first condition. As a result, a schedule optimized to satisfy both the first and second conditions can be generated.
[0081] (Item 7) The schedule generation device described in Item 5 or 6, wherein the second optimization unit swaps two of the first sets, which have the same second target and at least one of the first elements that is different, among the multiple first sets.
[0082] According to this aspect, two first sets having the same second object but different at least one of the first elements are interchanged. Thus, the first sets are optimized to satisfy the second condition while satisfying the first condition. Thus, the schedule can be optimized to satisfy both the first and second conditions.
[0083] (Item 8) The first subject is a lecturer and the second subject is a student; 8. The schedule generating device according to any one of items 1 to 7, wherein the first element is time period information indicating a time period or subject information indicating a field of study.
[0084] According to this aspect, a first set of instructors and students can be generated that matches time periods and study fields.
[0085] (Item 9) The schedule generation device described in Item 8, wherein the first optimization unit assigns each of the multiple first targets and multiple second targets to one of multiple time periods using an optimization algorithm in order to match the time period information and the subject information between the first targets and the second targets.
[0086] According to this aspect, it is possible to generate an optimal combination of instructors and students in which the time period and the learning field match.
[0087] (Item 10) The schedule generation device according to item 8 or 9, wherein the second optimization unit swaps two of the first sets having the same time period information among the plurality of first sets.
[0088] According to this aspect, two first sets having the same time zone information are swapped. Therefore, the first sets are optimized so as to satisfy the second condition while satisfying the first condition. Therefore, optimization can be performed so as to satisfy both the first condition and the second condition.
[0089] (Item 11) The schedule generation device according to any one of Items 8 to 10, wherein the second optimization unit swaps two of the first sets that have the same second target but different time zone information among the plurality of first sets.
[0090] According to this aspect, two first sets with the same students but different time zone information are swapped. Therefore, the multiple first sets are optimized so that the second condition is met while the first condition is met. Therefore, optimization can be performed so that the first condition and the second condition are met.
[0091] (Item 12) A schedule generation method executed by a schedule generation device that generates a schedule that defines combinations of a first type of multiple first targets and a second type of multiple second targets, the method comprising: a first optimization step of optimizing a first set of combinations of the first objects and the second objects based on a first element of each of the first objects and the first element of each of the second objects according to a first condition; a second optimization step of optimizing the plurality of first sets in accordance with a second condition based on a second element different from the first element of each of the plurality of second targets.
[0092] According to this aspect, it is possible to provide a schedule generation method that can easily generate a schedule while reducing the load.
[0093] (Item 13) A schedule generation program executed by a computer that generates a schedule that defines combinations of a first type of multiple first targets and a second type of multiple second targets, a first optimization step of optimizing a first set of combinations of the first objects and the second objects based on a first element of each of the first objects and the first element of each of the second objects according to a first condition; a second optimization step of optimizing the plurality of first sets according to second conditions based on a second element different from the first element of each of the plurality of second targets.
[0094] According to this aspect, it is possible to provide a schedule generation program that can easily generate a schedule while reducing the load.
[0095] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0096] 100 Schedule generation device, 101 CPU, 102 ROM, 103 RAM, 104 HDD, 105 Communication unit, 106 Display unit, 107 Operation unit, 108 External storage device, 109 CD-ROM, 51 First optimization unit, 53 Second optimization unit, 55 Correction unit, 61 First replacement unit, 63 Second replacement unit, 65 First set display control unit, 67 Correction reception unit.
Claims
1. A schedule generation device that generates a schedule that defines combinations of a first type of multiple first targets and a second type of multiple second targets, a first optimization unit that optimizes a plurality of first sets of combinations of the first objects and the second objects based on a first element of each of the plurality of first objects and the first element of each of the plurality of second objects in accordance with a first condition; a second optimization unit that optimizes the first sets in accordance with a second condition based on a second element different from the first element of each of the second targets.
2. a correction unit that corrects the first sets to generate a plurality of second sets; The schedule generating device according to claim 1 , wherein when the correction unit generates a plurality of the second sets, the second optimization unit optimizes the plurality of the second sets instead of the plurality of the first sets.
3. 3. The schedule generation device according to claim 2, wherein the modification unit generates the second sets modified from the first sets in a state in which the first condition is not satisfied when the first condition is not satisfied by optimization by the first optimization unit, and does not generate the second sets when the first condition is satisfied.
4. 4. The schedule generation device according to claim 3, wherein the correction unit generates a plurality of second sets from a plurality of first sets whose degree of achievement indicating the degree of optimization is below a predetermined value even when the first condition is satisfied by the optimization by the first optimization unit, if the degree of achievement is below the predetermined value.
5. The schedule generating device according to claim 1 , wherein the second element includes a degree of compatibility between the second target and a plurality of the first targets or another of the second targets.
6. the plurality of first elements include time zone information; The schedule generating device according to claim 5 , wherein the second optimization unit swaps two of the first sets having the same time period information among the plurality of first sets.
7. 7. The schedule generation device according to claim 5, wherein the second optimization unit swaps two of the first sets, the two first sets having the same second target and different at least one of the first elements.
8. the first subject is a lecturer and the second subject is a student; The schedule generating device according to claim 1 , wherein the first element is time period information indicating a time period or subject information indicating a field of study.
9. The schedule generation device described in claim 8, wherein the first optimization unit assigns each of the multiple first targets and multiple second targets to one of multiple time periods using an optimization algorithm in order to match the time period information and the subject information between the first targets and the second targets.
10. The schedule generating device according to claim 8 , wherein the second optimization unit swaps two of the first sets having the same time period information among the plurality of first sets.
11. The schedule generation device according to claim 8 , wherein the second optimization unit swaps two of the first sets, the two first sets having the same second target but different time zone information.
12. A schedule generation method executed by a schedule generation device that generates a schedule that defines combinations of a first type of multiple first targets and a second type of multiple second targets, the method comprising: a first optimization step of optimizing a first set of combinations of the first objects and the second objects based on a first element of each of the first objects and the first element of each of the second objects in accordance with a first condition; a second optimization step of optimizing the plurality of first sets in accordance with a second condition based on a second element different from the first element of each of the plurality of second targets.
13. A schedule generation program executed by a computer that generates a schedule that defines combinations of a first type of multiple first targets and a second type of multiple second targets, a first optimization step of optimizing a first set of combinations of the first objects and the second objects based on a first element of each of the first objects and the first element of each of the second objects in accordance with a first condition; a second optimization step of optimizing the plurality of first sets in accordance with second conditions based on a second element different from the first element of each of the plurality of second targets.
Citation Information
Patent Citations
Matching system for student and teacher in tutorial
JP2009009120A