【文献】
角田 朋之,双方向フィードバックを利用したジョブマッチング,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2012年 6月14日,Vol.112,No.94,pp.13-18,ISSN 0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
例えば、就職志願者の集合と志願者を受け入れる企業の集合の間のマッチング問題のように、双方向に優先度を持つ集合間のマッチング問題においてマッチングを行うための手法が提案されつつある(例えば、非特許文献1参照。)。
【0003】
ここで、各志願者は自分が就職したい企業を好みにより順位づけした優先度リストを持ち、一方各企業の方も受け入れたい志願者を順位づけした優先度リストを持つものとする。志願者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つの条件を満たすものとする。
【0004】
1. 任意の志願者aに関して、aを含むペア(a,p)はXにおいて1個以下である。
2. 任意の企業pに関して、pを含むペア(a,p)はXにおいて、企業の定員Q(p)個以下である。
【0005】
マッチングの一例を
図14に示す。
図14では、志願者の集合{a1,a2,a3,a4,a5,a6,a7}と企業の集合{p1,p2,p3,p4}の間のマッチングとして、{(a1,p1),(a2,p3),(a3,p4),(a5,p3),(a6,p4)}が得られている。このマッチングでは、志願者a4,a7と企業p2にはマッチング相手が存在しない。
【0006】
また、
図15に志願者と企業の優先度リストの例を示す。それぞれの優先度リストでは上に記載されているものほど好ましい相手を示す。言い換えれば、下に行くほど順位が大きくなる。
図15の例では、志願者は3つの企業に対して、p1<p4<p3という順序をつけている。企業は6人の志願者にa7<a1<a4<a3<a5<a6という順序をつけている。マッチングすることをまったく望まない相手は優先度リストに記載しない。
【0007】
マッチング問題とは、志願者の集合と企業の集合と志願者および企業の優先度リストとが与えられたときに、志願者と企業の間の組合せを求める問題のことを言う。マッチング方法とは、マッチング問題に対する解法、すなわち、志願者と企業の間の組合せを求める方法のことである。従って、マッチングシステムとは、マッチング方法を実行するシステムのことである。
【0008】
また、上記のようなマッチングには安定性を定義することができる。マッチングXが安定であるのは、次の2つの条件が共に満たされる場合を言う。
【0009】
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’が成り立つ。
【0010】
マッチング問題においては、安定なマッチングを生成する方法が求められる。不安定なマッチングが得られた場合、自分が優先度リストに記載していない相手、すなわち、自分のまったく望まない相手とマッチングした志願者または企業が存在するか、あるいは、ブロッキングペアが存在する。ブロッキングペアを構成する志願者と企業の両者にとって、得られたマッチングよりブロッキングペアの相手の方が好ましいため、不安定なマッチングは公平でない。つまり、不安定なマッチングを生成する方法ではマッチングに対する信頼性が無くなり、マッチングの対象者がマッチングに参加する意思を損なうことになる。
【0011】
図16に、上記非特許文献1に書かれているGale−Shapleyアルゴリズムを用いた従来のマッチング方法を示すフローチャート図を示す。全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業(すなわち、第1希望)から順番にプロポーズを行なうのが特徴である。
【0012】
図16の説明を行う前に、
図17を用いて簡単に概要を説明する。
図17の例は、4つの病院の集合と、それらの病院に就職を希望する8人の志願者の集合とのマッチング問題を想定している。明石さんから工藤さんまでの全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業から順番にプロポーズを行なう。
【0013】
明石さんは、第1希望が双川病院であるので、先ず、はじめに、明石さんは双川病院にプロポーズする。双川病院では、明石さんが優先度リストの4位にあるので、(明石,双川病院)が仮マッチングされる。
次に、井上さんがプロポーズを行う。井上さんの優先度リストにおいては、第1希望が双川病院であるので、井上さんは双川病院にプロポーズする。双川病院では、井上さんが優先度リストの5位にあり、かつ、双川病院の定員は2名でまだ1名分空いているので、(井上,双川病院)が仮マッチングされる。
次に、上野さんがプロポーズを行う。上野さんの優先度リストにおいては、第1希望が双川病院であるので、上野さんは双川病院にプロポーズする。双川病院では、上野さんが優先度リストの6位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第2希望の病院にプロポーズを行う。第2希望の一山病院では、上野さんは1位であるので、(上野,一山病院)が仮マッチングされる。
【0014】
次に、江口さんは、第1希望の一山病院にプロポーズするが、一山病院の優先度リストに江口さんの名前はないため、拒絶され、第2希望の双川病院にプロポーズするが、双川病院の優先度リストの7位で、かつ、定員に空きがないため、拒絶され、第3希望の美村病院にプロポーズすると、6位に名前があるため、(江口,美村病院)が仮マッチングされる。
次に、大川さんは、第1希望の双川病院にプロポーズする。双川病院の優先度リストで、大川さんは3位である。定員は2名であり、すでに2名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける4位の明石さんと5位の井上さんである。このため、最も順位の大きい井上さんが除外され、(大川,双川病院)が仮マッチングされる。
除外された井上さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直す。当該病院は一山病院である。しかしながら、一山病院の優先度リストに井上さんの名前はないため、拒絶される。井上さんの優先度リストには第2希望までしか登録されていないため、井上さんは、すべての病院から拒絶されたことになる。
【0015】
次に、川口さんの処理を行う。川口さんの優先度リストにおいては、第1希望が双川病院であるので、川口さんは双川病院にプロポーズする。双川病院では、川口さんは優先度リストの8位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第2希望の病院にプロポーズを行う。第2希望の美村病院の優先度リストでは、川口さんの名前はないので、拒絶される。第3希望の一山病院でも同様に拒絶され、第4希望の四谷病院で、優先度リストの6位に名前があるので、(川口,四谷病院)が仮マッチングされる。
次に、木村さんは、第1希望の双川病院にプロポーズする。双川病院の優先度リストで、木村さんは1位である。定員は2名であり、すでに2名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける4位の明石さんと3位の大川さんである。このため、最も順位の大きい明石さんが除外され、(木村,双川病院)が仮マッチングされる。
【0016】
除外された明石さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直すが、明石さんの優先度リストには第1希望の双川病院しか登録されていないため、明石さんは、すべての病院から拒絶されたことになる。
次に、工藤さんは、第1希望の四谷病院にプロポーズする。四谷病院の優先度リストで、工藤さんは5位である。定員は2名であり、すでに1名が仮マッチングされているが、空きが1名分ある。そのため、(工藤,四谷病院)が仮マッチングされる。
【0017】
ここで、すべての志願者が、いずれかの病院と仮マッチングされるか、または、自分の優先度リストに記載した病院すべてから拒絶されたので、処理は終了する。
マッチングの結果は、(大川,双川病院)、(木村,双川病院)、(上野,一山病院)、(江口,美村病院)、(川口,四谷病院)、(工藤,四谷病院)となり、明石さんと井上さんは自分の優先度リストに記載したすべての病院から拒絶されたことになった。
【0018】
上記の
図16のフローチャートを用いて、
図17を例にして行ったこの処理について説明する。ステップ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の次に自分の優先度リストでの順位が小さい企業に対してプロポーズをやり直すことになる。
図16の処理が終了するのは、ステップS101において、すべての志願者が、いずれかの企業と仮マッチングされるか、または、自分の優先度リストに記載された企業すべてから拒絶されたときである。
図16の処理が終了した段階で最終的に得られた仮マッチングをマッチング結果とする。なお、Gale−Shapleyアルゴリズムにより得られるマッチングは安定であることが非特許文献1に記載されている。
以上のように、従来のマッチングシステムにおいては、志願者と企業のように1対1になる組み合わせを、安定したマッチング結果が得られると定評の高いGale−Shapleyアルゴリズムにより求めている。
【0019】
このようなアルゴリズムを応用したマッチングシステムの例は、特許文献1に記載されている。特許文献1のシステムは、一つの企業グループと、それに含まれる複数の企業とのそれぞれに対して定員が規定されており、各企業が独立したマッチング枠を持っている。
【発明の概要】
【発明が解決しようとする課題】
【0022】
しかしながら、従来のマッチングシステムでは、応募者または募集者が、ROLにおける順位以外に希望する条件パターンを複数持っており、各条件パターンについてマッチ可能な組が異なる場合に対応できないという問題があった。
【0023】
たとえば、ある応募者が、5日間連続して同じ勤務先で勤務することを最優先で希望し、もし5日間連続して勤務できる勤務先がない場合にのみ、日毎に異なる勤務先での勤務を希望するという、2通りの条件パターンを持っているとする。この場合、5日間連続して勤務するという条件パターンでは、この応募者とマッチ可能な募集者は限られるが、日毎に異なる勤務先での勤務を希望するという条件パターン(この場合には日毎にマッチングが行われることになる)では、この応募者とマッチ可能な募集者の数は日毎に異なり、より多くなる可能性がある。従来のマッチングシステムでは、同一の応募者について複数の複数の条件パターンを扱うことができないので、このような場合のマッチング処理には対応できない。
【0024】
この発明は、このような問題を解決するためになされたものであり、応募者または募集者が、ROLにおける順位以外に希望する条件パターンを複数持っており、各条件パターンについてマッチ可能な組が異なる場合にも対応できる、マッチングシステムを提供することを目的とする。
【課題を解決するための手段】
【0025】
上述の問題を解決するため、この発明に係るマッチングシステムは、
集合Aに含まれる複数のA要素のそれぞれと、集合Bに含まれる複数のB要素のそれぞれとの間でマッチングを行うマッチングシステムにおいて、
前記マッチングシステムは、
‐前記A要素のそれぞれについて定義され、前記B要素の全部または一部を一意に順位付けるA優先度リストと、
‐前記B要素のそれぞれについて定義され、前記A要素の全部または一部を一意に順位付けるB優先度リストと、
‐前記A要素のそれぞれについて定義され、期間として週または日を指定するA期間リストと、
‐前記B要素のそれぞれについて定義され、期間として週または日を指定するB期間リストと、
‐期間に関する複数の時間単位と、
を記憶する機能と、
前記A優先度リスト、前記B優先度リスト、前記A期間リストおよび前記B期間リストに基づき、前記A要素と前記B要素との組のそれぞれについて、
第1の時間単位によって区切られる第1の期間ごとに、当該A要素に係る期間のすべてと、当該B要素に係る期間のすべてとが一致する場合にのみ、マッチングする機能と、
前記A優先度リスト、前記B優先度リスト、前記A期間リストおよび前記B期間リストに基づき、前記A要素と前記B要素との組のそれぞれについて、前記第1の時間単位とは異なる第2の時間単位によって区切られる第2の期間ごとに、当該A要素に係る期間のすべてと、当該B要素に係る期間のすべてとが一致する場合にのみ、マッチさせる機能と、 を備える。
【0026】
前記第2の期間ごとにマッチング
させる前記機能は、前記第2の期間のそれぞれについて、前記第1の期間ごとにマッチ
させる前記機能によってはいずれのA要素ともマッチしなかったB要素についてのみ実行されてもよい。
前記マッチングシステムは、さらに、
‐前記A要素のそれぞれについて定義され、1つ以上の時間単位を指定可能である、A時間単位リストと、
‐前記B要素のそれぞれについて定義され、1つ以上の時間単位を指定可能である、B時間単位リストと、
を記憶する機能を備え、
前記第2の期間ごとにマッチ
させる前記機能は、前記A期間リストに前記第2の時間単位が指定されているA要素と、前記B期間リストに前記第2の時間単位が指定されているB要素との組に対してのみ実行されてもよい。
前記マッチングシステムは、さらに、
前記A優先度リスト、前記B優先度リスト、前記A期間リストおよび前記B期間リストに基づき、
前記A要素と前記B要素との組のそれぞれについて、前記第1の時間単位および第2の時間単位とは異なる第3の時間単位によって区切られる第3の期間ごとに
、当該A要素に係る期間のすべてと、当該B要素に係る期間のすべてとが一致する場合にのみ、マッチ
させる機能と、
前記第2の期間ごとにマッチ
させる前記機能と、前記第3の期間ごとにマッチ
させる前記機能のいずれを先に実行するかを、前記A期間リストまたは前記B期間リストに基づいて決定する機能と
を備えてもよい。
【0027】
また、この発明に係るマッチングシステムは、
集合Aに含まれる複数のA要素のそれぞれと、集合Bに含まれる複数のB要素のそれぞれとの間でマッチングを行うマッチングシステムにおいて、
前記マッチングシステムは、
‐前記A要素のそれぞれについて定義され、前記B要素の全部または一部を一意に順位付けるA優先度リストと、
‐前記B要素のそれぞれについて定義され、前記A要素の全部または一部を一意に順位付けるB優先度リストと、
‐前記A要素のそれぞれについて定義され、第1の項目について範囲を指定するA範囲リストと、
‐前記B要素のそれぞれについて定義され、前記第1の項目について、第1の範囲および第2の範囲を指定するB範囲リストと、
を記憶する機能と、
前記第1の範囲に基づいてマッチングする機能と、
前記第2の範囲に基づいてマッチングする機能と
を備え、
前記第1の範囲に基づいてマッチングする機能は、前記A優先度リスト、前記B優先度リスト、前記A範囲リストおよび前記B範囲リストに基づき、前記A要素と前記B要素との組のそれぞれについて、当該A要素に係る範囲と、当該B要素に係る第1の範囲とが少なくとも一部重複する場合にのみ実行され、
前記第2の範囲に基づいてマッチングする機能は、前記A優先度リスト、前記B優先度リスト、前記A範囲リストおよび前記B範囲リストに基づき、前記A要素と、前記B要素のうち前記第1の範囲に基づいてマッチングする前記機能によってはいずれのA要素ともマッチしなかったB要素との組のそれぞれについて、当該A要素に係る範囲と、当該B要素に係る第2の範囲とが少なくとも一部重複する場合にのみ実行され。
【0028】
また、この発明に係るコンピュータプログラムは、コンピュータを、上述のマッチングシステムとして機能させる。
【発明の効果】
【0029】
この発明によれば、マッチングシステムは、複数の範囲リストに基づいてマッチング処理を実行するので、応募者または募集者が、ROLにおける順位以外に希望する条件パターンを複数持っており、各条件パターンについてマッチ可能な組が異なる場合にも、マッチング処理を行うことができる。
【発明を実施するための形態】
【0031】
実施の形態1.
実施の形態1では、マッチング処理の対象の例として、ボランティア作業員を募集する募集者と、ボランティア作業を希望する応募者とを扱う。募集者のそれぞれをA要素とし、応募者のそれぞれをB要素とすると、募集者の集合は複数のA要素を含む集合(集合Aとする)であるということができ、応募者の集合は複数のB要素を含む集合(集合Bとする)であるということができる。また、本実施形態のマッチングシステムは、集合Aに含まれる複数のA要素のそれぞれと、集合Bに含まれる複数のB要素のそれぞれとの間でマッチングを行うものであるということができる。なお、一般的には、A要素とB要素とのマッチングは、1対1の関係に限らず、1対多または多対1のマッチングも可能である。
【0032】
募集者の単位は、組織や団体等に限らず、個人であってもよい。また、同一の募集者であっても、募集する仕事(職種)や作業地域ごとに異なる募集者として扱ってもよい。たとえば、ある事業者が、会場内誘導作業および会場外誘導作業について作業員を募集する場合には、作業ごとに異なる募集者として定義されてもよい。また、同一の職種や地域であっても、募集条件が異なる場合には募集条件ごとに別の募集者として扱ってもよい。
【0033】
募集者のうち少なくとも1つは、複数のボランティア作業員を募集可能である。すなわち、募集者のうち少なくとも1つは、複数の応募者とマッチ可能であるものとする。募集する作業員の数には、募集者ごとに上限を設けてもよい。また、マッチング処理が異なる時間帯について独立に実行される場合には、時間帯ごとに異なる応募者とマッチされてもよい。たとえば、ある募集者が2人の作業員を募集している場合において、月曜日の作業員2人と、火曜日の作業員2人とはまったく異なる人物であってもよい。
【0034】
一方、本実施形態では、1人の応募者が複数の募集者とマッチすることはないものとする。すなわち、応募者はそれぞれ、1つの募集者とのみマッチされるか、あるいはいずれの募集者ともマッチされない。ただし、マッチング処理が異なる時間帯について独立に実行される場合には、時間帯ごとに異なる募集者とマッチされてもよい。たとえば、ある応募者が、月曜日についてある募集者とマッチし、火曜日については別の募集者とマッチするという結果も可能である。
【0035】
図1は、この発明の実施の形態1に係るマッチングシステムの全体の構成を示した図である。
図1に示すように、実施の形態1に係るマッチングシステムは、応募者と募集者との組合せを決定するマッチング処理を行うためのマッチングサーバ100と、マッチングサーバ100の管理およびメンテナンス等を行うマッチング管理者端末400と、応募者が操作して情報を入力するための応募者端末200と、募集者が操作して情報を入力するための募集者端末300とから構成されている。なお、マッチングサーバ100、応募者端末200、募集者端末300、マッチング管理者端末400は、インターネット等の通信網500により接続されている。
【0036】
図2は、
図1に示したマッチングサーバ100の内部構成を示した図である。マッチングサーバ100は周知の構成を有するコンピュータによって構成される。たとえば、マッチングサーバ100は、演算を行う演算手段と、情報を格納する記憶手段と、情報の入力を受け付ける入力手段と、情報を出力する出力手段とを備え、これらが協働して
図2の構成を実現する。
【0037】
図2に示すように、マッチングサーバ100の演算手段は、単独で、または他のハードウェアと共に、通信手段10、希望登録手段11、ROL生成手段12およびマッチング手段13を構成する。また、マッチングサーバ100の記憶手段は、応募者情報ファイル20、応募条件ファイル21、募集者情報ファイル22、募集条件ファイル23、マッチ条件ファイル24、アイテムマスタファイル25、登録用バリュウマスタファイル26、募集者ROLファイル27、応募者ROLファイル28、検索用バリュウマスタファイル29、バリュウ対応表30およびマッチ結果格納ファイル31を格納する。
【0038】
また、とくに図示しないが、マッチングサーバ100の記憶手段にはマッチングサーバ100の動作を規定するプログラムが格納されている。マッチングサーバ100は、このプログラムを実行することにより、本明細書に記載される機能を実現する。すなわち、このプログラムは、コンピュータをマッチングサーバ100として機能させる。
【0039】
応募者端末200、募集者端末300、およびマッチング管理者端末400も、周知の構成を有するコンピュータによって構成され、演算手段と、記憶手段と、入力手段(通信手段を含む)と、出力手段(表示手段および通信手段を含む)とを備える。
【0040】
また、応募者端末200、募集者端末300およびマッチング管理者端末400の記憶手段には、各コンピュータの動作を規定するプログラムが格納されている。各コンピュータは、これらのプログラムを実行することにより、本明細書に記載される機能を実現する。すなわち、これらのプログラムは、コンピュータを、応募者端末200、募集者端末300およびマッチング管理者端末400として機能させる。
なお応募者端末200、募集者端末300およびマッチング管理者端末400で実行されるプログラムをマッチングサーバ100に記憶し、マッチング処理はマッチングサーバ100で一元的に実行するように構成してもよい。この場合、応募者端末200、募集者端末300およびマッチング管理者端末400は、応募者、募集者、管理者との入出力インタフェース機能を有することになる。
【0041】
図3に、応募者情報ファイル20の構成を示す。応募者情報ファイル20は、各応募者について、応募者を一意に特定する応募者IDと、その応募者に関する情報を表す項目とを関連付ける。項目の例は、たとえば、氏名、住所(現住所)、最寄駅、電話番号、年齢、性別、職業(職業の有無および職業名)、現職業、職歴、経歴、趣味、特技、資格、等である。各項目はたとえば一意の項目番号によって特定される。
【0042】
図4に、応募条件ファイル21の構成を示す。応募条件ファイル21は、各応募者について、応募者IDと、その応募者とのマッチング処理の対象となる募集者をフィルタリングするための条件を表す項目を関連付ける。項目の例は、希望しない職種(職種名で表されてもよく、番号や識別子等で表されてもよい。他の項目についても同様である)、希望日および時間、通勤時間上限、勤務地(地域名で表されてもよく、駅等特定の地点と、その地点からの徒歩時間との組み合わせで表されてもよく、番号や識別子等で表されてもよい)、等である。各項目はたとえば一意の項目番号によって特定される。
【0043】
たとえば、ある応募者が希望しない職種に「会場内誘導」を指定した場合には、その応募者は、会場内誘導に関する募集者とはマッチしない(その募集者がその応募者のROLに含まれないようにしてもよいし、ROLに含まれている場合であってもマッチングサーバ100が無視するよう構成してもよい)。
【0044】
また、応募条件ファイル21は、各項目について優先度を関連付ける。優先度は、その応募者が、各項目のうちどの項目のどの値を重視してマッチングを希望するかを表すものである。たとえば、ある応募者が、「通勤時間上限」に「30分」および「60分」という2種類の値を指定した場合には、その応募者のROLには通勤時間が60分以内である募集者が含まれることになるが、その中でも、通勤時間が30分以内である募集者の順位は、通勤時間が30分を超える募集者の順位よりも高くなる。なお、通勤時間の算出方法は、たとえば応募者の最寄駅および募集者の勤務地に基づいて算出可能である。
【0045】
また、希望日および時間は、マッチングサーバ100がマッチング処理を行う対象となる時間の最小単位で表現可能である。たとえば、時間の最小単位が「8時〜12時の4時間」「12時〜16時の4時間」「16時〜20時の4時間」である場合には、各日についてこれらの時間帯の組み合わせで表現される。すなわち、この場合には、これらの時間単位で表現できない時間帯(たとえば12時〜14時の2時間や、14時〜18時の4時間等)は希望日および時間として指定できないことになる。
【0046】
このように、応募条件ファイル21は、応募者のそれぞれについて定義され、期間を指定する期間リスト(B期間リスト)を含むものということができる。なお、具体的な表現形式は任意のものが可能である。たとえば日付のみが指定されている場合には、その日の8時〜20時の12時間がすべて指定されているものと解釈するようにしてもよい。また、月のみが指定されている場合には、その月のすべての日の8時〜20時の12時間がすべて指定されているものと解釈するようにしてもよい。複数の日に渡る期間と曜日との組み合わせが指定されている場合には、その期間中のその曜日に該当するすべての日の8時〜20時の12時間がすべて指定されているものと解釈するようにしてもよい。また、希望しない日や希望しない時間帯を別途指定可能とし、希望しないものとして指定された日や時間帯は、「希望日および時間」に指定された範囲から除外するようにしてもよい。
【0047】
また、応募条件ファイル21は、各応募者について、応募者IDと、その応募者が許容する緩和条件を関連付ける。許容する緩和条件とは、たとえば時間単位に関するものである。時間単位に関する緩和条件とは、たとえば、その応募者が参加を希望するすべての希望日および時間について同一の募集者とマッチすることのみを希望する(すなわち時間単位について緩和することを許容しない)か、日毎に異なる募集者とマッチすることを許容する(すなわち日単位への緩和を許容する)か、時間帯毎に異なる募集者とマッチすることを許容する(すなわち4時間単位への緩和を許容する)か、等をいう。
【0048】
このように、応募条件ファイル21は、応募者のそれぞれについて定義され、項目番号1102に一例を示すB期間リストを含むものである。
【0049】
図5に、応募条件ファイル21の具体例を示す。この例では、応募者ID「W001」で表される応募者は、項目番号1101(希望職種を表す項目)について「会場内誘導」および「会場外誘導」を指定しているが、これらのうち「会場内誘導」のほうが優先される(たとえば、応募者ID「W001」のROLにおいて、会場内誘導に対応する募集者の順位は、会場外誘導に対応する募集者の順位よりも高くなる)。
【0050】
また、この例では、応募者ID「W002」で表される応募者は、項目番号1110(許容する緩和条件を表す項目)についていかなる値も指定しておらず、一方、応募者ID「W003」で表される応募者は、項目番号1110について「C001−1」および「C001−2」という2種類の値をしている。これは、応募者W002は応募期間内のすべての日および時間帯について連続してマッチできる募集者のみを希望しているが、応募者W003は、応募期間内のすべての日についてマッチできる募集者のみならず、場合によってはより細かい時間単位(日単位や時間単位等)で異なる募集者とマッチすることも許容する、ということを示す。項目番号1110がB時間単位リストの一例であり、B時間単位リストとは、後述するマッチ条件ファイル24に記憶されている緩和条件のいずれかを値に持つものである。
【0051】
このような緩和条件は、たとえばマッチ条件ファイル24に定義される。
図6に、マッチ条件ファイル24の具体例を示す。マッチ条件ファイル24は、各緩和条件について、条件番号と、マッチング処理における時間単位と、適用順とを関連付ける。このように、マッチングサーバ100は、期間に関する複数の時間単位をマッチ条件ファイル24に記憶する機能を備える。
【0052】
図6の例では、条件番号C001−0は、全期間(第1の時間単位)に対応し、時間単位について緩和しないという条件を示す。すなわち、この条件を用いてマッチング処理が行われる場合には、マッチング処理は募集の全期間についてのみ実行されることになり、応募者の「希望日および時間」と、募集者の「募集日および時間」とが、すべての日のすべての時間帯について一致する応募者と募集者との間でのみ、マッチング処理が行われる。
【0053】
また、条件番号C001−1は、日単位(第2の時間単位)に対応し、マッチング処理を日単位に緩和するという条件を示す。すなわち、この条件を用いてマッチング処理が行われる場合には、マッチング処理は日毎に実行されることになる。この場合、各日について、その日を希望している応募者が希望する時間帯と、その日に募集している募集者が募集する時間帯とが、すべての時間帯について一致する応募者と募集者との間でのみ、マッチング処理が行われる。
【0054】
また、条件番号C001−2は、時間帯単位(第3の時間単位)に対応し、マッチング処理を4時間単位に緩和するという条件を示す。すなわち、この条件を用いてマッチング処理が行われる場合には、マッチング処理は時間帯毎に(すなわち各日に含まれる3つの時間帯それぞれについて)実行されることになる。この場合、各日の各時間帯について、その時間帯を希望している応募者と、その時間帯に募集している募集者との間でマッチング処理が行われる。
【0055】
また、条件番号C001−3は、週単位(第4の時間単位)に対応し、マッチング処理を週単位に緩和するという条件を示す。すなわち、この条件を用いてマッチング処理が行われる場合には、マッチング処理は週毎に実行されることになる。この場合、各週について、その週のいずれかの日を希望している応募者が希望する日および時間帯と、その週のいずれかの日に募集している募集者が募集する日および時間帯とが、すべての日および時間帯について一致する応募者と募集者との間でのみ、マッチング処理が行われる。
【0056】
マッチ条件ファイル24には、各緩和条件の適用順を定義してもよい。
図6の例では、緩和条件は、C001−0、C001−1、C001−2、C001−3の順で適用される。すなわち、まず募集期間全体についてマッチング処理が実行され、この処理においてマッチしなかった応募者および募集者が残っている場合には、日単位のマッチング処理が実行され、さらにマッチしなかった応募者および募集者が残っている場合には、時間帯単位のマッチング処理が実行され、さらにマッチしなかった応募者および募集者が残っている場合には、週単位のマッチング処理が実行されることになる。
【0057】
図7に、募集者情報ファイル22の構成を示す。募集者情報ファイル22は、各募集者について、募集者を一意に特定する募集者IDと、その募集者に関する情報を表す項目とを関連付ける。項目の例は、たとえば、募集者氏名、職種、勤務地、募集日および時間(A期間リスト)、募集人数、給与、必要な資格、等である。各項目はたとえば一意の項目番号によって特定される。
【0058】
募集人数は、1つの時間帯においてその募集者とマッチ可能な応募者の最大数を表す。募集人数の指定は、必須としてもよいし、任意としてもよい。募集人数の指定の有無は、マッチング処理の具体的なアルゴリズム(たとえばGale−Shapleyアルゴリズム)によって適宜考慮可能である。
【0059】
図8に、募集者情報ファイル22の具体例を示す。この例では、募集者ID「J001」で表される募集者は、項目番号2005(募集日および時間)について「10月・11月の月曜〜金曜」を指定している。また、項目番号2006(募集人数)について「4」を指定している。これは、募集者J001が、該当する各日について4人の応募者を募集することを示す。
項目番号2005がA期間リストの一例である。
【0060】
図9に、募集条件ファイル23の構成を示す。募集条件ファイル23は、各募集者について、募集者IDと、その募集者とのマッチング処理の対象となる応募者をフィルタリングするための条件を表す項目を関連付ける。項目の例は、職歴、経歴、年齢、不採用の学歴、等である。各項目はたとえば一意の項目番号によって特定される。
【0061】
たとえば、ある募集者が経歴に「管理職」を指定した場合には、その募集者は、管理職の経歴を持たない応募者とはマッチしない。(その応募者がその募集者のROLに含まれないようにしてもよいし、ROLに含まれている場合であってもマッチングサーバ100が無視するよう構成してもよい。管理職の経歴を持つか否かは、たとえば募集者情報ファイル22に基づいて判定可能である)
【0062】
また、募集日および時間は、応募条件ファイル21の希望日および時間と同様に、マッチングサーバ100がマッチング処理を行う対象となる時間の最小単位で表現可能である。
【0063】
このように、募集条件ファイル23は、募集者のそれぞれについて定義され、期間を指定する期間リスト(A期間リスト)を含むものということができる。なお、期間の具体的な表現形式は、応募条件ファイル21と同様に任意のものが可能である。
【0064】
また、募集条件ファイル23は、各募集者について、募集者IDと、その募集者が許容する緩和条件を関連付ける。許容する緩和条件は、応募条件ファイル21と同様に定義可能であり、たとえば時間単位に関するものである。時間単位に関する緩和条件とは、たとえば、すべての募集日および時間について参加可能である応募者とのみマッチすることのみを希望する(すなわち時間単位について緩和することを許容しない)か、日毎に異なる応募者(または日毎に異なる応募者の組)とマッチすることを希望する(すなわち日単位への緩和を許容する)か、時間帯毎に異なる応募者(または時間帯毎に異なる応募者の組)とマッチすることを希望する(すなわち4時間単位への緩和を許容する)か、等をいう。また、募集人数が2以上である場合には、これらの条件が混在してもよい。すなわち、ある募集者に対して、ある応募者が全期間についてマッチし、別の応募者が日単位でマッチし、さらに別の応募者が時間帯単位でマッチしてもよい。
【0065】
このように、募集条件ファイル23は、募集者のそれぞれについて定義され、1つ以上の時間単位を指定可能である期間リスト(A時間単位リスト)を含むものということができる。
【0066】
図10に、募集条件ファイル23の具体例を示す。この例では、募集者ID「J001」で表される募集者は、項目番号2105(許容する緩和条件を表す項目)について「C001−1」すなわち「日単位」のみを指定しており、一方、募集者ID「J003」で表される応募者は、項目番号2105について「C001−1」すなわち「日単位」と、「C001−2」すなわち「4時間単位」という2種類の値をしている。これは、募集者J001は、募集期間内のすべての日について連続してマッチできる応募者か、日単位ですべての時間帯についてマッチできる応募者のみを希望しているが、募集者J003は、募集期間内のすべての日についてマッチできる応募者、日単位で異なる応募者、4時間単位で異なる応募者いずれとマッチすることも許容する、ということを示す。
項目番号2105がA時間単位リストの一例であり、B時間単位リストとは、マッチ条件ファイル24に記憶されている緩和条件のいずれかを値に持つものである。
【0067】
以上のような構成を有するマッチングサーバ100の動作を、以下に説明する。
図11は、マッチングサーバ100がマッチング処理を行う場合の処理の流れを説明するフローチャートである。まずマッチングサーバ100は、マッチ条件ファイル24を記憶する(ステップS1)。すなわち、緩和条件に関する情報を記憶する。マッチ条件ファイル24は、たとえば
図6に示すものであってもよく、または、マッチングサーバ100の管理者が適宜作成または変更するものであってもよい。
【0068】
次に、マッチングサーバ100は、応募者情報ファイル20、応募条件ファイル21、募集者情報ファイル22、および募集条件ファイル23の入力を受け付ける(ステップS2およびS3)。これはたとえば、各応募者が応募者端末200に応募者情報ファイル20および応募条件ファイル21を入力してマッチングサーバ100に送信し、同様に、各募集者が募集者端末300に募集者情報ファイル22および募集条件ファイル23を入力してマッチングサーバ100に送信し、これらをマッチングサーバ100が受信することによって行われる。
【0069】
次に、マッチングサーバ100は、マッチングの終了条件が満たされているか否かを判定する(ステップS4)。マッチングの終了条件は、たとえばマッチ条件ファイル24に定義されるすべての条件について、すでにマッチング処理(後述のステップS8)が実行されていることであるが、任意に終了条件を設定してもよい。たとえば、処理対象となるすべての日のすべての時間帯について、すべての募集者が、それぞれの募集人数と等しい数の応募者とマッチしていることを終了条件としてもよい。
【0070】
終了条件が満たされている場合には、マッチングサーバ100はマッチング処理を終了する。終了条件が満たされていない場合には、マッチ条件の決定または変更を行う(ステップS5)。本実施形態では、マッチ条件ファイル24において適用順が高い順(数字が小さい順)に、マッチ条件を適用する。すなわち、ステップS5の最初の実行では、条件C001−0を適用して全期間についてマッチング処理を行い、ステップS5の2回目の実行では、条件C001−1を適用して日毎のマッチング処理を行う。
【0071】
次に、マッチングサーバ100(とくにROL生成手段12)は、募集者ROLおよび応募者ROLを作成する(ステップS6およびS7)。また、マッチングサーバ100(とくにROL生成手段12)は、募集者ROLファイル27および応募者ROLファイル28に、作成された各ROLを記憶する。募集者ROLは、募集者のそれぞれについて定義され、応募者の全部または一部を一意に順位付ける優先度リスト(A優先度リスト)であり、応募者ROLは、応募者のそれぞれについて定義され、募集者の全部または一部を一意に順位付ける優先度リスト(B優先度リスト)である。
【0072】
募集者ROLおよび応募者ROLは、たとえば、特許文献1に記載される方法を用いて、応募者情報ファイル20、応募条件ファイル21、募集者情報ファイル22、募集条件ファイル23、マッチ条件ファイル24、アイテムマスタファイル25、登録用バリュウマスタファイル26、検索用バリュウマスタファイル29およびバリュウ対応表30に基づき、作成可能である。また、この際に、応募条件ファイル21の優先度を用いてもよい。また優先度リストを作成する前提として、募集者のA期間リストと応募者のB期間リストとが一致する相手先がそれぞれの優先度リストに登録する対象となり、募集者のA期間リストと応募者のB期間リストとが一致しない相手先は優先度リストに登録する対象とはならない。
【0073】
これは、応募者と募集者が指定した、マッチ条件ファイル24に特定される条件で定められる第1の期間(全期間、日単位、4時間単位、週単位等)に含まれる第1の時間単位が完全一致する場合、相手先を優先度リストに登録する対象とするように、条件を緩和していることになる。
【0074】
具体的に説明すると、第1の期間が全期間であり、全期間が2014年10月1日〜2014年1月31日の3か月であったとする。応募者ID W010の希望期間が2014年10月1日〜2014年10月31日の1か月間であり、募集者ID J010の募集期間が2014年10月1日〜2014年10月31日の1か月間であった場合、応募者ID W010と募集者ID J010とは、それぞれの優先度リストに登録する対象となる(他の条件で、優先度リストに登録されない場合もある)。
また応募者ID W011の希望期間が2014年11月1日〜2014年11月8日の1週間であり、募集者ID J011の募集期間が2014年11月1日〜2014年11月8日の1週間であった場合、応募者ID W011と募集者ID J011とは、それぞれの優先度リストに登録する対象となる。
【0075】
また、第1の時間単位が月単位(暦上の1月、2月、などの1ヶ月)であり、応募者ID W011の希望期間が2014年11月20日〜2014年11月31日であり、募集者ID J011の募集期間が2014年11月20日〜2014年12月20日であった場合、応募者ID W011と募集者ID J011とは、11月についてはそれぞれの優先度リストに登録する対象となり、12月についてはそれぞれの優先度リストに登録する対象とならない。
【0076】
このように第1の時間単位は、応募者と募集者の指定期間が完全に一致していれば、期間の長さは任意に定められる変動的な時間単位である。
【0077】
また、各ROLの作成は、特許文献1に記載の方法に限らず、任意の方法を用いてよい。たとえば、ROL生成手段12は、応募者情報ファイル20の「最寄駅」と募集者情報ファイル22の「勤務地」の間の移動時間を算出する機能を備え、この移動時間が短いほど順位が高くなるようにROLを作成することができる。または、その他の項目の内容に基づいてROLを作成してもよい。
【0078】
さらに、マッチングサーバ100は、募集者ROLおよび応募者ROLを作成する機能を備えないものであってもよい。そのような場合でも、各ROLの入力を受け付けて募集者ROLファイル27および応募者ROLファイル28に記憶し、これらに基づいてマッチング処理を実行することができる。各ROLの入力は、たとえば応募者端末200から応募者ROLを受信し、募集者端末300から募集者ROLを受信することによって行われる。
【0079】
また、ステップS6およびS7の2回目以降の実行においては、それぞれのROLを自動生成するのではなく、ROLの一部を削除してもよく、作成されたROLに含まれる要素の一部を削除してもよい。たとえば、日単位のマッチング処理は、日単位でのマッチングを許容する募集者および応募者のみに対して実行される。すなわち、日単位で(第2の期間ごとに)マッチングする機能は、募集条件ファイル23(A期間リストを含む)の項目2105(「許容する緩和条件」)に、日単位(第2の時間単位)が指定されている募集者と、応募条件ファイル21(B期間リストを含む)の項目1110(「許容する緩和条件」)に、日単位(第2の時間単位)が指定されている募集者との組に対してのみ実行される。
【0080】
また、日単位のマッチング処理では、その日を希望していない応募者については応募者ROLを削除して(またはその応募者ROLの作成を省略して)マッチングの対象外としてもよく、その日を希望していない応募者はすべての募集者ROLから削除してもよい。また、それまでのマッチング処理において既にマッチしている相手は、ROLから削除してもよい。
【0081】
次に、マッチングサーバ100(とくにマッチング手段13)は、募集者ROLファイル27、応募者ROLファイル28および募集者情報ファイル22に基づき、マッチング処理を実行する(ステップS8)。マッチング処理は、たとえば非特許文献1に記載の方法により行うことができる。ステップS8におけるマッチング処理は、たとえば、処理中のマッチ条件(たとえば日単位のマッチング)の下で、すべての応募者が、それぞれ希望するすべての時間単位(たとえば日)について、いずれかの募集者とマッチするかすべての募集者から拒絶されるという条件が満たされるまで繰り返し実行される(非特許文献1の方法でもこのようになる)。
あるいはステップS8におけるマッチング処理は、たとえば、処理中のマッチ条件(たとえば日単位のマッチング)の下で、すべての募集者が、それぞれ希望するすべての時間単位(たとえば日)について、いずれかの応募者とマッチするかすべての応募者から拒絶されるという条件が満たされるまで繰り返し実行されるように構成してもよい。
【0082】
全期間についてマッチング処理を行う場合には、募集者と応募者との組のそれぞれについて、当該募集者に係る募集日および時間のすべてと、当該応募者に係る希望日および時間のすべてとが一致する場合にのみ実行される。すなわち、ある募集者とある応募者との間で募集日と希望日が一致しない日が1日でもある場合や、募集日と希望日とが完全に一致していても、募集時間帯と希望時間帯とにずれがある日が1日でもある場合には、その募集者とその応募者との組については、マッチングは行われない。このようにすることにより、全期間を通して同じ募集者に参加したいという応募者の希望と、全期間を通して同じ応募者に参加してほしいという募集者の希望とを、よりよく実現することができる。
【0083】
その後、マッチングサーバ100は処理をステップS4に戻す。すなわち、マッチング処理によりマッチングの終了条件が満たされたか否かを判定し、満たされていなければマッチ条件を変更してマッチング処理を繰り返す。
【0084】
なお、ステップS6およびS7は、それぞれ1回だけ実行されるよう構成してもよい。この場合には、同じROLを複数回のマッチング処理について用いることになる。この場合には、ROLに含まれる要素の一部(既にマッチしている相手等)を無視してマッチング処理が行われることになる。
【0085】
このように、マッチングサーバ100は、募集者ROL、応募者ROL、募集者について期間(募集日および時間)を指定する期間リスト、および、応募者について期間(希望日および時間)を指定する期間リストに基づき、募集者のいずれかと、応募者のいずれかとを、全期間についてマッチングする機能(1回目のステップS8)を備えるということができる。
【0086】
また、マッチングサーバ100は、募集者ROL、応募者ROL、募集者について期間(募集日および時間)を指定する期間リスト、および、応募者について期間(希望日および時間)を指定する期間リストに基づき、募集者のいずれかと、応募者のいずれかとを、期間全体とは異なる時間単位(たとえば日単位)ごとにマッチングする機能(たとえば2回目のステップS8)を備えるということができる。
【0087】
したがって、マッチングサーバ100は、応募者または募集者が、ROLにおける順位以外に希望する条件パターン(たとえば期間全体のマッチを希望するか、または日単位でのマッチも許容するか、等)を複数持っており、各条件パターンについてマッチ可能な組が異なる場合にも対応することができる。
【0088】
また、日単位でマッチングする機能は、各日について、全期間についてのマッチング処理によってはいずれの募集者ともマッチしなかった応募者についてのみ実行される。同様に、時間帯単位でマッチングする機能は、各時間帯について、全期間についてのマッチング処理によっても日単位のマッチング処理によってもいずれの募集者ともマッチしなかった応募者についてのみ実行される。
【0089】
なお、変形例として、既にマッチした応募者についても、別の時間単位でのマッチング処理を行ってもよい。たとえば、すべての募集者およびすべての応募者について、全期間についてのマッチング処理、日単位のマッチング処理、時間帯単位のマッチング処理および週単位のマッチング処理を行い、最適な結果を何らかの基準に基づいて選択する(または管理者の入力に基づいて選択する)ようにしてもよい。
【0090】
実施の形態1では、マッチ条件ファイル24における適用順は固定されているが、これは適宜変更可能であってもよく、マッチングサーバ100が自動的に決定または変更するようにしてもよい。たとえば、マッチングサーバ100は、応募条件ファイル21および募集条件ファイル23に基づいて各緩和条件に適用順を決定してもよい。具体例として、各緩和条件を許容する募集者および応募者の数を算出し、この数が多い順に当該緩和条件の適用順が高くなるよう(先に適用されるよう)決定してもよい。このようにすると、当事者の希望に合わせた時間単位でマッチング処理を行うことができる。
【0091】
たとえば、緩和しないという条件(C001−0、全期間)を必ず最初に適用し、次に適用される緩和条件を自動的に決定してもよい。言い換えると、マッチングサーバ100は、第1の時間単位(たとえば全期間)についてマッチングする機能と、第2の期間ごと(たとえば日単位)にマッチングする機能と、第3の期間ごと(たとえば時間帯単位)にマッチングする機能とを備え、さらに、第2の期間ごとにマッチングする機能と第3の期間ごとにマッチングする機能のいずれを先に実行するかを、応募条件ファイル21または募集条件ファイル23に基づいて決定するものであってもよい。
【0092】
このように、実施の形態1によれば、マッチングシステムは、募集者ROL(A優先度リスト)と、応募者ROL(B優先度リスト)と、応募者それぞれが指定した応募したい期間(B期間リスト)と、募集者それぞれが指定した募集したい期間(A期間リスト)とを記憶し、A優先度リスト、B優先度リスト、A期間リストおよびB期間リストに基づき、A要素とB要素との組のそれぞれについて、A要素に係る期間のすべてと、B要素に係る期間のすべてとが一致する場合にのみ、マッチ
させる。
【0093】
一定期間でボランティアのマッチングを行う場合、募集者は、作業に応じて一定期間内の特定の期間にボランティア作業員を募集する。また応募者は、仕事や家庭の事情により一定期間内の対応可能な特定の期間に応募する。このように、応募者側、募集者側も一定期間内の特定の期間を指定する場合、A期間リストとB期間リストの一致を考慮した上で、マッチング処理を行わないと、作業できる応募者を作業できる期間にマッチングしたことにならない。このような課題を解決するために、実施の形態1では、A要素とB要素との組のそれぞれについて、A要素に係る期間のすべてと、B要素に係る期間のすべてとが一致する場合にのみマッチ
させる。それにより、募集者、応募者とも特定の期間を指定することができ、比較的長期間のボランティア募集のようなマッチング処理に適用することができる。
【0094】
また従来のマッチングシステムでは、応募者の就労を希望する期間と募集者が募集する期間が異なり、応募者が異なる期間において複数の募集者とマッチ可能な場合に対応できないという問題があった。つまり応募者の希望する期間と募集者が募集する期間が一致していないと、マッチ処理が行われないため、応募者の希望する期間を複数の募集者を割り振ることで、充足率を向上させるという発想はなかった。
【0095】
実施の形態1ではマッチ処理を行う時間単位(第1の時間単位、第2の時間単位)を記憶し、時間単位に区切った期間毎にA要素とB要素との組のそれぞれについて、時間単位によって区切られたA要素に係る期間と、時間単位によって区切られたB要素に係る期間とが一致する場合にのみ、マッチ
させる。それにより、応募者の就労希望期間と募集者の募集期間が異なり、応募者が複数の募集者とマッチ可能な場合にも対応可能となる。逆に、募集者が複数の応募者とマッチ可能な場合にも対応可能となる。
【0096】
実施の形態2.
実施の形態2は、実施の形態1において、時間単位以外の条件についても緩和しながらマッチング処理を進めるようにしたものである。以下、実施の形態1との相違点について説明する。なお、実施の形態2では、緩和される項目(期間以外の第1の項目)の例として給与(
図7の項目2007)を用いて説明する。給与が支給される場合には、募集される作業員はボランティア作業員ではなく賃金労働者であってもよい。
【0097】
図12および
図13は、それぞれ、実施の形態2に係る応募条件ファイル21aおよび募集条件ファイル23aの構成の例を示す。応募条件ファイル21aおよび募集条件ファイル23aでは、給与(第1の項目)について、複数の範囲が指定可能である。たとえば、応募者は、給与第1希望範囲(第1の範囲)を2000円以上、給与第2希望範囲(第2の範囲)を1500円以上、給与第3希望範囲(第3の範囲)を1000円以上、というように指定可能である。同様に、募集者は、給与第1希望範囲を1000円以下、給与第2希望範囲を1500円以下、給与第3希望範囲を2000円以下、というように指定可能である。
【0098】
マッチング処理は、実施の形態1における時間単位ごとの処理ループにおいて、さらに各給与希望範囲についてループして実行される。たとえば、以下の順で処理が進む。
(1)全期間について、すべての募集者および応募者について給与第1希望範囲に基づいて実行される。
(2)全期間について、すべての募集者および応募者について給与第2希望範囲に基づいて実行される。
(3)全期間について、すべての募集者および応募者について給与第3希望範囲に基づいて実行される。
(4)日単位で、各日について、すべての募集者および応募者について給与第1希望範囲に基づいて実行される。
(5)日単位で、各日について、すべての募集者および応募者について給与第2希望範囲に基づいて実行される。
(6)日単位で、各日について、すべての募集者および応募者について給与第3希望範囲に基づいて実行される。
以下、他の時間単位についても同様である。
【0099】
ただし、時間単位と給与希望範囲との組み合わせの処理順序は上述のものに限らず、任意に設計可能である。また、すべての時間単位と給与希望範囲との組み合わせについてマッチング処理を行う必要はない。たとえば時間単位のうち少なくとも1つについて、給与希望範囲それぞれに対するマッチング処理が実行されてもよく、給与希望範囲のうち少なくとも1つについて、時間単位それぞれに対するマッチング処理が実行されてもよい。
【0100】
マッチング処理は、給与の希望範囲が互いに重複する場合のみ実行される。たとえば、給与第1希望範囲に基づいてマッチング処理をする場合には、募集者と応募者との組のそれぞれについて、当該募集者の給与第1希望範囲と、当該応募者の給与第1希望範囲とが少なくとも一部重複する場合にのみ実行される。例として、ある募集者の給与第1希望範囲が「1500円以下」である場合には、この募集者は、給与第1希望範囲が「1000円以上」である応募者とマッチする可能性はあるが、給与第1希望範囲が「2000円以上」である応募者とはマッチしない。
【0101】
また、本実施形態では、すでにマッチした組は後続のマッチング処理対象から除外される。すなわち、給与第2希望範囲に基づいてマッチング処理をする場合には、募集者と、応募者のうち給与第1希望範囲に基づくマッチング処理によってはいずれの募集者ともマッチしなかった者との組のそれぞれについて、当該募集者の給与2希望範囲と、当該応募者の給与第2希望範囲とが少なくとも一部重複する場合にのみ実行される。
【0102】
なお、各応募者および各募集者は、少なくとも給与第1希望範囲のみを指定すればよい。すなわち、給与第1希望範囲のみを指定し、給与第2希望範囲および給与第3希望範囲を指定せず空欄(未定義、ゼロ等)にしておくことにより、給与第2希望範囲および給与第3希望範囲への緩和を許容しないことを表してもよい。
【0103】
このように、実施の形態2によれば、マッチングシステムは、複数の範囲リストに基づいてマッチング処理を実行するので、応募者または募集者が、ROLにおける順位以外に希望する条件パターンを複数持っており、各条件パターンについてマッチ可能な組が異なる場合にも、マッチング処理を行うことができる。
なお、本実施形態は給与で示したが、通勤距離、通勤時間などで実施してもよい。
【0104】
変形例として、既にマッチした応募者についても、別の給与希望範囲でのマッチング処理を行ってもよい。たとえば、すべての募集者およびすべての応募者について、給与第1希望範囲に基づくマッチング処理、給与第2希望範囲に基づくマッチング処理および給与第3希望範囲に基づくマッチング処理を行い、最適な結果を何らかの基準に基づいて選択する(または管理者の入力に基づいて選択する)ようにしてもよい。
【0105】
また、変形例として、募集者側では単一の給与希望範囲のみ指定可能としてもよい。この場合には、募集者は常に給与第1希望範囲に基づいてマッチング処理されることになる。
【0106】
実施の形態2では、緩和される項目(第1の項目)は給与であり、これは期間以外の項目であるが、変形例として、期間を第1の項目としてもよい。すなわち、実施の形態1と同様に、時間単位のみについて緩和するよう構成してもよい。この場合には、ある募集者の募集期間のすべてと、ある応募者の応募期間のすべてとが一致する場合にのみ、その募集者とその応募者との組についてマッチングを行ってもよい。