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

マッチングシステム Download PDF

Info

Publication number
JP4465328B2
JP4465328B2 JP2006091587A JP2006091587A JP4465328B2 JP 4465328 B2 JP4465328 B2 JP 4465328B2 JP 2006091587 A JP2006091587 A JP 2006091587A JP 2006091587 A JP2006091587 A JP 2006091587A JP 4465328 B2 JP4465328 B2 JP 4465328B2
Authority
JP
Japan
Prior art keywords
matching
facility
priority list
group
program
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 - Fee Related
Application number
JP2006091587A
Other languages
English (en)
Other versions
JP2007265206A (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 JP2006091587A priority Critical patent/JP4465328B2/ja
Publication of JP2007265206A publication Critical patent/JP2007265206A/ja
Application granted granted Critical
Publication of JP4465328B2 publication Critical patent/JP4465328B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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別および上記グループID別に、マッチングで受け入れ可能な定数が指定された定数リストを記憶した定数記憶手段と、上記参加者ユーザIDごとに、上記施設の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リスト記憶手段と、上記施設施設コードごとに、上記参加者の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リスト記憶手段と、上記定数記憶手段に記憶されている上記定数リストの上記施設コードを、当該施設コードに上記グループIDを付加した新しい施設コードに置き換えて、置き換え定数リストを作成する置き換え定数リスト作成手段と、上記グループ情報記憶手段に記憶されているユーザIDごとの上記グループIDに基づいて、上記第1の優先度リストに含まれる上記施設の施設コードを、当該施設コードに上記グループIDを付加した新しい施設コードに置き換えて、置き換え第1の優先度リストを作成する置き換え第1の優先度リスト作成手段と、上記グループ情報記憶手段に記憶されているユーザIDごとの上記グループIDに基づいて、上記第2の優先度リストに含まれる上記施設の施設コードを、それに対応するユーザIDのグループIDを付加した新しい施設コードに置き換えて、置き換え第2の優先度リストを作成する置き換え第2の優先度リスト作成手段と、上記マッチング区分指定登録手段から上記区分IDごとに該当するグループIDを抽出するグループID抽出手段と、上記区分IDごとに、抽出した上記グループIDに対応する上記ユーザIDを、上記グループ情報記憶手段から抽出するユーザID抽出手段と、上記区分IDごとに、抽出した上記ユーザIDに対応するレコードを上記置き換え第1の優先度リストから抽出して、一時的第1の優先度リストを作成する第1の一時的優先度リスト作成手段と、上記区分IDごとに、抽出した上記ユーザIDを含むレコードを上記置き換え第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段と、上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記抽出された全ての参加者を、上記施設のいずれかに対して、上記置き換え定数リストに記憶されたそれらの各定数範囲内で、マッチング処理を行って、マッチング結果を出力するマッチング処理手段と、上記マッチング結果における施設コードを、それに付加されたグループIDを削除することにより、元の施設コードに置き換えるマッチング結果加工手段とを備えたマッチングシステムである。
この発明は、複数の参加者と複数の施設との各要素をマッチングするためのマッチングシステムであって、マッチング処理を行うマッチング処理対象区間が以上の区分に分割されており、上記参加者以上のグループのいずれかに属しており、上記区分は、上記グループごとに共通であって、上記グループのグループIDごとに、マッチング処理を行う上記区分の区分IDが登録されているマッチング区分指定登録手段と、上記参加者ユーザIDごとに、当該各参加者が属している上記グループのグループIDが記憶されているグループ情報記憶手段と、上記施設施設コードごとに、上記区分ID別および上記グループID別に、マッチングで受け入れ可能な定数が指定された定数リストを記憶した定数記憶手段と、上記参加者ユーザIDごとに、上記施設の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リスト記憶手段と、上記施設施設コードごとに、上記参加者の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リスト記憶手段と、上記定数記憶手段に記憶されている上記定数リストの上記施設コードを、当該施設コードに上記グループIDを付加した新しい施設コードに置き換えて、置き換え定数リストを作成する置き換え定数リスト作成手段と、上記グループ情報記憶手段に記憶されているユーザIDごとの上記グループIDに基づいて、上記第1の優先度リストに含まれる上記施設の施設コードを、当該施設コードに上記グループIDを付加した新しい施設コードに置き換えて、置き換え第1の優先度リストを作成する置き換え第1の優先度リスト作成手段と、上記グループ情報記憶手段に記憶されているユーザIDごとの上記グループIDに基づいて、上記第2の優先度リストに含まれる上記施設の施設コードを、それに対応するユーザIDのグループIDを付加した新しい施設コードに置き換えて、置き換え第2の優先度リストを作成する置き換え第2の優先度リスト作成手段と、上記マッチング区分指定登録手段から上記区分IDごとに該当するグループIDを抽出するグループID抽出手段と、上記区分IDごとに、抽出した上記グループIDに対応する上記ユーザIDを、上記グループ情報記憶手段から抽出するユーザID抽出手段と、上記区分IDごとに、抽出した上記ユーザIDに対応するレコードを上記置き換え第1の優先度リストから抽出して、一時的第1の優先度リストを作成する第1の一時的優先度リスト作成手段と、上記区分IDごとに、抽出した上記ユーザIDを含むレコードを上記置き換え第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段と、上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記抽出された全ての参加者を、上記施設のいずれかに対して、上記置き換え定数リストに記憶されたそれらの各定数範囲内で、マッチング処理を行って、マッチング結果を出力するマッチング処理手段と、上記マッチング結果における施設コードを、それに付加されたグループIDを削除することにより、元の施設コードに置き換えるマッチング結果加工手段とを備えたマッチングシステムであるので、1対複数の組合せを一回のみの入力から決定することが可能で、手間がかからず、処理時間が早く、コストを抑えることが可能なマッチングシステムを得ることができる。
実施の形態1.
この発明の実施の形態1に係るマッチングシステムは、1対M(M≧1)の組合せを決定するためのシステムである。例を挙げて説明すれば、例えば、歯学部の卒業生で研修を希望する研修希望者(以下、参加者とする。)は、1以上の歯科の医療施設(すなわち、大学病院や開業している歯科医など)で、多種多数の治療を経験する必要があるため、図13(a)に示すように、例えば、前期は施設Bで研修を行い、後期は施設Cで研修を行うといったように、一人の参加者が複数の歯科の医療施設にマッチングする組み合わせを求めなければならない。また、1施設で受け入れられる定員は1〜2名程度であるが、各々の施設に関する情報が少ないため、参加者が前年の研修実施記録等を参照する傾向があり、特定の施設への希望が集中しやすい状況があるため、マッチング率を向上させるために何らかの手段を講じなければならない。
図13(b)は、本実施の形態を説明するための研修プログラムの一例を示した図である。図13(b)の例においては、研修設定可能期間(区間)が、ある年の4月から翌年の3月まであり、その研修設定可能期間が前期、中期、後期の3つに分かれており、前期(SNO=1)は4〜7月、中期(SNO=2)は8〜11月、後期(SNO=3)は12〜3月となっている。図13(b)において、“管理型”とは、比較的規模の大きい医療施設、すなわち、大学病院等での研修を意味しており、これは参加者全員の受け入れが可能であるためマッチングは不要である。一方、“協力型”とは、受け入れ可能人数が1〜2名程度の規模の小さいいわゆる開業医等での研修を意味し、これについては、マッチングによる組み合わせ決定が必要である。Aプログラムは、前期と後期が管理型であり、中期が協力型となっている。すなわち、中期の分だけのマッチングが必要である。Bプログラムは、前期が管理型で、中期と後期が協力型(しかも同一施設)となっている。中期と後期は同じ施設で研修を行うため、2回マッチングする必要はなく、1回のマッチングで中期と後期の分の両方の組合せを決定することができる。Cプログラムは、前期が管理型で、中期と後期が協力型(異なる施設)となっている。従って、Cプログラムにおいては2回マッチング処理をする必要がある。参加者は、これらの3つのプログラムから1つを選択すると共に、どこの施設で研修を行いたいかを希望順位付けして登録する希望リスト(以下、ROLとする。)を作成する。本実施の形態においては、このように複数種類の研修プログラムが存在するとともに、1人の参加者に対して複数施設の割り当てを行う必要のある、複雑なマッチング問題を例に挙げて説明する。また、図13(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と、加工結果格納ファイル12の7つのファイルが記憶されている。これらは、共通の1つの記憶装置内に記憶されていてもよく、あるいは、複数の記憶装置内に記憶されていてもよい。さらに、マッチングサーバ100内には、通信網500を介して外部との通信を行うための通信手段7と、ROL(希望表)を作成するためのROL作成手段8と、抽出手段9と、マッチング手段10と、プログラム処理手段11とが設けられている。また、マッチングサーバ100内には、演算結果等を一時的に記憶するための記憶手段13が設けられている。
図14は、プログラムマスタファイル1の一例を示した図である。図14においては、プログラム番号は、図13(b)に示した各プログラムを示すIDである符号A,B,Cが格納されている。また、SNOは、図13(b)に示した各区分を示すIDである数字1(前期),2(中期),3(後期)が格納されている。また、継続SNOとは、Bプログラムのように、中期(SNO=2)のマッチング結果を後期(SNO=3)に継続させる場合に、どの区分のマッチング結果を継続させるかを指定するためIDが格納されている。図14の例は、図13(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”が格納されている。
図15は、参加者プログラム情報ファイル2の一例を示した図である。参加者プログラム情報ファイル2には、図15に示すように、参加者を特定するためのユーザIDと、当該ユーザIDごとに、各参加者が選択した研修プログラムを示すプログラム番号が格納されている。すなわち、ユーザIDが“001”の参加者はAプログラムを選択し、ユーザIDが“002”の参加者はBプログラムを選択し、ユーザIDが“003”の参加者はAプログラムを選択し、・・・ということを示す情報が参加者全員について格納されている。
図16は、施設プログラム情報ファイル3の一例を示した図である。施設プログラム情報ファイル3には、協力型の研修を実施する各施設の情報が格納されている。すなわち、施設プログラム情報ファイル3には、例えば、各施設を特定するためのIDである施設コードと、施設名、定員(参加者の受け入れ可能人数)、研修期間(図13(b)に示した各研修期間を示すIDであるSNO(=1,2,3))、研修プログラム(図13(b)に示した各プログラムを示すIDである符号A,B,C)、施設住所(施設の所在地)などの情報が格納されている。
この施設プログラム情報ファイル3により、本実施の形態では、各施設は、プログラムごと、期間ごとの定員を指定できるものとする。図13(b)の例に従って、図16の施設プログラム情報ファイル3について説明する。
<施設コード=A001>
SNO=1のときは、管理者施設に参加者全員で行くので、受け入れのための定員を用意する必要はない。従って、定員のデータとして、“0”を登録する。SNO=2のときは、実際の定員は10名であるが、Aプログラムから5名、Bプログラムから5名受け入れるため、それぞれに対して、定員のデータとして、“5”を登録する。SNO=3のときは、定員は10名であるが、Aプログラムから5名、Cプログラムから5名受け入れるため、それぞれに対して、定員のデータとして、“5”を登録する。従って、Bプログラムとして、SNO=2,3を通じて5名受け入れることが指定されている。
<施設コード=A002>
SNO=1のときは、管理者施設に参加者全員で行くので、受け入れのための定員を用意する必要はない。従って、定員のデータとして、“0”を登録する。SNO=2のときは、Bプログラムから2名受け入れるため、定員のデータとして、“2”を登録する。SNO=3のときも、同じく、Bプログラムから2名受け入れるため、定員のデータとして、“2”を登録する。従って、SNO=2,3を通して、Bプログラムから2名受け入れることが指定されている。
以上、同様に、全施設に関して、各プログラムごと、各期間ごとの定員を指定する。なお、この場合に限らず、定員が指定されていない場合には、自動的に、“0”が入力されるようにしてもよく、その場合には、データ入力の手間を減らすことができる。さらには、プログラムマスタファイル1のプログラム番号とSNOとを参照して、その部分に対応したレコードだけを施設プログラム情報ファイル3に設けて、他の部分については定員は“0”であるので、レコードを設けないか、あるいは、レコードを設けて、定員を自動的に“0”に設定するようにしてもよい。
図17は、参加者ROLファイル4の一例を示した図である。参加者ROLファイル4には、各ユーザIDごとに、各ユーザが希望する施設を希望順に並べたリストが格納されている。図17においては、各ユーザごとに、第1希望から順に第n希望までの施設が順に格納されている。各ユーザは、例えば、インターネットのホームページ等から各施設の情報を得て、希望順位を決定する。なお、施設全部を参加者ROLファイル4に登録する必要はなく、例えば、研修を行いたくない施設については参加者ROLファイル4に登録する必要はなく、希望する施設のみを参加者ROLファイル4に登録するようにしてもよい。
図18は、施設ROLファイル5の一例を示した図である。施設ROLファイル5には、各施設コードごとに、各施設が希望する参加者を希望順に並べたリストが格納されている。図18においては、各施設ごとに、第1希望から順に第n希望までの参加者が順に格納されている。各施設は、例えば、参加者の面談等を行って参加者の情報を得て、希望順位を決定する。なお、参加者全員を施設ROLファイル5に登録する必要はなく、例えば、受け入れたくない参加者については施設ROLファイル5に登録する必要はなく、希望する参加者のみを施設ROLファイル5に登録するようにしてもよい。
図19(a)は、マッチング結果格納ファイル6の一例を示した図である。マッチング結果格納ファイル6には、マッチング処理の結果、得られたマッチング結果が格納されている。すなわち、図19(a)に示すように、SNO(区分)と、ユーザIDと、割り当てられた施設の施設コード(但し、この場合の施設コードは後述する一時的に置き換えられた施設コードで、施設コードの末尾にプログラム番号の符号が付加されて、施設コード+プログラム番号の形になっている。)とが、それぞれ、対応付けて格納されている。
図19(b)は、加工結果格納ファイル12の一例を示した図である。加工結果格納ファイル12には、マッチング結果格納ファイル6の施設コードを、置き換え前の元の施設コードに戻した加工結果格納ファイル12が格納されている。すなわち、図19(b)に示すように、SNO(区分)と、ユーザIDと、割り当てられた施設の施設コードとが、それぞれ、対応付けて格納されている。これにより、どの研修期間で、どの参加者が、どこで研修を行うかを確認することができる。
なお、図17から図19で示したファイル構成で、行方向(横方向)の1行をレコードと呼ぶ。
図2の説明に戻る。図2に示すように、参加者端末200内には、入力手段20と、表示手段21と、処理手段22と、通信手段23とが設けられている。
なお、施設管理者端末300の内部構成は、参加者端末200と同様であるため、ここでは説明を省略する。
マッチング管理者端末400内には、入力手段30と、表示手段31と、処理手段32と、通信手段33とが設けられている。
次に、本実施の形態1に係るマッチングシステムの動作について説明する。図3に、本実施の形態1に係るマッチングシステムの全体の流れの概略を示す。
図3に示すように、まず、はじめに、マッチングサーバ100がプログラムマスタファイル1または施設プログラム情報ファイル3の作成および追加を行う(ステップS1)。これについては、図4の処理フローに従って後述する。
次に、マッチングサーバ100と参加者端末200が、参加者に関するプログラム情報と参加者ROLファイルを作成し、記憶する(ステップS2)。これについては、図5の処理フローに従って後述する。
次に、マッチングサーバ100と施設管理者端末300が、施設に関する定員情報と、参加者ROLファイルを作成し、記憶する(ステップS3)。これについては、図6の処理フローに従って後述する。
次に、マッチングサーバ100が、施設プログラム情報ファイル3からプログラム情報の置き換えを行う(ステップS4)。これについては、図7の処理フローに従って後述する。
次に、マッチングサーバ100が、参加者ROLファイルの置き換えを行う(ステップS5)。これについては、図8の処理フローに従って後述する。
次に、マッチングサーバ100が、施設ROLファイルの置き換えを行う(ステップS6)。これについては、図9の処理フローに従って後述する。
次に、マッチングサーバ100が、ROL抽出処理とマッチング処理を行う(ステップS7)。これについては、図10の処理フローに従って後述する。
次に、マッチングサーバ100が、マッチング結果の置き換えを行う(ステップS8)。これについては、図11の処理フローに従って後述する。
次に、マッチングサーバ100とマッチング管理者端末400が、マッチング結果の通知および公開を行う(ステップS9)。これについては、図12の処理フローに従って後述する。
図4は、マッチング管理者端末400からのデータ入力処理について示した図であり、マッチング管理者が、プログラムマスタファイル1または施設プログラム情報ファイル3の登録、追加または削除の処理を行うときの処理の流れを示している。図4に示すように、まず、マッチング管理者端末400の処理手段32は、マッチング管理者の操作により入力手段30が受け付けた入力データを通信手段33に受け渡す(ステップS11)。次に、マッチング管理者端末400の通信手段33が、マッチングサーバ100の通信手段7に当該入力データを送信する(ステップS12)。次に、マッチングサーバ100の通信手段7が、受信したデータ内容により、プログラムマスタファイル1または施設プログラム情報ファイル3にデータの追加、更新または削除を行う(ステップS13)。なお、施設プログラム情報ファイル3に記憶される施設単位の、プログラムごと、期間ごとの、定員は、マッチング管理者端末400からまとめて入力するように構成してもよいが、施設管理者端末300から、その都度、指定/変更できるように構成してもよい(図6に記載)。
図5は、参加者端末200からのデータ入力処理を示した図であり、参加者が研修プログラムに関する各種希望及び希望順位を示す希望表(ROL)の入力を行うときの処理の流れを示している。図5に示すように、まず、参加者端末200の処理手段22は、参加者の操作により入力手段20が受け付けた入力データを通信手段23に受け渡す(ステップS21)。次に、参加者端末200の通信手段23がマッチングサーバ100の通信手段7に当該入力データを送信する(ステップS22)。次に、マッチングサーバ100の通信手段7が、受信したデータ内容の判別を行う(ステップS23)。判別の結果、受信したデータがROLデータだった場合には、マッチングサーバ100のROL作成手段8が、参加者ROLファイル4にデータの追加、更新または削除を行う(ステップS25)。一方、判別の結果、受信したデータが希望プログラムデータであった場合には、マッチングサーバ100の通信手段7が、参加者プログラム情報ファイル2にデータの追加、更新または削除を行う(ステップS24)。
図6は、施設管理者端末300からのデータ入力処理を示した図であり、施設管理者がプログラムごと、期間ごとの定員入力または、希望及び希望表(ROL)の入力をするときの処理の流れを示している。図6に示すように、まず、施設管理者端末300において、処理手段(図示省略)が、入力手段(図示省略)から受け付けた入力データを通信手段(図示省略)に受け渡す(ステップS31)。次に、施設管理者端末300の通信手段(図示省略)が、マッチングサーバ100の通信手段7に、当該入力データを送信する(ステップS32)。次に、マッチングサーバ100の通信手段7が、受信したデータ内容の判別を行う(ステップS33)。判別の結果、受信したデータが定員データだった場合は、マッチングサーバ100の通信手段7が、施設プログラム情報ファイル3にデータの追加、更新または削除を行う(ステップS34)。一方、判別の結果、受信したデータがROLデータだった場合は、マッチングサーバ100のROL作成手段8が、参加者ROLファイル4にデータの追加、更新または削除を行う(ステップS35)。
なお、参加者プログラム情報ファイル2、施設プログラム情報ファイル3、参加者ROLファイル4、施設ROLファイル5へのデータの追加、更新、削除の処理はマッチング管理者端末400から行なうこともできる。その場合は、それぞれのデータを何らかの記憶媒体により、管理者にファイル形式で受け渡し、管理者がマッチング管理者端末400から一括してファイル更新作業を行なうことになる。
図7は、マッチングサーバ100のプログラム処理手段11によるプログラム情報の置き換えの処理を示した図であり、ROL抽出・マッチング処理を行う前に処理が行われるものである。まず、マッチングサーバ100のプログラム処理手段11は、図16に示した施設プログラム情報ファイル3を施設コード順に並び替える(ステップS41)。次に、マッチングサーバ100のプログラム処理手段11が、1レコードずつ、レコードを抜き出す(ステップS42)。次に、マッチングサーバ100のプログラム処理手段11が、抜き出したレコードの施設コードの末尾にプログラム番号の符号を付加することにより現行の施設コードを新しい施設コードに置き換えた後、そのレコードを、記憶手段13に、置き換え施設プログラム情報ファイルとして一時的に保存する(ステップS43)。以下に、図16の施設プログラム情報ファイル3の各レコードと、それに対応する置き換え施設情報プログラム情報ファイルの各レコードの一例を示す。
<施設プログラム情報ファイルの各レコードの例>
(例1)A001、N歯科、0、1、A、○○○・・・
(例2)A001、N歯科、5、2、B、○○○・・・
(例3)A002、A駅前歯科、2、2、B、○△×・・・
(例4)A002、A駅前歯科、2、3、B、○△×・・・

<置き換え施設プログラム情報ファイルの各レコードの例>
(例1)A001A、N歯科、0、1、○○○・・・
(例2)A001B、N歯科、5、2、○○○・・・
(例3)A002B、A駅前歯科、2、2、○△×・・・
(例4)A002B、A駅前歯科、2、3、○△×・・・
このように、施設コードの末尾にプログラム番号の符号が付加され(施設コード+プログラム番号)、他のデータはそのままであることがわかる。なお上述の例では、施設コードを置き換えるとともにプログラム番号を削除しているが、プログラム番号を削除するかどうかは適宜決めることができる。
次に、マッチングサーバ100のプログラム処理手段11は、次のレコードがあるか否かを判定する(ステップS44)。あれば、次のレコードについても同様の処理を行うために、ステップS42の処理に戻る。なければ、マッチングサーバ100のプログラム処理手段11は、一時的に記憶手段13に記憶した置き換え施設プログラム情報ファイルを施設プログラム情報ファイル3の代替として、抽出手段9に受け渡す(ステップS45)。
図8は、マッチングサーバ100のROL作成手段8による参加者ROLファイル4の置き換え処理を示したものであり、ROL抽出・マッチング処理を行う前に処理されるものである。まず、参加者ROLファイル4をユーザID順に並び替える(ステップS51)。次に、マッチングサーバ100のプログラム処理手段11は、参加者ROLファイル4から1レコードずつ、レコードを抜き出す(ステップS52)。次に、マッチングサーバ100のプログラム処理手段11は、図15の参加者プログラム情報ファイル2を参照して、抜き出したレコードのユーザIDに対応するプログラムIDを参加者プログラム情報ファイル2から抽出し、参加者ROLファイル4における施設コードの末尾に、抽出したプログラムIDを付加して、施設コード→施設コード+プログラム番号に置き換え、置き換え参加者ROLファイルとして記憶する(ステップS53)。記憶先としては、記憶手段13に記憶してもよく、あるいは、参加者ROLファイル4に記憶させてもよい。
ステップS53の処理について詳細に説明する。
図17の参加者ROLファイル4の一番最初のレコードのユーザIDは“001”であるので、それに対応するプログラムIDを図15の参加者プログラム情報ファイル2から抽出する。すなわち、“001”のユーザIDに対応しているのは、プログラム番号“A”であるので、“A”が抽出される。そのため、図17の参加者ROLファイル4の一番最初のレコードの施設コード“A002”は、A002+A、すなわち、“A002A”に置き換えられる。以下に、図17の参加者ROLファイル4の各レコードと、それに対応する置き換え参加者ROLファイル4の各レコードの一例を示す。
<参加者ROLファイル4の各レコードの例>
(例1)001、A002、1
(例2)002、A012、2

<置き換え参加者ROLファイルの各レコードの例>
(例1)001、A002A、1
(例2)002、A012B、2
このように、置き換え参加者ROLファイルにおいても、置き換え施設プログラム情報ファイルに併せて、施設コードの末尾にプログラム番号の符号が付加され(施設コード+プログラム番号)、他のデータはそのままであることがわかる。
次に、マッチングサーバ100のプログラム処理手段11は、次のレコードがあるか否かを判定する(ステップS54)。あれば、次のレコードについても同様の処理を行うために、ステップS52の処理に戻る。なければ、マッチングサーバ100のプログラム処理手段11は、一時的に記憶した置き換え参加者ROLファイルを参加者ROLファイル4の代替として、抽出手段9に受け渡す(ステップS55)。
図9は、マッチングサーバ100のROL作成手段8による施設ROLファイル5の置き換え処理を示したものであり、ROL抽出・マッチング処理を行う前に処理されるものである。まず、施設ROLファイル5を施設コード順に並び替える(ステップS61)。次に、マッチングサーバ100のプログラム処理手段11は、施設ROLファイル5から1レコードずつ、レコードを抜き出す(ステップS62)。次に、マッチングサーバ100のプログラム処理手段11は、図15の参加者プログラム情報ファイル2を参照して、抜き出したレコードのユーザIDに対応するプログラムIDを参加者プログラム情報ファイル2から抽出し、当該レコードの施設コードの末尾に、抽出したプログラムIDを付加して、施設コード→施設コード+プログラム番号に置き換え、置き換え施設ROLファイルとして記憶する(ステップS63)。記憶先としては、記憶手段13に記憶してもよく、あるいは、施設ROLファイル5に記憶させてもよい。
ステップS63の処理について詳細に説明する。
図18の施設ROLファイル5の一番最初のレコードのユーザIDは“005”であるので、それに対応するプログラムIDを図15の参加者プログラム情報ファイル2から抽出する。すなわち、“005”のユーザIDに対応しているのは、プログラム番号“C”であるので、“C”が抽出される。そのため、図17の参加者ROLファイル4の一番最初のレコードの施設コード“A001”は、A001+C、すなわち、“A001C”に置き換えられる。以下に、図18の施設ROLファイル5の各レコードと、それに対応する置き換えられた置き換え施設ROLファイル5の各レコードの一例を示す。
<施設ROLファイル5の各レコードの例>
(例1)A001、005、1
(例2)A002、002、1

<置き換え施設ROLファイルの各レコードの例>
(例1)A001C、005、1
(例2)A002B、002、1
このように、置き換え施設ROLファイルにおいても、置き換え施設プログラム情報ファイルに併せて、施設コードの末尾にプログラム番号の符号が付加され(施設コード+プログラム番号)、他のデータはそのままであることがわかる。
次に、マッチングサーバ100のプログラム処理手段11は、次のレコードがあるか否かを判定する(ステップS64)。あれば、次のレコードについても同様の処理を行うために、ステップS62の処理に戻る。なければ、マッチングサーバ100のプログラム処理手段11は、一時的に記憶した置き換え施設ROLファイルを施設ROLファイル5の代替として、抽出手段9に受け渡す(ステップS65)。
図10は、マッチングサーバ100の抽出手段9によるROL抽出処理とマッチング手段10によるマッチング処理を示した図である。図10に示すように、まず、マッチングサーバ100の抽出手段9は、SNO=nとしてnの初期値である1をSNOに設定するとともに、nの最大値を予め登録する(ステップS71)。次に、マッチングサーバ100の抽出手段9は、現在のSNOが予め設定されているSNO(=n)の最大値よりも大きい場合は、そのまま終了し、最大値以下の場合は、ステップS72に進む(ステップS80)。次に、マッチングサーバ100の抽出手段9は、プログラムマスタファイル1から現在のSNO(初回は、SNO=1)に該当し、継続SNOが指定されていないプログラム番号を全て抽出する(ステップS72)。抽出の結果、該当のSNOがあった場合には、マッチングサーバ100の抽出手段9が抽出したプログラム番号に対応するユーザIDを参加者プログラム情報ファイル2から全て選出する(ステップS73)。一方、抽出の結果、該当のSNOが無く、かつ、現在のSNOが予め設定されているSNOの最大値以下の場合には、ステップS79に進む。次に、マッチングサーバ100のROL作成手段9は、ステップS73で選出したユーザIDのレコードを置き換え参加者ROLファイルから取り出し、一時的参加者ROLファイルを作成する(ステップS74)。次に、ステップS73で選出したユーザIDを含むレコードを置き換え施設ROLファイルから取り出し、一時的施設ROLファイルを作成する。その後、一時的施設ROLファイルに含まれる各施設の定員情報を置き換え施設プログラム情報ファイルから取り出し、その定員数から一時的な定員情報を構成する(定員数を各施設の一時的な定員情報に複写する)(ステップS75)。次に、マッチングサーバ100の抽出手段9は、プログラムマスタファイル1を参照し、現在のSNOの中で、継続SNOが指定されているものはあるか否かを判定する(ステップS76)。継続SNOの指定がない場合には、マッチングサーバ100のマッチング手段10が、上述した図22に示すGale−Shapleyアルゴリズムを用いたマッチング処理を行い、得られたマッチング結果をマッチング結果格納ファイル6に格納する(ステップS77)。一方、ステップS76の判定の結果、継続SNOの指定があった場合には、マッチングサーバ100の抽出手段9が、マッチング結果格納ファイル6を参照し、継続SNOで指定されているSNOでマッチした施設を特定する。その後、施設ごとにマッチした数を、ステップS25で構成した一時的な定員情報から減算し、一時的な定員情報を書き換えた(定員を、定員からマッチ数を減算した定員にする)(ステップS78)後に、ステップS77に進む。ステップS77の処理が終わると、マッチングサーバ100のマッチング手段10が、SNOの値を1だけ増加させ(ステップS79)、ステップS72の処理に戻る。なお、ここで、定員0名の施設については、マッチング処理の中でいずれの参加者ともマッチングしないように処理される。
なおステップS77でのマッチング処理では、ステップS24で作成した一時的参加者ROLファイルと、ステップS25で作成した一時的施設ROLファイルと、ステップS25で作成し、ステップS28に分岐すれば、ステップS28で書き換えた、一時的な定員情報とが用いられる。ステップS28で作成した一時的な定員情報は、図示しない記憶手段に記憶することにより、マッチング手段に受け渡される。
またステップS77でのマッチング処理では、受け渡された一時的な定員情報の範囲内で、一時的参加者ROLファイルに記憶されている全てのユーザIDを、一時的施設ROLファイルに記憶されている施設コードと組合せを求めるように、処理を行う。マッチング処理の結果、施設コードと組合せられないユーザIDが発生する場合もあるが、全てのユーザIDに対して、一度は施設コードとの組合せを求めるように動作する。
図10の処理の流れを図13(b)の例に基づいて、さらに具体的に説明する。まず、ステップS71で、SNOが初期値の1に設定されるとともに、nの最大値として3が予め登録される。次に、ステップS72で、プログラムマスタファイル1からSNOが1に該当するプログラム番号を全て抽出する。このとき、図14から明らかなように、SNOが1のものは1つもないので、ステップS79の処理に進み、SNOの値に1加算して、SNOを2にする。
次に、ステップS72に進み、プログラムマスタファイル1からSNOが2であるプログラム番号を全て抽出する。図14に示されるように、SNOが2のプログラムはA,B,Cのすべてであるので、それらが全て抽出される。次に、ステップS73に進み、A,B,Cプログラムに対応するユーザIDを参加者プログラム情報ファイル2から全て選出する。図15に示されるように、この場合は、参加者全員が選らばれる。次に、ステップS74で、参加者全員のROLを置き換え参加者ROLファイルから取り出し、一時的参加者ROLファイルを作成する。また、ステップS75で、置き換え施設ROLファイルから参加者全員のユーザIDを含むレコードを取り出し、一時的施設ROLファイルを作成する。次に、ステップS76で、現在のSNO、すなわち、SNOが2のものの中で、継続SNOが指定されているものがあるか否かを判定する。図14から明らかなように、この場合は該当するものがないので、ステップS77に進み、一時的参加者ROLファイルおよび一時的施設ROLファイルに基づいて、Gale−Shapleyアルゴリズムを用いたマッチング処理を行い、結果をマッチング結果格納ファイル6に格納する。次に、ステップS79に進み、SNOの値に1加算して、SNOを3にする。
次に、ステップS72に進み、プログラムマスタファイル1からSNOが3であり、かつ継続SNOが指定されていないプログラム番号を全て抽出する。図14に示されるように、SNOが3のプログラムはCであるので、それらが抽出される。次に、ステップS73に進み、Cプログラムに対応するユーザIDを図15の参加者プログラム情報ファイル2から全て選出する。次に、ステップS24で、選出した参加者のROLを置き換え参加者ROLファイルから取り出し、一時的参加者ROLファイルを作成する。また、ステップS75で、置き換え施設ROLファイルから選出した参加者のユーザIDを含むレコードを取り出し、一時的施設ROLファイルを作成する。また、一時的施設ROLファイルに含まれる各施設の定員情報を置き換え施設プログラム情報ファイルから取り出し、その定員数を複写することにより、一時的な定員情報を構成する。次に、ステップS76で、現在のSNO、すなわち、SNOが3のものの中で、継続SNOが指定されているものがあるか否かを判定する。図14から明らかなように、Bプログラムが該当するので、ステップS78に進み、マッチング結果格納ファイル6を参照して、継続SNO(この場合は、2)のBプログラムでマッチした数をステップS75で構成した一時的な定員情報から減算し、一時的な定員情報を再構成する。これにより、次のステップS77でマッチングを行うのはCプログラムのSNOが3の分だけとなる。従って、ステップS77に進み、一時的参加者ROLファイルおよび一時的施設ROLファイルおよび一時的な定員情報に基づいて、Gale−Shapleyアルゴリズムを用いたマッチング処理を行い、結果をマッチング結果格納ファイル6に格納する。次に、ステップS79に進み、SNOの値に1加算して、SNOを4にする。
ステップS72において、SNOの値が、最大値として予め設定されている3よりも大きいので、そのまま、処理を終了する。
図11は、マッチングサーバ100のマッチング処理10によるマッチング結果の置き換え処理(置き換えた施設コードをマッチング結果において元に戻す処理)を示したもので、ROL抽出およびマッチング処理後に実施されるものである。まず、マッチングサーバ100のマッチング手段10は、マッチング結果格納ファイル6をSNO順に並べ替える。次に、マッチングサーバ100のマッチング手段10は、1レコードずつ、レコードを抜き出す(ステップS82)。次に、マッチングサーバ100のマッチング手段10は、施設コード項目を施設コード+プログラム番号と認識し、施設コード+プログラム番号→施設コードに置き換え、一時的に記憶手段13に記憶する(ステップS83)。以下に、図19(a)のマッチング結果格納ファイル6の各レコードと、それに対応する置き換えられたファイルの各レコードの一例を示す。
<マッチング結果格納ファイル6の各レコードの例>
(例1)2、001、A001A
(例2)2、004、A022C
3、004、A123C

<置き換えられたファイルの各レコードの例>
(例1)2、001、A001
(例2)2、004、A022
3、004、A123
このように、置き換えられたファイルにおいては、施設コードの末尾のプログラム番号の符号が削除されて元の施設コードに戻され、他のデータは処理されずそのままであることがわかる。なお、当該置き換えられたファイルは、ステップS85の処理で、加工結果格納ファイル12として格納される(図19(b)参照)。
次に、マッチングサーバ100のマッチング手段10は、次のレコードがあるか否かを判定する(ステップS84)。あれば、次のレコードにも同様の処理を施すため、ステップS82の処理に戻る。なければ、マッチングサーバ100のマッチング手段10は、一時的に記憶手段13に記憶したデータを、本システムのマッチング結果として、加工結果格納ファイル12として記憶する(ステップS85)。
図12は、マッチングサーバ100の通信手段7によるマッチング結果の通知の処理について示した図である。図12に示すように、まず、マッチングサーバ100のマッチング手段10は、加工結果格納ファイル12に格納されたマッチング処理終了を通知手段7に通知する(ステップS91)。次に、マッチングサーバ100の通信手段7は、マッチング結果を、マッチング管理者端末400の通信手段33に通知する(ステップS92)。次に、マッチング管理者端末400の通信手段33は、通知されたマッチング結果を処理手段32に受け渡す(ステップS93)。次に、マッチング管理者端末400の処理手段32は、受け渡されたマッチング結果を、インターネット等で公開する(ステップS94)。
なおマッチング結果の公開については、図6に示した方法によらず、ファイル形式や結果を印刷した紙にて、参加者及び施設管理者に通知する方法もある。
なお、上記の説明においては、研修を希望する参加者と受け入れ先の施設とのマッチング問題について説明したが、その場合に限らず、複数の要素からなる集合A(上記の参加者に相当)と複数の要素からなる集合B(上記の施設に相当)との各要素をマッチングするマッチング問題であって、マッチング処理を行うマッチング処理対象区間が1以上の区分(上記の研修期間SNOに相当)に分割されていて、集合Aの各要素が1以上のグループ(上記の研修プログラムに相当)のいずれかに属していて、上記区分がグループ間で共通であるマッチング問題のいずれにも適用できることはいうまでもない。
また、置き換え施設プログラム情報ファイル、置き換え参加者ROLファイル、置き換え施設ROLファイルを作成する処理の説明の中で、プログラム番号は、施設コード、ユーザIDの末尾に付加する処理を例示した。このプログラム番号を付加する場所は、図11で示したステップS83の処理の中で判別、置き換えができれば、末尾でも、先頭でも、どこでも構わない。また、プログラムマスタファイル1に記憶されているプログラム番号と対応できれば、プログラムマスタファイル1に記憶されているプログラム番号と同一でない、番号等でも構わない。この場合は、プログラム番号と、特定な番号とを対応付ける対応テーブル等を記憶手段13に記憶し、マッチング手段10がその対応テーブルを参照し、施設コードおよびユーザIDに特定な番号を付加するように構成することで、実行できる。
すなわち、この発明は、各グループのグループ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ファイルに相当)と、上記定数記憶手段に記憶されている上記定数リストの上記B要素IDを、当該B要素IDに上記グループIDを付加した新しいB要素IDに置き換えて、置き換え定数リストを作成する置き換え定数リスト作成手段(図7の処理に相当)と、上記グループ情報記憶手段に記憶されているA要素IDごとの上記グループIDに基づいて、上記第1の優先度リストに含まれる上記集合Bの各要素のB要素IDを、当該B要素IDに上記グループIDを付加した新しいB要素IDに置き換えて、置き換え第1の優先度リストを作成する置き換え第1の優先度リスト作成手段(図8の処理に相当)と、上記グループ情報記憶手段に記憶されているA要素IDごとの上記グループIDに基づいて、上記第2の優先度リストに含まれる上記集合Bの各要素のB要素IDを、それに対応するA要素IDのグループIDを付加した新しいB要素IDに置き換えて、置き換え第2の優先度リストを作成する置き換え第2の優先度リスト作成手段(図9の処理に相当)と、上記マッチング区分指定登録手段から上記区分IDごとに該当するグループIDを抽出するグループID抽出手段(上記の図10のステップS72に相当)と、上記区分IDごとに、抽出した上記グループIDに対応する上記A要素IDを、上記グループ情報記憶手段から抽出するA要素ID抽出手段(上記の図10のステップS73に相当)と、上記区分IDごとに、抽出した上記A要素IDに対応するレコードを上記置き換え第1の優先度リストから抽出して、一時的第1の優先度リストを作成する第1の一時的優先度リスト作成手段(上記の図10のステップS74に相当)と、上記区分IDごとに、抽出した上記A要素IDを含むレコードを上記置き換え第2の優先度リストから抽出して、一時的第2の優先度リストを作成する第2の一時的優先度リスト作成手段(上記の図10のステップS75に相当)と、上記一時的第1および第2の優先度リストに基づいて、上記区分IDごとに順次、上記集合Aの各要素を、上記集合Bのいずれかの要素に対して、それらの各定数に達するまで繰り返し割り当てていくマッチング処理を行うマッチング処理手段(上記の図10のステップS77に相当)と、上記マッチング結果におけるB要素IDを、それに付加されたグループIDを削除することにより、元のB要素IDに置き換えるマッチング結果加工手段(図11の処理に相当)とを備えたマッチングシステムである。なおこの構成は、請求項1の構成に対応し、図10に示したマッチング処理の中で、ステップS76からステップS78に分岐しない場合の構成である。
さらに、この発明のマッチングシステムは、同一のグループにおいて、先にマッチング処理を行った上記区分のマッチング結果を、それ以降にマッチング処理を行う後処理の区分のマッチング結果として流用して用いる場合に、上記グループIDごとに、上記後処理の区分の区分IDに対応させて、流用したい先の区分の区分IDを登録しておくマッチング結果継続使用登録手段(上記のプログラムマスタファイル1の継続SNOに相当)と、上記区分IDごとに、流用先の区分IDが登録されている区分を上記マッチング結果継続使用登録手段から抽出し、流用先のマッチング結果においてマッチングしている上記集合Aの要素の数を、該当する区分における上記集合Bの各要素ごとの定数から減算する定数減算手段(上記の図10のステップS76およびステップS78に相当)とをさらに備え、上記マッチング処理手段は、減算された上記定数を用いて、上記マッチング処理を行うものである。またこの構成は、請求項2の構成に対応し、図10に示したマッチング処理の中で、ステップS76からステップS78で分岐する場合を含む構成である。
以上説明したように、この発明によれば、マッチング処理対象区間(研修期間)が1以上の区分(期間)に分かれているような場合においても、各区分(期間)ごとに、条件に合わせた一時的なROL(参加者ROLファイルおよび施設ROLファイル)を作成して、それらを用いたマッチング処理を行うようにしたので、ユーザ(参加者および施設の担当者)はROLを1回だけ入力するだけで、全区分(全期間)分のマッチング結果を得ることができ、ユーザ(参加者および施設担当者)の作業の負荷の増加を防止することができる。
また、本実施の形態によれば、図13(b)に示されるような、複数のグループ(複数種類の研修プログラム(A,B,C))が存在するとともに、集合Aの1つの要素(1人の参加者)に対して集合Bの複数の要素(複数施設)の割り当てを行う必要のある、複雑なマッチング問題についても、容易に、かつ、確実にマッチング処理を行うことができる。
また、本実施の形態によれば、施設が、各プログラムごと、各区分(各研修期間)ごとに、施設プログラム情報ファイル3に定員(定数)を指定することができ、また、それにより、自動的に、ROL内の施設コードを、プログラムIDを付加した新しい施設コードに置き換える処理を行うようにしたので、ユーザ(参加者および施設担当者)の作業の負荷を増加させずに、各プログラムごと、各区分ごとに指定された定員(定数)に沿わせたマッチング処理を容易に行うことができる。
また、本実施の形態においては、先にマッチングを行った区分(期間)のマッチング結果を流用する場合には、マッチング結果継続使用登録手段(プログラムマスタファイル1)に、どの区分(期間)のマッチング結果を継続したいかを登録しておき、その分についてはマッチングを行わず、かつ、その人数を集合B(施設)の定数(定員)から減算して、残りの数(人数)を定数(定員)として、マッチング処理を行うようにしたので、前の区分(期間)のマッチング結果を流用するグループ(プログラム)と流用しないグループ(プログラム)とが同一区分(期間)に存在していても、特別の操作等を全く行わずに、自動的に容易にマッチング結果を得ることができる。
また、本実施の形態では、研修設定可能期間(区間)と、区間内の区分(前期、中期、後期)の開始時期と終了時期は、図13(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以外のファイル構成は、実施の形態1で説明した構成と同じである。
以上説明した、マッチングシステム(マッチングサーバ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に係るマッチングシステムのプログラムマスタファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの参加者プログラム情報ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの施設プログラム情報ファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの参加者ROLファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムの施設ROLファイルの一例を示した説明図である。 この発明の実施の形態1に係るマッチングシステムのマッチング結果格納ファイルおよび加工結果格納ファイルの一例を示した説明図である。 従来のマッチング方法におけるマッチングの一例を示した説明図である。 従来のマッチング方法における優先度リストの一例を示した説明図である。 従来のマッチング方法の処理の流れを示したフローチャートである。 従来のマッチング方法を示した説明図である。
符号の説明
1 プログラムマスタファイル、2 参加者プログラム情報ファイル、3 施設プログラム情報ファイル、4 参加者ROLファイル、5 施設ROLファイル、6 マッチング結果格納ファイル、7 通信手段、8 ROL作成手段、9 抽出手段、10 マッチング手段、11 プログラム処理手段、12 加工結果格納ファイル、13 記憶手段、20 入力手段、21 表示手段、22 処理手段、23 通信手段、30 入力手段、31 表示手段、32 処理手段、33 通信手段、100 マッチングサーバ、200 参加者端末、300 施設管理者端末、400 マッチング管理者端末、500 通信網。

Claims (2)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2007265206A JP2007265206A (ja) 2007-10-11
JP4465328B2 true JP4465328B2 (ja) 2010-05-19

Family

ID=38638108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006091587A Expired - Fee Related JP4465328B2 (ja) 2006-03-29 2006-03-29 マッチングシステム

Country Status (1)

Country Link
JP (1) JP4465328B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4728407B2 (ja) * 2009-01-16 2011-07-20 三菱電機インフォメーションシステムズ株式会社 マッチングシステム
JP6435939B2 (ja) * 2015-03-18 2018-12-12 富士通株式会社 データ分類プログラム、データ分類方法およびデータ分類装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US5666490A (en) Computer network system and method for managing documents
US5208748A (en) Method and apparatus for structuring and managing human communications by explicitly defining the types of communications permitted between participants
JP6527620B2 (ja) ポートフォリオ作成システム
US20040002885A1 (en) System, methods and software implemented program product for managing an organization's resources
Ancona et al. Shifting team research after COVID‐19: Evolutionary and Revolutionary Change
JP2006277060A (ja) スケジュール作成支援システム、スケジュール作成方法、およびプログラム
JP4465328B2 (ja) マッチングシステム
JP2016042308A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2020123371A (ja) 質問応答システム、質問受付回答システム、第1次回答システム、及びそれらを用いた質問応答方法
JP2007026404A (ja) プロジェクトチームメンバ選定方法、その装置およびそのプログラム
JP5286384B2 (ja) マッチングシステム
JP5222751B2 (ja) 緊急時人員割当方法、緊急時人員割当システム、および管理サーバ
JP4355708B2 (ja) マッチングシステム
JPH10177608A (ja) ワークフローシステム
JP4465327B2 (ja) マッチングシステム
JP2019159771A (ja) 業務支援システム、プログラムおよび方法
JP2005141401A (ja) 双方向マッチングシステムおよび双方向マッチングプログラム
JP4738495B2 (ja) マッチングシステム
JP2003150644A (ja) 関係付け情報管理システム、関係付け情報管理用プログラム、及び記録媒体
JP4728407B2 (ja) マッチングシステム
JP3913686B2 (ja) ワークフローのルート計算システム及びルート計算方法
JP4306433B2 (ja) 業務管理システム
Anderson et al. Surveying as Unsettlement: The Protocols Alignment Survey at the University of Nevada, Reno
Sales et al. Family Health Support Center in the perspective of physicians and nurses
JPH10111888A (ja) ワークフローシステム及びワークフロー処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070719

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

Ref document number: 4465328

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees