Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4465327B2 - マッチングシステム - Google Patents
[go: Go Back, main page]

JP4465327B2 - マッチングシステム - Google Patents

マッチングシステム Download PDF

Info

Publication number
JP4465327B2
JP4465327B2 JP2006091578A JP2006091578A JP4465327B2 JP 4465327 B2 JP4465327 B2 JP 4465327B2 JP 2006091578 A JP2006091578 A JP 2006091578A JP 2006091578 A JP2006091578 A JP 2006091578A JP 4465327 B2 JP4465327 B2 JP 4465327B2
Authority
JP
Japan
Prior art keywords
matching
priority list
facility
participant
facilities
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.)
Expired - Lifetime
Application number
JP2006091578A
Other languages
English (en)
Other versions
JP2007265204A (ja
Inventor
泰治 土田
由樹 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Information Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Information Systems Corp
Priority to JP2006091578A priority Critical patent/JP4465327B2/ja
Publication of JP2007265204A publication Critical patent/JP2007265204A/ja
Application granted granted Critical
Publication of JP4465327B2 publication Critical patent/JP4465327B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この発明はマッチングシステムに関し、特に、双方向のそれぞれの希望をもとに組合せを決めるためのマッチングシステムに関する。
例えば、就職志願者の集合と志願者を受け入れる企業の集合の間のマッチング問題のように、双方向に優先度を持つ集合間のマッチング問題においてマッチングを行うための手法が提案されつつある(例えば、非特許文献1参照。)。
ここで、各志願者は自分が就職したい企業を好みにより順位づけした優先度リストを持ち、一方各企業の方も受け入れたい志願者を順位づけした優先度リストを持つものとする。志願者aの優先度リストROL(a)は、企業の集合の部分集合であり、順位によって等号を含まない不等号によって順序づけられた全順序集合である。ここでは、志願者aがpをp'より好む場合に、p<p'と書くことにする(具体例を挙げれば、pが優先度第1位で、p'は優先度第3位の場合には、p(=1)<p'(=3)となる。)。また、企業pの志願者に対する優先度リストROL(p)についても同様である。また、各企業には志願者を受け入れる採用枠(定員)がある。企業pの定員Q(p)は0以上の整数である。マッチングXとは、志願者と企業とのペア(a,p)からなる集合であって次の2つの条件を満たすものとする。
1. 任意の志願者aに関して、aを含むペア(a,p)はXにおいて1個以下である。
2. 任意の企業pに関して、pを含むペア(a,p)はXにおいて、企業の定員Q(p)個以下である。
マッチングの一例を図20に示す。図20では、志願者の集合{a1,a2,a3,a4,a5,a6,a7}と企業の集合{p1,p2,p3,p4}の間のマッチングとして、{(a1,p1),(a2,p3),(a3,p4),(a5,p3),(a6,p4)}が得られている。このマッチングでは、志願者a4,a7と企業p2にはマッチング相手が存在しない。
また、図21に志願者と企業の優先度リストの例を示す。それぞれの優先度リストでは上に記載されているものほど好ましい相手を示す。言い換えれば、下に行くほど順位が大きくなる。図21の例では、志願者は3つの企業に対して、p1<p4<p3という順序をつけている。企業は6人の志願者にa7<a1<a4<a3<a5<a6という順序をつけている。マッチングすることをまったく望まない相手は優先度リストに記載しない。
マッチング問題とは、志願者の集合と企業の集合と志願者および企業の優先度リストが与えられたときに、志願者と企業の間の組合せを求める問題のことを言う。マッチング方法とは、マッチング問題に対する解法、すなわち、志願者と企業の間の組合せを求める方法のことである。従って、マッチングシステムとは、マッチング方法を実行するシステムのことである。
また、上記のようなマッチングには安定性を定義することができる。マッチングXが安定であるのは、次の2つの条件が共に満たされる場合を言う。
1.すべての志願者(企業)は、自分の優先度リストに載せた企業(志願者)としかマッチングしない。
2.マッチングXに含まれない志願者と企業のすべてのペア(a,p)はブロッキングペアではない。ここで、ブロッキングペアとは次の3つの条件を共に満たすものである。
2.0. aはpの優先度リストに記載され、かつ、pはaの優先度リストに記載されている。
2.1. Xにおいてaはどの企業ともマッチングしていないか、またはXにおいてaはp'とマッチングしていて、aの優先度リストにおいてp<p'が成り立つ。
2.2. Xにおいてpがマッチングしている志願者数は定員Q(p)より少ないか、または、Xにおいてpがマッチングしているある志願者a'が存在し、pの優先度リストにおいてa<a'が成り立つ。
マッチング問題においては、安定なマッチングを生成する方法が求められる。不安定なマッチングが得られた場合、自分が優先度リストに記載していない相手、すなわち、自分のまったく望まない相手とマッチングした志願者または企業が存在するか、あるいは、ブロッキングペアが存在する。ブロッキングペアを構成する志願者と企業の両者にとって、得られたマッチングよりブロッキングペアの相手の方が好ましいため、不安定なマッチングは公平でない。つまり、不安定なマッチングを生成する方法ではマッチングに対する信頼性が無くなり、マッチングの対象者がマッチングに参加する意思を損なうことになる。
図22に、上記非特許文献1に書かれているGale−Shapleyアルゴリズムを用いた従来のマッチング方法を示すフローチャート図を示す。全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業(すなわち、第1希望)から順番にプロポーズを行なうのが特徴である。
図22の説明を行う前に、図23を用いて簡単に概要を説明する。図23の例は、4つの病院の集合と、それらの病院に就職を希望する8人の志願者の集合とのマッチング問題を想定している。明石さんから工藤さんまでの全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業から順番にプロポーズを行なう。
明石さんは、第1希望が双川病院であるので、先ず、はじめに、明石さんは双川病院にプロポーズする。双方病院では、明石さんが優先度リストの4位にあるので、(明石,双川病院)が仮マッチングされる。
次に、井上さんがプロポーズを行う。井上さんの優先度リストにおいては、第1希望が双川病院であるので、井上さんは双川病院にプロポーズする。双川病院では、井上さんが優先度リストの5位にあり、かつ、双川病院の定員は2名でまだ1名分空いているので、(井上,双川病院)が仮マッチングされる。
次に、上野さんがプロポーズを行う。上野さんの優先度リストにおいては、第1希望が双川病院であるので、上野さんは双川病院にプロポーズする。双川病院では、上野さんが優先度リストの6位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第2希望の病院にプロポーズを行う。第2希望の一山病院では、上野さんは1位であるので、(上野,一山病院)が仮マッチングされる。
次に、江口さんは、第1希望の一山病院にプロポーズするが、一山病院の優先度リストに江口さんの名前はないため、拒絶され、第2希望の双川病院にプロポーズするが、双川病院の優先度リストの7位で、かつ、定員に空きがないため、拒絶され、第3希望の美村病院にプロポーズすると、6位に名前があるため、(江口,美村病院)が仮マッチングされる。
次に、大川さんは、第1希望の双川病院にプロポーズする。双川病院の優先度リストで、大川さんは3位である。定員は2名であり、すでに2名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける4位の明石さんと5位の井上さんである。このため、最も順位の大きい井上さんが除外され、(大川,双川病院)が仮マッチングされる。
除外された井上さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直す。当該病院は一山病院である。しかしながら、一山病院の優先度リストに井上さんの名前はないため、拒絶される。井上さんの優先度リストには第2希望までしか登録されていないため、井上さんは、すべての病院から拒絶されたことになる。
次に、川口さんの処理を行う。川口さんの優先度リストにおいては、第1希望が双川病院であるので、川口さんは双川病院にプロポーズする。双川病院では、川口さんは優先度リストの8位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第2希望の病院にプロポーズを行う。第2希望の美村病院の優先度リストでは、川口さんの名前はないので、拒絶される。第3希望の一山病院でも同様に拒絶され、第4希望の四谷病院で、優先度リストの6位に名前があるので、(川口,四谷病院)が仮マッチングされる。
次に、木村さんは、第1希望の双川病院にプロポーズする。双川病院の優先度リストで、木村さんは1位である。定員は2名であり、すでに2名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける4位の明石さんと3位の大川さんである。このため、最も順位の大きい明石さんが除外され、(木村,双川病院)が仮マッチングされる。
除外された明石さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直すが、明石さんの優先度リストには第1希望の双川病院しか登録されていないため、明石さんは、すべての病院から拒絶されたことになる。
次に、工藤さんは、第1希望の四谷病院にプロポーズする。四谷病院の優先度リストで、工藤さんは5位である。定員は2名であり、すでに1名が仮マッチングされているが、空きが1名分ある。そのため、(工藤,四谷病院)が仮マッチングされる。
ここで、すべての志願者が、いずれかの病院と仮マッチングされるか、または、自分の優先度リストに記載した病院すべてから拒絶されたので、処理は終了する。
マッチングの結果は、(大川,双川病院)、(木村,双川病院)、(上野,一山病院)、(江口,美村病院)、(川口,四谷病院)、(工藤,四谷病院)となり、明石さんと井上さんは自分の優先度リストに記載したすべての病院から拒絶されたことになった。
上記の図22のフローチャートを用いて、図23を例にして行ったこの処理について説明する。ステップS100において、あらかじめ仮マッチングを空集合にする。ステップS101において、未処理の志願者がなければ終了し、あればその志願者の1人aに対して以下の処理を行う。ステップS102において、志願者aが優先度リストROL(a)の何番目の企業に対してプロポーズするかの指標であるa.iを1に設定する。これは、全志願者は順番に、まず自分の優先度リストで順位の一番小さい企業に対してプロポーズを行うことを示す。ステップS103において、優先度リストROL(a)の要素数がa.iより小さければ、志願者aは最終的にどの企業ともマッチングできなかったことになり、ステップS101に戻る。一方、ステップS103において、優先度リストROL(a)の要素数がa.iより小さくなければ、ステップS104において、優先度リストROL(a)のa.i番目の企業をpとする。ステップS105において、aがpの優先度リストROL(p)に含まれなければ、a.iをa.i+1に設定し直して、ステップS103に戻る。これは、プロポーズされた企業pはプロポーズした志願者aがROL(p)に記載されていなければ拒絶し、拒絶された志願者aは、自分の優先度リストROL(a)での順位が企業pの次に小さい企業にプロポーズをやり直すことに相当する。一方、ステップS105において、aがpの優先度リストROL(p)に含まれていれば、ステップS106において、その時点でpが仮マッチングしている志願者の数が定員Q(p)より少なければ、ペア(a,p)を仮マッチングに加えてステップS101に戻る。一方、ステップS106において、その時点でpが仮マッチングしている志願者の数が定員Q(p)より少なくなければ、ステップS107において、pと仮マッチングしている志願者の中で、pの優先度リストROL(p)で順位が最も大きいものをa1とする。a1とプロポーズしている志願者aとの間で、ROL(p)での順位を比較する。aの順位の方が大きければ、a.iをa.i+1に設定し直して、ステップS103に戻る。これは、aの順位の方が大きければ企業pはaを拒絶することに相当する。拒絶された志願者aは、pの次に自分の優先度リストROL(a)での順位が小さい企業にプロポーズをやり直すことになる。このステップS107以降では企業pと仮マッチングしている志願者数が定員Q(p)と等しい。ステップS108において、a1の順位の方がaの順位より大きいので、ペア(a,p)を仮マッチングに加え、ペア(a1,p)を仮マッチングから除外し、aをa1に設定し直す。ステップS109において、a.iをa.i+1に設定し直してステップS103に戻る。つまり、仮マッチングから除外された志願者(元のa1)は、pの次に自分の優先度リストでの順位が小さい企業に対してプロポーズをやり直すことになる。図22の処理が終了するのは、ステップS101において、すべての志願者が、いずれかの企業と仮マッチングされるか、または、自分の優先度リストに記載された企業すべてから拒絶されたときである。図22の処理が終了した段階で最終的に得られた仮マッチングをマッチング結果とする。なお、Gale−Shapleyアルゴリズムにより得られるマッチングは安定であることが非特許文献1に記載されている。
「The Stable Marriage Problem」、D.Gusfield 及び R.W.Irving著、The MIT Press、1989年、p.9
以上のように、従来のマッチングシステムにおいては、志願者と企業のように1対1になる組み合わせを、安定したマッチング結果が得られると定評の高いGale−Shapleyアルゴリズムにより求めている。
しかしながら、例えば、歯科医になるための研修プログラムのように、1人の研修希望者に対して複数の施設を割り当てる組合せを決めなければならないような、1対M(M≧2)となる組合わせを求めなければならない場合がある。
そのような場合には、上述のマッチングシステムでは、組合わせを求めることが出来ないという問題点があった。
また、どうしても従来のマッチングシステムを用いて1対Mの組合わせを求めようとすると、研修プログラムの内容に応じて、マッチングシステムを必要数用意するか、あるいは、同じシステムを何度も連続して繰り返し用いて処理を行う必要があるという問題点があった。
そのためには、複数のシステムを構築して同時に運用するためのコストがかかる、あるいは、必要な回数の運用を連続して行うために処理時間がかかる、さらには、ユーザが似たような優先度リストROLデータを複数回入力する必要があるので、ユーザの手間がかかる、あるいは、入力すべきデータが混乱する、および、入力誤りが発生する等の問題点があった。
この発明は、かかる問題点を解決するためになされたものであり、1対複数の組合せを一回のみの入力から高いマッチング率で決定することが可能で、手間がかからず、処理時間が早く、コストを抑えることが可能なマッチングシステムを得ることを目的としている。
この発明は、複数の参加者と複数の施設との各要素をマッチングするためのマッチングシステムであって、マッチング処理を行うマッチング処理対象区間が以上の区分に分割されており、上記参加者以上のグループのいずれかに属しており、上記区分は、上記グループごとに共通であって、上記グループのグループIDごとに、マッチング処理を行う上記区分の区分IDが登録されているマッチング区分指定登録手段と、上記参加者ユーザIDごとに、当該各要素が属している上記グループのグループIDが記憶されているグループ情報記憶手段と、上記施設施設コードごとに、マッチングで受け入れ可能な定数を記憶した定数記憶手段と、上記参加者ユーザIDごとに、上記施設の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リスト記憶手段と、上記施設施設コードごとに、上記参加者の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リスト記憶手段と、記憶された上記第1の優先度リストが上記参加者ユーザIDごとに、上記施設の一部に対して一意に順位付けられたものであった場合に、当該第1の優先度リストを、上記参加者ユーザIDごとに上記施設の全部に対して一意に順位付けられたものになるように、総施設数から指定施設コード数を減算した数のレコードを追加し、指定されていない施設コードに任意の順位を指定することで、補完して出力するとともに、施設の全部に対して一意に順位付けられている場合には記憶された上記第1の優先度リストをそのまま出力する第1の優先度リスト補完手段と、記憶された上記第2の優先度リストが上記施設施設コードごとに上記参加者の一部に対して一意に順位付けられたものであった場合に、当該第2の優先度リストを、上記施設施設コードごとに上記参加者の全部に対して一意に順位付けられたものになるように、総参加者数から指定参加者数を減算した数のレコードを追加し、指定されていないユーザIDに任意の順位を指定することで、補完して出力するとともに、施設の全部に対して一意に順位付けられている場合には記憶された上記第2の優先度リストをそのまま出力する第2の優先度リスト補完手段と、上記マッチング区分指定登録手段から上記区分IDごとに該当するグループIDを抽出するグループID抽出手段と、上記区分IDごとに、抽出した上記グループIDに対応する上記ユーザIDを、上記グループ情報記憶手段から抽出するユーザID抽出手段と、上記区分IDごとに、抽出した上記ユーザIDに対応するレコードを上記第1の優先度リスト補完手段から出力された上記第1の優先度リストから抽出して、一時的第1の優先度リストを作成する第1の一時的優先度リスト作成手段と、上記区分IDごとに、抽出した上記ユーザIDを含むレコードを上記第2の優先度リスト補完手段から出力された上記第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段と、上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記抽出された全ての参加者を、上記施設のいずれかに対して、マッチング処理を行うマッチング処理手段と備えたマッチングシステムである。
この発明は、複数の参加者と複数の施設との各要素をマッチングするためのマッチングシステムであって、マッチング処理を行うマッチング処理対象区間が以上の区分に分割されており、上記参加者以上のグループのいずれかに属しており、上記区分は、上記グループごとに共通であって、上記グループのグループIDごとに、マッチング処理を行う上記区分の区分IDが登録されているマッチング区分指定登録手段と、上記参加者ユーザIDごとに、当該各要素が属している上記グループのグループIDが記憶されているグループ情報記憶手段と、上記施設施設コードごとに、マッチングで受け入れ可能な定数を記憶した定数記憶手段と、上記参加者ユーザIDごとに、上記施設の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リスト記憶手段と、上記施設施設コードごとに、上記参加者の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リスト記憶手段と、記憶された上記第1の優先度リストが上記参加者ユーザIDごとに、上記施設の一部に対して一意に順位付けられたものであった場合に、当該第1の優先度リストを、上記参加者ユーザIDごとに上記施設の全部に対して一意に順位付けられたものになるように、総施設数から指定施設コード数を減算した数のレコードを追加し、指定されていない施設コードに任意の順位を指定することで、補完して出力するとともに、施設の全部に対して一意に順位付けられている場合には記憶された上記第1の優先度リストをそのまま出力する第1の優先度リスト補完手段と、記憶された上記第2の優先度リストが上記施設施設コードごとに上記参加者の一部に対して一意に順位付けられたものであった場合に、当該第2の優先度リストを、上記施設施設コードごとに上記参加者の全部に対して一意に順位付けられたものになるように、総参加者数から指定参加者数を減算した数のレコードを追加し、指定されていないユーザIDに任意の順位を指定することで、補完して出力するとともに、施設の全部に対して一意に順位付けられている場合には記憶された上記第2の優先度リストをそのまま出力する第2の優先度リスト補完手段と、上記マッチング区分指定登録手段から上記区分IDごとに該当するグループIDを抽出するグループID抽出手段と、上記区分IDごとに、抽出した上記グループIDに対応する上記ユーザIDを、上記グループ情報記憶手段から抽出するユーザID抽出手段と、上記区分IDごとに、抽出した上記ユーザIDに対応するレコードを上記第1の優先度リスト補完手段から出力された上記第1の優先度リストから抽出して、一時的第1の優先度リストを作成する第1の一時的優先度リスト作成手段と、上記区分IDごとに、抽出した上記ユーザIDを含むレコードを上記第2の優先度リスト補完手段から出力された上記第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段と、上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記抽出された全ての参加者を、上記施設のいずれかに対して、マッチング処理を行うマッチング処理手段と備えたマッチングシステムであるので、1対複数の組合せを一回のみの入力から高いマッチング率で決定することが可能で、手間がかからず、処理時間が早く、コストを抑えることが可能である。
実施の形態1.
この発明の実施の形態1に係るマッチングシステムは、1対M(M≧1)の組合せを決定するためのシステムである。例を挙げて説明すれば、例えば、歯学部の卒業生で研修を希望する研修希望者(以下、参加者とする。)は、1以上の歯科の医療施設(すなわち、大学病院や開業している歯科医など)で、多種多数の治療を経験する必要があるため、図10(a)に示すように、例えば、前期は施設Bで研修を行い、後期は施設Cで研修を行うといったように、一人の参加者が複数の歯科の医療施設にマッチングする組合わせを求めなければならない。また、1施設で受け入れられる定員は1〜2名程度であるが、各々の施設に関する情報が少ないため、参加者が前年の研修実施記録等を参照する傾向があり、特定の施設への希望が集中しやすい状況があるため、マッチング率を向上させるために何らかの手段を講じなければならない。
図10(b)は、本実施の形態を説明するための研修プログラムの一例を示した図である。図10(b)の例においては、研修設定可能期間(区間)が、ある年の4月から翌年の3月までであり、その研修設定可能期間が前期、中期、後期の3つに分かれており、前期(SNO=1)は4〜7月、中期(SNO=2)は8〜11月、後期(SNO=3)は12〜3月となっている。図10(b)において、“管理型”とは、比較的規模の大きい医療施設、すなわち、大学病院等での研修を意味しており、これは参加者全員の受け入れが可能であるためマッチングは不要である。一方、“協力型”とは、受け入れ可能人数が1〜2名程度の規模の小さいいわゆる開業医等での研修を意味し、これについては、マッチングによる組み合わせ決定が必要である。Aプログラムは、前期と後期が管理型であり、中期が協力型となっている。すなわち、中期の分だけのマッチングが必要である。Bプログラムは、前期が管理型で、中期と後期が協力型(しかも同一施設)となっている。中期と後期は同じ施設で研修を行うため、2回マッチングする必要はなく、1回のマッチングで中期と後期の分の両方の組合せを決定することができる。Cプログラムは、前期が管理型で、中期と後期が協力型(異なる施設)となっている。従って、Cプログラムにおいては2回マッチング処理をする必要がある。参加者は、これらの3つのプログラムから1つを選択すると共に、どこの施設で研修を行いたいかを希望順位付けして登録する希望リスト(以下、ROLとする。)を作成する。本実施の形態においては、このように複数種類の研修プログラムが存在するとともに、1人の参加者に対して複数施設の割り当てを行う必要のある、複雑なマッチング問題を例に挙げて説明する。また、図10(b)に示した例では、研修設定可能期間(区間)と、区間内の区分(前期、中期、後期)の開始時期と終了時期は、どのプログラムでも同一である。
図1は、この発明の実施の形態1に係るマッチングシステムの全体の構成を示した図である。図1に示すように、実施の形態1に係るマッチングシステムは、参加者と施設との組合せを決定するマッチング処理を行うためのマッチングサーバ100と、マッチングサーバ100の管理およびメンテナンス等を行うマッチング管理者端末400と、参加者が操作して施設の希望順位などを入力するための参加者端末200と、施設に勤務している施設管理者が操作して参加者の希望順位などを入力するための施設管理者端末300とから構成されている。なお、マッチングサーバ100、参加者端末200、施設管理者端末300、マッチング管理者端末400は、インターネット等の通信網500により接続されている。
図2は、図1に示した各構成要素の内部構成を示した図である。図2に示すように、マッチングサーバ100内には、プログラムマスタファイル1と、参加者プログラム情報ファイル2と、施設プログラム情報ファイル3と、参加者ROLファイル4と、施設ROLファイル5と、マッチング結果格納ファイル6の6つのファイルが記憶されている。これらは、共通の1つの記憶装置内に記憶されていてもよく、あるいは、複数の記憶装置内に記憶されていてもよい。さらに、マッチングサーバ100内には、通信網500を介して外部との通信を行うための通信手段7と、ROL(希望表)を作成するためのROL作成手段8と、抽出手段9と、マッチング手段10とが設けられている。
図11は、プログラムマスタファイル1の一例を示した図である。図11においては、プログラム番号は、図10(b)に示した各プログラムを示すIDである符号A,B,Cが格納されている。また、SNOは、図10(b)に示した各区分を示すIDである数字1(前期),2(中期),3(後期)が格納されている。また、継続SNOとは、Bプログラムのように、中期(SNO=2)のマッチング結果を後期(SNO=3)に継続させる場合に、どの区分のマッチング結果を継続させるかを指定するためIDが格納されている。図11の例は、図10(b)のプログラム情報に基づくものであるため、前期(SNO=1)のときは、A,B,Cのいずれのプログラムにおいても、管理型の施設に参加者全員が割り当てられるため、マッチングの必要はないので、SNO=1の場合のデータはプログラムマスタファイル1内には格納されていない。また、Aプログラムの後期(SNO=3)は、Aプログラムを選択した全員が管理型の施設に割り当てられるので、これもマッチングの必要はないので、SNO=1の場合のデータはプログラムマスタファイル1内には格納されていない。Bプログラムの中期(SNO=2)および後期(SNO=3)で同じ協力型に割り当てられることが望ましいので、Bプログラムについては、中期(継続SNO=2)のマッチング結果を後期(SNO=3)に継続させ、中期(SNO=2)のマッチング数を後期(SNO=3)の定員から減算して、Cプログラムの後期(SNO=3)のためのマッチングを行うように処理するために、Bプログラムの後期(SNO=3)レコードにおける継続SNOに、中期を示すIDである“2”が格納されている。
図12は、参加者プログラム情報ファイル2の一例を示した図である。参加者プログラム情報ファイル2には、図12に示すように、参加者を特定するためのユーザIDと、当該ユーザIDごとに、各参加者が選択した研修プログラムを示すプログラム番号が格納されている。すなわち、ユーザIDが“001”の参加者はAプログラムを選択し、ユーザIDが“002”の参加者はBプログラムを選択し、ユーザIDが“003”の参加者はAプログラムを選択し、・・・ということを示す情報が参加者全員について格納されている。
図13は、施設プログラム情報ファイル3の一例を示した図である。施設プログラム情報ファイル3には、協力型の研修を実施する各施設の情報が格納されている。すなわち、施設プログラム情報ファイル3には、例えば、各施設を特定するためのIDである施設コードと、施設名、定員(参加者の受け入れ可能人数)、施設住所(施設の所在地)などの情報が格納されている。
図14は、参加者ROLファイル4の一例を示した図である。参加者ROLファイル4には、各ユーザIDごとに、各ユーザが希望する施設を希望順に並べたリストが格納されている。図14においては、各ユーザごとに、第1希望から順に第n希望までの施設が格納されている。各ユーザは、例えば、インターネットのホームページ等から各施設の情報を得て、希望順位を決定する。なお、施設全部を参加者ROLファイル4に必ずしも登録する必要はないので、例えば、研修を行いたくない施設については参加者ROLファイル4に登録する必要はなく、希望する施設のみを参加者ROLファイル4に登録するようにしてもよい。
しかしながら、参加者が登録する施設の数が少なければ少ないほどマッチング率が低下してしまう。
マッチングサーバ100は、参加者端末200の処理手段22から、ユーザIDごとの希望順位を受け付けるが、希望順位は参加者が希望する順位までであるので、参加者ごとに指定する相手方の施設の個数が異なる。つまり、参加者によって、nの数が異なる。
マッチング率を向上させるためには、参加者全てにおいて、登録する施設の数が、n=相手方の施設数の総数だけ、参加者ROLファイル4に入っていることが望ましい。
そのため、本実施の形態では、(1)マッチングを行う前に、後述の図5の処理により参加者ROLファイル4の補完処理を行って、個々のROLに関して、n=相手方の総数とすることでマッチング率を向上させる。(2)さらに、マッチングを1回行うたびに、後述の図8の処理により、2回目以降のマッチ結果を1回目と変更させるために、マッチングした後に、マッチングした相手を参加者ROLファイル4から削除する。
図15は、施設ROLファイル5の一例を示した図である。施設ROLファイル5には、各施設コードごとに、各施設が希望する参加者を希望順に並べたリストが格納されている。図15においては、各施設ごとに、第1希望から順に第n希望までの参加者が順に格納されている。各施設は、例えば、参加者の面談等を行って参加者の情報を得て、希望順位を決定する。なお、参加者全員を施設ROLファイル5に登録する必要はなく、例えば、受け入れたくない参加者については施設ROLファイル5に登録する必要はなく、希望する参加者のみを施設ROLファイル5に登録するようにしてもよい。
しかしながら、施設が登録する参加者の数が少なければ少ないほどマッチング率が低下してしまう。
マッチングサーバ100は、施設管理者端末300の処理手段(図示省略)から、施設コードごとの希望順位を受け付けるが、希望順位は施設管理者が希望する順位までであるので、施設ごとに、指定する相手方の参加者の個数が異なる。つまり、施設によって、nの数が異なる。
マッチング率を向上させるためには、施設全てにおいて、施設ROLファイル5に登録する参加者の数が、n=相手方の参加者数の総数だけ、施設ROLファイル5に入っていることが望ましい。
そのため、本実施の形態では、(1)マッチングを行う前に、後述の図6の処理により施設ROLファイル5の補完処理を行って、個々のROLに関して、n=相手方の数とすることでマッチング率を向上させる。(2)さらに、マッチングを1回行うたびに、後述の図8の処理により、2回目以降のマッチ結果を1回目と変更させるために、マッチングした後に、マッチングした相手を参加者ROLファイル4と施設ROLファイル5の両方から削除する。
図16は、マッチング結果格納ファイル6の一例を示した図である。マッチング結果格納ファイル6には、マッチング処理の結果得られたマッチング結果が格納されている。すなわち、図16に示すように、SNO(区分)と、ユーザIDと、割り当てられた施設の施設コードとが、それぞれ、対応付けて格納されている。これにより、どの区分(研修期間)で、どの参加者が、どこで研修を行うかを確認することができる。
なお、図14から図16で示したファイル構成で、行方向(横方向)の1行をレコードと呼ぶ。
図2の説明に戻る。図2に示すように、参加者端末200内には、入力手段20と、表示手段21と、処理手段22と、通信手段23とが設けられている。
なお、施設管理者端末300の内部構成は、参加者端末200と同様であるため、ここでは説明を省略する。
マッチング管理者端末400内には、入力手段30と、表示手段31と、処理手段32と、通信手段33とが設けられている。
次に、本実施の形態1に係るマッチングシステムの動作について説明する。図3は、マッチング管理者端末400からのデータ入力処理について示した図であり、マッチング管理者が、プログラムマスタファイル1または施設プログラム情報ファイル3の登録、追加または削除の処理を行うときの処理の流れを示している。図3に示すように、まず、マッチング管理者端末400の処理手段32は、マッチング管理者の操作により入力手段30が受け付けた入力データを通信手段33に受け渡す(ステップS1)。次に、マッチング管理者端末400の通信手段33が、マッチングサーバ100の通信手段7に当該入力データを送信する(ステップS2)。次に、マッチングサーバ100の通信手段7が、受信したデータ内容により、プログラムマスタファイル1または施設プログラム情報ファイル3にデータの追加、更新または削除を行う(ステップS3)。
図4は、参加者端末200からのデータ入力処理を示した図であり、参加者が研修プログラムに関する各種希望及び希望順位を示す希望表(ROL)の入力を行うときの処理の流れを示している。図4に示すように、まず、参加者端末200の処理手段22は、参加者の操作により入力手段20が受け付けた入力データを通信手段23に受け渡す(ステップS11)。次に、参加者端末200の通信手段23がマッチングサーバ100の通信手段7に当該入力データを送信する(ステップS12)。次に、マッチングサーバ100の通信手段7が、受信したデータ内容の判別を行う(ステップS13)。判別の結果、受信したデータがROLデータだった場合には、マッチングサーバ100のROL作成手段8が、参加者ROLファイル4にデータの追加、更新または削除を行う(ステップS15)。一方、判別の結果、受信したデータが希望プログラムデータであった場合には、マッチングサーバ100の通信手段7が、参加者プログラム情報ファイル2にデータの追加、更新または削除を行う(ステップS14)。
また、施設管理者端末300からのデータ入力を受付けるときも、図4に示したフローチャートと同様の流れになる。但し、その場合には、ステップS13およびS14の処理は不要となり、ステップS12の処理から直接ステップS15に進み、施設ROLファイル5のデータの追加、更新または削除が行われる。なお、参加者プログラム情報ファイル2、施設プログラム情報ファイル3、参加者ROLファイル4、施設ROLファイル5へのデータの追加、更新、削除の処理はマッチング管理者端末400から行なうこともできる。その場合は、それぞれのデータを何らかの記憶媒体により、管理者にファイル形式で受け渡し、管理者がマッチング管理者端末400から一括してファイル更新作業を行なうことになる。
図5は、マッチングサーバ100のROL作成手段8による参加者ROLファイル補完処理(順番に順位を付ける補完方法)を示した図である。図5に示すように、まず、マッチングサーバ100のROL作成手段8は、参加者ROLファイル4をユーザIDごとに昇順に並べ替え、順次ユーザIDごとのレコードを参照する(ステップS41)。次に、マッチングサーバ100のROL作成手段8は、参照したユーザIDの施設コード指定数(順位を記憶している施設コードの数)を確認し、施設コード指定数=aとする。また、指定順位の最大値(既に参加者ROLファイルに記憶されている順位の最大値)を検索し、最大値=cとする(ステップS42)。次に、マッチングサーバ100のROL作成手段8は、施設プログラム情報ファイル3を参照し、総施設数を確認し、総施設数=bとする(ステップS43)。次に、マッチングサーバ100のROL作成手段8は、施設コード指定数(=a)と総施設数(=b)とを比較して、aがbより小さいか否かを判定する(ステップS44)。比較の結果、aがbより小さい場合には、ステップS45を経由してステップS46に進み、aがb以上だった場合には、ステップS45をスキップして直接ステップS46に進む。ステップS45では、マッチングサーバ100のROL作成手段8が、該当ユーザIDのROLに、bの値からaの値を差し引いた数(=b−a)分のレコードを追加し、指定順位を順次c+1,c+2,・・・,bと指定する。ステップS46では、マッチングサーバ100のROL作成手段8が、次のユーザIDがあるか否かを判定する。判定の結果、次のユーザIDがあった場合にはステップS41の処理に戻り、無かった場合には処理を終了する。
図5に示した処理のステップS44の判定で、ステップS45に分岐するときは、該当ユーザIDのROLレコードが総施設数に達していないとき、つまり該当ユーザIDの順位付けが施設コードの一部に対して一意に順位付けられているときである。一方、ステップS44の判定で、ステップS45に分岐せずにステップS46に処理が流れるときは、施設コードの全部に対して一意に順位付けが完了したとき(あるいは既に参加者により、全ての施設コードに対する順位付けが指定されていたとき)である。
上述したように、マッチング率を向上させるためには、参加者全ての希望順位が、n=相手方の数だけ参加者ROLファイル4に入っていることが望ましいので、マッチングを行う前に、図5の処理により参加者ROLファイル4の補完処理を行って、個々のROLに関して、n=相手方の数とすることでマッチング率の向上を図っている。
図6は、マッチングサーバ100のROL作成手段8による施設ROLファイル補完処理(順番に順位を付ける補完方法)を示した図である。図6に示すように、まず、マッチングサーバ100のROL作成手段8は、施設ROLファイル5を施設コードごとに昇順に並べ替え、順次施設コードごとのレコードを参照する(ステップS51)。次に、マッチングサーバ100のROL作成手段8は、参照した施設コードのユーザIDの指定数(順位を記憶しているユーザIDの数)を確認し、ユーザID指定数=aとする。また、指定順位の最大値(既に施設ROLファイル5に記憶されている順位の最大値)を検索し、最大値=cとする(ステップS52)。次に、マッチングサーバ100のROL作成手段8は、参加者プログラム情報ファイル2を参照し、総参加者数を確認し、総参加者数=bとする(ステップS53)。次に、マッチングサーバ100のROL作成手段8は、ユーザID指定数(=a)と総参加者数(=b)とを比較して、aがbより小さいか否かを判定する(ステップS54)。比較の結果、aがbより小さい場合には、ステップS55を経由してステップS56に進み、aがb以上だった場合には、ステップS55をスキップして直接ステップS56に進む。ステップS55では、マッチングサーバ100のROL作成手段8が、該当施設コードのROLに、bの値からaの値を差し引いた数(=b−a)分のレコードを追加し、指定順位を順次c+1,c+2,・・・,bと指定する。ステップS56では、マッチングサーバ100のROL作成手段8が、次の施設コードがあるか否かを判定する。判定の結果、次の施設コードがあった場合にはステップS51の処理に戻り、無かった場合には処理を終了する。
図6に示した処理のステップS54の判定で、ステップS55に分岐するときは、該当施設コードのROLレコードが総ユーザ数に達していないとき、つまり該当施設コードの順位付けがユーザIDの一部に対して一意に順位付けられているときである。一方、ステップS54の判定で、ステップS55に分岐せずにステップS56に処理が流れるときは、ユーザIDの全部に対して一意に順位付けが完了したとき(あるいは既に施設管理者により、全てのユーザIDに対する順位付けが指定されていたとき)である。
上述したように、マッチング率を向上させるためには、施設全ての希望順位が、n=相手方の数だけ施設ROLファイル5に入っていることが望ましいので、マッチングを行う前に、図6の処理により施設ROLファイル5の補完処理を行って、個々のROLに関して、n=相手方の数とすることでマッチング率の向上を図っている。
図7は、マッチングサーバ100の抽出手段9によるROL抽出処理とマッチング手段10によるマッチング処理を示した図である。図7に示すように、まず、マッチングサーバ100の抽出手段9は、SNO=nとしてnの初期値である1をSNOに設定するとともに、nの最大値を予め登録する(ステップS21)。次に、マッチングサーバ100の抽出手段9は、現在のSNOが予め設定されているSNO(=n)の最大値よりも大きい場合は、そのまま終了し、最大値以下の場合は、ステップS22に進む(ステップS30)。次に、マッチングサーバ100の抽出手段9は、プログラムマスタファイル1から現在のSNO(初回は、SNO=1)に該当し、継続SNOが指定されていないプログラム番号を全て抽出する(ステップS22)。なお、先のSNOに対してマッチング処理を行った場合には、ステップS22で図8の更新処理を行い、マッチング処理を行っていない場合は、ステップS22で図8の更新処理は行わない。次に、ステップS22による抽出の結果、該当のSNOがあった場合には、マッチングサーバ100の抽出手段9が抽出したプログラム番号に対応するユーザIDを参加者プログラム情報ファイル2から全て選出する(ステップS23)。一方、抽出の結果、該当のSNOが無く、かつ、現在のSNOが予め設定されているSNOの最大値以下の場合には、ステップS29に進む。次に、マッチングサーバ100のROL作成手段9は、ステップS23で選出したユーザIDのレコードを参加者ROLファイル4から取り出し、一時的参加者ROLファイルを作成する(ステップS24)。なお、ここで、ステップS24で用いる参加者ROLファイル4は、図5の処理により補完されたものである。また、2回目以降のマッチング処理においては、図5の処理で補完されたものをさらに後述の図8の処理により更新したものをステップS24で用いることとする。次に、ステップS23で選出したユーザIDを含むレコードを施設ROLファイル5から取り出し、一時的施設ROLファイルを作成する。その後、一時的施設ROLファイルに含まれる各施設の定員情報を施設プログラム情報ファイル3から取り出し、その定員数から一時的な定員情報を構成する(定員数を各施設の一時的な定員情報に複写する)(ステップS25)。なお、ここで、ステップS25で用いる参加者ROLファイル4は、図6の処理により補完されたものである。また、2回目以降のマッチング処理においては、図6の処理で補完されたものをさらに後述の図8の処理により更新したものをステップS25で用いることとする。次に、マッチングサーバ100の抽出手段9は、プログラムマスタファイル1を参照し、現在のSNOの中で、継続SNOが指定されているものはあるか否かを判定する(ステップS26)。継続SNOの指定がない場合には、マッチングサーバ100のマッチング手段10が、上述した図22に示すGale−Shapleyアルゴリズムを用いたマッチング処理を行い、得られたマッチング結果をマッチング結果格納ファイル6に格納する(ステップS27)。一方、ステップS26の判定の結果、継続SNOの指定があった場合には、マッチングサーバ100の抽出手段9が、マッチング結果格納ファイル6を参照し、継続SNOで指定されているSNOでマッチした施設を特定する。その後、施設ごとにマッチした数を、ステップS25で構成した一時的な定員情報から減算し、一時的な定員情報を書き換えた(定員を、定員からマッチ数を減算した定員にする)(ステップS28)後に、ステップS27に進む。ステップS27の処理が終わると、マッチングサーバ100のマッチング手段10が、SNOの値を1だけ増加させ(ステップS29)、ステップS22の処理に戻る。なお、2回目以降のステップS22の処理においては、図8の更新処理を行って、参加者ROLファイル4および施設ROLファイル5から、先のマッチング処理で組み合わせが得られたレコードを検索し、それらのレコードを削除する。
なおステップS27でのマッチング処理では、ステップS24で作成した一時的参加者ROLファイルと、ステップS25で作成した一時的施設ROLファイルと、ステップS25で作成し、ステップS28に分岐すれば、ステップS28で書き換えた、一時的な定員情報とが用いられる。ステップS28で作成した一時的な定員情報は、図示しない記憶手段に記憶することにより、マッチング手段に受け渡される。
またステップS27でのマッチング処理では、受け渡された一時的な定員情報の範囲内で、一時的参加者ROLファイルに記憶されている全てのユーザIDを、一時的施設ROLファイルに記憶されている施設コードと組合せを求めるように、処理を行う。マッチング処理の結果、施設コードと組合せられないユーザIDが発生する場合もあるが、全てのユーザIDに対して、一度は施設コードとの組合せを求めるように動作する。
図7の処理の流れを図10(b)の例に基づいて、さらに具体的に説明する。まず、ステップS21で、SNOが初期値の1に設定されるとともに、nの最大値として3が予め登録される。次に、ステップS22で、プログラムマスタファイル1からSNOが1に該当するプログラム番号を全て抽出する。このとき、図11から明らかなように、SNOが1のものは1つもないので、ステップS29の処理に進み、SNOの値に1加算して、SNOを2にする。
次に、ステップS22に進むが、このときは、SNO=1に対するマッチング処理をおこなっていないので、図8の更新処理は行わない。従って、ステップS22においては、プログラムマスタファイル1からSNOが2であるプログラム番号を全て抽出する。図11に示されるように、SNOが2のプログラムはA,B,Cのすべてであるので、それらが全て抽出される。次に、ステップS23に進み、A,B,Cプログラムに対応するユーザIDを参加者プログラム情報ファイル2から全て選出する。図12に示されるように、この場合は、参加者全員が選らばれる。次に、ステップS24で、参加者全員のROLを参加者ROLファイル4から取り出し、一時的参加者ROLファイルを作成する。Dのレコードを取り出し、一時的参加者ROLファイルを作成する(ステップS24)。なお、ここで、ステップS24で用いる参加者ROLファイル4は、図5の処理により補完されたものである。また、ステップS25で、施設ROLファイル5から参加者全員のユーザIDを含むレコードを取り出し、一時的施設ROLファイルを作成する。なお、ここで、ステップS25で用いる施設ROLファイル5は、図6の処理により補完されたものである。次に、ステップS26で、現在のSNO、すなわち、SNOが2のものの中で、継続SNOが指定されているものがあるか否かを判定する。図11から明らかなように、この場合は該当するものがないので、ステップS27に進み、一時的参加者ROLファイルおよび一時的施設ROLファイルに基づいて、Gale−Shapleyアルゴリズムを用いたマッチング処理を行い、結果をマッチング結果格納ファイル6に格納する。次に、ステップS29に進み、SNOの値に1加算して、SNOを3にする。
次に、ステップS22に進み、まず、図8の更新処理を行って、参加者ROLファイル4および施設ROLファイル5から、先のマッチング処理で組み合わせが得られたレコードを検索し、それらのレコードを削除し、次に、プログラムマスタファイル1からSNOが3であるプログラム番号を全て抽出する。図11に示されるように、SNOが3であり、かつ継続SNOが指定されていないプログラムはCであるので、それが抽出される。次に、ステップS23に進み、B,Cプログラムに対応するユーザIDを図9の参加者プログラム情報ファイル2から全て選出する。次に、ステップS24で、選出した参加者のROLを参加者ROLファイル4から取り出し、一時的参加者ROLファイルを作成する。なお、ここで、ステップS24で用いる参加者ROLファイル4は、図5の処理により補完され、さらに、図8の処理により更新されたものである。また、ステップS25で、施設ROLファイル5から選出した参加者のユーザIDを含むレコードを取り出し、一時的施設ROLファイルを作成する。なお、ここで、ステップS25で用いる施設ROLファイル5は、図6の処理により補完され、さらに、図8の処理により更新されたものである。また、一時的施設ROLファイルに含まれる各施設の定員情報を施設プログラム情報ファイル3から取り出し、その定員数を複写することにより、一時的な定員情報を構成する。
次に、ステップS26で、現在のSNO、すなわち、SNOが3のものの中で、継続SNOが指定されているものがあるか否かを判定する。図11から明らかなように、Bプログラムが該当するので、ステップS28に進み、マッチング結果格納ファイル6を参照して、継続SNO(この場合は、2)のBプログラムでマッチした数をステップS25で構成した一時的な定員情報から減算し、一時的な定員情報を再構成する。これにより、次のステップS27でマッチングを行うのはCプログラムのSNOが3の分だけとなる。従って、ステップS27に進み、一時的参加者ROLファイルおよび一時的施設ROLファイルおよび一時的な定員情報に基づいて、Gale−Shapleyアルゴリズムを用いたマッチング処理を行い、結果をマッチング結果格納ファイル6に格納する。次に、ステップS29に進み、SNOの値に1加算して、SNOを4にする。
ステップS22において、SNOの値が、最大値として予め設定されている3よりも大きいので、そのまま、処理を終了する。
図8は、マッチングサーバ100のROL作成手段8によるマッチング後のROLファイルの更新処理を示した図である。図8に示すように、まず、マッチングサーバ100のROL作成手段8は、マッチング結果格納ファイル6をユーザIDごとに並べ替え、順次ユーザIDごとのレコードを参照する(ステップS81)。次に、マッチングサーバ100のROL作成手段8は、参照した各レコードのマッチング結果の施設コードを特定する(ステップS82)。次に、マッチングサーバ100のROL作成手段8が、参加者ROLファイル4を参照し、各ユーザIDにおける該当施設コードが記憶されたレコードを特定し、そのレコードを削除する(ステップS83)。次に、マッチングサーバ100のROL作成手段8は、ステップS82で特定した施設コードに基づき、施設ROLファイル5の該当施設コードを特定し、その中で、マッチング結果にあるユーザIDが特定されているレコードを削除する(ステップS84)。次に、マッチングサーバ100のROL作成手段8は、次のユーザIDがあるか否かを判定し、あれば、ステップS81の処理に戻り、なければ、処理を終了する。
このように、本実施の形態では、マッチングを1回行うたびに、図8の処理により、2回目以降のマッチ結果を1回目と変更させるために、マッチング処理を行った後に、マッチングした相手を参加者ROLファイル4および施設ROLファイル5の両方から削除する。
図9は、マッチングサーバ100の通信手段7によるマッチング結果の通知の処理について示した図である。図9に示すように、まず、マッチングサーバ100のマッチング手段10は、マッチング処理終了を通知手段7に通知する(ステップS31)。次に、マッチングサーバ100の通信手段7は、マッチング結果を、マッチング管理者端末400の通信手段33に通知する(ステップS32)。次に、マッチング管理者端末400の通信手段33は、通知されたマッチング結果を処理手段32に受け渡す(ステップS33)。次に、マッチング管理者端末400の処理手段32は、受け渡されたマッチング結果を、インターネット等で公開する(ステップS34)。
なおマッチング結果の公開については、図6に示した方法によらず、ファイル形式や結果を印刷した紙にて、参加者及び施設管理者に通知する方法もある。
なお、上記の説明においては、研修を希望する参加者と受け入れ先の施設とのマッチング問題について説明したが、その場合に限らず、複数の要素からなる集合A(上記の参加者に相当)と複数の要素からなる集合B(上記の施設に相当)との各要素をマッチングするマッチング問題であって、マッチング処理を行うマッチング処理対象区間が1以上の区分(上記の研修期間SNOに相当)に分割されていて、集合Aの各要素が1以上のグループ(上記の研修プログラムに相当)のいずれかに属していて、上記区分がグループ間で共通であるマッチング問題のいずれにも適用できることはいうまでもない。
すなわち、この発明は、各グループのグループIDごとに、マッチング処理を行う上記区分の区分IDが登録されているマッチング区分指定登録手段(上記のプログラムマスタファイル1のSNOに相当)と、上記集合Aの各要素のA要素IDごとに、当該各要素が属している上記グループのグループIDが記憶されているグループ情報記憶手段(上記の参加者プログラム情報ファイル2に相当)と、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定数を記憶した定数記憶手段(上記の施設プログラム情報ファイル3の定員に相当)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リスト記憶手段(上記の参加者ROLファイル4に相当)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リスト記憶手段(上記の施設ROLファイルに相当)と、記憶された前期第1の優先度リストが上記集合Aの各要素のA要素IDごとに上記集合Bの要素の一部に対して一意に順位付けられたものであった場合に、当該第1の優先度リストを、上記集合Aの各要素のA要素IDごとに上記集合Bの要素の全部に対して一意に順位付けられたものになるように補完して出力するとともに、集合Bの要素の全部に対して一意に順位付けられている場合には記憶された上記第1の優先度リストをそのまま出力する第1の優先度リスト補完手段(図5の補完処理に相当)と、記憶された前期第2の優先度リストが上記集合Bの各要素のB要素IDごとに上記集合Aの要素の一部に対して一意に順位付けられたものであった場合に、当該第2の優先度リストを、上記集合Bの各要素のB要素IDごとに上記集合Aの要素の全部に対して一意に順位付けられたものになるように補完して出力するとともに、集合Bの要素の全部に対して一意に順位付けられている場合には記憶された上記第2の優先度リストをそのまま出力する第2の優先度リスト補完手段(図6の補完処理に相当)と、上記マッチング区分指定登録手段から上記区分IDごとに該当するグループIDを抽出するグループID抽出手段(上記の図7のステップS22に相当)と、上記区分IDごとに、抽出した上記グループIDに対応する上記A要素IDを、上記グループ情報記憶手段から抽出するA要素ID抽出手段(上記の図7のステップS23に相当)と、上記区分IDごとに、抽出した上記A要素IDに対応するレコードを上記第1の優先度リストから抽出して、一時的第1の優先度リストを作成する第1の一時的優先度リスト作成手段(上記の図7のステップS24に相当)と、上記区分IDごとに、抽出した上記A要素IDを含むレコードを上記第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段(上記の図7のステップs25に相当)と、上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記集合Aの各要素を、上記集合Bのいずれかの要素に対して、それらの各定数に達するまで繰り返し割り当てていくマッチング処理を行うマッチング処理手段(上記の図7のステップS27に相当)とを備えたマッチングシステムである。
なお、この構成は、請求項1の構成に対応し、図7に示したマッチング処理の中で、ステップS26からステップS28に分岐しない場合の構成である。
また、この発明のマッチングシステムは、上記マッチング処理手段によるマッチング処理を1つの区分IDに対して行うたびに、上記第1の優先度リスト記憶手段が記憶している上記第1の優先度リストから、マッチング処理により上記集合Bの要素のいずれかに割り当てられた上記集合AのA要素IDに対応したレコードを削除するとともに、上記第2の優先度リスト記憶手段が記憶している上記第2の優先度リストから、マッチング処理により上記集合Aの要素のいずれかに割り当てられた上記集合BのB要素IDに対応したレコードを削除する削除型優先度リスト更新手段(図8の処理に相当)をさらに備えている。この構成は、請求項3の構成に対応する。
さらに、この発明のマッチングシステムは、同一のグループにおいて、先にマッチング処理を行った上記区分のマッチング結果を、それ以降にマッチング処理を行う後処理の区分のマッチング結果として流用して用いる場合に、上記グループIDごとに、上記後処理の区分の区分IDに対応させて、流用したい先の区分の区分IDを登録しておくマッチング結果継続使用登録手段(上記のプログラムマスタファイル1の継続SNOに相当)と、上記区分IDごとに、流用先の区分IDが登録されている区分を上記マッチング結果継続使用登録手段から抽出し、流用先のマッチング結果においてマッチングしている上記集合Aの要素の数を、該当する区分における上記集合Bの各要素ごとの定数から減算する定数減算手段(上記の図7のステップS26およびステップS28に相当とをさらに備え、上記マッチング処理手段は、減算された上記定数を用いて、上記マッチング処理を行うものである。この構成は、請求項5の構成に対応し、図7の示したマッチング処理の中で、ステップS26からステップS28へ分岐する場合を含む構成である。
以上説明したように、この発明によれば、マッチング処理対象区間(研修設定可能期間)が1以上の区分(期間)に分かれているような場合においても、各区分(期間)ごとに、条件に合わせた一時的なROL(参加者ROLファイルおよび施設ROLファイル)を作成して、それらを用いたマッチング処理を行うようにしたので、ユーザ(参加者および施設の担当者)はROLを1回だけ入力するだけで、全区分(全期間)分のマッチング結果を得ることができ、ユーザ(参加者および施設担当者)の作業の負荷の増加を防止することができる。
また、本実施の形態によれば、図10(b)に示されるような、複数のグループ(複数種類の研修プログラム(A,B,C))が存在するとともに、集合Aの1つの要素(1人の参加者)に対して集合Bの複数の要素(複数施設)の割り当てを行う必要のある、複雑なマッチング問題についても、容易に、かつ、確実にマッチング処理を行うことができる。
また、本実施の形態においては、先にマッチングを行った区分(期間)のマッチング結果を流用する場合には、マッチング結果継続使用登録手段(プログラムマスタファイル1)に、どの区分(期間)のマッチング結果を継続したいかを登録しておき、その分についてはマッチングを行わず、かつ、その人数を集合B(施設)の定数(定員)から減算して、残りの数(人数)を定数(定員)として、マッチング処理を行うようにしたので、前の区分(期間)のマッチング結果を流用するグループ(プログラム)と流用しないグループ(プログラム)とが同一区分(期間)に存在していても、特別の操作等を全く行わずに、自動的に容易にマッチング結果を得ることができる。
さらに、本実施の形態においては、マッチング率を向上させるためには、参加者全て、および、施設全ての希望順位が、n=相手方の数だけ参加者ROLファイル4および施設ROLファイル5に入っていることが望ましいので、マッチングを行う前に、図5および図6の処理により参加者ROLファイル4および施設ROLファイル5の補完処理を行って、個々のROLに関して、n=相手方の数とするようにしたので、マッチング率の向上を図ることができる。
さらに、本実施の形態においては、マッチングを1回行うたびに、図8の処理により、2回目以降のマッチ結果を1回目と変更させるために、マッチング処理を行った後に、マッチングした相手を参加者ROLファイル4および施設ROLファイル5の両方から削除するようにしたので、同一の組合せが頻発することを確実に防止することができる。
実施の形態2.
上記の実施の形態1においては、図5のステップS45および図6のステップS55の処理で、b−aの数分のレコードを追加し、指定順位を、順次、c+1,c+2,・・・と指定する例について説明した。本実施の形態においては、図17のステップS65および図18のステップS75に示すように、追加したb−aの数分のレコードについて、その指定順位を、c>bの範囲で発生させた乱数にて指定するようにした。他の動作および構成については、実施の形態1と全く同じであるため、ここではその説明を省略する。
以上のように、本実施の形態においては、上記の実施の形態1と同様の効果を得ることができるとともに、さらに、参加者ROLファイル4および施設ROLファイル5の補完処理において、追加したレコードについての指定順位を乱数により決定することにしたので、追加分において、上位に指定される参加者および施設が常に同じではなくなり、どの参加者およびどの施設が上位に位置するかは同じ確率で決定されるので、平等性を確保することができる。
実施の形態3.
上記の実施の形態1および2においては、図8の処理において、マッチングを1回行うたびに、2回目以降のマッチ結果を1回目と変更させるために、マッチング処理を行った後に、マッチングした相手を参加者ROLファイル4および施設ROLファイル5の両方から削除する例について説明した。本実施の形態においては、図19に示すように、マッチングを1回行うたびに、2回目以降のマッチ結果を1回目と変更させるために、マッチング処理を行った後に、マッチングした相手の指定順位を、参加者ROLファイル4および施設ROLファイル5において最下位に変更する。他の動作および構成については、実施の形態1または2と同じであるため、ここでは説明を省略する。
本実施の形態においては、図19に示すように、まず、マッチングサーバ100のROL作成手段8が、参加者プログラム情報ファイル2のユーザID数を参照し、ユーザID数=dとするとともに、施設プログラム情報ファイル3の施設コード数を参照し、施設数=eとする(ステップS91)。次に、マッチングサーバ100のROL作成手段8が、マッチング結果格納ファイル6をユーザIDごとに昇順に並べ替え、順次ユーザIDごとのレコードを参照する(ステップS92)。次に、マッチングサーバ100のROL作成手段8が、各ユーザIDごとのマッチング結果における施設コードを特定する(ステップS93)。次に、マッチングサーバ100のROL作成手段8が、参加者ROLファイル4を参照し、該当ユーザIDの該当施設コードが記憶されたレコードを特定し、特定したレコードの順位をいったん保留し、それ以外の他のレコードの順位を、順番はそのままで、1位〜e−1位までの連番になるように付け直した後に、当該特定したレコードの順位をeとして最下位に更新する(ステップS94)。次に、マッチングサーバ100のROL作成手段8は、ステップS93で特定された施設コードに基づき、施設ROLファイル5の該当施設コードを特定するとともに、該当施設コードの中で、該当ユーザIDが特定されているレコードの順位をいったん保留し、それ以外の他のレコードの順位を、順番はそのままで、1位〜d−1位までの連番になるように付け直した後に、当該特定したレコードの順位をdとして最下位に更新する(ステップS95)。次に、マッチングサーバ100のROL作成手段8は、次のユーザIDがあるか否かを判定し(ステップS96)、あればステップS92の処理に戻り、無ければ処理を終了する。
このように、本実施の形態においては、マッチング処理手段によるマッチング処理を1つの区分IDに対して行うたびに、上記第1の優先度リスト記憶手段が記憶している上記第1の優先度リストにおいて、マッチング処理により上記集合Bの要素のいずれかに割り当てられた上記集合AのA要素IDに対応したレコードの順位を最下位に更新するとともに、上記第2の優先度リスト記憶手段が記憶している上記第2の優先度リストにおいて、マッチング処理により上記集合Aの要素のいずれかに割り当てられた上記集合BのB要素IDに対応したレコードの順位を最下位に更新する順位変更型優先度リスト更新手段(図19の処理に相当)をさらに備えている。この構成は、請求項4の構成に対応する。
以上のように、本実施の形態においては、上記の実施の形態1および2と同様の効果が得られるとともに、さらに、本実施の形態においては、マッチングを1回行うたびに、図19の処理により、2回目以降のマッチ結果を1回目と変更させるために、マッチング処理を行った後に、マッチングした相手を参加者ROLファイル4および施設ROLファイル5においてその順位を最下位にするようにしたので、同一の組合せが頻発することを高確率で防止することができる。
実施の形態4.
実施の形態1では、研修プログラムは、図10(b)に示すように、研修設定可能期間(区間)が、前期((SNO=1)は4〜7月)、中期((SNO=2)は8〜11月)、後期((SNO=3)は12〜3月)の3つに分かれ、さらに、A〜Cプログラムが期間毎に指定する“管理型”または“協力型”が異なるような構成にしていた。本実施の形態では、複数種類のプログラムは存在せず、つまり図24(a)に示すように、SNOにより参加者が異なる施設にマッチングする処理について、説明する。
本実施の形態のプログラムマスタファイル1は、SNOごとにマッチング要否情報が記憶されている。マッチングが必要のときは、「マッチング要」の項目にフラグ「1」を記憶する構成を例示しているが、SNO=1のときは、全ての参加者が管理型施設で研修するため、マッチングの必要はない。また、SNO=2,3のときは、参加者が異なる協力型施設にマッチングすることになるため、「マッチング要」の項目にフラグ「1」が指定されている。
また図25は、本実施の形態における参加者プログラム情報ファイル2の構成を示している。ユーザIDごとに、マッチング要のSNOが記憶されている。図25に示した例では、ユーザID 001は、SNO=2でマッチング要であり、ユーザID 002および003は、SNO=2,3でマッチング要、つまり研修を希望していることを表している。
施設プログラム情報ファイル3、参加者ROLファイル4、施設ROLファイル5は実施の形態1で示した構成と同様である。
本実施の形態における、マッチングサーバ100の抽出手段9によるROL抽出手段とマッチング手段10によるマッチング処理を図7を用いて説明する。ステップS22を、本実施の形態では、プログラムマスタファイル1を参照することにより、「マッチング要」が指定されているSNOを順次抽出する処理に代替する(SNO=1は、抽出されず、SNO=2,3が抽出される)。またステップS23を、現在のSNOが登録されているユーザIDを選出する処理に代替する。
その後、ステップS24〜S25の処理を行い、継続SNOは本実施の形態のプログラムマスタファイル1には記憶されていないので、ステップS26からS28に分岐される処理はされず、ステップS25の次に、ステップS27、S29、S30の処理が繰り返される。その他の処理の流れは、実施の形態1で説明したとおりである。このように、プログラム情報を有せず、参加者ごとにマッチングする区分を指定する場合は、本実施の形態の処理の流れで実現することができる。
すなわち、この発明は、マッチング処理を行う上記区分の区分IDが登録されているマッチング区分指定登録手段(図24に示した、プログラムマスタファイル1のSNOに相当)と、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定数を記憶した定数記憶手段(上記の施設プログラム情報ファイル3の定員に相当)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リスト記憶手段(上記の参加者ROLファイル4に相当)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リスト記憶手段(上記の施設ROLファイルに相当)と、記憶された前期第1の優先度リストが上記集合Aの各要素のA要素IDごとに上記集合Bの要素の一部に対して一意に順位付けられたものであった場合に、当該第1の優先度リストを、上記集合Aの各要素のA要素IDごとに上記集合Bの要素の全部に対して一意に順位付けられたものになるように補完して出力するとともに、集合Bの要素の全部に対して一意に順位付けられている場合には記憶された上記第1の優先度リストをそのまま出力する第1の優先度リスト補完手段(図5の補完処理に相当)と、記憶された前期第2の優先度リストが上記集合Bの各要素のB要素IDごとに上記集合Aの要素の一部に対して一意に順位付けられたものであった場合に、当該第2の優先度リストを、上記集合Bの各要素のB要素IDごとに上記集合Aの要素の全部に対して一意に順位付けられたものになるように補完して出力するとともに、集合Bの要素の全部に対して一意に順位付けられている場合には記憶された上記第2の優先度リストをそのまま出力する第2の優先度リスト補完手段(図6の補完処理に相当)と、上記区分IDごとに、上記A要素IDに対応するレコードを上記第1の優先度リストから抽出して、一時的第1の優先度リストを作成する第1の一時的優先度リスト作成手段(上記の図7のステップS24に相当)と、上記区分IDごとに、上記A要素IDを含むレコードを上記第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段(上記の図7のステップS25に相当)と、上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記集合Aの各要素を、上記集合Bのいずれかの要素に対して、それらの各定数に達するまで繰り返し割り当てていくマッチング処理を行うマッチング処理手段(上記の図7のステップS27に相当)とを備えたマッチングシステムである。なおこの構成は、請求項2の構成に対応する。また、第1の一時的優先度リスト作成手段の動作(ステップS24)の前に、本実施の形態では、プログラムマスタファイル1を参照することにより、「マッチング要」が指定されているSNOを順次抽出し、現在のSNOが登録されているユーザIDを選出することにより、SNOごとのマッチング対象を特定する動作を行なう。
以上説明した、実施の形態1〜4では、研修設定可能期間(区間)と、区間内の区分(前期、中期、後期)の開始時期と終了時期は、図10(b)に示したように、どのプログラムでも同一であるとした。一方、研修設定可能期間(例えば、2006年4月〜2007年3月の1年間)の間で、Aプログラムは2006年4月〜6月、Bプログラムは2006年5月〜10月、Cプログラムは2006年9月〜2007年1月と異なる期間の研修を設定したとしても、各実施の形態で示したマッチングシステムを応用することで、マッチングすることができる。
プログラムマスタファイル1の設定について、説明する。具体的には、区分(SNO)の単位を1ヶ月単位とし、例えば2006年4月〜2007年3月の区分を、順番に1,2,3・・・12と設定する。その後、それぞれのプログラムが設定した期間を区分(SNO)、継続SNOに置き換えて、プログラムマスタファイル1を構成する。例えばAプログラムは、SNO=1(2006年4月)、SNO=2(2006年5月)、SNO=3(2006年6月)が設定され、SNO=2には継続SNO=1が、SNO=3には継続SNO=2が設定されている。このように設定することにより、図10に示したマッチング処理の流れにて、マッチング結果を得ることができる。
以上説明したように、区間内の研修の期間がプログラム毎に異なっていたとしても、その研修の期間を細分化し、研修の期間を区分に置き換えることにより、マッチング処理を行うことができる。またプログラムの設定により、研修の開始日が各月の1日から始まるのではなく、月の半ばから(例えば、15日から)開始されることもありうるが、その場合は、研修の期間を区分に置き換えるときに、区分を研修の期間に対応するように、さらに細分化すればよい(例えば、いずれかの月の15日が開始される研修を含むプログラムがあるときは、SNOを1〜24に設定すればよい)。プログラムマスタファイル1を以上説明したように構成することで、各処理フローの示した処理と同様の処理でマッチング処理を行うことができる。また、プログラムマスタファイル1以外のファイル構成は、各実施の形態で説明した構成と同じである。
実施の形態5.
上記の実施の形態1〜2において、マッチングサーバ100のROL作成手段8によるマッチング後のROLファイル更新処理は、図8に示すようにマッチングを1回行なうたびに、マッチングした相手を参加者ROLファイル4および施設ROLファイル5から削除するように動作した。また上記の実施の形態3においては、図19に示すようにマッチングを1回行なうたびに、マッチングした相手を参加者ROLファイル4および施設ROLファイル5の最下位に移動するように動作した。
本実施の形態では、参加者からマッチングした相手を参加者ROLファイル4から削除するか、または最下位に移動するかの選択を受付けることができる。参加者としては、例えばプログラムCを選択し、中期および後期でマッチングされるに当って、「後期でどこの施設にも行けないくらいなら、中期と同じところでも行きたい」(パターン1)、「後期は、中期と同じところには行きたくない」(パターン2)といった希望がある。その希望に応じて、パターン1のときは、実施の形態3で説明した方法、パターン2のときは、実施の形態1〜2で説明した方法を選択することができる。
具体的な処理方法は、図4で示した参加者端末200からのデータ入力処理を受付けるときに、参加者ROLファイル4に関する更新方法の指定を入力画面を表示することにより受付け、マッチングサーバ100の通信手段7を介してROL作成手段8に受け渡す。更新方法は、パターン1のときは「最下位への移動」、パターン2のときは「削除」になるので、ROL作成手段8は、ユーザIDに対応して、マッチングされた施設コードに関する更新方法(更新方法を示すフラグ情報等でもよい)を参加者ROLファイル4に記憶する。その後、図7に示したマッチング処理の後、ROL作成手段8は参加者ROLファイル4の「更新方法に関する情報」を参照することにより、ユーザIDに応じて、図8に示したステップ83の処理か、図19に示したステップS94の処理かを選択し、実行する。
また、施設管理者からも「後期は、中期と同じ参加者でもいいから来て欲しい」(パターン1)、「後期は、中期とは別の参加者に来て欲しい」(パターン2)という希望を受付けることができる。具体的な処理方法は、施設ROLファイル5に、施設コードに対応して、マッチングされたユーザIDに関する「更新方法に関する情報」を付加し、図7に示したマッチング処理の後、ROL作成手段8は施設ROLファイル5の「更新方法に関する情報」を参照することにより、施設コードに応じて、図8に示したステップ84の処理か、図19に示したステップS95の処理かを選択し、実行する。
参加者からの希望受付、施設管理者からの希望受付は、どちらか一方だけ受付けるように構成してもよいし、両方受付けるように構成してもよい。どちらの場合も、図7に示したマッチング処理の後、図8および図19に示した処理を適宜選択することで実行できる。
以上説明したように、本実施の形態によれば、異なる区分(SNO)に関して、同一の組合せが発生することを、高確率で防止するか(パターン1)、確実に防止するか(パターン2)かを参加者または施設管理者の希望受付により、参加者または施設管理者に応じて決めることができる。
以上の各実施の形態で、マッチングシステム(マッチングサーバ100、参加者端末200、施設管理者端末300、マッチング管理者端末400)は、コンピュータで実現できるものである。また図示していないが、それぞれの装置は、プログラムを実行するCPU(Central Processing Unit)を備えている。
例えば、CPUは、バスを介して、ROM(Read Only Memory)、RAM(Random Access Memory)、通信ボード、表示装置、K/B(キーボード)、マウス、FDD(Flexible Disk Drive)、CDD(コンパクトディスクドライブ)、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。
RAMは、揮発性メモリの一例である。ROM、FDD、CDD、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
前述した実施の形態の各装置が扱うデータや情報は、記憶装置あるいは記憶部に保存され、装置の各部により、記録され読み出されるものである。
また、通信ボードは、例えば、LAN、インターネット、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されている。磁気ディスク装置には、オペレーティングシステム(OS)、ウィンドウシステム、プログラム群、ファイル群(データベース)が記憶されている。
プログラム群は、CPU、OS、ウィンドウシステムにより実行される。
上記各装置の各部は、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ROMに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。
上記プログラム群には、実施の形態の説明において「〜手段」として説明した処理をCPUに実行させるプログラムが記憶される。これらのプログラムは、例えば、C言語やHTMLやSGMLやXMLなどのコンピュータ言語により作成される。
また、上記プログラムは、磁気ディスク装置、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記憶され、CPUにより読み出され実行される。
この発明の実施の形態1に係るマッチングシステムの全体の構成を示した構成図である。 この発明の実施の形態1に係るマッチングシステムを構成している各構成要素の内部構成を示した構成図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムにおける研修プログラムの例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムのプログラムマスタファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの参加者プログラム情報ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの施設プログラム情報ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの参加者ROLファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの施設ROLファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムのマッチング結果格納ファイルの一例を示した説明図である。 この発明の実施の形態2に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態2に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態3に係るマッチングシステムの処理の流れを示した流れ図である。 従来のマッチング方法におけるマッチングの一例を示した説明図である。 従来のマッチング方法における優先度リストの一例を示した説明図である。 従来のマッチング方法の処理の流れを示したフローチャートである。 従来のマッチング方法を示した説明図である。 この発明の実施の形態4に係るマッチングシステムのプログラムマスタファイルの一例を示した説明図である。 この発明の実施の形態4に係るマッチングシステムの参加者プログラム情報ファイルの一例を示した説明図である。
符号の説明
1 プログラムマスタファイル、2 参加者プログラム情報ファイル、3 施設プログラム情報ファイル、4 参加者ROLファイル、5 施設ROLファイル、6 マッチング結果格納ファイル、7 通信手段、8 ROL作成手段、9 抽出手段、10 マッチング手段、20 入力手段、21 表示手段、22 処理手段、23 通信手段、30 入力手段、31 表示手段、32 処理手段、33 通信手段、100 マッチングサーバ、200 参加者端末、300 施設管理者端末、400 マッチング管理者端末、500 通信網。

Claims (5)

  1. 複数の参加者と複数の施設との各要素をマッチングするためのマッチングシステムであって、
    マッチング処理を行うマッチング処理対象区間が以上の区分に分割されており、
    上記参加者以上のグループのいずれかに属しており、
    上記区分は、上記グループごとに共通であって、
    上記グループのグループIDごとに、マッチング処理を行う上記区分の区分IDが登録されているマッチング区分指定登録手段と、
    上記参加者ユーザIDごとに、当該各要素が属している上記グループのグループIDが記憶されているグループ情報記憶手段と、
    上記施設施設コードごとに、マッチングで受け入れ可能な定数を記憶した定数記憶手段と、
    上記参加者ユーザIDごとに、上記施設の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リスト記憶手段と、
    上記施設施設コードごとに、上記参加者の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リスト記憶手段と、
    記憶された上記第1の優先度リストが上記参加者ユーザIDごとに、上記施設の一部に対して一意に順位付けられたものであった場合に、当該第1の優先度リストを、上記参加者ユーザIDごとに上記施設の全部に対して一意に順位付けられたものになるように、総施設数から指定施設コード数を減算した数のレコードを追加し、指定されていない施設コードに任意の順位を指定することで、補完して出力するとともに、施設の全部に対して一意に順位付けられている場合には記憶された上記第1の優先度リストをそのまま出力する第1の優先度リスト補完手段と、
    記憶された上記第2の優先度リストが上記施設施設コードごとに上記参加者の一部に対して一意に順位付けられたものであった場合に、当該第2の優先度リストを、上記施設施設コードごとに上記参加者の全部に対して一意に順位付けられたものになるように、総参加者数から指定参加者数を減算した数のレコードを追加し、指定されていないユーザIDに任意の順位を指定することで、補完して出力するとともに、施設の全部に対して一意に順位付けられている場合には記憶された上記第2の優先度リストをそのまま出力する第2の優先度リスト補完手段と、
    上記マッチング区分指定登録手段から上記区分IDごとに該当するグループIDを抽出するグループID抽出手段と、
    上記区分IDごとに、抽出した上記グループIDに対応する上記ユーザIDを、上記グループ情報記憶手段から抽出するユーザID抽出手段と、
    上記区分IDごとに、抽出した上記ユーザIDに対応するレコードを上記第1の優先度リスト補完手段から出力された上記第1の優先度リストから抽出して、一時的第1の優先度リストを作成する第1の一時的優先度リスト作成手段と、
    上記区分IDごとに、抽出した上記ユーザIDを含むレコードを上記第2の優先度リスト補完手段から出力された上記第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段と、
    上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記抽出された全ての参加者を、上記施設のいずれかに対して、マッチング処理を行うマッチング処理手段と
    備えたことを特徴とするマッチングシステム。
  2. 複数の参加者と複数の施設との各要素をマッチングするためのマッチングシステムであって、
    マッチング処理を行うマッチング処理対象区間が以上の区分に分割されており、
    マッチング処理を行う上記区分の区分IDが登録されているマッチング区分指定登録手段と、
    上記施設施設コードごとに、マッチングで受け入れ可能な定数を記憶した定数記憶手段と、
    上記参加者ユーザIDごとに、上記施設の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リスト記憶手段と、
    上記施設施設コードごとに、上記参加者の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リスト記憶手段と、
    記憶された上記第1の優先度リストが上記参加者ユーザIDごとに上記施設の一部に対して一意に順位付けられたものであった場合に、当該第1の優先度リストを、上記参加者ユーザIDごとに上記施設の全部に対して一意に順位付けられたものになるように、総施設数から指定施設コード数を減算した数のレコードを追加し、指定されていない施設コードに任意の順位を指定することで、補完して出力するとともに、施設の全部に対して一意に順位付けられている場合には記憶された上記第1の優先度リストをそのまま出力する第1の優先度リスト補完手段と、
    記憶された上記第2の優先度リストが上記施設施設コードごとに上記参加者の一部に対して一意に順位付けられたものであった場合に、当該第2の優先度リストを、上記施設施設コードごとに上記参加者の全部に対して一意に順位付けられたものになるように、総参加者数から指定参加者数を減算した数のレコードを追加し、指定されていないユーザIDに任意の順位を指定することで、補完して出力するとともに、施設の全部に対して一意に順位付けられている場合には記憶された上記第2の優先度リストをそのまま出力する第2の優先度リスト補完手段と、
    上記区分IDごとに、上記ユーザIDに対応するレコードを上記第1の優先度リスト補完手段から出力された上記第1の優先度リストから抽出して、一時的第1優先度リストを作成する第1の一時的優先度リスト作成手段と、
    上記区分IDごとに、上記ユーザIDを含むレコードを上記第2の優先度リスト補完手段から出力された上記第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段と、
    上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記抽出された全ての参加者を、上記施設のいずれかに対して、マッチング処理を行うマッチング処理手段と
    備えたことを特徴とするマッチングシステム。
  3. 上記マッチング処理手段によるマッチング処理を1つの区分IDに対して行うたびに、上記第1の優先度リスト記憶手段が記憶している上記第1の優先度リストから、マッチング処理により上記施設のいずれかに割り当てられた上記参加者参加者IDに対応したレコードを削除するとともに、上記第2の優先度リスト記憶手段が記憶している上記第2の優先度リストから、マッチング処理により上記参加者のいずれかに割り当てられた上記施設施設コードに対応したレコードを削除する削除型優先度リスト更新手段をさらに備えていることを特徴とする請求項1または2に記載のマッチングシステム。
  4. 上記マッチング処理手段によるマッチング処理を1つの区分IDに対して行うたびに、上記第1の優先度リスト記憶手段が記憶している上記第1の優先度リストにおいて、マッチング処理により上記施設のいずれかに割り当てられた上記参加者ユーザIDに対応したレコードの順位を最下位に更新するとともに、上記第2の優先度リスト記憶手段が記憶している上記第2の優先度リストにおいて、マッチング処理により上記参加者のいずれかに割り当てられた上記施設施設コードに対応したレコードの順位を最下位に更新する順位変更型優先度リスト更新手段をさらに備えていることを特徴とする請求項1または2に記載のマッチングシステム。
  5. 同一のグループにおいて、先にマッチング処理を行った上記区分のマッチング結果を、それ以降にマッチング処理を行う後処理の区分のマッチング結果として流用して用いる場合に、上記グループIDごとに、上記後処理の区分の区分IDに対応させて、流用したい先の区分の区分IDを登録しておくマッチング結果継続使用登録手段と、
    上記区分IDごとに、流用先の区分IDが登録されている区分を上記マッチング結果継続使用登録手段から抽出し、流用先のマッチング結果においてマッチングしている上記ユーザ数を、該当する区分における上記施設ごとの定数から減算する定数減算手段と
    をさらに備え、
    上記マッチング処理手段は、減算された上記定数を用いて、上記マッチング処理を行う
    ことを特徴とする請求項1ないし4のいずれか1項に記載のマッチングシステム。
JP2006091578A 2006-03-29 2006-03-29 マッチングシステム Expired - Lifetime JP4465327B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006091578A JP4465327B2 (ja) 2006-03-29 2006-03-29 マッチングシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006091578A JP4465327B2 (ja) 2006-03-29 2006-03-29 マッチングシステム

Publications (2)

Publication Number Publication Date
JP2007265204A JP2007265204A (ja) 2007-10-11
JP4465327B2 true JP4465327B2 (ja) 2010-05-19

Family

ID=38638106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006091578A Expired - Lifetime JP4465327B2 (ja) 2006-03-29 2006-03-29 マッチングシステム

Country Status (1)

Country Link
JP (1) JP4465327B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4728407B2 (ja) * 2009-01-16 2011-07-20 三菱電機インフォメーションシステムズ株式会社 マッチングシステム

Also Published As

Publication number Publication date
JP2007265204A (ja) 2007-10-11

Similar Documents

Publication Publication Date Title
US5666490A (en) Computer network system and method for managing documents
US6978268B2 (en) Healthcare organization central record and record identifier management system
US6886015B2 (en) Method and system for building a family tree
US7797315B2 (en) Retrieval system and method of displaying retrieved results in the system
US20050273465A1 (en) Method and apparatus for community management in virtual community
CN111092933A (zh) 用于微服务架构的业务流程管理方法、系统、介质及电子设备
US20020107859A1 (en) Associating information management system, program for associating information management, and recording medium
US10643292B1 (en) Trust-based social graph for travel planning
JP6527620B2 (ja) ポートフォリオ作成システム
US20030078821A1 (en) System and method for identifying individuals having a desired skill set
JP2009271601A (ja) 人材配置支援装置及びプログラム
US20060184457A1 (en) Computerized conflict checking system
JP4465327B2 (ja) マッチングシステム
JP5286384B2 (ja) マッチングシステム
JP4465328B2 (ja) マッチングシステム
JP4355708B2 (ja) マッチングシステム
JP4309497B2 (ja) 情報検索装置および情報検索方法
WO1998000786A1 (en) Work flow system
JP4738495B2 (ja) マッチングシステム
JP4939275B2 (ja) ワークフロー管理システム、ワークフロー管理方法、及びプログラム
JP2024076372A (ja) 情報処理方法、情報処理装置及びプログラム
JP2024088519A (ja) フロー制御方法、フロー制御プログラム、および情報処理装置
JP2003150644A (ja) 関係付け情報管理システム、関係付け情報管理用プログラム、及び記録媒体
JP4728407B2 (ja) マッチングシステム
JP4306433B2 (ja) 業務管理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100114

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: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4465327

Country of ref document: JP

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250