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

マッチングシステム Download PDF

Info

Publication number
JP5286384B2
JP5286384B2 JP2011098161A JP2011098161A JP5286384B2 JP 5286384 B2 JP5286384 B2 JP 5286384B2 JP 2011098161 A JP2011098161 A JP 2011098161A JP 2011098161 A JP2011098161 A JP 2011098161A JP 5286384 B2 JP5286384 B2 JP 5286384B2
Authority
JP
Grant status
Grant
Patent type
Prior art keywords
element
id
capacity
file
priority list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011098161A
Other languages
English (en)
Other versions
JP2011154720A (ja )
Inventor
由樹 伊藤
Original Assignee
三菱電機インフォメーションシステムズ株式会社
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
Grant date

Links

Images

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)個以下である。

マッチングの一例を図21に示す。図21では、志願者の集合{a1,a2,a3,a4,a5,a6,a7}と企業の集合{p1,p2,p3,p4}の間のマッチングとして、{(a1,p1),(a2,p3),(a3,p4),(a5,p3),(a6,p4)}が得られている。このマッチングでは、志願者a4,a7と企業p2にはマッチング相手が存在しない。

また、図22に志願者と企業の優先度リストの例を示す。それぞれの優先度リストでは上に記載されているものほど好ましい相手を示す。言い換えれば、下に行くほど順位が大きくなる。図22の例では、志願者は3つの企業に対して、p1<p4<p3という順序をつけている。企業は6人の志願者にa7<a1<a4<a3<a5<a6という順序をつけている。マッチングすることをまったく望まない相手は優先度リストに記載しない。

マッチング問題とは、志願者の集合と企業の集合と志願者および企業の優先度リストとが与えられたときに、志願者と企業の間の組合せを求める問題のことを言う。マッチング方法とは、マッチング問題に対する解法、すなわち、志願者と企業の間の組合せを求める方法のことである。従って、マッチングシステムとは、マッチング方法を実行するシステムのことである。

また、上記のようなマッチングには安定性を定義することができる。マッチングXが安定であるのは、次の2つの条件が共に満たされる場合を言う。

1.すべての志願者(企業)は、自分の優先度リストに載せた企業(志願者)としかマッチングしない。
2.志願者と企業のすべてのペア(a,p)のうち、マッチングXに含まれないものは、いずれもブロッキングペアではない。ここで、ブロッキングペアとは次の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’が成り立つ。

マッチング問題においては、安定なマッチングを生成する方法が求められる。不安定なマッチングが得られた場合、自分が優先度リストに記載していない相手、すなわち、自分のまったく望まない相手とマッチングした志願者または企業が存在するか、あるいは、ブロッキングペアが存在する。ブロッキングペアを構成する志願者と企業の両者にとって、得られたマッチングよりブロッキングペアの相手の方が好ましいため、不安定なマッチングは公平でない。つまり、不安定なマッチングを生成する方法ではマッチングに対する信頼性が無くなり、マッチングの対象者がマッチングに参加する意思を損なうことになる。

図23に、上記非特許文献1に書かれているGale−Shapleyアルゴリズムを用いた従来のマッチング方法を示すフローチャート図を示す。全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業(すなわち、第1希望)から順番にプロポーズを行なうのが特徴である。

図23の説明を行う前に、図24を用いて簡単に概要を説明する。図24の例は、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名分ある。そのため、(工藤,四谷病院)が仮マッチングされる。

ここで、すべての志願者が、いずれかの病院と仮マッチングされるか、または、自分の優先度リストに記載した病院すべてから拒絶されたので、処理は終了する。
マッチングの結果は、(大川,双川病院)、(木村,双川病院)、(上野,一山病院)、(江口,美村病院)、(川口,四谷病院)、(工藤,四谷病院)となり、明石さんと井上さんは自分の優先度リストに記載したすべての病院から拒絶されたことになった。

上記の図23のフローチャートを用いて、図24を例にして行ったこの処理について説明する。ステップ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の次に自分の優先度リストでの順位が小さい企業に対してプロポーズをやり直すことになる。図23の処理が終了するのは、ステップS101において、すべての志願者が、いずれかの企業と仮マッチングされるか、または、自分の優先度リストに記載された企業すべてから拒絶されたときである。図23の処理が終了した段階で最終的に得られた仮マッチングをマッチング結果とする。なお、Gale−Shapleyアルゴリズムにより得られるマッチングは安定であることが非特許文献1に記載されている。

「The Stable Marriage Problem」、D.Gusfield 及び R.W.Irving著、The MIT Press、1989年、p.9

以上のように、従来のマッチングシステムにおいては、志願者と企業のように1対1になる組み合わせを、安定したマッチング結果が得られると定評の高いGale−Shapleyアルゴリズムにより求めている。
ここで、志願者(参加者)側に、「ある条件に合致した企業(施設)とのマッチングしか許可しない」等の条件がある場合、志願者が条件に合致した企業のみを優先度リストに登録することで、条件を満たすマッチングを行うことができる。しかしながら、この方法では志願者に対して、条件に合致した企業を優先度リストに登録するように、十分に留意させる必要がある。また従来のマッチングシステムには、条件に合致された企業のみを登録しているかを確認する手段がないため、もし条件に合致しない企業が登録されていた場合、その人的ミスを排除させる方法がなく、志願者をその志願者が許可されていない企業とマッチさせてしまう可能性がある。

この発明は、かかる問題点を解決するためになされたものであり、特定の志願者が「ある条件に合致した企業(施設)とのマッチングしか許可しない」等の条件を有している場合も、その条件を満たしたマッチング結果を出力するマッチングシステムを得ることを目的としている。

この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠に対してそれぞれ特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を定員数とする特別枠外B要素IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素IDを生成し、この定員数と上記特別枠外B要素IDまたは各特別枠B要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを、上記組み合わせ条件の内容に応じて、特別枠B要素IDのいずれかに置き換えた第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを上記特別枠B要素IDに置き換えた第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記特別枠定員設定ファイルに記憶された上記特別枠外B要素IDまたは上記特別枠B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。

また、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、定員処理手段であって、上記定員処理手段は、上記B要素IDごとに、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を特別枠外定員数とする特別枠外B要素分離IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素分離IDを生成し、上記定員処理手段は、上記特別枠外定員数と特別枠外B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶し、上記定員処理手段は、上記各特別枠定員数と各特別枠B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除し、上記ROL処理手段は、上記A要素のそれぞれについて、上記A要素条件ファイルに基づき、そのA要素が特別枠外定員対応であるか、またはいずれの特別枠定員対応であるかを判定し、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除し、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、上記特別枠定員設定ファイルに記憶された、上記特別枠外定員数と上記特別枠外B要素分離IDとの対応付け、および、上記特別枠定員設定ファイルに記憶された、上記各特別枠定員数と上記各特別枠B要素分離IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。

さらに、上記定員処理手段は、B要素IDと、特別枠外B要素分離IDまたはいずれかの特別枠B要素分離IDとの対応付けを記憶した、分離情報ファイルを生成し、上記マッチング処理手段は、上記分離情報ファイルを参照し、特別枠外B要素分離IDおよび各特別枠B要素分離IDをB要素IDに統合して、A要素IDごとにマッチングされたB要素IDを記憶してもよい。

また、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除して第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除して第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記定員数ファイルに記憶された上記B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。

また、この発明は、 複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除して、第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除して、第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、および上記定員数ファイルに記憶された、上記定員数と上記B要素IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。

この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠に対してそれぞれ特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を定員数とする特別枠外B要素IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素IDを生成し、この定員数と上記特別枠外B要素IDまたは各特別枠B要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを、上記組み合わせ条件の内容に応じて、特別枠B要素IDのいずれかに置き換えた第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを上記特別枠B要素IDに置き換えた第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記特別枠定員設定ファイルに記憶された上記特別枠外B要素IDまたは上記特別枠B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムであるので、特定の志願者がマッチングに関する条件を有している場合も、安定したマッチングシステムを得ることができる。

この発明の実施の形態1に係るマッチングシステムの全体の構成を示した構成図である。 この発明の実施の形態1に係るマッチングシステムを構成している各構成要素の内部構成を示した構成図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。 この発明の実施の形態1に係るマッチングシステムの参加者条件ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの参加者条件ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの施設情報ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの特別枠定員設定ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの分離情報ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの参加者ROLファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの施設ROLファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの最適化参加者ROLファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの最適化施設ROLファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの最適化マッチング結果格納ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムのマッチング結果格納ファイルの一例を示した説明図である。 従来のマッチング方法におけるマッチングの一例を示した説明図である。 従来のマッチング方法における優先度リストの一例を示した説明図である。 従来のマッチング方法の処理の流れを示したフローチャートである。 従来のマッチング方法を示した説明図である。

実施の形態1.
この発明の実施の形態1に係るマッチングシステムは、1対M(M≧1)の組合せを決定するためのシステムである。例を挙げて説明すれば、例えば、医学部の卒業生で研修を希望する研修希望者(以下、参加者とする。)は、1以上の医療研修施設(すなわち、大学病院、総合病院など。以下、施設とする。)で、研修を経験する必要がある。

参加者側には、卒業大学の指定や入学時、卒業時の条件等により、「ある条件に合致した施設(病院)とのマッチングしか許可しない」、あるいは「ある条件に合致する施設(病院)とのマッチングは許可しない」等の条件を有している参加者がいる。
本実施の形態では、このような条件を有する参加者が属していたとしても、その条件を満たしながら、安定マッチングを得ることを特徴としている。

図1は、この発明の実施の形態1に係るマッチングシステムの全体の構成を示した図である。図1に示すように、実施の形態1に係るマッチングシステムは、参加者と施設との組合せを決定するマッチング処理を行うためのマッチングサーバ100と、マッチングサーバ100の管理およびメンテナンス等を行うマッチング管理者端末400と、参加者が操作して施設の希望順位などを入力するための参加者端末200と、施設に勤務している施設管理者が操作して参加者の希望順位などを入力するための施設管理者端末300とから構成されている。なお、マッチングサーバ100、参加者端末200、施設管理者端末300、マッチング管理者端末400は、インターネット等の通信網500により接続されている。

図2は、図1に示した各構成要素の内部構成を示した図である。図2に示すように、マッチングサーバ100内には、参加者条件ファイル(A要素条件ファイル)1と、施設情報ファイル(定員数ファイル)2と、特別枠定員設定ファイル3と、分離情報ファイル4と、参加者ROLファイル(第1の優先度リストファイル)5と、施設ROLファイル(第2の優先度リストファイル)6と、最適化参加者ROLファイル(第1の最適化優先度リストファイル)7と、最適化施設ROLファイル(第2の最適化優先度リストファイル)8と、最適化マッチング結果格納ファイル9と、マッチング結果格納ファイル10とが記憶されている。これらは、共通の1つの記憶装置内に記憶されていてもよく、あるいは、複数の記憶装置内に記憶されていてもよい。さらに、マッチングサーバ100内には、通信網500を介して外部との通信を行うための通信手段11と、定員に関する処理を行う定員処理手段12と、ROLファイルの作成処理を行うROL処理手段13と、マッチング手段14とが設けられている。

図10は、参加者条件ファイル1の一例を示した図である。図10に示すように、参加者条件ファイル1には、ユーザID毎の施設コード条件(ユーザID毎の施設との組み合わせ条件)を記憶している。施設コード条件とは、上述したように、ある条件に合致した施設(病院)とのマッチングしか許可しない」、あるいは「ある条件に合致する施設(病院)とのマッチングは許可しない」等の条件のことを言う。すなわち、ユーザIDごとに、施設のそれぞれについてその施設とのマッチングを許可するか否かが記憶される。
ユーザID 001には、「施設コード A001、A003は許可(その他の施設コードは許可しない)」との条件が設定され、ユーザID 004には、「施設コード A002は、不許可(その他の施設コードは許可する)」との条件が設定されている。なお参加者条件ファイル1の項目に、許可施設コード、不許可施設コードのそれぞれの項目を設定し、その項目に該当の施設コードを記憶するように構成してもよい。また条件がない参加者(図10の例では、ユーザID 002、003)については、参加者条件ファイル1のレコードに記憶しないように構成してもよい。

図11は、参加者条件ファイル1の別の一例を示した図である。図11の例では、ユーザID毎の条件を施設コードではなく、概念的な条件で指定している。概念的な条件とは、その施設の所在地に関する条件や、その施設の定員数に関する条件を含む。例えば、ユーザID 001に対する条件は、「○×県に所在する施設のみ許可」であり、ユーザID 004に対する条件は、「定員3名未満の施設は、不許可」である。これらの条件は、参加者条件ファイル1を参照するときに、合わせて施設情報ファイル2や参加者に関する情報を記憶した参加者情報ファイル(図示せず)を参照することで、具体的な許可施設コード、不許可施設コードに展開される。たとえば、ある施設が「○×県に所在する施設」に該当するか否かは、その施設住所に「○×県」という文字列が含まれるか否かに基づいて判断される。また、マッチングサーバ100が、参加者の出身大学に関する情報を記憶している場合には、「出身大学の所在都道府県に所在する施設のみ許可」という間接的な条件が指定されてもよい。
さらに、マッチングサーバ100が、各都道府県の隣接関係を記憶している場合には、図11のユーザID 005のように、「隣接都道府県」という条件が指定されてもよい。
なお図10、11のユーザID 001、004、005のユーザのように、施設コード条件を有するユーザのことを、以降、「条件付参加者」と称す。

図12は、施設情報ファイル2の一例を示した図である。施設情報ファイル2には、研修を実施する各施設の情報が格納されている。すなわち、施設情報ファイル2には、例えば、各施設を特定するためのIDである施設コード、施設名、施設住所(施設の所在地)、定員数(参加者の受け入れ可能人数)、特別枠定員数(条件付参加者の受け入れ可能人数)などの情報が格納されている。

図13は、特別枠定員設定ファイル3の一例を示した図である。特別枠定員設定ファイル3には、施設コードと、分離施設コードと、定員数と、特別枠定員対応かどうかを示す特別枠フラグとの情報が格納されている。特別枠定員設定ファイル3の施設コードと、分離施設コードと、定員数とは、施設情報ファイル2の各レコードの施設コード、定員数、特別枠定員数を参照して、特別枠定員数と、特別枠以外の定員数(すなわち特別枠外定員数)とを分離し、1つの施設コードに2つの分離施設コードを対応付け登録している。
例えば、施設情報ファイル2の施設コード A001のレコードを参照すると、A001は定員数 10で、その内訳として特別枠定員数が1であることがわかる。その情報から、特別枠定員設定ファイル3には、分離施設コードとして、A0011(特別枠外定員対応)とA0012(特別枠定員対応)が登録され、定員数は9、1と記憶される。またA0012は、特別枠定員に対応する分離施設コードであるため、特別枠フラグに1を設定する。「特別枠フラグ=1」は、特別枠定員対応の施設コードであることを示す。
なお、施設コード A002は、特別枠定員を持たない(特別枠定員数がゼロである)ので、特別枠外定員数に対応する分離施設コード A0021のみが指定されている。

図14は、分離情報ファイル4の一例を示した図である。分離情報ファイル4は、特別枠定員対応に分離した分離施設コードと、施設コードとの対応を記憶したものであり、施設コードと、分離施設コードと、特別枠フラグとの情報が格納されている。図14に示した、上の2レコードにより、分離施設コード A0011、A0012は、施設コード A001に対応し、A0012は特別枠定員対応の施設コードであることがわかる。

図15は、参加者ROLファイル5の一例を示した図である。参加者ROLファイル5には、各ユーザID毎に、各ユーザが希望する施設を希望順に並べたリストが格納されている。図15においては、各ユーザ毎に、第1希望から順に第n希望までの施設が順に格納されている。各ユーザは、例えば、インターネットのホームページ等から各施設の情報を得て、希望順位を決定する。なお、参加者ROLファイル5に、全ての施設を登録しても、一部の施設を登録してもよい。

図16は、施設ROLファイル6の一例を示した図である。施設ROLファイル6には、各施設コード毎に、各施設が希望する参加者を希望順に並べたリストが格納されている。図16においては、各施設毎に、第1希望から順に第n希望までの参加者が順に格納されている。各施設は、例えば、参加者の面談等を行って参加者の情報を得て、希望順位を決定する。なお、施設ROLファイル6に、全ての参加者を登録しても、一部の参加者を登録してもよい。
図15および図16において、nの値は参加者ごとに又は施設ごとに異なってもよい。

図17は、最適化参加者ROLファイル7の一例を示した図である。最適化参加者ROLファイル7は、参加者条件ファイル1と、特別枠定員設定ファイル3と、参加者により入力された、参加者ROLファイル5とを参照し、条件に合致しない組み合わせを削除したROLファイルである。
一例を示すと、参加者ROLファイル5には、ユーザID 001として、「施設コード A002 順位 1、施設コード A001 順位2」と登録されている。一方、参加者条件ファイル1を参照すると、ユーザID 001は、「施設コード A001、A003のみ指定できる」という条件を有する条件付参加者であることがわかるため、「施設コード A002、順位 1」と登録されるレコードは無効であることがわかる。そのため、該当のレコードは削除する。また、特別枠定員設定ファイル3を参照することにより、施設コード A001の特別枠定員対応の分離施設コードは、A0012であることがわかるため、「施設コード A001 順位2」のレコードを、「施設コード A0012 順位1」と書き換えて登録する。ユーザが登録した順位1のレコードは条件に一致せず削除したため、「施設コード A0012」が順位1となる。ユーザID 002は、参加者条件ファイル1に施設コード条件が登録されていないため、特別枠外定員対応として扱われる。すなわち、ユーザID 002について指定された施設コードは、すべて、その施設コードに対応する特別枠外定員対応の分離施設コードに書き換えて、最適化参加者ROLファイル7に登録する。

図18は、最適化施設ROLファイル8の一例を示した図である。最適化施設ROLファイル8は、参加者条件ファイル1と、特別枠定員設定ファイル3と、施設管理者により入力された、施設ROLファイル6とを参照し、参加者が有する条件に合致しない組み合わせを削除したROLファイルである。
一例を示すと、施設ROLファイル6には、施設コード A001として、「ユーザID 005 順位1、ユーザID 123 順位2」が登録されている。一方、参加者条件ファイル1を参照すると、図11には図示していないが、「ユーザID 005」は特別枠定員対応(条件付参加者として、施設コード A001とのマッチングは許可されている)であり、「ユーザID 123」は特別枠定員対応ではない(条件付参加者ではない)ことが判明したとする。その場合、「ユーザID 005」に対する施設コードは、A0012に変更され、「施設コード A0012、ユーザID 005、順位 1」と登録される。また「施設コード A0011、ユーザID 123、順位 1」と登録される。

施設コード A002として、「ユーザID 002 順位1、ユーザID 004 順位2、ユーザID 015 順位3」が登録されている。一方、参加者条件ファイル1を参照すると、「ユーザID 004は、施設コードA002は不許可」であることが判明するため、「ユーザID 004 順位2」のレコードを削除し、「ユーザID 002 順位1、ユーザID 015 順位2」と登録される。参加者の施設コード条件によりレコードが削除されると、次のレコードの順位が繰り上げられる。
図17および図18において、nの値は参加者ごとに又は施設ごとに異なってもよい。

図19は、最適化マッチング結果格納ファイル9の一例を示した図である。最適化マッチング結果格納ファイル9には、マッチング処理の結果得られたマッチング結果が格納されている。

図20は、マッチング結果格納ファイル10の一例を示した図である。マッチング結果格納ファイル10の施設コードは、最適化マッチング結果格納ファイル9と、分離情報ファイル4とを参照して、最適化マッチング結果格納ファイル9の施設コード(分離施設コード)を、変換したものである。例えば、分離情報ファイル4を参照して「ユーザID 001 施設コード A0012」は、「ユーザID 001 施設コード A001」と変換され、「ユーザID 002 施設コード A0031」は、「ユーザID 002 施設コード A003」と変換される。
このようにユーザIDと、割り当てられた施設の施設コードとが、それぞれ、対応付けて格納されるため、どの参加者が、どこの施設で研修を行うかを確認することができる。
なお、図10から図20に示したファイル構成で、行方向(横方向)の1行をレコードと呼ぶ。

図2の説明に戻る。図2に示すように、参加者端末200内には、入力手段20と、表示手段21と、処理手段22と、通信手段23とが設けられている。
なお、施設管理者端末300の内部構成は、参加者端末200と同様であるため、ここでは説明を省略する。

マッチング管理者端末400内には、入力手段30と、表示手段31と、処理手段32と、通信手段33とが設けられている。

次に、本実施の形態1に係るマッチングシステムの動作について説明する。図3は、マッチング管理者端末400からのデータ入力処理について示した図であり、マッチング管理者が、参加者条件ファイル1または施設情報ファイル2の追加、更新または削除の処理を行うときの処理の流れを示している。図3に示すように、まず、マッチング管理者端末400の処理手段32は、マッチング管理者の操作により入力手段30が受け付けた入力データを通信手段33に受け渡す(ステップS1)。次に、マッチング管理者端末400の通信手段33が、マッチングサーバ100の通信手段11に当該入力データを送信する(ステップS2)。次に、マッチングサーバ100の通信手段11が、受信したデータ内容により、参加者条件ファイル1または施設情報ファイル2にデータの追加、更新または削除を行う(ステップS3)。

図4は、参加者端末200からのデータ入力処理を示した図であり、参加者が希望順位を示す優先度リスト(ROLファイル)の入力を行うときの処理の流れを示している。図4に示すように、まず、参加者端末200の処理手段22は、参加者の操作により入力手段20が受け付けた入力データを通信手段23に受け渡す(ステップS11)。次に、参加者端末200の通信手段23がマッチングサーバ100の通信手段11に当該入力データを送信する(ステップS12)。次に、マッチングサーバ100の通信手段11が、受信したデータ内容をROL作成手段13に受け渡し、ROL作成手段13が、参加者ROLファイル5にデータの追加、更新または削除を行う。つまり、該当のユーザIDに対応するユーザID、施設コード、順位を記憶した1以上のレコードを参加者ROLファイル5に上書きする(ステップS13)。
また、施設管理者端末300からのデータ入力を受付けるときも、図4に示したフローチャートと同様の流れになる。なお、参加者条件ファイル1、施設情報ファイル2、参加者ROLファイル5、施設ROLファイル6へのデータの追加、更新、削除の処理はマッチング管理者端末400から行なうこともできる。その場合は、それぞれのデータを何らかの記憶媒体により、管理者にファイル形式で受け渡し、管理者がマッチング管理者端末400から一括してファイル更新作業を行なうことになる。

図5は、マッチングサーバ100の定員処理手段12による特別枠定員に関する処理を示した図である。図5に示すように、マッチングサーバ100の定員処理手段12が施設コードを表す変数をnとしてnの初期値に1を設定し、その後施設情報ファイル2の施設コード項目を参照することにより、予め登録されている施設コードの最大値を記憶する(ステップS21)。なお、図12等に示す施設コードは数ではなく文字列を含むが、ここでは、各施設コードはそれぞれ異なるnの値に一意に対応するものとする。たとえば、施設コードA001はn=1に対応し、施設コードA002はn=2に対応する。これを実現する方法の一例として、施設情報ファイル2には、施設コードごとに、対応するnの値を表す施設番号を関連付けて記憶してもよい。
次に、定員処理手段12は、現在の施設コードが記憶されている施設コードの最大値より大きいかどうかを確認し(ステップS22)、現在の施設コードが最大値より大きい場合は、処理を終了する。現在の施設コードが最大値以下の場合は、ステップS23に処理が移り、該当の施設コードに特別枠定員数の指定があるかどうかを確認し(ステップS23)、指定がある場合は、「定員数=元の定員数−特別枠定員数」とする第1の分離施設コードと、「定員数=特別枠定員数」とする第2の分離施設コードの情報を作成し、その後作成した第1の分離施設コード、第2の分離施設コードの情報を特別枠定員設定ファイル3に記憶する。また、元の施設コードと、第1の分離施設コード、第2の分離施設コードとの対応付けを分離情報ファイル4に記憶する(ステップS26)。ここで、第1の分離施設コードおよび第2の分離施設コードは、対応する施設コードの末尾に、それぞれ「1」および「2」を追加することによって生成される。その後、マッチングサーバ100の定員処理手段12は、施設コードを1加算し(ステップS25)、ステップS22の処理に移る。

図12、13に示した、施設情報ファイル2と、特別枠定員設定ファイル3の例では、「施設コード A001、定員数 10、特別枠定員数 1」と記憶された施設情報ファイル2のレコードに基づき、特別枠定員設定ファイル3に「施設コード A0011、定員数 9」、「施設コード A0012、定員数 1 特別枠フラグ1」のレコードが記憶され、また分離情報ファイル4に、「施設コード A001、分離施設コード A0011」、「施設コード A001、分離施設コード A0012、特別枠フラグ1」のレコードが記憶される。
またステップS23の分岐で、該当の施設コードに特別枠定員数の指定がないと判定したときは、ステップS24の処理に移る。ステップS24の処理で、該当の施設コードに基づいて特別枠外定員対応の分離施設コードを作成し、この分離施設コードと定員数とを、特別枠定員設定ファイル3の施設コード、定員数として記憶し(ステップS24)、その後施設コードを1加算し(ステップS25)、ステップS22の処理に移る。
以上、図5を用いて説明した処理で、特別枠定員設定ファイル3と分離情報ファイル4とが生成される。

図6は、マッチングサーバ100のROL処理手段13による参加者ROLファイル5の最適化に関する処理を示した図である。図6に示すように、ROL処理手段13は参加者条件ファイル1、特別枠定員設定ファイル3、参加者ROLファイル5を読み込み(ステップS31)、ユーザIDを表す変数をnとしてnの初期値に1を設定し、その後参加者ROLファイル5のユーザID項目を参照することにより、予め登録されているユーザIDの最大値を記憶する(ステップS32)。次にユーザIDが記憶している最大値より大きいかどうかの比較を行い(ステップS33)、ユーザIDが最大値より大きいと判定したときは処理を終了する。ユーザIDが最大値以下のときは、ステップS34に処理が移り、参加者条件ファイル1の該当ユーザIDのレコードに施設コード条件が設定されているかどうかを確認する(ステップS34)。ステップS34の判定で、該当ユーザIDのレコードに施設コード条件が設定されているとしたときは、参加者ROLファイル5の該当ユーザIDのレコードを全て抜き出し、これをコピーして暫定最適化参加者ROLファイル(図示せず)として一時的に記憶装置に記憶する。その後、暫定最適化参加者ROLファイルの1レコードずつについて、施設コード条件と、特別枠定員設定ファイル3とを参照しながら、次の処理を繰り返す。
処理1:処理中のレコードのユーザID項目を参照し、これと同一のユーザID項目を有する参加者条件ファイル1のレコードを参照し、施設コード条件が指定されているか否か、および、処理中のレコードの施設コードがその施設コード条件に合致するか否かを判定する。施設コード条件が指定されており、かつ、処理中のレコードの施設コードがその施設コード条件に合致しない場合は、一時的に記憶した暫定最適化参加者ROLファイルから削除する。
処理2:施設コード条件が指定されており、かつ、処理中のレコードの施設コードがその施設コード条件に合致する場合は、特別枠定員設定ファイル3の施設コード項目が該当施設コードと同一で、特別枠フラグ=1のレコードを参照し、分離施設コードの値を取得する。暫定最適化参加者ROLファイルにおいて、処理中のレコードの施設コードを、取得した分離施設コードに置き換える。
処理3:該当ユーザIDの全てレコードに対して処理が完了したら、暫定最適化参加者ROLファイルの順位項目の順位を1から1つずつ繰り上がるように、更新する。
なお、処理1〜3において、「施設コード条件に合致する施設コード」とは、施設コード条件として許可する施設コードが指定されている場合には指定された施設コードのいずれかに一致する施設コードを意味し、施設コード条件として許可しない施設コードが指定されている場合には指定された施設コードのいずれかにも一致しない施設コードを意味する。
この処理1〜3の処理を行った後、一時的に記憶した暫定最適化参加者ROLファイルのレコードをすべて最適化参加者ROLファイル7に追加し(ステップS37)、ユーザIDを1加算して(ステップS36)、ステップS33の処理に戻る。

ステップS34の判定で、該当ユーザIDのレコードに施設コード条件が設定されていないとしたときは、ステップS35の処理に移り、参加者ROLファイル5の該当ユーザIDのレコードを全て抜き出し、これをコピーして暫定最適化参加者ROLファイルとして一時的に記憶装置に記憶する。その後、暫定最適化参加者ROLファイルの1レコードずつについて、特別枠定員設定ファイル3を参照しながら、次の処理を繰り返す。
処理4:特別枠定員設定ファイル3の施設コード項目が該当施設コードと同一で、特別枠フラグ≠1であるレコードを参照し、分離施設コードの値を取得する。暫定最適化参加者ROLファイルにおいて、該当レコードの施設コードを、取得した分離施設コードに置き換える。
処理4を行った後、一時的に記憶した暫定最適化参加者ROLファイルのレコードをすべて最適化参加者ROLファイル7に追加する(ステップS35)。その後、ユーザIDを1加算して(ステップS36)、ステップS33の処理に戻る。
以上、図6を用いて説明した処理で、最適化参加者ROLファイル7が生成される。

次に図7は、マッチングサーバ100のROL処理手段13による施設ROLファイル6の最適化に関する処理を示した図である。図7に示すように、ROL処理手段13は参加者条件ファイル1、特別枠定員設定ファイル3、施設ROLファイル6を読み込み(ステップS41)、施設コードを表す変数をnとしてnの初期値に1を設定し、その後施設ROLファイル6の施設コード項目を参照することにより、予め登録されている施設コードの最大値を記憶する(ステップS42)。次に施設コードが記憶している最大値より大きいかどうかの比較を行い(ステップS43)、施設コードが最大値より大きいと判定したときは処理を終了する。施設コードが最大値以下のときは、ステップS44に処理が移り、施設ROLファイル6の該当施設コードのレコードを全て抜き出し、これをコピーして暫定最適化施設ROLファイル(図示せず)として一時的に記憶装置に記憶する。その後、暫定最適化施設ROLの1レコードずつについて、参加者条件ファイル1と、特別枠定員設定ファイル3とを参照しながら、次のいずれかの処理を行う。

処理5:処理中のレコードのユーザID項目を参照し、これと同一のユーザID項目を有する参加者条件ファイル1のレコードを参照し、施設コード条件が指定されているか否か、および、その施設コードがその施設コード条件に合致するか否かを判定する。施設コード条件が指定されており、かつ、処理中のレコードの施設コードが施設コード条件に合致しない場合は、一時的に記憶した暫定最適化施設ROLファイルにからそのレコードを削除する。
処理6:施設コード条件が指定されており、かつ、処理中のレコードの施設コードが施設コード条件に合致する場合は、特別枠定員設定ファイル3の施設コード項目が該当施設コードと同一で、特別枠フラグ=1のレコードを参照し、分離施設コードの値を取得する。処理中のレコードの施設コードを、取得した分離施設コードに置き換える。
処理7:施設コード条件が指定されていない場合(すなわち、参加者条件ファイル1のユーザID項目が該当レコードのユーザIDと同一のレコードを参照し、施設コード条件を有していない場合)は、特別枠定員設定ファイル3の施設コード項目が該当施設コードと同一で、特別枠フラグ≠1であるレコードを参照し、分離施設コードの値を取得する。処理中のレコードの施設コードを、取得した分離施設コードに置き換える。
この処理5〜7の処理を行い、未処理のレコードが存在するかどうか判定し(ステップS45)、未処理レコードが存在するときは、次のレコードを処理対象として(ステップS46)、ステップS44に戻る。
ステップS45で未処理ユーザIDが存在しないとしたときは、ステップS47の処理に移り、一時的に記憶した暫定最適化施設ROLファイルのレコードを、順位項目の順位を1から1つずつ繰り上がるように更新した後、最適化施設ROLファイル8に追加し(ステップS47)、ステップS43に処理が戻る。
以上、図7を用いて説明した処理で、最適化施設ROLファイル8が生成される。

なお、上述の最適化参加者ROLファイル7の生成処理(図6)および最適化施設ROLファイル8の生成処理(図7)において、いったん各ROLファイルを抜き出して暫定最適化ROLファイルを作成しているが、変形例として、暫定最適化ROLファイルを作成せず、もとのROLファイルに対して直接処理を行ってもよい。たとえば、参加者ROLファイル5に対して図6の処理を行い、その結果を最適化参加者ROLファイル7(またはその一部)としてもよい。

図8は、マッチングサーバ100のマッチング手段14によるマッチング処理を示した図である。図8に示すように、マッチング手段14は、最適化参加者ROLファイル7、最適化施設ROLファイル8、特別枠定員設定ファイル3を読み込み、これらのファイルに基づき、上述した図23に示すGale−Shapleyアルゴリズムを用いたマッチング処理を行い、マッチ結果を最適化マッチング結果格納ファイル9に格納する(ステップS51)。その後、分離情報ファイル4を参照し分離施設コードを元の施設コードに統合して、最適化マッチング結果格納ファイル9からマッチング結果格納ファイル10を生成する。最適化マッチング結果格納ファイル9からマッチング結果格納ファイル10を生成する際の変換の方法は、上述したとおりである。

図9は、マッチングサーバ100の通信手段11によるマッチング結果の通知の処理について示した図である。図9に示すように、まず、マッチングサーバ100のマッチング手段9は、マッチング処理終了を通知手段11に通知する(ステップS61)。次に、マッチングサーバ100の通信手段11は、マッチング結果格納ファイル10に記憶されたマッチング結果を、マッチング管理者端末400の通信手段33に通知する(ステップS62)。次に、マッチング管理者端末400の通信手段33は、通知されたマッチング結果を処理手段32に受け渡す(ステップS63)。次に、マッチング管理者端末400の処理手段32は、受け渡されたマッチング結果を、インターネット等で公開する(ステップS64)。

