JP7401476B2 - Schedule creation support device and schedule creation support method - Google Patents
Schedule creation support device and schedule creation support method Download PDFInfo
- Publication number
- JP7401476B2 JP7401476B2 JP2021013332A JP2021013332A JP7401476B2 JP 7401476 B2 JP7401476 B2 JP 7401476B2 JP 2021013332 A JP2021013332 A JP 2021013332A JP 2021013332 A JP2021013332 A JP 2021013332A JP 7401476 B2 JP7401476 B2 JP 7401476B2
- Authority
- JP
- Japan
- Prior art keywords
- schedule
- constraint
- personnel
- spin
- creation support
- 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.)
- Active
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (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)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、スケジュール作成支援装置及びスケジュール作成支援方法に関するものである。 The present invention relates to a schedule creation support device and a schedule creation support method.
所定条件下で所望のパラメータを最大または最小とする解を探索する、いわゆる組合せ最適化問題の概念は、作業員や装置といった各種リソースの配置や稼働スケジュールの最適化、交通渋滞解消、グローバルサプライチェーンにおける物流コスト低減、など実社会における複雑な問題にも適用されうる。 The concept of so-called combinatorial optimization problems, which search for solutions that maximize or minimize desired parameters under given conditions, is useful for optimizing the placement and operation schedules of various resources such as workers and equipment, resolving traffic congestion, and global supply chains. It can also be applied to complex problems in the real world, such as reducing logistics costs.
一方、そうした問題においては解候補が爆発的に多くなるため、スーパーコンピュータや量子コンピュータなど相応の計算能力を有した計算機でなければ、当該問題を実用的な時間内に解くことが難しい。 On the other hand, since the number of solution candidates for such problems increases explosively, it is difficult to solve the problem within a practical amount of time unless a computer with appropriate computational power such as a supercomputer or a quantum computer is used.
例えば、量子コンピュータに関連する従来技術としては、全数探索を必要とするような逆問題や組み合わせ最適化問題に対して高速演算を可能にする計算機に関し、スピンを演算における変数とし、解こうとする問題をスピン間相互作用とスピンごとに作用する局所場で設定し、また、時刻t=0において外部磁場により全スピンを一方向に向かせ、時刻t=τで外部磁場がゼロになるように外部磁場を徐々に小さくし、また、各スピンは時刻tにおける各サイトの外部磁場及びスピン間相互作用のすべての作用で決まる有効磁場に従い向きが定まるとして時間発展させ、その際、スピンの向きが有効磁場に完全に揃うのではなく、量子力学的に補正された向きとすることにより、系が基底状態をほぼ維持するようにする技術(特許文献1参照)などが提案されている。 For example, conventional technology related to quantum computers involves a computer that enables high-speed calculations for inverse problems and combinatorial optimization problems that require exhaustive search, and uses spin as a variable in the calculations to solve them. The problem is set up using spin-spin interactions and a local field that acts on each spin, and at time t = 0, all spins are directed in one direction by an external magnetic field, and at time t = τ, the external magnetic field becomes zero. The external magnetic field is gradually reduced, and each spin is allowed to evolve over time with its direction determined according to the effective magnetic field determined by the external magnetic field of each site at time t and all the interactions between spins. Techniques have been proposed in which the system maintains almost its ground state by not completely aligning with the effective magnetic field but in a quantum mechanically corrected direction (see Patent Document 1).
また、人員の稼働スケジュール生成に関する従来技術として、スケジュール可能なコミュニケータの中から、コミュニケータのスキルに基づいて、予想される問い合わせ内容に見合うスキルを有するコミュニケータのスケジュール作成を目的とした、コミュニケータのスケジュールを作成する方法(特許文献2参照)などが提案されている。 In addition, as a conventional technology for generating work schedules for personnel, a communicator is used for the purpose of creating a schedule for a communicator whose skills match the anticipated inquiry content based on the communicator's skills from among communicators who can be scheduled. A method for creating a data schedule (see Patent Document 2) has been proposed.
この技術は、コンピュータがコンタクトセンターの複数のコミュニケータのスケジュールを作成する方法であって、前記コンピュータは、少なくとも前記複数のコミュニケータのそれぞれのスキルを示すデータを記憶部に記憶しており、前記コンタクトセンターの管理者から、業務の時間帯毎に前記コミュニケータの複数のスキルについてそれぞれ配置すべき前記コミュニケータの人数の指定入力を受け付けるステップと、前記指定入力を受け付けた人数を示すデータを前記業務の時間帯毎に前記記憶部に更に記憶するステップと、前記業務の時間帯毎に、前記記憶した人数を示すデータに基づいて、前記複数のコミュニケータのスケジュールを作成するステップと、を含むものである。 This technique is a method for a computer to create a schedule for a plurality of communicators in a contact center, the computer storing at least data indicating the skills of each of the plurality of communicators in a storage section, and the computer a step of receiving, from a contact center administrator, a designation input of the number of communicators to be assigned for each of the plurality of skills of the communicators for each business time period; and a step of receiving data indicating the number of people who have received the designated input. The method further includes the steps of further storing data in the storage unit for each business time period, and creating a schedule for the plurality of communicators based on the data indicating the stored number of people for each business time period. It is something that
また、保育施設等の施設における突発的な勤務シフトの変更を容易に行うことを課題とした、対象期間に対して、当該対象期間に勤務する第一人員を割り当てたシフト情報を記憶するシフト情報記憶部と、前記シフト情報の前記対象期間に対して、前記第一人員の予備の第二人員を所定人数割り当てるシフト作成部と、を有するシフト管理装置(特許文献3参照)なども提案されている。 In addition, the shift information that stores the shift information in which the first person working during the target period is assigned to the target period is aimed at facilitating sudden changes in work shifts in facilities such as childcare facilities. A shift management device (see Patent Document 3) has also been proposed, which includes a storage unit and a shift creation unit that allocates a predetermined number of spare second personnel to the first personnel for the target period of the shift information. There is.
ところが、多くの人員が協働する際の全体スケジュールの作成業務に関して、上述のごとき量子コンピュータ技術を適宜に適用する形態は提案されていない。 However, no form has been proposed in which the quantum computer technology described above is appropriately applied to the task of creating an overall schedule when many people work together.
例えば、コールセンタにおけるスケジュール作成業務では、数百人規模のオペレータに関して週間、月間のシフトスケジュールを作成する必要がある。現状では、経験のある担当者が、予め決まったルール(例:早番、遅番といったシフトパターンを、該当期間に関して固定的な順序、頻度で組合せて配置する)の下、人力でスケジュール作成を行っていた。 For example, in schedule creation work at a call center, it is necessary to create weekly and monthly shift schedules for several hundred operators. Currently, experienced personnel create schedules manually based on predetermined rules (for example, shift patterns such as early shifts and late shifts are arranged in a fixed order and frequency for the relevant period). Ta.
ただし、こうしたスケジュール作成に先立ち、機械学習などの適宜なアルゴリズムを採用して、時間帯ごとの業務量や必要な人員数を推定することは可能である。 However, prior to creating such a schedule, it is possible to estimate the amount of work and the number of required personnel for each time period by employing an appropriate algorithm such as machine learning.
機械学習により得られたモデルに基づいて、時間帯ごとの必要な人員数を推定するとすれば、その値は、人間が経験から決める整数値ではなく、業務量を確実に踏まえることで決まる小数となるケースも出てくる。 If we were to estimate the number of personnel required for each time period based on a model obtained through machine learning, the value would not be an integer value determined by humans based on experience, but a decimal number determined based on the amount of work. There will also be cases where this happens.
そのようにして、或る時間帯における或る業務の必要人員数が「3.4人」と推定できたとする。その場合、スケジュール作成担当者や現場監督者の判断としては、対応スキルを持つ「4人」のスタッフを配置し対応するのがこれまでの運用方法であった。つまり、機械学習等により高精度に推定され、より実際に近いと思われるニーズを超えて、冗長な人員配置が頻繁に行われていた。 Suppose that in this way, the number of personnel required for a certain task in a certain time period can be estimated to be "3.4 people." In such cases, the decision made by the person in charge of creating the schedule and the on-site supervisor has been to allocate four staff members with appropriate skills to deal with the situation. In other words, redundant staffing was frequently carried out, exceeding the needs that were estimated with high accuracy using machine learning and were considered to be more closely related to actual needs.
また、そうした運用下で稼働する各スタッフは、複数スキルを保有している場合も多いが、当該スタッフをその保有スキルに応じて効率的に稼働させるスケジュールの作成技術は提案されていない。現場監督者が、自らの裁量によって当該スタッフを複数業務に割り当てることがあるとしても、あくまでも勘や経験に基づくものであった。 Furthermore, although each staff member working under such an operation often has multiple skills, no technique has been proposed to create a schedule that allows the staff member to work efficiently according to the skills they possess. Even if on-site supervisors sometimes assigned staff to multiple tasks at their discretion, it was always based on intuition and experience.
そこで本発明の目的は、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成を効率的に行う技術を提供することにある。 SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a technique for efficiently creating a schedule in which the necessary personnel are allocated for each task in each time period without waste.
上記課題を解決する本発明のスケジュール作成支援装置は、所定業務で協働する各人員の所定期間における総勤務長、前記期間における各タイミングでの小数を含みうる必要人数、および前記業務に前記各人員を割り当てる際の制約条件、の各情報を格納した記憶部と、前記期間における前記総勤務長、前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員の稼働率をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算する演算部とを有し、前記演算部は前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記各人員の稼働率を規定したスケジュールを所定装置に出力するものである、ことを特徴とする。 The schedule creation support device of the present invention that solves the above problems has the following advantages: the total working length of each person working together in a predetermined task in a predetermined period, the required number of people who can include decimals at each timing in the period, and A storage unit that stores information on constraints when allocating personnel, the total working length in the period, the required number of people, and a constraint function that is minimized when the constraints are satisfied, as terms. and a calculation unit that calculates an Ising model in which the operating rate of each of the personnel is set as a spin, and the sensitivity between variables in the constraint condition function is set as the strength of interaction between the spins, with respect to the objective function included. , the calculation unit outputs to a predetermined device a schedule that defines the operating rate of each of the personnel at each timing of the predetermined period based on the result of the calculation.
また、本発明のスケジュール作成支援方法は、所定業務で協働する各人員の所定期間における総勤務長、前記期間における各タイミングでの小数を含みうる必要人数、および前記業務に前記各人員を割り当てる際の制約条件、の各情報を格納した記憶部を備える情報処理装置が、前記期間における前記総勤務長、前記必要人数、および前記制約条件が満た
される際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員の稼働率をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記各人員の稼働率を規定したスケジュールを所定装置に出力する、ことを特徴とする。
Further, the schedule creation support method of the present invention includes: the total working length of each person working together in a predetermined period in a predetermined period; the required number of people who may include a decimal number at each timing in the period; and the assignment of each person to the task. an information processing device that includes a storage unit storing information on the total working length in the period, the required number of people, and a constraint function that is minimized when the constraint conditions are satisfied; Regarding the objective function included as a term, an Ising model is calculated in which the utilization rate of each personnel is set as spin, and the sensitivity between variables in the constraint condition function is set as the strength of interaction between the spins, and the Based on the results, a schedule defining the operating rate of each of the personnel at each of the timings in the predetermined period is output to a predetermined device.
本発明によれば、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成を効率的に行うことが可能となる。 According to the present invention, it is possible to efficiently create a schedule that allocates the necessary personnel for each task in each time slot without waste.
<アニーリングマシンについて>
上述の特許文献1にも示すように、本出願人は量子コンピューティング技術を開発し、例えば、ビッグデータに基づく全数探索問題(組合せ最適化問題の概念含む)における諸問題の解決を図ってきた。
<About the annealing machine>
As shown in the above-mentioned Patent Document 1, the present applicant has developed quantum computing technology and has attempted to solve various problems in, for example, exhaustive search problems (including the concept of combinatorial optimization problems) based on big data. .
こうした全数探索問題に対して、一般的には量子コンピュータヘの期待が大きい。量子コンピュータは、量子ビットと呼ばれる基本素子からなり"0"と"1"を同時に実現する。そのためすべての解候補を初期値として同時に計算可能であり、全数探索を実現しうる可能性を持っている。しかし、量子コンピュータは全計算時間に亘って量子コヒーレンスを維持する必要がある。 In general, there are high expectations for quantum computers to solve such exhaustive search problems. Quantum computers are made up of basic elements called quantum bits, which can simultaneously realize "0" and "1". Therefore, it is possible to simultaneously calculate all solution candidates as initial values, and there is a possibility of realizing an exhaustive search. However, quantum computers need to maintain quantum coherence throughout the entire computation time.
こういった中で注目されるようになってきたのが断熱量子計算と呼ばれる手法である(参考文献:E.Farhi,et al.,"A quantum adiabatic
evolution al gor ithm applied to random
instances of an NP-complete problem," S
cience292,472(2001).)。
Among these, a method called adiabatic quantum computation has started to attract attention (Reference: E. Farhi, et al., "A quantum adiabatic
evolution al gorithm applied to random
instances of an NP-complete problem, "S
science292, 472 (2001). ).
この方法は、ある物理系の基底状態が解になるように問題を変換し、基底状態を見つけることを通して解を得ようとするものである。 This method transforms the problem so that the ground state of a certain physical system becomes the solution, and attempts to obtain the solution by finding the ground state.
問題を設定した物理系のハミルトニアンをH^pとする。但し、演算開始時点ではハミルトニアンをH^pとするのではなく、それとは別に基底状態が明確で準備しやすい別のハミルトニアンH^0とする。次に十分に時間を掛けてハミルトニアンをH^0からH^pに移行させる。十分に時間を掛ければ系は基底状態に居続け、ハミルトニアンH^pの基底状態が得られる。これが断熱量子計算の原理である。計算時間をτとすればハミルトニアンは式(1)となり、 Let H^ p be the Hamiltonian of the physical system in which the problem is set. However, at the start of the calculation, instead of using H^ p as the Hamiltonian, we use another Hamiltonian H^ 0 whose ground state is clear and easy to prepare. Next, take enough time to shift the Hamiltonian from H^ 0 to H^ p . If enough time is spent, the system will remain in the ground state, and the ground state of the Hamiltonian H^ p will be obtained. This is the principle of adiabatic quantum computation. If the calculation time is τ, the Hamiltonian becomes the formula (1),
[式1]
[Formula 1]
式(2)のシュレディンガー方程式に基づいて時間発展させて解を得る。
[式2]
A solution is obtained through time evolution based on the Schrödinger equation of equation (2).
[Formula 2]
断熱量子計算は全数探索を必要とする問題に対しても適用可能で、一方向性の過程で解に到達する。しかし、計算過程が式(2)のシュレディンガー方程式に従う必要があるならば、量子コンピュータと同様に量子コヒーレンスの維持が必要になる。 Adiabatic quantum computation can also be applied to problems that require an exhaustive search, and the solution is reached in a unidirectional process. However, if the calculation process needs to follow the Schrödinger equation of equation (2), it is necessary to maintain quantum coherence as in a quantum computer.
但し、量子コンピュータが1量子ビットあるいは2量子ビット間に対するゲート操作を繰り返すものであるのに対して、断熱量子計算は量子ビット系全体に亘って一斉に相互作用させるものであり、コヒーレンスの考え方が異なる。 However, whereas a quantum computer repeats a gate operation between one or two qubits, adiabatic quantum computation involves making the entire qubit system interact all at once, and the concept of coherence is different.
例えば、ある量子ビットヘのゲート動作を考えてみる。この時、もしその量子ビットと他の量子ビットとで相互作用があれば、それはディコヒーレンスの原因になるが、断熱量子計算ではすべての量子ビットを同時に相互作用させるので、この例のような場合にはディコヒーレンスにならない。この違いを反映して断熱量子計算は量子コンピュータに比べてディコヒーレンスに対して頑強であると考えられている。 For example, consider the operation of a gate on a certain quantum bit. At this time, if there is an interaction between that qubit and other qubits, it will cause decoherence, but in adiabatic quantum computation all qubits are made to interact at the same time, so in a case like this example does not become decoherent. Reflecting this difference, adiabatic quantum computation is thought to be more robust against decoherence than quantum computers.
以上述べたように、断熱量子計算は全数探索を必要とするような難問に対して有効である。そして、スピンを演算における変数とし、解こうとする問題をスピン間相互作用とスピンごとに作用する局所場で設定する。 As mentioned above, adiabatic quantum computation is effective for difficult problems that require exhaustive search. Then, the spin is used as a variable in the calculation, and the problem to be solved is set using spin-spin interactions and local fields that act on each spin.
時刻t=0において外部磁場により全スピンを一方向に向かせ、時刻t=τで外部磁場がゼロになるように外部磁場を徐々に小さくする。 At time t=0, all spins are directed in one direction by an external magnetic field, and the external magnetic field is gradually reduced so that it becomes zero at time t=τ.
各スピンは、時刻tにおける各サイトの外部磁場及びスピン間相互作用のすべての作用で決まる有効磁場に従い、向きが定まるとして時間発展させる。 Each spin evolves over time with its direction determined in accordance with the effective magnetic field determined by the external magnetic field of each site at time t and all the effects of interactions between spins.
その際、スピンの向きが有効磁場に完全に揃うのではなく、量子力学的に補正された向きとすることにより、系が基底状態をほぼ維持するようにする。 At this time, the spin direction is not completely aligned with the effective magnetic field, but is quantum mechanically corrected so that the system maintains almost its ground state.
また、時間発展の際に各スピンを元の向きに維持する項(緩和項)を有効磁場に加え、解の収束性を向上させる。 Additionally, a term (relaxation term) that maintains each spin in its original direction during time evolution is added to the effective magnetic field to improve the convergence of the solution.
本実施形態におけるスケジュール作成支援装置としては、上述の断熱量子計算を行うアニーリングマシンを想定するが、勿論これに限定するものではなく、組合せ最適化問題を本発明のスケジュール作成支援方法に沿って適宜に解くことが可能なものであればいずれも適用可能である。 The schedule creation support device in this embodiment is assumed to be an annealing machine that performs the above-mentioned adiabatic quantum calculation, but it is of course not limited to this. Any method that can be solved is applicable.
具体的には、アニーリング方式において電子回路(デジタル回路など)で実装するハードウェアだけでなく、超伝導回路などで実装する方式も含む。また、アニーリング方式以外にてイジングモデルを実現するハードウェアでもよい。例えばレーザーネットワーク方式(光パラメトリック発振)・量子ニューラルネットワークなども含む。また、前述した通り一部の考え方が異なるものの、イジングモデルで行う計算をアダマールゲート、回転ゲート、制御NOTゲートといったゲートで置き換えた量子ゲート方式においても、本発明を
実現することができる。
Specifically, the annealing method includes not only hardware implemented using electronic circuits (digital circuits, etc.), but also methods implemented using superconducting circuits. Furthermore, hardware that implements the Ising model using a method other than the annealing method may be used. Examples include laser network methods (optical parametric oscillation) and quantum neural networks. Furthermore, although some of the ideas are different as described above, the present invention can also be realized in a quantum gate method in which calculations performed using the Ising model are replaced with gates such as Hadamard gates, rotation gates, and control NOT gates.
<ネットワーク構成>
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態のスケジュール作成支援装置100を含むネットワーク構成図である。
図1に示すスケジュール作成支援装置100は、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成を効率的に行うコンピュータ装置であり、具体的には、一例としてアニーリングマシンを想定する。
<Network configuration>
Embodiments of the present invention will be described in detail below with reference to the drawings. FIG. 1 is a network configuration diagram including the schedule
The schedule
ただし、アニーリングマシンの概要は特許文献1に基づき既に述べたとおりであり、その具体的な構成や動作等の詳細については適宜省略する(以下同様)。 However, the outline of the annealing machine is as already described based on Patent Document 1, and details such as its specific configuration and operation will be omitted as appropriate (the same applies hereinafter).
本実施形態のスケジュール作成支援装置100は、インターネットなどの適宜なネットワーク10を介して、ユーザ端末200とデータ通信可能に接続されている。
The schedule
上述のユーザ端末200は、スケジュール作成支援装置100からスケジュールの提案を受ける端末である。
The
このユーザ端末200のユーザとしては、具体的には、多くのオペレータを抱えてコールセンタ業務を遂行する事業者で、金融機関や保険会社、或いは大手メーカーといった組織を想定できる。或いは、多くの看護士や介護スタッフを抱えて患者等の看護業務や介護業務を遂行する、医療機関や介護事業者も想定できる。
Specifically, the user of this
いずれにしても、相応規模の人員であってそれぞれ1以上のスキルを有する者を日付や時間帯ごとに必要数だけ割り当てて、全体として過不足無く業務を遂行しようとする事業者であれば、上述のユーザに該当しうる。つまり、そうした事業者の業務に関しては、本発明が適用可能であると言える。 In any case, if the business intends to allocate the necessary number of personnel of a suitable size and each with one or more skills to each date and time period, and to carry out the work without excess or deficiency as a whole, This may apply to the above users. In other words, it can be said that the present invention is applicable to the operations of such businesses.
具体例として想定できる、例えば銀行のコールセンタにおけるスケジュール作成に際しては、所定の経験を持った担当者が、数百人規模の全オペレータの月間シフトスケジュールを人力で作成しているのが現実であった。つまり当該業務は属人化しがちであり、また人力での作業である。 As a concrete example, when creating schedules at a bank's call center, the reality is that a person with a certain level of experience manually creates monthly shift schedules for all hundreds of operators. . In other words, the work tends to be individualized and is a manual task.
ただし、こうしたスケジュール作成に先立ち、機械学習などの適宜なアルゴリズムを採用して、時間帯ごとの業務量や必要な人員数を推定することは可能である。 However, prior to creating such a schedule, it is possible to estimate the amount of work and the number of required personnel for each time period by employing an appropriate algorithm such as machine learning.
例えば、各時間帯に発生した過去の業務量に基づき、日時や曜日、天候など種々の要因と業務量との相関関係を特定し、これに基づき将来の各時間帯に生じるであろう業務量やその内容を推定する。また、当該業務量をこなすために必要となる人員数については、例えば、或るスキルを持つスタッフ一人当たりの業務処理量で、当該スキルが必要な業務の業務量を除算することで算定できる。その結果、必要な人員数は整数ではなく小数となるケースも出てくる。 For example, based on the amount of work that has occurred in the past in each time period, we can identify the correlation between the amount of work and various factors such as date and time, day of the week, weather, etc., and based on this, we can determine the amount of work that will occur in each time period in the future. and estimate its contents. The number of personnel required to handle the workload can be calculated, for example, by dividing the workload of the job requiring the skill by the workload of each staff member with the skill. As a result, there are cases where the number of required personnel is not an integer but a decimal number.
或る時間帯における或る業務の必要人員数が「3.4人」と推定できたとすると、スケジュール作成担当者や現場監督者の判断としては、対応スキルを持つ「4人」のスタッフを配置し対応するのがこれまでの運用方法であった。つまり実際のニーズを超えた冗長な人員配置が頻繁に行われていた。 If it is estimated that the number of staff required for a certain task during a certain time period is ``3.4 people'', the person in charge of creating the schedule and the on-site supervisor may decide to deploy ``4'' staff with the necessary response skills. The conventional method of operation has been to deal with this situation. In other words, redundant personnel assignments that exceeded actual needs were frequently carried out.
また、そうした運用下で稼働する各スタッフは、複数スキルを保有している場合も多いが、当該スタッフをその保有スキルに応じて効率的に稼働させるスケジュールの作成技術は提案されていない。現場監督者が、自らの裁量によって当該スタッフを複数業務に割り当てることがあるとしても、あくまでも勘や経験に基づくものであった。 Furthermore, although each staff member working under such an operation often has multiple skills, no technique has been proposed to create a schedule that allows the staff member to work efficiently according to the skills they possess. Even if on-site supervisors sometimes assigned staff to multiple tasks at their discretion, it was always based on intuition and experience.
上記の障壁は、数学的な困難さおよびその数学的困難さを解決する技術不在(厳密には未成熟)に起因する。例えば、表計算ソフトウェアは、線形の制約条件であれば数学的に高速に解けるものであるが、非線形の制約条件を解くには膨大な時間がかかるという性質を持つ。 The above-mentioned obstacles are due to mathematical difficulties and the absence (strictly speaking, immaturity) of technology to solve the mathematical difficulties. For example, spreadsheet software can mathematically solve linear constraints quickly, but it takes an enormous amount of time to solve nonlinear constraints.
このように従来であれば、スケジュール作成に際し、要素すなわち各人員などに関する非線形の制約条件の増加に対して計算量が急激に増加し、計算完了までに長時間を要するが、アニーリングマシンを使用したスケジュール作成支援装置100を採用することで、要素の増加にさほど依存せず計算を行うことが可能となる。
Conventionally, when creating a schedule, the amount of calculations increases rapidly due to the increase in nonlinear constraints related to elements, such as each personnel, and it takes a long time to complete the calculations, but using an annealing machine By employing the schedule
<ハードウェア構成>
また、本実施形態のスケジュール作成支援装置100のハードウェア構成は、図2に以下の如くとなる。
<Hardware configuration>
Further, the hardware configuration of the schedule
すなわちスケジュール作成支援装置100は、記憶部101、メモリ103、演算部104、および通信部105、を備える。
That is, the schedule
このうち記憶部101は、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される。
Among these, the
また、メモリ103は、RAMなど揮発性記憶素子で構成される。
Furthermore, the
また、演算部104は、記憶部101に保持されるプログラム102をメモリ103に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUである。
Further, the
また、通信部105は、ネットワーク10と接続してユーザ端末200との通信処理を担うネットワークインターフェイスカード等を想定する。
Further, the
なお、スケジュール作成支援装置100がスタンドアロンマシンである場合、ユーザからのキー入力や音声入力を受け付ける入力装置、処理データの表示を行うディスプレイ等の出力装置、を更に備えるとすれば好適である。
Note that when the schedule
また、記憶部101内には、本実施形態のスケジュール作成支援装置として必要な機能を実装する為のプログラム102に加えて、基本情報テーブル125および制約条件テーブル126が少なくとも記憶されている。ただし、これらテーブルについての詳細は後述する。
Furthermore, in the
また、プログラム102、すなわちアニーリングマシンとしての動作を実装するアルゴリズムは、解くべき課題であるイジングモデル1021の情報を保持する。このイジングモデル1021は、情報提供の対象となる業務や人員、およびそれらに影響を与える他の各種情報に基づき管理者等が予め設定しておくものとなる。
Further, the
なお、アニーリングマシンの概要にて述べた断熱量子計算は、別名で量子アニールとも呼ばれ、古典的な焼きなましの概念を量子力学に発展させたものである。即ち、断熱量子計算は本来古典的動作が可能で、高速性や解の正解率に関しで性能を向上させるために量子力学的効果が付加されたものとも解釈できる。そこで本発明では、演算部そのものは古典的とし、演算過程に量子力学的に定まるパラメータを導入することにより、古典的であるが量子力学的な効果を含んだ演算方法・装置を実現する。ただし、演算部を量子コンピュータで構成する形態についても勿論採用しうる。 Note that the adiabatic quantum computation described in the overview of annealing machines is also called quantum annealing, and is an extension of the classical annealing concept to quantum mechanics. In other words, adiabatic quantum computation is originally capable of classical operation, and can be interpreted as adding quantum mechanical effects to improve performance in terms of speed and accuracy of solutions. Therefore, in the present invention, the calculation section itself is classical, and by introducing parameters determined by quantum mechanics into the calculation process, a calculation method and device that is classical but includes quantum mechanical effects is realized. However, it is of course possible to adopt a configuration in which the calculation section is configured with a quantum computer.
以上の概念に基づき、以下の例では断熱量子計算との関連性を説明しながら解としての基底状態を得る古典的アルゴリズムと、それを実現するための装置に関して述べる。 Based on the above concept, in the following example, we will describe a classical algorithm for obtaining a ground state as a solution and a device for realizing it, while explaining its relationship with adiabatic quantum computation.
こうした前提でのスケジュール作成支援装置100は、N個の変数sj z(j=1,2,…,N)が-1≦sj z≦1の値域を取り、局所場gjと変数間相互作用Jij(i,j=1,2,…,N)によって課題の設定がなされる。
The schedule
また演算部104では、時刻をm分割して離散的にt=t0(t0=0)からtm(tm =τ)まで演算するものとし、各時刻tkにおける変数sjZ(tk)を求めるに当たり、前時刻tk-1の変数Sjz(tk-1)(i=1,2,..,N)の値と緩和項の係数9pinaあるいは9pinbを用いてBjz(tk)={ΣiJijsiz(tk-1)+gj+sgn(sjz(tk-1))・9pina}・tk/τあるいはBjz(tk)={ΣiJiJsjz(tk-1)+gj+9pinb .sjZ(tk-1)}・tk/τを求め、上述の変数sjz(tk)の値域が-1≦sjz(tk)≦1になるように関数fを定めてsjz(tk)=f(Bjz(tk),tk)とし、時刻ステップをt=t0からt=tmに進めるにつれて上述の変数sjzを-1あるいは1に近づけ、最終的にsjz<0ならば、sjzd=-1、Sjz>0ならば、sjzd=1として解を定める。ただし、最終的な解sjzdが実数であることが適切である場合は、sjzdを[-1,1]を値域とする実数として解を定めてもよい。
In addition, the
係数gpinbは、例えば|Jij|の平均値の50%から200%の値である。また、課題設定の局所場gjに関して、あるサイトj’に対してのみ補正項δgj’をgj’に加え、該サイトj’に対してのみgj’の大きさを大きくすることもできる。また、補正項δgj’は、例えば|Jij|の平均値の10%から100%の値である。 The coefficient gpinb is, for example, a value between 50% and 200% of the average value of |Jij|. Furthermore, regarding the local field gj of the task setting, it is also possible to add a correction term δgj' to gj' only for a certain site j' and increase the size of gj' only for that site j'. Further, the correction term δgj' is, for example, a value from 10% to 100% of the average value of |Jij|.
続いて、量子力学的な記述から出発して古典的な形式に移行することを通して、アニーリングマシンの基本的原理を述べる。 Next, we will explain the basic principles of annealing machines by starting from a quantum mechanical description and moving to a classical form.
式(3)で与えられるイジングスピン・ハミルトニアンの基底状態探索問題はNP困難と呼ばれる分類の問題を含み、有用な問題であることが知られている(文献:F. Barahona, ”On the computational comp lex ity of Isingspin glass models,” J. Phys.
A: Math. Gen. 15, 3241 (1982).)。
The ground state search problem for the Ising spin Hamiltonian given by Equation (3) includes a class of problems called NP-hard, and is known to be a useful problem (Reference: F. Barahona, "On the computational comp lexity of Isingspin glass models,” J. Phys.
A: Math. Gen. 15, 3241 (1982). ).
[式3]
[Formula 3]
Jij及びgjが課題設定パラメータであり、σ^Zはパウリのスピン行列のz成分で±1の固有値を取る。i,jはスピンのサイトを表す。イジングスピンとは値として±1だけを取りうる変数のことで、式(3)ではσ^zの固有値が±1であることによりイジングスピン系となっている。 Jij and gj are task setting parameters, and σ^ Z is the z component of the Pauli spin matrix and takes an eigenvalue of ±1. i and j represent spin sites. Ising spin is a variable that can take only ±1 as a value, and in equation (3), the eigenvalue of σ^ z is ±1, making it an Ising spin system.
式(3)のイジングスピンは文字通りのスピンである必要はなく、ハミルトニアンが式(3)で記述されるのであれば物理的には何でも良い。 The Ising spin in Equation (3) does not need to be a literal spin, and may be any physical spin as long as the Hamiltonian is described by Equation (3).
例えば、各人員のスキルごとの各稼働率及び各熟練度をスピン±1に対応付けることや、ロジック回路のhighとlowを±1に対応付けることも可能であるし、光の縦偏波と横偏波を±1に対応付けることや0,πの位相を±1に対応付けることも可能である。 For example, it is possible to associate each operating rate and each proficiency level for each skill of each person with spin ±1, it is also possible to associate high and low of a logic circuit with ±1, and it is also possible to associate the vertical and horizontal polarization of light. It is also possible to associate waves with ±1 and to associate phases of 0 and π with ±1.
ここで例示する方法では、断熱量子計算と同様に、時刻t=0において式(4)で与えられるハミルトニアンの基底状態に演算系を準備する。 In the method illustrated here, the calculation system is prepared in the ground state of the Hamiltonian given by equation (4) at time t=0, similar to the adiabatic quantum calculation.
[式4]
[Formula 4]
γは全サイトjに一様に掛かる外場の大きさで決まる比例定数であり、σ^jxは、パウリのスピン行列のx成分である。演算系がスピンそのものであれば、外場とは磁場を意味する。 γ is a proportionality constant determined by the magnitude of the external field uniformly applied to all sites j, and σ^j x is the x component of the Pauli spin matrix. If the calculation system is spin itself, the external field means the magnetic field.
式(4)は、横磁場を印加したことに相当し、すべてのスピンがx方向を向いた場合(γ>0)が基底状態である。問題設定のハミルトニアンはz成分のみのイジングスピン系として定義されたが、式(4)にはスピンのx成分が登場している。従って、演算過程でのスピンはイジングではなくベクトル的(ブロッホベクトル)である。t=0では式(4)のハミルトニアンでスタートしたが、時刻tの進行と共に徐々にハミルトニアンを変化させ、最終的には式(3)で記述されるハミルトニアンにしてその基底状態を解として得る。 Equation (4) corresponds to applying a transverse magnetic field, and the ground state is when all spins are oriented in the x direction (γ>0). The Hamiltonian in the problem setting was defined as an Ising spin system with only the z component, but the x component of spin appears in equation (4). Therefore, the spin in the calculation process is vector-like (Bloch vector) rather than Ising. At t=0, it starts with the Hamiltonian of Equation (4), but as time t progresses, the Hamiltonian is gradually changed, and finally the Hamiltonian described by Equation (3) is obtained, and its ground state is obtained as a solution.
[式5]
[Formula 5]
ここでσ^はパウリのスピン行列の3成分をベクトルとして表示している。基底状態は
スピンが磁場方向を向いた場合で、<・>を量子力学的期待値として<σ^>=B/|B|と書ける。断熱過程では常に基底状態を維持しようとするので、スピンの向きは常に磁場の向きに追従する。
Here, σ^ represents the three components of the Pauli spin matrix as a vector. The ground state is when the spin points in the direction of the magnetic field, and can be written as <σ^>=B/|B|, where <·> is the quantum mechanical expectation value. In an adiabatic process, the ground state is always maintained, so the direction of the spin always follows the direction of the magnetic field.
以上の議論は多スピン系にも拡張できる。t=0ではハミルトニアンが式(4)で与えられる。これは全スピンに対して一様に磁場BjX =γが印加されたことを意味する。t>0では、磁場のx成分が徐々に弱まりBjX =γ(1-t/τ)である。z成分に関してはスピン間相互作用があるために有効磁場としては式(6)になる。 The above discussion can be extended to multi-spin systems. At t=0, the Hamiltonian is given by equation (4). This means that the magnetic field Bj x =γ is uniformly applied to all spins. At t>0, the x component of the magnetic field gradually weakens, and Bj X =γ(1−t/τ). Regarding the z component, since there is an interaction between spins, the effective magnetic field is expressed as equation (6).
[式6]
[Formula 6]
スピンの向きは<σ^z>/<σ^X>で規定できるので、スピンの向きが有効磁場に追従するならば式(7)によりスピンの向きが定まる。 Since the spin direction can be defined by <σ^ z >/<σ^ X >, if the spin direction follows the effective magnetic field, the spin direction is determined by equation (7).
[式7]
[Formula 7]
式(7)は量子力学的記述であるが期待値を取っているので、式(1)~(6)とは異なり古典量に関する関係式である。 Although equation (7) is a quantum mechanical description, it takes an expected value, so unlike equations (1) to (6), it is a relational equation regarding classical quantities.
古典系では量子力学の非局所相関(量子縫れ)がないので、スピンの向きはサイトごとの局所場により完全に決まるはずであり、式(7)が古典的スピン系の振る舞いを決定する。量子系では非局所相関があるために式(7)は変形されることになるが、それに関しては後述することとし、ここでは発明の基本形態を述べるために式(7)で定まる古典系について記述する。 In the classical system, there is no non-local correlation (quantum stitching) of quantum mechanics, so the direction of the spin should be completely determined by the local field at each site, and Equation (7) determines the behavior of the classical spin system. In quantum systems, equation (7) has to be modified because there is non-local correlation, but this will be discussed later.Here, in order to describe the basic form of the invention, we will discuss the classical system determined by equation (7). Describe.
図3にスピン系の基底状態を得るためのタイミングチャート(1)を示す。図3の記述は古典量に関するものなので、サイトjのスピンをσ^jではなくsjにより表した。またそれに伴い、図3の有効磁場Bjは古典量である。t=0において全サイトで右向きの有効磁場Bjが印加され、全スピンsjが右向きに初期化される。 FIG. 3 shows a timing chart (1) for obtaining the ground state of the spin system. Since the description in FIG. 3 concerns classical quantities, the spin at site j is expressed by sj instead of σ^ j . Further, accordingly, the effective magnetic field Bj in FIG. 3 is a classical quantity. At t=0, a rightward effective magnetic field Bj is applied to all sites, and all spins sj are initialized to the right.
時間tの経過に従い、徐々にz軸方向の磁場とスピン間相互作用が加えられ、最終的にスピンは+z方向あるいは-z方向となって、スピンSjのz成分がsjz=+1あるいは-1となる。時間tは連続的であることが理想であるが、実際の演算過程では離散的にして利便性を向上させることもできる。以下では離散的な場合を述べる。 As time t passes, the magnetic field in the z-axis direction and the interaction between the spins are gradually applied, and finally the spins become in the +z direction or -z direction, and the z component of the spin Sj becomes sj z = +1 or -1 becomes. Ideally, the time t is continuous, but in an actual calculation process, it can be made discrete to improve convenience. In the following, we will discuss the discrete case.
ここで例示するスピンはz成分だけでなくx成分が加わっているためにベクトル的なスピンになっている。図3からもベクトルとしての振る舞いが理解できる。ここまでy成分が登場してこなかったが、それは外場方向をxz面に取ったために外場のy成分が存在せず、従って<σ^Y>=0となるためである。 The spin illustrated here is a vector-like spin because not only the z component but also the x component is added. The behavior as a vector can also be understood from FIG. The y component has not appeared so far, but this is because the y component of the external field does not exist because the direction of the external field is set to the xz plane, and therefore <σ^ Y >=0.
演算系のスピンとしては大きさ1の3次元ベクトル(これをブロッホベクトルと呼び、球面上の点で状態を記述できる)を想定しているが、図に示す例における軸の取り方では2次元のみを考慮すればよい(円上の点で状態を記述できる)。 The spin of the calculation system is assumed to be a three-dimensional vector of magnitude 1 (this is called a Bloch vector, and the state can be described by a point on the spherical surface), but in the example shown in the figure, the axis is taken as a two-dimensional vector. (states can be described by points on a circle).
またγは一定なのでBjx(t)>0(γ>0)あるいはBjx(t)<0(γ<0)が成り立つ。この場合、2次元スピンベクトルは半円のみで記述できることになり、[-1,1]でsjzを指定すればsjzの1変数で2次元スピンベクトルが定まる。従って、ここでの例では、スピンは2次元ベクトルであるが、値域を[-1,1]とする1次元連続変数として表記することもできる。 Furthermore, since γ is constant, Bj x (t)>0 (γ>0) or Bj x (t)<0 (γ<0) holds true. In this case, the two-dimensional spin vector can be described only by a semicircle, and if sj z is specified by [-1, 1], the two-dimensional spin vector is determined by one variable, sj z . Therefore, in this example, spin is a two-dimensional vector, but it can also be expressed as a one-dimensional continuous variable with a range of [-1, 1].
図3のタイミングチャートでは時刻t=tkにおいてサイトごとに有効磁場を求め、その値を用いて式(8)によりt=tkにおけるスピンの向きを求める。 In the timing chart of FIG. 3, the effective magnetic field is determined for each site at time t=tk, and using that value, the spin direction at t=tk is determined by equation (8).
[式8]
[Formula 8]
式(8)は式(7)を古典量に関する表記に書き改めたものなので<・>の記号が付いていない。次に、t=tk+lの有効磁場をt=tkにおけるスピンの値を用いて求める。各時刻の有効磁場を具体的に書けば式(9)及び(10)となる。 Equation (8) is a rewrite of Equation (7) into the notation related to classical quantities, so it does not have the <・> symbol. Next, the effective magnetic field at t=tk+l is determined using the spin value at t=tk. If the effective magnetic field at each time is specifically written, it becomes Equations (9) and (10).
[式9]
[Formula 9]
[式10]
[Formula 10]
以下、図3のタイミングチャートで模式的に示した手順に従い、スピンと有効磁場を交互に求めていく。 Hereinafter, the spin and the effective magnetic field are determined alternately according to the procedure schematically shown in the timing chart of FIG.
古典系ではスピンベクトルの大きさは1である。この場合スピンベクトルの各成分は、tanθ=Bjz(tk)/Bjx(tk)で定義される媒介変数θを用いてsjz(tk)=sinθ、sjx(tk)=COSθと記述される。 In the classical system, the magnitude of the spin vector is 1. In this case, each component of the spin vector is written as sj z (tk ) = sin θ, sj x (tk) = COS θ using the parameter θ defined as tan θ = Bj z (tk)/Bj x (tk). Ru.
これを書き直せば、sjz(tk)=sin(arctan(Bjz(tk)/Bjx(tk)))、sjx(tk)=cos(arctan(Bjz(tk)/Bjx(tk)))である。 Rewriting this, sj z (tk) = sin(arctan(Bj z (tk)/Bj x (tk))), sj x (tk) = cos(arctan(Bj z (tk)/Bj x (tk) )).
式(9)から明らかなようにBjx(tk)の変数は、tkのみであり、τとγは定数である。 従って、Sjz(tk)=sin(arctan(Bjz(tk)/Bjx(tk)))及びsjx(tk)=cos(arctan(Bjz(tk)/Bjx(tk)))はBjz(tk)とtkを変数とする関数としてsjz(tk)=f1(Bjz(tk),tk)及びsjx(tk)=f2( Bjz(tk),tk)のような一般化した表現もできる。 As is clear from equation (9), the only variable in Bj x (tk) is tk, and τ and γ are constants. Therefore, Sj z (tk)=sin(arctan(Bj z (tk)/Bj x (tk))) and sjx(tk)=cos(arctan(Bj z (tk)/Bj x (tk))) are Bj Generalizations such as sj z ( tk) = f1 (Bj z (tk), tk) and sj x (tk) = f2 (Bj z (tk), tk) as functions with z (tk) and tk as variables You can also express
スピンを2次元ベクトルとして記述しているので、sjz(tk)とsjx(tk)の2成分が登場しているが、Bjz(tk)を式(10)に基づき決定するならばsjx(tK)は必要ない。 Since spin is described as a two-dimensional vector, two components, sj z (tk) and sj x (tk), appear, but if Bj z (tk) is determined based on equation (10), sj x (tK) is not necessary.
これは、[-1,1]を値域とするsjz(tk)のみでスピン状態を記述できることに対応している。最終的な解sjzdは、sjzd=-1or1で取り出すことが一般的であり、sjz(τ)>0ならばsjzd=1、sjz(τ)<0ならばsjzd=-1とする。ただし、最終的な解sjzdが実数であることが適切である場合は、sjzdを[-1,1]を値域とする実数として取り出してもよい。 This corresponds to the fact that the spin state can be described only by sj z (tk) whose range is [-1, 1]. The final solution sj zd is generally extracted by sj zd = -1or1, if sj z (τ) > 0, sj zd = 1, and if sj z (τ) < 0, sj zd = -1. shall be. However, if it is appropriate for the final solution sj zd to be a real number, sj zd may be extracted as a real number whose range is [-1, 1].
図4に、上述のアルゴリズムをフローチャートにまとめたものを示す。ここでtm=τである。図4のフローチャートの各ステップs1~s9は、時間t=0からt=τに到る図3のタイミングチャートの、ある時刻での処理に対応している。すなわち、フローチャートのステップs2、s4、s6がそれぞれ、t=t1,tk+l,tmにおける上記の式(9)及び(10)に対応している。最終的な解はステップs8において、sjz<0ならばsjzd=-1、sjz>0ならば、sjzd=1とすることにより定める(s9)。ただし、最終的な解が実数であることが適切である場合は、sjzdを[-1,1]を値域とする実数として定めてもよい。なお、図4のフローでは一般的な例について示し、実数として取り出す旨の記載は省略している。 FIG. 4 shows a flowchart summarizing the above algorithm. Here, tm=τ. Each step s1 to s9 in the flowchart in FIG. 4 corresponds to processing at a certain time in the timing chart in FIG. 3 from time t=0 to t=τ. That is, steps s2, s4, and s6 of the flowchart correspond to the above equations (9) and (10) at t=t1, tk+l, and tm, respectively. The final solution is determined in step s8 by setting sj zd =-1 if sj z <0, and setting sj zd =1 if sj z >0 (s9). However, if it is appropriate for the final solution to be a real number, sj zd may be determined as a real number whose range is [-1, 1]. Note that the flow in FIG. 4 shows a general example, and the description of extracting as a real number is omitted.
ここまでは課題が式(3)で表現された場合に如何に解かれるかを示した。次に具体的課題が如何に局所場gjと変数間相互作用Jij(i,j=1,2,…,N)を含む式(3)で表現されるかに関して具体例を挙げて説明する。 So far, we have shown how the problem is solved when it is expressed by equation (3). Next, a specific example will be given to explain how a specific problem is expressed by equation (3) including a local field gj and an interaction between variables Jij (i, j=1, 2, . . . , N).
ここでの具体的課題すなわちイジングモデル1021は、例えば、コールセンタ業務に携わるオペレータ各々の所定月における総勤務日数、当該月における各日での小数を含みうる必要人数、およびコールセンタ業務に各オペレータを割り当てる際の制約条件、の各情報をベースに、当該月における総勤務日数、当該月における各日の上述の必要人数、および上述の制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、各オペレータの稼働率をスピンとし、制約条件用関数における変数間の感応度をスピンの間の相互作用の強度として設定したイジングモデルを想定する。
The specific problem here, that is, the
この場合、局所場gjは、上述の当該月における総勤務日数、当該月における各日の小数を含みうる必要人数、および上述の制約条件が満たされる際に最小となる制約条件用関数、における変数の値が目的関数へ与える影響度として設定されることを想定する。 In this case, the local field gj is a variable in the above-mentioned total number of working days in the month, the required number of people who can include decimals for each day in the month, and the constraint function that is minimized when the above-mentioned constraints are satisfied. It is assumed that the value of is set as the degree of influence on the objective function.
なお、イジングモデルの他の例としては、例えば、コールセンタ業務に携わるオペレータ各々の所定月における総勤務日数、当該月における各日での必要スキルごとの小数を含みうる必要人数、およびコールセンタ業務に各オペレータを割り当てる際の制約条件、の各情報をベースに、当該月における総勤務日数、当該月における各日の上述の必要人数、および上述の制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、各オペレータのスキルごとの稼働率をスピンとし、制約条件用関数におけ
る変数間の感応度をスピンの間の相互作用の強度として設定したイジングモデルを想定することもできる。
Other examples of the Ising model include, for example, the total number of working days in a given month for each operator involved in call center work, the required number of people who can include a decimal number for each required skill on each day of the month, and the number of workers involved in call center work. Based on the information on the constraints when allocating operators, the total number of working days in the month, the required number of people for each day in the month, and the minimum constraint function when the above constraints are satisfied. Regarding the objective function that includes , as a term, it is also possible to assume an Ising model in which the utilization rate for each skill of each operator is set as the spin, and the sensitivity between variables in the constraint function is set as the strength of the interaction between the spins. can.
この場合、局所場gjは、上述の当該月における総勤務日数、当該月における各日での必要スキルごとの小数を含みうる必要人数、および上述の制約条件が満たされる際に最小となる制約条件用関数、における変数の値が目的関数へ与える影響度として設定されることを想定する。 In this case, the local field gj is the total number of working days in the month, the required number of people for each day of the month, which may include a decimal number, and the minimum constraint when the above constraints are satisfied. It is assumed that the value of the variable in the objective function is set as the degree of influence on the objective function.
また、イジングモデルの他の例としては、例えば、重要スキルを必要とする希少業務に関する制約条件である、当該希少業務の対応人員の必要人数、及び当該希少業務への対応時間帯について、制約条件用関数を項として含む目的関数に関して、各オペレータのスキルごとの稼働率をスピンとし、制約条件用関数における変数間の感応度をスピンの間の相互作用の強度として設定したイジングモデルを想定することもできる。 In addition, other examples of the Ising model include, for example, constraints regarding rare tasks that require important skills, such as the number of personnel required to handle the rare tasks, and the time slot for handling the rare tasks. Regarding the objective function that includes the constraint function as a term, assume an Ising model in which the utilization rate for each skill of each operator is set as the spin, and the sensitivity between variables in the constraint function is set as the strength of the interaction between the spins. You can also do it.
この場合、局所場gjは、上述の当該月における総勤務日数、当該月における各日での必要スキルごとの小数を含みうる必要人数、希少業務の対応人員の必要人数、当該希少業務への対応時間帯、および上述の制約条件が満たされる際に最小となる制約条件用関数、における変数の値が目的関数へ与える影響度として設定されることを想定する。 In this case, the local field gj is the total number of working days in the month mentioned above, the required number of people who can include a decimal number for each required skill for each day in the month, the required number of personnel to handle the rare work, and the number of people who can handle the rare work. It is assumed that the value of the variable in the time period and the constraint function that becomes minimum when the above-mentioned constraint is satisfied is set as the degree of influence on the objective function.
また、イジングモデルの他の例としては、例えば、各人員のスキルごとの稼働率及び熟練度をスピンとし、上述の制約条件用関数における変数間の感応度をスピンの間の相互作用の強度として設定したイジングモデルを想定することもできる。 In addition, as another example of the Ising model, for example, the utilization rate and proficiency level for each skill of each person is taken as spin, and the sensitivity between variables in the above-mentioned constraint function is taken as the strength of interaction between spins. It is also possible to assume a set Ising model.
以上のような考察を通して、(上述の目的関数の各項の間に関する)変数間相互作用Jijと局所場gjを具体的に設定し、式(3)で表されるイジングモデル1021の基底状態探索、すなわち上述の当該月における総勤務日数、当該月における各日の小数を含みうる必要人数、および上述の制約条件が満たされる際に最小となる制約条件用関数、からなる目的関数が最小となる基底状態の探索を通して、各オペレータの勤務シフトすなわち、コールセンタ業務における当該月の全体スケジュールを特定する。
Through the above considerations, we specifically set the inter-variable interaction Jij (related to each term of the objective function described above) and the local field gj, and search for the ground state of the
なお、イジングモデルとアニーリング法で計算するのは、「目的関数を最小化する」ことだけである。そのため、目的関数を最小化する際に満たされる必要がある制約条件がある場合、それらを何らかの形で目的関数に足し込む必要がある。 Note that the Ising model and annealing method only calculate ``minimizing the objective function.'' Therefore, if there are constraints that need to be satisfied when minimizing the objective function, it is necessary to add them to the objective function in some way.
例えば、
[式11]
という制約条件を考えてみる。この制約条件を「制約条件が満たされる時に最小となる関数」に変換するとすれば、以下の式になる。
for example,
[Formula 11]
Let's consider the following constraint. If we convert this constraint condition into "a function that is minimized when the constraint condition is satisfied", the following formula will be obtained.
[式12]
[Formula 12]
二乗となっている部分は必ず正の値となるため、この式が最小値となるのは二乗の中身
が0となる時だけである。中身が0となるのはΣXi-A=0、の時だけであるので、この関数が最小となる最適化問題を解けば、ΣXi=Aが満たされている解が自動的に得られることになる。
Since the squared part is always a positive value, this formula has a minimum value only when the content of the square is 0. The content becomes 0 only when ΣXi - A = 0, so if you solve the optimization problem where this function is minimized, you will automatically obtain a solution that satisfies ΣXi = A. Become.
また、例えば、上述のアニーリング法では、制約条件としたい項目も目的関数に入れ込んでしまう必要があるため、目的関数も制約条件も同じ重要度で扱うことになる。 Further, for example, in the above-described annealing method, it is necessary to include items to be used as constraints in the objective function, so the objective function and the constraints are treated with the same importance.
例えば、以下のような最適化問題があったとする。
[式13]
For example, suppose we have the following optimization problem.
[Formula 13]
これをアニーリング用の定式化に変更すると、以下のようになる。
[式14]
Changing this to the formulation for annealing results in the following.
[Formula 14]
ここでPとQは定数であり、どの項を優先的に最小化するかを決めるファクタとなる。例えば、3つの項すべてを平等に最小化する(つまり、制約条件の強さに偏りをつけないで問題を解く)場合、PとQを同等にするなど、項間でバランスをとるよう値の設定を行う。 Here, P and Q are constants, and are factors that determine which term is minimized preferentially. For example, if you want to minimize all three terms equally (that is, solve the problem without biasing the strength of the constraints), you can change the values to balance the terms, such as making P and Q equal. Make settings.
一方、「第2項の制約条件は厳密に守るが、第3項の制約条件はあまり重視しない」という問題設定であれば、重視する項の係数であるPの値を、Qの値より大きくすることで望みの解が得られることになる。 On the other hand, if the problem is set to ``strictly follow the second term's constraint, but do not place much emphasis on the third term's constraint,'' set the value of P, which is the coefficient of the term to be emphasized, to be larger than the value of Q. By doing so, you will get the desired solution.
このようにアニーリング法によれば、制約条件に優先度を付し、あまり重視しない制約条件については「なるべく満たす」といった設定が可能になる。 In this way, according to the annealing method, it is possible to prioritize constraints and set constraints that are not given much importance to be "satisfied as much as possible."
なお、イジングモデルに関する各種設定は、本実施形態のスケジュール生成の各条件、情報に応じ、既存の一般的概念に沿った形で適宜に行うものとする。 Note that various settings related to the Ising model are appropriately performed in accordance with existing general concepts in accordance with each condition and information for schedule generation in this embodiment.
<スピン(変数)設定の具体例>
ある人員iが、ある時間帯jに、勤務種類k(実行にスキルkを要する)を稼働率m%で実施する場合に1、実施しない場合に0となる変数x_(i,j,k,m)を考える(図5参照)。基本
的にはこの変数x_(i,j,k,m)の1つ1つがイジングモデルにおけるスピン1つ1つに割り振ら
れる。さらに、これに各勤務種類に対応するスキルの熟練度nについても考慮する場合、
ある人員iが、ある時間帯jに、勤務種類k(実行にスキルkを要する)を熟練度nで、稼働率m%で実施する場合に1、実施しない場合に0となる変数x_(i,j,k,m,n)を考える。基本的
にはこの変数x_(i,j,k,m,n)の1つ1つがCMOSアニーリングマシンにおけるスピン1つ1つに
割り振られる。なお、各人員が各スキルに対して持つ熟練度が単一である場合、熟練度を考慮しない変数x_(i,j,k,m)を用い、制約条件用関数における変数間の感応度に熟練度を
乗することによって設定することもできる。
<Specific example of spin (variable) settings>
A variable x_(i,j,k, m) (see Figure 5). Basically, each of these variables x_(i,j,k,m) is assigned to each spin in the Ising model. Furthermore, when considering the proficiency level n of skills corresponding to each work type,
Variable x_(i ,j,k,m,n). Basically, each of these variables x_(i,j,k,m,n) is allocated to each spin in the CMOS annealing machine. In addition, if each person has a single level of proficiency for each skill, the sensitivity between variables in the constraint function is calculated using variables x_(i,j,k,m) that do not take proficiency into account It can also be set by multiplying the proficiency level.
「勤務種類」を考えない場合、この変数は、「ある人員iが、ある時間帯jに稼働率m%
で業務をするかしないか」を与える変数となる。つまり、下記の表1で1が入ったセルで
は業務をm%の稼働率で実施し、0が入ったセルでは業務を実施しない、ということになる。
If you do not consider "work type", this variable is defined as "a certain employee i has an utilization rate of m% during a certain time period j".
It is a variable that gives whether or not to do business. In other words, in the cells containing 1 in Table 1 below, operations will be carried out at an operating rate of m%, and in the cells containing 0, operations will not be carried out.
一方、「勤務種類」、「稼働率」についても考える場合、コールセンタの例でいうと、「インバウンド業務」をk=1に対応させ、「アウトバウンド業務」をk=2に対応させる。すると、上記の表1の一番左上のセルに対応する変数が2つ存在する(x_1,1,1,m,nとx_1,1,2,m,n)ことになる。この2つの変数がそれぞれ0か1の値を取るので、考えられる組合せは、下記の表2に示す4つとなる。 On the other hand, when considering "type of work" and "operating rate," in the example of a call center, "inbound work" corresponds to k=1, and "outbound work" corresponds to k=2. Then, there are two variables (x_1,1,1,m,n and x_1,1,2,m,n) corresponding to the top left cell in Table 1 above. Since these two variables each take a value of 0 or 1, there are four possible combinations as shown in Table 2 below.
「勤務種類」、「稼働率」を考える場合、上記の表2において、勤務種類「インバウンド」をk=1に対応させ、勤務種類「アウトバウンド」をk=2に対応させ、2つの変数の組合
せによって単位時間あたりの各人員のシフトを表現するテーブル(以下、「タイムテーブル」と呼ぶ)上の1セルを表現する。つまり、あるセルに属する2つの変数(x_(i,j,1,m,n)とx_(i,j,2,m,n))がともに0なら「休憩」、ある1つのx_(i,j,1,m,n)が1ですべてのx_(i,j,2,m,n)が0なら「インバウンド」を稼働率m%×nで実行、すべてのx_(i,j,1,m,n)が0である1つのx_(i,j,2,m,n)が1なら「アウトバウンド」を稼働率m%×nで実行、を表すこと
になる。ここで、x_(i,j,1,m,n)もx_(i,j,2,m,n)も1となった場合は「同一人物が同一時
間帯に2つの異なる業務を、それぞれ稼働率m%×nで実施する」ことになる。
When considering "work type" and "utilization rate", in Table 2 above, work type "inbound" corresponds to k=1, work type "outbound" corresponds to k=2, and the combination of two variables represents one cell on a table (hereinafter referred to as "timetable") that represents the shifts of each person per unit time. In other words, if the two variables (x_(i,j,1,m,n) and x_(i,j,2,m,n)) belonging to a certain cell are both 0, it is a "rest"; If ,j,1,m,n) is 1 and all x_(i,j,2,m,n) are 0, "inbound" is executed with an availability rate of m%×n, and all x_(i,j, 1, m, n) is 0 and one x_(i, j, 2, m, n) is 1, it means that "outbound" is executed at an operating rate of m% x n. Here, if x_(i,j,1,m,n) and x_(i,j,2,m,n) are both 1, then ``the same person can perform two different tasks in the same time period, respectively. This will be implemented with an operating rate of m% x n.
<データ構造例>
続いて、本実施形態のスケジュール作成支援装置100が用いる各種情報について説明する。図5に、本実施形態における基本情報テーブル125の一例を示す。
<Data structure example>
Next, various information used by the schedule
本実施形態の基本情報テーブル125は、コールセンタ業務で協働する各オペレータの所定月における総勤務コマ数、当該月における各日の各時間帯における各業務(に対応するスキルを保有した者)の必要人数、の各情報を格納したテーブルである。 The basic information table 125 of this embodiment includes the total number of working hours in a predetermined month of each operator who collaborates in call center operations, and the number of hours worked (by those who have the corresponding skills) for each task in each time period of each day in the month. This table stores information about the number of people required.
このうち、必要人数の値は、機械学習などの適宜なアルゴリズムにより推定したものを想定できる。この場合、スケジュール作成支援装置100は、例えば、各時間帯に発生した過去の各業務の発生量の情報を記憶部101に保持しておき、この情報に基づき、日時や曜日、天候など種々の要因と各業務の発生量との相関関係を機械学習アルゴリズムにより特定しモデルを生成する。この相関関係を学習したモデルに、例えばある時間帯を入力として与えると、該当時間帯において発生が見込まれる各業務の量を推定できる。
Among these, the value of the required number of people can be estimated using an appropriate algorithm such as machine learning. In this case, the schedule
また、スケジュール作成支援装置100は、過去、実際に生じた各業務の量と当該業務を問題無く処理した人員数の各情報を保持している場合、それらの間の相関関係について同様に機械学習してモデルを生成し、このモデルに対し、上述のように推定した各業務の量の情報を付与することで、必要人数を推定するといった構成も想定できる。
In addition, if the schedule
或いは、上述のように推定した各業務の量を、或るスキルを持つスタッフ一人当たりの平均的な業務処理量で除算することで、必要人数を算定するとしてもよい。 Alternatively, the required number of staff may be calculated by dividing the amount of each work estimated as described above by the average amount of work handled by each staff member with a certain skill.
なお、必要人数の算定手法としては、他にも想定しうる。例えば、コールセンタでの必要オペレータ数を推定するアーラン式で算出された必要人数(整数)から、近似曲線を引いて小数の必要人数を算出するといった手法も採用できる。 It should be noted that other methods of calculating the required number of people can be envisaged. For example, it is also possible to use a method of calculating a decimal number of required personnel by drawing an approximation curve from the required number of people (an integer) calculated using the Erlang formula for estimating the number of required operators at a call center.
本実施形態の例では、時間間隔を1時間として、横の行で指定している各業務の必要人数を、各時間帯で満たし、オペレータごとの勤務時間数(勤務コマ数)を守る組み合わせ最適化問題となる。区切る時間間隔が細かいほど、計算に必要なセル(本テーブルにおけるセル=要因)の数は増加し、より計算力が必要となる問題である。 In the example of this embodiment, the time interval is set to 1 hour, and the optimal combination satisfies the required number of people for each job specified in the horizontal row in each time period, and protects the number of working hours (number of working periods) for each operator. This becomes a problem. The problem is that the finer the time interval, the more cells required for calculation (cells = factors in this table), and the more calculation power is required.
またセルの数が多いため、各オペレータの稼働率や熟練度の刻みや、各種の禁止パターン等の制約を設定する際、制約条件に応じた制約条件用関数の数が膨大となる。ところがアニーリングマシンを採用すれば、現実的な時間内に好適な結果すなわちスケジュールが特定可能である。 Furthermore, since there are a large number of cells, when setting constraints such as increments of the operating rate and proficiency level of each operator, and various prohibited patterns, the number of constraint function functions corresponding to the constraint conditions becomes enormous. However, if an annealing machine is employed, a favorable result or schedule can be specified within a realistic amount of time.
なお、図5の基本情報テーブル125で例示した例は、あくまで説明の都合上で限定的であり、その他の様々な事象の情報が格納されているものとする(以下同様)。 Note that the example illustrated in the basic information table 125 in FIG. 5 is limited for convenience of explanation, and it is assumed that information on various other events is stored (the same applies below).
また、図6および図7に本実施形態における制約条件テーブル126の一例を示す。本実施形態の制約条件テーブル126は、上述のコールセンタ業務に各オペレータを割り当
てる際の制約条件それぞれの情報を格納したテーブルである。
Further, FIGS. 6 and 7 show an example of the constraint table 126 in this embodiment. The constraint table 126 of this embodiment is a table that stores information on each constraint condition when assigning each operator to the above-mentioned call center work.
そのデータ構造は、各制約条件の識別情報(図中では“#”)をキーとして、当該制約条件の内容、最適化ソルバでの実装例、およびアニーリングマシンでの実装例(制約条件用関数)。といったデータから成るレコードの集合体である。 The data structure uses the identification information of each constraint (“#” in the figure) as a key, and includes the contents of the constraint, an implementation example in an optimization solver, and an implementation example in an annealing machine (constraint function). . It is a collection of records consisting of such data.
本実施形態では、アニーリングマシンでの実装例すなわち制約条件用関数に加えて、従来技術との比較のため、最適化ソルバで当該制約条件を実装する際の関数例も対照表示している。 In this embodiment, in addition to an implementation example in an annealing machine, that is, a constraint function, an example of a function when implementing the constraint in an optimization solver is also displayed for comparison with the conventional technology.
<フロー例>
以下、本実施形態におけるスケジュール作成支援方法の実際手順について図に基づき説明する。以下で説明するスケジュール作成支援方法に対応する各種動作は、スケジュール作成支援装置100がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
<Flow example>
Hereinafter, the actual procedure of the schedule creation support method in this embodiment will be explained based on the drawings. Various operations corresponding to the schedule creation support method described below are realized by a program that the schedule
図8は、本実施形態におけるスケジュール作成支援方法のフロー例を示す図である。この場合、スケジュール作成支援装置100は、処理対象とするイジングモデル1021として、或る月における各オペレータの総勤務コマ数、当該月の各日における各業務の必要人数、および制約条件用関数、を項として含む目的関数に関して、各オペレータのスキルごとの稼働率と熟練度をスピンとし、制約条件用関数における変数間の感応度をスピン間の相互作用の強度として設定したイジングモデル1021を演算するものとする。
FIG. 8 is a diagram showing a flow example of the schedule creation support method in this embodiment. In this case, the schedule
ここで、稼働率とは、ある単位時間内である業務(すなわち特定のスキルで遂行する業務)に関して稼働する時間の割合である。例えば、単位時間が1時間である場合の稼働率75%とは、1時間のうち75%、つまり45分間、或る業務について働き、15分は休憩する状況を示す。この場合、予めスキルすなわち業務の割合を組合せたもの(以下、「ラベル」と呼ぶ)を用意し、その中から最適なものを選択する運用とする。 Here, the utilization rate is the ratio of working time for a certain task (that is, a task performed with a specific skill) within a certain unit time. For example, an operating rate of 75% when the unit time is 1 hour indicates a situation in which a worker works on a certain task for 75% of the hour, that is, 45 minutes, and takes a 15-minute break. In this case, combinations of skills, that is, task ratios (hereinafter referred to as "labels") are prepared in advance, and the optimal one is selected from among them.
例えば、下記の表3で示すように、5種類のスキルの組合せ(=「ラベル」)を用意し、人員毎・時間帯毎にどのラベルを割り当てればよいかを最適化の手法を用いて選択する。なお、表3の例ではスキル数が2、稼働率計が100%としているが、これに限るものではない。 For example, as shown in Table 3 below, we prepare five types of skill combinations (= "labels") and use an optimization method to determine which label should be assigned to each person and each time period. select. In addition, in the example of Table 3, the number of skills is 2 and the utilization rate meter is 100%, but the number is not limited to this.
また、熟練度とは、例えば平均的な作業効率の人を「1.0」とした場合、それよりも20%効率よく仕事を実施する人の熟練度を「1.2」とする指標である。もしくは、「新人は2人でベテラン1人分の作業をする」といった運用をしている業務であれば、新人の熟練度を「0.5」とし、その他のベテランの熟練度を「1.0」とする指標である。 In addition, proficiency is an index in which, for example, if a person with average work efficiency is ``1.0'', the proficiency level of a person who performs work 20% more efficiently is ``1.2''. be. Or, if the business is such that ``two newcomers do the work of one veteran,'' then the proficiency level of the new employee should be set to ``0.5'' and the proficiency level of the other veterans should be set to ``1.'' 0”.
このように、オペレータの各業務すなわち各スキルの稼働割合と熟練度を用いた割当人数(人日・人時)の計算法において、変数と定数の定義は、例えば以下のとおりである。人員i がj 日(タイムテーブルなら時間帯j)に、「スキル稼働率の組合せ」(=「ラベ
ル」)kを実施する場合は1、しない場合は0となる変数をx_(i,j,k)とし、ラベルkにお
けるスキルsの稼働割合をr_(k,s)とし、人員iがスキルsを実施する際の熟練度(例えば、表4の情報)をe_(i,s)とする。
In this way, in the method of calculating the allocated number of people (person-days/person-hours) using the operating ratio and proficiency of each operator's job, that is, each skill, the definitions of variables and constants are, for example, as follows. x_(i,j, k), the utilization rate of skill s at label k is r_(k,s), and the proficiency level (for example, information in Table 4) of person i when implementing skill s is e_(i,s). .
また、割当人数の計算には、例えば、j日(タイムテーブルなら時間帯j)におけるスキルsに対する割当人数(人日・人時)をW_(j,s)とした場合のW_(j,s)の式15、及び条件
式「j日(タイムテーブルなら時間帯j)におけるスキルsに対する必要人数(人日・人時
)Njs以上の人数を割当」を示す式16、を利用するものとする。
In addition, to calculate the number of people to be assigned, for example, if the number of people (person-days/person-hours) assigned to skill s on day j (time period j in the case of a timetable) is W_(j,s), then W_(j,s ), and the conditional expression 16 that indicates "assign the required number of people (person-days/person-hours) N js or more for skill s on day j (time zone j in the case of a timetable)" do.
[式15]
[Formula 15]
[式16]
[Formula 16]
そこで、スケジュール作成支援装置100は、各オペレータの希望条件をユーザ端末200から取得し、これを制約条件として制約条件テーブル126に格納する(s10)。或いは、この際、各オペレータから制約条件テーブル126中から、所望の制約条件に合致する制約条件の指定を受け付けるとしてもよい。
Therefore, the schedule
また、スケジュール作成支援装置100は、s10で得た制約条件を、既に述べたように制約条件用関数に変換する(s11)。この制約条件用関数は、当該制約条件が満たされる際に最小となる関数である。なお、上述のs10で制約条件の指定を受けた場合、当該制約条件に対して規定済みの制約条件用関数を制約条件テーブル126から抽出することとなる。
Furthermore, the schedule
また、スケジュール作成支援装置100は、アニーリングマシンとして、上述の3つの項目(総勤務コマ数、各日の各業務の必要人数、および制約条件用関数)に関する設定がなされたイジングモデル1021を課題とし、当該目的関数が最小となる基底状態を算定する(s12)。こうした基底状態の探索自体は、既存技術における処理と同様である。
In addition, the schedule
つまり、各オペレータに関する制約条件と、上述の総勤務コマ数および各日の各業務の必要人数といった基本情報の規定を満たしつつ、時間経過とともに(感応度に基づく理論上の)各日の各業務の稼働率(熟練度を加味したもの)の最終状態に向け遷移し、各オペ
レータの割り当て稼働率の結果が落ち着く状態を、基底状態として探索することとなる。
In other words, while satisfying the constraints on each operator and the stipulations of basic information such as the total number of shifts mentioned above and the number of people required for each job each day, each job of each day (theoretically based on sensitivity) is satisfied over time. The base state is a state in which the operator transitions toward the final state of the operating rate (taking skill level into account) and the result of the assigned operating rate of each operator settles down.
また、スケジュール作成支援装置100は、s12で特定した各時間帯における各オペレータの割り当て稼働率の情報(図9の画面900)を、スケジュールとしてユーザ端末200に送信し(s13)、処理を終了する。
In addition, the schedule
一方、こうした情報の提供を受けたユーザ端末200では、図9に示すようなスケジュール画面900をディスプレイ等の出力部に表示させる。
On the other hand, the
ユーザ端末200の操作者は、このスケジュール画面900を閲覧し、例えば、来月や明日、或いは直近1時間先のタイムテーブルについて認識し、コールセンタ業務の運営について適宜な確認、検討行うこととなる。
The operator of the
なお、上述の例よりも単純化したイジングモデルとして、或る月における各オペレータの総勤務コマ数、当該月の各日における各業務の必要人数、および制約条件用関数、を項として含む目的関数に関して、各オペレータの各日の各業務の稼働率をスピンとし、制約条件用関数における変数間の感応度をスピン間の相互作用の強度として設定したイジングモデルを想定してもよい。 In addition, as an Ising model that is simpler than the above example, an objective function that includes as terms the total number of working hours of each operator in a certain month, the number of people required for each job on each day of the month, and a function for constraint conditions. Regarding this, an Ising model may be assumed in which the operating rate of each job of each operator on each day is set as the spin, and the sensitivity between variables in the constraint function is set as the strength of the interaction between the spins.
その場合、既に述べた形態でのスピンから要素が1つ、すなわち熟練度を除外した形のイジングモデルを想定し、基底状態を探索することになる。そのため計算自体は簡略化され処理負荷も軽減される。ただし、得られるスケジュールにおける精度としては熟練度の概念が外れるため精度も低下する。こうした形態で得られるスケジュールの例を、図10の画面1000に示す。 In that case, an Ising model with one element, ie, skill level, excluded from spin in the form already described is assumed, and the ground state is searched for. Therefore, the calculation itself is simplified and the processing load is reduced. However, since the concept of proficiency does not apply to the accuracy of the resulting schedule, the accuracy also decreases. An example of a schedule obtained in this manner is shown in screen 1000 in FIG. 10.
また、上述の例よりも単純化したイジングモデルとして、或る月における各オペレータの総勤務コマ数、当該月の各日における必要人数、および制約条件用関数、を項として含む目的関数に関して、各オペレータの各日の稼働率をスピンとし、制約条件用関数における変数間の感応度をスピン間の相互作用の強度として設定したイジングモデルを想定してもよい。 In addition, as an Ising model that is simpler than the above example, each operator's objective function includes the total number of working hours of each operator in a certain month, the required number of people on each day of the month, and a constraint function. An Ising model may be assumed in which the daily operating rate of the operator is set as spin, and the sensitivity between variables in the constraint function is set as the strength of interaction between spins.
その場合、既に述べた形態でのスピンからさらに要素が1つ、すなわち熟練度に加えてスキルごとの稼働率についても除外した形のイジングモデルを想定し、基底状態を探索することになる。そのため計算自体はさらに簡略化され処理負荷も軽減される。ただし、得られるスケジュールにおける精度としては熟練度に加えてスキルごとの稼働率の概念が外れるため精度も低下する。こうした形態で得られるスケジュールの例を、図11の画面1100に示す。 In that case, we will search for the ground state by assuming an Ising model in which one more element is excluded from the spin in the form already described, that is, not only proficiency but also utilization rate for each skill. Therefore, the calculation itself is further simplified and the processing load is reduced. However, the accuracy of the resulting schedule decreases because the concept of utilization rate for each skill is not considered in addition to proficiency level. An example of a schedule obtained in this manner is shown in screen 1100 in FIG. 11.
さらに、スケジュール作成支援装置100は、例えば、コールセンタ業務のうち重要スキルを必要とする希少業務に関して対処することも可能である。希少業務とは、例えば、一日に1回ある可能性がある、程度の希少性がある業務であるが、軽々に扱うことはできないデリケートな取扱いを要する業務などを想定できる。よって、こうした希少業務に対応出来る者を、他業務とは無関係に一日を通じて配置しておく必要がある。
Furthermore, the schedule
この場合、スケジュール作成支援装置100は、制約条件である、上述の希少業務の対応人員の必要人数、及び当該希少業務への対応時間帯(例:業務日における全業務時間)について、制約条件用関数を目的関数の項に含め、イジングモデルを演算することとする。イジングモデルとしては、或る月における各オペレータの総勤務コマ数、当該月の各日における各業務の必要人数、および制約条件用関数、を項として含む目的関数に関して、各オペレータの各日における各業務(当然、希少業務を含む)の稼働率をスピンとし、制
約条件用関数における変数間の感応度をスピン間の相互作用の強度として設定したイジングモデルを想定してもよい。
In this case, the schedule
こうした形態で得られるスケジュールの例を、図12Aの画面1200、図12Bの画面1250に示す。本実施形態では、図12A、図12Bで示すように、重要スキル(希少業務Sに対応したもの)についてのみ勘案したスケジュールを生成している。つまり、通常スキルについて上述の基底状態を探索する処理とは別に、重要スキルに対応した希少業務について、必要人時や各人員の制約条件(休暇や休憩、当月の総コマ数など)を踏まえたイジングモデルを使用して、その基底状態を探索し、スケジュールを生成している。 Examples of schedules obtained in this manner are shown in screen 1200 in FIG. 12A and screen 1250 in FIG. 12B. In this embodiment, as shown in FIGS. 12A and 12B, a schedule is generated that takes only important skills (corresponding to rare work S) into consideration. In other words, in addition to the process of searching for the base state mentioned above for normal skills, for rare tasks corresponding to important skills, we also perform a The Ising model is used to explore its ground state and generate a schedule.
こうしたスケジュールを生成することで、希少業務であっても、通常業務と並行して確実に対応する人員体制を確保することにつながる。 By generating such a schedule, it is possible to ensure that there is a staffing system that can reliably handle even rare tasks in parallel with regular tasks.
以上はスケジュール作成支援装置100を主体とした構成について説明したが、こうした構成と連動する、コールセンタのCTI(Computer Telephony Integration)システム300を加えた全体システムを想定することもできる。図13に本実施形態におけるCTIシステム300の構成例を示す。
Although the above description has been about a configuration mainly based on the schedule
CTIシステム300は、コールセンタの管理システムとして一般的に運用されているシステムであり、オペレータと顧客との間の発着信を制御し、コールセンタ側の各種コンピュータリソースと電話リソースとを連携させる基盤である。
The
その一般的な機能としては、例えばインバウンド(着信)に関して、顧客対応中ではないオペレータの端末400に割り振って着信させ、当該顧客からの電話に対応する際、顧客管理用の画面表示を行う機能が備わる。それゆえ、CTIシステム300は、管理対象の各オペレータやその端末400の各識別情報や、顧客情報、発着信履歴といった情報を蓄積、管理しているものとする。
Its general functions include, for example, a function that allocates inbound (incoming calls) calls to the
本実施形態におけるCTIシステム300は、スケジュール作成支援装置100が生成したスケジュールを取得し、当該スケジュールが示す、或る時間帯における、各業務(すなわち特定のスキルが必要となる業務)に関する、各オペレータの稼働率の情報に応じて、各業務(例:サービス申込、サービス内容変更、サービス解約、等々)に関して、当該時間帯に顧客から受けた電話を、各オペレータの端末400に自動的に着信させる。
The
この場合、CTIシステム300は、各オペレータの端末400で当該時間帯に各業務に関して受けた電話での通話時間長を管理しているものとする。図14に、この通話時間長を管理するための管理テーブル325を例示する。
In this case, it is assumed that the
また、CTIシステム300は、上述のように管理する各時間帯における通話時間長の情報に基づき、各オペレータにおける上記時間帯における通話時間長の割合が、上述のスケジュールで定めた該当業務の稼働率に収まるよう制御する。
In addition, the
例えば、スケジュールにおいて、オペレータXは、或る時間帯(長さは1時間)での業務Aに関して稼働率は60%(つまり計36分)、業務Bに関して稼働率は30%(つまり計18分)、休憩10%(つまり計6分)と定められていたとする。 For example, in a schedule, operator ) and a 10% break (that is, a total of 6 minutes).
この場合、図15のフローに示すように、CTIシステム300は、当該オペレータXの端末400に対し着信させた、業務Aおよび業務Bの各電話での通話時間を通話機会があるごとに集計し、上述の管理テーブル325における情報を更新する(s20)。
In this case, as shown in the flowchart of FIG. 15, the
また、CTIシステム300は、顧客から架電があるごとに、当該電話の対応業務と架電時刻をキーに、(既にスケジュール生成支援装置100から取得し記憶部301で保持する)スケジュール310に照合し、現在時刻を含む時間帯において、当該業務に対応するオペレータを特定する(s21)。
In addition, each time a customer calls, the
続いて、CTIシステム300は、s21で特定したオペレータに関して、上述の管理テーブル325にて、当該時間帯における当該業務に関する通話時間長を参照し、当該時間帯(例:1時間)における通話時間長の割合を算定する(s22)。ここで算定された値は、当該オペレータが当該時間帯において当該業務に関して稼働した割合、すなわち現時点での稼働率である。
Next, for the operator identified in s21, the
また、CTIシステム300は、s22で算定した、現時点での稼働率が、上述のスケジュール310で当該オペレータに関して規定された当該時間帯での当該業務の稼働率を越えていないか判定する(s23)。
In addition, the
上述の判定の結果、現時点での稼働率が、スケジュール310で規定の稼働率を超えていない場合(s23:OK)、CTIシステム300は、当該オペレータの端末400に、当該顧客からの架電を着信させる(s24)。
As a result of the above determination, if the current operating rate does not exceed the specified operating rate in the schedule 310 (s23: OK), the
一方、上述の判定の結果、現時点での稼働率が、スケジュール310で規定の稼働率に到達している場合(s23:NG)、CTIシステム300は、当該オペレータではない別のオペレータであって、現時点での稼働率が、スケジュール310で規定の稼働率を超えていない者を特定し(s25)、当該オペレータの端末400に、上述の顧客からの架電を着信させる(s26)。
On the other hand, as a result of the above determination, if the current operating rate has reached the specified operating rate in the schedule 310 (s23: NG), the
例えば、業務Aに関して或る時点での稼働率が、ちょうど60%に達していれば、当該時間帯においては、業務Aに関する顧客からの電話を当該オペレータの端末400に着信させず、業務Aを当該時間帯に担当する他のオペレータであって、スケジュール上の稼働率に到達していない者の端末400に着信させるのである。
For example, if the operating rate for business A reaches exactly 60% at a certain point in time, calls from customers regarding business A will not be received at the operator's terminal 400 during that time period, and business A will be terminated. The call is made to arrive at the
CTIシステム300は、こうした制御を各時間帯、各業務に関して継続的に実行することで、スケジュール310の規定を遵守したオペレーションを実施し、コールセンタの適正運用を効率的に実行可能となる。
The
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。 Although the best mode for carrying out the present invention has been specifically described above, the present invention is not limited thereto and can be modified in various ways without departing from the gist thereof.
こうした本実施形態によれば、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成を効率的に行うことが可能となる。 According to this embodiment, it is possible to efficiently create a schedule in which the necessary personnel are allocated for each task in each time period without waste.
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態のスケジュール作成支援装置において、前記記憶部は、前記期間における各業務の必要スキルごとの、各タイミングでの小数を含みうる必要人数及び、前記各人員が保有するスキルの情報を更に格納し、前記演算部は、期間における前記総勤務長、前記必要スキルごとの前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員のスキルごとの稼働率をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記必要スキルごとの前記各人員の稼働率を規定したスケジュールを所定装置に出力するものである、としてもよい。 The description of this specification clarifies at least the following. That is, in the schedule creation support device of the present embodiment, the storage unit stores information on the required number of people who may include decimal numbers at each timing for each required skill of each job in the period, and the skills possessed by each of the personnel. Further, the calculation unit stores: an objective function that includes as terms the total working length in the period, the required number of people for each required skill, and a constraint function that is minimized when the constraint conditions are satisfied; Calculate an Ising model in which the utilization rate for each skill of each person is set as spin, and the sensitivity between variables in the constraint condition function is set as the strength of interaction between the spins, and based on the result of the calculation, A schedule defining the operating rate of each of the personnel for each of the necessary skills at each of the timings of the predetermined period may be output to a predetermined device.
これによれば、従来であれば、配置人員が複数のスキル(作業)をこなせる場合、「各作業を実施する割合」は本人や現場監督者の裁量にゆだねられており、最適な実施比率となっていない、といった課題に対処して、人員毎、時間帯(または日)毎にスキル(に対応した業務)の最適な実施割合を予め計算しておくことが可能となる。このことは、人員配置をより効率的なものとすることにつながり、各人員を本来業務に集中させることになりやすい。また、今いる人員で最高のパフォーマンスを出すことが期待され、業務効率の向上も図られうる。ひいては、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成をより効率的に行うことが可能となる。 According to this, in the past, when assigned personnel were able to perform multiple skills (tasks), the ``proportion of performing each task'' was left to the discretion of the person or the on-site supervisor, and the optimal implementation ratio In order to deal with the issue of not being able to achieve this goal, it becomes possible to calculate in advance the optimal implementation ratio of skills (corresponding tasks) for each person and each time period (or day). This leads to more efficient personnel allocation and tends to allow each person to concentrate on their original work. In addition, it is expected that the current personnel will achieve the best performance, and operational efficiency can be improved. As a result, it becomes possible to more efficiently create a schedule that allocates the necessary personnel for each task in each time period without waste.
また、本実施形態のスケジュール作成支援装置において、前記演算部は、重要スキルを必要とする希少業務に関する前記制約条件である、前記希少業務の対応人員の必要人数、及び当該希少業務への対応時間帯について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、としてもよい。 Further, in the schedule creation support device of the present embodiment, the calculation unit calculates the required number of personnel to handle the rare work and the time required to respond to the rare work, which are the constraint conditions regarding the rare work requiring important skills. Regarding the band, the Ising model may be calculated by including the constraint function in the objective function term.
これによれば、従来では、「レアな問合せのために、レアスキルに対応できる人が常に1人必要」といった場合、スケジュール作成者が手作業で調整していた事態にも対処し、
スキル実施割合の考え方を応用して、「レアスキルを持つ人を必ず1人割り当てる」とい
った設定が、特別な手順なしで可能となる。ひいては、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成をより効率的に行うことが可能となる。
According to this, in the past, schedulers would have to manually adjust situations such as ``one person with rare skills is always needed for a rare inquiry.''
By applying the concept of skill implementation ratio, it is possible to make settings such as ``always assigning one person with a rare skill'' without any special steps. As a result, it becomes possible to more efficiently create a schedule that allocates the necessary personnel for each task in each time period without waste.
また、本実施形態のスケジュール作成支援装置において、前記記憶部は、前記各人員が保有するスキルごとの熟練度の情報を更に保持し、前記演算部は、前記目的関数に関して、前記各人員のスキルごとの稼働率をスピンとし、前記制約条件用関数における変数間の感応度に、前記各人員のスキルごとの熟練度を乗じたものを、前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記必要スキルごとの前記熟練度を加味して前記各人員の稼働率を規定したスケジュールを所定装置に出力するものである、としてもよい。 Further, in the schedule creation support device of the present embodiment, the storage unit further stores information on the proficiency level of each skill possessed by each of the personnel, and the calculation unit stores the skill level of each of the personnel with respect to the objective function. An Ising model in which the operating rate for each spin is set as the spin, and the strength of the interaction between the spins is set as the sensitivity between variables in the constraint function multiplied by the proficiency level for each skill of each person. and, based on the result of the calculation, outputs to a predetermined device a schedule that defines the operating rate of each of the personnel by taking into account the proficiency level for each of the necessary skills at each timing of the predetermined period. , may also be used.
これによれば、従来では、必要人数が整数である限り、熟練度を考慮した計算をしても、結局平均すると全人員の熟練度は1付近になるため、効果が薄い(または「新人は休め
」というシフトになっていた)といった事態に対処し、必要人数を小数化し、かつ熟練度とスキル実施割合・稼働率とを組合せることにより、従来よりも、より過不足の少ないシフト作成が可能になる(新人が入ればベテランの休憩時間を増やすことができるため、休みも公平になる)。ひいては、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成をより効率的に行うことが可能となる。
According to this, in the past, as long as the required number of people was an integer, even if calculations were made that took proficiency into account, the proficiency level of all personnel would end up being around 1 on average, so it would have little effect (or "new employees By reducing the number of people required and combining proficiency level with skill implementation rate/operation rate, it is possible to create shifts with fewer surpluses and shortages than before. (If a rookie comes in, the veteran's rest time can be increased, so the rest will be fair). As a result, it becomes possible to more efficiently create a schedule that allocates the necessary personnel for each task in each time period without waste.
また、本実施形態のスケジュール作成支援装置において、前記記憶部は、前記各人員が保有するスキルごとの熟練度の情報を更に保持し、前記演算部は、前記目的関数に関して、前記各人員のスキルごとの稼働率及び熟練度をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記必要スキルごとの前記熟練度を加味して前記各人員の稼働率を規定したスケジュールを所定装置に出力するものである、としてもよい。 Further, in the schedule creation support device of the present embodiment, the storage unit further stores information on the proficiency level of each skill possessed by each of the personnel, and the calculation unit stores the skill level of each of the personnel with respect to the objective function. An Ising model is calculated in which the operating rate and proficiency level for each spin is set as a spin, and the sensitivity between variables in the constraint function is set as the strength of interaction between the spins, and based on the result of the calculation, the predetermined A schedule may be output to a predetermined device in which the operating rate of each of the personnel is defined in consideration of the proficiency level for each of the necessary skills at each of the timings of the period.
これによれば、従来では、必要人数が整数である限り、熟練度を考慮した計算をしても、結局平均すると全人員の熟練度は1付近になるため、効果が薄い(または「新人は休め
」というシフトになっていた)といった事態に対処し、必要人数を小数化し、かつ熟練度とスキル実施割合・稼働率とを組合せることにより、従来よりも、より過不足の少ないシフト作成が可能になる(新人が入ればベテランの休憩時間を増やすことができるため、休
みも公平になる)。しかも、熟練度もスピンに加えて取り扱うことで、当該熟練度を固定化せず、例えば時間経過に伴う熟練度向上や使用機材更新による熟練度低下、といった変化にも柔軟に対応可能となる。ひいては、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成をより効率的に行うことが可能となる。
According to this, in the past, as long as the required number of people was an integer, even if calculations were made that took proficiency into account, the proficiency level of all personnel would end up being around 1 on average, so it would have little effect (or "new employees By reducing the number of people required and combining proficiency level with skill implementation rate/operation rate, it is possible to create shifts with fewer surpluses and shortages than before. (If a rookie comes in, the veteran's rest time can be increased, so the rest will be fair). Moreover, by treating skill level in addition to spin, the skill level is not fixed, and it is possible to flexibly respond to changes such as improvement in skill level over time, or decrease in skill level due to updating of equipment, for example. As a result, it becomes possible to more efficiently create a schedule that allocates the necessary personnel for each task in each time period without waste.
また、本実施形態のスケジュール作成支援装置において、前記イジングモデルに関して組合せ最適化問題を解くCMOSアニーリングマシンであるとしてもよい。 Further, in the schedule creation support device of this embodiment, it may be a CMOS annealing machine that solves a combinatorial optimization problem regarding the Ising model.
これによれば、イジングモデルの動作を半導体のCMOS(Complementary Metal Oxide Semiconductor)などの素子を用いた回路で擬似的に再現し、互いに影響しあっている制約条件すなわち非線形な制約条件を踏まえた組合せ最適化問題の実用解を、室温下で効率良く求めることが可能となる。ひいては、各時間帯の各業務に必要な人員を無駄なく配置したスケジュールの作成をさらに効率的に行うことが可能となる。 According to this, the operation of the Ising model is simulated by a circuit using semiconductor elements such as CMOS (Complementary Metal Oxide Semiconductor), and combinations that take into account constraints that influence each other, that is, nonlinear constraints, are proposed. It becomes possible to efficiently find practical solutions to optimization problems at room temperature. As a result, it becomes possible to more efficiently create a schedule that allocates the necessary personnel for each task in each time period without waste.
10 ネットワーク
100 スケジュール作成支援装置(アニーリングマシン)
101 記憶部
102 プログラム
1021 イジングモデル
103 メモリ
104 演算部
105 通信部
125 基本情報テーブル
126 制約条件テーブル
200 ユーザ端末
300 CTIシステム
400 オペレータ端末
10
101
Claims (7)
前記期間における前記総勤務長、前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員の稼働率をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算する演算部とを有し、
前記演算部は前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記各人員の稼働率を規定したスケジュールを所定装置に出力するものである、
ことを特徴とするスケジュール作成支援装置。 Stored information includes the total working length of each person who collaborates in a given task in a given period, the required number of people who may include decimal numbers at each timing in the period, and constraint conditions when assigning each person to the task. storage section and
Regarding the objective function that includes as terms the total working length in the period, the required number of people, and a constraint function that is the minimum when the constraint condition is satisfied, the utilization rate of each person is set as spin, and the constraint condition is a calculation unit that calculates an Ising model in which the sensitivity between variables in the function is set as the strength of interaction between the spins,
The calculation unit outputs to a predetermined device a schedule that defines the operating rate of each of the personnel at each timing of the predetermined period based on the result of the calculation.
A schedule creation support device characterized by:
前記期間における各業務の必要スキルごとの、各タイミングでの小数を含みうる必要人数及び、前記各人員が保有するスキルの情報を更に格納し、
前記演算部は、
期間における前記総勤務長、前記必要スキルごとの前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員のスキルごとの稼働率をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、
前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記必要スキルごとの前記各人員の稼働率を規定したスケジュールを所定装置に出力するものである、
ことを特徴とする請求項1に記載のスケジュール作成支援装置。 The storage unit includes:
further storing information on the required number of people, which may include decimal numbers, at each timing for each required skill of each job during the period, and the skills possessed by each of the personnel;
The arithmetic unit is
Regarding the objective function that includes as terms the total working length in the period, the required number of people for each required skill, and the minimum constraint function when the constraint is satisfied, the utilization rate for each skill of each of the personnel. is the spin, and calculates an Ising model in which the sensitivity between variables in the constraint function is set as the strength of the interaction between the spins,
Based on the result of the calculation, a schedule defining the operating rate of each of the personnel for each of the necessary skills at each timing of the predetermined period is output to a predetermined device;
The schedule creation support device according to claim 1, characterized in that:
重要スキルを必要とする希少業務に関する前記制約条件である、前記希少業務の対応人員の必要人数、及び当該希少業務への対応時間帯について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、
ことを特徴とする請求項2に記載のスケジュール作成支援装置。 The arithmetic unit is
Regarding the constraint conditions regarding rare tasks that require important skills, including the required number of personnel to handle the rare tasks and the time period for responding to the rare tasks, the constraint function is included in the objective function section, which calculates the Ising model;
3. The schedule creation support device according to claim 2.
前記各人員が保有するスキルごとの熟練度の情報を更に保持し、
前記演算部は、
前記目的関数に関して、前記各人員のスキルごとの稼働率をスピンとし、前記制約条件用関数における変数間の感応度に、前記各人員のスキルごとの熟練度を乗じたものを、前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、
前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記必要スキルごとの前記熟練度を加味して前記各人員の稼働率を規定したスケジュールを所定装置に出力するものである、
ことを特徴とする請求項2に記載のスケジュール作成支援装置。 The storage unit includes:
further retaining information on proficiency levels for each skill possessed by each of the personnel;
The arithmetic unit is
Regarding the objective function, the operating rate for each skill of each person is defined as a spin, and the sensitivity between variables in the constraint function is multiplied by the proficiency level for each skill of each person during the spin. Calculate the Ising model set as the interaction strength of
Based on the result of the calculation, a schedule is output to a predetermined device, in which the operating rate of each of the personnel is defined by taking into account the proficiency level for each of the necessary skills at each timing of the predetermined period;
3. The schedule creation support device according to claim 2.
前記各人員が保有するスキルごとの熟練度の情報を更に保持し、
前記演算部は、
前記目的関数に関して、前記各人員のスキルごとの稼働率及び熟練度をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、
前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記必要スキルごとの前記熟練度を加味して前記各人員の稼働率を規定したスケジュールを所定装置に出力
するものである、
ことを特徴とする請求項2に記載のスケジュール作成支援装置。 The storage unit includes:
further retaining information on proficiency levels for each skill possessed by each of the personnel;
The arithmetic unit is
Regarding the objective function, an Ising model is calculated in which the operating rate and proficiency level for each skill of each person is set as spin, and the sensitivity between variables in the constraint condition function is set as the strength of interaction between the spins. ,
Based on the result of the calculation, a schedule is output to a predetermined device, in which the operating rate of each of the personnel is defined by taking into account the proficiency level for each of the necessary skills at each timing of the predetermined period;
3. The schedule creation support device according to claim 2.
前記期間における前記総勤務長、前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員の稼働率をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、
記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記各人員の稼働率を規定したスケジュールを所定装置に出力する、
ことを特徴とするスケジュール作成支援方法。 Stored information includes the total working length of each person who collaborates in a given task in a given period, the required number of people who may include decimal numbers at each timing in the period, and constraint conditions when assigning each person to the task. An information processing device including a storage unit,
Regarding the objective function that includes as terms the total working length in the period, the required number of people, and a constraint function that is the minimum when the constraint condition is satisfied, the utilization rate of each person is set as spin, and the constraint condition is calculate an Ising model in which the sensitivity between variables in the function is set as the strength of the interaction between the spins,
outputting a schedule defining the operating rate of each of the personnel at each timing of the predetermined period to a predetermined device based on the result of the calculation;
A schedule creation support method characterized by the following.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021013332A JP7401476B2 (en) | 2021-01-29 | 2021-01-29 | Schedule creation support device and schedule creation support method |
| PCT/JP2021/030891 WO2022162984A1 (en) | 2021-01-29 | 2021-08-24 | Schedule creation assistance device and schedule creation assistance method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021013332A JP7401476B2 (en) | 2021-01-29 | 2021-01-29 | Schedule creation support device and schedule creation support method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022116909A JP2022116909A (en) | 2022-08-10 |
| JP7401476B2 true JP7401476B2 (en) | 2023-12-19 |
Family
ID=82654289
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021013332A Active JP7401476B2 (en) | 2021-01-29 | 2021-01-29 | Schedule creation support device and schedule creation support method |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7401476B2 (en) |
| WO (1) | WO2022162984A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7838875B2 (en) * | 2023-02-15 | 2026-04-01 | 日本電気株式会社 | Work plan optimization apparatus, method, and program |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020203300A1 (en) | 2019-04-05 | 2020-10-08 | 株式会社日立製作所 | Schedule creation assisting device and schedule creation assisting method |
| JP2021144511A (en) | 2020-03-12 | 2021-09-24 | 株式会社グルーヴノーツ | Information processing device, information processing method and information processing program |
-
2021
- 2021-01-29 JP JP2021013332A patent/JP7401476B2/en active Active
- 2021-08-24 WO PCT/JP2021/030891 patent/WO2022162984A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020203300A1 (en) | 2019-04-05 | 2020-10-08 | 株式会社日立製作所 | Schedule creation assisting device and schedule creation assisting method |
| JP2021144511A (en) | 2020-03-12 | 2021-09-24 | 株式会社グルーヴノーツ | Information processing device, information processing method and information processing program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022116909A (en) | 2022-08-10 |
| WO2022162984A1 (en) | 2022-08-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Ignall et al. | Application of the branch and bound technique to some flow-shop scheduling problems | |
| Campos Ciro et al. | Open shop scheduling problem with a multi-skills resource constraint: a genetic algorithm and an ant colony optimisation approach | |
| JP7145116B2 (en) | Schedule Creation Support Device and Schedule Creation Support Method | |
| Waligóra | Discrete-continuous project scheduling with discounted cash inflows and various payment models—a review of recent results | |
| Ancveire et al. | Application of Genetic Algorithms for Decision-Making in Project Management: A Literature Review. | |
| JP7401476B2 (en) | Schedule creation support device and schedule creation support method | |
| Xu et al. | A reactive scheduling approach for the resource-constrained project scheduling problem with dynamic resource disruption | |
| Banala | Artificial Creativity and Pioneering Intelligence: Harnessing Generative AI to Transform Cloud Operations and Environments | |
| Cheng et al. | Dynamic multiobjective software project scheduling optimization method based on firework algorithm | |
| JP7384853B2 (en) | Personnel formulation support device and personnel formulation support method | |
| Halaška et al. | Importance of process flow and logic criteria for RPA implementation | |
| Morin et al. | Periodically aggregated resource-constrained project scheduling problem | |
| Slysz et al. | Early experiences with a photonic quantum simulator for solving job shop scheduling problem | |
| Solomon et al. | Multiperiod stochastic resource planning in professional services organizations | |
| US20080189149A1 (en) | Method, system, and program product for optimizing a workforce | |
| Kyngäs et al. | Workforce scheduling using the PEAST algorithm | |
| Fumagalli et al. | Towards viable modelling for robust flow shop scheduling in production environments under uncertainty | |
| El-Shekeil et al. | PRECESION: progressive recovery and restoration planning of interdependent services in enterprise data centers | |
| Raghavendra et al. | Cost Optimization Strategies for AI Workloads in Multi-Cloud Environments | |
| Abdelwanis et al. | A simulation-based variable neighborhood search approach for optimizing cross-training policies | |
| JP7591012B2 (en) | Application creation support device and application creation support method | |
| Al-Dossari | Optimization Models for Multiple Resource Planning | |
| Kuchanskyi et al. | The algorithm for labor resource allocation in IT project implementation based on stochastic gradient descent | |
| Al-Turjman et al. | Effective Quantum, Artificial Intelligence (AI), and Cloud Implementation | |
| Hussein et al. | Developing a genetic-based multi-objective algorithm to optimise job shop scheduling problems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230203 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231205 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231207 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7401476 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |