WO2022137404A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2022137404A1
WO2022137404A1 PCT/JP2020/048276 JP2020048276W WO2022137404A1 WO 2022137404 A1 WO2022137404 A1 WO 2022137404A1 JP 2020048276 W JP2020048276 W JP 2020048276W WO 2022137404 A1 WO2022137404 A1 WO 2022137404A1
Authority
WO
WIPO (PCT)
Prior art keywords
condition
allocation
tasks
information processing
allocation result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2020/048276
Other languages
English (en)
French (fr)
Inventor
諭 高津
朋子 柴田
昌史 坂本
寛 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to US18/268,796 priority Critical patent/US20240046170A1/en
Priority to JP2022570865A priority patent/JP7521605B2/ja
Priority to PCT/JP2020/048276 priority patent/WO2022137404A1/ja
Publication of WO2022137404A1 publication Critical patent/WO2022137404A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00—Administration; Management
    • G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00—Administration; Management
    • G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063—Operations research, analysis or management
    • G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311—Scheduling, planning or task assignment for a person or group
    • G06Q10/063112—Skill-based matching of a person or a group to a task
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00—Administration; Management
    • G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present invention relates to a personnel resource allocation technique.
  • Patent Document 1 discloses a scheduling method that minimizes the overall schedule time while taking into consideration the skill of the worker.
  • the restriction condition is degenerated only to the quality index. For example, travel time is considered in the time index, and worker skill and task difficulty are considered in the quality index.
  • the information processing apparatus includes an acquisition unit that acquires a first limiting condition and a second limiting condition, which are limiting conditions for a plurality of tasks or a plurality of workers, and a plurality of acquisition units based on the first limiting condition.
  • An allocation execution unit that allocates the plurality of workers to the plurality of tasks and generates an allocation result based on a time index having a weight, and whether the allocation result satisfies the determination condition based on the second restriction condition.
  • a correction unit for correcting the weight and an output unit for outputting the allocation result when the allocation result satisfies the determination condition are provided.
  • a technique for degenerating a limiting condition to a time index is provided.
  • FIG. 1 is a block diagram showing an information processing apparatus according to an embodiment.
  • FIG. 2 is a diagram showing an example of arranging a work place of a task.
  • FIG. 3 is a diagram showing an example of task data stored in the task data storage unit shown in FIG.
  • FIG. 4 is a diagram showing an example of the allocation result.
  • FIG. 5 is a diagram illustrating processing by the correction unit shown in FIG.
  • FIG. 6 is a diagram showing an example of the allocation result obtained after modifying the weight.
  • FIG. 7 is a flowchart showing an example of a processing procedure in which the allocation unit shown in FIG. 1 allocates.
  • FIG. 8 is a block diagram showing an information processing apparatus according to an embodiment.
  • FIG. 9 is a diagram illustrating processing by the allowable value determination unit shown in FIG.
  • FIG. 10 is a diagram illustrating processing by the allowable value determination unit shown in FIG.
  • FIG. 11 is a diagram illustrating processing by the allowable value determination unit shown in FIG.
  • FIG. 12
  • FIG. 1 schematically shows an information processing apparatus 100 according to an embodiment.
  • the information processing apparatus 100 assigns a plurality of workers to a plurality of tasks to be executed.
  • the information processing apparatus 100 includes a task data acquisition unit 101, a worker data acquisition unit 102, an allocation unit 103, an output unit 108, a task data storage unit 111, and a worker data storage unit 112.
  • the information processing apparatus 100 may be implemented by a computer such as a server or a personal computer.
  • the task data acquisition unit 101 and the worker data acquisition unit 102 acquire the data necessary for allocation by the allocation unit 103.
  • the task data acquisition unit 101 acquires task data, which is data related to a plurality of tasks, and stores it in the task data storage unit 111.
  • the task data may include basic data and travel time data.
  • the basic data includes position data that specifies the location (work location) where each task is executed, start time data that indicates the start time that is the time to start execution of each task, and the number of workers assigned to each task.
  • the data shown may be included.
  • the location data may include, for example, the address of the work place.
  • the basic data may further include data indicating the type of each task.
  • Basic data can be entered by a human operator.
  • the travel time data indicates the time required to travel between work locations.
  • the task data acquisition unit 101 may generate travel time data by referring to the map information system using the position data included in the basic data.
  • the worker data acquisition unit 102 acquires worker data, which is data related to a plurality of workers, and stores it in the worker data storage unit 112.
  • the worker data may include identification data (for example, an ID number) that identifies the worker and data indicating the maximum number of tasks to be assigned to each worker.
  • the allocation unit 103 allocates workers to tasks based on the task data stored in the task data storage unit 111 and the worker data stored in the worker data storage unit 112, and the allocation result. Generate an allocation table as.
  • the allocation unit 103 includes a restriction condition acquisition unit 104, an allocation execution unit 105, a determination unit 106, and a correction unit 107.
  • the restriction condition acquisition unit 104 acquires the restriction condition related to the task from the task data stored in the task data storage unit 111. Restrictions on tasks include at least two restrictions. For example, the restriction condition acquisition unit 104 acquires two time restriction conditions, that is, travel time data and start time data.
  • the allocation execution unit 105 allocates workers to tasks based on a time index having a plurality of weights based on the restriction conditions acquired by the restriction condition acquisition unit 104.
  • the limiting condition that is the basis of the time index is called the first limiting condition.
  • the first limiting condition includes the movement time between work places, and the movement time between work places is used as a weight.
  • the first limiting condition may include the working time of the task in place of or in addition to the time between the working places of the task.
  • the working time of a task refers to the time required to complete the task.
  • the determination unit 106 determines whether or not the allocation table generated by the allocation execution unit 105 satisfies the determination condition based on the restriction condition acquired by the restriction condition acquisition unit 104.
  • the limiting condition that is the basis of the determination condition is referred to as a second limiting condition.
  • the second limiting condition includes the start time of the task
  • the determination condition includes the condition that the task having the same start time is not assigned to one worker.
  • the determination condition may include a condition that the ratio of tasks that do not have a start time to all tasks is kept below a predetermined threshold. This condition reflects the assignor's desire not to assign a task with the same start time to one worker as much as possible.
  • the determination condition may include a condition that the number of tasks of the same type assigned to each worker is suppressed to less than a predetermined threshold value. This condition reflects the assignor's desire not to assign the same type of task to one worker as much as possible, and if a worker is in charge of only the same type of task, the other type of task is processed. It is based on the viewpoint of worker training that skills do not improve.
  • the determination condition may include a condition that the number of workers to which a task whose work place is located in a dangerous area (for example, a high infection risk area) is assigned is suppressed to less than a predetermined number. When the determination unit 106 determines that the allocation table satisfies the determination condition, the allocation table is given to the output unit 108.
  • the correction unit 107 corrects the weight related to the task that causes the determination result to be determined not to satisfy the determination condition when the determination unit 106 determines that the allocation table does not satisfy the determination condition. Then, the allocation execution unit 105 reassigns based on the time index with the corrected weight, and generates a new allocation table.
  • the output unit 108 outputs the allocation table generated by the allocation unit 103.
  • the output unit 108 displays the allocation table on the display device.
  • the output unit 108 may transmit the allocation table to an external device connected via a network.
  • the allocation execution unit 105 obtains an allocation table by solving an optimization problem using a time index as an objective function.
  • a linear programming problem which is one of the optimization problems, may be used.
  • the time index is a linear combination of weights determined based on the first limiting condition.
  • the time index f (x) can be expressed, for example, by the following equation (1).
  • f (x) a 1 x 1 + a 2 x 2 + ... + an n x n ... (1)
  • a i is a weight
  • x i is a variable.
  • the movement time between work places is used as the first restriction condition, it is possible to make an allocation assuming that all the workers move by the same means of transportation (for example, walking).
  • the travel time between work places depends on the distance between work places. Therefore, the distance between work places may be used instead of the travel time between work places.
  • the allocation execution unit 105 allocates based on the linear programming problem using the time index f (x) as an objective function. Specifically, the allocation execution unit 105 finds a solution (x 1 , x 2 , ..., X n ) that minimizes the objective function f (x) under the constraint condition, and obtains the solution. Generate an allocation table. Constraints include the condition that no task exists that no one can assign. The constraint condition may further include the number of workers in charge of each task, the maximum number of tasks assigned to each worker, and the like. In the present embodiment, the number of workers in charge of each task is one, and the maximum number of tasks assigned to each worker is three. If each task is performed by one worker, the variable xi takes, for example, 0 or 1.
  • FIG. 2 shows an example of arrangement of work places A to F of six tasks A to F
  • FIG. 3 shows an example of task data related to tasks A to F
  • the work places A to F are geographically separated.
  • the task data includes travel time data indicating travel time between locations A and B, travel time between locations A and C, travel time between locations A and D, ..., Travel time between locations E and F, and Includes start time data indicating the start times of tasks A to F.
  • the travel time exists for each of the 15 sections formed by any two of the locations A to F, but FIG. 3 shows only the travel time for the six sections.
  • FIG. 3 shows only the travel time for the six sections.
  • the travel time between locations A and B is 20 minutes
  • the travel time between locations B and C is 10 minutes
  • the travel time between locations C and A is 50 minutes
  • the travel time between D and E is 30 minutes
  • the travel time between locations E and F is 20 minutes
  • the travel time between locations F and D is 50 minutes.
  • the start time of task A is 10:00
  • the start time of task B is 9:00
  • the start time of task C is 9:00
  • the start time of task D is 11:00
  • the start time of task F is 10:00
  • the start time of task F is 8:00.
  • optimization is executed without considering the second limiting condition (for example, task start time).
  • an allocation table may be obtained in which a plurality of tasks having the same start time are assigned to one worker.
  • the worker A may be assigned tasks A, B, and C
  • the worker B may be assigned tasks D, E, and F.
  • the start times of tasks B and C are both 9:00, and the allocation table is not feasible. If the determination condition includes a condition that a task with the same start time is not assigned to one worker, this assignment table does not satisfy the determination condition.
  • the correction unit 107 corrects the weights related to the task that causes the allocation table to not satisfy the determination condition among the weights included in the time index.
  • the tasks that cause the allocation table not to satisfy the determination conditions are tasks B and C
  • the correction unit 107 corrects the weight a6 in which the movement time between the locations B and C is set.
  • the correction unit 107 increases the weight a6 by a predetermined value ⁇ (for example, 10 minutes). This corresponds to virtually increasing the distance between locations B and C, as shown in FIG. This makes it less likely that both tasks B and C will be assigned to one worker.
  • the allocation unit 103 reallocates based on the time index in which the weight a6 is modified. By reassignment, as shown in FIG. 6, an allocation table in which tasks A, B, and D are assigned to worker A and tasks C, E, and F are assigned to worker B is obtained. In this way, the problematic task start time is eliminated.
  • FIG. 7 schematically shows an example of a procedure of processing executed by the information processing apparatus 100.
  • the restriction condition acquisition unit 104 acquires the first restriction condition and the second restriction condition, which are the restriction conditions related to the task.
  • the restriction condition acquisition unit 104 generates a first restriction condition and a second restriction condition from the task data stored in the task data storage unit 111.
  • the first limiting condition includes, for example, the travel time between places where the task is executed
  • the second limiting condition includes, for example, the start time of the task.
  • step S702 the allocation execution unit 105 allocates workers to tasks based on a time index having a weight based on the first restriction condition, and generates an allocation table.
  • the allocation execution unit 105 generates an allocation table by finding a solution of a linear programming problem using the time index f (x) shown in the above equation (1) as an objective function. For example, the travel time between work locations of a task is used as a weight.
  • step S703 the determination unit 106 determines whether or not the allocation table generated by the allocation execution unit 105 satisfies the determination condition based on the second restriction condition. For example, when a task with the same start time is assigned to one worker, the determination unit 106 determines that the allocation table does not satisfy the determination condition. If the allocation table does not satisfy the determination condition (step S703; No), the process proceeds to step S704.
  • step S704 the correction unit 107 corrects the weight related to the task that causes the allocation table to be determined not to satisfy the determination condition. For example, when two tasks with the same start time are assigned to one worker, the correction unit 107 increases the weight set for the movement time between the work places of these two tasks by a predetermined value. After that, the process returns to step S702, and the allocation execution unit 105 reassigns based on the time index with the corrected weight.
  • step S705 the output unit 108 outputs the allocation table.
  • the output unit 108 displays the allocation table on the display device.
  • the allocation table obtained by allocating based on the time index with the corrected weight may be output regardless of whether or not this allocation table satisfies the determination condition.
  • the information processing apparatus 100 acquires the first limiting condition and the second limiting condition, which are the limiting conditions for a plurality of tasks, and uses the time index having a plurality of weights determined based on the first limiting condition as a time index. Based on this, multiple workers are assigned to multiple tasks and the assignment result is generated.
  • the information processing apparatus 100 corrects the weight related to the task that causes the allocation result to be determined not to satisfy the determination condition, and the weight is corrected. Reassign based on the time index.
  • the information processing apparatus 100 obtains an allocation result satisfying the determination condition, the information processing apparatus 100 outputs the allocation result.
  • the information processing apparatus 100 may generate an allocation result by solving a linear programming problem using a time index as an objective function.
  • the time index is defined by a linear combination of weights. Since the time index is evaluated by the size of the value (magnitude relationship), the quality of the applied restriction condition is clearer than the quality index. Therefore, the ex-post evaluation of the limiting conditions becomes easy.
  • a determination condition including an allowance such as a determination condition that the ratio of tasks that do not have a start time to all tasks is suppressed to less than a predetermined threshold value. This makes it possible to eliminate or reduce the occurrence of events for which a solution cannot be obtained in optimization.
  • the assigner may wish to assign a combination of tasks that require a short travel time to one worker.
  • the movement time between the places E and F is relatively short, and the start times of the tasks E and F are different.
  • the correction unit 107 may reduce the weight a15 for which the movement time between the locations E and F is set by a predetermined value (for example, 5 minutes). By reducing the weight a15 , tasks E and F can be easily assigned to the same worker. In this way, the correction unit 107 may correct the weight based on a positive condition.
  • the first limiting condition and the second limiting condition relate to a task.
  • the first limiting condition and / or the second limiting condition may include a limiting condition regarding a worker.
  • Worker data includes skill data indicating the skill level of each worker.
  • Skills are classified into 4 levels: SA, S, A, and B.
  • SA, S, A, B in descending order of skill.
  • the first restriction condition includes the working time for each skill level in each task. For example, the working time of task A is set to 30 minutes for skill level SA, 35 minutes for skill level S, 40 minutes for skill level A, and 45 minutes for skill level B.
  • the second limiting condition includes the skill level of the worker, and the determination condition includes the condition that the pair of workers having the skill level B is prohibited from being assigned to one task. For example, when two workers having a skill level of B are assigned to the task A, the correction unit 107 increases the weight in which the work time of the skill level B in the task A is set. This prevents the generation of assignment results that perform a specific task only by the trainee (worker with low skill).
  • the correction unit 107 increases or decreases the weight by a predetermined value.
  • the correction unit 107 may correct the weight using a tolerance value described later.
  • FIG. 8 schematically shows the information processing apparatus 800 according to the embodiment.
  • the information processing apparatus 800 includes a task data acquisition unit 101, a worker data acquisition unit 102, an allocation unit 103, an output unit 108, a task data storage unit 111, a worker data storage unit 112, and an allocation data unit.
  • a storage unit 811 is provided.
  • the allocation unit 103 includes a restriction condition acquisition unit 104, an allocation execution unit 105, a determination unit 106, a correction unit 107, and a permissible value determination unit 801.
  • the allocation data storage unit 811 stores the allocation data.
  • the allocation data includes multiple allocation tables manually created by the assigner (human operator). Alternatively, the allocation data may include multiple simulation-generated allocation tables.
  • the permissible value determination unit 801 determines the permissible value based on the allocation history data stored in the allocation data storage unit 811.
  • the permissible value determination unit 801 classifies a plurality of allocation tables included in the allocation data according to the degree of reflection of the second restriction condition.
  • the degree of reflection refers to the ratio at which the second restriction condition is reflected in the allocation table.
  • the reflection degree refers to the ratio of the tasks that do not have the start time to all the tasks.
  • FIG. 9 shows an example of an allocation table in which nine tasks are assigned to three workers. In the example of FIG. 9, tasks B and C having the same start time are assigned to the worker A, and tasks E and F having the same start time are assigned to the worker B.
  • the tolerance determination unit 801 classifies a plurality of allocation tables into three classes.
  • the first class classifies allocation tables with a reflection range of 0 to 30%
  • the second class classifies allocation tables with a reflection range of 31 to 70%.
  • allocation tables with a degree of reflection in the range of 71 to 100% are classified.
  • the permissible value determination unit 801 determines the permissible value based on the allocation table classified into the class having the largest number of allocation tables (number of data). By determining the permissible value based on the allocation table classified in the class having the largest number of allocation tables (number of data), it is possible to set the permissible value close to the interval of the assigners.
  • the permissible value determination unit 801 determines the largest value among the time index values for which the restriction conditions cannot be reflected in the allocation table classified into the class having the largest number of allocation tables as the permissible value.
  • FIG. 10 shows one of the allocation tables classified into the class with the largest number of allocation tables.
  • tasks B and C having the same start time are assigned to the worker A, and the travel time between the work place of task B and the work place of task C is 10 minutes.
  • tasks E and F having the same start time are assigned to the worker B, and the movement time between the work place of the task E and the work place of the task F is 20 minutes.
  • the allowable value candidate is 20 minutes.
  • Tolerance candidates are acquired for all allocation tables classified in the class with the largest number of allocation tables.
  • the largest of the allowable value candidates is adopted as the allowable value.
  • the permissible value thus obtained is the upper limit of the value permissible by the assignor, and enables the allocation according to the sense of the assigner.
  • the permissible value determination unit 801 notifies the correction unit 107 of the determined permissible value.
  • the permissible value may be determined by a method other than the above method.
  • the permissible value may be a value obtained by subtracting the average moving time of all the sections excluding the section covered by the start time from the average moving time of the section covered by the start time.
  • the average travel time of the section covered by the start time is obtained by dividing the total travel time of the section covered by the start time by the number of sections covered by the start time.
  • the average travel time of all sections excluding the section covered by the start time is calculated by dividing the total travel time of the sections other than the section covered by the start time by the number of sections excluding the section covered by the start time. It can be obtained by. If a negative tolerance is obtained, the tolerance may be calculated based on the above method.
  • the correction unit 107 corrects the weight related to the task that causes the allocation table generated by the allocation unit 103 to not satisfy the determination condition by using the tolerance value determined by the tolerance determination unit 801.
  • the correction unit 107 corrects the weight a6 corresponding to the movement time between the place B and the place C.
  • the correction unit 107 corrects the value of the weight a6 to the permissible value. For example, when the movement time between the place B and the place C is 10 minutes and the allowable value is 20 minutes, the correction unit 107 corrects the weight a6 to 20 minutes.
  • the correction unit 107 increases the weight a6 by the difference between the travel time between the place B and the place C and the allowable value. If the travel time between place B and place C is equal to or exceeds the permissible value, the correction unit 107 does not correct the weight a6 . For example, if the travel time between location B and location C is 30 minutes and the permissible value is 20 minutes, the weight a6 is maintained at 30 minutes. If neither weight is modified, the same allocation table will be obtained if the allocation is made again. Therefore, if none of the weights is modified, the output unit 108 may output the obtained allocation table.
  • the above-mentioned processing regarding the information processing apparatus 100 and / or the information processing apparatus 800 can be realized by a computer.
  • FIG. 12 schematically shows a hardware configuration example of a computer 1200 according to an embodiment.
  • the computer 1200 includes a processor 1201, a RAM (RandomAccessMemory) 1202, a program memory 1203, a storage device 1204, and an input / output interface 1205.
  • the processor 1201 controls the RAM 1202, the program memory 1203, the storage device 1204, and the input / output interface 1205, and exchanges signals with these.
  • the processor 1201 includes a general-purpose circuit such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit).
  • the RAM 1202 is used by the processor 1201 as a working memory.
  • RAM 1202 includes a volatile memory such as SDRAM.
  • the program memory 1203 stores a program executed by the processor 1201 including the allocation program.
  • the program contains computer executable instructions.
  • ROM is used as the program memory 1203.
  • a part of the storage device 1204 may be used as the program memory 1203.
  • the processor 1201 expands the program stored in the program memory 1203 into the RAM 1202, interprets and executes the program.
  • the allocation program causes the processor 1201 to perform the above-mentioned processing with respect to the information processing device 100 and / or the information processing device 800.
  • the program may be provided to the computer 1200 in a state of being stored in a computer-readable recording medium.
  • the computer 1200 includes a drive for reading data from the recording medium and acquires the program from the recording medium.
  • Examples of recording media include magnetic discs, optical discs (CD-ROM, CD-R, DVD-ROM, DVD-R, etc.), optomagnetic discs (MO, etc.), and semiconductor memories.
  • the program may also be distributed over the network. Specifically, the program may be stored in a server on the network, and the computer 1200 may download the program from the server.
  • the storage device 1204 stores data such as task data and worker data.
  • the storage device 1204 includes a non-volatile memory such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the input / output interface 1205 includes a communication module for communicating with an external device and a plurality of terminals for connecting peripheral devices.
  • Communication modules include wired modules and / or wireless modules. Examples of peripherals include display devices, keyboards, and mice.
  • the processor 1201 acquires data such as task data and worker data via the input / output interface 1205.
  • the processor 1201 outputs the allocation result via the input / output interface 1205.
  • At least a part of the above-mentioned processing regarding the information processing apparatus 100 and / or the information processing apparatus 800 may be performed by a dedicated circuit such as an ASIC or FPGA.
  • the present invention is not limited to the above embodiment, and can be variously modified at the implementation stage without departing from the gist thereof.
  • each embodiment may be carried out in combination as appropriate, in which case the combined effect can be obtained.
  • the above-described embodiment includes various inventions, and various inventions can be extracted by a combination selected from a plurality of disclosed components. For example, if the problem can be solved and the effect can be obtained even if some components are deleted from all the components shown in the embodiment, the configuration in which these components are deleted can be extracted as an invention.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