なおマッチング結果の公開については、図9に示した方法によらず、ファイル形式や結果を印刷した紙にて、参加者及び施設管理者に通知する方法もある。また、該当のマッチング結果を参加者端末200または、施設管理者端末300に通知するように構成してもよい。例えば、参加者端末200がユーザID 001でログインされていたとすると、ユーザID 001がマッチされた施設情報(例えば、施設コード A001に関する情報)を送信するように構成してもよい。

なお、上記の説明においては、研修を希望する参加者と受け入れ先の施設とのマッチング問題について説明したが、その場合に限らず、複数の要素からなる集合A(上記の参加者に相当)と複数の要素からなる集合B(上記の施設に相当)との各要素をマッチングするマッチング問題であって、集合Bが特定の条件で分類されグループを構成し、そのそれぞれのグループがグループ定員数を有するときのマッチング問題のいずれにも適用できることはいうまでもない。

すなわち、この発明は、複数の要素からなる集合A(参加者のグループ)と複数の要素からなる集合B(施設のグループ)との各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と特別枠定員数とを記憶した定員数ファイル(施設情報ファイル2)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル(参加者ROLファイル5)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル(施設ROLファイル6)と、上記A要素IDごとにB要素IDに対する組み合わせ条件(ユーザID毎の施設コード条件(ユーザID毎の施設との組み合わせ条件))を記憶しているA要素条件ファイル(参加者条件ファイル1)と、上記定員数ファイルに記憶された定員数と特別枠定員数とを参照し、上記定員数から上記特別枠定員数を減算した数値を定員数とする第1のB要素ID(特別枠フラグ=1以外の分離施設コード)と、上記特別枠定員数を定員数とする第2のB要素ID(特別枠フラグ=1の分離施設コード)を生成し、この定員数と第1のB要素IDまたは、第2のB要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段(図6のステップS24、S26に相当)と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを第1のB要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを第2のB要素IDに置き換えた第1の最適化優先度リストファイルを生成し、さらに、 上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを第1のB要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを第2のB要素IDに置き換えた第2の最適化優先度リストファイルを生成するROL処理手段(図6,7の処理に相当)と、上記第1の最適化優先度リストファイル、第2の最適化優先度リストファイルおよび上記特別枠定員設定ファイルに記憶された、上記第1のB要素IDまたは第2のB要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段(図8のステップS51に相当)とを備えたマッチングシステムである。

また、この発明は、複数の要素からなる集合A(参加者のグループ)と複数の要素からなる集合B(施設のグループ)との各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素(施設)のB要素ID(施設コード)ごとに、マッチングで受け入れ可能な定員数と特別枠定員数とを記憶した定員数ファイル(施設情報ファイル2)と、上記集合Aの各要素(参加者)のA要素ID(ユーザID)ごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル(参加者ROLファイル5)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル(施設ROLファイル6)と、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件(ユーザID毎の施設コード条件(ユーザID毎の施設との組み合わせ条件))を記憶しているA要素条件ファイル(参加者条件ファイル1)と、定員処理手段(図6のステップS24、S26に相当)であって、上記定員処理手段は、上記B要素IDごとに、上記定員数ファイルに記憶された定員数と特別枠定員数とを参照し、上記定員数から上記特別枠定員数を減算した数値を特別枠外定員数とする第1のB要素分離ID(特別枠フラグ≠1である分離施設コード)と、上記特別枠定員数を定員数とする第2のB要素分離ID(特別枠フラグ=1である分離施設コード)を生成し、上記定員処理手段は、上記特別枠外定員数と第1のB要素分離IDとの対応付けを特別枠定員設定ファイルに記憶し、上記定員処理手段は、上記特別枠定員数と第2のB要素分離IDとの対応付けを特別枠定員設定ファイルに記憶する員処理手段と、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストファイルを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストファイルを生成するROL処理手段(図6,7の処理に相当)であって、上記ROL処理手段は、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除し、上記ROL処理手段は、上記A要素のそれぞれについて、上記A要素条件ファイルに基づき、そのA要素が特別枠外定員対応であるか、または特別枠定員対応であるかを判定し、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する第1のB要素分離IDに置き換え、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する第2のB要素分離IDに置き換え、上記ROL処理手段は、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストファイルを生成し、上記ROL処理手段は、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除し、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する第1のB要素分離IDに置き換え、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する第2のB要素分離IDに置き換え、上記ROL処理手段は、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストファイルを生成するROL処理手段と、マッチング処理を行うマッチング処理手段(図8のステップS51に相当)であって、上記マッチング処理手段は、上記第1の最適化優先度リストファイル、上記第2の最適化優先度リストファイル、上記特別枠定員設定ファイルに記憶された、上記特別枠外定員数と上記第1のB要素分離IDとの対応付け、および、上記特別枠定員設定ファイルに記憶された、上記特別枠定員数と上記第2のB要素分離IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムであるということもできる。

さらに、この発明のマッチングシステムは、上記定員処理手段は、B要素IDと、第1のB要素IDまたは第2のB要素IDとの対応付けを記憶した、分離情報ファイルを生成し(図5のステップS26に相当)、上記マッチング処理手段は、上記分離情報ファイルを参照し、第1のB要素IDおよび第2のB要素IDをB要素IDに統合して、A要素IDごとにマッチングされた集合Bの要素のB要素IDを記憶する(図8のステップS52に相当)。

以上説明したように、本実施の形態によれば、卒業大学の指定や入学時、卒業時の条件等により、「ある条件に合致した施設(病院)とのマッチングしか許可しない」、あるいは「ある条件に合致する施設(病院)とのマッチングは許可しない」等の条件を有している参加者がいたとしても、その条件を満たしながら、安定マッチングを得ることができる。

実施の形態2.
上述の実施の形態1では、特別枠外定員設定ファイル3および分離情報ファイル4に分離施設コードを記憶し、この分離施設コードに基づいてマッチングを行った。実施の形態2では、このような分離施設コードを用いずにマッチングを行うものである。

実施の形態2では、実施の形態1と同様にROL作成手段が参加者ROLファイル5および施設ROLファイル6を作成する。
その後、ROL処理手段が、各参加者のユーザIDについて、参加者条件ファイル1の施設コード条件を参照し、この条件に合致しない施設コードを参加者ROLファイル5から削除することによって、最適化参加者ROLファイルを作成する。ここで、実施の形態2では分離施設コードを用いないので、最適化参加者ROLファイルは図17に示すものとは異なり施設コードはそのままである(すなわち分離施設コードには置き換えられない)。
次に、ROL処理手段が、各参加者のユーザIDについて、参加者条件ファイル1の施設コード条件を参照し、この条件に合致しない施設コードとそのユーザIDとが指定されたレコードを施設ROLファイル6から削除することによって、最適化施設ROLファイルを作成する。ここで、実施の形態2では分離施設コードを用いないので、最適化施設ROLファイルは図18に示すものとは異なり施設コードはそのままである(すなわち分離施設コードには置き換えられない)。

