Work shift generation program and work shift generation device
The work shift generation program addresses the issue of unsuitable schedules by prioritizing employee conditions, calculating available workdays, and using a genetic algorithm to generate compliant schedules, thereby reducing staff burden and schedule inefficiencies.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- KONICA MINOLTA INC
- Filing Date
- 2024-12-02
- Publication Date
- 2026-06-12
AI Technical Summary
Genetic algorithms used for generating work schedules in elderly care often fail to adequately consider shift conditions, leading to schedules that do not reflect staff working conditions, resulting in inefficiencies and increased labor to revise unsuitable schedules.
A work shift generation program that includes steps to obtain employee working conditions, calculate available workdays, and apply rules in priority order to ensure schedules align with staff availability before generating shifts using a genetic algorithm.
Prevents the generation of non-conforming work schedules, reducing the burden on staff by ensuring schedules adhere to working conditions and minimizing revisions.
Smart Images

Figure 2026095832000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a work shift generation program and a work shift generation device.
Background Art
[0002] Conventionally, genetic algorithms have been used for generating operation schedules (diagrams) of buses, trains, etc. and operation schedules of machines (for example, Patent Document 1 below). Patent Document 1 discloses a schedule creation device to which a genetic algorithm is applied. This schedule creation device has crossover means, mutation means, bias means, evaluation means, and elimination means. The crossover means rearranges the gene sequence of the selected parent chromosome according to the gene sequence of another parent chromosome to generate a child chromosome. The mutation means rearranges the gene sequence of the child chromosome with a predetermined probability. The bias means operates on the gene sequence of the child chromosome according to a predetermined rule every predetermined number of times. The evaluation means evaluates how well the child chromosome satisfies the preset conditions. The elimination means eliminates the parent chromosome or child chromosome with a poor evaluation value according to the evaluation value set for each of the parent chromosomes and child chromosomes.
[0003] In recent years, genetic algorithms are used not only for diagrams but also for generating shifts of staff and employees in nursing facilities, hospitals, factories, etc. In generating work shifts by genetic algorithms, a plurality of shifts are generated as individuals for each generation based on shift conditions. Shift conditions are conditions related to shift work such as working days, working hours, holidays, and the number of working days. Then, an evaluation value representing how well the shift conditions are satisfied is calculated, and the individuals evolve so that the evaluation value becomes higher.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
[0005] Genetic algorithms are algorithms that efficiently search for the optimal solution under given conditions. However, in the field of elderly care, shift conditions are sometimes applied to genetic algorithms without sufficient consideration, resulting in the generation of work schedules. For example, when multiple shift conditions, such as staff working conditions and rules regarding the number of people required for a task, are applied to a genetic algorithm, inconsistencies between these conditions can lead to problems in applying multiple shift conditions. When unsuitable shift conditions are applied to a genetic algorithm, there is a risk of generating a work schedule that does not reflect the staff's working conditions, such as when a staff member's scheduled working days exceed the number of days they are available to work. The number of days available to work is, for example, the number of days obtained by subtracting public holidays from the standard number of days in a month (31 days). When a work schedule that does not reflect the staff's working conditions is generated in this way, it becomes time-consuming and laborious to revise the work schedule, increasing the burden on staff.
[0006] The present invention has been made in view of the above circumstances, and its main objective is to provide a work shift generation program and a work shift generation device that can prevent or suppress the generation of work shift schedules that do not conform to the working conditions of employees. [Means for solving the problem]
[0007] The above-mentioned problems of the present invention are solved by the following means.
[0008] (1) A work shift generation program that generates work shifts using a genetic algorithm, comprising: (a) a step of obtaining the working conditions of an employee involved in the work; (b) a step of calculating the number of days the employee can work during a predetermined period based on the working conditions obtained in step (a); (c) a step of determining whether the number of days the employee is required to work during a predetermined period exceeds the number of days the employee can work, before executing the genetic algorithm to generate the work shifts; and (d) a step of executing a predetermined process according to the result of the determination in step (c).
[0009] (2) The work shift generation program described in (1) above, further comprising: a step (e) to obtain rules regarding the number of people required for the work, and a step (f) to calculate the number of working days required of the employee based on the working conditions and the rules, prior to step (c).
[0010] (3) The work shift generation program described in (2) above, further comprising a step (g) prior to step (c) above, which obtains priority for rules relating to the work conditions and the required number of people, and in step (f) above, calculates the number of working days required for the employee by assigning shifts to the employee in order of priority by applying the work conditions and the rules.
[0011] (4) The work shift generation program described in (3) above, further comprising a step (h) prompting the user to modify the lower priority rule.
[0012] (5) The work shift generation program described in (2) above, which rearranges the order in which to apply the rules of the same type of shift among the multiple rules obtained in the above procedure (e) such that the total number of shifts assigned to an employee is minimized when the rule satisfies the rule and when the rule is applied.
[0013] (6) The work shift generation program described in (1) above, wherein the number of available working days is the number of days obtained by subtracting the number of public holidays from the prescribed number of days.
[0014] (7) A work shift generation program that generates work shifts using a genetic algorithm, comprising: (a) a step of obtaining the working conditions of multiple employees involved in a task; (b) a step of calculating the number of people who can be assigned to the task based on the working conditions of the multiple employees; (c) a step of calculating the number of employees required for the task; (d) a step of determining whether the number of people who can be assigned to the task is equal to or greater than the number of employees required for the task, before executing the genetic algorithm to generate the work shifts; and (e) a step of executing a predetermined process according to the determination result in step (d).
[0015] (8) The work shift generation program according to (3) or (4) above, further comprising the step (i) of generating a work shift schedule by a genetic algorithm based on the work conditions and the rules.
[0016] (9) In step (c), if the number of working days required of the employee exceeds the number of available working days, the work shift generation program according to any one of (1) to (6) above, wherein in step (d), as a predetermined process, the program notifies the employee that the number of working days required exceeds the number of available working days.
[0017] (10) A work shift generation program according to any one of (1) to (6) above, further comprising a step (i) for obtaining information relating to the affiliations of the multiple employees, wherein in step (c), if the number of working days required of the employee exceeds the number of available working days, in step (d), as a predetermined process, prompts the organization to coordinate work between the group to which the employee belongs and the group to which the employee does not belong, before executing the genetic algorithm to generate the work shift.
[0018] (11) The work shift generation program described in (7) above, wherein in step (e), if the number of people who can be assigned to the task is less than the number of employees required for the task, in step (f), as a predetermined process, the program notifies that the number of people who can be assigned to the task is less than the number of employees required for the task.
[0019] (12) The procedure (g) further includes obtaining information regarding the affiliations of the aforementioned multiple employees, In step (e) above, if the number of people who can be assigned to the task is greater than or equal to the number of employees required for the task, the work shift generation program according to (7) above, in step (f) above, as a predetermined process, prompts the program to coordinate tasks between the group to which the multiple employees belong and the group to which the employees do not belong, before executing the genetic algorithm to generate work shifts.
[0020] (13) A work shift generation program according to any one of (1) to (7) above, further comprising the procedure (j) for outputting the judgment result.
[0021] (14) In step (c), if the number of working days required of the employee exceeds the number of available working days, the work shift generation program according to any one of (1) to (6) above, in step (d), as a predetermined process, displays the number of available working days for the employee and the number of working days required of the employee in a predetermined number of days.
[0022] (15) A work shift generation device having a computer for executing the work shift generation program described in any one of (1) to (6) above. [Effects of the Invention]
[0023] According to the work shift generation program and work shift generation device of the present invention, it is possible to prevent or suppress the generation of work shift schedules that do not conform to the working conditions of employees.
Brief Description of Drawings
[0024] The advantages and features provided by one or more embodiments of the present invention will be more fully understood from the following detailed description and the accompanying drawings, which are for illustrative purposes only and are not intended to define the limitations of the present invention. [Figure 1] It is a block diagram illustrating a schematic configuration of a work shift generation system according to a first embodiment of the present invention. [Figure 2] It is a block diagram showing a schematic configuration of the information processing terminal shown in FIG. 1. [Figure 3] It is a schematic diagram illustrating a rule reception screen displayed on the operation display unit shown in FIG. 2. [Figure 4] It is a block diagram illustrating a schematic configuration of a work shift generation device. [Figure 5] It is a conceptual diagram illustrating the definition of the number of available work days and the required number of work days. [Figure 6] It is a functional block diagram illustrating the functions of the CPU shown in FIG. 4. [Figure 7] It is a flowchart illustrating the processing procedure of a work shift generation method executed by a work shift generation device according to a first embodiment. [Figure 8] It is a diagram illustrating a work condition table. [Figure 9] It is a diagram illustrating a staff group table. [Figure 10] It is a diagram illustrating a required number of personnel rule table. [Figure 11] It is a diagram illustrating a unit / floor table. [Figure 12] It is a diagram illustrating a priority table. [Figure 13] It is a diagram illustrating the application results of work conditions and the required number of personnel rules. [Figure 14A] It is a schematic diagram illustrating the output result of a predetermined process of a processing execution unit. [Figure 14B]This is a schematic diagram illustrating the output results of a predetermined process performed by the processing execution unit. [Figure 14C] This is a schematic diagram illustrating the output results of a predetermined process performed by the processing execution unit. [Figure 15] This flowchart illustrates the processing steps for a work shift generation method using a genetic algorithm. [Figure 16] This is a functional block diagram illustrating the functions of the CPU of the work shift generation device in the second embodiment. [Figure 17A] This diagram illustrates two required number rules that share the same shift symbols and have a hierarchical relationship in their application. [Figure 17B] This figure illustrates the number of working days for each employee when the two required staffing rules are applied in the order shown in Figure 17A. [Figure 18A] This figure illustrates the case where the application order of the two required number rules shown in Figure 17A is reversed. [Figure 18B] This figure illustrates the number of working days for each employee when the two required staffing rules are applied in the order shown in Figure 18A. [Figure 19] This flowchart illustrates the processing procedure of a work shift generation method executed by a work shift generation device according to the second embodiment. [Figure 20] This flowchart illustrates the processing procedure for the method of displaying rules that need correction, which is executed by the work shift generation device according to the third embodiment. [Figure 21] Figure 20 is a subroutine flowchart illustrating the processing procedure for displaying the rule requiring correction (step S114) in the flowchart shown. [Figure 22] This diagram shows an example of how to display rules that require correction. [Figure 23] This flowchart illustrates the processing procedure of a work shift generation method executed by a work shift generation device according to the fourth embodiment. [Figure 24] This is a subroutine flowchart illustrating the procedure for the process (step S116) of displaying whether there is any leeway in the number of working days for each unit in the flowchart shown in Figure 23. [Figure 25] This figure shows an example of how to indicate whether or not there is a margin for each unit. [Figure 26] This flowchart illustrates the processing procedure of a work shift generation method executed by a work shift generation device according to the fifth embodiment. [Modes for carrying out the invention]
[0025] Embodiments of the present invention will be described below with reference to the drawings. However, the scope of the present invention is not limited to the disclosed embodiments. In the drawings, the same elements are denoted by the same reference numerals, and redundant descriptions are omitted. Also, the dimensional ratios in the drawings are exaggerated for illustrative purposes and may differ from actual ratios.
[0026] (First Embodiment) Figure 1 is a block diagram illustrating the schematic configuration of a work shift generation system 10 according to a first embodiment of the present invention. The work shift generation system 10 includes an information processing terminal 100 and a work shift generation device 200. The information processing terminal 100 and the work shift generation device 200 are configured to be interconnected via a network 300. The work shift generation device 200 may be implemented by, for example, a cloud server. In this case, the work shift generation system 10 may consist of, for example, an information processing terminal 100 installed within a facility such as a nursing home, hospital, or factory, and a cloud server installed outside the facility. Alternatively, if the work shift generation device 200 is implemented by an on-premise server, the work shift generation system 10 may be installed within a facility such as a nursing home, hospital, or factory. Or, some or all of the components of the work shift generation system 10 may be installed outside the facility. For example, outside the facility may include the headquarters building of a corporation that operates multiple facilities. A corporation includes an organization consisting of multiple members (personnel). Members include all personnel who work in accordance with the rules regarding working conditions and the number of people required for the work (hereinafter also referred to as the "required personnel rules"). The working conditions and required personnel rules are also collectively referred to simply as the "rules."
[0027] The configuration of the work shift generation system 10 and the method of generating work shifts using the work shift generation system 10 will be explained below, using the example of generating work shift schedules for staff performing caregiving duties at a care facility operated by a corporation.
[0028] <Information processing terminal 100> The information processing terminal 100 is a terminal used by users such as the director, manager, or administrator of a nursing care facility, and may be a desktop PC (Personal Computer), notebook PC, tablet PC, or smartphone.
[0029] Figure 2 is a block diagram illustrating the schematic configuration of the information processing terminal 100 shown in Figure 1. The information processing terminal 100 includes a CPU (Central Processing Unit) 110, ROM (Read Only Memory) 120, RAM (Random Access Memory) 130, storage 140, communication unit 150, and operation display unit 160. Each component is connected to the others via a bus so as to be able to communicate with each other.
[0030] The CPU 110 controls each of the above configurations and performs various calculations according to the programs stored in the ROM 120 and storage 140. The ROM 120 stores various programs and data. The RAM 130 temporarily stores programs and data as a working area.
[0031] The storage 140 consists of HDDs (Hard Disk Drives), SSDs (Solid State Drives), etc., and stores various programs, including the operating system, and various data. For example, the storage 140 has an application installed for receiving user input (including instructions, etc.) and sending and receiving various information with other devices such as the work shift generation device 200. The storage 140 also has an application installed for outputting (displaying) information to the operation display unit 160.
[0032] The communication unit 150 is an interface for communicating with other devices. The communication unit 150 can be a communication unit conforming to various wired or wireless standards.
[0033] The operation display unit 160 is, for example, a touchscreen display that inputs and outputs various types of information. The information that is input includes, for example, information about the nursing care facility (facility information), information about staff (staff information), working conditions, required staffing rules, and the priority of working conditions and required staffing rules. The information input by the operation display unit 160 is transmitted via the network 300 to the storage 240 of the work shift generation device 200 (see Figure 4) or to external storage and stored. The following will explain with an example the case in which the input information is stored in the storage 240 of the work shift generation device 200.
[0034] Facility information includes, for example, the facility name, facility number, room type, number of residents, number of full-time care staff, number of part-time care staff, number of full-time nurses, number of part-time nurses, and number of full-time dietitians. Staff information includes, for example, names, as well as (1) job titles such as care staff, nurses, doctors, and dietitians, (2) full-time / part-time status, (3) employment status (regular / non-regular), (4) qualifications such as caregiver, nurse, doctor, etc., and (5) length of service. Staff information also includes information about the unit to which a staff member is assigned. A unit is a group to which care recipients and the staff members who care for them belong, for example, those who share living spaces on the same floor within the facility.
[0035] Working conditions include, for example, the number of public holidays, possible shifts, and fixed shift days. Specific examples of working conditions will be discussed later. The priority of working conditions indicates the order in which they are applied.
[0036] The staffing requirements include rules for the number of staff needed for each shift, such as night shift, day shift, early shift, late shift, and post-night shift. The priority of the staffing requirements rules indicates the order in which they are applied.
[0037] Figure 3 is a schematic diagram illustrating the reception screen for the required number of personnel rules displayed on the operation display unit 160 shown in Figure 2. The required number of personnel rule reception screen is displayed on the display of the operation display unit 160. The operation display unit 160 receives the required number of personnel rules entered by the user on the required number of personnel rule reception screen and transmits them to the CPU 110. The CPU 110 transmits the received required number of personnel rules to the work shift generation device 200. In the work shift generation device 200, the received required number of personnel rules are stored in the storage 240 (see Figure 4).
[0038] In the example shown in Figure 3, the required number of staff for each shift is entered as a required number rule on the reception screen. Specifically, the required number rule is entered that the night shift (shift symbol "night") must be assigned to one staff member belonging to the unit "Unit B" for the entire month. The importance of assigning the night shift is set to "mandatory".
[0039] Shift symbols are unique symbols used to represent shift assignments in a shift schedule. Examples of shift symbols include "night" for night shift, "day" for day shift, "early" for early shift, "late" for late shift, "morning" for end of night shift, and "day off" for public holiday. Note that letters such as alphabets or numbers may be used as shift symbols instead of kanji characters such as "night," "day," "early," "late," "morning," and "day off."
[0040] The CPU 110 controls the operation display unit 160 in response to user instructions to display facility information, employee information, work conditions, required staffing rules, priority of work conditions and required staffing rules, etc., stored in the storage 240 of the work shift generation device 200. The operation display unit 160 can also display calculation results, judgment results, and generation results from the work shift generation device 200. For example, the operation display unit 160 displays the work shift schedule generated by the work shift generation device 200.
[0041] <Work shift generation device 200> Figure 4 is a block diagram illustrating the schematic configuration of the work shift generation device 200. The work shift generation device 200 includes a CPU 210, ROM 220, RAM 230, storage 240, and a communication unit 250. Each component is connected to the others so as to be able to communicate with each other via a network or bus.
[0042] The configuration and basic functions of the CPU 210, ROM 220, RAM 230, storage 240, and communication unit 250 are the same as those of the corresponding elements of the information processing terminal 100, so redundant explanations will be omitted.
[0043] Storage 240 has various computer programs installed, including a work shift generation program for CPU 210 to execute each process. Storage 240 also stores information such as facility information, employee information, work conditions, staffing requirements, and the priority of work conditions and staffing requirements.
[0044] Figure 5 is a conceptual diagram illustrating the definitions of available working days and required working days. In this specification, available working days may be the number of days obtained by subtracting (1) the number of public holidays, or (2) the sum of public holidays and non-public holidays, from a given period. The given period is the number of days corresponding to one month, for example, 31 days. Furthermore, the required working days for an employee may be the total number of shifts, excluding public holidays, that would be assigned to each employee when the required number rule is applied.
[0045] [Overview of CPU210 features] Figure 6 is a functional block diagram illustrating the functions of the CPU 210 shown in Figure 4. The CPU 210 implements various functions by executing a work shift generation program. As shown in Figure 6, the CPU 210 functions as a work condition acquisition unit 211, a required number of people rule acquisition unit 212, a priority acquisition unit 213, a calculation unit 215, a determination unit 216, a processing execution unit 217, and a shift generation unit 218 by executing the work shift generation program.
[0046] In this embodiment, the CPU 210 calculates the number of days an employee can work and the number of days an employee is required to work during a predetermined period, and controls the CPU 210 to execute a predetermined process if the number of days an employee is required to work is greater than the number of days an employee can work. The number of days an employee can work is calculated, for example, based on work conditions. The number of days an employee is required to work is calculated by applying work conditions and rules in order of priority. Details of the predetermined process will be described later, but for example, it may be a process that makes the user aware that the number of days an employee is required to work exceeds the number of days they can work. This allows the user to know that the number of days an employee is required to work exceeds the number of days they can work. Therefore, the user can avoid the work shift generation device 200 generating a shift schedule by applying the required number rule to the genetic algorithm when the number of days an employee is required to work exceeds the number of days they can work. Alternatively, the predetermined process may be a process that modifies the required number rule.
[0047] The specific functions of the work conditions acquisition unit 211, the required number of people rule acquisition unit 212, the priority acquisition unit 213, the calculation unit 215, the determination unit 216, the processing execution unit 217, and the shift generation unit 218 are as follows.
[0048] As shown in Figure 6, the work conditions acquisition unit 211 acquires work conditions from the storage 240 and outputs them to the calculation unit 215. The required number of people rule acquisition unit 212 acquires the required number of people rule from the storage 240 and outputs it to the calculation unit 215. The work conditions and required number of people rule are set in advance by the user, for example, through the operation display unit 160 of the information processing terminal 100, and stored in the storage 240.
[0049] The priority acquisition unit 213 acquires the priority for each of the work conditions and required number of staff rules from the storage 240 and outputs it to the calculation unit 215. The priority is set in advance by the user, for example, through the operation display unit 160 of the information processing terminal 100 and stored in the storage 240. The priority can be set in multiple stages, such as "high," "medium," and "low," depending on the level of priority.
[0050] The calculation unit 215 calculates the number of days an employee can work during a predetermined period based on the work conditions acquired by the work conditions acquisition unit 211. For example, the calculation unit 215 calculates the number of days available for work by subtracting the number of public holidays from the predetermined period. The predetermined number of days is, for example, 31 days.
[0051] Furthermore, the calculation unit 215 calculates the number of working days required of employees during a predetermined period based on the working conditions and the required number of staff rules. More specifically, the calculation unit 215 calculates the number of working days required of employees during a predetermined period by assigning shifts to employees in the order of priority acquired by the priority acquisition unit 213, applying the working conditions and the required number of staff rules.
[0052] The determination unit 216 determines whether the number of working days required of an employee exceeds the number of working days available to the employee before executing the genetic algorithm to generate work shifts. The actual number of working days of an employee must be less than or equal to the number of working days available to the employee, and it is not possible to create a work shift schedule that exceeds the number of working days available to the employee. Therefore, if the number of working days required of an employee exceeds the number of working days available to the employee, it is necessary to adjust at least one of the working conditions and the required number of staff rules so that the number of working days required of the employee becomes less than or equal to the number of working days available to the employee. The determination result of the number of working days required of an employee is output to the processing execution unit 217. The processing execution unit 217 executes predetermined processing according to the determination result.
[0053] The shift generation unit 218 generates a work shift schedule based on the determination result by the determination unit 216, the work conditions, and the required number of staff rules. For example, the shift generation unit 218 may generate a work shift schedule based on the work conditions and the required number of staff rules if the conditions regarding the number of working days for an employee are met. The conditions regarding the number of working days for an employee are met if the determination unit 216 determines that the number of working days required of an employee does not exceed the number of days they can work. Details of the generation of the work shift schedule will be described later. The work shift generation method performed by the work shift generation device 200 will be described below.
[0054] <How to generate work shifts> Figure 7 is a flowchart illustrating the processing procedure of the work shift generation method executed by the work shift generation device 200 according to the first embodiment. Each process shown in the figure is realized by the CPU 210 executing the work shift generation program. Figure 8 is an example of a work conditions table. Figure 9 is an example of an employee group table. Figure 10 is an example of a required number rule table. Figure 11 is an example of a unit / floor table. Figure 12 is an example of a priority table. Figure 13 is an example of the application results of work conditions and required number rules. Figures 14A to 14C are schematic diagrams illustrating the output results of predetermined processing by the processing execution unit.
[0055] [Step S101] As shown in Figure 7, the work shift generation device 200 acquires the working conditions of the staff. More specifically, the working conditions acquisition unit 211 acquires the working conditions of multiple staff members involved in nursing care work at the facility from the storage 240.
[0056] As shown in Figure 8, working conditions may include, for example, items such as condition type, target type, target data, and condition data. The working conditions acquisition unit 211 manages each working condition by assigning an ID for identification. The figure illustrates working conditions with IDs 1 to 9. For example, the working conditions for ID 1 have a condition type of "number of public holidays," a target type of "employee," target data of "employee A, employee B," and condition data of "10 days or more per month."
[0057] The condition type represents the type (format) of the work conditions. Examples of condition types include "number of public holidays," "possible shifts," "fixed shift days," and "working conditions."
[0058] The target type represents the type of entity to which the measure applies. Examples of target types include "employees" and "employee groups."
[0059] The target data is the data of the employees in question. In the example shown in Figure 8, the target data includes "Employee A to Employee D" and "Full-time." In the example shown in Figure 9, the full-time employees are "Employee C, Employee D, and Employee E."
[0060] Conditional data refers to the specific conditions imposed on the target. Figure 8 illustrates, for example, the case where ID3 has a condition type of "possible shift," target data of "Employee C," and conditional data of "Sunday, holiday, early, late."
[0061] [Step S103] The work shift generation device 200 acquires the required number of staff rules. More specifically, the required number of staff rule acquisition unit 212 acquires multiple required number of staff rules for the facility from the storage 240. As shown in Figure 10, the required number of staff rules may include items such as target type, target data, date specification, and rule data. The required number of staff rule acquisition unit 212 manages each required number of staff rule by assigning an identification ID to it. The figure shows examples of required number of staff rules with IDs 1 to 4.
[0062] The target type represents the type of object to which the effect applies. Examples of target types include "unit / floor".
[0063] The target data is the data of the target unit. In the example shown in Figure 10, the unit is either Unit A or Unit B. As shown in Figure 11, for example, Unit A includes employees A and B, and Unit B includes employees C, D, and E.
[0064] The specified date refers to the days within a given period on which the effect applies. If it applies every day, it is specified as "all days".
[0065] Rule data is the content of the specific rules imposed on the target. Figure 10 illustrates, for example, the case where ID1 has a target type of "unit / floor", target data of "unit A", day specification of "all day", and rule data of "exactly 1 person per day".
[0066] [Step S105] The work shift generation device 200 acquires priorities for work conditions and required staff rules. More specifically, the priority acquisition unit 213 acquires priorities for each of the work conditions and required staff rules from the storage 240 and outputs them to the calculation unit 215. As shown in Figure 12, the priority acquisition unit 213 acquires priorities for each rule ID of the work conditions and required staff rules. The target rule is either a work condition in the work conditions table shown in Figure 8, or a required staff rule in the required staff rule table shown in Figure 10. The rule ID corresponds to the ID used when applying the work conditions in Figure 8 and the required staff rules in Figure 10. Priorities are set to multiple levels, for example, "high," "medium," and "low." Priorities can be updated as appropriate by the user through the operation display unit 160.
[0067] The work shift generation device 200 performs the following steps S107 to S113 for all employees.
[0068] [Step S107] The work shift generation device 200 calculates the number of days each employee is available to work during a predetermined period. More specifically, the calculation unit 215 calculates the number of days available to work by subtracting the number of public holidays from the predetermined period, for example.
[0069] [Step S109] The work shift generation device 200 calculates the number of working days required for each employee over a predetermined period. More specifically, the calculation unit 215 calculates the number of working days required for each employee over a predetermined period by assigning shifts to each employee in the order of priority acquired by the priority acquisition unit 213, applying work conditions and required number rules. The specific method for calculating the number of working days required for each employee will be described later.
[0070] [Step S111] The work shift generation device 200 determines whether the number of working days required of an employee during a predetermined period exceeds the number of available working days. If the number of working days required of an employee during a predetermined period exceeds the number of available working days, the work shift generation device 200 proceeds to step S113. On the other hand, if the number of working days required of an employee during a predetermined period does not exceed the number of available working days, the work shift generation device 200 proceeds to step S107 without proceeding to step S113.
[0071] Figure 13 illustrates, for example, the number of days off and shifts for employees A to E when the working conditions for IDs 1 to 3 shown in Figure 8 and the required number of employees rules for IDs 1 to 4 shown in Figure 10 are applied. For example, employees A and B are allocated 10 days off based on the working condition of "10 days or more per month" for ID 1. Also, full-time employees (employees C to E) are allocated 9 days off based on the working condition of "9 days or more per month" for ID 2.
[0072] Furthermore, Unit A (staff A and staff B) is assigned 31 days of "daily" shifts according to the required staffing rules of ID 1, "full-day" and "exactly one person per day." The diagram illustrates the case where staff A is assigned 16 days and staff B is assigned 15 days. The work conditions of ID 3 and the required staffing rules of IDs 2-4 are assigned in the same way. Staff C-E are each assigned a total of 31 days of "early," "late," and "night" shifts.
[0073] Figure 13 shows that the total number of shifts assigned to each employee corresponds to the required number of working days for that employee. However, this total number of shifts does not include public holidays. When creating a work shift schedule by applying work conditions and required staffing rules to a genetic algorithm, in order to satisfy the conditions regarding the number of working days for an employee, the sum of the number of public holidays and the total number of shifts for each employee must be less than or equal to a predetermined period (e.g., 31 days). In other words, the number of working days required for an employee must be less than or equal to the number of days obtained by subtracting the number of public holidays from the predetermined period, i.e., the number of days the employee is available to work. In the example shown in the figure, for employees A and B, the sum of the number of public holidays and the total number of shifts is less than or equal to the predetermined number of days. That is, the number of working days required for an employee in the predetermined period is less than or equal to the number of days the employee is available to work, so the conditions regarding the number of working days for an employee are satisfied. On the other hand, for employees C through E, the sum of the number of public holidays and the total number of shifts is not less than or equal to the predetermined period. In other words, the number of working days required of an employee during the specified period is not less than or equal to the number of working days the employee is able to work, and therefore the conditions regarding the number of working days of an employee are not met.
[0074] [Step S113] The work shift generation device 200 performs a predetermined process. The predetermined process may be at least one of the following: (a) warning the user that they have exceeded their available work days; (b) storing employees who have exceeded their available work days in an overage list; or (c) displaying the number of available work days for an employee during a predetermined period, and the number of work days required of the employee.
[0075] As shown in Figure 14A, the processing execution unit 217 may, as a predetermined process, output warnings such as "Employee C's working hours are excessive," "Employee D's working hours are excessive," and "Employee E's working hours are excessive" for (a) above.
[0076] Furthermore, as shown in Figure 14B, the processing execution unit 217 may, as a predetermined process, for example, store employees C to E who have exceeded the number of days they are available to work in the excess list for (b) above.
[0077] Furthermore, as shown in Figure 14C, the processing execution unit 217 may, as a predetermined process, output, for example, the number of days that employees C to E can work within a predetermined number of days, and the number of days that employees C to E are required to work, for (c) above.
[0078] [Step S117] The work shift generation device 200 updates the work conditions and the required number of staff rules. Based on the results of the predetermined processing in step S113, the user reviews at least one of the work conditions and the required number of staff rules so that the number of working days required of employees is less than or equal to the number of working days available. The user changes at least one of the work conditions and the required number of staff rules through the operation display unit 160 of the information processing terminal 100. The work shift generation device 200 updates the data stored in the storage 240 for at least one of the work conditions and the required number of staff rules changed by the user.
[0079] [Step S119] The work shift generation device 200 generates work shift schedules using a genetic algorithm. The shift generation unit 218 uses the genetic algorithm to generate multiple next-generation shift schedules by evolving multiple work shift schedules representing multiple individuals of the current generation into multiple work shift schedules of the next generation. The genetic algorithm is an algorithm that evolves multiple individuals of the current generation into multiple individuals of the next generation.
[0080] As shown in the flowchart in Figure 7, the work shift generation device 200 obtains the working conditions of employees, the required number of employees rule, and their priority, and calculates the number of days available for work and the number of days required for each employee during a predetermined period. The work shift generation device 200 then determines whether the number of days required for work exceeds the number of days available for work during the predetermined period, and if the number of days required exceeds the number of days available for work, it executes a predetermined process.
[0081] In this embodiment, the work shift generation device 200 generates a work shift schedule using a genetic algorithm. Since the genetic algorithm itself is a well-known algorithm, the following will describe the outline of creating a work shift schedule using the genetic algorithm.
[0082] <Method for generating work shifts using a genetic algorithm> Figure 15 is a flowchart illustrating the processing procedure of the work shift generation method by the work shift generation device 200 in this embodiment. Each process shown in the figure is realized by the CPU 210 executing the work shift generation program.
[0083] [Acquiring the rule (Step S201)] The shift generation unit 218 retrieves from the storage 240 the work conditions that satisfy the requirements regarding the number of working days for employees, as well as the rules for the required number of employees.
[0084] [Generation of the initial population (Step S202)] The shift generation unit 218 randomly generates an initial population (first generation) consisting of multiple individuals. In this embodiment, the initial population consists of, for example, 100 individuals. One individual is, for example, a work shift schedule for a predetermined period for five employees, employees A to E. Therefore, if the predetermined period is 31 days, the number of dimensions n for one individual is 5 × 31 = 155. Shift symbols are randomly placed in the work shift schedule. In this embodiment, it is assumed that there are six assignable shift symbols: "day off", "Sunday", "early", "late", "night", and "morning".
[0085] [Calculation of individual evaluation values (Step S203)] The shift generation unit 218 calculates an evaluation value for each individual. The evaluation value is a value that indicates how well each individual has achieved (satisfied with) each rule. In this embodiment, for example, the closer to 1.0 (100%), the higher the degree to which the rule has been achieved. The evaluation value E for each individual can be, for example, the average of the sum of the evaluation values Er calculated for each rule. For example, if the evaluation values for rule A and rule B are Era and Erb, respectively, the evaluation value E for each individual can be calculated by (Era + Erb) / 2.
[0086] The calculation methods for the evaluation value Er for each rule and the evaluation value E for each individual are not limited to those described above. For example, the evaluation value E for each individual may be the maximum, minimum, or median of the evaluation value Er for each rule.
[0087] [Determination of whether the evaluation value for each individual meets the predetermined criteria (Step S204)] The shift generation unit 218 determines whether the evaluation value for each individual meets a predetermined standard as a termination condition for the genetic algorithm. For example, the shift generation unit 218 calculates a representative evaluation value based on the evaluation value for each individual and determines whether the representative evaluation value is equal to or greater than a predetermined first threshold. That is, if the representative evaluation value is equal to or greater than the predetermined first threshold, the evaluation value for each individual is deemed to meet the predetermined standard, and if the representative evaluation value is less than the predetermined first threshold, the evaluation value for each individual is deemed not to meet the predetermined standard. The representative evaluation value may be, for example, the average, maximum, minimum, or median of the evaluation values for all individuals.
[0088] The shift generation unit 218 determines that the individual has converged to a solution that satisfies the termination condition when the evaluation value for each individual meets a predetermined criterion, i.e., the representative evaluation value is equal to or greater than a predetermined first threshold (step S204: YES), and terminates the process (end). As a result, the evolution of the individual by the genetic algorithm is stopped.
[0089] On the other hand, if the evaluation value for each individual does not meet a predetermined standard, i.e., the representative evaluation value is less than a predetermined first threshold (step S204: NO), the shift generation unit 218 proceeds to the process of implementing natural selection (step S205). The shift generation unit 218 controls the process to continue the evolution of individuals using a genetic algorithm until the representative evaluation value becomes sufficiently large. In other words, the process of generating individuals continues until the individuals converge to a solution that satisfies the termination condition.
[0090] Alternatively, the shift generation unit 218 may be configured to determine whether the rate of change (increase rate) ε of the representative evaluation value between generations for individuals from the second generation onward is less than or equal to a predetermined second threshold. That is, if the rate of change of the representative evaluation value is less than or equal to a predetermined second threshold, the evaluation value for each individual is deemed to meet a predetermined standard, and if the representative evaluation value exceeds the predetermined second threshold, the evaluation value for each individual is deemed not to meet a predetermined standard. For example, the rate of change ε of the representative evaluation value between the kth generation and the (k-1)th generation can be defined as (representative evaluation value of the kth generation - representative evaluation value of the (k-1)th generation) / representative evaluation value of the kth generation.
[0091] The shift generation unit 218 determines that the individual has converged to a solution that satisfies the termination condition when the evaluation value for each individual satisfies a predetermined criterion, that is, when the rate of change ε of the representative evaluation value is less than or equal to a predetermined second threshold (step S204: YES), and terminates the process (end). As a result, the evolution of the individual by the genetic algorithm is stopped.
[0092] On the other hand, if the evaluation value for each individual does not meet a predetermined standard, that is, if the rate of change ε of the representative evaluation value exceeds a predetermined second threshold (step S204: NO), the shift generation unit 218 proceeds to the process of performing genetic operations (step S205). The shift generation unit 218 controls the process to repeatedly perform evolution using the genetic algorithm until the change in the representative evaluation value between generations becomes sufficiently small. In other words, the process of generating individuals continues until the individuals converge to a solution that satisfies the termination condition.
[0093] Furthermore, the termination condition may be a combination of determining the magnitude of the representative evaluation value and determining the rate of change of the representative evaluation value between generations. Alternatively, the termination condition may be configured to limit the number of iterations of evolution by the genetic algorithm to a predetermined number.
[0094] Furthermore, the shift generation unit 218 may be configured to output (display) the converged individuals. For example, the shift generation unit 218 may display all of the converged individuals, or the top m individuals with the highest evaluations among the converged individuals.
[0095] [Implementation of natural selection (Step S205)] The shift generation unit 218 performs natural selection on multiple individuals of the initial population or multiple genetically modified individuals. Natural selection, also known as selection, selects individuals from the current generation to retain the shift symbol pattern in the next generation based on the evaluation value of each individual in the current generation. In other words, through natural selection, the shift symbol pattern of the selected individuals from the current generation is transferred to the next generation of individuals. Generally, in natural selection, individuals with high evaluation values are selected so that their shift symbol patterns remain in the next generation. The work shift generation device 200 of this embodiment can use methods such as roulette selection, ranking selection, tournament selection, and elite selection as selection methods based on evaluation values. Since these selection methods are publicly known, a detailed explanation is omitted.
[0096] [Performing the crossing (Step S206)] The shift generation unit 218 performs crossover on multiple individuals that have undergone natural selection. Crossover is a genetic operation that generates a new shift symbol pattern in the next generation of individuals by rearranging shift symbols among selected current generation individuals with a predetermined crossover probability. The work shift generation device 200 of this embodiment can employ one-point, two-point, multi-point crossover, and uniform crossover. Note that the crossover methods are well known, so a detailed explanation is omitted.
[0097] [Implementation of Mutation (Step S207)] The shift generation unit 218 performs mutations on multiple new individuals that have undergone crossover. Mutation is a genetic operation that changes some of the shift symbols in a selected shift with a predetermined mutation probability.
[0098] Then, for the individuals that have evolved through genetic manipulation, the process returns to step S203, and an evaluation value is calculated for each individual.
[0099] The work shift generation program and work shift generation device 200 of this embodiment described above provide the following effects.
[0100] Before executing the genetic algorithm, it is determined whether the number of working days required of an employee over a predetermined period exceeds the number of days the employee is available to work. Based on the result of this determination, a predetermined process is executed. Therefore, it is possible to prevent or suppress the generation of work shift schedules that do not conform to the employee's working conditions.
[0101] (Second embodiment) In the second embodiment, in addition to the configuration of the first embodiment, a configuration for sorting the order in which multiple acquired staffing rules are applied will be described. In the first embodiment, for example, the case in Figure 10 where the target of the staffing rules is a unit was illustrated, but in the second embodiment, the case where the target of the staffing rules is an employee will be illustrated. In multiple staffing rules with common shift symbols, an inclusion relationship may arise between the group of employees to which one rule applies and the group of employees to which another rule applies. Also, there may be some overlap in the target groups of both groups. In these cases, the number of shift symbols assigned to each employee may differ depending on the order in which the rules are applied. In this embodiment, a configuration for sorting the order in which multiple acquired staffing rules are applied will be described, taking into consideration that the number of shift symbols assigned to employees differs depending on the order in which the rules are applied. Note that, in order to avoid duplication of explanation, detailed explanations of the same configuration as in the first embodiment will be omitted or simplified.
[0102] Figure 16 is a functional block diagram illustrating the functions of the CPU 210 of the work shift generation device 200 in the second embodiment. Figure 17A is a diagram illustrating two required number rules that have a common shift symbol to apply and are inclusion relationships in the target of application. Figure 17B is a diagram illustrating the number of working days for each employee when the two required number rules are applied in the order shown in Figure 17A. Figure 18A is a diagram illustrating the case when the application order of the two required number rules shown in Figure 17A is reversed. Figure 18B is a diagram illustrating the number of working days for each employee when the two required number rules are applied in the order shown in Figure 18A. Figure 19 is a flowchart illustrating the processing procedure of the work shift generation method executed by the work shift generation device 200 according to the second embodiment.
[0103] As shown in Figure 16, in this embodiment, the CPU 210 functions as a work condition acquisition unit 211, a required number rule acquisition unit 212, a priority acquisition unit 213, a rule sorting unit 214, a calculation unit 215, a determination unit 216, a processing execution unit 217, and a shift generation unit 218 by executing a work shift generation program. The configurations other than the rule sorting unit 214 are the same as the corresponding configurations in the first embodiment.
[0104] The rule sorting unit 214 sorts the multiple number-of-person rules acquired by the number-of-person rule acquisition unit 212 according to a predetermined criterion and outputs them to the calculation unit 215. In other words, the rule sorting unit 214 sorts the multiple number-of-person rules according to a predetermined criterion and outputs the sorted rules to the calculation unit 215. The predetermined criterion for sorting the multiple number-of-person rules will be explained below.
[0105] [Examples of applying the rule requiring multiple people] As shown in Figure 17A, the required number rule may include items such as target type, target data, date specification, and rule data. The figure illustrates the first rule and the second rule as required number rules. The first rule and the second rule are managed by ID1 and ID2, respectively. The required number rule is applied in the order of ID1, then ID2, and the number of working days for employees A to E is calculated.
[0106] The first rule has a target type of "employee," target data of "employee A, employee B, employee C, employee D, employee E," a date specification of "all day," and rule data of "exactly 1 person on early shift." The second rule has a target type of "employee," target data of "employee C, employee D, employee E," a date specification of "all day," and rule data of "exactly 2 people on early shift." In the example shown in the figure, the first and second rules share the common target type of "employee." Also, since "employee C, employee D, employee E" are common to the target data of the first and second rules, the target data of the second rule is included in the target data of the first rule. Furthermore, the rule data is common in that it is an "early" shift.
[0107] As shown in Figure 17B, first, the first rule is applied to assign the "early" shift symbols to employees A through E in an as even as possible. The assignment according to the first rule is represented by the black character "early". The rule data for the first rule is "exactly one early shift," and since 31 shift symbols are divided among 5 employees, the number of "early" shift symbols assigned to each employee is 31 ÷ 5 = 6...1 (remainder). For example, if employee A takes the 1 remainder, employee A will be assigned 7 "early" shift symbols, and employees B through E will each be assigned 6.
[0108] Next, the second rule is applied, and the "early" shift symbols are assigned to employees C through E in a way that is as even as possible. Assignments according to the second rule are represented by the gray character "early". The rule data for the second rule is "exactly 2 early shifts," so 31 shift symbols × 2 are divided among the three employees C through E, but employees C through E have already been assigned 6 "early" shift symbols each. Therefore, the number of "early" shift symbols assigned to each employee is (31 × 2 - 6 × 3) ÷ 3 = 14...2 (remainder). For example, if employees C and D take the remaining 2, then employees C and D will each be assigned 15 "early" shift symbols, and employee E will be assigned 14. Therefore, the total number of "early" shift symbols assigned to employees A through E is 75.
[0109] Figures 17A and 17B illustrate the case where the first rule is applied first, followed by the second rule. Figures 18A and 18B illustrate the opposite case, where the second rule is applied first, followed by the first rule. As shown in Figure 18A, for example, the second rule has a target type of "employee," target data of "employee C, employee D, employee E," a date specification of "all day," and rule data of "exactly 2 people early." The first rule also has a target type of "employee," target data of "employee A, employee B, employee C, employee D, employee E," a date specification of "all day," and rule data of "exactly 1 person early." In the example shown in the figure, the first and second rules share the target type of "employee." Also, "employee C, employee D, employee E" are common to both, and the target data of the second rule is included in the target data of the first rule. Furthermore, the rule data shares the commonality of being an "early" shift.
[0110] As shown in Figure 18B, first, the second rule is applied to assign the "early" shift symbols to employees C through E in a way that is as even as possible. The rule data for the second rule is "exactly 2 early shifts," and since 31 x 2 shift symbols are divided among the three employees, the number of "early" shift symbols assigned to each employee is (31 x 2) ÷ 3 = 20...2 (remainder). For example, if employees C and D take the remaining 2, then employees C and D will each be assigned 21 "early" shift symbols, and employee E will be assigned 20.
[0111] Next, the first rule is applied to distribute the "early" shift symbols as evenly as possible among employees A through E. The rule data for the first rule is "exactly one early shift," and the 31 shift symbols are divided among the five employees A through E. However, employees C through E have already been assigned 62 "early" shift symbols. Therefore, at the point when the second rule is applied, the condition of "exactly one early shift" is already satisfied for "employees A, B, C, D, and E," and no more "early" shift symbols can be assigned to employees A through E. Thus, the total number of "early" shift symbols assigned to employees A through E is 62.
[0112] Thus, when two required staffing rules apply to the same shift symbols and there is an inclusion relationship between the applicants, the number of shift symbols assigned to each employee differs depending on the order in which the rules are applied. In the examples in Figures 17A, 17B, 18A, and 18B, applying the second rule before the first rule results in a smaller total number of shift symbols assigned to employees A through E.
[0113] On the other hand, in both the first and second rules, even if the rule data is changed without altering the composition of the target employees included in the target data, applying the second rule before the first rule results in a smaller total number of shift symbols assigned to employees A through E. For example, even if the rule data for the first and second rules is set to "exactly 3 people for early shifts" and "exactly 2 people for early shifts," applying the second rule before the first rule will result in a smaller total number of shift symbols assigned to employees A through E.
[0114] In this embodiment, from the standpoint of satisfying the conditions regarding the number of working days for employees, for example, the required number rules are sorted as a default criterion for sorting the required number rules, such that the total number of shift symbols assigned to employees is smaller. Therefore, if the scope of application of the second rule is included in the scope of application of the first rule, the second rule takes precedence over the first rule regardless of the number of shift symbols assigned.
[0115] The above explains the case where multiple required number rules have common shift symbols and the target groups have an inclusion relationship. The same explanation can be applied to cases where some of the target groups included in the target data overlap.
[0116] When multiple required personnel rules have overlapping target groups, the priority of application is determined based on the number of target groups included in the target data and the number of shift symbols assigned to the rule data. While specific examples of the application of required personnel rules are omitted, the general priority of application between two required personnel rules is explained below. When two required personnel rules have a sub-sub
[0117] [Table 1]
[0118] In Table 1 above, T1⊃T2 indicates that Target 1 (Employee A to Employee E) includes Target 2 (Employee C to Employee E). Also, T1∩T2≠φ (empty set) means that there is a common part between Target 1 and Target 2. Let the number of application targets of the first rule R1 and the number of allocated shift symbols be NT1 and NS1 respectively, and let the number of application targets of the second rule R2 and the number of allocated shift symbols be NT2 and NS2 respectively. For Case 1, it is as described with reference to FIGS. 17A, 17B, 18A, and 18B. "-" indicates that it does not depend on the magnitude relationship between the number of allocated shift symbols NS1 and NS2.
[0119] Also, Cases 2-1 to 2-3 show the priority relationships when NT1>NT2 is fixed and the magnitude relationship of the number of allocated shift symbols is changed. Case 2-4 shows the priority relationship when NT1 = NT2 and NS1 < NS2. Cases 2-5 to 2-7 show the priority relationships when NT1 < NT2 is fixed and the magnitude relationship of the number of allocated shift symbols is changed.
[0120] Hereinafter, with reference to FIG. 19, the processing procedure of the work shift generation method in the present embodiment will be described. For each of Steps S101 to S119 except Step S106, since the processing is the same as the corresponding steps in the first embodiment, detailed descriptions thereof are omitted.
[0121] [Step S106] The work shift generation device 200 sorts the required number rules. More specifically, the rule sorting unit 214 sorts the plurality of required number rules acquired by the required number rule acquisition unit 212 according to a specified criterion. For example, for each of the acquired required number rules, the rule sorting unit 214 rearranges the application order of the plurality of required number rules so that the rule is satisfied and the total number of shift symbols allocated to each employee when the rule is applied is minimized.
[0122] The total number of shift symbols assigned to staff is 75 in the examples shown in Figures 17A and 17B, and 62 in the examples shown in Figures 18A and 18B. Therefore, the rule sorting unit 214 rearranges the application order from the order shown in Figures 17A and 17B to the order shown in Figures 18A and 18B.
[0123] The work shift generation program and work shift generation device 200 of this embodiment, as described above, provide the following effects in addition to the effects of the first embodiment.
[0124] The order in which the above-mentioned number of required staff rules are applied is rearranged so that the total number of shift symbols assigned to each employee is minimized. Therefore, the increase in the number of working days for each employee due to the application of the number of required staff rules can be suppressed.
[0125] (Third embodiment) In the first embodiment, a predetermined process was described in which, when the number of working days required of an employee within a predetermined period exceeds the number of working days the employee is available to work, the employee whose number of working days exceeds the limit is stored in an excess list. In the third embodiment, a predetermined process was described in which rules that target employees stored in the excess list are extracted, and the rules with the lowest priority among the extracted rules are displayed to prompt the user to modify the rules.
[0126] Therefore, it is preferable that the process described in this embodiment be executed immediately before the "review of working conditions and required number of staff rules" process in step S117 of the first and second embodiments. By executing the process of this embodiment, the user can easily understand which rules should be reviewed when reviewing working conditions and required number of staff rules in step S117. In order to avoid duplication of explanation, detailed explanations of the same configuration as in the first embodiment will be omitted or simplified.
[0127] Figure 20 is a flowchart illustrating the processing procedure of the work shift generation method executed by the work shift generation device 200 according to the third embodiment. Figure 21 is a subroutine flowchart illustrating the processing procedure for displaying rules that need correction (step S114) in the flowchart shown in Figure 20. Each process shown in Figures 20 and 21 is realized by the CPU 210 executing the work shift generation program. Figure 22 is a diagram showing an example of the display of rules that need correction.
[0128] The processes in steps S101 to S119 shown in Figure 20 are the same as those in steps S101 to S119 shown in Figure 7, except for step S114. The details of the process in step S114 are described below.
[0129] As shown in Figure 21, the work shift generation device 200 performs the following steps S201 and S202 for each of the work conditions and the required number of people rule.
[0130] [Step S201] The work shift generation device 200 determines whether or not an employee is included in the excess list generated in a predetermined process. More specifically, the work shift generation device 200 determines whether or not an employee is included in the excess list for each work condition and required number rule. For example, as shown in Figure 14B, if employees C, D, and E are stored in the excess list, it is determined that an employee is included in the excess list. If an employee is included in the excess list (step S201: YES), the process proceeds to step S202. On the other hand, if an employee is not included in the excess list (step S201: NO), the next work condition or required number rule is determined.
[0131] [Step S202] The work shift generator 200 stores rules in a modification list. The work shift generator 200 stores work conditions and required staff rules for employees included in the excess list in the modification list. For example, in Figure 14B, employees C, D, and E are included in the excess list. Therefore, in Figure 8, the work shift generator 200 stores the work conditions for ID2, whose target data is "full-time" and whose target employees are employees C, D, and E, in the modification list. The work conditions for ID2 are: condition type "number of public holidays", target type "employee group", target data "full-time", and condition data "exactly 9 days per month". Also, in Figure 10, the work shift generator 200 stores the required staff rules for ID2 and ID3, whose target data is "unit B" and whose target employees are employees C, D, and E, in the modification list. The required number rule for ID2 is: target type is "unit / floor", target data is "unit B", day specification is "all day", and rule data is "early on exactly 1 day". The required number rule for ID3 is: target type is "unit / floor", target data is "unit B", day specification is "all day", and rule data is "late on exactly 1 day".
[0132] Additionally, the working conditions for ID3-ID9, which apply to employee C and employee D individually, and the required number rule for ID4, which applies to unit B, are also included in the revision list.
[0133] [Step S203] The work shift generation device 200 sorts the correction list in descending order of priority. The work shift generation device 200 sorts the correction list in descending order of priority according to the priority table shown in Figure 12, for example. For example, the work conditions for ID2 shown in Figure 8, and the required number of staff rules for ID2 and ID3 shown in Figure 10, have a priority set to "low". Therefore, in the correction list, the rules are rearranged in the order of, for example, work conditions for ID2, required number of staff rules for ID2, required number of staff rules for ID3, and so on.
[0134] [Step S204] The work shift generation device 200 displays the top N items in the correction list. For example, if N is 3, the work shift generation device 200 controls the display of the operation display unit 160 to display the top 3 items in the correction list, as shown in Figure 22. The work shift generation device 200 may also be configured to display a message recommending the correction of lower-priority rules in addition to displaying the top items in the correction list.
[0135] The work shift generation program and work shift generation device 200 of this embodiment, as described above, provide the following effects in addition to the effects of the first and second embodiments.
[0136] The system displays the rules that need correction, prompting users to modify them. Furthermore, users can easily understand which rules need reviewing.
[0137] (Fourth embodiment) In the fourth embodiment, we will describe a case in which the availability of available working days is determined for each unit, and units without availability are encouraged to request assistance from units with availability. In order to avoid repetition of explanations, detailed explanations of the same configuration as in the first embodiment will be omitted or simplified.
[0138] Figure 23 is a flowchart illustrating the processing procedure of the work shift generation method executed by the work shift generation device 200 according to the fourth embodiment. Figure 24 is a subroutine flowchart illustrating the procedure for the process (step S116) of displaying whether or not there is a buffer in the number of working days for each unit in the flowchart shown in Figure 23. Each process shown in Figures 23 and 24 is realized by the CPU 210 executing the work shift generation program. Figure 25 is a diagram showing an example of displaying whether or not there is a buffer for each unit.
[0139] The processes in steps S101 to S119 shown in Figure 23 are the same as those in steps S101 to S119 shown in Figure 7, except for step S116. The details of the process in step S116 are described below.
[0140] As shown in Figure 24, steps S301 to S305 are executed for each unit.
[0141] [Step S301] The work shift generation device 200 is initialized to a total excess of 0. When calculating the total excess for each unit, the total excess is initialized to 0.
[0142] [Step S302] The work shift generation device 200 calculates the excess for each employee within the unit and then calculates the total excess by adding up the excess for all employees in the unit. The excess may be the number of days in which the sum of the number of public holidays and the total number of shifts other than public holidays exceeds a predetermined number of days (for example, 31 days). Alternatively, the excess may be the difference between the number of working days required of the employee and the number of working days available.
[0143] [Step S303] The work shift generation device 200 determines whether the total excess is greater than 0. The total excess is greater than 0 if at least one employee in the unit has an excess. On the other hand, the total excess is 0 if no employee in the unit has an excess.
[0144] [Steps S304, S305] The work shift generation device 200 stores the unit name in the excess list if the total excess is greater than 0 (step S304). On the other hand, if the total excess is 0, it stores the unit name in the slack list (step S305). In the example shown in Figure 13, there is no excess for unit A (employee A and employee B), but there is an excess for unit B (employee C, employee D, and employee E). Therefore, unit B is stored in the excess list and unit A is stored in the slack list.
[0145] [Step S306] The work shift generation device 200 displays whether there is a surplus in the number of working days for each unit. For example, the work shift generation device 200 displays unit B in the excess list and unit A in the surplus list. Therefore, the user can recognize that unit A has a surplus in the number of working days and unit B does not. Thus, unit B, which does not have a surplus in the number of working days, can ask unit A, which has a surplus in the number of working days, for help, prompting the two units to coordinate their work.
[0146] The above describes a scenario where the availability of working days is determined for each unit, and units without availability are encouraged to request assistance from units with availability. However, the system is not limited to this form; it may also be configured to determine the availability of working days for each floor, and floors without availability request assistance from floors with availability, thereby encouraging the adjustment of workloads between the two floors.
[0147] The work shift generation program and work shift generation device 200 of this embodiment, as described above, provide the following effects in addition to the effects of the first to third embodiments.
[0148] Units or floors with insufficient working days can request assistance from units or floors with available working days, encouraging them to adjust workloads between the two units or floors.
[0149] (Fifth embodiment) The first to fourth embodiments described a case in which it is determined whether the number of working days required of an employee exceeds the number of working days available to the employee, and a predetermined process is executed based on the determination result. The fifth embodiment describes a case in which it is determined whether the number of people who can be assigned to a task is equal to or greater than the number of employees required for the task, and a predetermined process is executed based on the determination result.
[0150] Figure 26 is a flowchart illustrating the processing steps of a work shift generation method executed by a work shift generation device according to the fifth embodiment. Each process shown in Figure 26 is realized by the CPU 210 executing a work shift generation program.
[0151] The processes in steps S401 to S405 and S419 shown in Figure 26 are the same as the processes in steps S101 to S105 and S119 shown in Figure 7, respectively. The details of the processes in steps S407, S409, S411, S413 and S417 are described below.
[0152] [Step S407] The work shift generation device 200 calculates the number of people that can be assigned to work. More specifically, the work shift generation device 200 calculates the number of days each employee can work during a predetermined period from the employee's work conditions obtained in step S401, and calculates the number of people that can be assigned to work during the predetermined period based on those number of days. For example, if the predetermined period is 31 days, it calculates the number of people that can be assigned to work during those 31 days.
[0153] [Step S409] The work shift generation device 200 calculates the number of employees required for the work. More specifically, the work shift generation device 200 calculates the number of employees required for the work based on the required number rule obtained in step S402.
[0154] Alternatively, the work shift generation device 200 can also calculate the number of staff required for the work based on the number of care recipients and information about those care recipients. Information about care recipients includes, for example, the care recipient's name, date of birth, ID number, room number, medical history, level of care required, and current medical treatment status.
[0155] [Step S411] The work shift generation device 200 determines whether the number of people who can be assigned to a task is equal to or greater than the number of employees required for that task. If the number of people who can be assigned to a task during a predetermined period is not equal to or greater than the number of employees required for that task (step S411: NO), the work shift generation device 200 proceeds to step S413. On the other hand, if the number of people who can be assigned to a task during a predetermined period is equal to or greater than the number of employees required for that task (step S411: YES), the work shift generation device 200 proceeds to step S417 without proceeding to step S413. The predetermined period is, for example, 31 days.
[0156] [Step S413] The work shift generation device 200 performs a predetermined process. The predetermined process may be at least one of the following: (a) warning the user that the number of people who can be assigned to the work has been exceeded; (b) storing the employees who have been exceeded in the number of people who can be assigned to the work in an excess list; or (c) displaying the number of people who can be assigned to the work and the number of employees required for the work during a predetermined period.
[0157] [Step S417] The work shift generation device 200 updates the work conditions and the required number of staff rules. Based on the results of the predetermined processing in step S413, the user reviews at least one of the work conditions and the required number of staff rules so that the number of people who can be assigned to a task is equal to or greater than the number of employees required for the task. The user changes at least one of the work conditions and the required number of staff rules through the operation display unit 160 of the information processing terminal 100. The work shift generation device 200 updates the data stored in the storage 240 for at least one of the work conditions and the required number of staff rules that have been changed by the user.
[0158] As shown in the flowchart in Figure 26, the work shift generation device 200 obtains the working conditions of employees, the rules for the required number of employees, and their priority. The work shift generation device 200 calculates the number of people that can be assigned to work for a predetermined number of days and determines whether the number of people that can be assigned to work for a predetermined number of days is equal to or greater than the number of employees required for the work. If the number of people that can be assigned to work for a predetermined period is not equal to or greater than the number of employees required for the work, the work shift generation device 200 executes a predetermined process.
[0159] The work shift generation program and work shift generation device of this embodiment described above provide the following effects.
[0160] Before executing the genetic algorithm, it is determined whether the number of people who can be assigned to the work within a predetermined number of days is greater than or equal to the number of employees required for the work, and a predetermined process is executed according to the result of the determination. Therefore, it is possible to prevent or suppress the generation of work shift schedules that do not conform to the working conditions of the employees.
[0161] The configurations of the work shift generation device and work shift generation program described above are merely the main configurations described in order to explain the features of the above-described embodiments, and are not limited to the above configurations, and can be modified in various ways within the scope of the claims.
[0162] For example, the information processing terminal 100 and the work shift generation device 200 may each include components other than those described above, or may not include some of the components described above.
[0163] Furthermore, the information processing terminal 100 and the work shift generation device 200 may be composed of separate devices, or they may be composed of a single device.
[0164] Furthermore, the functions of each component of the work shift generation system 10 may be implemented by other components. For example, at least a portion of the processing described as being performed in the work shift generation device 200 may be performed by the information processing terminal 100 or other devices. Alternatively, the information processing terminal 100 may be omitted by incorporating its functions into the work shift generation device 200.
[0165] Furthermore, the work shift generation device 200 may be configured to display, depending on or regardless of the determination result, the number of days an employee can work and the number of days an employee is required to work within a predetermined period. In addition, the work shift generation device 200 may be configured to display, depending on or regardless of the determination result, the number of people who can be assigned to work and the number of employees required for work within a predetermined period.
[0166] Furthermore, the processing units in the flowchart of the above embodiment are divided according to the main processing content in order to facilitate understanding of each process. The present invention is not limited by how the processing steps are divided. Each process can be further divided into many more processing steps. One processing step may perform even more processes. Also, multiple steps may be performed simultaneously or in combination.
[0167] The means and methods for performing various processing tasks in the system according to the above embodiment can be implemented by either a dedicated hardware circuit or a programmed computer. The program may be provided, for example, on a computer-readable recording medium such as a flexible disk or CD-ROM, or it may be provided online via a network such as the Internet. In this case, the program recorded on the computer-readable recording medium is usually transferred to and stored in a storage unit such as a hard disk. Furthermore, the program may be provided as a standalone application software, or it may be incorporated into the software of the device as a function of the system.
[0168] While embodiments of the present invention have been described and illustrated in detail, the disclosed embodiments are for illustrative purposes only and are not limiting. The scope of the present invention should be interpreted in accordance with the language of the appended claims. [Explanation of Symbols]
[0169] 100 information processing terminals, 110 CPU, 120 ROM, 130 RAM, 140 storage, 150 Communications Department, 160 Operation display section, 200 work shift generation device, 210 CPU, 211 Business Conditions Acquisition Department, 212 Required number of people rule acquisition section, 213 Priority Rough Acquisition Department; 214 Rule sort section, 215 Arithmetic section, 216 Judgment Department, 217 Processing execution unit, 218 Shift generation unit, 220 ROM, 230 RAM, 240 storage, 250 Communications Department.
Claims
1. In a work shift generation program that generates work shifts using a genetic algorithm, Procedure (a) for obtaining the working conditions of employees involved in the work, A procedure (b) for calculating the number of days the employee is available to work during a predetermined period, based on the working conditions obtained in the procedure (a) above, Before running a genetic algorithm to generate work shifts, a procedure (c) to determine whether the number of working days required of the employee over a predetermined period exceeds the number of working days available to the employee, A procedure (d) in which a predetermined process is performed according to the determination result in the above procedure (c), A work shift generation program, including the following:
2. Before step (c) above, Procedure (e) for obtaining the rules regarding the number of people required for the aforementioned work, A work shift generation program according to claim 1, further comprising: (f) a procedure for calculating the number of working days required of the employee based on the aforementioned working conditions and rules.
3. Before step (c) above, The procedure (g) further includes obtaining priority for the rules regarding the aforementioned working conditions and the required number of people, The work shift generation program according to claim 2, wherein in step (f) above, the number of working days required for an employee is calculated by assigning shifts to the employee by applying the work conditions and the rules in the order of priority above.
4. The work shift generation program according to claim 3, further comprising a step (h) prompting the user to modify the lower-priority rule.
5. A work shift generation program according to claim 2, wherein, among the multiple rules obtained in the above procedure (e), the order in which rules of the same type of shift are applied is rearranged such that the total number of shifts assigned to an employee when the rule satisfies the rule and is applied is minimized.
6. The work shift generation program according to claim 1, wherein the number of available working days is the number of days obtained by subtracting the number of public holidays from the prescribed number of days.
7. In a work shift generation program that generates work shifts using a genetic algorithm, Procedure (a) for obtaining the working conditions of multiple employees involved in the work, (b) A step of calculating the number of people who can be assigned to the task based on the working conditions of the aforementioned multiple employees, Step (c) calculates the number of staff required for the aforementioned work, Before running the genetic algorithm to generate work shifts, a procedure (d) is performed to determine whether the number of people who can be assigned to the task is equal to or greater than the number of employees required for the task, A procedure (e) in which a predetermined process is performed according to the determination result in the above procedure (d), A work shift generation program, including the following:
8. A work shift generation program according to claim 3 or 4, further comprising step (i) of generating a work shift schedule by a genetic algorithm based on the work conditions and the rules.
9. In step (c) above, if the number of working days required of the employee exceeds the number of available working days, the work shift generation program according to any one of claims 1 to 6, wherein in step (d) above, as a predetermined process, the employee is notified that the number of working days required of the employee exceeds the number of available working days, before executing the genetic algorithm to generate the work shift.
10. The procedure (i) further includes obtaining information regarding the affiliations of the aforementioned multiple employees, In step (c) above, if the number of working days required of the employee exceeds the number of available working days, the work shift generation program according to any one of claims 1 to 6, wherein in step (d) above, as a predetermined process, the program prompts the employee to coordinate work between the group to which the employee belongs and the group to which the employee does not belong, before executing the genetic algorithm to generate the work shift.
11. In step (e) above, if the number of people who can be assigned to the task is less than the number of employees required for the task, the work shift generation program according to claim 7, wherein in step (f) above, as a predetermined process, the program notifies that the number of people who can be assigned to the task is less than the number of employees required for the task, before executing the genetic algorithm to generate the work shift.
12. The procedure (g) further includes obtaining information regarding the affiliations of the aforementioned multiple employees, The work shift generation program according to claim 7, wherein in step (e), if the number of people who can be assigned to the task is greater than or equal to the number of employees required for the task, in step (f), as a predetermined process, the program prompts the group to which the multiple employees belong and the group to which the employees do not belong to generate work shifts, before executing the genetic algorithm.
13. A work shift generation program according to any one of claims 1 to 7, further comprising a step (j) for outputting the determination result.
14. In step (c) above, if the number of working days required of the employee exceeds the number of available working days, the work shift generation program according to any one of claims 1 to 6, wherein in step (d) above, as a predetermined process, the number of available working days for the employee and the number of working days required of the employee are displayed for a predetermined number of days, before executing the genetic algorithm to generate the work shift.
15. A work shift generation device having a computer for executing a work shift generation program according to any one of claims 1 to 7.