本発明の一態様に係る情報処理装置は、複数のタスク又は複数の作業者に関する制限条件である第1制限条件及び第2制限条件を取得する取得部と、前記第1制限条件に基づく複数の重みを有する時間指標に基づいて、前記複数のタスクに対する前記複数の作業者の割り当てを行って割当結果を生成する割当実行部と、前記割当結果が前記第2制限条件に基づく判定条件を満たすか否かを判定する判定部と、前記割当結果が前記判定条件を満たさない場合に、前記複数の重みのうち、前記割当結果が前記判定条件を満たさないと判定された要因となるタスクに関連する重みを修正する修正部と、前記割当結果が前記判定条件を満たす場合に、前記割当結果を出力する出力部と、を備える。

Description

情報処理装置、情報処理方法、及びプログラム
 本発明は、人員資源割当技術に関する。
 作業者のスキルやタスクの難易度などの制限条件を考慮した人員資源割当問題又はスケジューリング問題を解くにあたり、時間指標と品質指標の2軸を用いて最適化計算を行うことが一般的である。例えば、特許文献1は、作業者のスキルを考慮に入れた上で全体スケジュール時間の最小化を実現するスケジューリング方法を開示している。
 従来技術では、多数の制限条件がある場合には、1つの制限条件が時間指標において考慮され、残りの制限条件が品質指標において考慮される。すなわち、品質指標のみに制限条件が縮退される。例えば、移動時間が時間指標において考慮され、作業者スキル及びタスク難易度が品質指標において考慮される。
 制限条件が増えるほど、品質指標の計算は複雑になる。制限条件を制約式に書き換えてソルバー構文に反映させるために、最適化ソルバーに関する有スキル者が必須となる。また、制約式が増えることにより計算時間が長くなる。最適解が求まらないことが生じ得る。さらに、どの制限条件が指標に影響を及ぼしているかが見えにくくなり、制限条件の事後評価が行えない。