すなわち、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除して第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除して第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記定員数ファイルに記憶された上記B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。
この構成は、請求項4の構成に対応する。

また、この発明は、 複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除して、第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除して、第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、および上記定員数ファイルに記憶された、上記定員数と上記B要素IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。
この構成は、請求項5の構成に対応する。

上述のように作成される最適化参加者ROLファイルおよび最適化施設ROLファイルに基づき、実施の形態1と同様のマッチング処理が行われる。
このように、本実施の形態によれば、卒業大学の指定や入学時、卒業時の条件等により、「ある条件に合致した施設(病院)とのマッチングしか許可しない」、あるいは「ある条件に合致する施設(病院)とのマッチングは許可しない」等の条件を有している参加者がいたとしても、その条件を満たしながら、安定マッチングを得ることができる。

実施の形態3.
実施の形態3は、実施の形態1において、1つの施設コードに対応する分離施設コードの数を3以上とするものである。たとえば、複数の特別枠定員にそれぞれ対応する複数の分離施設コードと、特別枠外定員に対応する1つの分離施設コードとを用いる。
たとえば、施設コード A001について、特別枠外定員対応の分離施設コード A0011と、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コード A0012と、奨学金の受給を希望する参加者限定である第二の特別枠定員対応の分離施設コード A0013とが生成される。

最適化参加者ROLファイルおよび最適化施設ROLファイルは、実施の形態1と同様にして作成される。ここで、ある参加者のユーザIDとある施設の施設コードとの対応付けについて、その施設コードをいずれの分離施設コードに置き換えるかは、様々な条件に基づいて判断することができる。
このような条件は、たとえば参加者に関する様々な情報を記憶する参加者情報ファイル(図示せず)にあらかじめ指定しておくことができる。この参加者情報ファイルは、各参加者について、たとえば居住都道府県と、奨学金の受給を希望するか否かを記憶してもよく、ROL処理手段はこれを参照することができる。

ある参加者が、同一都道府県内の施設を希望する場合、すなわち、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コードによるマッチングを希望する場合を考える。この場合、その参加者の居住都道府県が、ある施設(施設コード A001とする)の所在都道府県と同一であれば、ROL処理手段は、参加者ROLファイルおよび施設ROLファイルにおいてそのユーザIDと対応する施設コード A001を、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コード A0012に置き換える。また、その参加者の居住都道府県が、別の施設(施設コード A002とする)の所在都道府県と異なっていれば、ROL処理手段は、参加者ROLファイルおよび施設ROLファイルにおいてそのユーザIDと対応する施設コード A002を削除する(すなわち、当該ROLファイルにおいて、そのユーザIDとその施設コードとが指定されたレコードが削除されることになる)。

また、各施設は、同一の参加者が複数の特別枠定員対応の分離施設コードに合致する場合に、いずれを優先するかを規定する優先規則情報(図示せず)をあらかじめ決定しておき、これをマッチングサーバ100に記憶させてもよい。ROL処理手段は、同一の参加者が複数の特別枠定員対応の分離施設コードに合致する場合には、この優先規則情報に基づき、そのユーザIDと対応する施設コードをいずれかの分離施設コードに置き換える。

また、複数の特別枠定員対応の分離施設コードのうち一部のみを使用し、他は使用しないという条件を指定してもよい。すなわち、たとえば施設コード A001の施設は、特別枠外定員対応の分離施設コード A0011と、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コード A0012のみに対応し、奨学金の受給を希望する参加者限定である第二の特別枠定員対応の分離施設コード A0013は生成されなくともよい。
この場合、同一都道府県内の施設を希望する参加者、すなわち、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コードによるマッチングを希望する参加者については、施設コード A001は第一の特別枠定員対応の分離施設コード A0012に置き換えられるが、奨学金の受給を希望する参加者限定である第二の特別枠定員対応の分離施設コードによるマッチングを希望する参加者については、施設コード A001は第二の特別枠定員対応の分離施設コードを有しないので、特別枠外定員対応の分離施設コード A0011に置き換えられる。

すなわち、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠に対してそれぞれ特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を定員数とする特別枠外B要素IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素IDを生成し、この定員数と上記特別枠外B要素IDまたは各特別枠B要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを、上記組み合わせ条件の内容に応じて、特別枠B要素IDのいずれかに置き換えた第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを上記特別枠B要素IDに置き換えた第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記特別枠定員設定ファイルに記憶された上記特別枠外B要素IDまたは上記特別枠B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。
この構成は、請求項1の構成に対応する。

また、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、定員処理手段であって、上記定員処理手段は、上記B要素IDごとに、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を特別枠外定員数とする特別枠外B要素分離IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素分離IDを生成し、上記定員処理手段は、上記特別枠外定員数と特別枠外B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶し、上記定員処理手段は、上記各特別枠定員数と各特別枠B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除し、上記ROL処理手段は、上記A要素のそれぞれについて、上記A要素条件ファイルに基づき、そのA要素が特別枠外定員対応であるか、またはいずれの特別枠定員対応であるかを判定し、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除し、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、上記特別枠定員設定ファイルに記憶された、上記特別枠外定員数と上記特別枠外B要素分離IDとの対応付け、および、上記特別枠定員設定ファイルに記憶された、上記各特別枠定員数と上記各特別枠B要素分離IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。
この構成は、請求項2の構成に対応する。

さらに、上記定員処理手段は、B要素IDと、特別枠外B要素分離IDまたはいずれかの特別枠B要素分離IDとの対応付けを記憶した、分離情報ファイルを生成し、上記マッチング処理手段は、上記分離情報ファイルを参照し、特別枠外B要素分離IDおよび各特別枠B要素分離IDをB要素IDに統合して、A要素IDごとにマッチングされたB要素IDを記憶する。
この構成は、請求項3の構成に対応する。

