Automatic shift generation device, automatic shift generation method, and automatic shift generation program
The automatic shift generation device uses a pre-placement process with priority shift conditions to address the incomplete satisfaction of user-defined conditions in genetic algorithms, enhancing the automation and accuracy of shift scheduling.
Patent Information
- Application Number
- JP2024131716
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-08
- Publication Date
- 2026-02-20
AI Technical Summary
Existing genetic algorithms for automatic shift generation often fail to completely satisfy user-defined shift conditions, particularly for nursing care facilities, leading to the need for extensive manual revisions to ensure conditions like night shifts and public holidays are met.
An automatic shift generation device and method that includes a pre-placement process using priority shift conditions, followed by a genetic algorithm to ensure these conditions are satisfied before applying a genetic algorithm to the remaining conditions.
This approach reduces the need for manual revisions to the generated shift schedules by ensuring priority conditions are met, improving the overall satisfaction of user-defined shift requirements.
Smart Images

Figure 2026029065000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an automatic shift generation device, an automatic shift generation method, and an automatic shift generation program. [Background technology]
[0002] Genetic algorithms have traditionally been used to generate operation schedules (diagrams) for buses, trains, and the like, as well as machine operation schedules (see, for example, Patent Document 1 below). Patent Document 1 discloses a schedule creation device that applies a genetic algorithm. This schedule creation device has a crossover means, a mutation means, a bias means, an evaluation means, and a selection means. The crossover means generates a child chromosome by rearranging the genetic sequence of a selected parent chromosome according to the genetic sequences of other parent chromosomes. The mutation means rearranges the genetic sequence of the child chromosome with a predetermined probability. The bias means manipulates the genetic sequence of the child chromosome every predetermined number of times according to a predetermined rule. The evaluation means evaluates to what extent the child chromosome satisfies preset conditions. The selection means selects parent chromosomes or child chromosomes with poor evaluation values according to evaluation values set for each parent chromosome and child chromosome.
[0003] In recent years, genetic algorithms are not limited to diagrams, but are also used to generate shifts for staff and employees in nursing homes, hospitals, factories, etc. In automatic shift generation using genetic algorithms, multiple 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, public holidays, and number of shifts. An evaluation value that indicates the degree to which the shift conditions are satisfied is then calculated, and the individuals evolve to achieve a higher evaluation value. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-175639 Summary of the Invention [Problem to be solved by the invention]
[0005] However, when using a genetic algorithm to automatically generate shift schedules, because there are a wide variety of shift conditions, the system often generates shift schedules that are balanced and generally satisfy all of the shift conditions. As a result, it is not always possible to generate a shift schedule that completely (100%) satisfies the shift conditions that the user considers most important, and it is not easy to generate a shift schedule that completely satisfies all shift conditions.
[0006] For example, in nursing care facilities, the allocation of night shifts is important, and it is required that shift conditions such as the number of night shifts per day and the number of night shifts per staff member are always met. Furthermore, it is customary for a night shift to be followed by a public day off. In this case, on the work shift schedule, a night shift symbol (e.g., "night") is assigned, and the day after that, a night shift symbol (e.g., "morning") is assigned, and a public day off symbol (e.g., "public") is assigned the day after that.
[0007] Therefore, if a shift is generated that does not satisfy the shift conditions for night shifts, it will be necessary to revise the work assignments over several days to satisfy the conditions for night shifts, the time after the night shift, and public holidays. Furthermore, if a part of the work assignment related to night shifts is revised, it is highly likely that other parts of the work assignments will also need to be revised. As a result, it is possible that users will need to make extensive manual revisions to the work shift schedules generated by automatic shift generation using genetic algorithms.
[0008] The present invention has been made in consideration of the above circumstances, and aims to provide an automatic shift generation device, an automatic shift generation method, and an automatic shift generation program that can prevent or reduce the need for users to manually and significantly modify a generated work shift schedule. [Means for solving the problem]
[0009] The above-mentioned problems of the present invention are solved by the following means.
[0010] (1) An automatic shift generation device having: a shift condition setting unit that sets multiple shift conditions for generating a shift table; and a label placement unit that performs a pre-placement process that places labels in advance on the shift table based on a priority shift condition that should be preferentially satisfied among the multiple shift conditions, prior to a main placement process that main placements labels on the shift table using a genetic algorithm so as to satisfy the multiple shift conditions.
[0011] (2) The automatic shift generation device described in (1) above, wherein the shift condition setting unit sets the priority shift condition from the plurality of shift conditions based on user input.
[0012] (3) The automatic shift generation device according to (1) or (2) above, wherein the label placement unit places labels in the shift table in advance using a genetic algorithm.
[0013] (4) The automatic shift generation device according to (1) or (2) above, wherein the shift condition setting unit sets priorities among the plurality of priority shift conditions.
[0014] (5) The automatic shift generation device described in (2) above, wherein the shift condition setting unit sets a predetermined number or less of the priority shift conditions.
[0015] (6) The automatic shift generation device described in (2) above, wherein the shift condition setting unit allows the user to select a priority shift condition to be excluded from the multiple priority shift conditions when the label placement unit cannot perform pre-placement processing so as to satisfy the multiple priority shift conditions.
[0016] (7) The automatic shift generation device described in (4) above, wherein the shift condition setting unit deletes the priority shift condition with the lowest priority among the plurality of priority shift conditions when the label placement unit cannot perform pre-placement processing so as to satisfy the plurality of priority shift conditions.
[0017] (8) The automatic shift generation device described in (4) above, wherein the label placement unit places labels based on a priority shift condition with a lower priority among the plurality of priority shift conditions, and then overwrites and places symbols on the shift table based on a priority shift condition with a higher priority.
[0018] (9) The label placement unit calculates the number of labels to be placed for each staff member and allocates a number to staff members who have not been assigned a number of labels, thereby placing the labels so as not to cause bias in the placement of labels in the shift schedule, in the automatic shift generation device described in (2) above.
[0019] (10) a step (a) of setting a plurality of shift conditions for generating a shift table; and (b) performing a pre-arrangement process of pre-arranging labels in the shift table based on a priority shift condition that should be preferentially satisfied among the plurality of shift conditions, prior to a main arrangement process of actually arranging labels in the shift table using a genetic algorithm so as to satisfy the plurality of shift conditions.
[0020] (11) Step (a) of setting multiple shift conditions for generating a shift table; and (b) a procedure for performing a pre-arrangement process of pre-arranging labels in the shift table based on a priority shift condition that should be preferentially satisfied among the plurality of shift conditions, prior to a main arrangement process of finally arranging labels in the shift table using a genetic algorithm so as to satisfy the plurality of shift conditions. [Effects of the Invention]
[0021] According to the present invention, prior to the main placement process in which labels are placed on a work shift schedule using a genetic algorithm so as to satisfy multiple shift conditions, a pre-placement process is performed in which labels are placed on the work shift schedule in advance based on a priority shift condition that should be satisfied first among the multiple shift conditions. This prevents or reduces the need for users to manually make significant revisions to the generated work shift schedule. [Brief explanation of the drawings]
[0022] 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 purposes of illustration only and are not intended to define the limits of the invention. [Figure 1] 1 is a block diagram illustrating a schematic configuration of an automatic shift generation system according to a first embodiment of the present invention. [Figure 2] 2 is a block diagram showing a schematic configuration of the information processing terminal shown in FIG. 1. FIG. [Figure 3] 3 is a schematic diagram illustrating an example of a screen for accepting shift conditions displayed on the information processing terminal shown in FIG. 1. FIG. [Figure 4] 2 is a block diagram illustrating a schematic configuration of a server shown in FIG. 1. FIG. [Figure 5] FIG. 2 is a schematic diagram illustrating an example of a work shift schedule. [Figure 6] 1 is a flowchart illustrating a processing procedure of an automatic shift generation method according to the first embodiment. [Figure 7] 7 is a subroutine flowchart illustrating a processing procedure for setting a shift condition (step S10) in FIG. 6; [Figure 8] FIG. 10 is a schematic diagram showing an example of setting priorities of shift conditions and priority shift conditions. [Figure 9] 7 is a subroutine flowchart illustrating the processing procedure for performing the pre-arrangement processing (step S20) in FIG. 6; [Figure 10] FIG. 10 is a schematic diagram illustrating a work shift schedule after the pre-arrangement process is performed. [Figure 11] 10 is a subroutine flowchart illustrating a processing procedure for performing a pre-arrangement process (step S20) in the second embodiment of the present invention. [Figure 12] 12 is a subroutine flowchart illustrating the procedure of the process (step S212) of arranging shift symbols in the work shift table in FIG. 11. DETAILED DESCRIPTION OF THE INVENTION
[0023] Hereinafter, embodiments of the present invention will be described 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 duplicate explanations will be omitted. Furthermore, the dimensional proportions in the drawings are exaggerated for the sake of explanation and may differ from the actual proportions.
[0024] (First embodiment) FIG. 1 is a block diagram illustrating the schematic configuration of an automatic shift generation system 10 according to a first embodiment of the present invention. The automatic shift generation system 10 has an information processing terminal 100 and a server 200. The information processing terminal 100 and the server 200 are configured to be connectable to each other via a network. The server 200 is, for example, a cloud server, but may also be an on-premise server (server device). The server 200 constitutes an automatic shift generation device.
[0025] The automatic shift generation system 10 may be installed within a facility such as a nursing home, hospital, or factory. Alternatively, some or all of the components of the automatic shift generation system 10 may be installed outside the facility (for example, in the headquarters building of a corporation that operates multiple facilities). A corporation includes an organization made up of multiple members (personnel). Members include all personnel who work according to work shifts (hereinafter simply referred to as "shifts").
[0026] The configuration of the automatic shift generation system 10 and the method for automatically generating shifts using the automatic shift generation system 10 will be described below, taking as an example a case where shifts are generated for care staff at a care facility run by a corporation.
[0027] <Information processing terminal 100> The information processing terminal 100 is a terminal used by a user such as a facility director, manager, or administrator of a nursing care facility, and may be a desktop PC (Personal Computer), a notebook PC, a tablet PC, a smartphone, or the like.
[0028] Fig. 2 is a block diagram illustrating a schematic configuration of the information processing terminal 100 shown in Fig. 1. The information processing terminal 100 has a CPU (Central Processing Unit) 110, a ROM (Read Only Memory) 120, a RAM (Random Access Memory) 130, a storage 140, a communication interface 150, and an operation display unit 160. Each component is connected to each other via a bus so that they can communicate with each other.
[0029] The CPU 110 controls the above components and performs various arithmetic processing in accordance with programs recorded in the ROM 120 and storage 140. Specific functions of the CPU 110 will be described later. The ROM 120 stores various programs and various data. The RAM 130 temporarily stores programs and data as a working area.
[0030] Storage 140 is configured with a hard disk drive (HDD), a solid state drive (SDD), etc., and stores various programs including an operating system and various data. For example, an application is installed in storage 140 for receiving input (including instructions, etc.) from a user and transmitting and receiving various information to and from other devices such as server 200. In addition, an application is installed in storage 140 for outputting (displaying) information on operation display unit 160.
[0031] The communication interface 150 is an interface for communicating with other devices. As the communication interface 150, a wired or wireless communication interface conforming to various standards is used.
[0032] The operation display unit 160 is, for example, a touch screen display, and displays various information such as shift conditions (hereinafter simply referred to as "shift conditions") that must be satisfied by the shifts to be generated, the priority of the shift conditions, etc. The operation display unit 160 accepts various inputs from the user, including the shift conditions, priority, etc.
[0033] The shift conditions in this specification may primarily refer to rules, practices, etc. regarding work shifts at a facility. Shift conditions may be established for each facility, taking into consideration, for example, the number of staff required for each care job, laws and regulations such as the Labor Standards Act, staff preferences, and facility practices. For example, shift conditions may include the number of consecutive work days available, the number of consecutive vacation days available, the number of public holidays (per week, per month) for each staff member, the working hours (per week, per month) for each staff member, the number of working days (per week, per month) for each staff member, and the shifts that can be set for each staff member. Shift conditions may also include the number of night shift days (per week, per month) desired for each staff member, and the days that each staff member desires to work. Staff members include full-time and part-time caregivers, nurses, and registered dietitians, etc.
[0034] The priority of a shift condition indicates, for example, the relative priority relationship between multiple shift conditions, and is expressed by a number from 1 to 10 depending on the degree of priority the user desires. In this embodiment, for example, a shift condition with a smaller number is given priority over a shift condition with a larger number, but conversely, a shift condition with a larger number may be configured to be given priority over a shift condition with a smaller number.
[0035] FIG. 3 is a schematic diagram illustrating an example of a shift conditions reception screen displayed on the information processing terminal 100 shown in FIG. 1. The shift conditions reception screen is displayed on the display of the operation display unit 160. The operation display unit 160 receives the shift conditions and / or the priority of the shift conditions (hereinafter referred to as "shift conditions, etc.") entered by the user on the shift conditions reception screen, and transmits them to the CPU 110. The CPU 110 transmits the received shift conditions, etc. to the server 200. In the server 200, the received shift conditions, etc. are stored in the RAM 230 or the storage 240 (see FIG. 4).
[0036] In the example shown in FIG. 3, the number of people required for each shift is entered as a shift condition on the shift condition reception screen. That is, the shift condition entered is that night shifts (shift symbol "night") are assigned to one staff member belonging to a unit called "Unit B" every day every month. The importance corresponds to the priority of the shift condition. The assignment of night shifts is set to "required." "Required" may correspond to a priority of 10 or 9, for example.
[0037] <Server 200> 4 is a block diagram showing a schematic configuration of the server 200. The server 200 has a CPU 210, a ROM 220, a RAM 230, a storage 240, and a communication interface 250. Each component is connected to each other via a network or a bus so that they can communicate with each other.
[0038] The configurations and basic functions of the CPU 210, ROM 220, RAM 230, storage 240, and communication interface 250 are the same as those of the corresponding elements of the information processing terminal 100, and therefore redundant explanations will be omitted. The CPU 210 realizes various functions by executing an automatic shift generation program. For example, in this embodiment, the CPU 210 functions as a shift condition setting unit and a label placement unit by executing the automatic shift generation program.
[0039] FIG. 5 is a schematic diagram showing an example of a work shift schedule. In the diagram, shift assignments for each of four staff members 1 to 4 for one week in a certain month are illustrated. The shift condition setting unit sets multiple shift conditions for generating the work shift schedule. The work shift schedule is a list showing the shift assignments for each staff member for each day in a specified period, and is generated by arranging shift symbols based on the shift conditions. The specified period is usually one month in many cases, but in FIG. 5, one week in a certain month is illustrated as an example to simplify the explanation.
[0040] Shift conditions refer to conditions that the shift to be generated must satisfy and are based on rules at the facility. In this specification, rules refer to regulations, customs, agreements, contracts, promises, applications, records, etc. related to work shifts at the facility that form the basis for generating a work shift schedule. In this embodiment, since shift conditions are uniquely defined for rules, a configuration in which the user inputs / selects rules may be used instead of inputting / selecting shift conditions. For example, the following shift conditions correspond to rules:
[0041] - Shift conditions regarding the number of people required per day for each shift symbol (working time type) Based on the rules regarding the number of staff required for each time slot on each day, shift conditions regarding the number of staff required for each shift symbol per day are set.
[0042] Shift conditions for consecutive shift symbols Based on the rule that the day after the night shift starts is the end of the night shift and the day after the end of the night shift is a public holiday, the shift conditions for consecutively setting the shift symbols are set.
[0043] · Shift conditions for each employee regarding available shift symbols (working time zone types) Based on the agreement regarding the available work time periods and available work types for each employee, shift conditions regarding the available shift symbols for each employee are set.
[0044] ·Shift conditions regarding desired public holidays for each employee Based on the application for desired public holidays for each employee, shift conditions for desired public holidays for each employee are set.
[0045] · Shift conditions regarding desired working days for each employee Based on the application for each employee's desired working days, shift conditions for each employee's desired working days are set.
[0046] Shift conditions regarding the number of shifts each employee works Based on the records relating to the number of shifts per employee, shift conditions relating to the number of shifts per employee are set.
[0047] Shift conditions related to staff compatibility Based on records of compatibility between staff and care recipients and compatibility between staff members in the unit, shift conditions relating to compatibility between staff members are set.
[0048] The shift conditions are registered in advance by the user or obtained from the information processing terminal 100 and stored in the storage 240.
[0049] Shift symbols are unique symbols that represent shift assignments in a work shift schedule. Examples of shift symbols include "night" (night), "day" (day), "early" (early), "late" (late), "after a night shift," and "public" (public holiday). Instead of the kanji characters "night," "day," "early," "late," and "early," alphabets, numbers, and other characters may be used as shift symbols. Furthermore, identifiers such as marks with different shapes may be used instead of shift symbols. Alternatively, shift assignments and shift types in a work shift schedule can be represented by differences in color, shading, and size of shift symbols and marks, or by differences in the color of the squares in the shift schedule. In this specification, the shift symbols, marks, and square colors in the shift schedule that represent shift assignments are referred to as "labels."
[0050] The label placement unit performs a pre-placement process prior to the main placement process. The pre-placement process is a process in which shift symbols are placed in advance (before the main placement process) in the work shift table based on priority shift conditions, which are shift conditions that should be satisfied preferentially among multiple shift conditions. The main placement process is a process in which shift symbols are placed in the work shift table using a genetic algorithm so as to satisfy multiple shift conditions excluding the priority shift conditions used in the pre-placement process. Details of the main placement process and the pre-placement process will be described later.
[0051] Various computer programs including an automatic shift generation program for the CPU 210 to execute each process are installed in the storage 240. The storage 240 also stores shift conditions and priorities received from the information processing terminal 100, etc. The shift conditions and priorities in the storage 240 can be added or updated by input from the information processing terminal 100, etc.
[0052] <Processing procedure for automatic shift generation method> FIG. 6 is a flowchart illustrating the processing steps of the automatic shift generation method in the first embodiment. FIG. 7 is a subroutine flowchart illustrating the processing steps for setting shift conditions (step S10) in FIG. 6. FIG. 8 is a schematic diagram showing an example of setting priorities of shift conditions and priority shift conditions. FIG. 9 is a subroutine flowchart illustrating the processing steps for performing pre-arrangement processing (step S20) in FIG. 6. The processing of the flowcharts or subroutine flowcharts shown in FIGS. 6, 7, and 9 is realized by CPU 210 executing an automatic shift generation program.
[0053] As shown in Figure 6, the automatic shift generation method of this embodiment consists of three processing steps: setting shift conditions (step S10), performing pre-arrangement processing (step S20), and performing main arrangement processing (step S30). An overview of each processing step from S10 to S30 is as follows.
[0054] In step S10, the CPU 210 functions as a shift condition setting unit and sets multiple shift conditions for generating a work shift table based on the shift conditions. The shift condition setting unit also sets priority shift conditions from the multiple shift conditions. The priority shift conditions correspond to the shift conditions that the user wants to prioritize among the multiple shift conditions.
[0055] Next, in step S20, the CPU 210 functions as a label placement unit and performs a pre-placement process to place shift symbols in the work shift table in advance based on the priority shift conditions set in step S10. As a result, the work shift table has a shift symbol placement that satisfies the priority shift conditions.
[0056] Next, in step S30, the CPU 210 functions as a label placement unit, and uses a genetic algorithm to actually place shift symbols in the work shift table in which shift symbols have been placed by the pre-placement process so that the remaining shift conditions are satisfied. That is, in the actual placement process, shift symbols are placed in positions in the shift table in which no shift symbols have been placed, excluding positions in which shift symbols have already been placed by the pre-placement process.
[0057] In this placement process, multiple shifts are generated as individuals for each generation using a genetic algorithm based on multiple shift conditions excluding the priority shift condition. Then, crossover, mutation, and selection are repeated between the shifts to evolve individuals with a higher achievement level (evaluation value), which indicates the degree to which the shift conditions are satisfied. Crossover is a genetic operation that generates new shifts by rearranging shift symbols between selected shifts with a predetermined crossover probability. Mutation is a genetic operation that generates new shifts by changing some shift symbols in selected shifts with a predetermined mutation probability.
[0058] In a genetic algorithm, the achievement level is calculated for each individual. The achievement level for each individual is calculated as the sum of weighted achievement levels, which are the achievement levels for each shift condition used to generate the individual multiplied by a weighting coefficient. In other words, the achievement level for each individual is the sum of the weighted achievement levels calculated for all shift conditions used to generate the individual. Then, from the multiple individuals generated in each generation, individuals with relatively low achievement levels are selected, and the individual with the highest achievement level is ultimately generated.
[0059] Specifically, for example, when three shift conditions, A to C, are used to generate a shift (individual), the weighted achievement degree for each shift condition is calculated by the following formulas (1) to (3).
[0060] Weighted achievement rate of shift condition A a = Weighting coefficient α × Achievement rate of shift condition A... (1) Weighted achievement rate of shift condition B b = Weighting coefficient β × Achievement rate of shift condition B…(2) Weighted achievement rate of shift condition C c = weight coefficient γ × achievement rate of shift condition C … (3) The weighting coefficients α, β, and γ are each a value greater than or equal to 0 and less than 1, and can be set so that the sum of the weighting coefficients α, β, and γ is 1. The weighting coefficients α, β, and γ can each be set arbitrarily by the user. The weighting coefficients α, β, and γ can be set, for example, according to the priority of the shift conditions. More specifically, the weighting coefficients α, β, and γ can be set so that the higher the priority, the larger the value. For example, if the priority of shift condition A is greater than the priority of shift condition B and greater than the priority of shift condition C, the weighting coefficients can be set so that α>β>γ.
[0061] The individual achievement level (overall achievement level) is calculated, for example, by the following formula (4).
[0062] Individual achievement = weighted achievement a + weighted achievement b + weighted achievement c... (4) As described above, in the process of the flowchart shown in Fig. 6, the shift condition setting unit sets the shift conditions, performs the pre-arrangement process, and then performs the main arrangement process. Below, the details of the respective processing procedures for setting the shift conditions and performing the pre-arrangement process will be described with reference to Figs. 7 to 9.
[0063] [Setting shift conditions (Step S10)] As shown in FIG. 7, in step S101, the shift condition setting unit displays a list of shift conditions and priorities to the user. For example, as shown in FIG. 8, the shift condition setting unit controls the CPU 110 to display a list of already set shift conditions and the priority of each shift condition on the display of the operation and display unit 160. The user can use the touch screen of the operation and display unit 160 to change existing shift conditions and their priorities, or add new shift conditions and their priorities. In the example shown in the same figure, ten shift conditions, shift conditions A to J, and the priority of each shift condition are illustrated.
[0064] As described above, the priority of a shift condition can be assigned, for example, on a scale of 1 to 10, depending on the degree of priority the user desires. In the initial state, no priority can be assigned to a shift condition, or a default value can be assigned.
[0065] Next, in step S102, the shift condition setting unit prompts the user to select a priority shift condition. The shift condition setting unit sets the priority shift condition from multiple shift conditions based on user input. For example, FIG. 8 illustrates a case where the user selects shift condition A, shift condition B, and shift condition C as priority shift conditions by inputting information into the operation display unit 160. In the same figure, the priority shift condition selected by the user is indicated by a circle. Shift condition A may be, for example, a shift condition that assigns one night shift employee to each day. Shift condition B may be, for example, a shift condition that makes the day after the night shift a public holiday. Shift condition C may be, for example, a shift condition related to each employee's preferred work days.
[0066] The priority relationship between priority shift conditions may be the same as the priority of the above-mentioned shift conditions as shown in FIG. 8, or may be set separately as a priority (second priority) different from the shift condition priority. When a second priority is set for a priority shift condition, the priority of the shift condition is called a first priority. The set priority shift condition and second priority are stored in RAM 230 or storage 240.
[0067] The number of priority shift conditions may be limited to a predetermined number or less. The shift condition setting unit may set a predetermined number or less of priority shift conditions. The shift condition setting unit may set, for example, a maximum of five priority shift conditions as the predetermined number. The number of priority shift conditions may affect the convergence of the genetic algorithm to an optimal shift solution. For example, an increase in priority shift conditions may delay the convergence to the optimal shift solution. By limiting the number of priority shift conditions, a delay in the convergence to the optimal shift solution may be suppressed. The number of priority shift conditions may be configured to be changeable by the user.
[0068] [Performing pre-arrangement processing (step S20)] As shown in FIG. 9, in step S201, the label placement unit places shift symbols in a work shift schedule using a genetic algorithm based on the set priority shift conditions. In the pre-placement process using a genetic algorithm, multiple shifts are generated as individuals for each generation based on the set priority shift conditions. Then, while crossover, mutation, selection, etc. are repeated between shifts, the degree to which the priority shift conditions are satisfied is calculated as the achievement level for each individual, and individuals evolve to ones with higher achievement levels. As described above, the achievement level for each individual is calculated as the sum of weighted achievement levels, where the achievement levels for each priority shift condition used to generate the individual are multiplied by weighting coefficients. The weighting coefficients can be calculated based on the priority (second priority).
[0069] Next, in step S202, the shift condition setting unit determines whether the degree of achievement of all priority shift conditions is 100%. If the degree of achievement of all priority shift conditions is 100% (step S202: YES), that is, if all priority shift conditions are satisfied, the shift condition setting unit ends the processing (return).
[0070] On the other hand, if the achievement rate of at least one of the priority shift conditions is not 100% (step S202: NO), the shift condition setting unit prompts the user to select a shift condition to be excluded from the multiple priority shift conditions selected in step S102 (step S203). A possible reason why the achievement rate of the priority shift conditions is not 100% is if a conflict occurs between the priority shift conditions. A conflict is a state in which it is impossible to generate a shift that satisfies both an achievable priority shift condition and another priority shift condition. For example, a shift condition regarding each employee's desired work day (shift condition C) may conflict with a shift condition that assigns one night shift employee each day (shift condition A) or a shift condition that specifies that the day after a night shift is a public holiday (shift condition B). For example, if a conflict occurs between the priority shift conditions, the shift condition setting unit can notify the user that a conflict has occurred between the priority shift conditions and the achievement rate of each priority shift condition.
[0071] For example, if the user selects shift condition C as a shift condition to be excluded from the priority shift conditions, the shift condition setting unit excludes shift condition C from the priority shift conditions and returns to the processing of step S201. In step S201, the label placement unit places shift symbols in the work shift table using a genetic algorithm based on the priority shift conditions excluding shift condition C.
[0072] In addition, when the degree of achievement of at least one of the priority shift conditions is not 100%, the shift condition setting unit can also allow the user to select whether to maintain the state as it is without excluding any of the priority shift conditions, or to reselect the priority shift conditions.
[0073] Furthermore, the shift condition setting unit may be configured to, if the degree of achievement of at least any of the priority shift conditions is not 100%, exclude the priority shift condition with a lower priority (second priority) after confirming with the user.
[0074] Figure 10 shows an example of a work shift schedule in which shift symbols have been assigned as a result of the pre-allocation process. In the example shown in the figure, shift condition A assigns one night shift employee to each day, and so "night" is assigned to each day. Shift condition B also assigns the day after the night shift to be a public holiday, and so "morning" is assigned to the day after "night," and "public" is assigned to the day after "morning."
[0075] In this manner, in this embodiment, the label placement unit pre-places shift symbols based on the priority shift conditions as a so-called preprocessing before actually placing the shift symbols using the genetic algorithm. This allows the shift symbols to be placed in a portion of the work shift schedule so as to satisfy the set priority shift conditions, thereby improving the degree of achievement. This prevents or reduces the need for the user to make significant manual revisions to the generated work shift schedule.
[0076] (Second embodiment) In the first embodiment, a case where pre-arrangement processing is performed using a genetic algorithm is described. In the second embodiment, a case where pre-arrangement processing is performed by arranging shift symbols based on a priority shift condition with a lower priority and then overwriting and arranging them based on a priority shift condition with a higher priority is described.
[0077] Fig. 11 is a subroutine flowchart illustrating the processing procedure for performing pre-arrangement processing (step S20) in the second embodiment of the present invention. Fig. 12 is a subroutine flowchart illustrating the processing procedure for arranging shift symbols in the work shift table in Fig. 11 (step S212). In order to avoid duplication of explanation, detailed explanations of the same configuration as in the first embodiment will be omitted.
[0078] [Performing pre-arrangement processing (step S20)] As shown in FIG. 11, in step 211, the shift condition setting unit selects the shift condition with the lowest priority among the priority shift conditions.
[0079] Next, in step 212, the label placement unit places shift symbols in the work shift table based on the shift condition with the lowest priority selected in step 211. The specific processing procedure for placing shift symbols in this work shift table will be described later.
[0080] Next, in step 213, the label placement unit determines whether there is a shift condition with the next lowest priority among the priority shift conditions. In other words, it determines whether the process of placing shift symbols in the work shift table for all the set priority shift conditions has been completed. If there is no shift condition with the next lowest priority (step 213: NO), that is, if the process of placing shift symbols in the work shift table for all the set priority shift conditions has been completed, the label placement unit ends the process (return).
[0081] On the other hand, if there is a shift condition with the next lowest priority (step 213: YES), the label arrangement unit selects the shift condition with the next lowest priority among the priority shift conditions (step 214: NO).Then, the label arrangement unit proceeds to the process of step S212.
[0082] In this way, in the processing of the subroutine flowchart shown in FIG. 11, the label placement unit places a shift symbol based on a priority shift condition with a lower priority, and then repeats the process of overwriting and placing the shift symbol based on a priority shift condition with a higher priority for all priority shift conditions.
[0083] [Place shift symbols on the work shift schedule (S212)] 12, in step S221, the label placement unit obtains the number of shift symbols to be placed for each day. More specifically, the label placement unit obtains the number of shift symbols to be placed for each day from the priority shift condition. For example, if the priority shift condition is shift condition A, that is, a shift condition that assigns one night shift employee to each day, the label placement unit obtains the number of "night" symbols to be placed for each day as 1.
[0084] Next, in step S222, the label placement unit calculates the total placement number of shift symbols. More specifically, the label placement unit calculates the total placement number of "night" from the placement number of "night" for each day and the number of days. For example, the label placement unit calculates the total placement number of "night" (1 x 7 = 7) from the placement number of "night" for each day (1) and the number of days (e.g., 7 days).
[0085] Next, in step S223, the label placement unit obtains the number of "night" staff members to be deployed (hereinafter simply referred to as "deployment number"). More specifically, the label placement unit obtains the number of "night" staff members from shift condition A. The label placement unit calculates the number of "night" staff members by allocating the total number of "night" staff members to each staff member, taking into consideration, for example, the staff members' preferences regarding night shifts. For example, if there are four staff members (staff members 1 to 4), and the total number of "night" staff members is 7 and the allocation is to be approximately equal among the four staff members, three of the four staff members will be assigned a deployment number of 2, and the remaining staff member will be assigned a deployment number of 1.
[0086] Next, in step S224, the label placement unit determines whether there are any staff members to whom a placement number has not been assigned. If there are no staff members to whom a placement number has not been assigned (step S224: NO), that is, if all staff members have been assigned a placement number, the label placement unit ends the processing (return). As described above, when the total placement number of 7 is to be allocated roughly evenly among the four staff members (all staff members), there are no staff members to whom a placement number has not been assigned, so the label placement unit ends the processing.
[0087] On the other hand, if there is a staff member who has not been assigned a deployment number (step S224: YES), the label placement unit obtains the remaining deployment number (step S225). More specifically, the label placement unit obtains the remaining deployment number from the difference between the total deployment number and the total deployment number for each staff member. For example, if there is a staff member (e.g., staff member 1) who wishes to work night shifts, the label placement unit calculates the remaining deployment number from the difference between the total deployment number and the deployment number assigned to staff member 1. For example, if staff member 1 wishes to work night shifts for three days, the label placement unit obtains the remaining deployment number as 4, which is the total deployment number of 7 minus the deployment number assigned to staff member 1 of 3. Furthermore, if there are multiple staff members who wish to work night shifts, the label placement unit calculates and obtains the remaining deployment number from the difference between the total deployment number and the total deployment number assigned to the multiple staff members.
[0088] Next, the label placement unit assigns a placement number to staff members who have not been assigned a placement number (step S226). More specifically, the label placement unit calculates the placement number for each staff member from the remaining placement number and the number of staff members who have not been assigned a placement number. For example, the remaining placement number of 4, calculated by subtracting the placement number of 3 assigned to staff member 1 from the total placement number of 7, is assigned to staff members 2 to 4 other than staff member 1. In this case, staff members 2 to 4 are assigned a placement number of 2 or 1, respectively. The method for assigning placement numbers to staff members 2 to 4 can be determined, for example, taking into consideration other shift conditions and information about the staff members. Information about the staff members can include, for example, information such as the staff member's years of service, age, and gender.
[0089] In this manner, in this embodiment, the label placement unit places shift symbols based on the priority shift condition with the lowest priority, and then overwrites and places them based on the priority shift condition with the highest priority, repeating this process for all priority shift conditions. This allows for the placement of shift symbols in a portion of the work shift schedule that satisfies the set priority shift conditions, thereby improving the degree of achievement. This prevents or reduces the need for the user to make significant manual revisions to the generated work shift schedule.
[0090] In addition, when assigning shift symbols to the work shift schedule, the number of positions for each employee is calculated and a number is assigned to employees who have not yet been assigned a number, thereby preventing or suppressing imbalances in the number of positions for each employee.
[0091] The configurations of the automatic shift generation device, automatic shift generation method, and automatic shift generation program described above are the main configurations described in explaining the features of the above-mentioned embodiments, and are not limited to the above-mentioned configurations, and can be modified in various ways within the scope of the claims.
[0092] For example, the information processing terminal 100 and the server 200 may each include components other than those described above, or may not include some of the components described above.
[0093] Furthermore, the information processing terminal 100 and the server 200 may be configured as separate devices, or may be configured as a single device.
[0094] Furthermore, the functions of each component may be realized by other components. For example, at least a part of the processing described as being executed by the server 200 may be executed by the information processing terminal 100 or another device. Furthermore, by incorporating the functions of the information processing terminal 100 into the server 200, the information processing terminal 100 may be omitted.
[0095] Furthermore, the processing units of the flowcharts in the above embodiments are divided according to the main processing content to make each process easier to understand. The method of dividing the processing steps does not limit the present invention. Each process can be divided into more processing steps. One processing step may execute more processes. Furthermore, multiple steps may be executed simultaneously or in combination.
[0096] The means and methods for performing various processes in the systems according to the above-described embodiments can be realized by either dedicated hardware circuits or a programmed computer. The programs may be provided, for example, on a computer-readable recording medium such as a flexible disk or CD-ROM, or online via a network such as the Internet. In this case, the programs recorded on the computer-readable recording medium are typically transferred to and stored in a storage unit such as a hard disk. The programs may also be provided as standalone application software or may be incorporated into the software of the device as a function of the system.
[0097] While embodiments of the present invention have been described and illustrated in detail, the disclosed embodiments are made for purposes of illustration and example only and are not intended to be limiting, and the scope of the present invention should be construed by the language of the appended claims. [Explanation of symbols]
[0098] 100 information processing terminal, 110 CPUs, 120 ROM, 130 RAM, 140 storage, 150 communication interface, 160 Operation display section, 200 servers, 210 CPUs, 220 ROM, 230 RAM, 240 storage, 250 communication interface.
Claims
1. a shift condition setting unit that sets a plurality of shift conditions for generating a shift table; An automatic shift generation device having a label placement unit that performs a pre-placement process to place labels in advance on the shift table based on a priority shift condition that should be preferentially satisfied among the multiple shift conditions, prior to a main placement process that main placements labels on the shift table using a genetic algorithm so as to satisfy the multiple shift conditions.
2. The automatic shift generation device according to claim 1 , wherein the shift condition setting unit sets the priority shift condition from the plurality of shift conditions based on user input.
3. 3. The automatic shift generation device according to claim 1, wherein the label placement unit places labels in the shift table in advance using a genetic algorithm.
4. The automatic shift generation device according to claim 1 or 2, wherein the shift condition setting unit sets priorities among the plurality of priority shift conditions.
5. The automatic shift generation device according to claim 2 , wherein the shift condition setting unit sets a predetermined number or less of the priority shift conditions.
6. The automatic shift generation device of claim 2, wherein the shift condition setting unit allows a user to select a priority shift condition to be excluded from the plurality of priority shift conditions when the label placement unit cannot perform pre-placement processing so as to satisfy the plurality of priority shift conditions.
7. The automatic shift generation device of claim 4, wherein the shift condition setting unit deletes the priority shift condition with the lowest priority among the plurality of priority shift conditions when the label placement unit cannot perform pre-placement processing so as to satisfy the plurality of priority shift conditions.
8. The automatic shift generation device according to claim 4, wherein the label placement unit places labels based on a priority shift condition with a lower priority among the plurality of priority shift conditions, and then overwrites and places symbols on the shift table based on the priority shift condition with a higher priority.
9. The automatic shift generation device according to claim 2, wherein the label placement unit calculates the number of labels to be placed for each staff member and assigns a number to staff members who have not yet been assigned a number of labels, thereby placing the labels so as not to cause bias in the placement of labels in the shift schedule.
10. A step (a) of setting a plurality of shift conditions for generating a shift table; and (b) performing a pre-arrangement process of pre-arranging labels in the shift table based on a priority shift condition that should be preferentially satisfied among the plurality of shift conditions, prior to a main arrangement process of actually arranging labels in the shift table using a genetic algorithm so as to satisfy the plurality of shift conditions.
11. A step (a) of setting a plurality of shift conditions for generating a shift table; and (b) a procedure for performing a pre-placement process of pre-placing labels in the shift table based on a priority shift condition that should be preferentially satisfied among the plurality of shift conditions, prior to a main placement process of finally placing labels in the shift table using a genetic algorithm so as to satisfy the plurality of shift conditions.
Citation Information
Patent Citations
Schedule generating device and recording medium recorded with schedule generating program
JP2001175639A