(57)【要約】【課題】協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成を効率的に行う。【解決手段】スケジュール作成支援装置１００において、所定業務で協働する各人員の所定期間における総勤務長、前記期間における各タイミングでの必要人数、および前記業務に前記各人員を割り当てる際の制約条件、の各情報を格納した記憶部と、前記期間における総勤務長、必要人数、および制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、各人員の出勤有無をスピンとし、制約条件用関数における変数間の感応度をスピンの間の相互作用の強度として設定したイジングモデルを演算し、その結果に基づき、所定期間の各タイミングにおける各人員の出勤有無を規定したスケジュールを出力する演算部１０４を含む構成とする。【選択図】図２
2020170422.tif 000002
【特許請求の範囲】
【請求項１】
所定業務で協働する各人員の所定期間における総勤務長、前記期間における各タイミングでの必要人数、および前記業務に前記各人員を割り当てる際の制約条件、の各情報を格納した記憶部と、
前記期間における前記総勤務長、前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員の出勤有無をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算する演算部とを有し、
前記演算部は前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記各人員の出勤有無を規定したスケジュールを所定装置に出力することを特徴とするスケジュール作成支援装置。
【請求項２】
前記演算部は、
連続勤務に関する前記制約条件である、連続勤務長の上限または下限、連続勤務の追求、および連続勤務の抑制、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、
ことを特徴とする請求項１に記載のスケジュール作成支援装置。
【請求項３】
前記演算部は、
不連続勤務に関する前記制約条件である、勤務タイミングの間隔の上限または下限、休日連続化の追求、および休日連続化の抑制、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、
ことを特徴とする請求項１に記載のスケジュール作成支援装置。
【請求項４】
前記演算部は、
禁止パターンに関する前記制約条件である、特定時間帯での勤務の連続禁止、および前記特定時間帯での勤務直後の所定時間帯での勤務の禁止、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、
ことを特徴とする請求項１に記載のスケジュール作成支援装置。
【請求項５】
前記演算部は、
人員間の相性に関する前記制約条件である、所定属性の人員の同時勤務の追求または抑制の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、
ことを特徴とする請求項１に記載のスケジュール作成支援装置。
【請求項６】
前記演算部は、
人員の希望に関する前記制約条件である、所定パターンでの勤務の追求について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、
ことを特徴とする請求項１に記載のスケジュール作成支援装置。
【請求項７】
前記演算部は、
人員間の平等に関する前記制約条件である、勤務パターンごとの出勤長に関する前記各人員の間での均等化について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、
ことを特徴とする請求項１に記載のスケジュール作成支援装置。
【請求項８】
前記イジングモデルに関して組合せ最適化問題を解くＣＭＯＳアニーリングマシンであ
ることを特徴とする請求項１に記載のスケジュール作成支援装置。
【請求項９】
所定業務で協働する各人員の所定期間における総勤務長、前記期間における各タイミングでの必要人数、および前記業務に前記各人員を割り当てる際の制約条件、の各情報を格納した記憶部を備える情報処理装置が、
前記期間における前記総勤務長、前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員の出勤有無をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記各人員の出勤有無を規定したスケジュールを所定装置に出力する、
ことを特徴とするスケジュール作成支援方法。
【請求項１０】
前記情報処理装置が、
連続勤務に関する前記制約条件である、連続勤務長の上限または下限、連続勤務の追求、および連続勤務の抑制、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、
ことを特徴とする請求項９に記載のスケジュール作成支援方法。
【請求項１１】
前記情報処理装置が、
不連続勤務に関する前記制約条件である、勤務タイミングの間隔の上限または下限、休日連続化の追求、および休日連続化の抑制、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、
ことを特徴とする請求項９に記載のスケジュール作成支援方法。
【請求項１２】
前記情報処理装置が、
禁止パターンに関する前記制約条件である、特定時間帯での勤務の連続禁止、および前記特定時間帯での勤務直後の所定時間帯での勤務の禁止、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、
ことを特徴とする請求項９に記載のスケジュール作成支援方法。
【請求項１３】
前記情報処理装置が、
人員間の相性に関する前記制約条件である、所定属性の人員の同時勤務の追求または抑制の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、
ことを特徴とする請求項９に記載のスケジュール作成支援方法。
【請求項１４】
前記情報処理装置が、
人員の希望に関する前記制約条件である、所定パターンでの勤務の追求について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、
ことを特徴とする請求項９に記載のスケジュール作成支援方法。
【請求項１５】
前記情報処理装置が、
人員間の平等に関する前記制約条件である、勤務パターンごとの出勤長に関する前記各人員の間での均等化について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、
ことを特徴とする請求項９に記載のスケジュール作成支援方法。
【請求項１６】
前記情報処理装置が、
前記イジングモデルに関して組合せ最適化問題を解くＣＭＯＳアニーリングマシンであ
ることを特徴とする請求項９に記載のスケジュール作成支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジュール作成支援装置およびスケジュール作成支援方法に関する。
【背景技術】
【０００２】
所定条件下で所望のパラメータを最大または最小とする解を探索する、いわゆる組合せ最適化問題の概念は、交通渋滞解消、グローバルサプライチェーンにおける物流コスト低減、など実社会における複雑な問題にも適用されうる。
【０００３】
一方、そうした問題においては解候補が爆発的に多くなるため、スーパーコンピュータや量子コンピュータなど相応の計算能力を有した計算機でなければ、当該問題を実用的な時間内に解くことが難しい。
【０００４】
例えば、量子コンピュータに関連する従来技術としては、全数探索を必要とするような逆問題や組み合わせ最適化問題に対して高速演算を可能にする計算機に関し、スピンを演算における変数とし、解こうとする問題をスピン間相互作用とスピンごとに作用する局所場で設定し、また、時刻ｔ＝０において外部磁場により全スピンを一方向に向かせ、時刻ｔ＝τで外部磁場がゼロになるように外部磁場を徐々に小さくし、また、各スピンは時刻ｔにおける各サイトの外部磁場及びスピン間相互作用のすべての作用で決まる有効磁場に従い向きが定まるとして時間発展させ、その際、スピンの向きが有効磁場に完全に揃うのではなく、量子力学的に補正された向きとすることにより、系が基底状態をほぼ維持するようにする技術（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ＷＯ２０１６／１５７３３３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、多くの人員が協働する際の全体スケジュールの作成業務に関して、上述のごとき量子コンピュータ技術を適宜に適用する形態は提案されていない。
【０００７】
例えば、コールセンタにおけるスケジュール作成業務では、数百人規模のオペレータに関して週間、月間のシフトスケジュールを作成する必要がある。一方、現状では、経験のある担当者が、予め決まったルール（例：早番、遅番といったシフトパターンを、該当期間に関して固定的な順序、頻度で組合せて配置する）の下、人力でスケジュール作成を行っていた。
【０００８】
こうしたスケジュール作成は、一般的なＰＣで表計算ソフトウェアにおける関数を用いて相応に効率化することも可能である。ところが、人員数が一定規模を超えてくる場合、或いは、複数条件が影響し合う非線形な制約条件が存在する場合、現実的な時間で解を得ることができない。よって、ごく小規模な組織で線形の制約条件しか存在しない状況にしか対応できていない。
【０００９】
多くの人員が協働する場合のスケジュール作成は、各人員の勤務日数規定、各日の必要人員数といった基本的な要因の他にも、各人員の都合や曖昧な希望、勤務体系、各種規則など様々な要因によって大きな影響を受ける。また、その要因自体も人員や所属組織、業務需要によって大きく変動し、かつ要因同士も競合し影響しあうケースがある。
【００１０】
しかも、業務需要の急増／急減、人員の急な欠勤など、要因の急変動が生じるケースもある。こうした状況に一般的なＰＣを採用して従来どおりスケジュール作成を行うとしても、上述の要因数や非線形な制約条件などに応じて計算量が指数関数的に増加し、膨大な時間を要するかオーバーフローに至ることとなる。つまり、必要なタイミングでスケジュール作成を行うことが期待できない。
【００１１】
そこで本発明の目的は、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成を効率的に行う技術を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決する本発明のスケジュール作成支援装置は、所定業務で協働する各人員の所定期間における総勤務長、前記期間における各タイミングでの必要人数、および前記業務に前記各人員を割り当てる際の制約条件、の各情報を格納した記憶部と、前記期間における前記総勤務長、前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員の出勤有無をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算する演算部とを有し、前記演算部は前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記各人員の出勤有無を規定したスケジュールを所定装置に出力することを特徴とする。
【００１３】
また、本発明のスケジュール作成支援方法は、所定業務で協働する各人員の所定期間における総勤務長、前記期間における各タイミングでの必要人数、および前記業務に前記各人員を割り当てる際の制約条件、の各情報を格納した記憶部を備える情報処理装置が、前記期間における前記総勤務長、前記必要人数、および前記制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、前記各人員の出勤有無をスピンとし、前記制約条件用関数における変数間の感応度を前記スピンの間の相互作用の強度として設定したイジングモデルを演算し、前記演算の結果に基づき、前記所定期間の前記各タイミングにおける前記各人員の出勤有無を規定したスケジュールを所定装置に出力する、ことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成を効率的に行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態のスケジュール作成支援装置を含むネットワーク構成図である。
【図２】本実施形態におけるスケジュール作成支援装置のハードウェア構成例を示す図である。
【図３】本実施形態におけるタイミングチャート例を示す図である。
【図４】本実施形態におけるフロー例１を示す図である。
【図５】本実施形態における基本情報テーブルの構成例を示す図である。
【図６】本実施形態における制約条件テーブルの構成例を示す図である。
【図７】本実施形態における制約条件テーブルの構成例を示す図である。
【図８】本実施形態におけるスケジュール作成支援方法を示すフロー図である。
【図９】本実施形態における画面例を示す図である。
【発明を実施するための形態】
【００１６】
−−−アニーリングマシンについて−−−
上述の特許文献１にも示すように、本出願人は量子コンピューティング技術を開発し、
例えば、ビッグデータに基づく全数探索問題（組合せ最適化問題の概念含む）における諸問題の解決を図ってきた。
【００１７】
こうした全数探索問題に対して、一般的には量子コンピュータヘの期待が大きい。量子コンピュータは、量子ビットと呼ばれる基本素子からなり“０”と“１”を同時に実現する。そのためすべての解候補を初期値として同時に計算可能であり、全数探索を実現しうる可能性を持っている。しかし、量子コンピュータは全計算時間に亘って量子コヒーレンスを維持する必要がある。
【００１８】
こういった中で注目されるようになってきたのが断熱量子計算と呼ばれる手法である（参考文献：Ｅ．  Ｆａｒｈｉ，  ｅｔ  ａｌ．，  ”Ａ  ｑｕａｎｔｕｍ  ａｄｉａｂａｔｉｃ  ｅｖｏｌｕｔｉｏｎ  ａｌ  ｇｏｒ  ｉｔｈｍ  ａｐｐｌｉｅｄ  ｔｏ  ｒａｎｄｏｍ  ｉｎｓｔａｎｃｅｓ  ｏｆ  ａｎ  ＮＰ−ｃｏｍｐｌｅｔｅ  ｐｒｏｂｌｅｍ，”  Ｓｃｉｅｎｃｅ２９２，  ４７２  （２００１）．）。この方法は、ある物理系の基底状態が解になるように問題を変換し、基底状態を見つけることを通して解を得ようとするものである。
【００１９】
問題を設定した物理系のハミルトニアンをＨ＾ｐとする。但し、演算開始時点ではハミルトニアンをＨ＾ｐとするのではなく、それとは別に基底状態が明確で準備しやすい別のハミルトニアンＨ＾０とする。次に十分に時間を掛けてハミルトニアンをＨ＾０からＨ＾ｐに移行させる。十分に時間を掛ければ系は基底状態に居続け、ハミルトニアンＨ＾ｐの基底状態が得られる。これが断熱量子計算の原理である。計算時間をτとすればハミルトニアンは式（１）となり、
［式１］
2020170422.tif 000003
式（２）のシュレディンガー方程式に基づいて時間発展させて解を得る。
【００２０】
［式２］
2020170422.tif 000004
断熱量子計算は全数探索を必要とする問題に対しても適用可能で、一方向性の過程で解に到達する。しかし、計算過程が式（２）のシュレディンガー方程式に従う必要があるならば、量子コンピュータと同様に量子コヒーレンスの維持が必要になる。
【００２１】
但し、量子コンピュータが１量子ビットあるいは２量子ビット間に対するゲート操作を繰り返すものであるのに対して、断熱量子計算は量子ビット系全体に亘って一斉に相互作用させるものであり、コヒーレンスの考え方が異なる。
【００２２】
例えば、ある量子ビットヘのゲート動作を考えてみる。この時、もしその量子ビットと他の量子ビットとで相互作用があれば、それはディコヒーレンスの原因になるが、断熱量子計算ではすべての量子ビットを同時に相互作用させるので、この例のような場合にはデ
ィコヒーレンスにならない。この違いを反映して断熱量子計算は量子コンピュータに比べてディコヒーレンスに対して頑強であると考えられている。
【００２３】
以上述べたように、断熱量子計算は全数探索を必要とするような難問に対して有効である。そして、スピンを演算における変数とし、解こうとする問題をスピン間相互作用とスピンごとに作用する局所場で設定する。
【００２４】
時刻ｔ＝０において外部磁場により全スピンを一方向に向かせ、時刻ｔ＝τで外部磁場がゼロになるように外部磁場を徐々に小さくする。
【００２５】
各スピンは、時刻ｔにおける各サイトの外部磁場及びスピン間相互作用のすべての作用で決まる有効磁場に従い、向きが定まるとして時間発展させる。
【００２６】
その際、スピンの向きが有効磁場に完全に揃うのではなく、量子力学的に補正された向きとすることにより、系が基底状態をほぼ維持するようにする。
【００２７】
また、時間発展の際に各スピンを元の向きに維持する項（緩和項）を有効磁場に加え、解の収束性を向上させる。
【００２８】
本実施形態におけるスケジュール作成支援装置としては、上述の断熱量子計算を行うアニーリングマシンを想定するが、勿論これに限定するものではなく、組合せ最適化問題を本発明のスケジュール作成支援方法に沿って適宜に解くことが可能なものであればいずれも適用可能である。
【００２９】
具体的には、アニーリング方式において電子回路(デジタル回路など)で実装するハードウェアだけでなく、超伝導回路などで実装する方式も含む。また、アニーリング方式以外にてイジングモデルを実現するハードウェアでもよい。例えばレーザーネットワーク方式（光パラメトリック発振）・量子ニューラルネットワークなども含む。また、前述した通り一部の考え方が異なるものの、イジングモデルで行う計算をアダマールゲート、回転ゲート、制御NOTゲートといったゲートで置き換えた量子ゲート方式においても、本発明を
実現することができる。
【００３０】
−−−ネットワーク構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態のスケジュール作成支援装置１００を含むネットワーク構成図である。
【００３１】
図１に示すスケジュール作成支援装置１００は、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成を効率的に行うコンピュータ装置であり、具体的には、一例としてアニーリングマシンを想定する。
【００３２】
ただし、アニーリングマシンの概要は特許文献１に基づき既に述べたとおりであり、その具体的な構成や動作等の詳細については適宜省略する（以下同様）。
【００３３】
本実施形態のスケジュール作成支援装置１００は、インターネットなどの適宜なネットワーク１０を介して、ユーザ端末２００とデータ通信可能に接続されている。
【００３４】
上述のユーザ端末２００は、スケジュール作成支援装置１００からスケジュールの提案を受ける端末である。
【００３５】
このユーザ端末２００のユーザとしては、具体的には、多くのオペレータを抱えてコー
ルセンタ業務を遂行する事業者で、金融機関や保険会社、或いは大手メーカーといった組織を想定できる。或いは、多くの看護士や介護スタッフを抱えて患者等の看護業務や介護業務を遂行する、医療機関や介護事業者も想定できる。
【００３６】
いずれにしても、相応規模の人員を日付や時間帯ごとに必要数だけ割り当てて、全体として業務を遂行する事業者であれば、上述のユーザに該当しうる。つまり、そうした事業者の業務に関しては、本発明が適用可能であると言える。
【００３７】
具体例として想定できる、例えば銀行のコールセンタにおけるスケジュール作成に際しては、所定の経験を持った担当者が、数百人規模の全オペレータの月間シフトスケジュールを人力で作成しているのが現実であった。つまり当該業務は属人化しがちであり、また人力での作業である。
【００３８】
そのため、従来どおり固定化された規則でのシフトを踏まえたスケジュール作成は可能であっても、イレギュラーなシフトや外的要因に対して臨機応変に対処したスケジュール作成は困難である。
【００３９】
一方、表計算ソフトウェアにおける関数等を利用した場合、「休日設定は土日固定」、「一度に計算できる人員数は１００人まで」、などといった現実的な障壁から離れてスケジュール作成を行うことは難しい。
【００４０】
上記の障壁は、数学的な困難さおよびその数学的困難さを解決する技術不在（厳密には未成熟）に起因する。表計算ソフトウェアは、線形の制約条件であれば数学的に高速に解けるものであるが、非線形の制約条件を解くには膨大な時間がかかるという性質を持つ。
【００４１】
このように従来であれば、スケジュール作成に際し、要素すなわち各人員などに関する非線形の制約条件の増加に対して計算量が指数関数的に増加し、計算完了までに長時間を要するが、アニーリングマシンを使用したスケジュール作成支援装置１００を採用することで、要素の増加にさほど依存せず計算を行うことが可能となる。
【００４２】
−−−ハードウェア構成−−−
また、本実施形態のスケジュール作成支援装置１００のハードウェア構成は、図２に以下の如くとなる。
【００４３】
すなわちスケジュール作成支援装置１００は、記憶部１０１、メモリ１０３、演算部１０４、および通信部１０５、を備える。
【００４４】
このうち記憶部１０１は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やハードディスクドライブなど適宜な不揮発性記憶素子で構成される。
【００４５】
また、メモリ１０３は、ＲＡＭなど揮発性記憶素子で構成される。
【００４６】
また、演算部１０４は、記憶部１０１に保持されるプログラム１０２をメモリ１０３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵである。
【００４７】
また、通信部１０５は、ネットワーク１０と接続してユーザ端末２００との通信処理を担うネットワークインターフェイスカード等を想定する。
【００４８】
なお、スケジュール作成支援装置１００がスタンドアロンマシンである場合、ユーザか
らのキー入力や音声入力を受け付ける入力装置、処理データの表示を行うディスプレイ等の出力装置、を更に備えるとすれば好適である。
【００４９】
また、記憶部１０１内には、本実施形態のスケジュール作成支援装置として必要な機能を実装する為のプログラム１０２に加えて、基本情報テーブル１２５および制約条件テーブル１２６が少なくとも記憶されている。ただし、これらテーブルについての詳細は後述する。
【００５０】
また、プログラム１０２、すなわちアニーリングマシンとしての動作を実装するアルゴリズムは、解くべき課題であるイジングモデル１０２１の情報を保持する。このイジングモデル１０２１は、情報提供の対象となる業務や人員、およびそれらに影響を与える他の各種情報に基づき管理者等が予め設定しておくものとなる。
【００５１】
なお、アニーリングマシンの概要にて述べた断熱量子計算は、別名で量子アニールとも呼ばれ、古典的な焼きなましの概念を量子力学に発展させたものである。即ち、断熱量子計算は本来古典的動作が可能で、高速性や解の正解率に関しで性能を向上させるために量子力学的効果が付加されたものとも解釈できる。そこで本発明では、演算部そのものは古典的とし、演算過程に量子力学的に定まるパラメータを導入することにより、古典的であるが量子力学的な効果を含んだ演算方法・装置を実現する。ただし、演算部を量子コンピュータで構成する形態についても勿論採用しうる。
【００５２】
以上の概念に基づき、以下の例では断熱量子計算との関連性を説明しながら解としての基底状態を得る古典的アルゴリズムと、それを実現するための装置に関して述べる。
【００５３】
こうした前提でのスケジュール作成支援装置１００は、Ｎ個の変数ｓｊ  ｚ（ｊ＝１，２，…，Ｎ）が−１≦ｓｊ  ｚ≦１の値域を取り、局所場ｇｊと変数間相互作用Ｊｉｊ（ｉ，ｊ＝１，２，…，Ｎ）によって課題の設定がなされる。
【００５４】
また演算部１０４では、時刻をｍ分割して離散的にｔ＝ｔ。（ｔ。＝０）からｔｍ（ｔｍ  ＝τ）まで演算するものとし、各時刻ｔｋにおける変数ＳｊＺ（ｔｋ）を求めるに当たり、前時刻ｔｋ−１の変数Ｓｊｚ（ｔｋ−１）（ｉ＝１，２，．．，Ｎ）の値と緩和項の係数９ｐｉｎａあるいは９ｐｉｎｂを用いてＢｊｚ（ｔｋ）＝｛ΣｉＪｉｊＳｉｚ（ｔｋ−１）＋ｇｊ＋ｓｇｎ（ｓｊｚ（ｔｋ−１））・９ｐｉｎａ｝・ｔｋ／τあるいはＢｊｚ（ｔｋ）＝｛ΣｉＪｉＪＳｊｚ（ｔｋ−１）＋ｇｊ＋９ｐｉｎｂ  ．ＳｊＺ（ｔｋ−１）｝・ｔｋ／τを求め、上述の変数Ｓｊｚ（ｔｋ）の値域が−１≦ｓｊｚ（ｔｋ）≦１になるように関数ｆを定めてＳｊｚ（ｔｋ）＝ｆ（Ｂｊｚ（ｔｋ），ｔｋ）とし、時刻ステップをｔ＝ｔ０からｔ＝ｔｍに進めるにつれて上述の変数Ｓｊｚを−１あるいは１に近づけ、最終的にｓｊｚ＜０ならば、Ｓｊｚｄ＝−１、Ｓｊｚ＞０ならば、Ｓｊｚｄ＝１として解を定める。
【００５５】
係数ｇｐｉｎｂは、例えば｜Ｊｉｊ｜の平均値の５０％から２００％の値である。また、課題設定の局所場ｇｊに関して、あるサイトｊ’に対してのみ補正項δｇｊ’をｇｊ’に加え、該サイトｊ’に対してのみｇｊ’の大きさを大きくすることもできる。また、補正項δｇｊ’は、例えば｜Ｊｉｊ｜の平均値の１０％から１００％の値である。
【００５６】
続いて、量子力学的な記述から出発して古典的な形式に移行することを通して、アニーリングマシンの基本的原理を述べる。
【００５７】
式（３）で与えられるイジングスピン・ハミルトニアンの基底状態探索問題はＮＰ困難と呼ばれる分類の問題を含み、有用な問題であることが知られている（文献：Ｆ．  Ｂａ
ｒａｈｏｎａ，  ”Ｏｎ  ｔｈｅ  ｃｏｍｐｕｔａｔｉｏｎａｌ  ｃｏｍｐ  ｌｅｘ  ｉｔｙ  ｏｆ  Ｉｓｉｎｇｓｐｉｎ  ｇｌａｓｓ  ｍｏｄｅｌｓ，”  Ｊ．  Ｐｈｙｓ．  Ａ：  Ｍａｔｈ．  Ｇｅｎ．  １５，  ３２４１  （１９８２）．）。
【００５８】
［式３］
2020170422.tif 000005
Ｊｉｊ及びｇｊが課題設定パラメータであり、σ＾Ｚはパウリのスピン行列のｚ成分で±１の固有値を取る。ｉ，ｊはスピンのサイトを表す。イジングスピンとは値として±１だけを取りうる変数のことで、式（３）ではσ＾ｚの固有値が±１であることによりイジングスピン系となっている。
【００５９】
式（３）のイジングスピンは文字通りのスピンである必要はなく、ハミルトニアンが式（３）で記述されるのであれば物理的には何でも良い。
【００６０】
例えば、各人員の出勤有無を±１に対応付けることや、ロジック回路のｈｉｇｈとｌｏｗを±１に対応付けることも可能であるし、光の縦偏波と横偏波を±１に対応付けることや０，πの位相を±１に対応付けることも可能である。
【００６１】
ここで例示する方法では、断熱量子計算と同様に、時刻ｔ＝０において式（４）で与えられるハミルトニアンの基底状態に演算系を準備する。
【００６２】
［式４］
2020170422.tif 000006
γは全サイトｊに一様に掛かる外場の大きさで決まる比例定数であり、σ＾ｊｘは、パウリのスピン行列のｘ成分である。演算系がスピンそのものであれば、外場とは磁場を意味する。
【００６３】
式（４）は、横磁場を印加したことに相当し、すべてのスピンがｘ方向を向いた場合（γ＞０）が基底状態である。問題設定のハミルトニアンはｚ成分のみのイジングスピン系として定義されたが、式（４）にはスピンのｘ成分が登場している。従って、演算過程でのスピンはイジングではなくベクトル的（ブロッホベクトル）である。ｔ＝０では式（４）のハミルトニアンでスタートしたが、時刻ｔの進行と共に徐々にハミルトニアンを変化させ、最終的には式（３）で記述されるハミルトニアンにしてその基底状態を解として得る。
【００６４】
［式５］
2020170422.tif 000007
ここでσ＾はパウリのスピン行列の３成分をベクトルとして表示している。基底状態はスピンが磁場方向を向いた場合で、＜・＞を量子力学的期待値として＜σ＾＞＝Ｂ／｜Ｂ｜と書ける。断熱過程では常に基底状態を維持しようとするので、スピンの向きは常に磁場の向きに追従する。
【００６５】
以上の議論は多スピン系にも拡張できる。ｔ＝０ではハミルトニアンが式（４）で与えられる。これは全スピンに対して一様に磁場ＢｊＸ  ＝γが印加されたことを意味する。ｔ＞０では、磁場のｘ成分が徐々に弱まりＢｊＸ  ＝γ（１−ｔ／τ）である。ｚ成分に関してはスピン間相互作用があるために有効磁場としては式（６）になる。
【００６６】
［式６］
2020170422.tif 000008
スピンの向きは＜σ＾ｚ＞／＜σ＾Ｘ＞で規定できるので、スピンの向きが有効磁場に追従するならば式（７）によりスピンの向きが定まる。
【００６７】
［式７］
2020170422.tif 000009
式（７）は量子力学的記述であるが期待値を取っているので、式（１）〜（６）とは異なり古典量に関する関係式である。
【００６８】
古典系では量子力学の非局所相関（量子縫れ）がないので、スピンの向きはサイトごとの局所場により完全に決まるはずであり、式（７）が古典的スピン系の振る舞いを決定する。量子系では非局所相関があるために式（７）は変形されることになるが、それに関しては後述することとし、ここでは発明の基本形態を述べるために式（７）で定まる古典系について記述する。
【００６９】
図３にスピン系の基底状態を得るためのタイミングチャート（１）を示す。図３の記述は古典量に関するものなので、サイトｊのスピンをσ＾ｊではなくｓｊにより表した。またそれに伴い、図３の有効磁場Ｂｊは古典量である。ｔ＝０において全サイトで右向きの有効磁場Ｂｊが印加され、全スピンＳｊが右向きに初期化される。
【００７０】
時間ｔの経過に従い、徐々にｚ軸方向の磁場とスピン間相互作用が加えられ、最終的にスピンは＋ｚ方向あるいは−ｚ方向となって、スピンＳｊのｚ成分がｓｊｚ＝＋１あるいは−１となる。時間ｔは連続的であることが理想であるが、実際の演算過程では離散的にして利便性を向上させることもできる。以下では離散的な場合を述べる。
【００７１】
ここで例示するスピンはｚ成分だけでなくｘ成分が加わっているためにベクトル的なスピンになっている。図３からもベクトルとしての振る舞いが理解できる。ここまでｙ成分が登場してこなかったが、それは外場方向をｘｚ面に取ったために外場のｙ成分が存在せず、従って＜σ＾Ｙ＞＝０となるためである。
【００７２】
演算系のスピンとしては大きさ１の３次元ベクトル（これをブロッホベクトルと呼び、球面上の点で状態を記述できる）を想定しているが、図に示す例における軸の取り方では２次元のみを考慮すればよい（円上の点で状態を記述できる）。
【００７３】
またγは一定なのでＢｊｘ（ｔ）＞０（γ＞０）あるいはＢｊｘ（ｔ）＜０（γ＜０）が成り立つ。この場合、２次元スピンベクトルは半円のみで記述できることになり、［−１，１］でＳｊｚを指定すればＳｊｚの１変数で２次元スピンベクトルが定まる。従って、ここでの例では、スピンは２次元ベクトルであるが、値域を［−１，１］とする１次元連続変数として表記することもできる。
【００７４】
図３のタイミングチャートでは時刻ｔ＝ｔｋにおいてサイトごとに有効磁場を求め、その値を用いて式（８）によりｔ＝ｔｋにおけるスピンの向きを求める。
【００７５】
［式８］
2020170422.tif 000010
式（８）は式（７）を古典量に関する表記に書き改めたものなので＜・＞の記号が付いていない。次に、ｔ＝ｔｋ＋ｌの有効磁場をｔ＝ｔｋにおけるスピンの値を用いて求める。各時刻の有効磁場を具体的に書けば式（９）及び（１０）となる。
【００７６】
［式９］
2020170422.tif 000011
［式１０］
2020170422.tif 000012
以下、図３のタイミングチャートで模式的に示した手順に従い、スピンと有効磁場を交互に求めていく。
【００７７】
古典系ではスピンベクトルの大きさは１である。この場合スピンベクトルの各成分は、ｔａｎθ＝Ｂｊｚ（ｔｋ）／Ｂｊｘ（ｔｋ）で定義される媒介変数θを用いてＳｊｚ（ｔｋ）＝ｓｉｎθ、Ｓｊｘ（ｔｋ）＝ＣＯＳθと記述される。
【００７８】
これを書き直せば、Ｓｊｚ（ｔｋ）＝ｓｉｎ（ａｒｃｔａｎ（Ｂｊｚ（ｔｋ）／Ｂｊｘ（ｔｋ）））、Ｓｊｘ（ｔｋ）＝ｃｏｓ（ａｒｃｔａｎ（Ｂｊｚ（ｔｋ）／Ｂｊｘ（ｔｋ）））である。
【００７９】
式（９）から明らかなようにＢｊｘ（ｔｋ）の変数は、ｔｋのみであり、τとγは定数である。  従って、Ｓｊｚ（ｔｋ）＝ｓｉｎ（ａｒｃｔａｎ（Ｂｊｚ（ｔｋ）／Ｂｊｘ（ｔｋ）））及びＳｊｘ（ｔｋ）＝ｃｏｓ（ａｒｃｔａｎ（Ｂｊｚ（ｔｋ）／Ｂｊｘ（ｔｋ）））はＢｊｚ（ｔｋ）とｔｋを変数とする関数としてＳｊｚ（ｔｋ）＝ｆ１（Ｂｊｚ（ｔｋ），ｔｋ）及びＳｊｘ（ｔｋ）＝ｆ２（  Ｂｊｚ（ｔｋ），ｔｋ）のような一般化した表現もできる。
【００８０】
スピンを２次元ベクトルとして記述しているので、Ｓｊｚ（ｔｋ）とｓｊｘ（ｔｋ）の２成分が登場しているが、Ｂｊｚ（ｔｋ）を式（１０）に基づき決定するならばＳｊｘ（ｔＫ）は必要ない。
【００８１】
これは、［−１，１］を値域とするＳｊｚ（ｔｋ）のみでスピン状態を記述できることに対応している。最終的な解Ｓｊｚｄは、Ｓｊｚｄ＝−１ｏｒ１になる必要があり、Ｓｊｚ（τ）＞０ならばＳｊｚｄ＝１、Ｓｊｚ（τ）＜０ならばＳｊｚｄ＝−１とする。
【００８２】
図４に、上述のアルゴリズムをフローチャートにまとめたものを示す。ここでｔｍ＝τである。図４のフローチャートの各ステップｓ１〜ｓ９は、時間ｔ＝０からｔ＝τに到る図３のタイミングチャートの、ある時刻での処理に対応している。すなわち、フローチャートのステップｓ２、ｓ４、ｓ６がそれぞれ、ｔ＝ｔ１，ｔｋ＋ｌ，ｔｍにおける上記の式（９）及び（１０）に対応している。最終的な解はステップｓ８において、ｓｊｚ＜０ならばＳｊｚｄ＝−１、Ｓｊｚ＞０ならば、Ｓｊｚｄ＝１とすることにより定める（ｓ９）  。
【００８３】
ここまでは課題が式（３）で表現された場合に如何に解かれるかを示した。次に具体的課題が如何に局所場ｇｊと変数間相互作用Ｊｉｊ（ｉ，ｊ＝１，２，…，Ｎ）を含む式（３）で表現されるかに関して具体例を挙げて説明する。
【００８４】
ここでの具体的課題すなわちイジングモデル１０２１は、例えば、コールセンタ業務に携わるオペレータ各々の所定月における総勤務日数、当該月における各日での必要人数、およびコールセンタ業務に各オペレータを割り当てる際の制約条件、の各情報をベースに、当該月における総勤務日数、当該月における各日の必要人数、および上述の制約条件が満たされる際に最小となる制約条件用関数、を項として含む目的関数に関して、各オペレータの出勤有無をスピンとし、制約条件用関数における変数間の感応度をスピンの間の相互作用の強度として設定したイジングモデルを想定する。
【００８５】
この場合、局所場ｇｊは、上述の当該月における総勤務日数、当該月における各日の必要人数、および上述の制約条件が満たされる際に最小となる制約条件用関数、における変数の値が目的関数へ与える影響度として設定されることを想定する。
【００８６】
以上のような考察を通して、（上述の目的関数の各項の間に関する）変数間相互作用Ｊｉｊと局所場ｇｊを具体的に設定し、式（３）で表されるイジングモデル１０２１の基底状態探索、すなわち上述の当該月における総勤務日数、当該月における各日の必要人数、および上述の制約条件が満たされる際に最小となる制約条件用関数、からなる目的関数が最小となる基底状態の探索を通して、各オペレータの勤務シフトすなわち、コールセンタ業務における当該月の全体スケジュールを特定する。
【００８７】
なお、イジングモデルとアニーリング法で計算するのは、「目的関数を最小化する」ことだけである。そのため、目的関数を最小化する際に満たされる必要がある制約条件がある場合、それらを何らかの形で目的関数に足し込む必要がある。
【００８８】
例えば、
［式１１］
2020170422.tif 000013
という制約条件を考えてみる。この制約条件を「制約条件が満たされる時に最小となる関数」に変換するとすれば、以下の式になる。
【００８９】
［式１２］
2020170422.tif 000014
二乗となっている部分は必ず正の値となるため、この式が最小値となるのは二乗の中身が０となる時だけである。中身が０となるのはΣＸｉ−Ａ＝０、の時だけであるので、この関数が最小となる最適化問題を解けば、ΣＸｉ＝Ａが満たされている解が自動的に得られることになる。
【００９０】
また、例えば、上述のアニーリング法では、制約条件としたい項目も目的関数に入れ込んでしまう必要があるため、目的関数も制約条件も同じ重要度で扱うことになる。
【００９１】
例えば、以下のような最適化問題があったとする。
【００９２】
［式１３］
2020170422.tif 000015
これをアニーリング用の定式化に変更すると、以下のようになる。
【００９３】
［式１４］
2020170422.tif 000016
ここでＰとＱは定数であり、どの項を優先的に最小化するかを決めるファクタとなる。例えば、３つの項すべてを平等に最小化する（つまり、制約条件の強さに偏りをつけないで問題を解く）場合、ＰとＱを同等にするなど、項間でバランスをとるよう値の設定を行
う。
【００９４】
一方、「第２項の制約条件は厳密に守るが、第３項の制約条件はあまり重視しない」という問題設定であれば、重視する項の係数であるＰの値を、Ｑの値より大きくすることで望みの解が得られることになる。
【００９５】
このようにアニーリング法によれば、制約条件に優先度を付し、あまり重視しない制約条件については「なるべく満たす」といった設定が可能になる。
【００９６】
なお、イジングモデルに関する各種設定は、本実施形態のスケジュール生成の各条件、情報に応じ、既存の一般的概念に沿った形で適宜に行うものとする。
【００９７】
−−−スピン（変数）設定の具体例−−−
＜タイムテーブルにおけるスピン＞
ある人員iが、ある時間帯jに、勤務種類kを実施する場合に1、実施しない場合に0とな
る変数x_(i,j,k)を考える（図５参照）。基本的にはこの変数x_(i,j,k)の1つ1つがCMOSアニーリングマシンにおけるスピン1つ1つに割り振られる。
【００９８】
「勤務種類」を考えない場合、この変数は単純に、「ある人員iが、ある時間帯jに業務をするかしないか」を与える変数となる。つまり、下記の表１で1が入ったセルでは業務
を実施し、0が入ったセルでは業務を実施しない、ということになる。
【００９９】
[表１]
2020170422.tif 000017
[表２]
2020170422.tif 000018
【０１００】
「勤務種類」を考える場合、上記の表２において、勤務種類「インバウンド」をk=1に
対応させ、勤務種類「アウトバウンド」をk=2に対応させ、2つの変数の組合せによってタイムテーブル上の1セルを表現する。つまり、あるセルに属する2つの変数（x_(i,j,1)とx_(i,j,2)）がともに0なら「休憩」、x_(i,j,1)が1でx_(i,j,2)が0なら「インバウンド」
、x_(i,j,1)が0でx_(i,j,2)が1なら「アウトバウンド」を表すことになる。ここで、x_(i,j,1)もx_(i,j,2)も1となった場合は「同一人物が同一時間帯に2つの異なる業務を実施する」ことになってしまうため、これは制約条件として除外する必要がある。
【０１０１】
＜月間シフトにおけるスピン＞
ここでは、ある人員iが、ある日付jに、勤務種類kを実施する場合に1、実施しない場合に0となる変数x_(i,j,k)を考える。ただし、人員iの勤務日数の下限をL_i、上限をU_i、
日付jに必要な人員の数をN_jとしている。基本的にはこの変数x_(i,j,k)の1つ1つがCMOS
アニーリングマシンにおけるスピン1つ1つに割り振られる（表３参照）。
【０１０２】
[表３]
2020170422.tif 000019
「勤務種類」を考えない場合、この変数は単純に、「ある人員iが、ある日付jに業務をするかしないか」を与える変数となる。つまり、表３で1が入ったセルは出勤し、0が入ったセルは休日となる、ということになる。
【０１０３】
一方、「勤務種類」を考える場合、例えば、「早番」をk=1、「遅番」をk=2、「深夜番」をk=3に対応させるようなことが考えられる。このとき、図７における表の一番左上の
セルに対応する変数は3つ存在する（x_1,1,1、x_1,1,2、およびx_1,1,3）ことになる。この3つの変数がそれぞれ0か1の値を取るので、考えられる組合せは、下記の表４における8つとなる。
【０１０４】
[表４]
2020170422.tif 000020
このように、「3つの変数（x_1,1,1、x_1,1,2、およびx_1,1,3）のうち、1を取るのは1つまで」という制約条件を課して、上表の下4行分の結果が出てしまうことを禁止する必
要がある。
【０１０５】
−−−データ構造例−−−
続いて、本実施形態のスケジュール作成支援装置１００が用いる各種情報について説明する。図５に、本実施形態における基本情報テーブル１２５の一例を示す。
【０１０６】
本実施形態の基本情報テーブル１２５は、コールセンタ業務で協働する各オペレータの所定月における総勤務コマ数、当該月における各日の各時間帯における必要人数、の各情報を格納したテーブルである。
【０１０７】
この例では、時間間隔を１０分として、横の行で指定している必要人数を、各時間帯で満たし、オペレータごとの勤務時間数（勤務コマ数）を守る組み合わせ最適化問題となる。区切る時間間隔が細かいほど、計算に必要なセル（本テーブルにおけるセル＝要因）の数は増加し、より計算力が必要となる問題である。またセルの数が多いため、禁止パターンや最低連続コマ数（連続勤務コマ数の最低基準）、上限連続コマ数（連続勤務コマ数の上限基準）等の制約を入れる際、制約条件に応じた制約条件用関数の数が膨大となる。ところがＣＭＯＳアニーリング法を採用すれば、現実的な時間内に好適な結果すなわちスケジュールが特定可能である。
【０１０８】
なお、図５の基本情報テーブル１２５で例示した例は、あくまで説明の都合上で限定的であり、その他の様々な事象の情報が格納されているものとする（以下同様）。
【０１０９】
また、図６および図７に本実施形態における制約条件テーブル１２６の一例を示す。本実施形態の制約条件テーブル１２６は、上述のコールセンタ業務に各オペレータを割り当てる際の制約条件それぞれの情報を格納したテーブルである。
【０１１０】
そのデータ構造は、各制約条件の識別情報（図中では“＃”）をキーとして、当該制約条件の内容、最適化ソルバでの実装例、およびアニーリングマシンでの実装例（制約条件用関数）。といったデータから成るレコードの集合体である。
【０１１１】
本実施形態では、アニーリングマシンでの実装例すなわち制約条件用関数に加えて、従来技術との比較のため、最適化ソルバで当該制約条件を実装する際の関数例も対照表示している。
【０１１２】
−−−フロー例−−−
以下、本実施形態におけるスケジュール作成支援方法の実際手順について図に基づき説明する。以下で説明するスケジュール作成支援方法に対応する各種動作は、スケジュール作成支援装置１００がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【０１１３】
図８は、本実施形態におけるスケジュール作成支援方法のフロー例を示す図である。この場合、スケジュール作成支援装置１００は、処理対象とするイジングモデル１０２１として、或る月における各オペレータの総勤務コマ数、必要人数、および制約条件用関数、を項として含む目的関数に関して、各オペレータの出勤有無をスピンとし、制約条件用関数における変数間の感応度をスピン間の相互作用の強度として設定したイジングモデル１０２１を演算するものとする。
【０１１４】
そこで、スケジュール作成支援装置１００は、各オペレータの希望条件をユーザ端末２００から取得し、これを制約条件として制約条件テーブル１２６に格納する（ｓ１０）。或いは、この際、各オペレータから制約条件テーブル１２６中から、所望の制約条件に合致する制約条件の指定を受け付けるとしてもよい。
【０１１５】
また、スケジュール作成支援装置１００は、ｓ１０で得た制約条件を、既に述べたように制約条件用関数に変換する（ｓ１１）。この制約条件用関数は、当該制約条件が満たされる際に最小となる関数である。なお、上述のｓ１０で制約条件の指定を受けた場合、当該制約条件に対して規定済みの制約条件用関数を制約条件テーブル１２６から抽出することとなる。
【０１１６】
また、スケジュール作成支援装置１００は、アニーリングマシンとして、上述の３つの項目（総勤務コマ数、必要人数、および制約条件用関数）に関する設定がなされたイジングモデル１０２１を課題とし、当該目的関数が最小となる基底状態を算定する（ｓ１２）。こうした基底状態の探索自体は、既存技術における処理と同様である。
【０１１７】
つまり、各オペレータに関する制約条件と、上述の総勤務コマ数および必要人数といった基本情報の規定を満たしつつ、時間経過とともに（感応度に基づく理論上の）各時間帯の割り当て有無の最終状態に向け遷移し、各オペレータの割り当て結果が落ち着く状態を、基底状態として探索することとなる。
【０１１８】
また、スケジュール作成支援装置１００は、ｓ１２で特定した各時間帯における各オペレータの割り当て有無の情報（図９の画面９００）を、スケジュールとしてユーザ端末２００に送信し（ｓ１３）、処理を終了する。
【０１１９】
一方、こうした情報の提供を受けたユーザ端末２００では、図９に示すようなスケジュール画面９００をディスプレイ等の出力部に表示させる。
【０１２０】
ユーザ端末２００の操作者は、このスケジュール画面９００を閲覧し、例えば、来月や明日、或いは直近１時間先のタイムテーブルについて認識し、コールセンタ業務の運営について適宜な確認、検討行うこととなる。
【０１２１】
なお、制約条件の種類に応じて生成されるスケジュールの例は、以下のとおりとなる。ここでは、こうした連続勤務に関する制約条件（式１５：勤務コマをなるべく連続させる）が無い前提でスケジュール生成した結果（表５）と、当該制約条件を解いた場合のスケジュール（表６）を対比のためそれぞれ示す。
【０１２２】
[式１５］
2020170422.tif 000021
[表５]
2020170422.tif 000022
[表６]
2020170422.tif 000023
上記のように、制約がない場合は勤務コマがコマ切れになり、１０分おきに「勤務→休憩→勤務→休憩」となっている箇所が多く出現し、現実的なタイムテーブルとなっていない。
【０１２３】
一方、制約がある場合は、基本的に勤務コマが連続しており、まとまった時間、同じ勤務ができる現実的なタイムテーブルとなっている。
【０１２４】
続いて、不連続勤務に関する制約条件（式１６：休日コマを連続させすぎない）が無い前提でスケジュール生成した結果（表７）と、当該制約条件を解いた場合のスケジュール
（表８）をそれぞれ示す。なお、ここでは、月間シフトにおける不連続勤務に関する制約条件の結果例を示す。今回考える制約条件の式の例を、以下に示す。ただし、今回は「勤務種類」については言及しないため、勤務種類に関する添え字（k）を省略した変数x_(i,j)について考える。また、Aは調整された任意の整数である。
【０１２５】
[式１６］
2020170422.tif 000024
[表７]
2020170422.tif 000025
[表８]
2020170422.tif 000026
上記のように、制約がない場合は出勤コマや休日が必要以上に連続となってしまい、「１０連勤」や「４連休」といった、法律面・就業規則面・各オペレータの負担面から見ても、非現実的な月間シフトとなっている。一方、制約がある場合は、程よく連勤と連休が散らばっており、現実的な月間シフトとなっている。
【０１２６】
続いて、禁止パターンに関する制約条件（式１７：遅番翌日の早番禁止）が無い前提で
スケジュール生成した結果（表９）と、当該制約条件を解いた場合のスケジュール（表１０）をそれぞれ示す。ここでは、月間シフトにおける禁止パターンに関する制約条件の結果例を示す。今回考える制約条件の式の例を、以下に示す。ただし、今回は「勤務種類」のうち、早番（k=1）と遅番（k=2）についてのみ言及するため、勤務種類に関する添え字（k）は２までを考える。
【０１２７】
[式１７］
2020170422.tif 000027
この制約条件は「遅番の翌日に早番が入らないようにする」という意味となる。
【０１２８】
[表９]
2020170422.tif 000028
[表１０]
2020170422.tif 000029
なお、上述の各表において、視認性向上のため、遅番の前に▲マークを付している。上
記のように、制約がない場合は遅番の翌日に早番となってしまう箇所が存在し、十分な休息が取られないまま翌日の勤務を実施しなければならない、非現実的な月間シフトとなっている。一方、制約がある場合は、遅番の翌日は遅番か休日かのどちらかとなっており、現実的な月間シフトとなっている。
【０１２９】
続いて、人員間相性に関する制約条件（式１８：新人の同時出勤を避ける&指導員をセ
ットにする）が無い前提でスケジュール生成した結果（表１１）と、当該制約条件を解いた場合のスケジュール（表１２）をそれぞれ示す。ここでは、月間シフトにおける人員間相性に関する制約条件の結果例を示す。
【０１３０】
ただし、今回は「勤務種類」については言及しないため、勤務種類に関する添え字（k
）を省略した変数x_(i,j)について考える。また、Ａ、Ｂは調整された任意の整数である
。
【０１３１】
[式１８］
2020170422.tif 000030
[表１１]
2020170422.tif 000031
[表１２]
2020170422.tif 000032
上記のように、制約がない場合は「新人２人が同時に出勤する日」「新人Ａが出勤しているのに、新人Ａの指導員であるオペレータ１が出勤していない日」「新人Ｂが出勤しているのに、新人Ｂの指導員であるオペレータ２が出勤していない日」が存在し、現実的な月間シフトとなっていない。一方、制約がある場合は、すべての日で新人は1人のみの出
勤となっており、新人が出勤する際はその指導員が必ず出勤するという、現実的な月間シフトとなっている。
【０１３２】
続いて、人員希望反映に関する制約条件（式１９：オペレータ２は１〜７日に休日希望&オペレータ３は早番希望&オペレータ４は遅番希望）が無い前提でスケジュール生成した結果（表１３）と、当該制約条件を解いた場合のスケジュール（表１４）をそれぞれ示す。
【０１３３】
[式１９］
2020170422.tif 000033
この制約条件は、「オペレータ２は期間の前半（１日〜７日）に休日を希望する」および「オペレータ３はできるだけ早番を希望する」および「オペレータ４はできるだけ遅番を希望する」という意味となる。
【０１３４】
[表１３]
2020170422.tif 000034
[表１４]
2020170422.tif 000035
なお、上述の各表において、視認性向上のため、遅番の前に▲マークを付している。
【０１３５】
上記のように、制約がない場合は「期間の後半にもオペレータ２に休日」「オペレータ３に遅番」「オペレータ４に早番」といった、オペレータの希望から外れた月間シフトとなっている。一方、制約がある場合は、各オペレータの希望が叶えられた月間シフトとなっている。
【０１３６】
続いて、人員間平等勤務に関する制約条件（式２０：勤務時間を人員間で平等とする）が無い前提でスケジュール生成した結果（表１５）と、当該制約条件を解いた場合のスケジュール（表１６）をそれぞれ示す。
【０１３７】
[式２０］
2020170422.tif 000036
この制約条件は、「各オペレータの勤務コマ数を、目安であるＤになるべく近づける」という意味となる。
【０１３８】
[表１５]
2020170422.tif 000037
[表１６]
2020170422.tif 000038
上記のように、制約がない場合は人員間で勤務時間に偏りがあり、休憩時間がない人員と休憩時間ばかりの人員が混在している、非現実的なタイムテーブルとなっている。一方、制約がある場合は、各人員間でほぼ同じ勤務時間となっており、平等で現実的なタイムテーブルとなっている。
【０１３９】
なお、例えば、突発的な需要急増に伴うオペレータ不足、或いはオペレータの突然の欠勤、といった緊急時に際し、スケジュール作成支援装置１００は、当該事象に対応する制約条件をユーザ端末２００から取得し、上述のフローを実行するとすれば好適である。
【０１４０】
こうした状況での制約条件は、例えば、直近までに作成していたスケジュールでは、同日同時間帯に別の業務に割り当てられているオペレータを、「出勤」の前提とする制約条件等が想定できる。
【０１４１】
その場合のスケジュール作成支援装置１００は、当該制約条件に応じてｓ１１を実行して制約条件用関数を生成し、対応する目的関数に関するイジングモデルを解くものとする
。
【０１４２】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０１４３】
こうした本実施形態によれば、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成を効率的に行うことが可能となる。
【０１４４】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態のスケジュール作成支援装置において、前記演算部は、連続勤務に関する前記制約条件である、連続勤務長の上限または下限、連続勤務の追求、および連続勤務の抑制、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、としてもよい。
【０１４５】
これによれば、人員各々における連続勤務に関する条件（例：本人の希望や所属組織の規定。以下同様）を可能なかぎり踏まえつつ、人員コスト最小となるスケジュールを効率良く作成可能となる。ひいては、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成をより効率的に行うことが可能となる。
【０１４６】
また、本実施形態のスケジュール作成支援装置において、前記演算部は、不連続勤務に関する前記制約条件である、勤務タイミングの間隔の上限または下限、休日連続化の追求、および休日連続化の抑制、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、としてもよい。
【０１４７】
これによれば、人員各々における不連続勤務に関する条件を可能なかぎり踏まえつつ、人員コスト最小となるスケジュールを効率良く作成可能となる。ひいては、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成をより効率的に行うことが可能となる。
【０１４８】
また、本実施形態のスケジュール作成支援装置において、前記演算部は、禁止パターンに関する前記制約条件である、特定時間帯での勤務の連続禁止、および前記特定時間帯での勤務直後の所定時間帯での勤務の禁止、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、としてもよい。
【０１４９】
これによれば、人員各々における勤務に関する禁止パターン（例：深夜勤務の直後に日勤は禁止）を可能なかぎり踏まえつつ、人員コスト最小となるスケジュールを効率良く作成可能となる。ひいては、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成をより効率的に行うことが可能となる。
【０１５０】
また、本実施形態のスケジュール作成支援装置において、前記演算部は、人員間の相性に関する前記制約条件である、所定属性の人員の同時勤務の追求または抑制の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、としてもよい。
【０１５１】
これによれば、人員各々における他人員との相性に関する条件（例：新人に対して指導可能な人員が同時出勤する。或る人員と或る人員とは同時出勤しない。）を可能なかぎり踏まえつつ、人員コスト最小となるスケジュールを効率良く作成可能となる。ひいては、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成をより効率的に行うことが可能となる。
【０１５２】
また、本実施形態のスケジュール作成支援装置において、前記演算部は、人員の希望に関する前記制約条件である、所定パターンでの勤務の追求について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、としてもよい。
【０１５３】
これによれば、人員各々における希望に関する条件（例：所定日にできれば特定のシフトを割り当てる）を可能なかぎり踏まえつつ、人員コスト最小となるスケジュールを効率良く作成可能となる。ひいては、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成をより効率的に行うことが可能となる。
【０１５４】
また、本実施形態のスケジュール作成支援装置において、前記演算部は、人員間の平等に関する前記制約条件である、勤務パターンごとの出勤長に関する前記各人員の間での均等化について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するものである、としてもよい。
【０１５５】
これによれば、人員間の平等に関する条件を可能なかぎり踏まえつつ、人員コスト最小となるスケジュールを効率良く作成可能となる。ひいては、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成をより効率的に行うことが可能となる。
【０１５６】
また、本実施形態のスケジュール作成支援装置は、前記イジングモデルに関して組合せ最適化問題を解くＣＭＯＳアニーリングマシンであるとしてもよい。
【０１５７】
これによれば、イジングモデルの動作を半導体のＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの素子を用いた回路で擬似的に再現し、互いに影響しあっている制約条件すなわち非線形な制約条件を踏まえた組合せ最適化問題の実用解を、室温下で効率良く求めることが可能となる。ひいては、協働する多くの人員に関して非線形な制約条件を踏まえたスケジュール作成を、さらに効率的に行うことが可能となる。
【０１５８】
また、本実施形態のスケジュール作成支援方法において、前記情報処理装置が、連続勤務に関する前記制約条件である、連続勤務長の上限または下限、連続勤務の追求、および連続勤務の抑制、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、としてもよい。
【０１５９】
また、本実施形態のスケジュール作成支援方法において、前記情報処理装置が、不連続勤務に関する前記制約条件である、勤務タイミングの間隔の上限または下限、休日連続化の追求、および休日連続化の抑制、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、としてもよい。
【０１６０】
また、本実施形態のスケジュール作成支援方法において、前記情報処理装置が、禁止パターンに関する前記制約条件である、特定時間帯での勤務の連続禁止、および前記特定時間帯での勤務直後の所定時間帯での勤務の禁止、の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、としてもよい。
【０１６１】
また、本実施形態のスケジュール作成支援方法において、前記情報処理装置が、人員間の相性に関する前記制約条件である、所定属性の人員の同時勤務の追求または抑制の少なくともいずれかについて、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、としてもよい。
【０１６２】
また、本実施形態のスケジュール作成支援方法において、前記情報処理装置が、人員の希望に関する前記制約条件である、所定パターンでの勤務の追求について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算するとしてもよい。
【０１６３】
また、本実施形態のスケジュール作成支援方法において、前記情報処理装置が、人員間の平等に関する前記制約条件である、勤務パターンごとの出勤長に関する前記各人員の間での均等化について、前記制約条件用関数を前記目的関数の項に含め、前記イジングモデルを演算する、としてもよい。
【０１６４】
また、本実施形態のスケジュール作成支援方法において、前記情報処理装置が、前記イジングモデルに関して組合せ最適化問題を解くＣＭＯＳアニーリングマシンであるとしてもよい。
【符号の説明】
【０１６５】
１０    ネットワーク
１００  スケジュール作成支援装置（アニーリングマシン）
１０１  記憶部
１０２  プログラム
１０２１  イジングモデル
１０３  メモリ
１０４  演算部
１０５  通信部
１２５  基本情報テーブル
１２６  制約条件テーブル
２００  ユーザ端末
【図１】
2020170422.tif 000039
【図２】
2020170422.tif 000040
【図３】
2020170422.tif 000041
【図４】
2020170422.tif 000042
【図５】
2020170422.tif 000043
【図６】
2020170422.tif 000044
【図７】
2020170422.tif 000045
【図８】
2020170422.tif 000046
【図９】
2020170422.tif 000047