以上の各実施の形態で、マッチングシステム(マッチングサーバ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 参加者条件ファイル、2 施設情報ファイル、3 特別枠定員設定ファイル、4 分離情報ファイル、5 参加者ROLファイル、6 施設ROLファイル、7 最適化参加者ROLファイル、8 最適化施設ROLファイル、9 最適化マッチング結果格納ファイル、10 マッチング結果格納ファイル、11 通信手段、12 定員処理手段、13 ROL作成手段、14 マッチング手段、20 入力手段、21 表示手段、22 処理手段、23 通信手段、30 入力手段、31 表示手段、32 処理手段、33 通信手段、100 マッチングサーバ、200 参加者端末、300 施設管理者端末、400 マッチング管理者端末、500 通信網。

Claims (5)

  1. 複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、
    上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠に対してそれぞれ特別枠定員数とを記憶した定員数ファイルと、
    上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、
    上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、
    上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、
    上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を定員数とする特別枠外B要素IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素IDを生成し、この定員数と上記特別枠外B要素IDまたは各特別枠B要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、
    上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、
    A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、
    一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを、上記組み合わせ条件の内容に応じて、特別枠B要素IDのいずれかに置き換えた第1の最適化優先度リストを生成し、
    さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、
    A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、
    一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを上記特別枠B要素IDに置き換えた第2の最適化優先度リストを生成するROL処理手段と、
    上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記特別枠定員設定ファイルに記憶された上記特別枠外B要素IDまたは上記特別枠B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段と
    を備えたことを特徴とするマッチングシステム。
  2. 複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、
    上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠定員数とを記憶した定員数ファイルと、
    上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、
    上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、
    上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、
    定員処理手段であって、
    上記定員処理手段は、上記B要素IDごとに、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を特別枠外定員数とする特別枠外B要素分離IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素分離IDを生成し、
    上記定員処理手段は、上記特別枠外定員数と特別枠外B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶し、
    上記定員処理手段は、上記各特別枠定員数と各特別枠B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶する
    定員処理手段と、
    上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、
    上記ROL処理手段は、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除し、
    上記ROL処理手段は、上記A要素のそれぞれについて、上記A要素条件ファイルに基づき、そのA要素が特別枠外定員対応であるか、またはいずれの特別枠定員対応であるかを判定し、
    上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する特別枠外B要素分離IDに置き換え、
    上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応するその特別枠B要素分離IDに置き換え、
    上記ROL処理手段は、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成し、
    上記ROL処理手段は、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除し、
    上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する特別枠外B要素分離IDに置き換え、
    上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応するその特別枠B要素分離IDに置き換え、
    上記ROL処理手段は、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成する
    ROL処理手段と、
    マッチング処理を行うマッチング処理手段であって、
    上記マッチング処理手段は、
    上記第1の最適化優先度リスト、
    上記第2の最適化優先度リスト、
    上記特別枠定員設定ファイルに記憶された、上記特別枠外定員数と上記特別枠外B要素分離IDとの対応付け、および、
    上記特別枠定員設定ファイルに記憶された、上記各特別枠定員数と上記各特別枠B要素分離IDとの対応付け
    に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段と
    を備えたことを特徴とするマッチングシステム。
  3. さらに、上記定員処理手段は、B要素IDと、特別枠外B要素分離IDまたはいずれかの特別枠B要素分離IDとの対応付けを記憶した、分離情報ファイルを生成し、
    上記マッチング処理手段は、上記分離情報ファイルを参照し、特別枠外B要素分離IDおよび各特別枠B要素分離IDをB要素IDに統合して、A要素IDごとにマッチングされたB要素IDを記憶することを特徴とする
    請求項1または2に記載のマッチングシステム。
  4. 複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、
    上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、
    上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、
    上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、
    上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、
    上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除して第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除して第2の最適化優先度リストを生成するROL処理手段と、
    上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記定員数ファイルに記憶された上記B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段と
    を備えたことを特徴とするマッチングシステム。
  5. 複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、
    上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、
    上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、
    上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、
    上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、
    上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、
    上記ROL処理手段は、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除して、第1の最適化優先度リストを生成し、
    上記ROL処理手段は、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除して、第2の最適化優先度リストを生成する
    ROL処理手段と、
    マッチング処理を行うマッチング処理手段であって、
    上記マッチング処理手段は、
    上記第1の最適化優先度リスト、
    上記第2の最適化優先度リスト、および
    上記定員数ファイルに記憶された、上記定員数と上記B要素IDとの対応付け
    に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段と
    を備えたことを特徴とするマッチングシステム。
JP2011098161A 2011-04-26 2011-04-26 マッチングシステム Active JP5286384B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011098161A JP5286384B2 (ja) 2011-04-26 2011-04-26 マッチングシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011098161A JP5286384B2 (ja) 2011-04-26 2011-04-26 マッチングシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009020035 Division 2009-01-30

Publications (2)

Publication Number Publication Date
JP2011154720A true JP2011154720A (ja) 2011-08-11
JP5286384B2 true JP5286384B2 (ja) 2013-09-11

Family

ID=44540583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011098161A Active JP5286384B2 (ja) 2011-04-26 2011-04-26 マッチングシステム

Country Status (1)

Country Link
JP (1) JP5286384B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140379509A1 (en) * 2011-12-27 2014-12-25 Needstomach Corporation Matching support device, matching support system, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002373268A (ja) * 2001-06-14 2002-12-26 Hitachi Commun Syst Inc 求人求職仲介方法およびそのシステム
JP2003323560A (ja) * 2002-05-01 2003-11-14 ▲高▼橋 亮 三者間マッチングシステム
JP2006331358A (ja) * 2005-05-30 2006-12-07 P A:Kk ネットワークを利用した求人・求職情報の提供における課金システム
JP2007305006A (ja) * 2006-05-14 2007-11-22 Hr Partners:Kk 人材紹介システム用サーバ装置及び人材紹介システム

Also Published As

Publication number Publication date Type
JP2011154720A (ja) 2011-08-11 application

Similar Documents

Publication Publication Date Title
Lippeveld et al. Design and implementation of health information systems
Leiter et al. Consistency of the burnout construct across occupations
US8180654B2 (en) Method and system for creating, assembling, managing, utilizing, and securely storing portable personal medical records
US6772157B2 (en) Delegated administration of information in a database directory
US20050015381A1 (en) Database management system
US5666490A (en) Computer network system and method for managing documents
Beekly et al. The national Alzheimer's coordinating center (NACC) database: an Alzheimer disease database
US20060253441A1 (en) Database and index organization for enhanced document retrieval
US20070067753A1 (en) Enterprise management system
Tamasese et al. Ole Taeao Afua, the new morning: a qualitative investigation into Samoan perspectives on mental health and culturally appropriate services
US20020019753A1 (en) System, method, and computer program product for assisting caregivers
US6734886B1 (en) Method of customizing a browsing experience on a world-wide-web site
Kaplan Part III summary
Winter et al. Health information systems
Watkins et al. Review of treatment recommendations for persons with a co-occurring affective or anxiety and substance use disorder
WO1998015910A1 (en) Global electronic medical record
US6925599B2 (en) Methodology for performing validated clinical studies of pharmeceutical related products
US20050147947A1 (en) Genealogical investigation and documentation systems and methods
Young et al. Determinates of EIS acceptance
US20100281355A1 (en) Dynamically generated web surveys for use with census activities, and associated methods
Godwin et al. Technology-driven interventions for caregivers of persons with dementia: a systematic review
Bearman Record-keeping systems
Lærum et al. Effects of scanning and eliminating paper-based medical records on hospital physicians' clinical work practice
Kim et al. A meta-analysis of the effect of hospital-based case management on hospital length-of-stay and readmission
US20050149497A1 (en) Providing alternatives within a family tree systems and methods

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110426

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130603

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