(57)【特許請求の範囲】
【請求項１】
複数の人材を複数の人事ポストに配置する人事異動案について、（ａ）前記人事異動案が満たすべき必須要件、（ｂ）前記人事異動案が満たすことが推奨される任意要件、及び（ｃ）前記人事異動案が前記任意要件を満たしている度合いを数値化するコスト関数、の定義を記憶する記憶手段と、
前記必須要件を満たしつつ、前記コスト関数を最適化する解を探索する探索手段と、
前記探索手段により発見された前記解を、前記人事異動案として出力する出力手段と
を有する人事異動支援装置。
【請求項２】
前記コスト関数は、前記任意要件に関し複数の項目及び当該複数の項目の各々に対応する重み係数を含む
請求項１に記載の人事異動支援装置。
【請求項３】
過去の人事異動データを入力することにより、前記コスト関数における前記重み係数を逆算する逆算手段を有し、
前記探索手段は、前記逆算手段により逆算された前記重み係数を用いて前記解を探索する
請求項２に記載の人事異動支援装置。
【請求項４】
前記記憶手段は、さらに、（ｄ）前記人事異動案における前記複数の人材の属性の、前記複数の人事ポストにおけるばらつきを数値化する関数、及び前記人事異動案における異動人数を示す関数の少なくとも一方を示す目的関数の定義を記憶し、
前記探索手段は、前記必須要件を満たしつつ、前記目的関数及び前記コスト関数の和を最適化する解を探索する
請求項１乃至３のいずれか一項に記載の人事異動支援装置。
【請求項５】
前記目的関数は、前記複数の人材の考課、在籍年数、及び年齢のうち少なくとも１つの属性のばらつきを数値化する関数である
請求項４に記載の人事異動支援装置。
【請求項６】
前記人事ポストが複数の部支店に区分されており、
前記目的関数は、前記複数の部支店における前記属性のばらつきを数値化する関数である
請求項５に記載の人事異動支援装置。
【請求項７】
コンピュータシステムが、複数の人材を複数の人事ポストに配置する人事異動案について、（ａ）前記人事異動案が満たすべき必須要件、（ｂ）前記人事異動案が満たすことが推奨される任意要件、及び（ｃ）前記人事異動案が前記任意要件を満たしている度合いを数値化するコスト関数、の定義を取得するステップと、
前記コンピュータシステムが、前記必須要件を満たしつつ、前記コスト関数を最適化する解を探索するステップと、
前記コンピュータシステムが、前記探索により発見された前記解を、前記人事異動案として出力するステップと
を有する人事異動支援方法。
【請求項８】
コンピュータに、
複数の人材を複数の人事ポストに配置する人事異動案について、（ａ）前記人事異動案が満たすべき必須要件、（ｂ）前記人事異動案が満たすことが推奨される任意要件、及び（ｃ）前記人事異動案が前記任意要件を満たしている度合いを数値化するコスト関数、の定義を取得するステップと、
前記必須要件を満たしつつ、前記コスト関数を最適化する解を探索するステップと、
前記探索により発見された前記解を、前記人事異動案として出力するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人事異動を支援する技術に関する。
【背景技術】
【０００２】
人事ポストに対する人材の配置、すなわち人事異動計画の立案を支援する技術が知られている。例えば特許文献１には、人事ポストを座席の情報と対応付けてデータベースに記憶しておき、座席情報に対して属人情報を選択的に表示させ、選択された対象者の属人情報を用いてデータベースを更新する技術が記載されている。また、特許文献２には、人事マスタ、職制マスタ、及び候補者選定の為の職務条件テーブルを用いて、人事配置を作成する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４０１８３８１号
【特許文献２】特開平１１−１２０２２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術においては、人事異動計画を立案するに際し座席情報が必要であった。また、特許文献２に記載の技術においては、最終的な人事配置案は人間が画面を見ながら決定するものであり、処理が煩雑であった。また、人事異動案の作成に際しては、必ず満足しなければならない要件（必須要件）及び満足した方が好ましいが必須ではない要件（任意要件）がある場合があるところ、特許文献１及び２の技術において任意要件は考慮されなかった。
【０００５】
これに対し本発明は、任意要件を考慮して自動的に人事異動計画を立案する技術を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様は、複数の人材を複数の人事ポストに配置する人事異動案について、（ａ）前記人事異動案が満たすべき必須要件、（ｂ）前記人事異動案が満たすことが推奨される任意要件、及び（ｃ）前記人事異動案が前記任意要件を満たしている度合いを数値化するコスト関数、の定義を記憶する記憶手段と、前記必須要件を満たしつつ、前記コスト関数を最適化する解を探索する探索手段と、前記探索手段により発見された前記解を、前記人事異動案として出力する出力手段とを有する人事異動支援装置を提供する。
【０００７】
前記コスト関数は、前記任意要件に関し複数の項目及び当該複数の項目の各々に対応する重み係数を含んでもよい。
【０００８】
この人事異動支援装置は、過去の人事異動データを入力することにより、前記コスト関数における前記重み係数を逆算する逆算手段を有し、前記探索手段は、前記逆算手段により逆算された前記重み係数を用いて前記解を探索してもよい。
【０００９】
前記記憶手段は、さらに、（ｄ）前記人事異動案における前記複数の人材の属性の、前記複数の人事ポストにおけるばらつきを数値化する関数、及び前記人事異動案における異動人数を示す関数の少なくとも一方を示す目的関数の定義を記憶し、前記探索手段は、前記必須要件を満たしつつ、前記目的関数及び前記コスト関数の和を最適化する解を探索してもよい。
【００１０】
前記目的関数は、前記複数の人材の考課、在籍年数、及び年齢のうち少なくとも１つの属性のばらつきを数値化する関数であってもよい。
【００１１】
前記人事ポストが複数の部支店に区分されており、前記目的関数は、前記複数の部支店における前記属性のばらつきを数値化する関数であってもよい。
【００１２】
本発明の別の態様は、複数の人材を複数の人事ポストに配置する人事異動案について、（ａ）前記人事異動案が満たすべき必須要件、（ｂ）前記人事異動案が満たすことが推奨される任意要件、及び（ｃ）前記人事異動案が前記任意要件を満たしている度合いを数値化するコスト関数、の定義を取得するステップと、前記必須要件を満たしつつ、前記コスト関数を最適化する解を探索するステップと、前記探索により発見された前記解を、前記人事異動案として出力するステップとを有する人事異動支援方法を提供する。
【００１３】
本発明のさらに別の態様は、コンピュータに、複数の人材を複数の人事ポストに配置する人事異動案について、（ａ）前記人事異動案が満たすべき必須要件、（ｂ）前記人事異動案が満たすことが推奨される任意要件、及び（ｃ）前記人事異動案が前記任意要件を満たしている度合いを数値化するコスト関数、の定義を取得するステップと、前記必須要件を満たしつつ、前記コスト関数を最適化する解を探索するステップと、前記探索により発見された前記解を、前記人事異動案として出力するステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１４】
本発明によれば、任意要件を考慮して自動的に人事異動計画を立案することができる。
【図面の簡単な説明】
【００１５】
【図１】支援装置１０の機能構成を例示するブロック図。
【図２】支援装置１０のハードウェア構成を例示するブロック図。
【図３】社員データベースの内容を例示する図。
【図４】人事ポストデータベースの内容を例示する図。
【図５】任意要件の内容を例示する図。
【図６】支援装置１０の動作の概要を例示するフローチャート。
【図７】支援装置１０の動作を例示するフローチャート。
【図８】係数行列の内容を例示する図。
【発明を実施するための形態】
【００１６】
１．構成
図１は、一実施形態に係る支援装置１０（人事異動支援装置の一例）の機能構成を例示するブロック図である。支援装置１０は、複数の人材を複数の人事ポストに配置する人事異動案を出力する装置である。支援装置１０は、企業の人事担当者等のユーザにより用いられる。支援装置１０は汎用コンピュータであり、例えばラップトップ型コンピュータ、タブレット端末、又はスマートフォンである。
【００１７】
支援装置１０は、記憶手段１１、探索手段１２、出力手段１３、及び逆算手段１４を有する。記憶手段１１は、複数の人材を複数の人事ポストに配置する人事異動案について、（ａ）人事異動案が満たすべき必須要件、（ｂ）人事異動案が満たすことが推奨される任意要件、（ｃ）人事異動案が任意要件を満たしている度合いを数値化するコスト関数、及び（ｄ）人事異動案における複数の人材の属性の、複数の人事ポストにおけるばらつきを数値化する目的関数の定義を記憶する。
【００１８】
探索手段１２は、必須要件を満たしつつ、目的関数及びコスト関数の和を最適化する解を探索する。出力手段１３は、探索手段１２により発見された解を、人事異動案として出力する。逆算手段１４は、過去の人事異動データを入力することにより、コスト関数における重み係数を逆算する。
【００１９】
図２は、支援装置１０のハードウェア構成を例示するブロック図である。プロセッサ１０１は、支援装置１０の他の要素を制御するプロセッサである。メモリ１０２は、プロセッサ１０１がプログラムを実行するためのワークエリアとして機能する記憶装置であり、例えばＲＡＭ（Random Access Memory）を含む。記憶装置１０３は各種のプログラム及びデータを記憶する記憶装置であり、例えば、ＳＳＤ（Solid State Drive）又はＨＤＤ（Hard Disk Drive）を含む。通信ＩＦ１０４は、予め定められた無線又は有線の通信規格（例えば、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はイーサネット（登録商標））に従って他の装置と通信を行う。ＵＩ（User Interface）部１０５は例えばタッチスクリーンとキーとを備える。ＵＩ部１０５は支援装置１０に内蔵されていてもよく、また、外付けされて外部接続されてもよい。
【００２０】
記憶装置１０３は、人事異動案を作成するためのプログラム（以下「人事異動支援プログラム」という）を記憶する。プロセッサ１０１が人事異動支援プログラムを実行することにより、図１に示される機能がコンピュータに実装される。人事異動支援プログラムを実行しているプロセッサ１０１は、探索手段１２、出力手段１３、及び逆算手段１４の一例である。記憶装置１０３は、記憶手段１１の一例である。
【００２１】
この例において、記憶手段１１は、人事データベース（図示略）を記憶する。人事データベースは人事に関する情報が記録されたデータベースである。人事データベースは、社員データベース、及び人事ポストデータベースを有する（いずれも図示略）。社員データベースには、社員の属性を示す情報が記録される。人事ポストデータベースには、人事ポストの属性を示す情報が記録される。
【００２２】
図３は、社員データベースの内容を例示する図である。この例において、社員データベースには、社員の属性として、「社員ＩＤ」、「氏名」、「所属ＩＤ」、「所属名」、「在籍年数」、「職級」、「金融知識」、「外務員資格」、「担当業務」、「考課」、「転勤可」、「転勤条件」、「既婚」、及び「夫婦のみ」の項目が記録される。これらの項目のうち、「社員ＩＤ」の項目には、社員を識別する識別子（社員ＩＤ）が記録される。「氏名」の項目には、社員の氏名が記録される。「所属ＩＤ」の項目には、その社員が所属する部署及び役職を識別する識別子（所属ＩＤ）が記録される。「所属名」の項目には、その社員が所属する部署名及び役職名が記録される。「在籍年数」の項目には、その所属（ポジション）での在籍年数が記録される。「職級」の項目には、その社員の職級を示す値が記録される。
【００２３】
「金融知識」の項目には、その社員が金融知識に関する所定の資格を有しているかを示す情報が記録される。所定の資格を有している場合、「金融知識」の項目には「１」が記録される。一方、所定の資格を有していない場合、「金融知識」の項目には何も記録されない（又は値「ゼロ」若しくは空文字列が記録される。以下同様）。「外務員資格」の項目には、その社員が外務員に関する所定の資格を有しているかを示す情報が記録される。所定の資格を有している場合、「外務員資格」の項目には「１」が記録される。一方、所定の資格を有していない場合、「外務員資格」の項目には何も記録されない。
【００２４】
「営業」の項目には、その社員の担当業務が営業である場合に「１」が記録され、そうでない場合には何も記録されない。「事務」の項目には、その社員の担当業務が事務である場合に「１」が記録され、そうでない場合には何も記録されない。「考課」の項目には直近の期におけるその社員の考課（例えば５段階評価）を示す情報が記録される。「転勤可」の項目には、その社員が転勤を了承している場合に「１」が記録され、そうでない場合には何も記録されない。「転勤条件」の項目には転勤に関する転勤条件が記録される。転勤条件は例えば、夫婦でその会社に勤務している場合において「夫婦で同じ勤務地である場合のみ転勤可」といった条件を示す情報である。
【００２５】
「夫婦のみ」の項目には、その社員の属する世帯が夫婦のみの世帯であるかを示す情報が記録される。その社員の属する世帯が夫婦のみの世帯である場合、「夫婦のみ」の項目には「１」が格納され、それ以外の場合には何も格納されない。
【００２６】
図４は人事ポストデータベースの内容を例示する図である。図４に例示されるデータベースには、人事ポストの属性として、「ポストＩＤ」、「ポスト名」、「場所コード」、「現人数」、「人数（下限）」、「人数（上限）」、「職級（最低）」、「職級（最高）」、「考課（最低）」、「営業」、「事務」、「金融知識」、「外務員資格」、「夫婦のみ世帯不可」、等の各項目が互いに関連付けられている。これらの項目のうち、「ポストＩＤ」の項目には、人事ポストすなわち部署（支店）及び役職の組み合わせを識別する識別子（ポストＩＤ）が記録される。「ポスト名」の項目には、人事ポスト名、すなわち部署名及び役職名の組み合わせ（例えば「〇〇支店△△部長」）が記録される。「場所コード」の項目には、部支店を識別する識別子（場所コード）が記録される。「現人数」の項目には、その部署（支店）及び役職に配属されている現在の社員の人数が記録される。「人数（下限）」の項目及び「人数（上限）」の項目にはそれぞれ、その部署（支店）及び役職に配属されるべき最低人数及び最高人数が記録される。「考課（最低）」の項目には、その役職に配属される社員に要される考課の最低値が記録される。
【００２７】
「営業」の項目及び「事務」の項目には、その人事ポストが営業担当であるか事務担当であるかを示す値が記録される。その人事ポストが営業担当のポストである場合、「営業」の項目に「１」が記録され、「事務」の項目には何も記録されない。一方、その人事ポストが事務担当のポストである場合、「事務」の項目に「１」が記録され、「営業」の項目には何も記録されない。
【００２８】
「金融知識」の項目には、金融知識に関する所定の資格がその人事ポストにおいて必須とされるか否かを示す情報が記録される。所定の資格が必須である場合、この項目には「１」が記録され、所定の資格が推奨される場合、「−１」が記録される。一方、所定の資格が必須でなく、かつ、推奨もされない場合、この項目には何も記録されない。
【００２９】
「外務員資格」の項目には、外務員に関する所定の資格がその人事ポストにおいて必須とされるか否かを示す情報が記録される。所定の資格が必須である場合、この項目には「１」が記録され、所定の資格が推奨される場合、「−１」が記録される。一方、所定の資格が必須でなく、かつ、推奨もされない場合、この項目には何も記録されない。
【００３０】
「夫婦のみ世帯不可」の項目には、夫婦のみの世帯に属する社員の場合に、その人事ポストへの配属を禁止するか否かを示す情報が記録される。夫婦のみの世帯の社員の場合、例えば配偶者の精神的負担に配慮し、特定の勤務地においては配属が不可とされる。禁止する場合、この項目には「１」が記録され、禁止されない場合、この項目には何も記録されない。
【００３１】
人事異動案が作成される際に参照される必須要件には、人材に関する要件と人事ポストに関する要件とがある。人材に関する必須要件は、人材（例えば、社員）毎に設定される要件である。社員データベースに記録された「転勤可」及び「転勤条件」等の情報は、人材に関する必須要件の例である。人事ポストに関する必須要件は、人事ポスト（例えば、支店長、副支店長、店員、等）毎に設定される要件である。人事ポストデータベースに記録された「人数（下限）」、「人数（上限）」、「職級（最低）」、「職級（最高）」、「考課（最低）」、「営業」、「事務」、「金融知識」、「外務員資格」、及び「夫婦のみ世帯不可」等の情報は、人事ポストに関する必須要件の例である。
【００３２】
また、人事異動案が作成される際に参照される任意要件には、人材に関する要件と人事ポストに関する要件とがある。人材に関する任意要件は、人材毎に設定される要件である。任意要件は例えば、「３年以上継続して現在の人事ポストに所属している社員は移動を推奨する」といった情報である。人事ポストに関する任意要件は、人事ポスト事に設定される要件である。人事ポストに関する任意要件は例えば、「営業部の次長は外務員資格を有していることが望ましい」といった情報である。
【００３３】
図５は、任意要件の内容を例示する図である。任意要件は、複数の項目及び当該複数の項目の各々に対応する重み係数を含む。図５の例では、任意要件に含まれる複数の項目のそれぞれについて、重み係数が設定されている。
【００３４】
また、記憶手段１１には、目的関数及びコスト関数の定義が記憶されている。目的関数は、人事異動案における複数の人材の属性の、複数の人事ポストにおけるばらつきを数値化する関数である。目的関数は例えば、複数の人材の考課、在籍年数、及び年齢のうち少なくとも１つの属性のばらつきを数値化する関数である。この実施形態において、人事ポストが場所コードにより複数の部支店に区分されており、目的関数は、その複数の部支店における属性のばらつきを数値化する関数である。ばらつきを示す値としては、例えば、場所コードにより示される場所（支店）毎の各社員の考課の分散の合計又は平均が用いられる。
【００３５】
コスト関数は、人事異動案が任意要件を満たしている度合いを数値化する関数である。以下の説明では、説明の便宜上、コスト関数により算出される値を「適合値」という。この実施形態では、任意要件に含まれる複数の項目のそれぞれの重み係数を用いて適合度が算出される。任意要件を満たしている度合いが大きいほど、適合値の値はゼロに近い値となる。
【００３６】
探索手段１２は、必須要件を満たしつつ、目的関数及びコスト関数の和を最適化（この例では最小化）する解を探索する。出力手段１３は、探索手段１２により発見された解を、人事異動案として出力する。逆算手段１４は、過去の人事異動データを入力することにより、コスト関数における重み係数を逆算する。
【００３７】
２．動作
図６は、支援装置１０の動作の概要を例示するフローチャートである。ステップＳ１において、支援装置１０は人事データベースから必須要件、任意要件、目的関数、及びコスト関数の定義を取得する。目的関数は、上述したように、人事異動案における複数の人材の属性の複数の人事ポストにおけるばらつきを数値化する関数である。コスト関数は、人事異動案が任意要件を満たしている度合いを数値化する関数である。
【００３８】
ステップＳ２において、支援装置１０は、ステップＳ１で取得された必須要件を満たしつつ、取得された目的関数及びコスト関数の和を最適化する解を探索する。この例で、支援装置１０は、社員データベースに記録された情報及び人事ポストデータベースに記録された情報を用いて、各社員が移動可能なポジションを示す係数行列を作成する。次いで、支援装置１０は、作成した係数行列を用いて複数の人事異動案（候補）を作成し、作成された複数の人事異動案（候補）の中から、目的関数及びコスト関数の和を最適化する解を探索する。この探索は、いわゆる「最適化問題（数理計画問題）」を解くことにほかならない。なお本件の「目的関数及びコスト関数の和」が最適化問題で通常いうところの「目的関数」に相当するということもできる。最適化問題を解くためのアルゴリズムは種々研究されており、解を探索するアルゴリズムとしてどのようなアルゴリズムが採用されてもよい。
【００３９】
ステップＳ３において、支援装置１０は、ステップＳ２の探索により発見された解を、人事異動案として出力する。
【００４０】
２−１．動作例１
図７は、支援装置１０の詳細な動作を例示するフローチャートである。なおここでは具体的なパラメータ及び数式を用いて説明をするが、これらはあくまで例示であって本発明はこれに限定されるものではない。ステップＳ１０１において、探索手段１２は、記憶手段１１に記憶された社員データベース及び人事ポストデータベースを用いて、各社員が移動可能なポジションを示す係数行列としてn×m行列C=(cij)を作成する。
【００４１】
図８は、係数行列Cを例示する図である。係数行列Cにおいて、nは社員データベースに登録されている社員の数であり、mは人事ポストデータベースに登録されている人事ポストの数である。係数行列Cにおいて、行i（iは、1≦i≦nを満たす自然数）は、社員データベースに登録されている、社員ＩＤがiの社員（以下、社員（ｉ）と表す）を示す。列j（jは、1≦j≦mを満たす自然数）は、人事ポストデータベースに登録されている、人事ポストＩＤがjの人事ポスト（以下、ポスト（ｊ）と表す）を示す。図８において、「１」が白黒反転して表示されている成分cijは現在配置を表す。つまり現在、社員（ｉ）がポスト（ｊ）に就いている旨を示す。現在配置を表すn×m行列x=(xij)を各成分xijが社員（ｉ）がポスト（ｊ）に就いているときのみ１、そうでないときは０であるような行列として定義する。
【００４２】
探索手段１２は、社員（ｉ）について、ポスト（ｊ）に就くために必須となる必須要件を満たすか（その社員がその人事ポストに就くことが可能かどうか）を、社員データベース及び人事ポストデータベースを参照して判定する。必須要件を満たしている場合、探索手段１２は、成分cijの値を「１」にする。すなわち、探索手段１２は、成分cijのビットを立てる。一方、条件を満たしていない場合、探索手段１２は、成分cijの値をゼロのままにする。例えば、探索手段１２は、まず対象となる社員を特定し（パラメータiを固定）し、各人事ポストを走査（パラメータjを走査）して上記の判断を行う。次に、探索手段１２は、対象となる社員を更新（パラメータiを更新）し、全ての社員について判断が完了するまで、上記の処理を繰り返し実行する。なお、必ず異動させる社員又は人事ポストについては、その行又は列と初期値との差をとり値を「ゼロ」としてもよい。係数行列cの全ての成分cijについて判定が行われ、図８に例示される係数行列Cが得られる。
【００４３】
図７の説明に戻る。ステップＳ１０２において、探索手段１２は、係数行列Cを用いて、必須要件を満たす人事異動案（候補）を全て特定する。人事異動案（候補）は、係数行列Cにおいて、値が「１」である成分を各行及び各列において１つずつに減じた行列で表される。これにより、複数の人事異動案（候補）が特定される。
【００４４】
ステップＳ１０３において、探索手段１２は、ステップＳ１０２で特定された複数の人事異動案（候補）のそれぞれについて、目的関数の値を計算する。一例において目的関数Oは次式（１）で表される。
【数１】
0006867050.tif 000002
ここで、v(l)は部支店lにおける、評価対象となるパラメータ（例えば、考課、在籍年数、又は年齢）の平均値を表す。dは部支店の数を表す。μvは、v(l)の、l=1,…,dでのでの平均をとった値を表す。角括弧の前の記号Σは、全ての部支店について角括弧内の結果を足し合わせることを意味する。k(v)はそのパラメータに乗算する重み係数を表す。式（１）の冒頭のΣは、複数のパラメータについて波括弧内の結果を足し合わせることを意味する。なお、目的関数において考慮されるパラメータは１個だけであってもよい。その場合、式（１）冒頭のΣは不要である。
【００４５】
なお、式（１）で例示された目的関数は、部支店間でのパラメータのばらつきを最小化するための関数である。しかし、目的関数は、部支店間でのパラメータのばらつきを最小化するための関数に限定されない。例えば、目的関数は、異動人数を最小化（又は最大化）するものであってもよい。ここでは異動人数を最小化する例を説明する。ベクトルx=(xij)が現在の人事配置を、ベクトルz=(zij)が異動後の人事配置を表すとすると、異動人数nmoveは、次式（２）で表される。
【数２】
0006867050.tif 000003
ここで、nは社員データベースに登録されている社員の数を、(x,z)は行列x及びzをベクトルとみなし内積を取った値を表す。なお、iは1≦i≦nを満たす自然数であり、jは1≦j≦mを満たす自然数である（mは人事ポストの数を表す）。
【００４６】
式（２）は、次式（３）のようにも表現できる。
【数３】
0006867050.tif 000004
式（２）又は（３）で表される異動人数nmoveを目的関数として用いてもよいし、式（１）の関数、及び式（２）又は（３）の関数にそれぞれ係数を乗算し、加算した関数を目的関数として用いてもよい。
【００４７】
なお、式（１）において計算される分散は線形ではないのでパラメータの散らばりを抑える手段として「各部支店の考課平均の最小値」の最大化を採用してもよい。これは、実変数sを用意し、次の問題を解くことに等しい。
【数４】
0006867050.tif 000005
ここで、v(l)は各部支店lにおける考課の平均値である。また、平均化したいパラメータが複数ある場合は式（１）と同様に重み係数を乗算して足すことにより目的関数を変更してもよい。その場合は実変数svをパラメータvの分だけ用意し、次式（５）を考えればよい。
【数５】
0006867050.tif 000006
この場合、v(l)は各部支店lの考課に限らず、評価対象となるパラメータ（例えば、上記の例で考えた考課、在籍年数、又は年齢）の平均値を表す。
【００４８】
また、この例において目的関数は省略されてもよい。すなわち、コスト関数のみが考慮され、最適化されてもよい。
【００４９】
ステップＳ１０４において、探索手段１２は、ステップＳ１０２で特定された複数の人事異動案（候補）のそれぞれについて、コスト関数の値を計算する。一例においてコスト関数Cstは次式（６）で表される。
【数６】
0006867050.tif 000007
ここで、rpst(i)はポスト（ｉ）に関する任意要件が満たされている度合いを示す。w(i)はその任意要件の重み係数を表す。rpsn(j)は人材（ｊ）に関する任意要件が満たされている度合いを示す。w(j)はその任意要件の重み係数を示す。「任意要件が満たされている度合い」は、例えばその要件に係る事項が「満たしている」「満たしていない」の２状態しか取らないもの（一例としては資格の有無に関する条件）については「ゼロ」又は「１」のいずれかである。その要件に係る事項が多くの状態を取り得るもの（一例としては「勤続年数は長い方が好ましい」といった条件）については、あらかじめ決められた基準に従って数値化される（一例としては、勤続年数が１０年以上で「ゼロ」、５年以上１０年未満で「１」、２年以上５年未満で「２」、２年未満で「３」）。この動作例では、コスト関数は、任意要件を満たしている度合いが高いほど、値が小さくなるように定義される。なお、式（１）及び式（２）における係数は、図７のフローの開始前の時点において決定されており、例えば記憶手段１１に記憶されている。探索手段１２は、記憶手段１１から、目的関数及びコスト関数の定義に加え、これらの関数で用いられる係数の値を読み出して使用する。
【００５０】
ステップＳ１０５において、探索手段１２は、目的関数及びコスト関数の和を最適化する解を探索する。例えば、探索手段１２は、ステップＳ１０２で作成された複数の人事異動案（候補）の各々について、目的関数及びコスト関数の和を計算し、これらの人事異動案（候補）の中から、目的関数及びコスト関数の和が最小となるもの（又は最もゼロに近いもの）を解として選択する。
【００５１】
なお、ここでは本願発明の理解を容易にするため、まず全ての人事異動案（候補）を特定し、目的関数及びコスト関数をそれぞれ別個に計算して和が最小となる解を探索する、というプロセスを説明した。しかし、目的関数及びコスト関数の和を最適化する解を探索するアルゴリズムはこの例に限られない。一般に、最適化問題を解くためのアルゴリズムは種々のものが知られており、支援装置１０においてどのようなアルゴリズムが採用されてもよい。あるいは、この解を得るためにニューラルネットワーク又はディープラーニング等の機械学習又はＡＩの技術が用いられてもよい。
【００５２】
ステップＳ１０６において、出力手段１３は、探索手段１２により発見された解を人事異動案として出力する。人事異動の担当者等は、支援装置１０から出力される人事異動案を参照する。担当者等は、出力された人事異動案に対し、必要に応じて手作業で調整を行ってもよい。
【００５３】
この例によれば、既に確立されている人事データベースを用いて、必須要件に加えて、任意要件をも考慮した人事異動案を簡単に（自動的に）生成することができる。
【００５４】
２−２．動作例２
動作例１において、目的関数及びコスト関数において用いられる係数の値が既に決定されている例を説明した。これらの係数の値は、支援装置１０のユーザである各社の状況に応じて個別に設定されることが好ましいものの、特に初めて支援装置１０を導入したユーザにとって、最初に人事異動案を作成させようとする場合に係数を具体的にどのような値に設定すればよいのかよく分からないことがある。動作例２では、このような問題に対処する。具体的には、動作例２では、既に実行済である過去の人事異動案（一例としては直近の人事異動案）を入力として与え、支援装置１０はこの入力から重み係数を逆算する。
【００５５】
重み係数を逆算する場合、逆算手段１４は、人事異動データ（人材とポストの組み合わせ）を定数として、任意要件の係数を変数（引数）として目的関数とコスト関数を最小化する係数の組み合わせを解として探索する。すなわち、動作例１の場合と定数・変数が逆である。この例における逆算処理も最適化問題を解くことにほかならない。ここでは動作例１の解の探索と同じアルゴリズムが用いられてもよいし、異なるアルゴリズムが用いられてもよい。
【００５６】
この実施形態では、人事異動案を作成する際に用いられる目的関数及びコスト関数における重み係数を自動的に決定することができる。
【００５７】
３．変形例
本発明は上述の実施形態に限定されず、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて適用されてもよい。
【００５８】
（１）上述の実施形態において、支援装置１０から出力された人事異動案に対し担当者等が手作業で調整を行った場合、調整された人事異動案を用いて、支援装置１０が、重み係数の逆算処理を実行してもよい。調整後の人事異動案を用いて逆算処理が行われることにより、重み係数の精度が向上する。
【００５９】
また、担当者等が手作業で調整を行う際に、任意要件の内容が担当者等により変更されてもよい。
【００６０】
（２）上述の実施形態では、支援装置１０が複数の人材を複数の人事ポストに配置する人事異動案を出力する場合について説明した。支援装置１０は、上述した例以外にも、例えば、忘年会での席順や、学校や研修におけるクラス分けについても利用可能である。
【００６１】
（３）支援装置１０の機能構成は図１で例示したものに限定されない。図１に示した機能の一部が省略されてもよいし、図示されていない機能が追加されてもよい。また、上述の支援装置１０に係る機能が、複数の装置により分担されて提供されてもよい。
【００６２】
支援装置１０が行う処理の順序は、上述した実施形態で説明された例に限られない。処理のステップは、矛盾が生じない限りにおいて入れ替えられてもよい。また、本発明は、支援装置１０において行われる人事異動支援方法として提供されてもよい。
【００６３】
支援装置１０のハードウェア構成は、図２に例示されたものに限定されない。要求される機能を実現できるものであれば、支援装置１０はどのようなハードウェア構成を有していてもよい。
【００６４】
上述の支援装置１０に係る機能が、複数の装置により分担されて実装されてもよい。例えば、上述の支援装置１０に係る機能が、クライアント端末と、該クライアント端末と通信回線により接続されたクラウドサーバとにより分担されて実装され、上述の支援装置１０がシステムとして構成されてもよい。
【００６５】
支援装置１０において実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。
【符号の説明】
【００６６】
１０…支援装置、１１…記憶手段、１２…探索手段、１３…出力手段、１４…逆算手段、１０１…プロセッサ、１０２…メモリ、１０３…記憶装置、１０４…通信ＩＦ、１０５…ＵＩ部。
【図１】
0006867050.tif 000008
【図２】
0006867050.tif 000009
【図３】
0006867050.tif 000010
【図４】
0006867050.tif 000011
【図５】
0006867050.tif 000012
【図６】
0006867050.tif 000013
【図７】
0006867050.tif 000014
【図８】
0006867050.tif 000015