(57)【特許請求の範囲】
【請求項１】
集合Ａに含まれる複数のＡ要素のそれぞれと、集合Ｂに含まれる複数のＢ要素のそれぞれとの間でマッチングを行うマッチングシステムにおいて、
前記マッチングシステムは、
‐前記Ａ要素のそれぞれについて定義され、前記Ｂ要素の全部または一部を一意に順位付けるＡ優先度リストと、
‐前記Ｂ要素のそれぞれについて定義され、前記Ａ要素の全部または一部を一意に順位付けるＢ優先度リストと、
‐前記Ａ要素のそれぞれについて定義され、期間を指定するＡ期間リストと、
‐前記Ｂ要素のそれぞれについて定義され、期間を指定するＢ期間リストと、
を記憶する機能と、
前記Ａ優先度リスト、前記Ｂ優先度リスト、前記Ａ期間リストおよび前記Ｂ期間リストに基づき、前記Ａ要素と前記Ｂ要素との組のそれぞれについて、当該Ａ要素に係る期間のすべてと、当該Ｂ要素に係る期間のすべてとが一致する場合にのみ、マッチングする機能と、
期間に関する時間単位を記憶する機能と、
を備え、
前記マッチングする機能は、第１の時間単位によって区切られる第１の期間ごとにマッチングする機能を含む、
マッチングシステム。
【請求項２】
さらに、上記時間単位を記憶する機能は期間に関する複数の時間単位を記憶し、
前記マッチングする機能は、
前記第１の時間単位とは異なる第２の時間単位によって区切られる第２の期間ごとにマッチングする機能と
を含む、請求項１に記載のマッチングシステム。
【請求項３】
前記第２の期間ごとにマッチングする前記機能は、前記第２の期間のそれぞれについて、前記第１の期間ごとにマッチングする前記機能によってはいずれのＡ要素ともマッチしなかったＢ要素についてのみ実行される、請求項２に記載のマッチングシステム。
【請求項４】
前記マッチングシステムは、さらに、
‐前記Ａ要素のそれぞれについて定義され、１つ以上の時間単位を指定可能である、Ａ時間単位リストと、
‐前記Ｂ要素のそれぞれについて定義され、１つ以上の時間単位を指定可能である、Ｂ時間単位リストと、
を記憶する機能を備え、
前記第２の期間ごとにマッチングする前記機能は、前記Ａ期間リストに前記第２の時間単位が指定されているＡ要素と、前記Ｂ期間リストに前記第２の時間単位が指定されているＢ要素との組に対してのみ実行される、請求項２または３に記載のマッチングシステム。
【請求項５】
前記マッチングシステムは、さらに、
前記Ａ優先度リスト、前記Ｂ優先度リスト、前記Ａ期間リストおよび前記Ｂ期間リストに基づき、前記Ａ要素のいずれかと、前記Ｂ要素のいずれかとを、前記第１の時間単位および第２の時間単位とは異なる第３の時間単位によって区切られる第３の期間ごとにマッチングする機能と、
前記第２の期間ごとにマッチングする前記機能と、前記第３の期間ごとにマッチングする前記機能のいずれを先に実行するかを、前記Ａ期間リストまたは前記Ｂ期間リストに基づいて決定する機能と
を備える、請求項２〜４のいずれか一項に記載のマッチングシステム。
【請求項６】
コンピュータを、請求項１〜５のいずれか一項に記載のマッチングシステムとして機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、それぞれ複数の要素を含む２つの集合の間で各要素を対応付けるマッチングシステムに関し、特に、双方向のそれぞれの希望をもとに組合せを決めるマッチングシステムに関する。
【背景技術】
【０００２】
例えば、就職志願者の集合と志願者を受け入れる企業の集合の間のマッチング問題のように、双方向に優先度を持つ集合間のマッチング問題においてマッチングを行うための手法が提案されつつある（例えば、非特許文献１参照。）。
【０００３】
ここで、各志願者は自分が就職したい企業を好みにより順位づけした優先度リストを持ち、一方各企業の方も受け入れたい志願者を順位づけした優先度リストを持つものとする。志願者ａの優先度リストＲＯＬ（ａ）は、企業の集合の部分集合であり、順位によって等号を含まない不等号によって順序づけられた全順序集合である。ここでは、志願者ａがｐをｐ’より好む場合に、ｐ＜ｐ’と書くことにする（具体例を挙げれば、ｐが優先度第１位で、ｐ’は優先度第３位の場合には、ｐ（＝１）＜ｐ’（＝３）となる。）。また、企業ｐの志願者に対する優先度リストＲＯＬ（ｐ）についても同様である。また、各企業には志願者を受け入れる採用枠（定員）がある。企業ｐの定員Ｑ（ｐ）は０以上の整数である。マッチングＸとは、志願者と企業とのペア（ａ，ｐ）からなる集合であって次の２つの条件を満たすものとする。
【０００４】
１．  任意の志願者ａに関して、ａを含むペア（ａ，ｐ）はＸにおいて１個以下である。
２．  任意の企業ｐに関して、ｐを含むペア（ａ，ｐ）はＸにおいて、企業の定員Ｑ（ｐ）個以下である。
【０００５】
マッチングの一例を図１４に示す。図１４では、志願者の集合｛ａ１，ａ２，ａ３，ａ４，ａ５，ａ６，ａ７｝と企業の集合｛ｐ１，ｐ２，ｐ３，ｐ４｝の間のマッチングとして、｛（ａ１，ｐ１），（ａ２，ｐ３），（ａ３，ｐ４），（ａ５，ｐ３），（ａ６，ｐ４）｝が得られている。このマッチングでは、志願者ａ４，ａ７と企業ｐ２にはマッチング相手が存在しない。
【０００６】
また、図１５に志願者と企業の優先度リストの例を示す。それぞれの優先度リストでは上に記載されているものほど好ましい相手を示す。言い換えれば、下に行くほど順位が大きくなる。図１５の例では、志願者は３つの企業に対して、ｐ１＜ｐ４＜ｐ３という順序をつけている。企業は６人の志願者にａ７＜ａ１＜ａ４＜ａ３＜ａ５＜ａ６という順序をつけている。マッチングすることをまったく望まない相手は優先度リストに記載しない。
【０００７】
マッチング問題とは、志願者の集合と企業の集合と志願者および企業の優先度リストとが与えられたときに、志願者と企業の間の組合せを求める問題のことを言う。マッチング方法とは、マッチング問題に対する解法、すなわち、志願者と企業の間の組合せを求める方法のことである。従って、マッチングシステムとは、マッチング方法を実行するシステムのことである。
【０００８】
また、上記のようなマッチングには安定性を定義することができる。マッチングＸが安定であるのは、次の２つの条件が共に満たされる場合を言う。
【０００９】
１．すべての志願者（企業）は、自分の優先度リストに載せた企業（志願者）としかマッチングしない。
２．志願者と企業のすべてのペア（ａ，ｐ）のうち、マッチングＸに含まれないものは、いずれもブロッキングペアではない。ここで、ブロッキングペアとは次の３つの条件を共に満たすものである。
２．０．  ａはｐの優先度リストに記載され、かつ、ｐはａの優先度リストに記載されている。
２．１．  Ｘにおいてａはどの企業ともマッチングしていないか、またはＸにおいてａはｐ’とマッチングしていて、ａの優先度リストにおいてｐ＜ｐ’が成り立つ。
２．２．  Ｘにおいてｐがマッチングしている志願者数は定員Ｑ（ｐ）より少ないか、または、Ｘにおいてｐがマッチングしているある志願者ａ’が存在し、ｐの優先度リストにおいてａ＜ａ’が成り立つ。
【００１０】
マッチング問題においては、安定なマッチングを生成する方法が求められる。不安定なマッチングが得られた場合、自分が優先度リストに記載していない相手、すなわち、自分のまったく望まない相手とマッチングした志願者または企業が存在するか、あるいは、ブロッキングペアが存在する。ブロッキングペアを構成する志願者と企業の両者にとって、得られたマッチングよりブロッキングペアの相手の方が好ましいため、不安定なマッチングは公平でない。つまり、不安定なマッチングを生成する方法ではマッチングに対する信頼性が無くなり、マッチングの対象者がマッチングに参加する意思を損なうことになる。
【００１１】
図１６に、上記非特許文献１に書かれているＧａｌｅ−Ｓｈａｐｌｅｙアルゴリズムを用いた従来のマッチング方法を示すフローチャート図を示す。全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業（すなわち、第１希望）から順番にプロポーズを行なうのが特徴である。
【００１２】
図１６の説明を行う前に、図１７を用いて簡単に概要を説明する。図１７の例は、４つの病院の集合と、それらの病院に就職を希望する８人の志願者の集合とのマッチング問題を想定している。明石さんから工藤さんまでの全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業から順番にプロポーズを行なう。
【００１３】
明石さんは、第１希望が双川病院であるので、先ず、はじめに、明石さんは双川病院にプロポーズする。双川病院では、明石さんが優先度リストの４位にあるので、（明石，双川病院）が仮マッチングされる。
次に、井上さんがプロポーズを行う。井上さんの優先度リストにおいては、第１希望が双川病院であるので、井上さんは双川病院にプロポーズする。双川病院では、井上さんが優先度リストの５位にあり、かつ、双川病院の定員は２名でまだ１名分空いているので、（井上，双川病院）が仮マッチングされる。
次に、上野さんがプロポーズを行う。上野さんの優先度リストにおいては、第１希望が双川病院であるので、上野さんは双川病院にプロポーズする。双川病院では、上野さんが優先度リストの６位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第２希望の病院にプロポーズを行う。第２希望の一山病院では、上野さんは１位であるので、（上野，一山病院）が仮マッチングされる。
【００１４】
次に、江口さんは、第１希望の一山病院にプロポーズするが、一山病院の優先度リストに江口さんの名前はないため、拒絶され、第２希望の双川病院にプロポーズするが、双川病院の優先度リストの７位で、かつ、定員に空きがないため、拒絶され、第３希望の美村病院にプロポーズすると、６位に名前があるため、（江口，美村病院）が仮マッチングされる。
次に、大川さんは、第１希望の双川病院にプロポーズする。双川病院の優先度リストで、大川さんは３位である。定員は２名であり、すでに２名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける４位の明石さんと５位の井上さんである。このため、最も順位の大きい井上さんが除外され、（大川，双川病院）が仮マッチングされる。
除外された井上さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直す。当該病院は一山病院である。しかしながら、一山病院の優先度リストに井上さんの名前はないため、拒絶される。井上さんの優先度リストには第２希望までしか登録されていないため、井上さんは、すべての病院から拒絶されたことになる。
【００１５】
次に、川口さんの処理を行う。川口さんの優先度リストにおいては、第１希望が双川病院であるので、川口さんは双川病院にプロポーズする。双川病院では、川口さんは優先度リストの８位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第２希望の病院にプロポーズを行う。第２希望の美村病院の優先度リストでは、川口さんの名前はないので、拒絶される。第３希望の一山病院でも同様に拒絶され、第４希望の四谷病院で、優先度リストの６位に名前があるので、（川口，四谷病院）が仮マッチングされる。
次に、木村さんは、第１希望の双川病院にプロポーズする。双川病院の優先度リストで、木村さんは１位である。定員は２名であり、すでに２名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける４位の明石さんと３位の大川さんである。このため、最も順位の大きい明石さんが除外され、（木村，双川病院）が仮マッチングされる。
【００１６】
除外された明石さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直すが、明石さんの優先度リストには第１希望の双川病院しか登録されていないため、明石さんは、すべての病院から拒絶されたことになる。
次に、工藤さんは、第１希望の四谷病院にプロポーズする。四谷病院の優先度リストで、工藤さんは５位である。定員は２名であり、すでに１名が仮マッチングされているが、空きが１名分ある。そのため、（工藤，四谷病院）が仮マッチングされる。
【００１７】
ここで、すべての志願者が、いずれかの病院と仮マッチングされるか、または、自分の優先度リストに記載した病院すべてから拒絶されたので、処理は終了する。
マッチングの結果は、（大川，双川病院）、（木村，双川病院）、（上野，一山病院）、（江口，美村病院）、（川口，四谷病院）、（工藤，四谷病院）となり、明石さんと井上さんは自分の優先度リストに記載したすべての病院から拒絶されたことになった。
【００１８】
上記の図１６のフローチャートを用いて、図１７を例にして行ったこの処理について説明する。ステップＳ１００において、あらかじめ仮マッチングを空集合にする。ステップＳ１０１において、未処理の志願者がなければ終了し、あればその志願者の１人ａに対して以下の処理を行う。ステップＳ１０２において、志願者ａが優先度リストＲＯＬ（ａ）の何番目の企業に対してプロポーズするかの指標であるａ．ｉを１に設定する。これは、全志願者は順番に、まず自分の優先度リストで順位の一番小さい企業に対してプロポーズを行うことを示す。ステップＳ１０３において、優先度リストＲＯＬ（ａ）の要素数がａ．ｉより小さければ、志願者ａは最終的にどの企業ともマッチングできなかったことになり、ステップＳ１０１に戻る。一方、ステップＳ１０３において、優先度リストＲＯＬ（ａ）の要素数がａ．ｉより小さくなければ、ステップＳ１０４において、優先度リストＲＯＬ（ａ）のａ．ｉ番目の企業をｐとする。ステップＳ１０５において、ａがｐの優先度リストＲＯＬ（ｐ）に含まれなければ、ａ．ｉをａ．ｉ＋１に設定し直して、ステップＳ１０３に戻る。これは、プロポーズされた企業ｐはプロポーズした志願者ａがＲＯＬ（ｐ）に記載されていなければ拒絶し、拒絶された志願者ａは、自分の優先度リストＲＯＬ（ａ）での順位が企業ｐの次に小さい企業にプロポーズをやり直すことに相当する。一方、ステップＳ１０５において、ａがｐの優先度リストＲＯＬ（ｐ）に含まれていれば、ステップＳ１０６において、その時点でｐが仮マッチングしている志願者の数が定員Ｑ（ｐ）より少なければ、ペア（ａ，ｐ）を仮マッチングに加えてステップＳ１０１に戻る。一方、ステップＳ１０６において、その時点でｐが仮マッチングしている志願者の数が定員Ｑ（ｐ）より少なくなければ、ステップＳ１０７において、ｐと仮マッチングしている志願者の中で、ｐの優先度リストＲＯＬ（ｐ）で順位が最も大きいものをａ１とする。ａ１とプロポーズしている志願者ａとの間で、ＲＯＬ（ｐ）での順位を比較する。ａの順位の方が大きければ、ａ．ｉをａ．ｉ＋１に設定し直して、ステップＳ１０３に戻る。これは、ａの順位の方が大きければ企業ｐはａを拒絶することに相当する。拒絶された志願者ａは、ｐの次に自分の優先度リストＲＯＬ（ａ）での順位が小さい企業にプロポーズをやり直すことになる。このステップＳ１０７以降では企業ｐと仮マッチングしている志願者数が定員Ｑ（ｐ）と等しい。ステップＳ１０８において、ａ１の順位の方がａの順位より大きいので、ペア（ａ，ｐ）を仮マッチングに加え、ペア（ａ１，ｐ）を仮マッチングから除外し、ａをａ１に設定し直す。ステップＳ１０９において、ａ．ｉをａ．ｉ＋１に設定し直してステップＳ１０３に戻る。つまり、仮マッチングから除外された志願者（元のａ１）は、ｐの次に自分の優先度リストでの順位が小さい企業に対してプロポーズをやり直すことになる。図１６の処理が終了するのは、ステップＳ１０１において、すべての志願者が、いずれかの企業と仮マッチングされるか、または、自分の優先度リストに記載された企業すべてから拒絶されたときである。図１６の処理が終了した段階で最終的に得られた仮マッチングをマッチング結果とする。なお、Ｇａｌｅ−Ｓｈａｐｌｅｙアルゴリズムにより得られるマッチングは安定であることが非特許文献１に記載されている。
以上のように、従来のマッチングシステムにおいては、志願者と企業のように１対１になる組み合わせを、安定したマッチング結果が得られると定評の高いＧａｌｅ−Ｓｈａｐｌｅｙアルゴリズムにより求めている。
【００１９】
このようなアルゴリズムを応用したマッチングシステムの例は、特許文献１に記載されている。特許文献１のシステムは、一つの企業グループと、それに含まれる複数の企業とのそれぞれに対して定員が規定されており、各企業が独立したマッチング枠を持っている。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特許第４９２７４５８号公報
【非特許文献】
【００２１】
【非特許文献１】「Ｔｈｅ  Ｓｔａｂｌｅ  Ｍａｒｒｉａｇｅ  Ｐｒｏｂｌｅｍ」、Ｄ．Ｇｕｓｆｉｅｌｄ  及び  Ｒ．Ｗ．Ｉｒｖｉｎｇ著、Ｔｈｅ  ＭＩＴ  Ｐｒｅｓｓ、１９８９年、ｐ．９
【発明の概要】
【発明が解決しようとする課題】
【００２２】
しかしながら、従来のマッチングシステムでは、応募者または募集者が、ＲＯＬにおける順位以外に希望する条件パターンを複数持っており、各条件パターンについてマッチ可能な組が異なる場合に対応できないという問題があった。
【００２３】
たとえば、ある応募者が、５日間連続して同じ勤務先で勤務することを最優先で希望し、もし５日間連続して勤務できる勤務先がない場合にのみ、日毎に異なる勤務先での勤務を希望するという、２通りの条件パターンを持っているとする。この場合、５日間連続して勤務するという条件パターンでは、この応募者とマッチ可能な募集者は限られるが、日毎に異なる勤務先での勤務を希望するという条件パターン（この場合には日毎にマッチングが行われることになる）では、この応募者とマッチ可能な募集者の数は日毎に異なり、より多くなる可能性がある。従来のマッチングシステムでは、同一の応募者について複数の複数の条件パターンを扱うことができないので、このような場合のマッチング処理には対応できない。
【００２４】
この発明は、このような問題を解決するためになされたものであり、応募者または募集者が、ＲＯＬにおける順位以外に希望する条件パターンを複数持っており、各条件パターンについてマッチ可能な組が異なる場合にも対応できる、マッチングシステムを提供することを目的とする。
【課題を解決するための手段】
【００２５】
上述の問題を解決するため、この発明に係るマッチングシステムは、
集合Ａに含まれる複数のＡ要素のそれぞれと、集合Ｂに含まれる複数のＢ要素のそれぞれとの間でマッチングを行うマッチングシステムにおいて、
前記マッチングシステムは、
‐前記Ａ要素のそれぞれについて定義され、前記Ｂ要素の全部または一部を一意に順位付けるＡ優先度リストと、
‐前記Ｂ要素のそれぞれについて定義され、前記Ａ要素の全部または一部を一意に順位付けるＢ優先度リストと、
‐前記Ａ要素のそれぞれについて定義され、期間を指定するＡ期間リストと、
‐前記Ｂ要素のそれぞれについて定義され、期間を指定するＢ期間リストと、
を記憶する機能と、
前記Ａ優先度リスト、前記Ｂ優先度リスト、前記Ａ期間リストおよび前記Ｂ期間リストに基づき、前記Ａ要素と前記Ｂ要素との組のそれぞれについて、当該Ａ要素に係る期間のすべてと、当該Ｂ要素に係る期間のすべてとが一致する場合にのみ、マッチングする機能と、
期間に関する時間単位を記憶する機能と、
を備え、
前記マッチングする機能は、第１の時間単位によって区切られる第１の期間ごとにマッチングする機能を含む。
【００２６】
さらに、上記時間単位を記憶する機能は期間に関する複数の時間単位を記憶し、
前記マッチングする機能は、
前記第１の時間単位とは異なる第２の時間単位によって区切られる第２の期間ごとにマッチングする機能と
を含んでもよい。
前記第２の期間ごとにマッチングする前記機能は、前記第２の期間のそれぞれについて、前記第１の期間ごとにマッチングする前記機能によってはいずれのＡ要素ともマッチしなかったＢ要素についてのみ実行されてもよい。
前記マッチングシステムは、さらに、
‐前記Ａ要素のそれぞれについて定義され、１つ以上の時間単位を指定可能である、Ａ時間単位リストと、
‐前記Ｂ要素のそれぞれについて定義され、１つ以上の時間単位を指定可能である、Ｂ時間単位リストと、
を記憶する機能を備え、
前記第２の期間ごとにマッチングする前記機能は、前記Ａ期間リストに前記第２の時間単位が指定されているＡ要素と、前記Ｂ期間リストに前記第２の時間単位が指定されているＢ要素との組に対してのみ実行されてもよい。
前記マッチングシステムは、さらに、
前記Ａ優先度リスト、前記Ｂ優先度リスト、前記Ａ期間リストおよび前記Ｂ期間リストに基づき、前記Ａ要素のいずれかと、前記Ｂ要素のいずれかとを、前記第１の時間単位および第２の時間単位とは異なる第３の時間単位によって区切られる第３の期間ごとにマッチングする機能と、
前記第２の期間ごとにマッチングする前記機能と、前記第３の期間ごとにマッチングする前記機能のいずれを先に実行するかを、前記Ａ期間リストまたは前記Ｂ期間リストに基づいて決定する機能と
を備えてもよい。
【００２８】
また、この発明に係るコンピュータプログラムは、コンピュータを、上述のマッチングシステムとして機能させる。
【発明の効果】
【００２９】
この発明によれば、マッチングシステムは、複数の範囲リストに基づいてマッチング処理を実行するので、応募者または募集者が、ＲＯＬにおける順位以外に希望する条件パターンを複数持っており、各条件パターンについてマッチ可能な組が異なる場合にも、マッチング処理を行うことができる。
【図面の簡単な説明】
【００３０】
【図１】この発明の実施の形態１に係るマッチングシステムの全体の構成を示した構成図である。
【図２】図１のマッチングサーバの内部構成を示した構成図である。
【図３】図２の応募者情報ファイルの構成を示す図である。
【図４】図２の応募条件ファイルの構成を示す図である。
【図５】図４の応募条件ファイルの具体例を示す図である。
【図６】図２のマッチ条件ファイルの具体例を示す図である。
【図７】図２の募集者情報ファイルの構成を示す図である。
【図８】図７の募集者情報ファイルの具体例を示す図である。
【図９】図２の募集条件ファイルの構成を示す図である。
【図１０】図９の募集条件ファイルの具体例を示す図である。
【図１１】図１のマッチングサーバがマッチング処理を行う場合の処理の流れを説明するフローチャートである
【図１２】実施の形態２に係る応募条件ファイルの構成の例を示す図である。
【図１３】実施の形態２に係る募集条件ファイルの構成の例を示す図である。
【図１４】従来のマッチング方法におけるマッチングの一例を示した説明図である。
【図１５】従来のマッチング方法における優先度リストの一例を示した説明図である。
【図１６】従来のマッチング方法の処理の流れを示したフローチャートである。
【図１７】従来のマッチング方法を示した説明図である。
【発明を実施するための形態】
【００３１】
実施の形態１．
実施の形態１では、マッチング処理の対象の例として、ボランティア作業員を募集する募集者と、ボランティア作業を希望する応募者とを扱う。募集者のそれぞれをＡ要素とし、応募者のそれぞれをＢ要素とすると、募集者の集合は複数のＡ要素を含む集合（集合Ａとする）であるということができ、応募者の集合は複数のＢ要素を含む集合（集合Ｂとする）であるということができる。また、本実施形態のマッチングシステムは、集合Ａに含まれる複数のＡ要素のそれぞれと、集合Ｂに含まれる複数のＢ要素のそれぞれとの間でマッチングを行うものであるということができる。なお、一般的には、Ａ要素とＢ要素とのマッチングは、１対１の関係に限らず、１対多または多対１のマッチングも可能である。
【００３２】
募集者の単位は、組織や団体等に限らず、個人であってもよい。また、同一の募集者であっても、募集する仕事（職種）や作業地域ごとに異なる募集者として扱ってもよい。たとえば、ある事業者が、会場内誘導作業および会場外誘導作業について作業員を募集する場合には、作業ごとに異なる募集者として定義されてもよい。また、同一の職種や地域であっても、募集条件が異なる場合には募集条件ごとに別の募集者として扱ってもよい。
【００３３】
募集者のうち少なくとも１つは、複数のボランティア作業員を募集可能である。すなわち、募集者のうち少なくとも１つは、複数の応募者とマッチ可能であるものとする。募集する作業員の数には、募集者ごとに上限を設けてもよい。また、マッチング処理が異なる時間帯について独立に実行される場合には、時間帯ごとに異なる応募者とマッチされてもよい。たとえば、ある募集者が２人の作業員を募集している場合において、月曜日の作業員２人と、火曜日の作業員２人とはまったく異なる人物であってもよい。
【００３４】
一方、本実施形態では、１人の応募者が複数の募集者とマッチすることはないものとする。すなわち、応募者はそれぞれ、１つの募集者とのみマッチされるか、あるいはいずれの募集者ともマッチされない。ただし、マッチング処理が異なる時間帯について独立に実行される場合には、時間帯ごとに異なる募集者とマッチされてもよい。たとえば、ある応募者が、月曜日についてある募集者とマッチし、火曜日については別の募集者とマッチするという結果も可能である。
【００３５】
図１は、この発明の実施の形態１に係るマッチングシステムの全体の構成を示した図である。図１に示すように、実施の形態１に係るマッチングシステムは、応募者と募集者との組合せを決定するマッチング処理を行うためのマッチングサーバ１００と、マッチングサーバ１００の管理およびメンテナンス等を行うマッチング管理者端末４００と、応募者が操作して情報を入力するための応募者端末２００と、募集者が操作して情報を入力するための募集者端末３００とから構成されている。なお、マッチングサーバ１００、応募者端末２００、募集者端末３００、マッチング管理者端末４００は、インターネット等の通信網５００により接続されている。
【００３６】
図２は、図１に示したマッチングサーバ１００の内部構成を示した図である。マッチングサーバ１００は周知の構成を有するコンピュータによって構成される。たとえば、マッチングサーバ１００は、演算を行う演算手段と、情報を格納する記憶手段と、情報の入力を受け付ける入力手段と、情報を出力する出力手段とを備え、これらが協働して図２の構成を実現する。
【００３７】
図２に示すように、マッチングサーバ１００の演算手段は、単独で、または他のハードウェアと共に、通信手段１０、希望登録手段１１、ＲＯＬ生成手段１２およびマッチング手段１３を構成する。また、マッチングサーバ１００の記憶手段は、応募者情報ファイル２０、応募条件ファイル２１、募集者情報ファイル２２、募集条件ファイル２３、マッチ条件ファイル２４、アイテムマスタファイル２５、登録用バリュウマスタファイル２６、募集者ＲＯＬファイル２７、応募者ＲＯＬファイル２８、検索用バリュウマスタファイル２９、バリュウ対応表３０およびマッチ結果格納ファイル３１を格納する。
【００３８】
また、とくに図示しないが、マッチングサーバ１００の記憶手段にはマッチングサーバ１００の動作を規定するプログラムが格納されている。マッチングサーバ１００は、このプログラムを実行することにより、本明細書に記載される機能を実現する。すなわち、このプログラムは、コンピュータをマッチングサーバ１００として機能させる。
【００３９】
応募者端末２００、募集者端末３００、およびマッチング管理者端末４００も、周知の構成を有するコンピュータによって構成され、演算手段と、記憶手段と、入力手段（通信手段を含む）と、出力手段（表示手段および通信手段を含む）とを備える。
【００４０】
また、応募者端末２００、募集者端末３００およびマッチング管理者端末４００の記憶手段には、各コンピュータの動作を規定するプログラムが格納されている。各コンピュータは、これらのプログラムを実行することにより、本明細書に記載される機能を実現する。すなわち、これらのプログラムは、コンピュータを、応募者端末２００、募集者端末３００およびマッチング管理者端末４００として機能させる。
なお応募者端末２００、募集者端末３００およびマッチング管理者端末４００で実行されるプログラムをマッチングサーバ１００に記憶し、マッチング処理はマッチングサーバ１００で一元的に実行するように構成してもよい。この場合、応募者端末２００、募集者端末３００およびマッチング管理者端末４００は、応募者、募集者、管理者との入出力インタフェース機能を有することになる。
【００４１】
図３に、応募者情報ファイル２０の構成を示す。応募者情報ファイル２０は、各応募者について、応募者を一意に特定する応募者ＩＤと、その応募者に関する情報を表す項目とを関連付ける。項目の例は、たとえば、氏名、住所（現住所）、最寄駅、電話番号、年齢、性別、職業（職業の有無および職業名）、現職業、職歴、経歴、趣味、特技、資格、等である。各項目はたとえば一意の項目番号によって特定される。
【００４２】
図４に、応募条件ファイル２１の構成を示す。応募条件ファイル２１は、各応募者について、応募者ＩＤと、その応募者とのマッチング処理の対象となる募集者をフィルタリングするための条件を表す項目を関連付ける。項目の例は、希望しない職種（職種名で表されてもよく、番号や識別子等で表されてもよい。他の項目についても同様である）、希望日および時間、通勤時間上限、勤務地（地域名で表されてもよく、駅等特定の地点と、その地点からの徒歩時間との組み合わせで表されてもよく、番号や識別子等で表されてもよい）、等である。各項目はたとえば一意の項目番号によって特定される。
【００４３】
たとえば、ある応募者が希望しない職種に「会場内誘導」を指定した場合には、その応募者は、会場内誘導に関する募集者とはマッチしない（その募集者がその応募者のＲＯＬに含まれないようにしてもよいし、ＲＯＬに含まれている場合であってもマッチングサーバ１００が無視するよう構成してもよい）。
【００４４】
また、応募条件ファイル２１は、各項目について優先度を関連付ける。優先度は、その応募者が、各項目のうちどの項目のどの値を重視してマッチングを希望するかを表すものである。たとえば、ある応募者が、「通勤時間上限」に「３０分」および「６０分」という２種類の値を指定した場合には、その応募者のＲＯＬには通勤時間が６０分以内である募集者が含まれることになるが、その中でも、通勤時間が３０分以内である募集者の順位は、通勤時間が３０分を超える募集者の順位よりも高くなる。なお、通勤時間の算出方法は、たとえば応募者の最寄駅および募集者の勤務地に基づいて算出可能である。
【００４５】
また、希望日および時間は、マッチングサーバ１００がマッチング処理を行う対象となる時間の最小単位で表現可能である。たとえば、時間の最小単位が「８時〜１２時の４時間」「１２時〜１６時の４時間」「１６時〜２０時の４時間」である場合には、各日についてこれらの時間帯の組み合わせで表現される。すなわち、この場合には、これらの時間単位で表現できない時間帯（たとえば１２時〜１４時の２時間や、１４時〜１８時の４時間等）は希望日および時間として指定できないことになる。
【００４６】
このように、応募条件ファイル２１は、応募者のそれぞれについて定義され、期間を指定する期間リスト（Ｂ期間リスト）を含むものということができる。なお、具体的な表現形式は任意のものが可能である。たとえば日付のみが指定されている場合には、その日の８時〜２０時の１２時間がすべて指定されているものと解釈するようにしてもよい。また、月のみが指定されている場合には、その月のすべての日の８時〜２０時の１２時間がすべて指定されているものと解釈するようにしてもよい。複数の日に渡る期間と曜日との組み合わせが指定されている場合には、その期間中のその曜日に該当するすべての日の８時〜２０時の１２時間がすべて指定されているものと解釈するようにしてもよい。また、希望しない日や希望しない時間帯を別途指定可能とし、希望しないものとして指定された日や時間帯は、「希望日および時間」に指定された範囲から除外するようにしてもよい。
【００４７】
また、応募条件ファイル２１は、各応募者について、応募者ＩＤと、その応募者が許容する緩和条件を関連付ける。許容する緩和条件とは、たとえば時間単位に関するものである。時間単位に関する緩和条件とは、たとえば、その応募者が参加を希望するすべての希望日および時間について同一の募集者とマッチすることのみを希望する（すなわち時間単位について緩和することを許容しない）か、日毎に異なる募集者とマッチすることを許容する（すなわち日単位への緩和を許容する）か、時間帯毎に異なる募集者とマッチすることを許容する（すなわち４時間単位への緩和を許容する）か、等をいう。
【００４８】
このように、応募条件ファイル２１は、応募者のそれぞれについて定義され、項目番号１１０２に一例を示すＢ期間リストを含むものである。
【００４９】
図５に、応募条件ファイル２１の具体例を示す。この例では、応募者ＩＤ「Ｗ００１」で表される応募者は、項目番号１１０１（希望職種を表す項目）について「会場内誘導」および「会場外誘導」を指定しているが、これらのうち「会場内誘導」のほうが優先される（たとえば、応募者ＩＤ「Ｗ００１」のＲＯＬにおいて、会場内誘導に対応する募集者の順位は、会場外誘導に対応する募集者の順位よりも高くなる）。
【００５０】
また、この例では、応募者ＩＤ「Ｗ００２」で表される応募者は、項目番号１１１０（許容する緩和条件を表す項目）についていかなる値も指定しておらず、一方、応募者ＩＤ「Ｗ００３」で表される応募者は、項目番号１１１０について「Ｃ００１−１」および「Ｃ００１−２」という２種類の値をしている。これは、応募者Ｗ００２は応募期間内のすべての日および時間帯について連続してマッチできる募集者のみを希望しているが、応募者Ｗ００３は、応募期間内のすべての日についてマッチできる募集者のみならず、場合によってはより細かい時間単位（日単位や時間単位等）で異なる募集者とマッチすることも許容する、ということを示す。項目番号１１１０がＢ時間単位リストの一例であり、Ｂ時間単位リストとは、後述するマッチ条件ファイル２４に記憶されている緩和条件のいずれかを値に持つものである。
【００５１】
このような緩和条件は、たとえばマッチ条件ファイル２４に定義される。
図６に、マッチ条件ファイル２４の具体例を示す。マッチ条件ファイル２４は、各緩和条件について、条件番号と、マッチング処理における時間単位と、適用順とを関連付ける。このように、マッチングサーバ１００は、期間に関する複数の時間単位をマッチ条件ファイル２４に記憶する機能を備える。
【００５２】
図６の例では、条件番号Ｃ００１−０は、全期間（第１の時間単位）に対応し、時間単位について緩和しないという条件を示す。すなわち、この条件を用いてマッチング処理が行われる場合には、マッチング処理は募集の全期間についてのみ実行されることになり、応募者の「希望日および時間」と、募集者の「募集日および時間」とが、すべての日のすべての時間帯について一致する応募者と募集者との間でのみ、マッチング処理が行われる。
【００５３】
また、条件番号Ｃ００１−１は、日単位（第２の時間単位）に対応し、マッチング処理を日単位に緩和するという条件を示す。すなわち、この条件を用いてマッチング処理が行われる場合には、マッチング処理は日毎に実行されることになる。この場合、各日について、その日を希望している応募者が希望する時間帯と、その日に募集している募集者が募集する時間帯とが、すべての時間帯について一致する応募者と募集者との間でのみ、マッチング処理が行われる。
【００５４】
また、条件番号Ｃ００１−２は、時間帯単位（第３の時間単位）に対応し、マッチング処理を４時間単位に緩和するという条件を示す。すなわち、この条件を用いてマッチング処理が行われる場合には、マッチング処理は時間帯毎に（すなわち各日に含まれる３つの時間帯それぞれについて）実行されることになる。この場合、各日の各時間帯について、その時間帯を希望している応募者と、その時間帯に募集している募集者との間でマッチング処理が行われる。
【００５５】
また、条件番号Ｃ００１−３は、週単位（第４の時間単位）に対応し、マッチング処理を週単位に緩和するという条件を示す。すなわち、この条件を用いてマッチング処理が行われる場合には、マッチング処理は週毎に実行されることになる。この場合、各週について、その週のいずれかの日を希望している応募者が希望する日および時間帯と、その週のいずれかの日に募集している募集者が募集する日および時間帯とが、すべての日および時間帯について一致する応募者と募集者との間でのみ、マッチング処理が行われる。
【００５６】
マッチ条件ファイル２４には、各緩和条件の適用順を定義してもよい。図６の例では、緩和条件は、Ｃ００１−０、Ｃ００１−１、Ｃ００１−２、Ｃ００１−３の順で適用される。すなわち、まず募集期間全体についてマッチング処理が実行され、この処理においてマッチしなかった応募者および募集者が残っている場合には、日単位のマッチング処理が実行され、さらにマッチしなかった応募者および募集者が残っている場合には、時間帯単位のマッチング処理が実行され、さらにマッチしなかった応募者および募集者が残っている場合には、週単位のマッチング処理が実行されることになる。
【００５７】
図７に、募集者情報ファイル２２の構成を示す。募集者情報ファイル２２は、各募集者について、募集者を一意に特定する募集者ＩＤと、その募集者に関する情報を表す項目とを関連付ける。項目の例は、たとえば、募集者氏名、職種、勤務地、募集日および時間（Ａ期間リスト）、募集人数、給与、必要な資格、等である。各項目はたとえば一意の項目番号によって特定される。
【００５８】
募集人数は、１つの時間帯においてその募集者とマッチ可能な応募者の最大数を表す。募集人数の指定は、必須としてもよいし、任意としてもよい。募集人数の指定の有無は、マッチング処理の具体的なアルゴリズム（たとえばＧａｌｅ−Ｓｈａｐｌｅｙアルゴリズム）によって適宜考慮可能である。
【００５９】
図８に、募集者情報ファイル２２の具体例を示す。この例では、募集者ＩＤ「Ｊ００１」で表される募集者は、項目番号２００５（募集日および時間）について「１０月・１１月の月曜〜金曜」を指定している。また、項目番号２００６（募集人数）について「４」を指定している。これは、募集者Ｊ００１が、該当する各日について４人の応募者を募集することを示す。
項目番号２００５がＡ期間リストの一例である。
【００６０】
図９に、募集条件ファイル２３の構成を示す。募集条件ファイル２３は、各募集者について、募集者ＩＤと、その募集者とのマッチング処理の対象となる応募者をフィルタリングするための条件を表す項目を関連付ける。項目の例は、職歴、経歴、年齢、不採用の学歴、等である。各項目はたとえば一意の項目番号によって特定される。
【００６１】
たとえば、ある募集者が経歴に「管理職」を指定した場合には、その募集者は、管理職の経歴を持たない応募者とはマッチしない。（その応募者がその募集者のＲＯＬに含まれないようにしてもよいし、ＲＯＬに含まれている場合であってもマッチングサーバ１００が無視するよう構成してもよい。管理職の経歴を持つか否かは、たとえば募集者情報ファイル２２に基づいて判定可能である）
【００６２】
また、募集日および時間は、応募条件ファイル２１の希望日および時間と同様に、マッチングサーバ１００がマッチング処理を行う対象となる時間の最小単位で表現可能である。
【００６３】
このように、募集条件ファイル２３は、募集者のそれぞれについて定義され、期間を指定する期間リスト（Ａ期間リスト）を含むものということができる。なお、期間の具体的な表現形式は、応募条件ファイル２１と同様に任意のものが可能である。
【００６４】
また、募集条件ファイル２３は、各募集者について、募集者ＩＤと、その募集者が許容する緩和条件を関連付ける。許容する緩和条件は、応募条件ファイル２１と同様に定義可能であり、たとえば時間単位に関するものである。時間単位に関する緩和条件とは、たとえば、すべての募集日および時間について参加可能である応募者とのみマッチすることのみを希望する（すなわち時間単位について緩和することを許容しない）か、日毎に異なる応募者（または日毎に異なる応募者の組）とマッチすることを希望する（すなわち日単位への緩和を許容する）か、時間帯毎に異なる応募者（または時間帯毎に異なる応募者の組）とマッチすることを希望する（すなわち４時間単位への緩和を許容する）か、等をいう。また、募集人数が２以上である場合には、これらの条件が混在してもよい。すなわち、ある募集者に対して、ある応募者が全期間についてマッチし、別の応募者が日単位でマッチし、さらに別の応募者が時間帯単位でマッチしてもよい。
【００６５】
このように、募集条件ファイル２３は、募集者のそれぞれについて定義され、１つ以上の時間単位を指定可能である期間リスト（Ａ時間単位リスト）を含むものということができる。
【００６６】
図１０に、募集条件ファイル２３の具体例を示す。この例では、募集者ＩＤ「Ｊ００１」で表される募集者は、項目番号２１０５（許容する緩和条件を表す項目）について「Ｃ００１−１」すなわち「日単位」のみを指定しており、一方、募集者ＩＤ「Ｊ００３」で表される応募者は、項目番号２１０５について「Ｃ００１−１」すなわち「日単位」と、「Ｃ００１−２」すなわち「４時間単位」という２種類の値をしている。これは、募集者Ｊ００１は、募集期間内のすべての日について連続してマッチできる応募者か、日単位ですべての時間帯についてマッチできる応募者のみを希望しているが、募集者Ｊ００３は、募集期間内のすべての日についてマッチできる応募者、日単位で異なる応募者、４時間単位で異なる応募者いずれとマッチすることも許容する、ということを示す。
項目番号２１０５がＡ時間単位リストの一例であり、Ｂ時間単位リストとは、マッチ条件ファイル２４に記憶されている緩和条件のいずれかを値に持つものである。
【００６７】
以上のような構成を有するマッチングサーバ１００の動作を、以下に説明する。
図１１は、マッチングサーバ１００がマッチング処理を行う場合の処理の流れを説明するフローチャートである。まずマッチングサーバ１００は、マッチ条件ファイル２４を記憶する（ステップＳ１）。すなわち、緩和条件に関する情報を記憶する。マッチ条件ファイル２４は、たとえば図６に示すものであってもよく、または、マッチングサーバ１００の管理者が適宜作成または変更するものであってもよい。
【００６８】
次に、マッチングサーバ１００は、応募者情報ファイル２０、応募条件ファイル２１、募集者情報ファイル２２、および募集条件ファイル２３の入力を受け付ける（ステップＳ２およびＳ３）。これはたとえば、各応募者が応募者端末２００に応募者情報ファイル２０および応募条件ファイル２１を入力してマッチングサーバ１００に送信し、同様に、各募集者が募集者端末３００に募集者情報ファイル２２および募集条件ファイル２３を入力してマッチングサーバ１００に送信し、これらをマッチングサーバ１００が受信することによって行われる。
【００６９】
次に、マッチングサーバ１００は、マッチングの終了条件が満たされているか否かを判定する（ステップＳ４）。マッチングの終了条件は、たとえばマッチ条件ファイル２４に定義されるすべての条件について、すでにマッチング処理（後述のステップＳ８）が実行されていることであるが、任意に終了条件を設定してもよい。たとえば、処理対象となるすべての日のすべての時間帯について、すべての募集者が、それぞれの募集人数と等しい数の応募者とマッチしていることを終了条件としてもよい。
【００７０】
終了条件が満たされている場合には、マッチングサーバ１００はマッチング処理を終了する。終了条件が満たされていない場合には、マッチ条件の決定または変更を行う（ステップＳ５）。本実施形態では、マッチ条件ファイル２４において適用順が高い順（数字が小さい順）に、マッチ条件を適用する。すなわち、ステップＳ５の最初の実行では、条件Ｃ００１−０を適用して全期間についてマッチング処理を行い、ステップＳ５の２回目の実行では、条件Ｃ００１−１を適用して日毎のマッチング処理を行う。
【００７１】
次に、マッチングサーバ１００（とくにＲＯＬ生成手段１２）は、募集者ＲＯＬおよび応募者ＲＯＬを作成する（ステップＳ６およびＳ７）。また、マッチングサーバ１００（とくにＲＯＬ生成手段１２）は、募集者ＲＯＬファイル２７および応募者ＲＯＬファイル２８に、作成された各ＲＯＬを記憶する。募集者ＲＯＬは、募集者のそれぞれについて定義され、応募者の全部または一部を一意に順位付ける優先度リスト（Ａ優先度リスト）であり、応募者ＲＯＬは、応募者のそれぞれについて定義され、募集者の全部または一部を一意に順位付ける優先度リスト（Ｂ優先度リスト）である。
【００７２】
募集者ＲＯＬおよび応募者ＲＯＬは、たとえば、特許文献１に記載される方法を用いて、応募者情報ファイル２０、応募条件ファイル２１、募集者情報ファイル２２、募集条件ファイル２３、マッチ条件ファイル２４、アイテムマスタファイル２５、登録用バリュウマスタファイル２６、検索用バリュウマスタファイル２９およびバリュウ対応表３０に基づき、作成可能である。また、この際に、応募条件ファイル２１の優先度を用いてもよい。また優先度リストを作成する前提として、募集者のＡ期間リストと応募者のＢ期間リストとが一致する相手先がそれぞれの優先度リストに登録する対象となり、募集者のＡ期間リストと応募者のＢ期間リストとが一致しない相手先は優先度リストに登録する対象とはならない。
【００７３】
これは、応募者と募集者が指定した、マッチ条件ファイル２４に特定される条件で定められる第１の期間（全期間、日単位、４時間単位、週単位等）に含まれる第１の時間単位が完全一致する場合、相手先を優先度リストに登録する対象とするように、条件を緩和していることになる。
【００７４】
具体的に説明すると、第１の期間が全期間であり、全期間が２０１４年１０月１日〜２０１４年１月３１日の３か月であったとする。応募者ＩＤ  Ｗ０１０の希望期間が２０１４年１０月１日〜２０１４年１０月３１日の１か月間であり、募集者ＩＤ  Ｊ０１０の募集期間が２０１４年１０月１日〜２０１４年１０月３１日の１か月間であった場合、応募者ＩＤ  Ｗ０１０と募集者ＩＤ  Ｊ０１０とは、それぞれの優先度リストに登録する対象となる（他の条件で、優先度リストに登録されない場合もある）。
また応募者ＩＤ  Ｗ０１１の希望期間が２０１４年１１月１日〜２０１４年１１月８日の１週間であり、募集者ＩＤ  Ｊ０１１の募集期間が２０１４年１１月１日〜２０１４年１１月８日の１週間であった場合、応募者ＩＤ  Ｗ０１１と募集者ＩＤ  Ｊ０１１とは、それぞれの優先度リストに登録する対象となる。
【００７５】
また、第１の時間単位が月単位（暦上の１月、２月、などの１ヶ月）であり、応募者ＩＤ  Ｗ０１１の希望期間が２０１４年１１月２０日〜２０１４年１１月３１日であり、募集者ＩＤ  Ｊ０１１の募集期間が２０１４年１１月２０日〜２０１４年１２月２０日であった場合、応募者ＩＤ  Ｗ０１１と募集者ＩＤ  Ｊ０１１とは、１１月についてはそれぞれの優先度リストに登録する対象となり、１２月についてはそれぞれの優先度リストに登録する対象とならない。
【００７６】
このように第１の時間単位は、応募者と募集者の指定期間が完全に一致していれば、期間の長さは任意に定められる変動的な時間単位である。
【００７７】
また、各ＲＯＬの作成は、特許文献１に記載の方法に限らず、任意の方法を用いてよい。たとえば、ＲＯＬ生成手段１２は、応募者情報ファイル２０の「最寄駅」と募集者情報ファイル２２の「勤務地」の間の移動時間を算出する機能を備え、この移動時間が短いほど順位が高くなるようにＲＯＬを作成することができる。または、その他の項目の内容に基づいてＲＯＬを作成してもよい。
【００７８】
さらに、マッチングサーバ１００は、募集者ＲＯＬおよび応募者ＲＯＬを作成する機能を備えないものであってもよい。そのような場合でも、各ＲＯＬの入力を受け付けて募集者ＲＯＬファイル２７および応募者ＲＯＬファイル２８に記憶し、これらに基づいてマッチング処理を実行することができる。各ＲＯＬの入力は、たとえば応募者端末２００から応募者ＲＯＬを受信し、募集者端末３００から募集者ＲＯＬを受信することによって行われる。
【００７９】
また、ステップＳ６およびＳ７の２回目以降の実行においては、それぞれのＲＯＬを自動生成するのではなく、ＲＯＬの一部を削除してもよく、作成されたＲＯＬに含まれる要素の一部を削除してもよい。たとえば、日単位のマッチング処理は、日単位でのマッチングを許容する募集者および応募者のみに対して実行される。すなわち、日単位で（第２の期間ごとに）マッチングする機能は、募集条件ファイル２３（Ａ期間リストを含む）の項目２１０５（「許容する緩和条件」）に、日単位（第２の時間単位）が指定されている募集者と、応募条件ファイル２１（Ｂ期間リストを含む）の項目１１１０（「許容する緩和条件」）に、日単位（第２の時間単位）が指定されている募集者との組に対してのみ実行される。
【００８０】
また、日単位のマッチング処理では、その日を希望していない応募者については応募者ＲＯＬを削除して（またはその応募者ＲＯＬの作成を省略して）マッチングの対象外としてもよく、その日を希望していない応募者はすべての募集者ＲＯＬから削除してもよい。また、それまでのマッチング処理において既にマッチしている相手は、ＲＯＬから削除してもよい。
【００８１】
次に、マッチングサーバ１００（とくにマッチング手段１３）は、募集者ＲＯＬファイル２７、応募者ＲＯＬファイル２８および募集者情報ファイル２２に基づき、マッチング処理を実行する（ステップＳ８）。マッチング処理は、たとえば非特許文献１に記載の方法により行うことができる。ステップＳ８におけるマッチング処理は、たとえば、処理中のマッチ条件（たとえば日単位のマッチング）の下で、すべての応募者が、それぞれ希望するすべての時間単位（たとえば日）について、いずれかの募集者とマッチするかすべての募集者から拒絶されるという条件が満たされるまで繰り返し実行される（非特許文献１の方法でもこのようになる）。
あるいはステップＳ８におけるマッチング処理は、たとえば、処理中のマッチ条件（たとえば日単位のマッチング）の下で、すべての募集者が、それぞれ希望するすべての時間単位（たとえば日）について、いずれかの応募者とマッチするかすべての応募者から拒絶されるという条件が満たされるまで繰り返し実行されるように構成してもよい。
【００８２】
全期間についてマッチング処理を行う場合には、募集者と応募者との組のそれぞれについて、当該募集者に係る募集日および時間のすべてと、当該応募者に係る希望日および時間のすべてとが一致する場合にのみ実行される。すなわち、ある募集者とある応募者との間で募集日と希望日が一致しない日が１日でもある場合や、募集日と希望日とが完全に一致していても、募集時間帯と希望時間帯とにずれがある日が１日でもある場合には、その募集者とその応募者との組については、マッチングは行われない。このようにすることにより、全期間を通して同じ募集者に参加したいという応募者の希望と、全期間を通して同じ応募者に参加してほしいという募集者の希望とを、よりよく実現することができる。
【００８３】
その後、マッチングサーバ１００は処理をステップＳ４に戻す。すなわち、マッチング処理によりマッチングの終了条件が満たされたか否かを判定し、満たされていなければマッチ条件を変更してマッチング処理を繰り返す。
【００８４】
なお、ステップＳ６およびＳ７は、それぞれ１回だけ実行されるよう構成してもよい。この場合には、同じＲＯＬを複数回のマッチング処理について用いることになる。この場合には、ＲＯＬに含まれる要素の一部（既にマッチしている相手等）を無視してマッチング処理が行われることになる。
【００８５】
このように、マッチングサーバ１００は、募集者ＲＯＬ、応募者ＲＯＬ、募集者について期間（募集日および時間）を指定する期間リスト、および、応募者について期間（希望日および時間）を指定する期間リストに基づき、募集者のいずれかと、応募者のいずれかとを、全期間についてマッチングする機能（１回目のステップＳ８）を備えるということができる。
【００８６】
また、マッチングサーバ１００は、募集者ＲＯＬ、応募者ＲＯＬ、募集者について期間（募集日および時間）を指定する期間リスト、および、応募者について期間（希望日および時間）を指定する期間リストに基づき、募集者のいずれかと、応募者のいずれかとを、期間全体とは異なる時間単位（たとえば日単位）ごとにマッチングする機能（たとえば２回目のステップＳ８）を備えるということができる。
【００８７】
したがって、マッチングサーバ１００は、応募者または募集者が、ＲＯＬにおける順位以外に希望する条件パターン（たとえば期間全体のマッチを希望するか、または日単位でのマッチも許容するか、等）を複数持っており、各条件パターンについてマッチ可能な組が異なる場合にも対応することができる。
【００８８】
また、日単位でマッチングする機能は、各日について、全期間についてのマッチング処理によってはいずれの募集者ともマッチしなかった応募者についてのみ実行される。同様に、時間帯単位でマッチングする機能は、各時間帯について、全期間についてのマッチング処理によっても日単位のマッチング処理によってもいずれの募集者ともマッチしなかった応募者についてのみ実行される。
【００８９】
なお、変形例として、既にマッチした応募者についても、別の時間単位でのマッチング処理を行ってもよい。たとえば、すべての募集者およびすべての応募者について、全期間についてのマッチング処理、日単位のマッチング処理、時間帯単位のマッチング処理および週単位のマッチング処理を行い、最適な結果を何らかの基準に基づいて選択する（または管理者の入力に基づいて選択する）ようにしてもよい。
【００９０】
実施の形態１では、マッチ条件ファイル２４における適用順は固定されているが、これは適宜変更可能であってもよく、マッチングサーバ１００が自動的に決定または変更するようにしてもよい。たとえば、マッチングサーバ１００は、応募条件ファイル２１および募集条件ファイル２３に基づいて各緩和条件に適用順を決定してもよい。具体例として、各緩和条件を許容する募集者および応募者の数を算出し、この数が多い順に当該緩和条件の適用順が高くなるよう（先に適用されるよう）決定してもよい。このようにすると、当事者の希望に合わせた時間単位でマッチング処理を行うことができる。
【００９１】
たとえば、緩和しないという条件（Ｃ００１−０、全期間）を必ず最初に適用し、次に適用される緩和条件を自動的に決定してもよい。言い換えると、マッチングサーバ１００は、第１の時間単位（たとえば全期間）についてマッチングする機能と、第２の期間ごと（たとえば日単位）にマッチングする機能と、第３の期間ごと（たとえば時間帯単位）にマッチングする機能とを備え、さらに、第２の期間ごとにマッチングする機能と第３の期間ごとにマッチングする機能のいずれを先に実行するかを、応募条件ファイル２１または募集条件ファイル２３に基づいて決定するものであってもよい。
【００９２】
このように、実施の形態１によれば、マッチングシステムは、募集者ＲＯＬ（Ａ優先度リスト）と、応募者ＲＯＬ（Ｂ優先度リスト）と、応募者それぞれが指定した応募したい期間（Ｂ期間リスト）と、募集者それぞれが指定した募集したい期間（Ａ期間リスト）とを記憶し、Ａ優先度リスト、Ｂ優先度リスト、Ａ期間リストおよびＢ期間リストに基づき、Ａ要素とＢ要素との組のそれぞれについて、Ａ要素に係る期間のすべてと、Ｂ要素に係る期間のすべてとが一致する場合にのみ、マッチングする。
【００９３】
一定期間でボランティアのマッチングを行う場合、募集者は、作業に応じて一定期間内の特定の期間にボランティア作業員を募集する。また応募者は、仕事や家庭の事情により一定期間内の対応可能な特定の期間に応募する。このように、応募者側、募集者側も一定期間内の特定の期間を指定する場合、Ａ期間リストとＢ期間リストの一致を考慮した上で、マッチング処理を行わないと、作業できる応募者を作業できる期間にマッチングしたことにならない。このような課題を解決するために、実施の形態１では、Ａ要素とＢ要素との組のそれぞれについて、Ａ要素に係る期間のすべてと、Ｂ要素に係る期間のすべてとが一致する場合にのみマッチングを行う。それにより、募集者、応募者とも特定の期間を指定することができ、比較的長期間のボランティア募集のようなマッチング処理に適用することができる。
【００９４】
また従来のマッチングシステムでは、応募者の就労を希望する期間と募集者が募集する期間が異なり、応募者が異なる期間において複数の募集者とマッチ可能な場合に対応できないという問題があった。つまり応募者の希望する期間と募集者が募集する期間が一致していないと、マッチ処理が行われないため、応募者の希望する期間を複数の募集者を割り振ることで、充足率を向上させるという発想はなかった。
【００９５】
実施の形態１ではマッチ処理を行う時間単位（第１の時間単位、第２の時間単位）を記憶し、時間単位に区切った期間毎にＡ要素とＢ要素との組のそれぞれについて、時間単位によって区切られたＡ要素に係る期間と、時間単位によって区切られたＢ要素に係る期間とが一致する場合にのみ、マッチングする。それにより、応募者の就労希望期間と募集者の募集期間が異なり、応募者が複数の募集者とマッチ可能な場合にも対応可能となる。逆に、募集者が複数の応募者とマッチ可能な場合にも対応可能となる。
【００９６】
実施の形態２．
実施の形態２は、実施の形態１において、時間単位以外の条件についても緩和しながらマッチング処理を進めるようにしたものである。以下、実施の形態１との相違点について説明する。なお、実施の形態２では、緩和される項目（期間以外の第１の項目）の例として給与（図７の項目２００７）を用いて説明する。給与が支給される場合には、募集される作業員はボランティア作業員ではなく賃金労働者であってもよい。
【００９７】
図１２および図１３は、それぞれ、実施の形態２に係る応募条件ファイル２１ａおよび募集条件ファイル２３ａの構成の例を示す。応募条件ファイル２１ａおよび募集条件ファイル２３ａでは、給与（第１の項目）について、複数の範囲が指定可能である。たとえば、応募者は、給与第１希望範囲（第１の範囲）を２０００円以上、給与第２希望範囲（第２の範囲）を１５００円以上、給与第３希望範囲（第３の範囲）を１０００円以上、というように指定可能である。同様に、募集者は、給与第１希望範囲を１０００円以下、給与第２希望範囲を１５００円以下、給与第３希望範囲を２０００円以下、というように指定可能である。
【００９８】
マッチング処理は、実施の形態１における時間単位ごとの処理ループにおいて、さらに各給与希望範囲についてループして実行される。たとえば、以下の順で処理が進む。
（１）全期間について、すべての募集者および応募者について給与第１希望範囲に基づいて実行される。
（２）全期間について、すべての募集者および応募者について給与第２希望範囲に基づいて実行される。
（３）全期間について、すべての募集者および応募者について給与第３希望範囲に基づいて実行される。
（４）日単位で、各日について、すべての募集者および応募者について給与第１希望範囲に基づいて実行される。
（５）日単位で、各日について、すべての募集者および応募者について給与第２希望範囲に基づいて実行される。
（６）日単位で、各日について、すべての募集者および応募者について給与第３希望範囲に基づいて実行される。
以下、他の時間単位についても同様である。
【００９９】
ただし、時間単位と給与希望範囲との組み合わせの処理順序は上述のものに限らず、任意に設計可能である。また、すべての時間単位と給与希望範囲との組み合わせについてマッチング処理を行う必要はない。たとえば時間単位のうち少なくとも１つについて、給与希望範囲それぞれに対するマッチング処理が実行されてもよく、給与希望範囲のうち少なくとも１つについて、時間単位それぞれに対するマッチング処理が実行されてもよい。
【０１００】
マッチング処理は、給与の希望範囲が互いに重複する場合のみ実行される。たとえば、給与第１希望範囲に基づいてマッチング処理をする場合には、募集者と応募者との組のそれぞれについて、当該募集者の給与第１希望範囲と、当該応募者の給与第１希望範囲とが少なくとも一部重複する場合にのみ実行される。例として、ある募集者の給与第１希望範囲が「１５００円以下」である場合には、この募集者は、給与第１希望範囲が「１０００円以上」である応募者とマッチする可能性はあるが、給与第１希望範囲が「２０００円以上」である応募者とはマッチしない。
【０１０１】
また、本実施形態では、すでにマッチした組は後続のマッチング処理対象から除外される。すなわち、給与第２希望範囲に基づいてマッチング処理をする場合には、募集者と、応募者のうち給与第１希望範囲に基づくマッチング処理によってはいずれの募集者ともマッチしなかった者との組のそれぞれについて、当該募集者の給与２希望範囲と、当該応募者の給与第２希望範囲とが少なくとも一部重複する場合にのみ実行される。
【０１０２】
なお、各応募者および各募集者は、少なくとも給与第１希望範囲のみを指定すればよい。すなわち、給与第１希望範囲のみを指定し、給与第２希望範囲および給与第３希望範囲を指定せず空欄（未定義、ゼロ等）にしておくことにより、給与第２希望範囲および給与第３希望範囲への緩和を許容しないことを表してもよい。
【０１０３】
このように、実施の形態２によれば、マッチングシステムは、複数の範囲リストに基づいてマッチング処理を実行するので、応募者または募集者が、ＲＯＬにおける順位以外に希望する条件パターンを複数持っており、各条件パターンについてマッチ可能な組が異なる場合にも、マッチング処理を行うことができる。
なお、本実施形態は給与で示したが、通勤距離、通勤時間などで実施してもよい。
【０１０４】
変形例として、既にマッチした応募者についても、別の給与希望範囲でのマッチング処理を行ってもよい。たとえば、すべての募集者およびすべての応募者について、給与第１希望範囲に基づくマッチング処理、給与第２希望範囲に基づくマッチング処理および給与第３希望範囲に基づくマッチング処理を行い、最適な結果を何らかの基準に基づいて選択する（または管理者の入力に基づいて選択する）ようにしてもよい。
【０１０５】
また、変形例として、募集者側では単一の給与希望範囲のみ指定可能としてもよい。この場合には、募集者は常に給与第１希望範囲に基づいてマッチング処理されることになる。
【０１０６】
実施の形態２では、緩和される項目（第１の項目）は給与であり、これは期間以外の項目であるが、変形例として、期間を第１の項目としてもよい。すなわち、実施の形態１と同様に、時間単位のみについて緩和するよう構成してもよい。この場合には、ある募集者の募集期間のすべてと、ある応募者の応募期間のすべてとが一致する場合にのみ、その募集者とその応募者との組についてマッチングを行ってもよい。
【符号の説明】
【０１０７】
２０  応募者情報ファイル、２１  応募条件ファイル（Ｂ期間リスト、Ｂ時間単位リスト）、２１ａ  応募条件ファイル（Ｂ期間リスト、Ｂ時間単位リスト、Ｂ範囲リスト）、２２  募集者情報ファイル（Ａ期間リスト）、２３  募集条件ファイル（Ａ時間単位リスト）、２３ａ  募集条件ファイル（Ａ時間単位リスト、Ａ範囲リスト）、２４  マッチ条件ファイル（複数の時間単位）、２５  アイテムマスタファイル、２６  登録用バリュウマスタファイル、２７  募集者ＲＯＬファイル（Ａ優先度リスト）、２８  応募者ＲＯＬファイル（Ｂ優先度リスト）、２９  検索用バリュウマスタファイル、３０  バリュゥ対応表、３１  マッチ結果格納ファイル、１００  マッチングサーバ、２００  応募者端末、３００  募集者端末、４００  マッチング管理者端末、５００  通信網。
【要約】
【課題】複数のＡ要素（募集者）のそれぞれと、複数のＢ要素（応募者）のそれぞれとの間でマッチングを行うマッチングシステムにおいて、応募者または募集者が、ＲＯＬ（優先度リスト）における順位以外に希望する条件パターンを複数持っており、各条件パターンについて異なるＲＯＬが定義される場合にも対応できるものを提供する。
【解決手段】
マッチングサーバ１００は、募集者ＲＯＬ（Ａ優先度リスト）、応募者ＲＯＬ（Ｂ優先度リスト）、募集者の期間リスト（項目２１０５、Ａ期間リスト）、応募者の期間リスト（項目１１１０、Ｂ期間リスト）に基づき、募集者（Ａ要素）と応募者（Ｂ要素）との組のそれぞれについて、当該募集者（当該Ａ要素）に係る期間のすべてと、当該応募者（当該Ｂ要素）に係る期間のすべてとが一致する場合にのみ、マッチングする機能を備える。
【選択図】図１１【図１】
0005893701.tif 000002
【図２】
0005893701.tif 000003
【図３】
0005893701.tif 000004
【図４】
0005893701.tif 000005
【図５】
0005893701.tif 000006
【図６】
0005893701.tif 000007
【図７】
0005893701.tif 000008
【図８】
0005893701.tif 000009
【図９】
0005893701.tif 000010
【図１０】
0005893701.tif 000011
【図１１】
0005893701.tif 000012
【図１２】
0005893701.tif 000013
【図１３】
0005893701.tif 000014
【図１４】
0005893701.tif 000015
【図１５】
0005893701.tif 000016
【図１６】
0005893701.tif 000017
【図１７】
0005893701.tif 000018