日本国特開2017-211921号公報
 本発明は、時間指標に制限条件を縮退させる技術を提供することを目的とする。
 本発明の一態様に係る情報処理装置は、複数のタスク又は複数の作業者に関する制限条件である第1制限条件及び第2制限条件を取得する取得部と、前記第1制限条件に基づく複数の重みを有する時間指標に基づいて、前記複数のタスクに対する前記複数の作業者の割り当てを行って割当結果を生成する割当実行部と、前記割当結果が前記第2制限条件に基づく判定条件を満たすか否かを判定する判定部と、前記割当結果が前記判定条件を満たさない場合に、前記複数の重みのうち、前記割当結果が前記判定条件を満たさないと判定された要因となるタスクに関連する重みを修正する修正部と、前記割当結果が前記判定条件を満たす場合に、前記割当結果を出力する出力部と、を備える。
 本発明によれば、時間指標に制限条件を縮退させる技術が提供される。
図1は、実施形態に係る情報処理装置を示すブロック図である。 図2は、タスクの作業場所の配置例を示す図である。 図3は、図1に示したタスクデータ記憶部に格納されているタスクデータの一例を示す図である。 図4は、割当結果の一例を示す図である。 図5は、図1に示した修正部による処理を説明する図である。 図6は、重みの修正後に得られる割当結果の一例を示す図である。 図7は、図1に示した割当部が割り当てを行う処理手順例を示すフローチャートである。 図8は、実施形態に係る情報処理装置を示すブロック図である。 図9は、図8に示した許容値決定部による処理を説明する図である。 図10は、図8に示した許容値決定部による処理を説明する図である。 図11は、図8に示した許容値決定部による処理を説明する図である。 図12は、実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。
 以下、図面を参照して本発明の実施形態を説明する。
 [構成]
 図1は、一実施形態に係る情報処理装置100を概略的に示している。情報処理装置100は、実行すべき複数のタスクへの複数の作業者の割り当てを行うものである。図1に示すように、情報処理装置100は、タスクデータ取得部101、作業者データ取得部102、割当部103、出力部108、タスクデータ記憶部111、及び作業者データ記憶部112を備える。情報処理装置100はサーバやパーソナルコンピュータなどのコンピュータにより実施され得る。
 タスクデータ取得部101及び作業者データ取得部102は、割当部103による割り当てに必要なデータを取得する。
 タスクデータ取得部101は、複数のタスクに関するデータであるタスクデータを取得してタスクデータ記憶部111に格納する。タスクデータは基本データ及び移動時間データを含んでよい。基本データは、各タスクが実行される場所(作業場所)を特定する位置データと、各タスクの実行を開始する時刻である開始時間を示す開始時間データと、各タスクに割り当てる作業者の人数を示すデータと、を含んでよい。位置データは例えば作業場所の住所を含んでよい。基本データは各タスクの種類を示すデータをさらに含んでよい。基本データは人間オペレータにより入力され得る。移動時間データは作業場所間の移動に要する時間を示す。タスクデータ取得部101は、基本データに含まれる位置データを使用して地図情報システムを参照することにより、移動時間データを生成してよい。
 作業者データ取得部102は複数の作業者に関するデータである作業者データを取得して作業者データ記憶部112に格納する。作業者データは、作業者を特定する識別データ(例えばID番号)と、各作業者に割り当てるタスクの上限数を示すデータと、を含んでよい。
 割当部103は、タスクデータ記憶部111に格納されているタスクデータと、作業者データ記憶部112に格納されている作業者データと、に基づいて、タスクに対する作業者の割り当てを行い、割当結果としての割当表を生成する。割当部103は、制限条件取得部104、割当実行部105、判定部106、及び修正部107を備える。
 制限条件取得部104は、タスクデータ記憶部111に格納されているタスクデータからタスクに関する制限条件を取得する。タスクに関する制限条件は少なくとも2つの制限条件を含む。例えば、制限条件取得部104は、移動時間データ及び開始時間データという2つの時間的な制限条件を取得する。
 割当実行部105は、制限条件取得部104により取得された制限条件に基づく複数の重みを有する時間指標に基づいて、タスクに対する作業者の割り当てを行う。時間指標の元となる制限条件を第1制限条件と称する。例えば、第1制限条件は作業場所間の移動時間を含み、作業場所間の移動時間が重みとして使用される。第1制限条件は、タスクの作業場所間の時間に代えて又は追加して、タスクの作業時間を含んでよい。タスクの作業時間はタスクを完了させるのに必要な時間を指す。
 判定部106は、割当実行部105により生成された割当表が制限条件取得部104により取得された制限条件に基づく判定条件を満たすか否かを判定する。判定条件の元となる制限条件を第2制限条件と称する。例えば、第2制限条件はタスクの開始時間を含み、判定条件は開始時間が同じタスクをある1人の作業者に割り当てないという条件を含む。代替として、判定条件は、全タスクに対する開始時間が被っていないタスクの割合を所定の閾値未満に抑えるという条件を含んでよい。この条件は、開始時間が同じタスクを1人の作業者になるべく割り当てたくないという割当者の思いを反映したものである。また、判定条件は、各作業者に割り当てられた同じ種類のタスクの数を所定の閾値未満に抑えるという条件を含んでよい。この条件は、同じ種類のタスクを1人の作業者になるべく割り当てたくないという割当者の思いを反映したものであり、作業者が同じ種類のタスクばかりを担当すると他の種類のタスクを処理するスキルが向上しないという作業者育成の観点に基づいている。判定条件は、作業場所が危険エリア(例えば高感染リスクエリア)内に位置するタスクが割り当てられる作業者の数を所定数未満に抑えるという条件を含んでよい。割当表が判定条件を満たすと判定部106が判定した場合、割当表は出力部108に与えられる。
 修正部107は、割当表が判定条件を満たさないと判定部106が判定した場合に、割当結果が判定条件を満たさないと判定された要因となるタスクに関連する重みを修正する。そして、割当実行部105は、重みが修正された時間指標に基づいて割り当てを再度行い、新たな割当表を生成する。
 出力部108は、割当部103により生成された割当表を出力する。例えば、出力部108は、表示装置に割当表を表示する。代替として、出力部108は、ネットワークを介して接続される外部装置に割当表を送信してよい。
 割当実行部105は、時間指標を目的関数として使用した最適化問題を解くことにより割当表を得る。最適化問題の1つである線形計画問題を使用してよい。この場合、時間指標は第1制限条件に基づいて決定される重みの線形結合である。時間指標f(x)は例えば下記式(1)のように表すことができる。
 f(x)=a1x1+a2x2+・・+anxn ・・・(1)
 ここで、aiは重みであり、xiは変数である。第1制限条件がタスクの作業場所間の移動時間である場合、重みaiは2つのタスクの作業場所間の移動時間であり、時間指標は作業者の移動時間の合計を表す。第1制限条件として作業場所間の移動時間を用いる場合、全作業員が同じ移動手段(例えば徒歩)で移動することを想定した割り当てが可能となる。作業場所間の移動時間は作業場所間の距離に依存する。このため、作業場所間の移動時間に代えて作業場所間の距離が使用されてもよい。
 割当実行部105は、上記の時間指標f(x)を目的関数とする線形計画問題に基づいて割り当てを行う。具体的には、割当実行部105は、制約条件のもとで目的関数f(x)が最小となる解(x1,x2,・・・,xn)を求め、得られた解から割当表を生成する。制約条件は、誰も割り当てられないタスクは存在しないという条件を含む。制約条件は、各タスクを担当する作業者の数、各作業者に割り当てるタスクの上限数などをさらに含んでよい。本実施形態では、各タスクを担当する作業者の数を1人とし、各作業者に割り当てるタスクの上限数を3件とする。各タスクが1人の作業者により実行される場合、変数xiは例えば0又は1をとる。例えば、a1がタスクAの作業場所とタスクBの作業場所との間の移動時間である場合、x1=1は、タスクA、Bがいずれか1人の作業者に割り当てられ、この作業者がタスクAの作業場所とタスクBの作業場所との間を移動することに対応し、x1=0は、いずれの作業者もタスクAの作業場所とタスクBの作業場所との間を移動しないことに対応する。
 図2は6つのタスクA~Fの作業場所A~Fの配置例を示し、図3はタスクA~Fに関するタスクデータの一例を示している。図2に示すように、作業場所A~Fは地理的に離れている。タスクデータは、場所A、B間の移動時間、場所A、C間の移動時間、場所A、D間の移動時間、・・・、場所E、F間の移動時間を示す移動時間データと、タスクA~Fの開始時間を示す開始時間データと、を含む。移動時間は場所A~Fのうちの任意の2つにより形成される15の区間のそれぞれについて存在するが、図3では6つの区間に関する移動時間のみが示されている。図3に示すように、場所A、B間の移動時間は20分であり、場所B、C間の移動時間は10分であり、場所C、A間の移動時間は50分であり、場所D、E間の移動時間は30分であり、場所E、F間の移動時間は20分であり、場所F、D間の移動時間は50分である。タスクAの開始時間は10:00であり、タスクBの開始時間は9:00であり、タスクCの開始時間は9:00であり、タスクDの開始時間は11:00であり、タスクEの開始時間は10:00であり、タスクFの開始時間は8:00である。以降では、図2、3に示される例を参照例と称する。
 参照例では、場所A、B間の移動時間が重みa1に設定され(a1=20)、場所A、C間の移動時間が重みa2に設定され(a2=50)、場所B、C間の移動時間が重みa6に設定され(a6=10)、場所D、E間の移動時間が重みa13に設定され(a13=30)、場所D、F間の移動時間が重みa14に設定され(a14=50)、場所E、F間の移動時間が重みa15に設定される(a15=20)。
 最適化は、第2制限条件(例えばタスクの開始時間)を考慮せずに実行される。この場合、開始時間が同じ複数のタスクを1人の作業者に割り当てた割当表が得られることがある。参照例では、図4に示すように、作業者AにタスクA、B、Cが割り当てられ、作業者BにタスクD、E、Fが割り当てられることがある。タスクB、Cの開始時間はいずれも9:00であり、割当表は実現不可能である。判定条件が開始時間が同じタスクをある1人の作業者に割り当てないという条件を含む場合、この割当表は判定条件を満たさない。
 修正部107は、時間指標に含まれる重みのうちの、割当表が判定条件を満たさない要因となるタスクに関連する重みを修正する。上記の例では、割当表が判定条件を満たさない要因となるタスクはタスクB、Cであり、修正部107は、場所B、C間の移動時間が設定された重みa6を修正する。例えば、修正部107は、重みa6を所定値α(例えば10分)だけ増大させる。これは、図5に示すように、場所B、C間の距離を仮想的に増大させることに相当する。これにより、タスクB、Cの両方が1人の作業者に割り当てられることが起こりにくくなる。
 割当部103は重みa6が修正された時間指標に基づいて割り当てを再度行う。再度の割り当てにより、図6に示すように、作業者AにタスクA、B、Dを割り当て、作業者BにタスクC、E、Fを割り当てた割当表が得られる。このようにして、問題となっていたタスク開始時間の被りが解消される。
 [動作]
 次に、情報処理装置100の動作について説明する。
 図7は、情報処理装置100が実行する処理の手順例を概略的に示している。図7のステップS701において、制限条件取得部104は、タスクに関する制限条件である第1制限条件及び第2制限条件を取得する。例えば、制限条件取得部104は、タスクデータ記憶部111に格納されているタスクデータから第1制限条件及び第2制限条件を生成する。第1制限条件は例えばタスクが実行される場所間の移動時間を含み、第2制限条件は例えばタスクの開始時間を含む。
 ステップS702において、割当実行部105は、第1制限条件に基づく重みを有する時間指標に基づいてタスクに対する作業者の割り当てを行って割当表を生成する。例えば、割当実行部105は、上記の式(1)に示される時間指標f(x)を目的関数として使用した線形計画問題の解を求めることにより割当表を生成する。例えば、タスクの作業場所間の移動時間が重みとして使用される。
 ステップS703において、判定部106は、割当実行部105により生成された割当表が第2制限条件に基づく判定条件を満たすか否かを判定する。例えば、開始時間が同じタスクが1人の作業者に割り当てられた場合に、判定部106は割当表が判定条件を満たさないと判定する。割当表が判定条件を満たさない場合(ステップS703;No)、処理はステップS704に進む。
 ステップS704において、修正部107は、重みのうち、割当表が判定条件を満たさないと判定された要因となるタスクに関連する重みを修正する。例えば、開始時間が同じ2つのタスクが1人の作業者に割り当てられた場合、修正部107は、これら2つのタスクの作業場所間の移動時間が設定された重みを所定値だけ増大させる。その後に処理はステップS702に戻り、割当実行部105は、重みが修正された時間指標に基づいて割り当てを再度行う。
 割当表が判定条件を満たす場合(ステップS703;Yes)、処理はステップS705に進む。ステップS705において、出力部108は割当表を出力する。例えば、出力部108は表示装置に割当表を表示する。
 なお、重みが修正された時間指標に基づいて割り当てを行うことで得られた割当表を、この割当表が判定条件を満たすか否かにかかわらず、出力するようにしてもよい。
 [効果]
 以上のように、情報処理装置100は、複数のタスクに関する制限条件である第1制限条件及び第2制限条件を取得し、第1制限条件に基づいて決定される複数の重みを有する時間指標に基づいて複数のタスクに対する複数の作業者の割り当てを行って割当結果を生成する。割当結果が第2制限条件に基づく判定条件を満たさない場合、情報処理装置100は、割当結果が判定条件を満たさないと判定された要因となるタスクに関連する重みを修正し、重みが修正された時間指標に基づいて割り当てを再度行う。情報処理装置100は、判定条件を満たす割当結果を得ると、その割当結果を出力する。
 上記の構成によれば、時間指標(制約式)を変更することなしに時間指標に第2制限条件を縮退させることが可能となる。1つの時間指標で複数の制限条件を扱うことができる。最適化に関する有スキル者がいない状況において、第2制限条件を考慮した割り当てが可能となる。時間指標が変更されないため、最適化計算の時間が増えることがない。
 情報処理装置100は、時間指標を目的関数として使用した線形計画問題を解くことにより割当結果を生成してよい。この場合、時間指標は重みの線形結合で定義される。時間指標は、値の大きさ(大小関係)で評価されるため、品質指標よりも適用した制限条件の良し悪しがはっきりする。よって、制限条件の事後評価が容易になる。
 情報処理装置100では、全タスクに対する開始時間が被っていないタスクの割合を所定の閾値未満に抑えるという判定条件のような許容を含む判定条件を使用することができる。これにより、最適化において解が得られない事象の発生をなくす又は低減することが可能となる。
 [変形例]
 割当者は、短い移動時間を要するタスクの組み合わせを1人の作業者に割り当てることを望むことがある。上述の参照例では、場所E、F間の移動時間が比較的に短く、タスクE、Fの開始時間が異なる。この場合、タスクE、Fが同じ作業者に割り当てられることが望ましい。修正部107は、場所E、F間の移動時間が設定された重みa15を所定値(例えば5分)だけ低減してよい。重みa15を低減することにより、タスクE、Fが同じ作業者に割り当てられやすくなる。このように、修正部107はポジティブな条件に基づいて重みを修正してもよい。
 上述した実施形態では、第1制限条件及び第2制限条件はタスクに関するものである。第1制限条件及び/又は第2制限条件は作業者に関する制限条件を含んでいてもよい。2人の作業者で実行すべきタスクがある場合を想定する。作業者データが各作業者のスキルレベルを示すスキルデータを含む。スキルはSA、S、A、Bの4レベルに分類される。スキルが高い順にSA、S、A、Bとする。第1制限条件は各タスクにおけるスキルレベルごとの作業時間を含む。例えば、タスクAの作業時間は、スキルレベルSAについて30分、スキルレベルSについて35分、スキルレベルAについて40分、スキルレベルBについて45分と設定される。第2制限条件は作業者のスキルレベルを含み、判定条件が、スキルレベルがBである作業者の組を1つのタスクに割り当てることを禁止するという条件を含む。例えば、タスクAにスキルレベルがBである2人の作業者が割り当てられた場合、修正部107は、タスクAにおけるスキルレベルBの作業時間が設定された重みを増大させる。これにより、被育成者(スキルが低い作業者)だけで特定のタスクを実行する割当結果が生成されることが防止される。
 上述した例では、修正部107は重みを所定値だけ増大又は低減させる。代替として、修正部107は後述する許容値を用いて重みを修正してよい。
 図8は、一実施形態に係る情報処理装置800を概略的に示している。図8において、図1に示したものと同様の要素に同様の符号を付して、重複する説明を省略する。図8に示すように、情報処理装置800は、タスクデータ取得部101、作業者データ取得部102、割当部103、出力部108、タスクデータ記憶部111、作業者データ記憶部112、及び割当データ記憶部811を備える。割当部103は、制限条件取得部104、割当実行部105、判定部106、修正部107、及び許容値決定部801を備える。
 割当データ記憶部811は割当データを記憶する。割当データは割当者(人間オペレータ)が手作業で作成した複数の割当表を含む。代替として、割当データはシミュレーションにより生成された複数の割当表を含んでよい。
 許容値決定部801は、割当データ記憶部811に格納されている割当履歴データに基づいて許容値を決定する。許容値決定部801は、第2制限条件の反映度に応じて、割当データに含まれる複数の割当表を分類する。反映度は、割当表において第2制限条件が反映されている割合を指す。第2制限条件がタスクの開始時間である例では、反映度は、全タスクに対する開始時間が被っていないタスクの割合を指す。図9は、9つのタスクを3人の作業者に割り当てた割当表の一例を示している。図9の例では、開始時間が同じタスクB、Cが作業者Aに割り当てられ、開始時間が同じタスクE、Fが作業者Bに割り当てられている。よって、開始時間が被っていないタスクが5つであり、反映度は56%(0.56≒5/9)となる。例えば、許容値決定部801は、複数の割当表を3つのクラスに分類する。第1のクラスには、反映度が0~30%までの範囲にある割当表が分類され、第2のクラスには、反映度が31~70%までの範囲にある割当表が分類され、第3のクラスには、反映度が71~100%までの範囲にある割当表が分類される。
 許容値決定部801は、割当表数(データ数)が最も多いクラスに分類された割当表に基づいて許容値を決定する。割当表数(データ数)が最も多いクラスに分類された割当表に基づいて許容値を決定することで、割当者の間隔に近い許容値を設定することが可能となる。
 許容値決定部801は、割当表数が最も多いクラスに分類された割当表において、制限条件が反映できていない時間指標の値のうち最も大きい値を許容値として決定する。図10は、割当表数が最も多いクラスに分類された割当表のうちの1つを示している。図10に示す割当表では、開始時間が同じタスクB、Cが作業者Aに割り当てられており、タスクBの作業場所とタスクCの作業場所との間の移動時間は10分である。さらに、開始時間が同じタスクE、Fが作業者Bに割り当てられており、タスクEの作業場所とタスクFの作業場所との間の移動時間は20分である。図11に示す割当表では、許容値候補は20分である。割当表数が最も多いクラスに分類された割当表すべてについて許容値候補が取得される。許容値候補のうちの最大のものが許容値として採用される。このようにして得られた許容値は、割当者が許容した値の上限値であり、割当者の感覚に沿った割り当てを可能にする。許容値決定部801は、決定した許容値を修正部107に通知する。
 許容値は上記の方法以外の方法で決定されてもよい。例えば、許容値は、開始時間が被っている区間の平均移動時間から開始時間が被っている区間を除いた全区間の平均移動時間を引いた値であってよい。開始時間が被っている区間の平均移動時間は、開始時間が被っている区間の移動時間の合計を開始時間が被っている区間の数で除すことで得られる。開始時間が被っている区間を除いた全区間の平均移動時間は、開始時間が被っている区間以外の区間の移動時間の合計を開始時間が被っている区間を除いた区間の数で除すことで得られる。マイナスの許容値が得られた場合は、上記の方法に基づいて許容値が算出されてよい。
 修正部107は、許容値決定部801により決定された許容値を用いて、割当部103により生成された割当表が判定条件を満たさない要因となるタスクに関連する重みを修正する。開始時間が同じタスクB、Cが作業者Aに割り当てられた例では、修正部107は、場所Bと場所Cとの間の移動時間に対応する重みa6を修正する。場所Bと場所Cとの間の移動時間が許容値を下回る場合、修正部107は重みa6の値を許容値に修正する。例えば、場所Bと場所Cとの間の移動時間が10分であり、許容値が20分である場合、修正部107は、重みa6を20分に修正する。言い換えると、修正部107は、場所Bと場所Cとの間の移動時間と許容値との差分だけ重みa6を増大させる。場所Bと場所Cとの間の移動時間が許容値に等しい又は許容値を超える場合、修正部107は重みa6を修正しない。例えば、場所Bと場所Cとの間の移動時間が30分であり、許容値が20分である場合、重みa6は30分に維持される。いずれの重みも修正されない場合、割り当てが再度行われても同じ割当表が得られる。このため、いずれの重みも修正されない場合には、出力部108は得られている割当表を出力してよい。
 情報処理装置100及び/又は情報処理装置800に関して上述した処理は、コンピュータにより実現することができる。
 図12は、一実施形態に係るコンピュータ1200のハードウェア構成例を概略的に示している。図12に示すように、コンピュータ1200は、プロセッサ1201、RAM(Random Access Memory)1202、プログラムメモリ1203、ストレージデバイス1204、及び入出力インタフェース1205を備える。プロセッサ1201は、RAM1202、プログラムメモリ1203、ストレージデバイス1204、及び入出力インタフェース1205を制御し、これらと信号をやり取りする。
 プロセッサ1201は、CPU(Central Processing Unit)又はGPU(Graphics Processing Unit)などの汎用回路を含む。RAM1202はワーキングメモリとしてプロセッサ1201により使用される。RAM1202はSDRAMなどの揮発性メモリを含む。プログラムメモリ1203は、割り当てプログラムを含む、プロセッサ1201により実行されるプログラムを記憶する。プログラムはコンピュータ実行可能命令を含む。プログラムメモリ1203として例えばROMが使用される。ストレージデバイス1204の一部領域がプログラムメモリ1203として使用されてもよい。
 プロセッサ1201は、プログラムメモリ1203に記憶されたプログラムをRAM1202に展開し、プログラムを解釈及び実行する。割り当てプログラムは、プロセッサ1201により実行されると、情報処理装置100及び/又は情報処理装置800に関して上述した処理をプロセッサ1201に行わせる。
 プログラムは、コンピュータで読み取り可能な記録媒体に記憶された状態でコンピュータ1200に提供されてよい。この場合、コンピュータ1200は、記録媒体からデータを読み出すドライブを備え、記録媒体からプログラムを取得する。記録媒体の例は、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD-ROM、DVD-Rなど)、光磁気ディスク(MOなど)、及び半導体メモリを含む。また、プログラムはネットワークを通じて配布するようにしてもよい。具体的には、プログラムをネットワーク上のサーバに格納し、コンピュータ1200がサーバからプログラムをダウンロードするようにしてもよい。
 ストレージデバイス1204はタスクデータ及び作業者データなどのデータを記憶する。ストレージデバイス1204は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)などの不揮発性メモリを含む。
 入出力インタフェース1205は、外部機器と通信するための通信モジュールと、周辺機器を接続するための複数の端子と、を備える。通信モジュールは有線モジュール及び/又は無線モジュールを含む。周辺機器の例は、表示装置、キーボード、及びマウスを含む。プロセッサ1201は、入出力インタフェース1205を介してタスクデータ及び作業者データなどのデータを取得する。プロセッサ1201は、入出力インタフェース1205を介して割当結果を出力する。
 情報処理装置100及び/又は情報処理装置800に関して上述した処理の少なくとも一部は、ASIC又はFPGAなどの専用回路で実施されてもよい。
 なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。さらに、上記実施形態には種々の発明が含まれており、開示される複数の構成要素から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要素からいくつかの構成要素が削除されても、課題が解決でき、効果が得られる場合には、この構成要素が削除された構成が発明として抽出され得る。
 100…情報処理装置
 101…タスクデータ取得部
 102…作業者データ取得部
 103…割当部
 104…制限条件取得部
 105…割当実行部
 106…判定部
 107…修正部
 108…出力部
 111…タスクデータ記憶部
 112…作業者データ記憶部
 800…情報処理装置
 801…許容値決定部
 811…割当データ記憶部
 1200…コンピュータ
 1201…プロセッサ
 1202…RAM
 1203…プログラムメモリ
 1204…ストレージデバイス
 1205…入出力インタフェース
 

