Information processing device, information processing method and computer program
The information processing device efficiently evaluates shift plans to determine which workers to reschedule, addressing the inefficiencies of manual scheduling and existing methods, by calculating constraint satisfaction and potential improvements, resulting in high-quality shift schedules.
Patent Information
- Application Number
- JP2024044828
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-21
- Publication Date
- 2025-10-03
AI Technical Summary
Creating shift schedules manually is time-consuming and labor-intensive, and existing computer-based methods struggle to efficiently determine which parts of the schedule to reschedule to meet strict constraints.
An information processing device and method that evaluates shift plans by calculating evaluation values for constraint satisfaction and potential improvements, allowing efficient selection of workers to be rescheduled based on horizontal and vertical constraints.
Enables the creation of high-quality shift schedules efficiently by prioritizing workers for rescheduling, ensuring both horizontal and vertical constraints are met, thus reducing manual effort and time.
Smart Images

Figure 2025144909000001_ABST
Abstract
Description
[Technical Field]
[0001] The present embodiment relates to an information processing device, an information processing method, and a computer program. [Background technology]
[0002] In the field of shift schedule creation, there is a serious labor shortage, making it difficult to create plans. Furthermore, creating shift schedules is often the job of managers, but creating shift schedules manually to meet work conditions takes time and effort. It often takes a huge amount of time. Therefore, there is a need to create plans quickly even under strict constraints.
[0003] There are several known computer-based methods for creating shift schedules. One method involves repeatedly selecting and rescheduling only a portion of the staff from the shift schedule, using local search methods for each rescheduling. This method can quickly obtain high-quality solutions, but the number of partial plans that can be selected is enormous. The challenge is to efficiently determine the parts of the plan to be rescheduled by appropriately evaluating the plan, and efficiently obtain a shift schedule that satisfies the conditions. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2004-361991 [Patent Document 2] Japanese Patent Application Laid-Open No. 2010-218045 Summary of the Invention [Problem to be solved by the invention]
[0005] The present embodiment provides an information processing device, an information processing method, and a computer program that enable evaluation of a plan to be evaluated. [Means for solving the problem]
[0006] The information processing device of this embodiment is equipped with a processing unit that, based on a plan to be evaluated in which a plurality of workers are assigned to a plurality of work periods, calculates, for each worker, a first evaluation value in accordance with the degree of satisfaction of a first constraint condition regarding the assignment to the plurality of work periods; detects a second constraint condition that will improve the degree of satisfaction of at least one second constraint condition regarding the assignment of the plurality of workers for each work period when the assignment of the workers is changed; calculates a second evaluation value regarding the possibility of improving the degree of satisfaction of the detected second constraint condition based on information regarding the detected second constraint condition; and evaluates the plan to be evaluated based on the first evaluation value and the second evaluation value. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram showing the configuration of a shift plan creation device as an information processing device according to the present embodiment. [Figure 2] A diagram showing details of basic information. [Figure 3] A diagram showing an example of constraints (horizontal constraints) associated with each staff member. [Figure 4] A diagram showing an example of constraints (vertical constraints) linked to each date. [Figure 5] FIG. 10 is a diagram showing an example of weight information indicating which vertical constraints are used and the weights of the constraints. [Figure 6] FIG. 10 is a diagram showing an example of weight ratio information representing the weight ratio between horizontal constraint conditions and vertical constraint conditions. [Figure 7] Examples of headcount adjustment conditions for replanning headcount adjustment are shown below. [Figure 8] FIG. 10 is a diagram showing an example of a shift plan. [Figure 9] 10 is a flowchart showing an example of an operation of a shift plan creation unit. [Figure 10] FIG. 1 is a diagram showing an example of a process (STEP 1) for generating an initial plan. [Figure 11] 10 is a flowchart showing details of STEP 2. [Figure 12A] FIG. 10 is a diagram showing an example of calculation of a violation value of a vertical constraint condition. [Figure 12B]FIG. 10 is a diagram showing an example of calculation of a violation value of a horizontal constraint condition. [Figure 13] FIG. 10 is a diagram showing an example of determining whether or not there is a possibility of improvement. [Figure 14] FIG. 10 is a diagram showing an example of calculation of an improvement degree. [Figure 15] FIG. 10 is a diagram showing another example of calculation of the degree of improvement. [Figure 16] FIG. 10 is a diagram showing yet another example of calculation of the degree of improvement. [Figure 17] FIG. 10 is a diagram showing yet another example of calculation of the degree of improvement. [Figure 18] FIG. 10 is a diagram showing an example of calculation of the degree of improvement of a vertical constraint condition. [Figure 19] FIG. 10 is a diagram showing an example of calculation of staff selection priority. [Figure 20] A diagram showing an example of rescheduling for selected staff. [Figure 21] FIG. 10 is a view showing an example of a user interface screen of an application according to the second embodiment. [Figure 22] 10 is a flowchart illustrating an example of the operation of the second embodiment. [Figure 23] FIG. 1 is a hardware block diagram of an information processing apparatus according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0008] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0009] FIG. 1 is a block diagram showing the configuration of a shift schedule creation device 100 as an information processing device according to this embodiment.
[0010] 1 includes a basic information input unit 21, a constraint information input unit 22, an algorithm parameter information input unit 23, an operation parameter input unit (staff selection information input unit) 24, a shift plan creation unit 10, and an output unit 80. The shift plan creation unit 10 corresponds to a processing unit that performs processing related to this embodiment.
[0011] The basic information input unit 21 creates basic information 30 based on user input. For example, the basic information input unit 21 obtains, as basic information 30, information entered into a field for creating basic information on a screen of an application for realizing the functions according to this embodiment (hereinafter referred to as an application screen). The basic information 30 includes the number of staff (number of workers) and type 31, planned period information 32 (e.g., planned number of days and weekday / holiday classification), and shift information 33 (e.g., number of shifts and type). User input is performed using a keyboard, mouse, touch panel, voice input unit, gesture input unit, etc.
[0012] [Details of Basic Information 30] 2 is a diagram showing details of the basic information 30. The basic information 30 includes staff information 31, planned period information 32, and shift information 33.
[0013] The staff information 31 includes information on the number of staff members who are workers to whom work shifts (time periods) are assigned, and the type of staff member (staff identifier). A worker can be any person who performs work, such as a staff member, an employee, or a part-timer. Furthermore, the work that a worker performs during their assigned shift can be any type.
[0014] The planned period information 32 includes the period (planned period) for which work shifts are to be assigned, the number of days, and classification information such as holidays and weekdays within the planned period. The planned period is the section for which the shift schedule is planned. Each day included in the planned period corresponds to a work period for which staff members who are workers are to be assigned. More specifically, the work period includes multiple time periods (such as early shifts and late shifts, which will be explained below), and staff members are assigned to the time periods for each work period.
[0015] The shift information 33 includes information about the types of work shifts (time periods) to be assigned and the number of types.
[0016] For example, in input example 1 of Figure 2, there are five staff members, broken down into Staff 1, Staff 2, Staff 3, Staff 4, and Staff 5. The planning period is seven days, from December 6th to December 12th, with two holidays, December 11th and 12th, and the other days being weekdays. There are also two types of shifts, broken down into early shift D and late shift N. For example, the early shift is 8:00 to 16:00, and the late shift is 15:00 to 23:00. The number of shift types is not limited to two, and may be three or more. For example, there may be three types: early shift (8:00 to 14:00), middle shift (8:00 to 18:00), and late shift (17:00 to 23:00). In this case, holiday shifts may also be included in the shift types.
[0017] The constraint information input unit 22 creates constraint information 40 based on user input. For example, the constraint information input unit 22 obtains information entered in a field for creating constraint information on the application screen in this embodiment as the constraint information 40. The constraint information 40 includes constraint conditions associated with each day in the planning period and constraint conditions associated with each staff member. The former constraint conditions associated with each day in the planning period are called vertical constraint conditions 41 (or second constraint conditions), and the latter constraint conditions associated with each staff member are called horizontal constraint conditions 42 (or first constraint conditions).
[0018] [Details of constraint information 40] The constraint information 40 includes constraints related to work. As described above, the constraints include constraints linked to each staff member (horizontal constraints 42) and constraints linked to each date (vertical constraints 41).
[0019] 3 shows an example of constraints (horizontal constraints 42) associated with each staff member. The horizontal constraints 42 correspond to first constraints that define constraints on the allocation of staff members to multiple days and multiple shifts (time periods) for each staff member.
[0020] Although the figure shows multiple horizontal constraints 42, it is sufficient to have at least one horizontal constraint 42. The horizontal constraints 42 include constraints specific to staff members and constraints common to all staff members. In the example shown in the figure, a constraint on the type of consecutive shifts is shown as a constraint common to all staff members. Constraints specific to staff members include constraints on upper and lower limits on the number of consecutive working days, constraints on upper and lower limits on the total number of shifts, constraints on upper and lower limits on working hours, and constraints on the minimum number of consecutive days off.
[0021] FIG. 4 shows an example of constraints (vertical constraints 41) linked to each date. Constraints on the number of people required for each type of shift are shown for each weekday and holiday. The vertical constraints 41 correspond to second constraints that set constraints on staff allocation for each of several days. Although the figure shows multiple vertical constraints 41 for each day, it is sufficient to have at least one vertical constraint 41. Note that while a vertical constraint 41 is set for each type of day of the week, such as weekdays and holidays, a vertical constraint 41 may also be set for each individual date.
[0022] The algorithm parameter information input unit 23 creates parameters 50 of the optimization algorithm to be executed by the shift plan creation unit 10 based on input from the user. For example, the algorithm parameter information input unit 23 obtains, as the parameters 50, information input into a field for creating the optimization parameters 50 on the application screen in this embodiment.
[0023] The parameters 50 of the optimization algorithm are information required when executing the optimization algorithm to generate a plan that satisfies the constraints as much as possible from a shift schedule plan (plan to be evaluated) in which shifts are assigned to each staff member for each date. For example, these include the number of attempts of neighborhood operations (described later), the types of neighborhood operations, and the ratio at which each type of neighborhood operation is executed. An example of the first type of neighborhood operation is swapping two randomly selected shifts, and an example of the second type of neighborhood operation is changing the type of one randomly selected shift to a different shift.
[0024] Based on the input from the user, the operation parameter input unit 24 creates operation parameters 60 required for the operation of the shift plan creation unit 10. For example, the operation parameter input unit 24 obtains, as the operation parameters 60, information input by the user into an operation parameter input field on the application screen in this embodiment.
[0025] [Details of Operation Parameter 60] The operating parameters 60 include, by way of example: - Weight information 61 indicating which vertical constraints to use and the weight of those vertical constraints ·Improvement calculation parameters for the method of calculating the improvement 62 Weight ratio information 64, which represents the weight ratio between horizontal and vertical constraints - Number adjustment conditions 65, which determine how many people are included in the replanning process
[0026] FIG. 5 shows an example of weight information 61. The weight information 61 defines the constraints (vertical constraints) used in calculating the degree of daily improvement (described later) and the weights of those constraints. In the example of FIG. 5, for example, vertical constraint 1, vertical constraint 2, and vertical constraint 3 are used in the calculation process of the degree of daily improvement in the daily improvement calculation unit 15, and vertical constraint 4 is not used in that process. The weights of vertical constraints 1 to 3 are 0.5, 0.2, and 0.3, respectively. In other words, the weighting ratio between vertical constraints 1 to 3 is 0.5:0.2:0.3.
[0027] The improvement degree calculation parameters 62 are parameters used in calculating the improvement degree, and are information relating to the method of calculating the improvement degree, which will be described in detail later.
[0028] The weight ratio information 64 determines whether to give more importance to the vertical constraints or the horizontal constraints based on the weight ratio between the horizontal constraints and the vertical constraints. The weight ratio information 64 is an example of information that indicates the weight of the horizontal constraints and the weight of the vertical constraints, and does not have to be a ratio as long as both can be weighted. The vertical constraints and horizontal constraints mentioned here do not refer to individual specific constraints, but rather to types of constraints. In other words, they refer to the type of constraint called vertical constraints and the type of constraint called horizontal constraints.
[0029] More specifically, the weight ratio information 64 determines the weight ratio between the evaluation value (first evaluation value or violation value) according to the fulfillment status of the horizontal constraints for each staff member, as described below, and the improvement degree (improvement degree of the vertical constraints) evaluated for the possibility of improving the fulfillment status of the vertical constraints for each staff member over the entire planning period.
[0030] Fig. 6 shows an example of weight ratio information 64. In the example of Fig. 6, the weight ratio between the improvement degree of the vertical constraint condition and the violation value of the horizontal constraint condition is 0.3:0.7. In other words, the improvement degree of the vertical constraint condition and the violation value of the horizontal constraint condition are weighted at a ratio of 0.3:0.7, respectively.
[0031] The weight ratio information 64 is used when calculating staff selection priorities in the staff selection priority calculation unit 17, which will be described later. The staff selection priorities are evaluation information that combines an evaluation value (second evaluation value or improvement degree of vertical constraints) regarding the possibility of improving the plan to be evaluated when staff allocation is changed, and an evaluation value (first evaluation value or violation value) according to the satisfaction status of horizontal constraints for each staff member, and as an example, represents a value or priority for determining which staff members to target for re-planning. By re-planning staff members with a high staff selection priority as the target for re-planning, it is expected that there is a high possibility that at least one of the daily improvement degree and the improvement degree of vertical constraints, or the satisfaction status of horizontal constraints for that staff member, will improve, i.e., there is a high possibility that the plan to be evaluated will be improved.
[0032] The headcount adjustment conditions 65 are information necessary when the re-planned staff selection unit 18 determines the staff to be re-planned, and are conditions relating to the number of staff to be re-planned depending on the timing of re-planning.
[0033] Fig. 7 shows an example of a staffing adjustment condition 65 for adjusting the number of staff for rescheduling. In the example of Fig. 7, the number of staff for rescheduling is 2 when the number of rescheduling iterations is n or less, and 3 when the number of rescheduling iterations is more than n.
[0034] The shift plan creation unit 10 creates a shift plan 75 based on basic information 30, constraint information 40, optimization algorithm parameters 50, and operation parameters 60. The shift plan creation unit 10 will be described in detail later.
[0035] The output unit 80 outputs the shift plan 75 to a screen. The user can check the shift plan 75 displayed on the screen. The output unit 80 is a display device that displays data or information on a screen. However, the output unit 80 may also be, for example, a communication device that communicates with a user's terminal, as long as it can output data or information.
[0036] [Shift Plan 75 Details] Figure 8 shows an example of a shift plan 75. Two types of shifts, shift N or shift D, are assigned to five staff members for seven planned days. Staff members are off on days when they are not assigned a shift. For example, staff member 3 is assigned shift D on days 3 and 4, shift N on days 2 and 6, and is off on days 1 and 5. Note that the format does not have to be a table. Any format is acceptable as long as it is clear which shift is assigned to each staff member and each day.
[0037] The shift plan creation unit 10 (processing unit) that creates such a shift plan will be described in detail below.
[0038] [Details of Shift Planning Section 10] The shift plan creation unit 10 has an initial plan generation unit 11, a re-planned staff evaluation unit 12, a re-planned staff selection unit 18, and a re-planning unit 19. The re-planned staff evaluation unit 12 has a violation value calculation unit 13, an improvement possibility determination unit 14, a daily improvement degree calculation unit 15, a vertical constraint condition improvement degree calculation unit 16, and a staff selection priority calculation unit 17. However, the configuration shown here is a standard configuration, and other elements may be added.
[0039] FIG. 9 is a flowchart showing an example of the operation of the shift plan creation unit 10.
[0040] In STEP 1, the initial plan generating unit 11 generates an initial shift schedule plan (initial plan) as a plan to be evaluated based on at least the basic information 30 out of the basic information 30 and the constraint information 40.
[0041] FIG. 10 shows an example of the process (STEP 1) for generating an initial plan. A specific example of basic information 30 is shown in the upper diagram of FIG. 10. There are five staff members, seven planned days, and two types of shifts. In this case, two types of shifts, Shift N or Shift D, are randomly assigned to each cell in the shift schedule of five staff members x seven days, and the unassigned shifts are designated as days when staff members have days off, thereby generating an initial plan (initial solution). In this case, the initial plan may be generated without using constraint information 40.
[0042] By performing neighborhood operations (operations that modify the current solution) on the randomly assigned solution (initial solution), an initial plan may be generated that satisfies at least one of the constraints indicated in the constraint information 40. An example of an initial plan generated based on the basic information 30 shown in the upper part of FIG. 10 is shown in the lower part of FIG.
[0043] In STEP 2, the re-planning staff evaluation unit 12 evaluates the initial plan based on the initial plan generated in STEP 1, the constraint information 40, and the operation parameters 60. Specifically, it calculates a staff selection priority, which is information for selecting staff to be re-planned in the initial plan. The staff selection priority is a value or priority associated with each staff. The re-planning staff evaluation unit 12 has a function of generating evaluation information for each staff.
[0044] 11 is a flowchart showing the details of STEP 2. STEP 2 includes STEP 2-1 to STEP 2-5. The processing of STEP 2-1 to STEP 2-5 will be described below.
[0045] [Details of STEP2-1] In STEP 2-1, the violation value calculation unit 13 calculates violation values for vertical constraint conditions and horizontal constraint conditions from the initial plan generated in STEP 1 and the constraint information 40. The violation value for vertical constraint conditions is a value equivalent to an evaluation value (third evaluation value) according to the fulfillment status of the vertical constraint conditions, and is, for example, a value representing the degree of violation when a constraint condition is violated. The violation value for horizontal constraint conditions is a value equivalent to an evaluation value (first evaluation value) according to the fulfillment status of the horizontal constraint conditions, and is, for example, a value representing the degree of violation when a constraint condition is violated.
[0046] 12A shows an example of calculating the violation value (third evaluation value) of the vertical constraint condition. For simplicity, let us assume that vertical constraint condition 1 is "On each date, the number of 'Shift N' is one," and vertical constraint condition 2 is "On each date, the number of 'Shift D' is one."
[0047] In this case, on day 2, one shift N exists, but no shift D exists, so there is a shortage of one shift D. Therefore, a value that reflects the shortage of one shift D is calculated as the violation value for vertical constraint 2. An example of calculating the violation value is (number of shortages) x (weight in case of shortage). Note that "x" is a multiplication symbol. In this example, if the weight for vertical constraint 2 is 10, the violation value for vertical constraint 2 on day 2 is 10. Since vertical constraint 1 is satisfied, the violation value is zero. In this example, the violation value changes depending on the number of shortages, and the violation value represents the degree of deviation from the constraints set by the vertical constraints, but the violation value may also be calculated as two values, depending on whether the constraint is satisfied or not (same below).
[0048] Similarly, on day 3, there are two shifts D, but no shift N. Therefore, for vertical constraint 1, a value that reflects the shortage of one shift N is calculated as the number of violations. If the weight for vertical constraint 1 is 10, the violation value for vertical constraint 1 on day 3 is 10. For vertical constraint 2, since there is an excess of one shift D, a value that reflects the excess of one shift D is calculated as the violation value. An example of how to calculate the violation value is (number of excesses) x (weight in case of excess). In this example, if the weight in case of excess is 20, the violation value for vertical constraint 2 is 20.
[0049] In the example of Fig. 12A, the weight for an excess is greater than the weight for a shortage, but the weight for a shortage may be greater than the weight for an excess, or the weights may be the same. In the example of weight information 61 of Fig. 5 described above, the same weight value is used for both the shortage and the excess.
[0050] 12A shows an example of calculating a violation value for a vertical constraint, but a violation value for a horizontal constraint is calculated in the same way. That is, when each staff member violates a horizontal constraint, a value that reflects the degree of violation is calculated as the violation value for the horizontal constraint. A specific example is shown below.
[0051] FIG. 12B shows an example of calculating a violation value (first evaluation value) of a horizontal constraint condition. For simplicity, let us assume that horizontal constraint condition 11 common to all staff members is "avoid assigning an 'early shift' to the day after a 'late shift'", horizontal constraint condition 12 for staff member 1 is "limit consecutive work days to five days or less", horizontal constraint condition 13 for staff member 2 is "limit consecutive work days to at least two days", and horizontal constraint condition 14 for staff member 3 is "limit the number of 'early shifts' to three or less out of the planned number of days". The weight for when each horizontal constraint condition is not satisfied is 10. However, the weight may be different for each horizontal constraint condition.
[0052] Staff 1 works shift N (late shift) on day 2, and shift D (early shift) on the following day, day 3. There are no other days on which an early shift is assigned after a late shift. Therefore, the number of days on which horizontal constraint 11, common to all staff, is not satisfied is 1. Staff 1 is also assigned shifts for six consecutive days, so the number of consecutive days exceeding five days, as defined by staff 1's horizontal constraint 12, is 1. The violation value is calculated as a value reflecting the number of consecutive days exceeding the number defined by staff 1's horizontal constraint 12 and the number of days on which an early shift is assigned after a late shift. As an example, the violation value can be calculated as (the sum of the number of consecutive days exceeding the number defined by staff 1's horizontal constraint 12 and the number of days on which an early shift is assigned after a late shift) x weight. 2 x 10 = 20, so staff 1's horizontal constraint violation value is 20.
[0053] For Staff 2, there are no days on which an early shift is assigned the day after a late shift, and there are no days on which the horizontal constraint 11 common to all staff is not satisfied. Furthermore, Staff 2 has the day off on Day 2, the day after Day 1, and the number of consecutive working days is less than two days, as determined by Staff 2's horizontal constraint 13, which sets a lower limit on the number of consecutive working days. The violation value is calculated as a value reflecting the number of days below the number determined by Staff 2's horizontal constraint 13 and the number of days on which an early shift is assigned the day after a late shift. As an example, the violation value can be calculated as (the sum of the number of days below the number determined by Staff 2's horizontal constraint 13 and the number of days on which an early shift is assigned the day after a late shift) × weight. Multiplying 1 × 10 gives Staff 2's horizontal constraint violation value of 20.
[0054] For staff member 3, day 4 is shift N (late shift), and the following day, day 5, is shift D (early shift). There are no other days on which an early shift is assigned the day after a late shift. Therefore, the number of days on which horizontal constraint 11 common to all staff members is not satisfied is 1. Furthermore, since staff member 3 has two early shifts, horizontal constraint 14 for staff member 3, which sets the upper limit on the number of early shifts at three, is satisfied. A value reflecting the number of days exceeding the upper limit set by horizontal constraint 14 for staff member 3 and the number of days on which an early shift is assigned the day after a late shift, is calculated as the violation value. As an example, the violation value can be calculated as (the sum of the number of days exceeding the upper limit set by horizontal constraint 14 for staff member 3 and the number of days on which an early shift is assigned the day after a late shift) x weight. The number of days exceeding the upper limit set by constraint 14 next to staff member 3 is 0, and the number of days on which the early shift is assigned the day after the late shift is 1, so the violation value of the constraint next to staff member 3 is 10 (1 x 10).
[0055] [Details of STEP2-2] In STEP 2-2, the improvement possibility determination unit 14 determines whether each vertical constraint is "improvable" or "not improvable" for each staff member and each date combination based on the violation value (third evaluation value) of the vertical constraint calculated in STEP 2-1, the constraint information 40, and the initial plan (evaluation target plan) generated in STEP 1. Specifically, the improvement possibility determination unit 14 detects, for each staff member, vertical constraints whose fulfillment status would be improved if the staff assignment for each day were changed (temporarily changed). The detected vertical constraints correspond to "improvable" vertical constraints for that staff member, and the undetected vertical constraints correspond to "not improvable" vertical constraints for that staff member. The improvement of the fulfillment status of the vertical constraints when the staff assignment is changed means that the violation value calculated when the change is made is lower than the violation value before the change. In other words, the evaluation value (third evaluation value) calculated when the change is made is lower than the evaluation value (third evaluation value) before the change.
[0056] Figure 13 shows an example of determining whether improvement is possible. For each vertical constraint for each staff member and each day, if replacing the shift assigned in the initial plan with another shift reduces the violation value of that vertical constraint (i.e., if the fulfillment status of the vertical constraint improves), it is determined that "improvement is possible." On the other hand, if the violation value of that vertical constraint does not decrease (i.e., if the fulfillment status of the vertical constraint does not improve), it is determined that "improvement is not possible."
[0057] For example, if vertical constraint 1 is "The number of shifts N on each day is one," and staff member 1's shift on day 7 is replaced with something other than "shift N," the constraint will be met on day 7 and the violation value will decrease, so "staff member 1, date 7, constraint 1" is judged to have "potential for improvement (marked as "1" in the table)."
[0058] [Details of STEP 2-3] In STEP 2-3, the daily improvement calculation unit 15 calculates the daily improvement degree from the result of the determination of the possibility of improvement generated in STEP 2-2 and the operation parameters 60 (weight information 61).
[0059] The daily improvement degree is a value calculated for each staff member and each date pair based on the determination of the possibility of improvement and in accordance with the weight information 61, and corresponds to an evaluation value (second evaluation value) regarding the possibility of improving the satisfaction of the vertical constraints. There are several possible methods for calculating the improvement degree, and examples are shown below. The method to calculate the improvement degree is specified by the improvement degree calculation parameter 62. When calculating the improvement degree using the method described in FIG. 16 or FIG. 17, the calculation method for the additional penalty may also be specified by the improvement degree calculation parameter 62.
[0060] Figure 14 shows an example in which the daily improvement level is calculated by adding up the number of vertical constraints that can be improved for each staff member and date pair. For example, if you count the number of vertical constraints that can be improved for staff member 2 and date 3, it is 1, so the improvement level is 1. If you count the number of vertical constraints that can be improved for staff member 1 and date 3, it is 2, so the improvement level is 2.
[0061] 15 shows an example in which the daily improvement level is calculated by adding the weights of the vertical constraints that have the potential for improvement for each staff member and date pair. For example, assume that vertical constraint 1 is given more weight than vertical constraint 2, and the respective weights are defined as 0.7 and 0.3 in the weight information 61. In this case, the improvement level for the staff member 1 and date 7 pair is 0.7 + 0.3 = 1, since vertical constraint 1 has the potential for improvement and vertical constraint 2 also has the potential for improvement.
[0062] FIG. 16 shows an example in which, for each staff member and date pair, an additional penalty is calculated when the violation value of at least one of the vertical constraints with potential for improvement is greater than a threshold, and the calculated additional penalty is used as the daily improvement level. For example, the maximum violation value among the vertical constraints can be used as the additional penalty (improvement level). For example, for the pair of staff member 1 and date 7, both vertical constraint 1 and vertical constraint 2 have potential for improvement, and the violation value of vertical constraint 1 on date 7 is 20, and the violation value of constraint 2 is 10 (see FIG. 12). If the threshold is 5, the threshold is met, so an additional penalty is calculated, and 20, the maximum of 20 and 10, is obtained as the daily improvement level. If the threshold is not met, the improvement level is set to a predetermined value (e.g., 0). In this example, the condition is that the violation value must be greater than the threshold, but the maximum violation value may always be used as the improvement level without using a threshold.
[0063] 17 shows an example in which an additional penalty is calculated for each combination of staff and date by adding the violation values of vertical constraints that have the potential for improvement, and the calculated additional penalty is used as the improvement level for each day. For example, for the combination of staff member 1 and date 7, both vertical constraint 1 and vertical constraint 2 have the potential for improvement, and the violation value of constraint 1 is 20 and the violation value of constraint 2 is 10, so the sum of 20 and 10 is 30, which is the improvement level.
[0064] [Details of STEP 2-4] In STEP 2-4, the vertical constraint improvement calculation unit 16 calculates the degree of improvement for the set of vertical constraints over the entire planning period for each staff member from the degree of improvement for each staff member and each day calculated in STEP 2-3. The calculated degree of improvement is called the degree of improvement for the vertical constraints. For each staff member, the improvement level for each day is added up for the number of planned days to calculate the improvement level for the vertical constraints. The formula (1) for calculating the improvement level for the vertical constraints is shown below.
number
[0065] Figure 18 shows an example of calculating the degree of improvement in vertical constraints for each staff member from the degree of daily improvement. For example, the degree of improvement in vertical constraints for staff member 1 is calculated by adding up the degree of improvement for each day for the number of planned days: 0 + 10 + 30 + 0 + 0 + 0 + 30 = 70. The degree of improvement in vertical constraints for staff member 1 is the degree of improvement for the set of all vertical constraints related to staff member 1.
[0066] [Details of STEP 2-5] In STEP 2-5, the staff selection priority calculation unit 17 calculates staff selection priorities (evaluation information) for each staff member from the violation values of the horizontal constraint conditions for each staff member calculated in STEP 2-1 obtained by evaluating the initial plan (plan to be evaluated) and the improvement degree of the vertical constraint conditions for each staff member calculated in STEP 2-4.
[0067] Both the violation value of the horizontal constraint and the improvement degree of the vertical constraint are values associated with each staff. For each staff, the staff selection priority is calculated by calculating the weighted sum of the violation value of the horizontal constraint and the improvement degree of the vertical constraint.
[0068] FIG. 19 shows an example of calculation of staff selection priorities. For example, let us assume that the violation value of the horizontal constraint is given more importance than the improvement degree of the vertical constraint, and the respective weights are defined as 0.8 and 0.2 in the weight ratio information 64. For staff 1, the violation value of the horizontal constraint is 20 and the improvement degree of the vertical constraint is 70, so the staff selection priority is 0.8×20+0.2×70=30.
[0069] In STEP 3 of Figure 9, the re-planning staff selection unit 18 selects staff to be re-planned based on the staff selection priority of each staff member and the parameters 60 for selecting staff to be re-planned. The staff to be re-planned are staff members (target workers) whose allocation is to be changed in the plan to be evaluated. Changing the allocation includes canceling an assigned shift in the plan to be evaluated (cancelling the assignment of a worker to a work period) and newly assigning an unassigned shift (newly assigning a worker to a work period). There are one or more methods for selecting staff, and for example, the following methods can be used: The number of staff to be selected is in accordance with the re-planning headcount adjustment conditions 65 included in the parameters 60. [1] Select the top k staff members with the highest staff selection priorities. [2] Randomly select one or more staff members from among the staff members whose staff selection priority is equal to or exceeds the threshold. [3] (When executing one or more loops) Select the staff selected last time, excluding the staff for which no improved solution can be obtained. [4] (When executing one or more loops and the number of selected staff members is two) If an improved solution was not obtained among the previously selected staff members but the staff selection priority of one staff member improved, the other staff member who did not improve will be included in the next selection.
[0070] In STEP 4 of Figure 9, the re-planning unit 19 reallocates shifts only for the planned portion of the selected staff member in the current shift plan based on the current shift plan (the initial plan generated in STEP 1 if this is the first processing (the number of iterations is 1)) and the information on the staff member selected in STEP 3.
[0071] FIG. 20 shows an example of rescheduling for selected staff. If the staff members selected in STEP 3 are staff members 2 and 3, shifts for all days of the planned number of days are reallocated only to staff members 2 and 3. The reallocation may be performed by randomly allocating shifts, or by allocating shifts for staff members 2 and 3 based on vertical or horizontal constraints. In the example of Figure 20, shifts are reallocated for all days of the planned number of days, but shifts may also be reallocated only for a portion of the planned number of days. In this case, the method for determining the portion of the planned number of days may be arbitrary.
[0072] In STEP 5 of Figure 9, the re-planning unit 19 performs neighborhood search etc. only for the reallocated staff to generate a shift plan. The neighborhood search etc. is performed according to parameters 50 of the optimization algorithm. For example, if the number of attempts of neighborhood operations, the types of neighborhood operations, and the ratio at which each type of neighborhood operation is performed are determined, each type of neighborhood operation is performed the number of attempts corresponding to the respective ratio. Performing neighborhood operations makes it possible to diversify the solutions that are generated.
[0073] In STEP 6 of FIG. 9, the re-planning unit 19 calculates an evaluation value of the solution for the shift plan obtained in the processing of STEP 5. If the solution is an improvement over the evaluation value of the original solution, the current solution (result of re-shift allocation) is adopted. If the termination condition is not met, in this example, if the loop has not been repeated a predetermined number of times, the process returns to STEP 2. In this case, the result of the current solution is treated as the plan to be evaluated in the next loop. If the solution is not an improvement over the evaluation value of the original solution, the original solution is restored in STEP 7, and staff are reselected.
[0074] The evaluation value of the solution is calculated based on the degree to which the vertical and horizontal constraints are satisfied for the shift plan (shift plans for all staff, including not only the selected staff but also other staff). As an example, the evaluation value of the solution is calculated by adding up the violation values of the vertical constraints and the horizontal constraints for all staff and all planned dates. In this case, the smaller the evaluation value of the solution, the better the evaluation value of the solution. The violation value of the vertical constraints or the violation value of the horizontal constraints may be used as the evaluation value of the solution. Also, different weights may be set for the vertical constraints and the horizontal constraints, and the weighted sum of the respective violation values may be used as the evaluation value of the solution.
[0075] As described above, according to this embodiment, the plan to be evaluated is appropriately evaluated by taking into consideration both horizontal constraints (constraints related to staff) and vertical constraints (constraints related to dates). Specifically, it is possible to efficiently select or determine the parts (staff) to be rescheduled in the plan to be evaluated. In other words, it is possible to efficiently determine the parts to be rescheduled or improved in the plan to be evaluated. Since partial planning can be performed so as to improve the degree of satisfaction of the day-related constraints without violating the horizontal constraints (constraints related to staff), a high-quality shift plan can be obtained in a short time.
[0076] (Second embodiment) In the second embodiment, an example will be described in which the staff selection priority used in the first embodiment is used as a support function when a person creates a shift plan.
[0077] 21 shows an example of a user interface screen of an application according to the second embodiment. This user interface screen is displayed on the output unit 80.
[0078] The user inputs a previously created shift plan as the plan to be evaluated from this user interface screen. The input shift plan does not have to be the shift plan created in the first embodiment, but can be a shift plan created by a person using an existing method. An example of a shift plan input by the user is displayed on the left side of the interface screen.
[0079] The re-planned staff evaluation unit 12 of the shift plan creation unit 10 calculates staff selection priorities by performing the processing of the first embodiment on the shift plan input from the user interface screen. The re-planned staff evaluation unit 12 selects staff members for whom a change to the plan is recommended based on the calculated staff selection priorities, and generates recommended staff information indicating that the selected staff members are recommended as targets for the plan change. The re-planned staff evaluation unit 12 also generates staff priority information including the staff selection priorities of each staff member as the basis for selecting the staff members for whom a change is recommended. The higher the staff selection priority, the higher the degree of recommendation. The shift plan creation unit 10 outputs the recommended staff information and staff priority information to the user interface screen of the application. An example of recommended staff information is shown in the lower left of the interface screen, and an example of staff priority information is shown on the right of the screen.
[0080] The staff selection priority is a numerical value that reflects the magnitude of the horizontal constraint violation and the ease of improving the vertical constraint violation (the degree of improvement of the vertical constraint violation). Therefore, when manually adjusting an existing shift plan, the user can use the recommended staff information and staff priority information as indicators for selecting staff to adjust.
[0081] FIG. 22 is a flowchart of an example of the operation of the second embodiment. In STEP 1, the re-planned staff evaluation unit 12 calculates the staff selection priority of each staff member based on the input shift plan and information on constraint conditions. In STEP 2, staff members to whom changes are recommended are selected based on the staff selection priority and selection criteria. Here, the selection criteria are, for example, conditions for selecting staff members to whom changes are recommended, such as selecting staff members with staff selection priority values above a certain threshold.
[0082] As described above, according to this embodiment, staff members whose allocation should be adjusted in the plan to be evaluated, that is, staff members whose plans should be changed, can be efficiently determined by referring to the recommended staff information and the staff priority information.
[0083] (Hardware configuration) 13 shows the hardware configuration of the shift planning device 100, which is an information processing device. The shift planning device 100 is configured by a computer device 600. The computer device 600 includes a CPU 601, an input interface 602, a display device 603, a communication device 604, a main storage device 605, and an external storage device 606, which are interconnected by a bus 607.
[0084] The CPU (Central Processing Unit) 601 executes an information processing program, which is a computer program, on the main memory device 605. The information processing program is a program that realizes each of the above-mentioned functional components of the information processing device 100. The information processing program may be realized not by a single program, but by a combination of multiple programs and scripts. Each functional component is realized by the CPU 601 executing the information processing program.
[0085] The input interface 602 is a circuit for inputting operation signals from input devices such as a keyboard, a mouse, and a touch panel to the information processing device 100. The input interface 602 corresponds to the input units 21 to 24.
[0086] The display device 603 displays data output from the information processing device 100. The display device 603 is, for example, but not limited to, an LCD (liquid crystal display), an organic electroluminescence display, a CRT (cathode ray tube), or a PDP (plasma display). Data output from the computer device 600 can be displayed on the display device 603. The display device 603 corresponds to the output unit 80.
[0087] The communication device 604 is a circuit that enables the information processing device 100 to communicate with an external device wirelessly or via a wire. Data can be input from the external device via the communication device 604. The data input from the external device can be stored in the main memory device 605 or the external memory device 606. The communication device 604 corresponds to the output unit 80.
[0088] The main memory device 605 stores an information processing program, data required for executing the information processing program, data generated by executing the information processing program, etc. The information processing program is deployed and executed on the main memory device 605. The main memory device 605 is, for example, a RAM, a DRAM, or an SRAM, but is not limited to these. Each storage unit or database of the information processing device 100 may be constructed on the main memory device 605.
[0089] The external storage device 606 stores information processing programs, data required for executing the information processing programs, data generated by executing the information processing programs, etc. These information processing programs and data are read into the main storage device 605 when the information processing programs are executed. The external storage device 606 is, for example, but is not limited to, a hard disk, an optical disk, a flash memory, or a magnetic tape. Each storage unit or database of the information processing device 100 may be constructed on the external storage device 606.
[0090] The information processing program may be pre-installed in the computer device 600, or may be stored in a storage medium such as a CD-ROM. The information processing program may also be uploaded onto the Internet.
[0091] Furthermore, the information processing device 100 may be configured as a single computer device 600, or may be configured as a system made up of a plurality of computer devices 600 connected to each other.
[0092] The present invention is not limited to the above-described embodiments, and the components can be modified and embodied in practice without departing from the spirit of the invention. Furthermore, various inventions can be created by appropriately combining multiple components disclosed in the above-described embodiments. For example, configurations in which some components are omitted from all the components shown in each embodiment may also be considered. Furthermore, components described in different embodiments may be appropriately combined.
[0093] This embodiment can also have the following configuration. [Item 1] calculating a first evaluation value for each worker based on an evaluation plan in which a plurality of workers are assigned to a plurality of work periods, in accordance with a satisfaction level of a first constraint condition regarding the assignment to the plurality of work periods; detecting at least one second constraint condition related to the allocation of the plurality of workers for each work period, the second constraint condition being improved in terms of satisfaction when the allocation of the workers is changed; calculating a second evaluation value relating to a possibility that a satisfaction state of the detected second constraint condition will be improved based on information relating to the detected second constraint condition; a processing unit that evaluates the plan to be evaluated based on the first evaluation value and the second evaluation value; An information processing device comprising: [Item 2] The processing unit generates evaluation information for the evaluation target plan for each worker based on the first evaluation value and the second evaluation value. Item 1. An information processing device according to item 1. [Item 3] the processing unit calculates the second evaluation value according to the sum of the number of the detected second constraint conditions. Item 3. The information processing device according to item 1 or 2. [Item 4] each of the plurality of second constraints has a weight; the processing unit calculates the second evaluation value based on the sum of weights of the detected second constraint conditions. 4. The information processing device according to any one of items 1 to 3. [Item 5] the processing unit calculates a third evaluation value for each of at least one second constraint condition related to the allocation of the plurality of workers in accordance with a satisfaction state of the second constraint condition; the processing unit calculates the second evaluation value by the sum of the third evaluation values of the detected second constraint conditions. 5. The information processing device according to any one of items 1 to 4. [Item 6] the processing unit calculates a third evaluation value for each of at least one second constraint condition related to the allocation of the plurality of workers in accordance with a satisfaction state of the second constraint condition; the processing unit sets the second evaluation value to a maximum value of the third evaluation values of the detected second constraint conditions. Item 1. An information processing device according to item 1. [Item 7] When the number of the detected second constraint conditions is equal to or greater than a threshold, the processing unit sets the second evaluation value to a maximum value of the third evaluation values of the detected second constraint conditions, and when the number of the detected second constraint conditions is less than a threshold, the processing unit sets the second evaluation value to a predetermined value. Item 7. An information processing device according to item 6. [Item 8] the processing unit calculates a third evaluation value for each of at least one second constraint condition related to the allocation of the plurality of workers in accordance with a satisfaction state of the second constraint condition; The improvement in the satisfaction of the second constraint condition when the allocation of the workers is changed means that the third evaluation value calculated when the change is made has a higher evaluation than the third evaluation value before the change. 8. The information processing device according to any one of items 1 to 7. [Item 9] the processing unit generates the evaluation information based on the sum of the second evaluation values for each of the plurality of work periods and the first evaluation value. Item 2. An information processing device according to item 2. [Item 10] the processing unit weights the sum of the second evaluation values and the first evaluation value, and generates the evaluation information by adding the weighted sum of the second evaluation values and the first evaluation value. Item 10. The information processing device according to item 9. [Item 11] the processing unit determines a target worker whose allocation to at least one of the plurality of work periods in the plan to be evaluated is to be changed based on the evaluation information. Item 2. An information processing device according to item 2. [Item 12] The evaluation information indicates a priority for selecting the worker as the target worker. Item 12. The information processing device according to item 11. [Item 13] the processing unit changes the plan to be evaluated by randomly changing the allocation of the target workers. Item 13. The information processing device according to item 11 or 12. [Item 14] the processing unit changes the allocation of the target worker to at least one of the plurality of work periods in the plan to be evaluated, and repeatedly calculates the first evaluation value, calculates the second evaluation value, generates the evaluation information, and determines the target worker for the plan to be evaluated after the allocation change. Item 12. The information processing device according to item 11. [Item 15] the processing unit is an output unit that outputs output data including the evaluation information for each worker; The information processing device according to any one of items 2 and 9 to 14, comprising: [Item 16] The work period includes a plurality of time periods, The allocation of the plurality of workers to the plurality of work periods is an allocation of the plurality of workers to the plurality of time periods included in the plurality of work periods. 16. The information processing device according to any one of items 1 to 15. [Item 17] Changing the assignment of the worker to the work period includes, if the worker is assigned to the work period, canceling the assignment of the worker to the work period, and, if the worker is not assigned to the work period, assigning the worker to the work period. 17. The information processing device according to any one of items 1 to 16. [Item 18] the satisfaction status of the first constraint condition is whether the first constraint condition is satisfied or not or the degree of deviation from the constraint defined by the first constraint condition; The satisfaction status of the second constraint condition is whether or not the second constraint condition is satisfied or the degree of deviation from the constraint defined by the first constraint condition. 18. The information processing device according to any one of items 1 to 17. [Item 19] calculating a first evaluation value for each worker based on an evaluation plan in which a plurality of workers are assigned to a plurality of work periods, in accordance with a satisfaction level of a first constraint condition regarding the assignment to the plurality of work periods; detecting at least one second constraint condition related to the allocation of the plurality of workers for each work period, the second constraint condition being improved in terms of satisfaction when the allocation of the workers is changed; calculating a second evaluation value relating to a possibility that a satisfaction state of the detected second constraint condition will be improved based on information relating to the detected second constraint condition; Evaluating the plan to be evaluated based on the first evaluation value and the second evaluation value. A computer-implemented information processing method. [Item 20] calculating a first evaluation value for each worker based on an evaluation target plan in which a plurality of workers are assigned to a plurality of work periods, in accordance with a satisfaction level of a first constraint condition regarding assignment to the plurality of work periods; detecting at least one second constraint condition related to the allocation of the plurality of workers for each work period, the second constraint condition being improved in terms of satisfaction when the allocation of the workers is changed; calculating a second evaluation value relating to a possibility that a satisfaction state of the detected second constraint condition will be improved based on information relating to the detected second constraint condition; evaluating the plan to be evaluated based on the first evaluation value and the second evaluation value; A computer program that causes a computer to execute the following. [Explanation of symbols]
[0094] 10. Shift Planning Department 11 Initial plan generation unit 12 Replanning Staff Evaluation Department 13 Violation value calculation section 14 Improvement possible determination section 15 Daily improvement calculation section 16. Calculation of the degree of improvement of vertical constraints 17 Staff selection priority calculation unit 18 Replanning Staff Selection Department 19 Replanning Department 21 Basic information input section 22 Constraint information input section 23 Algorithm parameter information input section 24 Operation parameter input section 32 Planning Period Information 33 Shift Information 40 Constraint information 50 Optimization Algorithm Parameters 50 Data output section 60 Operating parameters 80 Output section 100 Information processing device 100 Shift planning device 600 Computer equipment 602 Input Interface 603 Display device 604 Communication equipment 605 Main storage 606 External storage device 607 Bus
Claims
1. calculating a first evaluation value for each worker based on an evaluation plan in which a plurality of workers are assigned to a plurality of work periods, in accordance with a satisfaction level of a first constraint condition regarding the assignment to the plurality of work periods; detecting at least one second constraint condition related to the allocation of the plurality of workers for each work period, the second constraint condition being improved in terms of satisfaction when the allocation of the workers is changed; calculating a second evaluation value relating to a possibility that a satisfaction state of the detected second constraint condition will be improved based on information relating to the detected second constraint condition; a processing unit that evaluates the plan to be evaluated based on the first evaluation value and the second evaluation value; An information processing device comprising:
2. The processing unit generates evaluation information for the evaluation target plan for each worker based on the first evaluation value and the second evaluation value. The information processing device according to claim 1 .
3. the processing unit calculates the second evaluation value in accordance with the sum of the number of the detected second constraint conditions. The information processing device according to claim 1 .
4. each of the plurality of second constraints has a weight; the processing unit calculates the second evaluation value based on a sum of weights of the detected second constraint conditions. The information processing device according to claim 1 .
5. the processing unit calculates a third evaluation value for each of at least one second constraint condition related to the allocation of the plurality of workers in accordance with a satisfaction state of the second constraint condition; the processing unit calculates the second evaluation value by a sum of the third evaluation values of the detected second constraint conditions. The information processing device according to claim 1 .
6. the processing unit calculates a third evaluation value for each of at least one second constraint condition related to the allocation of the plurality of workers in accordance with a satisfaction state of the second constraint condition; the processing unit sets the second evaluation value to a maximum value of the third evaluation values of the detected second constraint conditions. The information processing device according to claim 1 .
7. When the number of the detected second constraint conditions is equal to or greater than a threshold, the processing unit sets the second evaluation value to a maximum value of the third evaluation values of the detected second constraint conditions, and when the number of the detected second constraint conditions is less than a threshold, the processing unit sets the second evaluation value to a predetermined value. The information processing device according to claim 6 .
8. the processing unit calculates a third evaluation value for each of at least one second constraint condition related to the allocation of the plurality of workers in accordance with a satisfaction state of the second constraint condition; The improvement in the satisfaction state of the second constraint condition when the allocation of the workers is changed means that the third evaluation value calculated when the change is made has a higher evaluation than the third evaluation value before the change. The information processing device according to claim 1 .
9. the processing unit generates the evaluation information based on the sum of the second evaluation values for each of the plurality of work periods and the first evaluation value. The information processing device according to claim 2 .
10. the processing unit weights the sum of the second evaluation values and the first evaluation value, and adds the weighted sum of the second evaluation values and the first evaluation value to generate the evaluation information. The information processing device according to claim 9 .
11. the processing unit determines a target worker whose allocation to at least one of the plurality of work periods in the plan to be evaluated is changed based on the evaluation information. The information processing device according to claim 2 .
12. The evaluation information indicates a priority for selecting the worker as the target worker. The information processing device according to claim 11.
13. the processing unit changes the plan to be evaluated by randomly changing the allocation of the target workers. The information processing device according to claim 11.
14. the processing unit changes the allocation of the target worker to at least one of the plurality of work periods in the plan to be evaluated, and repeatedly calculates the first evaluation value, calculates the second evaluation value, generates the evaluation information, and determines the target worker for the plan to be evaluated after the allocation change. The information processing device according to claim 11.
15. the processing unit is an output unit that outputs output data including the evaluation information for each worker; The information processing device according to claim 2 , comprising:
16. The work period includes a plurality of time periods, The allocation of the plurality of workers to the plurality of work periods is an allocation of the plurality of workers to the plurality of time periods included in the plurality of work periods. The information processing device according to claim 1 .
17. Changing the assignment of the worker to the work period includes, if the worker is assigned to the work period, canceling the assignment of the worker to the work period, and, if the worker is not assigned to the work period, assigning the worker to the work period. The information processing device according to claim 1 .
18. the satisfaction status of the first constraint condition is whether or not the first constraint condition is satisfied or the degree of deviation from the constraint defined by the first constraint condition; The satisfaction status of the second constraint condition is whether or not the second constraint condition is satisfied or the degree of deviation from the constraint defined by the first constraint condition. The information processing device according to claim 1 .
19. calculating a first evaluation value for each worker based on an evaluation plan in which a plurality of workers are assigned to a plurality of work periods, in accordance with a satisfaction level of a first constraint condition regarding the assignment to the plurality of work periods; detecting at least one second constraint condition related to the allocation of the plurality of workers for each work period, the second constraint condition being improved in terms of satisfaction when the allocation of the workers is changed; calculating a second evaluation value relating to a possibility that a satisfaction state of the detected second constraint condition will be improved based on information relating to the detected second constraint condition; Evaluating the plan to be evaluated based on the first evaluation value and the second evaluation value. A computer-implemented information processing method.
20. calculating a first evaluation value for each worker based on an evaluation target plan in which a plurality of workers are assigned to a plurality of work periods, in accordance with a satisfaction level of a first constraint condition regarding assignment to the plurality of work periods; detecting at least one second constraint condition related to the allocation of the plurality of workers for each work period, the second constraint condition being improved in terms of satisfaction when the allocation of the workers is changed; calculating a second evaluation value relating to a possibility that a satisfaction state of the detected second constraint condition will be improved based on information relating to the detected second constraint condition; evaluating the plan to be evaluated based on the first evaluation value and the second evaluation value; A computer program that causes a computer to execute the following.
Citation Information
Patent Citations
Allocation table creation system
JP2004361991A
Plan creating apparatus, plan creating method and program
JP2010218045A