IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

特開2024-49521平準化支援装置、システム、方法およびプログラム
<>
  • 特開-平準化支援装置、システム、方法およびプログラム 図1
  • 特開-平準化支援装置、システム、方法およびプログラム 図2
  • 特開-平準化支援装置、システム、方法およびプログラム 図3
  • 特開-平準化支援装置、システム、方法およびプログラム 図4
  • 特開-平準化支援装置、システム、方法およびプログラム 図5
  • 特開-平準化支援装置、システム、方法およびプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024049521
(43)【公開日】2024-04-10
(54)【発明の名称】平準化支援装置、システム、方法およびプログラム
(51)【国際特許分類】
   G06Q 10/0631 20230101AFI20240403BHJP
【FI】
G06Q10/06 302
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022155782
(22)【出願日】2022-09-29
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】秋山 克美
(72)【発明者】
【氏名】家志 門太
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA06
5L049AA06
(57)【要約】
【課題】担当者の特性を考慮して割当を平準化する作業を現実的な時間内で支援できる平準化支援装置を提供する。
【解決手段】入力手段81は、少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける。重み設定手段82は、目的関数に含まれる各制約式の重みを設定する。最適化処理部実行手段83は、量子コンピュータに対して、重みが設定された目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる。評価手段84は、最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する。
【選択図】図5
【特許請求の範囲】
【請求項1】
少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力手段と、
前記目的関数に含まれる各制約式の重みを設定する重み設定手段と、
組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、前記重みが設定された前記目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行手段と、
前記最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価手段と、
前記評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力手段とを備えた
ことを特徴とする平準化支援装置。
【請求項2】
評価手段は、評価値が予め定めた基準を満たしていない場合、重み設定手段に設定させる新たな重みを決定し、
重み設定手段は、前記新たな重みを、目的関数に含まれる制約式に設定し、
最適化処理実行手段は、前記新たな重みが設定された目的関数を量子コンピュータに入力して、各取引先に対する担当者の割り当て候補を出力する処理を実行させる
請求項1記載の平準化支援装置。
【請求項3】
出力手段は、複数の割り当て候補を出力し、前記割り当て候補を選択する指示をユーザから受け付ける
請求項2記載の平準化支援装置。
【請求項4】
出力手段は、一の割り当て候補のうち、一部の割り当てのみを決定する指示を受け付け、
最適化処理実行手段は、前記一の割り当て候補のうち決定されなかった残りの割り当てについて、量子コンピュータに対して、担当者の割り当て候補を出力する最適化処理を実行させる
請求項1から請求項3のうちのいずれか1項に記載の平準化支援装置。
【請求項5】
最適化処理実行手段は、量子アニーリングマシンに最適化処理を実行させる
請求項1から請求項3のうちのいずれか1項に記載の平準化支援装置。
【請求項6】
取引先に対する担当者の特性に応じてペナルティを設定した制約式は、過去に取引先を担当した担当者に関連する担当者ほど、ペナルティが低く設定される制約式である
請求項1から請求項3のうちのいずれか1項に記載の平準化支援装置。
【請求項7】
組み合わせ最適化問題を解くために用いられる量子コンピュータと、
前記量子コンピュータに対して最適化処理を実行させる平準化支援装置とを備え、
前記平準化支援装置は、
少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力手段と、
前記目的関数に含まれる各制約式の重みを設定する重み設定手段と、
前記量子コンピュータに対して、前記重みが設定された前記目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行手段と、
前記最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価手段と、
前記評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力手段とを含む
ことを特徴とする平準化支援システム。
【請求項8】
少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付け、
前記目的関数に含まれる各制約式の重みを設定し、
組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、前記重みが設定された前記目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させ、
前記最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価し、
前記評価に応じて、最適化処理の結果得られた割り当て候補を出力する
ことを特徴とする平準化支援方法。
【請求項9】
評価値が予め定めた基準を満たしていない場合、目的関数に設定する新たな重みを決定し、
前記新たな重みを、目的関数に含まれる制約式に設定し、
新たな重みが設定された目的関数を量子コンピュータに入力して、各取引先に対する担当者の割り当て候補を出力する処理を実行させる
請求項8記載の平準化支援方法。
【請求項10】
コンピュータに、
少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力処理、
前記目的関数に含まれる各制約式の重みを設定する重み設定処理、
組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、前記重みが設定された前記目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行処理、
前記最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価処理、および、
前記評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力処理
を実行させるための平準化支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、担当者の割当の平準化作業を支援する平準化支援装置、平準化支援システム、平準化支援方法および平準化支援プログラムに関する。
【背景技術】
【0002】
リソースを適切に割り当てる方法が各種提案されている。例えば、特許文献1には、業務負荷を平準化する業務負荷平準化システムが記載されている。特許文献1に記載された業務負荷平準化システムは、各担当者の作業種別毎の保有スキル情報、適正情報、及び、スキル育成のための作業種別毎の優先度情報に基づき、再割り当て可能な他の担当者に対して、その担当者の就業時間が閾値を超えないように対象作業の再割り当てを行う
【0003】
また、特許文献2には、乗務員に対する業務の割り当てを作成する作成装置が記載されている。特許文献2に記載された作成装置は、勤務時間(仕業)の制約および勤務時間の並び(仕業配列)の制約、並びに、勤務時間が平均時間に近くなるような制約を含む制約充足問題の最適解を、量子アニーリングを実行する量子コンピュータを用いて探索する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-190003号公報
【特許文献2】特開2022-040702号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されたシステムは、業務負荷が集中する担当者を検知した際に、その担当者の作業を同一のプロジェクトに従事する他の担当者に対して再割り当てを行うことで担当者間の作業量を平準化する。すなわち、特許文献1に記載されたシステムは、再割り当てを行う対象が限定され、その再割り当て条件も就業時間に限定されている。そのため、再割り当ての負荷が問題になることは少ない。
【0006】
しかし、特許文献1に記載されたシステムでは、担当者の希望する条件等に基づいて再割り当てを行うことは考慮されていない。そのため、担当者の希望等、就業時間以外にも割り当ての条件が増えた場合、負荷が増大し、適切な時間内に割り当て作業が終了しない恐れがある。
【0007】
特許文献2に記載された量子コンピュータを用いて探索を行うことで、割り当て処理の負荷を軽減させることは可能である。一方、特許文献2に記載された装置では、勤務時間の観点から、勤務時間が平均時間に近くなるように個々の乗務員の業務の割り当てを行う。しかし、特許文献2に記載された装置も、担当者の希望する条件や、業務に対する乗務員の適正等に基づいて割り当てを行うことは考慮されていない。
【0008】
例えば、作業量や勤務時間を単に平準化するだけであれば、作業量や勤務時間を頭数で割ることで実現可能とも言える。しかし、割り当て対象が人間の場合、その人間の希望や特性等を考慮して作業割当を平準化できるとともに、その作業割り当てが、運用上許容できる現実的な時間内に実現できることが好ましい。
【0009】
そこで、本発明は、担当者の特性を考慮して割当を平準化する作業を現実的な時間内で支援できる平準化支援装置、平準化支援システム、平準化支援方法および平準化支援プログラム提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明による平準化支援装置は、少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力手段と、目的関数に含まれる各制約式の重みを設定する重み設定手段と、組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、重みが設定された目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行手段と、最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価手段と、評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力手段とを備えたことを特徴とする。
【0011】
本発明による平準化支援システムは、組み合わせ最適化問題を解くために用いられる量子コンピュータと、量子コンピュータに対して最適化処理を実行させる平準化支援装置とを備え、平準化支援装置が、少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力手段と、目的関数に含まれる各制約式の重みを設定する重み設定手段と、量子コンピュータに対して、重みが設定された目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行手段と、最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価手段と、評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力手段とを含むことを特徴とする。
【0012】
本発明による平準化支援方法は、少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付け、目的関数に含まれる各制約式の重みを設定し、組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、重みが設定された目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させ、最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価し、評価に応じて、最適化処理の結果得られた割り当て候補を出力することを特徴とする。
【0013】
本発明による平準化支援プログラムは、コンピュータに、少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力処理、目的関数に含まれる各制約式の重みを設定する重み設定処理、組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、重みが設定された目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行処理、最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価処理、および、評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力処理を実行させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、担当者の特性を考慮して割当を平準化する作業を現実的な時間内で支援できる。
【図面の簡単な説明】
【0015】
図1】本発明の平準化支援システムの一実施形態の構成例を示すブロック図である。
図2】バイヤ平準化作業の例を示す説明図である。
図3】具体的情報の例を示す説明図である。
図4】平準化支援システムの動作例を示すフローチャートである。
図5】本発明による平準化支援装置の概要を示すブロック図である。
図6】本発明による平準化支援システムの概要を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態を図面を参照して説明する。
【0017】
図1は、本発明の平準化支援システムの一実施形態の構成例を示すブロック図である。本実施形態の平準化支援システム100は、平準化支援装置10と、量子コンピュータ20とを備えている。平準化支援装置10は、通信回線を通じて量子コンピュータ20と相互に接続される。
【0018】
以下の説明では、担当者の割当を平準化する作業として、バイヤ平準化作業を例示する。具体的には、複数の事業部が存在するものとし、各事業部の取引に際し、各取引先への調達を担当する担当者(バイヤ)を平準化する作業をバイヤ平準化作業として例示する。
【0019】
図2は、バイヤ平準化作業の例を示す説明図である。図2は、複数の事業部が各取引先との取引を行う状況を示しており、その取引において各取引先の調達を担当する担当者(調達グループメンバー)が割り当てられる例を示す。また、図2に示す例では、担当者の所属する地域が、関東や九州などと特定されていることを示す。
【0020】
上述するように、取引先の数に応じて担当者を分担させることで、単純に作業を割り当てることは可能である。しかし、実際には、担当者の経験やスキル、勤務地などの特性を考慮して、より適切な取引先に担当者を割り当てることが好ましい。
【0021】
そこで、本実施形態では、割当対象である担当者の特性を考慮した作業割り当てを最適化するためのモデル、および、満たすことが好ましい制約(以下、ルールと記すこともある)を定義する。そして、そのモデルおよびルールに基づいて、最適な作業割り当ての候補を列挙することで、担当者を平準化する作業を支援する。以下の説明では、上記モデルおよびルールに基づいて解くべき問題をバイヤ平準化問題と記す。なお、モデルおよびルールについては後述される。
【0022】
量子コンピュータ20は、量子力学の現象を利用して並列計算を実現するコンピュータである。例えば、量子アニーリング方式の量子コンピュータ(以下、量子アニーリングマシンと記す。)は、イジングモデルのハミルトニアンの基底状態を求める専用の装置であり、イジングモデルに基づいてアニーリングを実行する装置である。より具体的には、量子アニーリングマシンは、二値変数を引数とするイジングモデルの目的関数(すなわち、ハミルトニアン)を最小化又は最大化する二値変数の値を確率的に求める装置である。なお、二値変数は、古典ビットや量子ビットで実現されていてもよい。
【0023】
本実施形態の量子コンピュータ20の態様は任意である。量子コンピュータ20は、二値変数を引数とする目的関数を最小化又は最大化する二値変数の値を確率的に求めるものであればどのようなハードウェアによって構成されてもよい。量子コンピュータ20は、は、例えば、目的関数がイジングモデルの形式でハードウェアによって実装された非ノイマン型コンピュータであってもよい。また、量子コンピュータ20は、量子アニーリングマシンであっても、一般のアニーリングマシンであってもよい。
【0024】
平準化支援装置10は、記憶部11と、入力部12と、重み設定部13と、最適化処理実行部14と、評価部15と、出力部16とを含む。
【0025】
記憶部11は、平準化支援システム100が処理に用いる各種情報を記憶する。本実施形態の記憶部11は、最適化するバイヤ平準化問題を定式化したモデルおよびルールを記憶する。
【0026】
本実施形態で想定するバイヤ平準化問題は、担当者の負荷を平準化しつつ、担当者の特性や要望を満たすような最適な割り当てを探索する問題である。特に、本実施形態では、各調達先には必ず一人の担当者を割り当てるものとし、取引先に対する担当者の特性を反映するようにバイヤ平準化問題を定式化する。本実施形態では、この問題を現実的な時間内で解くために、上述の量子コンピュータ20を使用する。
【0027】
バイヤ平準化問題は、組合せ最適化問題と言える。例えば、量子コンピュータ20の一種である量子アニーリングマシンでバイヤ平準化問題を解くためには、バイヤ平準化問題をイジングモデルとして定式化する必要がある。
【0028】
なお、バイヤ平準化問題を定式化する方法は任意である。例えば、各調達先に一人の担当者を割り当てる条件は、いわゆるワンホット条件に該当するため、ワンホット条件を加味した制約式を定義する。また、各担当者の負荷を平準化するため、各担当者が担当する取引先の数が平均に近いほど値が小さくなる制約式を定義する。さらに、取引先に対する担当者の特性に応じてペナルティを設定した制約式を定義する。
【0029】
本実施形態では、定義されたこれらの制約式を重み付け加算してバイヤ平準化問題を定式化する。なお、定式化したイジングモデルを、QUBO(Quadratic Unconstrained Binary Optimization )に変換して定式化してもよい。なお、イジングモデルからQUBO(行列)への変換方法は広く知られているため、ここでは詳細な説明は省略する。
【0030】
以下、取引先に対する担当者の特性に応じてペナルティを設定した制約式を定義する方法について詳述する。調達部担当者と取引先との間には、以下に例示するルールに基づいてスコアを設定できる。このスコアは、ルールを満たすほど値が減少するものとして定義できる。
・大口取引先は、昨年の担当者が極力担当する
・昨年の担当者が担当できない大口取引先は、昨年の担当者と同地区の者が担当する
・小口取引先は、事業部の取引額の順に担当者の優先順位を決定する
・昨年取引がなかった取引先は、その取引先をより高く評価する事業部の担当者が担当する
・取引先の所在地と担当者の勤務地が地理的に近いことが好ましい
【0031】
以下、具体的なルールについて例示する。例えば、まずは、自社資本ではない調達先の中で最も評価の高い調達先である事業部担当のバイヤが担当するように割り当てる。このような事業部が複数存在する場合、金額が大きい事業部担当のバイヤほど優先順位を高く割り当てる。一方、このような事業部が存在しない場合は、昨年担当したバイヤと同一拠点のバイヤに割り当てる。
【0032】
このようなルールに対しては、ルールを満たさないほどペナルティを課すような制約式を定義すればよい。すなわち、取引先と担当者との関係については、取引先に対する担当者の特性に応じてペナルティを設定した制約式を定義すればよい。例えば、少額取引先の場合、調達先をp、バイヤをbとした場合、調達先pとバイヤbとの間に設定するペナルティは、例えば、以下の式1のように定式化できる。なお、式1において、順位(p,j)は、調達先pの取引先事業部の中における事業部jの取引金額の順位を返却する関数である。式1に示すように、取引先に対する担当者の特性に応じてペナルティを設定した制約式は、過去に取引先を担当した担当者に関連する担当者ほど、ペナルティが低く設定される制約式と言える。
【0033】
【数1】
【0034】
さらに、個人の要望についても同様に、担当者と取引先との間の要望に応じたペナルティ(より詳しくは、要望を満たすほど値が小さくなるようなペナルティ値)を設定した制約式を定義すればよい。具体例として、例えば、「甲社の担当は、A氏が好ましいが、B氏またはC氏でも可である。もし、A氏、B氏およびC氏が甲社を担当できない場合、D氏でも可である。」という要望があったとする。この場合、甲社とA氏との組合せには“-10”、甲社とB氏との組合せ、または、甲社とC氏との組合せには“2”、甲社とD氏との組合せには“3”のペナルティを設定した制約式を定義してもよい。
【0035】
これらのルールについても同様に制約式を定義し、これらの制約式についても、上記で定式化したバイヤ平準化問題に重み付け加算して、最終的な目的関数が生成される。
【0036】
さらに、記憶部11は、バイヤ平準化問題を解くために必要な、具体的情報を記憶する。図3は、具体的情報の例を示す説明図である。図3に例示する情報は、バイヤ平準化問題を解く際に用いる情報の一例である。図3では、具体的情報として、調達先情報、バイヤ情報、事業部情報およびパートナーマップ情報を例示する。なお、アンダーラインが付された情報は、各情報のキーになる情報である。
【0037】
図3に例示する調達先情報について、調達先コードは、調達先の主キーである。購入先名漢字は、調達先の社名である。全社プライムフラグは、原則として昨年と同じバイヤが担当すべき調達先を示すフラグである。取引金額および合計額は、昨年度の事業部ごとの取引金額および合計額であり、バイヤ選択の参考にする情報である。優先順位は、事業部ごとの優先順位であり、どの事業部に対応するバイヤを選択するかの判定に用いられる情報である。本社所在地は、調達先の本社の所在地であり、バイヤの調達拠点の選択に用いられる情報である。昨年担当バイヤは、昨年の契約作業を担当したバイヤであり、バイヤ選択の参考にする情報である。
【0038】
図3に例示するバイヤ情報について、バイヤ名は、バイヤの氏名を示す情報である。バイヤコードは、バイヤの主キーである。対象外フラグは、今年度は調達作業を実施しないメンバー、および、今年度は作業量を特別軽くするメンバーを示すフラグである。調達拠点は、バイヤの在籍事業所を示す情報である。
【0039】
図3に例示する事業部情報について、事業部名は、事業部の名前を示す情報である。事業部コードは、事業部の主キーである。担当バイヤは、事業部の調達を担当するバイヤを示す。また、図3に例示するパートナーマップは、調達先社名と、昨年の事業部ごとの取引金額を含む情報である。
【0040】
また、本実施形態の記憶部11は、後述する評価部15が評価に用いる評価関数を記憶する。評価関数は、後述する最適化処理実行部14による候補の割り当て結果を評価するための関数である。なお、評価関数の内容は任意である。評価関数は、後述する目的関数の値および制約を満たしている度合いに応じて評価値を出力する関数であり、例えば、目的関数(コスト関数)の値が低いほど高く、制約を満たしているほど高くなるように定義されてもよい。
【0041】
上記モデルおよびルールは、予め記憶部11に記憶されてもよく、後述する入力部12が受け付けたモデルおよびルールを記憶部11が記憶してもよい。なお、記憶部11が記憶するモデルおよびルールは、上記内容に限定されない。最適化対象の事案に応じて、モデルおよびルールが定義され、記憶部11に記憶されればよい。記憶部11は、例えば、磁気ディスク等により実現される。
【0042】
入力部12は、後述する量子コンピュータ20が最適化処理を行うために必要な各種情報の入力を受け付ける。具体的には、入力部12は、バイヤ平準化問題を表わす目的関数の入力を受け付ける。上述するように、バイヤ平準化問題は、少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数で表わされる。
【0043】
なお、入力部12は、目的関数の入力を直接受け付けてもよく、目的関数の入力を補助する所定の入力画面を介して受け付けてもよい。また、入力部12は、図3に例示するような具体的情報の入力を受け付け、受け付けた情報を記憶部11に記憶してもよい。さらに、入力部12は、受け付けた目的関数を記憶部11に記憶してもよい。
【0044】
重み設定部13は、目的関数に含まれる制約式の各重みを設定する。重み設定部13は、設定する重みの入力をユーザから受け付けて設定してもよく、後述する評価部15によって算出された重みを設定してもよい。
【0045】
最適化処理実行部14は、量子コンピュータ20にバイヤ平準化問題の最適化処理を実行させる指示を行う。上述するように、バイヤ平準化問題は、組合せ最適化問題と言えることから、本実施形態の量子コンピュータ20は、記憶部11に記憶された各種の具体的情報に基づいて組合せ最適化問題を解くための量子コンピュータとして用いられる。そこで、最適化処理実行部14は、バイヤ平準化問題を表わす上記目的関数を量子コンピュータ20に入力して、各取引先に対する担当者の割り当て候補を出力する処理を実行させる。
【0046】
その際、量子コンピュータ20がQUBOに基づいて動作する場合、最適化処理実行部14は、例えば、イジングモデルからQUBO行列を生成可能なライブラリを介して目的関数の入力を受け付けてもよい。
【0047】
評価部15は、上記評価関数に基づいて、出力された割り当て結果を評価する。具体的には、評価部15は、最適化処理実行部14による最適化処理の結果得られた目的関数の値を上記評価関数に適用して、出力された割り当て結果を評価する。
【0048】
さらに、評価部15は、評価関数による評価結果(すなわち、評価値)が所定の基準を満たしているか否か判断してもよい。そして、所定の基準を満たしていない場合、評価部15は、目的関数に含まれる制約式の各重みを新たに設定して量子コンピュータ20に最適化処理を再度実行させ、新たな割り当て候補を出力する処理を繰り返させてもよい。
【0049】
すなわち、評価値が所定の基準を満たしていない場合、重み設定部13が目的関数に含まれる制約式の各重みを新たに設定し、最適化処理実行部14が、新たな重みが設定された目的関数を量子コンピュータ20に入力して、各取引先に対する担当者の割り当て候補を出力する処理を実行させてもよい。その際、評価部15は、重み設定部13に設定させる新たな重みを決定してもよい。
【0050】
なお、新たな重みを決定する方法は任意である。評価部15は、例えば、Optunaなどのライブラリを用いることで、評価関数の値に応じて好ましい結果が得られるような範囲に絞って重みを決定してもよい。このようなライブラリを用いることで、ランダムに重みを変更させるよりも効率的に好ましい割り当て候補を出力させることが可能になる。
【0051】
出力部16は、評価部15による評価に応じて、最適化処理の結果得られた割り当て候補を出力する。具体的には、出力部16は、所定の評価基準(例えば、評価値が所定の値以上)を満たす割り当て候補を出力する。
【0052】
また、上述する繰り返し処理の結果、複数の割り当て候補が得られた場合、出力部16は、複数の割り当て候補を出力してもよい。その際、出力部16は、全ての割り当て候補を出力してもよく、所定の条件(例えば、評価値が所定の値以上)を満たす割り当て候補に限定して出力してもよい。また、出力部16は、表示装置(図示せず)に割り当て結果を表示してもよく、ファイルに割り当て結果を出力してもよい。
【0053】
また、割り当て結果を上述する表示装置に表示した場合、出力部16は、ユーザから割り当て候補を選択する指示を受け付けてもよい。その際、出力部16は、複数の割り当て候補の中から、一の割り当て候補を選択する指示を受け付けてもよい。さらに、出力部16は、一の割り当て候補のうち、一部の割り当てのみを決定する指示を受け付けてもよい。この場合、平準化支援装置10は、指示された割り当てを固定し(すなわち、変更せずに)、決定されなかった残りの割り当てについて、量子コンピュータ20に最適化処理を再度実行させて割り当て処理を行ってもよい。すなわち、最適化処理実行部14は、出力した一の割り当て候補のうち決定されなかった残りの割り当てについて、量子コンピュータ20に対して、担当者の割り当て候補を出力する最適化処理を実行させてもよい。
【0054】
なお、一部の割り当てを固定させるように再度割り当て処理を行う方法は任意である。最適化処理実行部14は、例えば、目的関数は変更せず、残りの割り当て対象となる担当者および取引先を限定して、再度割り当て処理を量子コンピュータ20に実行させてもよい。他にも、出力部16が、指示された(すなわち、決定した)割り当て対象に該当する部分を定数化した目的関数を生成し、最適化処理実行部14は、生成された目的関数を量子コンピュータ20に入力して、割り当て候補を出力する処理を再度実行させてもよい。
【0055】
入力部12と、重み設定部13と、最適化処理実行部14と、評価部15と、出力部16とは、プログラム(平準化支援プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。
【0056】
例えば、プログラムは、平準化支援装置10の記憶部11に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、入力部12、重み設定部13、最適化処理実行部14、評価部15、および、出力部16として動作してもよい。また、平準化支援装置10の機能がSaaS(Software as a Service )形式で提供されてもよい。
【0057】
また、入力部12と、重み設定部13と、最適化処理実行部14と、評価部15と、出力部16とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用又は専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0058】
また、平準化支援装置10の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0059】
次に、本実施形態の平準化支援システム100の動作を説明する。図4は、本実施形態の平準化支援システム100の動作例を示すフローチャートである。入力部12は、複数の制約式の重み付き線形和を含む目的関数の入力を受け付ける(ステップS11)。具体的には、複数の制約式は、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式である。
【0060】
重み設定部13は、目的関数に含まれる各制約式の重みを設定する(ステップS12)。最適化処理実行部14は、量子コンピュータ20に対して、重みが設定された目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる(ステップS13)。評価部15は、評価関数に基づいて出力された割り当て結果を評価する(ステップS14)。出力部16は、評価に応じて最適化処理の結果得られた割り当て候補を出力する(ステップS15)。
【0061】
以上のように、本実施形態では、入力部12が、目的関数の入力を受け、重み設定部13が、目的関数に含まれる各制約式の重みを設定する。そして、最適化処理実行部14が、各取引先に対する担当者の割り当て候補を出力する最適化処理を量子コンピュータ20に対して実行させ、評価部15が、出力された割り当て結果を評価関数に基づいて評価し、出力部16が、評価に応じて最適化処理の結果得られた割り当て候補を出力する。よって、担当者の特性を考慮して割当を平準化する作業を現実的な時間内で支援できる。
【0062】
また、本実施形態では、量子コンピュータ20として、量子アニーリングマシンを利用する。量子アニーリングマシンの特性上、割り当て候補が必ずしも一意に定まらないが、この特性を利用して、制約を満たすような複数の割り当て候補を出力させることができる。そのため、ユーザは、様々な観点での割り当て候補を検討できるため、より好ましい平準化作業を支援できる。
【0063】
次に、本発明の概要を説明する。図5は、本発明による平準化支援装置の概要を示すブロック図である。本発明による平準化支援装置80(例えば、平準化支援装置10)は、少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式(例えば、ワンホット条件)、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力手段81(例えば、入力部12)と、目的関数に含まれる各制約式の重みを設定する重み設定手段82(例えば、重み設定部13)と、組み合わせ最適化問題を解くために用いられる量子コンピュータ(例えば、量子コンピュータ20)に対して、重みが設定された目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行手段83(例えば、最適化処理実行部14)と、最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価手段84(例えば、評価部15)と、評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力手段85(例えば、出力部16)とを備えている。
【0064】
そのような構成により、担当者の特性を考慮して割当を平準化する作業を現実的な時間内で支援できる。
【0065】
また、評価手段84は、評価値が予め定めた基準を満たしていない場合、重み設定手段82に設定させる新たな重みを決定し、重み設定手段82は、新たな重みを、目的関数に含まれる制約式に設定し、最適化処理実行手段83は、新たな重みが設定された目的関数を量子コンピュータに入力して、各取引先に対する担当者の割り当て候補を出力する処理を実行させてもよい。
【0066】
また、出力手段85は、複数の割り当て候補を出力し、割り当て候補を選択する指示をユーザから受け付けてもよい。
【0067】
また、出力手段85は、一の割り当て候補のうち、一部の割り当てのみを決定する指示を受け付けてもよい。そして、最適化処理実行手段83は、一の割り当て候補のうち決定されなかった残りの割り当てについて、量子コンピュータに対して、担当者の割り当て候補を出力する最適化処理を実行させてもよい。
【0068】
また、最適化処理実行手段83は、量子アニーリングマシンに最適化処理を実行させてもよい。
【0069】
また、取引先に対する担当者の特性に応じてペナルティを設定した制約式は、過去に取引先を担当した担当者に関連する担当者ほど、ペナルティが低く設定される制約式であってもよい。
【0070】
図6は、本発明による平準化支援システムの概要を示すブロック図である。本発明による平準化支援システム90(例えば、平準化支援システム100)は、組み合わせ最適化問題を解くために用いられる量子コンピュータ91(例えば、量子コンピュータ20)と、量子コンピュータ91に対して最適化処理を実行させる平準化支援装置80(例えば、平準化支援装置10)とを備えている。なお、平準化支援装置80の構成は、図5に例示する平準化支援装置80の構成と同様である。
【0071】
そのような構成によっても、担当者の特性を考慮して割当を平準化する作業を現実的な時間内で支援できる。
【0072】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0073】
(付記1)少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力手段と、
前記目的関数に含まれる各制約式の重みを設定する重み設定手段と、
組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、前記重みが設定された前記目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行手段と、
前記最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価手段と、
前記評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力手段とを備えた
ことを特徴とする平準化支援装置。
【0074】
(付記2)評価手段は、評価値が予め定めた基準を満たしていない場合、重み設定手段に設定させる新たな重みを決定し、
重み設定手段は、前記新たな重みを、目的関数に含まれる制約式に設定し、
最適化処理実行手段は、前記新たな重みが設定された目的関数を量子コンピュータに入力して、各取引先に対する担当者の割り当て候補を出力する処理を実行させる
付記1記載の平準化支援装置。
【0075】
(付記3)出力手段は、複数の割り当て候補を出力し、前記割り当て候補を選択する指示をユーザから受け付ける
付記2記載の平準化支援装置。
【0076】
(付記4)出力手段は、一の割り当て候補のうち、一部の割り当てのみを決定する指示を受け付け、
最適化処理実行手段は、前記一の割り当て候補のうち決定されなかった残りの割り当てについて、量子コンピュータに対して、担当者の割り当て候補を出力する最適化処理を実行させる
付記1から付記3のうちのいずれか1つに記載の平準化支援装置。
【0077】
(付記5)最適化処理実行手段は、量子アニーリングマシンに最適化処理を実行させる
付記1から付記4のうちのいずれか1つに記載の平準化支援装置。
【0078】
(付記6)取引先に対する担当者の特性に応じてペナルティを設定した制約式は、過去に取引先を担当した担当者に関連する担当者ほど、ペナルティが低く設定される制約式である
付記1から付記5のうちのいずれか1つに記載の平準化支援装置。
【0079】
(付記7)組み合わせ最適化問題を解くために用いられる量子コンピュータと、
前記量子コンピュータに対して最適化処理を実行させる平準化支援装置とを備え、
前記平準化支援装置は、
少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力手段と、
前記目的関数に含まれる各制約式の重みを設定する重み設定手段と、
前記量子コンピュータに対して、前記重みが設定された前記目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行手段と、
前記最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価手段と、
前記評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力手段とを含む
ことを特徴とする平準化支援システム。
【0080】
(付記8)少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付け、
前記目的関数に含まれる各制約式の重みを設定し、
組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、前記重みが設定された前記目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させ、
前記最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価し、
前記評価に応じて、最適化処理の結果得られた割り当て候補を出力する
ことを特徴とする平準化支援方法。
【0081】
(付記9)評価値が予め定めた基準を満たしていない場合、目的関数に設定する新たな重みを決定し、
前記新たな重みを、目的関数に含まれる制約式に設定し、
新たな重みが設定された目的関数を量子コンピュータに入力して、各取引先に対する担当者の割り当て候補を出力する処理を実行させる
付記8記載の平準化支援方法。
【0082】
(付記10)コンピュータに、
少なくとも、一の取引先には一人の担当者を割り当てることを示す制約式、各担当者が担当する取引先の数が全担当者の平均に近いほど値が小さくなる制約式、および、取引先に対する担当者の特性に応じてペナルティを設定した制約式の重み付き線形和を含む目的関数の入力を受け付ける入力処理、
前記目的関数に含まれる各制約式の重みを設定する重み設定処理、
組み合わせ最適化問題を解くために用いられる量子コンピュータに対して、前記重みが設定された前記目的関数を入力して、各取引先に対する担当者の割り当て候補を出力する最適化処理を実行させる最適化処理実行処理、
前記最適化処理の結果得られる目的関数の値および制約を満たしている度合いに応じて評価値を出力する評価関数に基づいて、出力された割り当て結果を評価する評価処理、および、
前記評価に応じて、最適化処理の結果得られた割り当て候補を出力する出力処理
を実行させるための平準化支援プログラム。
【0083】
(付記11)コンピュータに、
評価処理で、評価値が予め定めた基準を満たしていない場合、目的関数に設定する新たな重みを決定させ、
重み設定処理で、前記新たな重みを、目的関数に含まれる制約式に設定させ、
最適化処理実行処理で、新たな重みが設定された目的関数を量子コンピュータに入力させて、各取引先に対する担当者の割り当て候補を出力する処理を実行させる
付記10記載の平準化支援プログラム。
【0084】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0085】
10 平準化支援装置
11 記憶部
12 入力部
13 重み設定部
14 最適化処理実行部
15 評価部
16 出力部
20 量子コンピュータ
100 平準化支援システム
図1
図2
図3
図4
図5
図6