Claims (8)

  1.  複数のタスク又は複数の作業者に関する制限条件である第1制限条件及び第2制限条件を取得する取得部と、
     前記第1制限条件に基づく複数の重みを有する時間指標に基づいて、前記複数のタスクに対する前記複数の作業者の割り当てを行って割当結果を生成する割当実行部と、
     前記割当結果が前記第2制限条件に基づく判定条件を満たすか否かを判定する判定部と、
     前記割当結果が前記判定条件を満たさない場合に、前記複数の重みのうち、前記割当結果が前記判定条件を満たさないと判定された要因となるタスクに関連する重みを修正する修正部と、
     前記割当結果が前記判定条件を満たす場合に、前記割当結果を出力する出力部と、
     を備える情報処理装置。
  2.  前記割当実行部は、前記時間指標を目的関数として使用した線形計画問題を解くことにより前記割当結果を得る、
     請求項1に記載の情報処理装置。
  3.  前記第1制限条件は、前記複数のタスクが実行される場所間の移動時間又は距離を含む、
     請求項1又は2に記載の情報処理装置。
  4.  前記第2制限条件は、前記複数のタスクの開始時間を含む、
     請求項1乃至3のいずれか1項に記載の情報処理装置。
  5.  前記判定条件は、前記複数のタスクに対する開始時間が被っていないタスクの割合を所定の閾値未満に抑えるという条件を含む、
     請求項4に記載の情報処理装置。
  6.  予め用意された複数の割当結果に基づいて重み修正の許容値を決定する決定部をさらに備え、
     前記修正部は、前記許容値に基づいて前記重みを修正する、
     請求項1乃至5のいずれか1項に記載の情報処理装置。
  7.  複数のタスク又は複数の作業者に関する制限条件である第1制限条件及び第2制限条件を取得することと、
     前記第1制限条件に基づく複数の重みを有する時間指標に基づいて、前記複数のタスクに対する前記複数の作業者の割り当てを行って割当結果を生成することと、
     前記割当結果が前記第2制限条件に基づく判定条件を満たすか否かを判定することと、
     前記割当結果が前記判定条件を満たさない場合に、前記複数の重みのうち、前記割当結果が前記判定条件を満たさないと判定された要因となるタスクに関連する重みを修正して前記重みが修正された前記時間指標に基づいて前記割り当てを再度行うことと、
     前記割当結果が前記判定条件を満たす場合に、前記割当結果を出力することと、
     を備える情報処理方法。
  8.  請求項1乃至6のいずれか1項に記載の情報処理装置が備える各部としてコンピュータを機能させるためのプログラム。
     
