Worker assignment device and worker assignment system
The worker allocation device addresses dynamic workforce challenges by generating optimized shift plans using a graph structure and integer programming, ensuring efficient staffing and skill matching in environments with fluctuating workloads.
Patent Information
- Application Number
- JP2024119280
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2026-02-05
AI Technical Summary
Existing shift planning systems fail to consider the fluctuating workload and varying qualifications required for workers in dynamic environments, such as airport ground operations, leading to inefficient and suboptimal work allocation plans.
A worker allocation device that uses a work plan graph structure generation unit, decision variable generation units, constraint equation generation units, and an integer programming optimization solver to automatically create optimized shift plans and work plans, considering constraints like worker qualifications, workload fluctuations, and task overlap.
Enables the creation of optimized shift plans that satisfy constraints while minimizing workforce requirements, ensuring adequate staffing and skill matching, and reducing travel distances, thereby improving operational efficiency.
Smart Images

Figure 2026018153000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a worker allocation device capable of creating optimized shift plans and work plans. [Background technology]
[0002] There is a problem called shift planning, which involves determining the attendance schedule of workers (operators) on a monthly or fixed period basis. In other words, shift planning involves deciding which shift each worker will work on each day, for example, whether it will be a day shift, a late-night shift, a night shift, or a holiday.
[0003] To create a work shift, various constraints must be met for a given worker, such as ensuring a certain number of days off during the target period, limiting the number of consecutive days worked, and ensuring a certain interval between the end of one shift and the start of the next.
[0004] In addition, constraints such as ensuring a certain number of employees are present each day must also be satisfied. This is a field known as nurse scheduling, as typified by shift planning for hospital nurses, and there have been many research examples. For example, Non-Patent Document 1 discloses a method for solving this problem using integer programming.
[0005] On the other hand, the method described in Non-Patent Document 1 does not sufficiently consider the method for determining the number of staff and the qualifications of staff. Non-Patent Document 1 takes into account conditions such as the number of veteran and new nurses combined, but the minimum number of staff that must be on duty each day is fixed. However, with ground operations at airports, such as refueling aircraft, cleaning, loading and unloading cargo, and pushing back aircraft using towing vehicles, the number of tasks themselves fluctuates depending on the number of flights arriving and departing each day and the type of aircraft. Furthermore, the qualifications required for the staff vary depending on the type of work and the equipment involved, making it impossible to simply fix the number of staff on duty each day.
[0006] Furthermore, if the times of the flights being worked on are different, it is possible for the same worker to work on one flight and then continue on to work on another flight, but if the times of the flights being worked on overlap, the same worker cannot work on both flights and another worker must be assigned, which may change the minimum number of workers required even if the total number of tasks is the same.For this reason, if you are trying to create a work shift plan that keeps the number of people at work to the minimum necessary, it is essential to consider the work plan for that day.
[0007] Patent Document 1 discloses a personnel allocation plan for a production line, and discloses a technique for allocating workloads to each worker based on information such as the worker's skill level, working hours, and a workload table. [Prior art documents] [Patent documents]
[0008] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-289056 [Non-patent literature]
[0009] [Non-Patent Document 1] A comparison of integer programming formulations and variable-fixing method for the nurse scheduling problem IEEE International Conference on Industrial Engineering and Engineering Management 2017 pp.70 - 74 Summary of the Invention [Problem to be solved by the invention]
[0010] Patent Document 1 discloses that the work allocation unit calculates the load factor of each worker and displays it on a result display unit, but it is thought that the actual allocation of workload to workers is done by a human being who looks at the result display unit, and does not disclose any technology for automatically realizing an optimized personnel allocation plan.
[0011] The present disclosure has been made to solve the above-mentioned problems, and aims to provide a worker allocation device that can automatically create optimized shift plans and work plans. [Means for solving the problem]
[0012] a work plan graph structure generation unit that generates a work plan graph structure having at least a work start node that indicates the start of work, a work end node that indicates the end of the work, and a link that is a path connecting the work start node and the work end node and represents the work; a work plan decision variable generation unit that generates work plan decision variables that correspond to the links in the work plan graph structure generated by the work plan graph structure generation unit and determine whether the links will actually be used; a work plan constraint equation generation unit that generates work plan constraint equations that constrain the relationships between the shift decision variables and the work plan decision variables; and an optimization solver execution unit that executes an integer programming optimization solver. The shift decision variables, the work plan decision variables, the work plan constraint equations, and a previously created evaluation function are set in the integer programming optimization solver and executed by the optimization solver execution unit, thereby creating a work shift plan and a worker assignment plan as optimal solutions. [Effects of the Invention]
[0013] According to the worker allocation device of the present disclosure, an optimized shift plan can be automatically created while satisfying required constraints. [Brief explanation of the drawings]
[0014] [Figure 1]FIG. 10 is a diagram illustrating an example of a work shift schedule. [Figure 2] 1 is a functional block diagram showing a configuration of a worker allocation device 100 according to a first embodiment of the present disclosure. [Figure 3] FIG. 10 is a diagram showing a work plan graph structure for creating a work assignment plan for workers. [Figure 4] 1 is a diagram illustrating a hardware configuration for implementing a worker allocation device according to a first embodiment of the present disclosure. [Figure 5] 1 is a diagram illustrating a hardware configuration for implementing a worker allocation device according to a first embodiment of the present disclosure. [Figure 6] 1 is a schematic diagram illustrating a configuration of a worker allocation system according to a first embodiment of the present disclosure. [Figure 7] FIG. 4 is a schematic diagram illustrating a configuration of a modified example of the worker allocation system according to the first embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0015] <First Embodiment> Figure 1 shows an example of a work shift schedule. In this table, the names of workers A through F are listed vertically, and the dates from April 1st (4 / 1) to April 6th (4 / 6) are listed horizontally. On each day, each worker either works a day shift, a semi-night shift, or a night shift, or is on leave. In Figure 1, each type of work is indicated by a single letter, i.e., "day," "semi-night," or "night," indicating the assigned work shift, or a day off, indicated by "day off."
[0016] In allocating these shifts, there are generally certain conditions set for each worker, such as a certain number of vacation days, a limit on the number of consecutive days worked, and a certain interval between the end of a shift and the start of the next shift. There are also certain conditions that require a certain number of workers to be available on any given day.
[0017] To solve this shift planning problem, we formulate the following: We define a 0-1 variable x such that it is 1 if worker i is assigned shift k on date j, and 0 if not. ijk Holidays are also treated as part of work shifts.
[0018] Since only one work shift can be assigned to worker i on date j, the following formula (1) must be satisfied when the set of workers is M, the set of dates for which work shifts are to be created is N, and the set of work shifts is W.
[0019]
number
[0020] Also, the lower limit of the number of people who must attend work shift k on a certain day j is a jk , upper limit b jk If so, the following formula (2) must be satisfied.
[0021]
number
[0022] The minimum attendance number for worker i in the target period of work shift k is c ik , the upper limit of attendance is d ik If so, the following formula (3) must be satisfied.
[0023]
number
[0024] Here, the lower limit c for vacation ik By setting this, you can specify the minimum number of vacation days for each worker during the target period.
[0025] The upper limit of the interval between shifts k of worker i is v k If so, the following formula (4) must be satisfied.
[0026]
number
[0027] In the above formula (4), h is a temporary variable, and formula (4) changes h from 0 to v k This indicates that the value is changed and added.
[0028] Here, the upper limit for vacation is v k By setting this, you can specify the maximum interval between holidays (maximum number of consecutive working days).
[0029] k0, k1 k t When the following sequence of work shifts must be prohibited, the following formula (5) must be satisfied within the range in which the date j of worker i is the last day.
[0030]
number
[0031] This is specified, for example, when a day shift follows a night shift and it is necessary to avoid a short interval between the end of one shift and the start of the next.
[0032] After setting the constraint equations in this way, the evaluation index for the work shift plan can be determined based on, for example, the total number of employees at work, the number of days off requested by each worker that are fulfilled, and the number of occurrences of work shift sequences that are not prohibited but that should be avoided if possible.The evaluation index can then be optimized using an integer programming optimization solver, and the desired work shift plan can be obtained.
[0033] An integer programming optimization solver is a commercially available tool that, when run after setting the optimization decision variables, constraints, and objective function, calculates the values of the decision variables that maximize or minimize the objective function. In this way, if the number of workers who need to be at work on a given day is fixed, a work shift plan can be obtained by using an integer programming optimization solver in the above-mentioned way.
[0034] On the other hand, the lower limit a of the number of people who must attend work shift k on a certain date j jk For example, in the case of ground operations at airports, such as refueling aircraft, cleaning, loading and unloading cargo, and pushing back aircraft using towing vehicles, the number of tasks themselves fluctuates depending on the number of flights arriving and departing each day and the type of aircraft, and there is also the problem that the qualifications that the workers in charge must have differ depending on the type of work and the aircraft involved, making it impossible to simply fix the number of workers on duty each day.
[0035] Furthermore, if the times of the flights being worked on are different, it is possible for the same worker to work on one flight and then continue on to work on another flight. However, if the times of the flights being worked on overlap, the same worker cannot work on both flights and another worker must be assigned, which may change the minimum number of workers required even if the total number of tasks is the same.
[0036] Furthermore, if the working hours of different work shifts do not overlap, it is possible to uniquely determine which shift a worker in charge of a certain task should be working on, but if there is overlap in the working hours of different shifts, it is not possible to uniquely determine which shift a worker should be working on. For example, if there is a work shift from 6:00 to 15:00 and another from 8:00 to 17:00, the task from 10:00 to 12:00 can be handled by any worker working on either shift. Therefore, if you want to create a truly optimal work shift plan, it is essential to consider the work plan for that day.
[0037] A method for creating a work shift plan under such conditions that the number of workers who will be working on that day cannot be easily determined will be described below.
[0038] <Device configuration> 2 is a functional block diagram showing the configuration of a worker allocation device 100 according to the first embodiment of the present disclosure. As shown in FIG. 2, the worker allocation device 100 includes a shift decision variable generation unit 10, a work plan graph structure generation unit 11, a work plan decision variable generation unit 12, a work plan constraint equation generation unit 13, a shift decision variable memory unit D10 that stores shift decision variables, a work plan graph structure memory unit D11 that stores a work plan graph structure, a work plan decision variable memory unit D12 that stores work plan decision variables, a work plan constraint equation memory unit D13 that stores work plan constraint equations, and an optimization solver execution unit 14 that executes an optimization solver for integer programming.
[0039] The shift decision variable generation unit 10 generates shift decision variables for allocating work shifts to each worker for each day based on worker list data D1 input from outside, and inputs the variables to the shift decision variable storage unit D10. The worker list data D1 includes information such as the worker's name, qualifications, desired working hours, and desired days off.
[0040] Based on worker list data D1 and task list data D2 input from the outside, the work plan graph structure generation unit 11 generates a work plan graph structure that includes at least a task start node that indicates the start of a task, a task end node that indicates the end of a task, and links that represent tasks and are paths connecting the task start node and task end node, and inputs the generated work plan graph structure to the work plan graph structure storage unit D11. The task list data D2 includes information such as refueling of aircraft, cleaning, loading and unloading of cargo, and pushing back of aircraft by a towing vehicle during ground operations at an airport.
[0041] The work plan decision variable generation unit 12 generates a work plan decision variable that determines whether or not a link in the graph structure generated by the work plan graph structure generation unit 11 will actually be used, and inputs the generated variable to the work plan decision variable memory unit D12.
[0042] The work plan constraint equation generation unit 13 generates work plan constraint equations that set constraints required in the shift plan for the shift decision variables generated by the shift decision variable generation unit 10, work plan constraint equations that set constraints required in the work plan for the work plan decision variables generated by the work plan decision variable generation unit 12, and work plan constraint equations that constrain the relationship between the shift decision variables and the work plan decision variables so that work is assigned within the working hours of workers determined by the shift decision variables, and inputs these equations to a work plan constraint equation storage unit D13.
[0043] FIG. 3 is a diagram showing a work plan graph structure for creating a worker-to-work allocation plan created by the work plan graph structure generation unit 11 shown in FIG. 2, with the horizontal axis representing the passage of time.
[0044] As shown in Fig. 3, in the work plan graph structure, the work start node NDS and the work end node NDE represent the arrival and departure times for that work shift, and the work start node ND23 and the work end node ND24 represent the start and end of work. Note that Fig. 3 shows one work start node ND23 and one work end node ND24, but this is for illustration purposes only, and nodes other than the work start node NDS and the work end node NDE are classified as work start nodes or work end nodes.
[0045] The tasks included in the work plan graph structure are limited to those that the worker can handle based on his or her qualifications and that can be handled during the working hours of that work shift. A link indicating the start of a task is set from the work start node to the work start node of each task, and a link indicating the end of a task is set from the work end node of each task to the work end node. For example, the arrow connecting the work start node NDS and the work start node ND1 is called the work start link L1, and it specifies the first task after the start of a shift. In this case, the arrow connecting the work start node ND1 and the work end node ND2 is the work link L2, and its weight contains information about the work time, which will be explained later. The arrow connecting the work end node ND2 and the work end node NDE is the work end link L3 (the third link), and its weight contains information about the travel distance. In this way, for each task, a link is set from the work start node to the work end node to indicate that the task is being performed.
[0046] A link is also set from the work start node NDS to the work end node NDE when the worker ends up without performing any work. In other words, the arrow connecting the work start node NDS and the work end node NDE is the link L0 (first link) when there is no work. In some cases, such a situation may occur, so this setting is also taken into consideration.
[0047] Furthermore, if it is possible to continue working on a task from the end time of the previous task to the start time of the next task, a link is set to indicate movement between tasks, from the end node of the previous task to the start node of the next task. For example, a task start link L1 (second link) is set from the work start node NDS to the work start node ND1, and the arrow connecting the work end node ND2 and the work start node ND23 is an inter-task link L4 (fifth link), which has travel distance information as its weight. At the time of the work end node ND2, there is time available to continue working on the task, so next, movement between tasks is made to the work start node ND23. Work is performed from the work start node ND23 via the work link L23 (fourth link) to reach the work end node ND24, and then via the work end link L24 to reach the work end node NDE.
[0048] Here, the "weight" for each task is assigned, for example, according to the task time or travel distance, and is later reflected in the evaluation index. In other words, an integer programming optimization solver performs optimization to maximize or minimize a certain evaluation function. The index used in that evaluation function is the evaluation index. For example, if you want to minimize the travel distance of workers, you can set the travel distance as a weight for each link, and use the sum of the weights of the actually used links as the evaluation function. By executing the optimization solver in the optimization solver execution unit 14 to minimize the evaluation function, you can obtain a solution that minimizes the travel distance, i.e., a work plan. Depending on the evaluation function setting, you can optimize the work plan with respect to various indices, such as equality of work hours, equality of working days, and equality of holidays.
[0049] In the graph structure created in this way, the work that a worker is responsible for in that work shift can be represented by tracing a single route from the work start node NDS to the work end node NDE. One such graph structure is created for each worker, each day of the planning period, and each work shift.
[0050] In Figure 3, all work that can be performed in that work shift is written in a single graph, which makes it complex and results in multiple nodes existing in parallel, but the work plan corresponding to one worker's work shift is configured so that it can be traced along a single route, and multiple links such as links L3 and L4 branching off from work end node ND2 are not set at the same time. For example, as explained above, the work plan can be traced along a single route from work start node NDS via work start link L1, work start node ND1, work link L2, work end node ND2, inter-work link L4, work start node ND23, work link L23, work end node ND24, and work end link L24 to reach work end node NDE.
[0051] In order to make it possible to trace a single route from the work start node NDS to the work end node NDE, a work plan decision variable, which is a decision variable that determines whether or not to use each link in the graph structure, i.e., the work, is created by the work plan decision variable generation unit 12. This is a 0-1 variable in which a decision variable of 0 or 1 is set for every link, and when a link is selected, the decision variable for that link becomes 1, and when it is not selected, the decision variable for that link becomes 0.
[0052] Here, the 0-1 variable x explained above using equation (1) ijk is a shift decision variable for assigning work shift k to worker i on date j, and is created by the shift decision variable generation unit 10. For example, if work shift 1 is to be assigned to worker i on date j out of work shifts 1, 2, and 3, work shift 1 becomes variable 1, and work shifts 2 and 3 become variables 0.
[0053] Next, a description will be given of the work plan constraint equations generated by the work plan constraint equation generation unit 13. The shift plan constraint equations explained using equations (1) to (5) are also generated by the work plan constraint equation generation unit 13. As one of the work plan constraint equations, a constraint equation (second constraint equation) is created, which is expressed by the following equation (6), which states that for the work start node and the work end node, the number of links in use coming into the node matches the number of links in use going out of the node.
[0054]
number
[0055] In the above formula (6), y e indicates whether the e-th link is used, i.e., 1 is used and 0 is not used. M is a set of workers, N is a set of dates for which work shifts are to be created, W is a set of work shifts, and R bijk is the set of work start nodes for worker i in shift k on date j, E r I is the set of links entering the work start node r (I is a superscript), E rO is the set of links (O is a superscript) that leave the work start node r. Note that the above formula (6) is a constraint formula for using link e, and y e It is expressed as:
[0056] Equation (6) shows the constraint equation at the work start node, but a symmetric constraint equation (second constraint equation) is also set for the work end node. The constraint equation at the work end node is expressed by the following equation (7).
[0057]
number
[0058] In the above formula (7), the meaning of each symbol is almost the same as in formula (6), but R eijk is the set of work completion nodes for worker i in shift k on date j, E r I is the set of links entering the work completion node r (I is a superscript), E r Let O be the set of links coming out of the work completion node r (O is a superscript).
[0059] Using this constraint equation, for example, if we focus on the work end node ND2 in Figure 3, when work link L2 is used and its decision variable is 1, of the links L3 and L4 exiting the work end node ND2, only the one that is used is set to a decision variable of 1, while the other is unused and set to a decision variable of 0. Therefore, compared to the decision variable 1 for work link L2 entering the work end node ND2, the sum of the decision variables for the links exiting the work end node ND2 is 1, and link use can be restricted so that no branching occurs and a single route can be traced from the work start node NDS to the work end node NDE. Note that if work link L2 is not used and its decision variable is 0, the decision variables for both links L3 and L4 exiting the work end node ND2 are set to 0, and neither will be used.
[0060] In this way, by creating the constraint equation of formula (6) for all nodes except the shift start node NDS and the shift end node NDE, it is possible to obtain a work plan in which no branching occurs.
[0061] In addition, since this graph structure is created for each work shift, the aforementioned work shift decision variable x ijk A constraint equation (first constraint equation) is created, which is expressed by the following equation (8), which restricts the number of links used from the shift start node according to the following:
[0062]
number
[0063] In the above formula (8), as in formula (6), y e indicates whether the e-th link is used, i.e., 1 is used and 0 is not used. M is a set of workers, N is a set of dates for which work shifts are to be created, W is a set of work shifts, and R oijk is the set of work start nodes for worker i in work shift k on date j, E r Let O be the set of links coming out of the work start node r (O is a superscript).
[0064] Using this constraint, in Figure 3, if this work shift for this worker on this day is adopted, the decision variable x ijk is 1, and one of the five links from the work start node NDS is used, and the sum of the decision variables of these links is constrained to be 1. On the other hand, if this work shift is not adopted, the decision variable x ijk becomes 0, and the decision variables are fixed to 0 so that all five links leaving the shift start node NDS are not used.
[0065] By using the above constraints, it is possible to create a work execution plan according to the work shift of a worker. When the decision variable for the work shift representing vacation is 1, the number of links used from the work start node for the graph structure corresponding to any work shift is fixed to 0.
[0066] In other words, when a worker is assigned a vacation, the worker is not in charge of any work, so there is no link to be selected in the graph structure representing the work. Therefore, the number of links used from the work start node is 0, and the work plan in this graph structure will not be selected for the worker.
[0067] Then, through the graph structure corresponding to all workers and work shifts, we search for links that represent the same work, and create a constraint (third constraint) expressed by the following formula (9) that limits the use of these links to one time in total.
[0068]
number
[0069] In the above formula (9), y e Let E be the set of all operations, and let E be the number of operations. h Let W (W is a superscript) be the set of operation links corresponding to operation h.
[0070] By using the above constraints, if a link representing a certain worker's work also exists in the graph structure of another worker's work shift, only one of the links can be selected. This limits the work to one worker and one work shift, preventing overlapping work shifts.
[0071] When multiple workers are in charge of the same task, the task of the first worker, the task of the second worker, etc. are each defined as separate tasks.
[0072] For the constraint equations explained above, if we run the calculations through an integer programming optimization solver to optimize evaluation indicators such as the total number of employees at work, the number of days off desired by each worker that are fulfilled, the number of consecutive work shifts that are not prohibited but that should be avoided if possible, the distance workers travel in the daily work plan, and the balance of work assignments for each worker, it will be possible to simultaneously obtain a work shift plan and a plan for assigning workers to work for each day.
[0073] Here, "calculating using an integer programming optimization solver to optimize as an evaluation index" means creating an evaluation function by combining evaluation indexes, setting it in the optimization solver to minimize or maximize its value, and executing it.
[0074] For example, let A be the total number of people working, B be the number of times a worker's desired vacation day was not fulfilled, C be the number of consecutive work shifts that should be avoided, D be the total distance traveled by workers, and E be the balance of work allocation for each worker, which is expressed as a number that is close to 0 when the balance is good and a large value when the balance is bad. A A+W B B+W c C+W D D+W E As shown in E, each element is weighted and the total value is calculated, and the optimization solver is run with the settings set to minimize this. This makes it possible to obtain a solution that reduces each evaluation index according to the weighting, i.e., a work shift plan and a worker assignment plan for each day's work. Each evaluation index can be calculated from each decision variable, etc., by preparing a separate calculation formula.
[0075] <Hardware configuration> Each of the components of the worker allocation device 100 according to the first embodiment described above can be configured using a computer and implemented by the computer executing a program. That is, the worker allocation device 100 is implemented, for example, by a processing circuit 500 shown in FIG. 4. The processing circuit 500 includes a processor such as a CPU (Central Processing Unit) or a DSP (Digital Signal Processor), and the functions of each unit are implemented by executing a program stored in a storage device.
[0076] Dedicated hardware may be applied to the processing circuit 500. When the processing circuit 500 is dedicated hardware, the processing circuit 500 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof.
[0077] In the worker allocation device 100, the functions of the components may be realized by individual processing circuits, or the functions may be realized collectively by a single processing circuit.
[0078] 5 shows a hardware configuration in the case where the processing circuit 500 is configured using a processor. In this case, the functions of each unit of the worker allocation device 100 are realized by a combination of software, etc. (software, firmware, or software and firmware). The software, etc. is written as a program and stored in the memory 520. The processor 510 functioning as the processing circuit 500 realizes the functions of each unit by reading and executing the program stored in the memory 520 (storage device). In other words, it can be said that this program causes a computer to execute the procedure and method of operation of the components of the worker allocation device 100.
[0079] Here, memory 520 may be, for example, a non-volatile or volatile semiconductor memory such as RAM, ROM, flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disc) and its drive device, or any storage medium that will be used in the future.
[0080] The above describes a configuration in which the functions of each component of the worker allocation device 100 are realized either by hardware or software, etc. However, this is not a limitation, and the configuration may be such that some of the components of the worker allocation device 100 are realized by dedicated hardware and other components are realized by software, etc. For example, the functions of some of the components may be realized by the processing circuit 500 as dedicated hardware, and the functions of other components may be realized by the processing circuit 500 as the processor 510 reading and executing a program stored in the memory 520.
[0081] As described above, the worker allocation device 100 can realize the above-described functions by hardware, software, or a combination of these.
[0082] <Worker allocation system> Fig. 6 is a schematic diagram showing the configuration of a worker allocation system 1000 that includes a worker allocation device 100. As shown in Fig. 6, the worker allocation system 1000 includes the worker allocation device 100, a data input device DI that inputs data such as the worker list data D1 and the task list data D2 described with reference to Fig. 2 to the worker allocation device 100, and an information presentation device DP that presents information such as a work shift plan and a worker allocation plan obtained by running an optimization solver in the worker allocation device 100 to a user of the worker allocation system 1000.
[0083] The data input device DI includes a user interface and the like, and allows a system user to input worker list data D1, work list data D2, and the like from a terminal device.
[0084] The information presentation device DP is, for example, a display, and can display work shift plans, worker allocation plans, etc. in table format to system users.While looking at the table on the information presentation device DP, users can give instructions to the worker allocation device 100, such as to recalculate as necessary, making the system highly convenient.
[0085] <Modification> 7 is a schematic diagram showing the configuration of a worker allocation system 2000 in which the worker allocation device 100 is implemented on a server computer that constitutes a cloud environment. As shown in Fig. 7, the worker allocation system 2000 is configured to input data such as worker list data D1 and task list data D2 input from a data input device DI to a server computer on the cloud CL via a communications network, and then present information such as a work shift plan and a worker allocation plan obtained by running an optimization solver in the worker allocation device 100 installed in the server computer to a user of the worker allocation system 2000 via the communications network using an information presentation device DP.
[0086] By providing the worker allocation device 100 in a server computer that constitutes a cloud environment, the worker allocation device 100 can be accessed from anywhere, which increases convenience for users.
[0087] It should be noted that the present disclosure allows modifications and omissions to be made to the embodiments as appropriate within the scope of the disclosure.
[0088] The present disclosure described above will be summarized as an appendix.
[0089] (Appendix 1) a shift decision variable generation unit that generates a shift decision variable that determines a shift in which at least one worker will work; a work plan graph structure generation unit that generates a work plan graph structure having at least a work start node that indicates the start of a work, a work end node that indicates the end of the work, and a link that is a path connecting the work start node and the work end node and that represents the work; a work plan decision variable generation unit that generates a work plan decision variable corresponding to the link of the work plan graph structure generated by the work plan graph structure generation unit, the work plan decision variable determining whether the link is actually used; a work plan constraint equation generation unit that generates a work plan constraint equation that constrains the relationship between the shift decision variables and the work plan decision variables; an optimization solver execution unit that executes an optimization solver for integer programming; The worker allocation device creates a work shift plan and a worker assignment plan as optimal solutions by setting the shift decision variables, the work plan decision variables, the work plan constraint equations, and a pre-created evaluation function in the integer programming optimization solver and executing it in the optimization solver execution unit.
[0090] (Appendix 2) The work plan graph structure is a work start node representing the start of work of the at least one worker; a work end node representing the end of work of the at least one worker; a first link connecting the work start node and the work end node and indicating that there is no work to be performed; a second link connecting the shift start node and the work start node; a third link connecting the work end node and the shift end node; a fourth link connecting the work start node and the work end node; 2. The worker allocation device according to claim 1, further comprising a fifth link connecting the task end node and another task start node of another task different from the task.
[0091] (Appendix 3) The work plan constraint equation is a first constraint equation that constrains the number of uses of the link leaving the shift start node according to the shift decision variable; a second constraint equation that constrains the work plan decision variables such that the number of uses of the links entering the work start node and the work end node matches the number of uses of the links leaving the node; The at least one worker is a plurality of workers, and a third constraint equation that limits the number of uses of the link connecting the work start node and the work end node, which represent the performance of the same work, to one for all workers.
[0092] (Appendix 4) The link is: The weight is given according to the working time or the distance traveled, The evaluation function is The weights are used as evaluation indices, and the evaluation indices are combined to create the evaluation indices, 2. The worker allocation device according to claim 1, wherein the optimization solver for the integer programming method is set to minimize or maximize the value of the evaluation function.
[0093] (Appendix 5) a worker allocation device according to appendix 1; a data input device for inputting information about the at least one worker and information about the work into the worker allocation device; an information presentation device that presents the work shift plan and the worker allocation plan obtained by the worker allocation device.
[0094] (Appendix 6) The worker allocation device is 6. A worker allocation system according to claim 5, constructed on a computer connected to a network. [Explanation of symbols]
[0095] 10 Shift decision variable generation unit, 11 Work plan graph structure generation unit, 12 Work plan decision variable generation unit, 13 Work plan constraint equation generation unit, 14 Optimization solver execution unit, 100 Worker allocation device, DI data input device, DP information presentation device.
Claims
1. a shift decision variable generation unit that generates a shift decision variable that determines a shift in which at least one worker will work; a work plan graph structure generation unit that generates a work plan graph structure having at least a work start node that indicates the start of a work, a work end node that indicates the end of the work, and a link that is a path connecting the work start node and the work end node and that represents the work; a work plan decision variable generation unit that generates a work plan decision variable corresponding to the link of the work plan graph structure generated by the work plan graph structure generation unit, the work plan decision variable determining whether the link is actually used; a work plan constraint equation generation unit that generates a work plan constraint equation that constrains the relationship between the shift decision variables and the work plan decision variables; an optimization solver execution unit that executes an optimization solver for integer programming; The worker allocation device creates a work shift plan and a worker assignment plan as optimal solutions by setting the shift decision variables, the work plan decision variables, the work plan constraint equations, and a pre-created evaluation function in the integer programming optimization solver and executing it in the optimization solver execution unit.
2. The work plan graph structure is a work start node representing the start of work of the at least one worker; a work end node representing the end of work of the at least one worker; a first link connecting the work start node and the work end node and indicating that there is no work to be performed; a second link connecting the shift start node and the work start node; a third link connecting the work end node and the shift end node; a fourth link connecting the work start node and the work end node; 2. The worker allocation device according to claim 1, further comprising a fifth link connecting the task end node with another task start node of another task different from the task.
3. The work plan constraint equation is a first constraint equation that constrains the number of uses of the link leaving the shift start node according to the shift decision variable; a second constraint equation that constrains the work plan decision variables such that the number of uses of the links entering the work start node and the work end node matches the number of uses of the links leaving the node; The at least one worker is a plurality of workers, 3. The worker allocation device according to claim 2, further comprising a third constraint that restricts the number of uses of the link connecting the work start node and the work end node, which represent the execution of the same work, to one for all workers.
4. The link is: The weight is given according to the working time or the distance traveled, The evaluation function is The weights are used as evaluation indices, and the evaluation indices are combined to create the evaluation indices, The worker allocation device according to claim 1 , wherein the optimization solver for the integer programming method is set so as to minimize or maximize the value of the evaluation function.
5. The worker allocation device according to claim 1; a data input device for inputting information about the at least one worker and information about the work into the worker allocation device; an information presentation device that presents the work shift plan and the worker allocation plan obtained by the worker allocation device.
6. The worker allocation device is 6. The worker allocation system according to claim 5, which is constructed on a computer connected to a network.
Citation Information
Patent Citations
Device for supporting personnel arrangement planning
JP2009289056A