PCT/JP2020/048276 2020-12-23 2020-12-23 情報処理装置、情報処理方法、及びプログラム Ceased WO2022137404A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/268,796 US20240046170A1 (en) 2020-12-23 2020-12-23 Data processing apparatus, data processing method and program
JP2022570865A JP7521605B2 (ja) 2020-12-23 2020-12-23 情報処理装置、情報処理方法、及びプログラム
PCT/JP2020/048276 WO2022137404A1 (ja) 2020-12-23 2020-12-23 情報処理装置、情報処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/048276 WO2022137404A1 (ja) 2020-12-23 2020-12-23 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2022137404A1 true WO2022137404A1 (ja) 2022-06-30

Family

ID=82158739

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/048276 Ceased WO2022137404A1 (ja) 2020-12-23 2020-12-23 情報処理装置、情報処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US20240046170A1 (ja)
JP (1) JP7521605B2 (ja)
WO (1) WO2022137404A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024127508A1 (ja) * 2022-12-13 2024-06-20 日本電信電話株式会社 配置最適化装置、配置最適化方法、および配置最適化プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282375A (ja) * 1996-04-16 1997-10-31 Sumitomo Metal Ind Ltd 作業計画作成方法及び作業計画作成システム
JPH11143938A (ja) * 1997-11-04 1999-05-28 Hitachi Ltd 資源割当計画作成方法及び資源割当計画作成システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282375A (ja) * 1996-04-16 1997-10-31 Sumitomo Metal Ind Ltd 作業計画作成方法及び作業計画作成システム
JPH11143938A (ja) * 1997-11-04 1999-05-28 Hitachi Ltd 資源割当計画作成方法及び資源割当計画作成システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024127508A1 (ja) * 2022-12-13 2024-06-20 日本電信電話株式会社 配置最適化装置、配置最適化方法、および配置最適化プログラム

Also Published As

Publication number Publication date
JP7521605B2 (ja) 2024-07-24
US20240046170A1 (en) 2024-02-08
JPWO2022137404A1 (ja) 2022-06-30

Similar Documents

Publication Publication Date Title
JP6421421B2 (ja) 注釈情報付与プログラム及び情報処理装置
JP6233413B2 (ja) タスク割り当て判定装置、制御方法、及びプログラム
JP7409513B2 (ja) 機械学習データ生成プログラム、機械学習データ生成方法および機械学習データ生成装置
US9477460B2 (en) Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method
JP2018026070A (ja) 作業編成装置、作業編成方法および作業編成プログラム
US20140012887A1 (en) Information processing devices, distributed file system, client device, information processing method and computer program
WO2022105659A1 (zh) 应用容器管理方法、装置及设备
CN108369675B (zh) 用于案例分配的技术
JP2004220583A (ja) アセンブラにおいて大域的プロセッサ資源割当てを実行するための方法およびシステム
US10387395B2 (en) Parallelized execution of window operator
JP7521605B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2017016494A (ja) 情報処理装置及び情報処理プログラム
Ferreira et al. Two-year death prediction models among patients with Chagas Disease using machine learning-based methods
CN114444931A (zh) 结合rpa及ai的任务分配方法及其装置
EP3761176B1 (en) Information processing apparatus, information processing method, and information processing system
JP2020187419A (ja) エンティティリンキング方法、情報処理装置およびエンティティリンキングプログラム
JP6958618B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7631606B1 (ja) 評価装置、評価方法およびプログラム
JP6530811B2 (ja) 画像処理装置
US9483241B2 (en) Method ranking based on code invocation
JP2020201741A (ja) 並列処理装置、ジョブ管理プログラム、及びジョブ管理方法
US20250029027A1 (en) Simulation system and computer-readable medium
KR20220067173A (ko) 기계학습용 데이터 분류를 위한 데이터 처리 장치 및 그 동작 방법
JP6794862B2 (ja) 情報処理装置、プログラム、および情報処理方法
US20250370881A1 (en) Backup schedule creation device and backup schedule creation method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20966894

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022570865

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18268796

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20966894

Country of ref document: EP

Kind code of ref document: A1