Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4728407B2 - Matching system - Google Patents
[go: Go Back, main page]

JP4728407B2 - Matching system - Google Patents

Matching system Download PDF

Info

Publication number
JP4728407B2
JP4728407B2 JP2009007632A JP2009007632A JP4728407B2 JP 4728407 B2 JP4728407 B2 JP 4728407B2 JP 2009007632 A JP2009007632 A JP 2009007632A JP 2009007632 A JP2009007632 A JP 2009007632A JP 4728407 B2 JP4728407 B2 JP 4728407B2
Authority
JP
Japan
Prior art keywords
capacity
group
matching
file
optimized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009007632A
Other languages
Japanese (ja)
Other versions
JP2010165224A (en
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 JP2009007632A priority Critical patent/JP4728407B2/en
Publication of JP2010165224A publication Critical patent/JP2010165224A/en
Application granted granted Critical
Publication of JP4728407B2 publication Critical patent/JP4728407B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

この発明はマッチングシステムに関し、特に、双方向のそれぞれの希望をもとに組合せを決めるためのマッチングシステムに関する。   The present invention relates to a matching system, and more particularly, to a matching system for determining a combination based on bidirectional desires.

例えば、就職志願者の集合と志願者を受け入れる企業の集合の間のマッチング問題のように、双方向に優先度を持つ集合間のマッチング問題においてマッチングを行うための手法が提案されつつある(例えば、非特許文献1参照。)。   For example, a method for matching in a matching problem between sets having priority in both directions, such as a matching problem between a set of job applicants and a set of companies that accept applicants, is being proposed (for example, Non-patent document 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つの条件を満たすものとする。   Here, it is assumed that each applicant has a priority list in which the companies he / she wants to find employment are ranked according to his / her preference, while each company also has a priority list in which applicants who want to accept are ranked. The priority list ROL (a) of the applicant a is a subset of the set of companies, and is a total ordered set ordered by inequality signs that do not include equal signs by rank. Here, if the applicant a prefers p over p ′, p <p ′ is written (specifically, p is first in priority and p ′ is third in priority) In this case, p (= 1) <p ′ (= 3).) The same applies to the priority list ROL (p) for applicants of company p. Each company also has a recruitment frame (capacity) for accepting applicants. The capacity Q (p) of the company p is an integer of 0 or more. The matching X is a set composed of a pair (a, p) of a candidate and a company, and satisfies the following two conditions.

1. 任意の志願者aに関して、aを含むペア(a,p)はXにおいて1個以下である。
2. 任意の企業pに関して、pを含むペア(a,p)はXにおいて、企業の定員Q(p)個以下である。
1. For any volunteer a, there are no more than one pair (a, p) containing a in X.
2. For an arbitrary company p, a pair (a, p) including p is equal to or less than Q (p) company capacity in X.

マッチングの一例を図17に示す。図17では、志願者の集合{a1,a2,a3,a4,a5,a6,a7}と企業の集合{p1,p2,p3,p4}の間のマッチングとして、{(a1,p1),(a2,p3),(a3,p4),(a5,p3),(a6,p4)}が得られている。このマッチングでは、志願者a4,a7と企業p2にはマッチング相手が存在しない。   An example of matching is shown in FIG. In FIG. 17, as a match between the set of applicants {a1, a2, a3, a4, a5, a6, a7} and the set of companies {p1, p2, p3, p4}, {(a1, p1), ( a2, p3), (a3, p4), (a5, p3), (a6, p4)}. In this matching, applicants a4 and a7 and company p2 have no matching partner.

また、図18に志願者と企業の優先度リストの例を示す。それぞれの優先度リストでは上に記載されているものほど好ましい相手を示す。言い換えれば、下に行くほど順位が大きくなる。図18の例では、志願者は3つの企業に対して、p1<p4<p3という順序をつけている。企業は6人の志願者にa7<a1<a4<a3<a5<a6という順序をつけている。マッチングすることをまったく望まない相手は優先度リストに記載しない。   FIG. 18 shows an example of a priority list of applicants and companies. In each priority list, the more preferable ones are shown in the above list. In other words, the ranking increases as you go down. In the example of FIG. 18, the applicants place an order of p1 <p4 <p3 for the three companies. The company places the order of a7 <a1 <a4 <a3 <a5 <a6 among the six applicants. Opponents who do not want to match at all are not listed in the priority list.

マッチング問題とは、志願者の集合と企業の集合と志願者および企業の優先度リストとが与えられたときに、志願者と企業の間の組合せを求める問題のことを言う。マッチング方法とは、マッチング問題に対する解法、すなわち、志願者と企業の間の組合せを求める方法のことである。従って、マッチングシステムとは、マッチング方法を実行するシステムのことである。   The matching problem refers to a problem of finding a combination between a candidate and a company when a set of applicants, a group of companies, and a priority list of applicants and companies are given. The matching method is a solution to the matching problem, that is, a method for obtaining a combination between a candidate and a company. Therefore, the matching system is a system that executes a matching method.

また、上記のようなマッチングには安定性を定義することができる。マッチングXが安定であるのは、次の2つの条件が共に満たされる場合を言う。   Moreover, stability can be defined for the above matching. The matching X is stable when the following two conditions are both satisfied.

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'が成り立つ。
1. All applicants (businesses) will only match the companies (applications) on their priority list.
2. Of all pairs (a, p) of the applicant and the company, none of them is included in the matching X is a blocking pair. Here, the blocking pair satisfies both of the following three conditions.
2.0. a is described in the priority list of p, and p is described in the priority list of a.
2.1. In X, a does not match any company, or in X, a matches p ′, and p <p ′ holds in the priority list of a.
2.2. The number of applicants matching p in X is less than the capacity Q (p), or there is a candidate a ′ that matches p in X, and a <a ′ in the priority list of p Holds.

マッチング問題においては、安定なマッチングを生成する方法が求められる。不安定なマッチングが得られた場合、自分が優先度リストに記載していない相手、すなわち、自分のまったく望まない相手とマッチングした志願者または企業が存在するか、あるいは、ブロッキングペアが存在する。ブロッキングペアを構成する志願者と企業の両者にとって、得られたマッチングよりブロッキングペアの相手の方が好ましいため、不安定なマッチングは公平でない。つまり、不安定なマッチングを生成する方法ではマッチングに対する信頼性が無くなり、マッチングの対象者がマッチングに参加する意思を損なうことになる。   In the matching problem, a method for generating a stable matching is required. When unstable matching is obtained, there is a candidate or company that matches with a partner that is not listed in the priority list, that is, a partner that is not desired at all, or there is a blocking pair. Unstable matching is not fair because both the candidate and the company making up the blocking pair are more likely to have a blocking pair partner than the obtained matching. In other words, the method for generating unstable matching loses the reliability for matching, and impairs the intention of the matching target person to participate in the matching.

図19に、上記非特許文献1に書かれているGale−Shapleyアルゴリズムを用いた従来のマッチング方法を示すフローチャート図を示す。全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業(すなわち、第1希望)から順番にプロポーズを行なうのが特徴である。   FIG. 19 is a flowchart showing a conventional matching method using the Gale-Shapley algorithm described in Non-Patent Document 1. The feature is that all applicants make proposals in order, starting with the company with the lowest ranking in their priority list (ie, the first choice).

図19の説明を行う前に、図20を用いて簡単に概要を説明する。図20の例は、4つの病院の集合と、それらの病院に就職を希望する8人の志願者の集合とのマッチング問題を想定している。明石さんから工藤さんまでの全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業から順番にプロポーズを行なう。   Before the description of FIG. 19, the outline will be briefly described with reference to FIG. The example in FIG. 20 assumes a matching problem between a set of four hospitals and a set of eight applicants who wish to find employment in those hospitals. All applicants, from Akashi to Kudo, make proposals in order, starting with the company with the lowest ranking in their priority list.

明石さんは、第1希望が双川病院であるので、先ず、はじめに、明石さんは双川病院にプロポーズする。双方病院では、明石さんが優先度リストの4位にあるので、(明石,双川病院)が仮マッチングされる。
次に、井上さんがプロポーズを行う。井上さんの優先度リストにおいては、第1希望が双川病院であるので、井上さんは双川病院にプロポーズする。双川病院では、井上さんが優先度リストの5位にあり、かつ、双川病院の定員は2名でまだ1名分空いているので、(井上,双川病院)が仮マッチングされる。
次に、上野さんがプロポーズを行う。上野さんの優先度リストにおいては、第1希望が双川病院であるので、上野さんは双川病院にプロポーズする。双川病院では、上野さんが優先度リストの6位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第2希望の病院にプロポーズを行う。第2希望の一山病院では、上野さんは1位であるので、(上野,一山病院)が仮マッチングされる。
Mr. Akashi first proposed to Futagawa Hospital. First, Mr. Akashi proposed to Futagawa Hospital. In both hospitals, Akashi is fourth in the priority list, so (Akashi, Futagawa Hospital) is provisionally matched.
Next, Mr. Inoue makes a proposal. In Mr. Inoue's priority list, since the first hope is Futagawa Hospital, Mr. Inoue proposes to Futagawa Hospital. At Futagawa Hospital, Ms. Inoue is fifth in the priority list, and there are two Futagawa Hospitals available for one person, so (Inoue, Futagawa Hospital) is provisionally matched.
Next, Ueno-san makes a proposal. In Mr. Ueno's priority list, the first hope is Futagawa Hospital, so Mr. Ueno proposes to Futagawa Hospital. At Futagawa Hospital, Mr. Ueno is 6th in the priority list, and there is no available space in Futagawa Hospital, so he proposes to the second desired hospital in the priority list. In Uchiyama Hospital, the second choice, Ueno is ranked first, so (Ueno, Ichiyama Hospital) is provisionally matched.

次に、江口さんは、第1希望の一山病院にプロポーズするが、一山病院の優先度リストに江口さんの名前はないため、拒絶され、第2希望の双川病院にプロポーズするが、双川病院の優先度リストの7位で、かつ、定員に空きがないため、拒絶され、第3希望の美村病院にプロポーズすると、6位に名前があるため、(江口,美村病院)が仮マッチングされる。
次に、大川さんは、第1希望の双川病院にプロポーズする。双川病院の優先度リストで、大川さんは3位である。定員は2名であり、すでに2名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける4位の明石さんと5位の井上さんである。このため、最も順位の大きい井上さんが除外され、(大川,双川病院)が仮マッチングされる。
除外された井上さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直す。当該病院は一山病院である。しかしながら、一山病院の優先度リストに井上さんの名前はないため、拒絶される。井上さんの優先度リストには第2希望までしか登録されていないため、井上さんは、すべての病院から拒絶されたことになる。
Next, Mr. Eguchi proposes to Ichiyama Hospital in the first hope, but because Mr. Eguchi is not in the priority list of Ichiyama Hospital, it is rejected and proposed to Futagawa Hospital in the second hope. Because it is 7th in the priority list of Futagawa Hospital and there is no capacity, it will be rejected and proposed to the 3rd hope Mimura Hospital. Are provisionally matched.
Next, Mr. Okawa proposes to the first hope of Futagawa Hospital. Okawa is third in the Futagawa Hospital's priority list. The capacity is two people, and two people have already been provisionally matched. However, provisionally matched are Mr. Akashi 4th in the priority list and Mr. Inoue 5th. For this reason, Mr. Inoue with the highest ranking is excluded, and (Okawa, Futagawa Hospital) is provisionally matched.
Excluded, Inoue-san proposes again to the hospital with the lowest ranking in his priority list after Futagawa Hospital. The hospital is Ilsan Hospital. However, it is rejected because Mr. Inoue's name is not in the priority list of Ilsan Hospital. Mr. Inoue has been rejected by all hospitals because only the second preference is registered in Mr. Inoue's priority list.

次に、川口さんの処理を行う。川口さんの優先度リストにおいては、第1希望が双川病院であるので、川口さんは双川病院にプロポーズする。双川病院では、川口さんは優先度リストの8位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第2希望の病院にプロポーズを行う。第2希望の美村病院の優先度リストでは、川口さんの名前はないので、拒絶される。第3希望の一山病院でも同様に拒絶され、第4希望の四谷病院で、優先度リストの6位に名前があるので、(川口,四谷病院)が仮マッチングされる。
次に、木村さんは、第1希望の双川病院にプロポーズする。双川病院の優先度リストで、木村さんは1位である。定員は2名であり、すでに2名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける4位の明石さんと3位の大川さんである。このため、最も順位の大きい明石さんが除外され、(木村,双川病院)が仮マッチングされる。
Next, Mr. Kawaguchi's processing is performed. In Kawaguchi's priority list, since the first hope is Futagawa Hospital, Mr. Kawaguchi proposes to Futagawa Hospital. At Futagawa Hospital, Mr. Kawaguchi is 8th in the priority list, and because there are no vacancies in Futagawa Hospital, he proposes to the second desired hospital in the priority list. In the priority list of the second choice Mimura Hospital, Kawaguchi-san is not named, so it is rejected. Similarly, at the third hope Ichiyama Hospital, the fourth choice Yotsuya Hospital has the name in the 6th place in the priority list, so (Kawaguchi, Yotsuya Hospital) is provisionally matched.
Next, Kimura proposes to Futagawa Hospital, the first hope. Mr. Kimura is first in the Futagawa Hospital priority list. The capacity is two people, and two people have already been provisionally matched. However, it is temporarily matched that Mr. Akashi 4th in the priority list and Mr. Okawa 3rd. For this reason, Mr. Akashi, who has the highest ranking, is excluded and (Kimura, Futagawa Hospital) is provisionally matched.

除外された明石さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直すが、明石さんの優先度リストには第1希望の双川病院しか登録されていないため、明石さんは、すべての病院から拒絶されたことになる。
次に、工藤さんは、第1希望の四谷病院にプロポーズする。四谷病院の優先度リストで、工藤さんは5位である。定員は2名であり、すでに1名が仮マッチングされているが、空きが1名分ある。そのため、(工藤,四谷病院)が仮マッチングされる。
Excluded, Akashi-san re-proposes to the hospital with the lowest ranking in his priority list next to Futagawa Hospital, but only the first desired Futagawa Hospital is registered in Akashi-san's priority list. As a result, Akashi was rejected by all hospitals.
Next, Mr. Kudo proposes to Yotsuya Hospital, the first hope. In the priority list of Yotsuya Hospital, Kudo is fifth. There are two people, and one person has already been provisionally matched, but there is one room available. Therefore, (Kudo, Yotsuya Hospital) is provisionally matched.

ここで、すべての志願者が、いずれかの病院と仮マッチングされるか、または、自分の優先度リストに記載した病院すべてから拒絶されたので、処理は終了する。
マッチングの結果は、(大川,双川病院)、(木村,双川病院)、(上野,一山病院)、(江口,美村病院)、(川口,四谷病院)、(工藤,四谷病院)となり、明石さんと井上さんは自分の優先度リストに記載したすべての病院から拒絶されたことになった。
Here, since all applicants are provisionally matched with one of the hospitals or rejected from all the hospitals listed in their own priority list, the processing ends.
Matching results are (Okawa, Futagawa Hospital), (Kimura, Futagawa Hospital), (Ueno, Ichiyama Hospital), (Eguchi, Mimura Hospital), (Kawaguchi, Yotsuya Hospital), (Kudo, Yotsuya Hospital) As a result, Akashi and Inoue were rejected by all hospitals listed on their priority list.

上記の図19のフローチャートを用いて、図20を例にして行ったこの処理について説明する。ステップ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の次に自分の優先度リストでの順位が小さい企業に対してプロポーズをやり直すことになる。図19の処理が終了するのは、ステップS101において、すべての志願者が、いずれかの企業と仮マッチングされるか、または、自分の優先度リストに記載された企業すべてから拒絶されたときである。図19の処理が終了した段階で最終的に得られた仮マッチングをマッチング結果とする。なお、Gale−Shapleyアルゴリズムにより得られるマッチングは安定であることが非特許文献1に記載されている。   This processing performed by taking FIG. 20 as an example will be described using the flowchart of FIG. In step S100, provisional matching is made an empty set in advance. In step S101, if there is no unprocessed applicant, the process ends. If there is, the following process is performed for one of the applicants a. In step S102, the index a. Indicates which number of companies in the priority list ROL (a) the applicant a proposes to a. Set i to 1. This indicates that all applicants, in turn, first propose to the company with the lowest ranking in their priority list. In step S103, the number of elements in the priority list ROL (a) is a. If it is smaller than i, the candidate a has finally failed to match any company, and the process returns to step S101. On the other hand, in step S103, the number of elements in the priority list ROL (a) is a. If it is not smaller than i, in step S104, a. Let the i-th company be p. If a is not included in the priority list ROL (p) of p in step S105, a. i to a. The setting is reset to i + 1, and the process returns to step S103. This is because the proposed company p rejects the proposed applicant a unless it is listed in the ROL (p), and the rejected applicant a has a ranking in the company's priority list ROL (a). This is equivalent to re-proposing to the next smaller company. On the other hand, if a is included in the priority list ROL (p) of p in step S105, in step S106, the number of applicants whose p is temporarily matched at that time must be less than the capacity Q (p). For example, the pair (a, p) is added to the provisional matching, and the process returns to step S101. On the other hand, in step S106, if the number of applicants for which p is provisionally matched at that time is not less than the capacity Q (p), in step S107, among the candidates who are provisionally matched with p, The priority list ROL (p) having the highest rank is defined as a1. The ranking in ROL (p) is compared between a1 and the proposal candidate a. If the rank of a is higher, a. i to a. The setting is reset to i + 1, and the process returns to step S103. This corresponds to the company p rejecting a if the rank of a is higher. The rejected applicant a will propose again to the company with the lowest rank in his priority list ROL (a) next to p. After this step S107, the number of applicants temporarily matching with the company p is equal to the capacity Q (p). In step S108, since the rank of a1 is higher than the rank of a, the pair (a, p) is added to the temporary matching, the pair (a1, p) is excluded from the temporary matching, and a is reset to a1. In step S109, a. i to a. The setting is reset to i + 1, and the process returns to step S103. In other words, the candidate (original a1) excluded from the provisional matching proposes again to the company with the lowest rank in his priority list next to p. The process of FIG. 19 ends when all applicants are provisionally matched with any company or rejected from all companies listed in their priority list in step S101. is there. The provisional matching finally obtained at the stage when the processing of FIG. Note that Non-Patent Document 1 describes that matching obtained by the Gale-Shapley algorithm is stable.

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

以上のように、従来のマッチングシステムにおいては、志願者と企業のように1対1になる組み合わせを、安定したマッチング結果が得られると定評の高いGale−Shapleyアルゴリズムにより求めている。
しかしながら、複数企業が1つのグループを構成し、そのグループで定員条件を有している場合、グループの定員条件を考慮した、マッチングを行うことはできなかった。例えば、図20で説明した病院はそれぞれ定員数を有しているが、複数の病院が1つのグループを構成し、そのグループがグループ定員数を持つような場合、上述のマッチングシステムでは、そのグループ定員数をアルゴリズムの中に組み込んで、安定マッチングを行うことができないという問題点があった。具体的には、複数の病院の定員の総和がグループ定員数を上回るとき、複数の病院間の優先順位付けがされていないため、安定マッチングを行うことができなかった。
As described above, in a conventional matching system, a one-to-one combination such as a candidate and a company is obtained by the well-established Gale-Shapley algorithm when a stable matching result is obtained.
However, when a plurality of companies form a group and the group has a capacity requirement, matching cannot be performed in consideration of the group capacity requirement. For example, although the hospitals described in FIG. 20 each have a capacity, when a plurality of hospitals constitute a group and the group has a group capacity, the above matching system uses the group. There was a problem that it was impossible to perform stable matching by incorporating the quorum into the algorithm. Specifically, when the total capacity of multiple hospitals exceeds the group capacity, prioritization between multiple hospitals is not performed, and stable matching cannot be performed.

この発明は、かかる問題点を解決するためになされたものであり、企業の定員数および企業が含まれるグループのグループ定員数を考慮しつつ、最大限安定なマッチングを行う、マッチングシステムを得ることを目的としている。   The present invention has been made to solve such a problem, and obtains a matching system that performs maximum stable matching in consideration of the number of companies and the number of groups in the group including the company. It is an object.

この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素は1以上のグループのいずれかに属しており、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Bの特定のグループを示すグループIDごとに、このグループに属するB要素IDと、グループ定員数とを記憶したグループ定員条件ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記グループ定員条件ファイルに記憶されたグループ定員数を参照し、このグループ定員数に基づき、グループに属するB要素IDの最適化定員数を算出し、算出した最適化定員数をB要素IDと対応付けて、最適化定員情報ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記最適化定員情報ファイルに記憶された最適化定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたマッチングシステムである。   The present invention is a matching system for matching elements of a set A composed of a plurality of elements and a set B composed of a plurality of elements, wherein each element of the set B belongs to one or more groups For each B element ID of each element of the set B, a quorum file storing the quorum acceptable for matching and a group ID indicating a specific group of the set B A group capacity condition file storing element IDs and the number of group members, and the A element ID of each element of the set A are uniquely ranked for all or part of the elements of the set B. The first priority list file storing one priority list and the B element ID of each element of the set B are uniquely assigned to all or part of the elements of the set A. The second priority list file storing the attached second priority list and the group capacity number stored in the group capacity condition file are referred to. Based on this group capacity number, B belonging to the group A capacity processing unit that calculates an optimized capacity of an element ID, associates the calculated optimized capacity with a B element ID, and stores it in an optimized capacity information file; the first priority list file; the second Matching processing means for performing a matching process on the elements of the set A to any element of the set B based on the number of optimized capacity stored in the priority list file and the optimized capacity information file Is a matching system.

上記定員処理手段は、上記マッチング処理手段に上記第1の優先度リストファイル、上記第2の優先度リストファイルおよび上記定数ファイルに記憶された定数に基づく、マッチング処理を指示し、上記マッチング処理手段は、マッチングの結果を仮マッチ結果として記憶手段に記憶し、上記グループ定員条件ファイルのグループIDごとに、グループ定員数がグループ内各B要素の定員数の合計値以上と判定したときは、該当B要素のそれぞれの定員数を最適化定員数としてB要素IDに対応付けて最適化定員情報ファイルに記憶し、一方、グループ定員数がグループ内各B要素の定員数合計値より小さいと判定したときは、上記仮マッチ結果を参照し、各B要素の仮マッチ数とグループ内各B要素の仮マッチ数合計値とを算出し、グループ内B要素の仮マッチ数合計値に対する各B要素の仮マッチ数の割合に、上記グループ定員数を乗じた数に基づいて該当B要素IDの最適化定員数を設定し、この最適化定員数を、B要素IDに対応付けて最適化定員情報ファイルに記憶してもよい。   The capacity processing means instructs the matching processing means to perform matching processing based on constants stored in the first priority list file, the second priority list file, and the constant file, and the matching processing means Stores the matching result as a temporary match result in the storage means, and for each group ID in the group capacity condition file, if it is determined that the group capacity is greater than or equal to the total number of capacity of each B element in the group, The number of each B element is stored in the optimized capacity information file as an optimized capacity in association with the B element ID, while the group capacity is determined to be smaller than the total number of B elements in the group. When referring to the temporary match result, the number of temporary matches for each B element and the total number of temporary matches for each B element in the group are calculated. The optimized number of B element IDs is set based on the ratio of the number of temporary matches of each B element to the total number of temporary matches of the B elements, and the number of the above group capacity. May be stored in the optimized capacity information file in association with the B element ID.

上記定員処理手段は、上記グループ定員条件ファイルのグループIDごとに、グループ定員数がグループ内各B要素の定員数の合計値以上と判定したときは、該当B要素のそれぞれの定員数を最適化定員数としてB要素IDに対応付けて最適化定員情報ファイルに記憶し、一方、グループ定員数がグループ内B要素の定員数合計値より小さいと判定したときは、グループ内B要素の定員数合計値に対する各B要素の定員数の割合に、グループ定員数を乗じた数に基づいて該当B要素IDの最適化定員数を設定し、この最適化定員数を、B要素IDに対応付けて最適化定員情報ファイルに記憶してもよい。   The capacity processing means optimizes the capacity of each B element when the group capacity is determined to be greater than or equal to the total number of B elements in the group for each group ID in the group capacity condition file. When the number of groups is determined to be smaller than the total number of B elements in the group, the total number of B elements in the group is stored. The optimized number of B element IDs is set based on the ratio of the number of each B element to the value multiplied by the group capacity, and this optimized number is optimally associated with the B element ID. You may memorize | store in a chemical capacity information file.

この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素は1以上のグループのいずれかに属しており、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Bの特定のグループを示すグループIDごとに、このグループに属するB要素IDと、グループ定員数とを記憶したグループ定員条件ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記グループ定員条件ファイルに記憶されたグループ定員数を参照し、このグループ定員数に基づき、グループに属するB要素IDの最適化定員数を算出し、算出した最適化定員数をB要素IDと対応付けて、最適化定員情報ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記最適化定員情報ファイルに記憶された最適化定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたマッチングシステムであるので、企業の定員数および企業が含まれるグループのグループ定員数を考慮しつつ、最大限安定なマッチングを行う、マッチングシステムを得ることができる。   The present invention is a matching system for matching elements of a set A composed of a plurality of elements and a set B composed of a plurality of elements, wherein each element of the set B belongs to one or more groups For each B element ID of each element of the set B, a quorum file storing the quorum acceptable for matching and a group ID indicating a specific group of the set B A group capacity condition file storing element IDs and the number of group members, and the A element ID of each element of the set A are uniquely ranked for all or part of the elements of the set B. The first priority list file storing one priority list and the B element ID of each element of the set B are uniquely assigned to all or part of the elements of the set A. The second priority list file storing the attached second priority list and the group capacity number stored in the group capacity condition file are referred to. Based on this group capacity number, B belonging to the group A capacity processing unit that calculates an optimized capacity of an element ID, associates the calculated optimized capacity with a B element ID, and stores it in an optimized capacity information file; the first priority list file; the second Matching processing means for performing a matching process on the elements of the set A to any element of the set B based on the number of optimized capacity stored in the priority list file and the optimized capacity information file As a matching system with the above, the maximum stable matching is performed while taking into account the number of companies and the number of groups in the group that includes the company. , It is possible to obtain a matching system.

この発明の実施の形態1に係るマッチングシステムの全体の構成を示した構成図である。It is the block diagram which showed the structure of the whole matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムを構成している各構成要素の内部構成を示した構成図である。It is the block diagram which showed the internal structure of each component which comprises the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。It is the flowchart which showed the flow of the process of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。It is the flowchart which showed the flow of the process of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。It is the flowchart which showed the flow of the process of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。It is the flowchart which showed the flow of the process of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの処理の流れを示した流れ図である。It is the flowchart which showed the flow of the process of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの施設プログラム情報ファイルの一例を示した説明図である。It is explanatory drawing which showed an example of the facility program information file of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムのグループ定員条件ファイルの一例を示した説明図である。It is explanatory drawing which showed an example of the group capacity condition file of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの参加者ROLファイルの一例を示した説明図である。It is explanatory drawing which showed an example of the participant ROL file of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの施設ROLファイルの一例を示した説明図である。It is explanatory drawing which showed an example of the facility ROL file of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムのマッチング結果格納ファイルの一例を示した説明図である。It is explanatory drawing which showed an example of the matching result storage file of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの最適化定員情報ファイルの一例を示した説明図である。It is explanatory drawing which showed an example of the optimization capacity | capacitance information file of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態1に係るマッチングシステムの処理の流れの具体例を示した説明図である。It is explanatory drawing which showed the specific example of the flow of a process of the matching system which concerns on Embodiment 1 of this invention. この発明の実施の形態2に係るマッチングシステムの処理の流れを示した流れ図である。It is the flowchart which showed the flow of the process of the matching system which concerns on Embodiment 2 of this invention. この発明の実施の形態2に係るマッチングシステムの処理の流れの具体例を示した説明図である。It is explanatory drawing which showed the specific example of the flow of a process of the matching system which concerns on Embodiment 2 of this invention. 従来のマッチング方法におけるマッチングの一例を示した説明図である。It is explanatory drawing which showed an example of the matching in the conventional matching method. 従来のマッチング方法における優先度リストの一例を示した説明図である。It is explanatory drawing which showed an example of the priority list | wrist in the conventional matching method. 従来のマッチング方法の処理の流れを示したフローチャートである。It is the flowchart which showed the flow of the process of the conventional matching method. 従来のマッチング方法を示した説明図である。It is explanatory drawing which showed the conventional matching method.

実施の形態1.
この発明の実施の形態1に係るマッチングシステムは、1対M(M≧1)の組合せを決定するためのシステムである。例を挙げて説明すれば、例えば、医学部の卒業生で研修を希望する研修希望者(以下、参加者とする。)は、1以上の医療研修施設(すなわち、大学病院、総合病院など。以下、施設とする。)で、研修を経験する必要がある。
Embodiment 1 FIG.
The matching system according to the first embodiment of the present invention is a system for determining a combination of 1 to M (M ≧ 1). For example, for example, a graduate of a medical school who wishes to undergo training (hereinafter referred to as a participant) has one or more medical training facilities (that is, a university hospital, a general hospital, etc.) It is necessary to experience training at the facility.

施設(病院)は、それぞれ定員条件(定員数)を有しているが、複数の施設が1つのグループを構成し、そのグループが定員条件(グループ定員数)を持つような場合がある。本実施の形態では、複数施設の定員の合計値がグループ定員数を上回るときも、安定マッチングを得ることを特徴としている。
グループは特定の条件にて分類されたものであり、グループの一例としては、施設の所在として、都道府県別のグループ、都道府県を含む地方(北海道地方、東北地方、関東地方、信越地方等)のグループが挙げられる。また、研修内容として、診察科(総合内科、循環器内科、心臓外科、小児科、女性診療科等)毎のグループ、が挙げられるが、その他どのような条件で分類し、グループを構成してもよい。
なお本実施の形態においては、1つの施設は1つのグループに属し、1つの施設が複数のグループに重複して属することはないものとする。
またグループが定員条件を有することにより、例えば、都道府県でグループを構成した場合は、人員が不足している都道府県に適切な人員をマッチングできる効果がある。診療科でグループを構成した場合は、診療科毎の偏りをなくしたり、人員が不足している診療科が一定の人員を確保できる効果がある。
Each facility (hospital) has a capacity condition (capacity), but a plurality of facilities may form one group, and the group may have a capacity condition (group capacity). The present embodiment is characterized in that stable matching is obtained even when the total capacity of a plurality of facilities exceeds the group capacity.
Groups are classified under specific conditions. As an example of a group, the location of a facility is a group by prefecture, or a region that includes a prefecture (Hokkaido, Tohoku, Kanto, Shinetsu, etc.) Group. In addition, training contents include groups for each department (general medicine, cardiovascular medicine, cardiac surgery, pediatrics, women's medical care, etc.). Good.
In the present embodiment, it is assumed that one facility belongs to one group and one facility does not belong to a plurality of groups.
In addition, when the group has a capacity requirement, for example, when a group is formed in a prefecture, there is an effect that an appropriate person can be matched to a prefecture where the number of persons is insufficient. When a group is composed of clinical departments, there is an effect of eliminating the bias for each clinical department, or securing a certain number of departments with a shortage of personnel.

図1は、この発明の実施の形態1に係るマッチングシステムの全体の構成を示した図である。図1に示すように、実施の形態1に係るマッチングシステムは、参加者と施設との組合せを決定するマッチング処理を行うためのマッチングサーバ100と、マッチングサーバ100の管理およびメンテナンス等を行うマッチング管理者端末400と、参加者が操作して施設の希望順位などを入力するための参加者端末200と、施設に勤務している施設管理者が操作して参加者の希望順位などを入力するための施設管理者端末300とから構成されている。なお、マッチングサーバ100、参加者端末200、施設管理者端末300、マッチング管理者端末400は、インターネット等の通信網500により接続されている。   FIG. 1 is a diagram showing an overall configuration of a matching system according to Embodiment 1 of the present invention. As shown in FIG. 1, the matching system according to the first embodiment includes a matching server 100 for performing a matching process for determining a combination of a participant and a facility, and a matching management for performing management and maintenance of the matching server 100, etc. A participant terminal 400, a participant terminal 200 that is operated by a participant to input a desired rank of the facility, and a facility manager working at the facility to input a desired rank of the participant The facility manager terminal 300 of FIG. The matching server 100, the participant terminal 200, the facility manager terminal 300, and the matching manager terminal 400 are connected by a communication network 500 such as the Internet.

図2は、図1に示した各構成要素の内部構成を示した図である。図2に示すように、マッチングサーバ100内には、施設情報ファイル(定員数ファイル)1と、グループ定員条件ファイル2と、参加者ROLファイル(第1の優先度リストファイル)3と、施設ROLファイル(第2の優先度リストファイル)4と、マッチング結果格納ファイル5と、最適化定員情報ファイル10の6つのファイルが記憶されている。これらは、共通の1つの記憶装置内に記憶されていてもよく、あるいは、複数の記憶装置内に記憶されていてもよい。さらに、マッチングサーバ100内には、通信網500を介して外部との通信を行うための通信手段6と、ROLファイルの作成処理を行うROL作成手段7と、定員に関する処理を行う定員処理手段8と、マッチング手段9とが設けられている。   FIG. 2 is a diagram showing an internal configuration of each component shown in FIG. As shown in FIG. 2, in the matching server 100, a facility information file (capacity file) 1, a group capacity condition file 2, a participant ROL file (first priority list file) 3, and a facility ROL Six files of a file (second priority list file) 4, a matching result storage file 5, and an optimized capacity information file 10 are stored. These may be stored in one common storage device, or may be stored in a plurality of storage devices. Further, in the matching server 100, a communication means 6 for performing communication with the outside via the communication network 500, a ROL creation means 7 for creating a ROL file, and a capacity processing means 8 for performing processing related to the capacity. And a matching means 9 are provided.

図8は、施設情報ファイル1の一例を示した図である。施設情報ファイル1には、研修を実施する各施設の情報が格納されている。すなわち、施設情報ファイル1には、例えば、各施設を特定するためのIDである施設コードと、施設名、定員数(参加者の受け入れ可能人数)、施設住所(施設の所在地)などの情報が格納されている。   FIG. 8 is a diagram showing an example of the facility information file 1. The facility information file 1 stores information on each facility that conducts training. That is, the facility information file 1 includes, for example, a facility code, which is an ID for identifying each facility, and information such as a facility name, the number of persons (number of participants that can be accepted), and a facility address (location of the facility). Stored.

図9は、グループ定員条件ファイル2の一例を示した図である。グループ定員条件ファイル2には、グループを特定するためのIDであるグループコードと、グループに属する施設の施設コードを示すグループ施設コードと、グループ定員数の情報が格納されている。   FIG. 9 is a diagram showing an example of the group capacity condition file 2. The group capacity condition file 2 stores a group code which is an ID for identifying a group, a group facility code indicating a facility code of a facility belonging to the group, and information on the number of groups.

図10は、参加者ROLファイル3の一例を示した図である。参加者ROLファイル3には、各ユーザIDごとに、各ユーザが希望する施設を希望順に並べたリストが格納されている。図10においては、各ユーザごとに、第1希望から順に第n希望までの施設が順に格納されている。各ユーザは、例えば、インターネットのホームページ等から各施設の情報を得て、希望順位を決定する。なお参加者ROLファイル3に、全ての施設を登録しても、一部の施設を登録してもよい。   FIG. 10 is a diagram showing an example of the participant ROL file 3. The participant ROL file 3 stores a list in which the facilities desired by each user are arranged in the desired order for each user ID. In FIG. 10, the facilities from the first desire to the nth desire are stored in order for each user. Each user obtains information on each facility from, for example, a homepage on the Internet and determines a desired order. Note that all the facilities may be registered in the participant ROL file 3 or some of the facilities may be registered.

図11は、施設ROLファイル4の一例を示した図である。施設ROLファイル4には、各施設コードごとに、各施設が希望する参加者を希望順に並べたリストが格納されている。図11においては、各施設ごとに、第1希望から順に第n希望までの参加者が順に格納されている。各施設は、例えば、参加者の面談等を行って参加者の情報を得て、希望順位を決定する。なお施設ROLファイル4に、全ての参加者を登録しても、一部の参加者を登録してもよい。   FIG. 11 is a diagram showing an example of the facility ROL file 4. The facility ROL file 4 stores a list in which participants desired by each facility are arranged in the desired order for each facility code. In FIG. 11, the participants from the first desire to the nth desire are sequentially stored for each facility. Each facility, for example, interviews participants and obtains information on the participants, and determines a desired order. Note that all the participants may be registered in the facility ROL file 4 or some of the participants may be registered.

図12は、マッチング結果格納ファイル5の一例を示した図である。マッチング結果格納ファイル5には、マッチング処理の結果得られたマッチング結果が格納されている。すなわち、図12に示すように、ユーザIDと、割り当てられた施設の施設コードとが、それぞれ、対応付けて格納されている。これにより、どの参加者が、どこの施設で研修を行うかを確認することができる。
図13は、最適化定員情報ファイル10の一例を示した図である。最適化定員情報ファイル10は、定員処理手段8により出力され、マッチング手段9がマッチング処理を行うときに用いるものであるが、施設コードごとの最適化定員数が記憶されている。
なお、図8から図13に示したファイル構成で、行方向(横方向)の1行をレコードと呼ぶ。
FIG. 12 is a diagram showing an example of the matching result storage file 5. The matching result storage file 5 stores the matching results obtained as a result of the matching process. That is, as shown in FIG. 12, the user ID and the facility code of the assigned facility are stored in association with each other. Thereby, it is possible to confirm which participant performs training at which facility.
FIG. 13 is a diagram showing an example of the optimized capacity information file 10. The optimized capacity information file 10 is output by the capacity processing means 8 and is used when the matching means 9 performs matching processing, and stores the optimized capacity number for each facility code.
In the file structure shown in FIGS. 8 to 13, one line in the line direction (horizontal direction) is called a record.

図2の説明に戻る。図2に示すように、参加者端末200内には、入力手段20と、表示手段21と、処理手段22と、通信手段23とが設けられている。
なお、施設管理者端末300の内部構成は、参加者端末200と同様であるため、ここでは説明を省略する。
Returning to the description of FIG. As shown in FIG. 2, an input unit 20, a display unit 21, a processing unit 22, and a communication unit 23 are provided in the participant terminal 200.
In addition, since the internal structure of the facility manager terminal 300 is the same as that of the participant terminal 200, description is abbreviate | omitted here.

マッチング管理者端末400内には、入力手段30と、表示手段31と、処理手段32と、通信手段33とが設けられている。   In the matching manager terminal 400, an input unit 30, a display unit 31, a processing unit 32, and a communication unit 33 are provided.

次に、本実施の形態1に係るマッチングシステムの動作について説明する。図3は、マッチング管理者端末400からのデータ入力処理について示した図であり、マッチング管理者が、施設情報ファイル1またはグループ定員条件ファイル2の登録、追加、更新または削除の処理を行うときの処理の流れを示している。図3に示すように、まず、マッチング管理者端末400の処理手段32は、マッチング管理者の操作により入力手段30が受け付けた入力データを通信手段33に受け渡す(ステップS1)。次に、マッチング管理者端末400の通信手段33が、マッチングサーバ100の通信手段6に当該入力データを送信する(ステップS2)。次に、マッチングサーバ100の通信手段6が、受信したデータ内容により、施設情報ファイル1またはグループ定員条件ファイル2にデータの追加、更新または削除を行う(ステップS3)。   Next, the operation of the matching system according to the first embodiment will be described. FIG. 3 is a diagram showing data input processing from the matching manager terminal 400, when the matching manager performs registration, addition, update or deletion processing of the facility information file 1 or the group capacity condition file 2. The flow of processing is shown. As shown in FIG. 3, first, the processing means 32 of the matching manager terminal 400 delivers the input data received by the input means 30 to the communication means 33 by the operation of the matching manager (step S1). Next, the communication means 33 of the matching manager terminal 400 transmits the input data to the communication means 6 of the matching server 100 (step S2). Next, the communication means 6 of the matching server 100 adds, updates, or deletes data in the facility information file 1 or the group capacity condition file 2 according to the received data content (step S3).

図4は、参加者端末200からのデータ入力処理を示した図であり、参加者が希望順位を示す優先度リスト(ROLファイル)の入力を行うときの処理の流れを示している。図4に示すように、まず、参加者端末200の処理手段22は、参加者の操作により入力手段20が受け付けた入力データを通信手段23に受け渡す(ステップS11)。次に、参加者端末200の通信手段23がマッチングサーバ100の通信手段6に当該入力データを送信する(ステップS12)。次に、マッチングサーバ100の通信手段6が、受信したデータ内容をROL作成手段7に受け渡し、ROL作成手段7が、参加者ROLファイル3にデータの追加、更新または削除を行う。つまり、該当のユーザIDに対応するユーザID、施設コード、順位を記憶した1以上のレコードを参加者ROLファイル3に上書きする(ステップS13)。
また、施設管理者端末300からの施設ROLファイル4へのデータ入力を受付けるときも、図4に示したフローチャートと同様の流れになる。なお、施設情報ファイル1、グループ定員条件ファイル2、参加者ROLファイル3、施設ROLファイル4へのデータの追加、更新、削除の処理はマッチング管理者端末400から行なうこともできる。その場合は、それぞれのデータを何らかの記憶媒体により、管理者にファイル形式で受け渡し、管理者がマッチング管理者端末400から一括してファイル更新作業を行なうことになる。
FIG. 4 is a diagram showing data input processing from the participant terminal 200, and shows a flow of processing when the participant inputs a priority list (ROL file) indicating a desired order. As shown in FIG. 4, first, the processing means 22 of the participant terminal 200 delivers the input data received by the input means 20 to the communication means 23 by the participant's operation (step S11). Next, the communication means 23 of the participant terminal 200 transmits the input data to the communication means 6 of the matching server 100 (step S12). Next, the communication unit 6 of the matching server 100 passes the received data content to the ROL creation unit 7, and the ROL creation unit 7 adds, updates, or deletes data in the participant ROL file 3. That is, one or more records storing the user ID, facility code, and rank corresponding to the corresponding user ID are overwritten on the participant ROL file 3 (step S13).
In addition, when receiving data input from the facility manager terminal 300 to the facility ROL file 4, the flow is the same as the flowchart shown in FIG. Note that the process of adding, updating, and deleting data to the facility information file 1, the group capacity condition file 2, the participant ROL file 3, and the facility ROL file 4 can also be performed from the matching manager terminal 400. In this case, each data is transferred to the administrator in a file format by some storage medium, and the administrator performs a file update operation collectively from the matching administrator terminal 400.

図5は、マッチングサーバ100の定員処理手段8によるグループ内施設定員数最適化処理と、マッチング手段9によるマッチング処理を示した図である。図5に示すように、マッチングサーバ100の定員処理手段8がグループ内施設の定員数の最適化処理をグループごとに行い、グループごとに最適化された最適化定員数をマッチング手段9に受け渡す(ステップS21)。なお、後述するように、このステップS21における最適化処理には、マッチング手段9による仮マッチング処理が含まれる。その後、マッチング手段9は、受け渡された最適化定員数を用いて、全グループの全施設および全参加者に対し、上述した図19に示すGale−Shapleyアルゴリズムを用いたマッチング処理を行い、得られたマッチング結果をマッチング結果格納ファイル5に格納する(ステップS22)。   FIG. 5 is a diagram showing a group setting number optimization process by the capacity processing unit 8 of the matching server 100 and a matching process by the matching unit 9. As shown in FIG. 5, the capacity processing unit 8 of the matching server 100 performs the optimization process for the number of facilities in the group for each group, and delivers the optimized number of capacity optimized for each group to the matching unit 9. (Step S21). As will be described later, the optimization processing in step S21 includes provisional matching processing by the matching means 9. After that, the matching means 9 performs matching processing using the Gale-Shapley algorithm shown in FIG. 19 described above for all facilities and all participants of all groups using the delivered optimized capacity. The obtained matching result is stored in the matching result storage file 5 (step S22).

図6は、図5のステップS21で示した、グループ内施設の定員数の最適化処理の詳細を示した図である。図6に示すように、定員処理手段8は、現状の参加者ROLファイル3、施設ROLファイル4、施設情報ファイル1に記憶された定員数によるマッチング処理をマッチング手段9に指示し、マッチング手段9は、全グループの全施設および全参加者に対し、Gale−Shapleyアルゴリズムに従ったマッチング処理を行い、そのマッチ結果を一時的に記憶手段に記憶する。このマッチ結果を、便宜的に仮マッチ結果と呼ぶ(ステップS31)。   FIG. 6 is a diagram showing the details of the process for optimizing the capacity of the facilities in the group shown in step S21 of FIG. As shown in FIG. 6, the capacity processing unit 8 instructs the matching unit 9 to perform matching processing based on the number of people stored in the current participant ROL file 3, the facility ROL file 4, and the facility information file 1. Performs matching processing according to the Gale-Shapley algorithm for all facilities and all participants of all groups, and temporarily stores the match results in the storage means. This match result is referred to as a temporary match result for convenience (step S31).

マッチングサーバ100の定員処理手段8は、グループコードを表す変数をnとしてnの初期値に1を設定し、その後グループ定員条件ファイル2のグループコード項目を参照することにより、予め登録されているグループコードの最大値を記憶する(ステップS32)。なお、図9に示すグループコードは数ではなく文字列を含むが、ここでは、各グループコードはそれぞれ異なるnの値に一意に対応するものとする。たとえば、グループコードG01はn=1に対応し、グループコードG02はn=2に対応する。これを実現する方法の一例として、グループ定員条件ファイルには、グループコードごとに、対応するnの値を表すグループ番号を関連付けて記憶してもよい。
次に、定員処理手段8は、現在のグループコードが記憶されているグループコードの最大値より大きいかどうかを確認し(ステップS33)、現在のグループコードが最大値より大きい場合は、処理を終了する。
The capacity processing means 8 of the matching server 100 sets a variable representing a group code as n, sets 1 to an initial value of n, and then refers to a group code item in the group capacity condition file 2 to register a group registered in advance. The maximum code value is stored (step S32). The group code shown in FIG. 9 includes a character string instead of a number, but here, each group code uniquely corresponds to a different value of n. For example, the group code G01 corresponds to n = 1, and the group code G02 corresponds to n = 2. As an example of a method for realizing this, the group capacity condition file may store a group number representing a corresponding value of n in association with each group code.
Next, the capacity processing means 8 confirms whether or not the current group code is larger than the maximum value of the stored group code (step S33), and ends the process if the current group code is larger than the maximum value. To do.

現在のグループコードが最大値以下の場合は、ステップS34に処理が移り、該当のグループコードに属するグループ施設コード情報を、グループ定員条件ファイル2を参照することにより、取得し、施設コードそれぞれの定員数を、施設情報ファイル1を参照することにより、取得する。そして、グループに属する施設の定員数の合計値を算出し、現在のグループコードのグループ定員数と、グループに属する施設の定員数の合計値とを比較する(ステップS34)。   If the current group code is less than or equal to the maximum value, the process moves to step S34, and group facility code information belonging to the corresponding group code is obtained by referring to the group capacity condition file 2, and the capacity of each facility code The number is obtained by referring to the facility information file 1. Then, the total number of facilities of facilities belonging to the group is calculated, and the group capacity number of the current group code is compared with the total number of facilities of facilities belonging to the group (step S34).

ステップS34の比較で、グループ定員数がグループ内施設の定員数の合計値以上のときは、該当の施設コードのそれぞれの定員数を最適化定員数として、施設コードと対応付けて最適化定員情報ファイル10に記憶する(ステップS36)。その後、グループコードを1加算して(ステップS37)、ステップS33の処理に戻る。   When the group capacity is equal to or greater than the total number of facilities in the group in the comparison in step S34, the optimized capacity information is associated with the facility code with each capacity number of the corresponding facility code as the optimized capacity number. Store in the file 10 (step S36). Thereafter, the group code is incremented by 1 (step S37), and the process returns to step S33.

またステップS34の比較で、グループ定員数がグループ内施設の定員数合計値より小さいと判定したときは、ステップS35の処理に移る。ステップS35の処理で、定員処理手段8は、仮マッチ結果を参照し、仮マッチ結果に含まれるレコードのうち、施設コードが現在のグループコードのグループ施設コードに含まれているレコードを抜き出し、各施設の仮マッチ数とグループ内全施設の仮マッチ数合計値とを算出する(ここで、仮マッチ数とは、仮マッチ結果においてその施設にマッチングされた参加者の数を意味し、仮マッチ数合計値とは、仮マッチ結果においてそのグループに含まれるそれぞれの施設コードにマッチングされた参加者数を加算したものを意味する)。   If it is determined in step S34 that the group capacity is smaller than the total number of facilities in the group, the process proceeds to step S35. In the process of step S35, the capacity processing means 8 refers to the temporary match result, and extracts the records in which the facility code is included in the group facility code of the current group code from the records included in the temporary match result. Calculate the number of temporary matches for the facility and the total number of temporary matches for all facilities in the group (where the number of temporary matches means the number of participants matched to the facility in the temporary match result, The total number means the sum of the number of participants matched to each facility code included in the group in the temporary match result).

その後、各施設について、グループ内全施設の仮マッチ数合計値に対するその施設の仮マッチ数の割合に、グループ定員数を乗じた数を該当施設コードの最適化定員数として設定する。なお、このようにして求めた数が整数にならない場合には、その数に基づいて四捨五入等により最適化定員数が整数となるように設定してもよい。また、最適化定員数は、施設の定員数を上回る数値にはなりえない。そのため、最適化定員数として設定する前に、各施設の定員数との比較を行い、最適化定員数が定員数より大きいときは最適化定員数を定員数に置き換える補正処理を行う。この補正処理により、グループ内施設の最適化定員数を再調整し、置き換える処理を行うことになるが、その処理を便宜上、「最適化定員数調整処理」と呼び、後述する。
設定された最適化定員数は、最適化定員情報ファイル10に、施設コード毎に対応付けて記憶される(ステップS35)。その後ステップS37に処理が移る。
After that, for each facility, a number obtained by multiplying the ratio of the number of temporary matches of the facility with respect to the total number of temporary matches of all facilities in the group by the number of group capacity is set as the optimized capacity number of the corresponding facility code. In addition, when the number calculated | required in this way does not become an integer, you may set so that the optimization capacity | capacitance number may become an integer by rounding off based on the number. In addition, the optimized capacity cannot exceed the capacity of the facility. For this reason, before setting as the optimized capacity number, a comparison is made with the capacity number of each facility, and when the optimized capacity number is larger than the capacity number, correction processing is performed to replace the optimized capacity number with the capacity number. By this correction process, the optimization capacity number of the facilities in the group is readjusted and replaced. This process is called “optimization capacity adjustment process” for convenience and will be described later.
The set optimization capacity is stored in the optimization capacity information file 10 in association with each facility code (step S35). Thereafter, the process proceeds to step S37.

前述した、最適化定員数調整処理について、説明を加える。ある施設コードの算出された最適化定員数がその施設コードの定員数より大きいとき、該当の最適化定員数を該当施設コードの定員数に置き換える。その結果、最適化定員数と定員数との差異の数値(数値aとする)分だけ、最適化定員数の合計値がグループ定員数より小さくなっているため、数値a分、いずれかの施設コードの最適化定員数に加算してもよい(最適化定員数の合計値をグループ定員数と同じにしてもよい)。数値aをどのように加算するかは、例えば定員数と最適化定員数との差異を、グループ内施設コードそれぞれについて算出し、一番差異が大きい施設コードの最適化定員数に数値aを加算する、または一番差異が大きい施設コードから順次、数値aを一定数に分配して、加算していく等の方法が考えられる。   The optimization capacity adjustment process described above will be described. When the calculated optimization capacity of a facility code is larger than the capacity of the facility code, the corresponding optimization capacity is replaced with the capacity of the facility code. As a result, the total number of optimized capacity is less than the group capacity by the numerical value of the difference between the optimized capacity and the capacity (assumed as numeric value a), so either facility for numeric value a. It may be added to the code optimization capacity (the total optimization capacity may be the same as the group capacity). For example, how to add the numerical value a is calculated for each facility code in the group, and the numerical value a is added to the optimized capacity number of the facility code with the largest difference. It is conceivable that the numerical value “a” is distributed to a certain number in order from the facility code having the largest difference and added.

なおステップS35の算出において、最適化定員数は、「最低人数」を設定し、算出式の算出結果が、「最低人数」より小さくなった場合は、最適化定員数を最低人数に設定するように構成することができる。例えば最低人数を2名としたとき、算出の結果、最適化定員数が2より小さくなった場合は、最適化定員数を2名と算出しなおす。この処理を便宜上、「最低定員数補正処理」と呼ぶ。
最低定員数補正処理を行った結果、グループ内施設の最適化定員数の合計値がグループ定員数を上回る可能性がある。最適化定員数の合計値がグループ定員数を上回ることを許容しないとするときは、最適化定員数が大きい順に、各施設コードの最適化定員数を一定値ずつ(たとえば1ずつ)減算し、これを最適化定員数の合計値がグループ定員数以下になるまで繰り返す方法、または最低定員数補正処理の対象となった施設コードは除いて、最適化定員数が小さい順に、各施設コードの最適化定員数を一定値ずつ(たとえば1ずつ)減算し、これを最適化定員数の合計値がグループ定員数以下になるまで繰り返す方法等が考えられる。またはグループ定員条件ファイル2にグループ施設コードを記憶するときに、各グループコードに優先順位を関連付け、優先順位が高い順に記憶することとし、優先順位が低い施設コードから順番に最適化定員数を一定数ずつ減算する方法も考えられる。
ただしどの方法を用いる場合も、いずれの施設コードの最適化定員数は、「最低人数」を下回らないことし、減算の結果、「最低人数」を下回ることが判明した定員数からは減算を行わず、次に対象となる施設コードの定員数から減算することとする。
また最低定員数補正処理を行った結果、最適化定員数の合計値がグループ定員数を上回るとき、上回ることを許容し、最適化定員数の修正は行わないように、構成してもよい。
In the calculation of step S35, the “minimum number of people” is set as the optimized number of people, and when the calculation result of the calculation formula becomes smaller than “the minimum number of people”, the optimized number of people is set to the minimum number of people. Can be configured. For example, assuming that the minimum number of people is two, if the number of optimized capacity is smaller than 2 as a result of the calculation, the number of optimized capacity is recalculated as two. This process is referred to as “minimum capacity correction process” for convenience.
As a result of performing the minimum capacity correction process, there is a possibility that the total number of optimized capacity of facilities in the group may exceed the group capacity. When the total number of optimized capacity is not allowed to exceed the group capacity, the number of optimized capacity for each facility code is subtracted by a fixed value (for example, 1) in descending order of optimized capacity. This method is repeated until the total number of optimized capacity is less than or equal to the group capacity, or the facility code that is subject to the minimum capacity correction process. A method of subtracting the number of qualified members by a certain value (for example, by 1) and repeating this until the total value of the number of optimized members is equal to or less than the number of group members is conceivable. Alternatively, when storing group facility codes in the group capacity condition file 2, priority levels are associated with each group code and stored in descending order of priority, and the number of optimized capacity is fixed in order from the lowest priority facility code. A method of subtracting a number is also conceivable.
However, no matter which method is used, the optimized capacity for any facility code should not be less than the “minimum number of people”, and the subtraction will be subtracted from the number of people that has been found to be below the “minimum number of people”. First, it will be subtracted from the capacity number of the target facility code.
Further, as a result of performing the minimum capacity correction process, when the total value of the optimized capacity exceeds the group capacity, it may be allowed to exceed the group capacity, and the optimization capacity may not be corrected.

ステップS34〜S35の処理について、具体例を用いて説明する。図14に具体例として、例1、例2を示す。例1は、グループコード G01に関して最適化定員数を算出したときを例示している。グループコード G01は、グループ定員数は25名であり、グループとして登録されているグループ施設コードは、A001,A003,A010,A011である。またそれぞれの施設コードの定員数は、図14に示すように、上から10,8,10,7名であり、定員数合計値は35名である。図6のステップS34の処理で、グループ定員数とグループ内施設の定員数合計値とを比較すると、グループ定員数の方が定員数合計値より小さいため、ステップS35の処理により、仮マッチ結果を参照して、グループ内施設コードのそれぞれの仮マッチ数を得る。その仮マッチ結果数が、図14に示すように、上から4,6,8,5で、仮マッチ数合計値が23となったとする。その後、最適化定員数の算出を行うが、その算出式は、グループ内全施設の仮マッチ数合計値に対する各施設の仮マッチ数の割合に、グループ定員数を乗じるものであり、施設コード A001の場合は、4(A001の仮マッチ数)/23(仮マッチ数合計値)×25(グループ定員数)となる。その結果、最適化定員数は、施設コード A001の場合は、4名と算出され、それぞれの施設コードの最適化定員数は、上から4,7,9,5となる。なおこの最適化定員数の算出は、四捨五入により行っているが、最適化定員数の合計値がグループ定員数より大きくなる、または小さくなることを許容する場合は、切り上げまたは切り捨てにより算出してもよい。
このような算出方法により、一度行った仮マッチ結果を反映して、グループ定員数をグループ内施設に、最適化定員数として、配分することができる。
The process of steps S34 to S35 will be described using a specific example. FIG. 14 shows examples 1 and 2 as specific examples. Example 1 exemplifies the case where the optimized capacity is calculated for the group code G01. The group code G01 has a group capacity of 25 people, and the group facility codes registered as a group are A001, A003, A010, and A011. Further, as shown in FIG. 14, the capacity number of each facility code is 10, 8, 10, 7 from the top, and the total number of capacity numbers is 35 persons. In the process of step S34 of FIG. 6, when the group capacity is compared with the total capacity of the facilities in the group, the group capacity is smaller than the total capacity, so that the temporary match result is obtained by the process of step S35. Referring to the group facility code, the provisional match number is obtained. It is assumed that the number of provisional match results is 4, 6, 8, and 5 from the top as shown in FIG. Thereafter, the optimized capacity is calculated. The calculation formula is obtained by multiplying the ratio of the number of temporary matches of each facility to the total number of temporary matches of all facilities in the group by the number of groups, and the facility code A001. In this case, 4 (the number of temporary matches of A001) / 23 (total number of temporary matches) × 25 (the number of groups). As a result, in the case of the facility code A001, the optimized capacity is calculated as 4 persons, and the optimized capacity of each facility code is 4, 7, 9, 5 from the top. This optimization capacity is calculated by rounding off, but if the total optimization capacity is allowed to be larger or smaller than the group capacity, it can be calculated by rounding up or down. Good.
By such a calculation method, it is possible to allocate the group capacity to the facilities in the group as the optimized capacity, reflecting the result of the temporary match that has been performed once.

図14の例2は、グループコード G02に関して最適化定員数を算出したときを例示している。グループコード G02は、グループ定員数は23名であり、グループとして登録されているグループ施設コードは、A012,A015,A016,A017、A018である。またそれぞれの施設コードの定員数は、図14に示すように、上から3,5,4,7,3名であり、定員数合計値は22名である。図6のステップS34の処理で、グループ定員数とグループ内施設の定員数合計値とを比較すると、グループ定員数の方が定員数合計値より大きいため、グループコード G02に関しては、定員最適化処理は行われず、施設コードのそれぞれの定員数がそのまま最適化定員数となる。
なお図14の示した具体例では、最適化定員数調整処理と、最低定員数補正処理は不要であるが、必要に応じて、上述した方法にて、処理が行われる。
Example 2 in FIG. 14 illustrates the case where the optimized capacity is calculated for the group code G02. The group code G02 has a group capacity of 23 people, and the group facility codes registered as a group are A012, A015, A016, A017, and A018. As shown in FIG. 14, the capacity number of each facility code is 3, 5, 4, 7, 3 from the top, and the total number of capacity is 22 persons. In the process of step S34 in FIG. 6, when the group capacity is compared with the total capacity value of the facilities in the group, the group capacity is larger than the total capacity value. Is not performed, and the capacity number of each facility code becomes the optimized capacity number as it is.
In the specific example shown in FIG. 14, the optimization quorum adjustment process and the minimum quorum correction process are unnecessary, but the process is performed by the method described above as necessary.

図7は、マッチングサーバ100の通信手段6によるマッチング結果の通知の処理について示した図である。図7に示すように、まず、マッチングサーバ100のマッチング手段9は、マッチング処理終了を通信手段6に通知する(ステップS51)。次に、マッチングサーバ100の通信手段6は、マッチング結果格納ファイル5を参照してマッチング結果を、マッチング管理者端末400の通信手段33に通知する(ステップS52)。次に、マッチング管理者端末400の通信手段33は、通知されたマッチング結果を処理手段32に受け渡す(ステップS53)。次に、マッチング管理者端末400の処理手段32は、受け渡されたマッチング結果を、インターネット等で公開する(ステップS54)。   FIG. 7 is a diagram illustrating the process of notifying the matching result by the communication unit 6 of the matching server 100. As shown in FIG. 7, the matching means 9 of the matching server 100 first notifies the communication means 6 of the end of the matching process (step S51). Next, the communication unit 6 of the matching server 100 refers to the matching result storage file 5 and notifies the matching result to the communication unit 33 of the matching manager terminal 400 (step S52). Next, the communication means 33 of the matching manager terminal 400 delivers the notified matching result to the processing means 32 (step S53). Next, the processing means 32 of the matching manager terminal 400 publishes the transferred matching result on the Internet or the like (step S54).

なおマッチング結果の公開については、図7に示した方法によらず、ファイル形式や結果を印刷した紙にて、参加者及び施設管理者に通知する方法もある。また、該当のマッチング結果を参加者端末200または、施設管理者端末300に通知するように構成してもよい。例えば、参加者端末200がユーザID 001でログインされていたとすると、ユーザID 001がマッチされた施設情報(例えば、施設コード A001に関する情報)を参加者端末200に送信するように構成してもよい。   The disclosure of the matching result is not limited to the method shown in FIG. 7, and there is a method of notifying the participants and the facility manager using a file format and paper on which the result is printed. The matching result may be notified to the participant terminal 200 or the facility manager terminal 300. For example, if the participant terminal 200 is logged in with the user ID 001, the facility information matched with the user ID 001 (for example, information regarding the facility code A001) may be transmitted to the participant terminal 200. .

なお、上記の説明においては、研修を希望する参加者と受け入れ先の施設とのマッチング問題について説明したが、その場合に限らず、複数の要素からなる集合A(上記の参加者に相当)と複数の要素からなる集合B(上記の施設に相当)との各要素をマッチングするマッチング問題であって、集合Bが特定の条件で分類されグループを構成し、そのそれぞれのグループがグループ定員数を有するときのマッチング問題のいずれにも適用できることはいうまでもない。   In the above explanation, the matching problem between the participant who wishes to participate in the training and the facility of the recipient is explained. Matching problem that matches each element with set B (corresponding to the above-mentioned facility) consisting of a plurality of elements, and set B is classified under a specific condition to form a group, and each group has a group capacity Needless to say, it can be applied to any of the matching problems.

すなわち、この発明は、複数の要素からなる集合A(参加者のグループ)と複数の要素からなる集合B(施設のグループ)との各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素(各施設)は1以上のグループのいずれかに属しており、上記集合Bの各要素のB要素ID(施設コード)ごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイル(施設情報ファイル1)と、上記集合Bの特定のグループを示すグループIDごとに、このグループに属するB要素IDと、グループ定員数とを記憶したグループ定員条件ファイル(グループ定員条件ファイル2)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル(参加者ROLファイル3)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル(施設ROLファイル4)と、上記グループ定員条件ファイルに記憶されたグループ定員数を参照し、このグループ定員数に基づき、グループに属するB要素IDの最適化定員数を算出し、算出した最適化定員数をB要素IDと対応付けて、最適化定員情報ファイルに記憶する定員処理手段(図5のステップS21に相当、または図2の定員処理手段8に相当)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記最適化定員情報ファイルに記憶された最適化定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段(図5のステップS22に相当、または図2のマッチング手段9に相当)とを備えたマッチングシステムである。
なおこの構成は、請求項1の構成に対応し、図5に示したマッチング処理を行うための構成である。
That is, the present invention is a matching system for matching elements of a set A (participant group) consisting of a plurality of elements and a set B (group of facilities) consisting of a plurality of elements, the set B Each element (each facility) belongs to one or more groups, and a capacity file that stores the number of elements that can be accepted by matching for each B element ID (facility code) of each element of the set B (Facility information file 1), a group capacity condition file (group capacity condition file 2) that stores, for each group ID indicating a specific group of the set B, a B element ID belonging to this group and the number of groups For each A element ID of each element of the set A, a first priority list that is uniquely ranked for all or part of the elements of the set B is stored. The first priority list file (participant ROL file 3) and the B element ID of each element of the set B are uniquely ranked for all or part of the elements of the set A The second priority list file (facility ROL file 4) storing the second priority list and the group capacity number stored in the group capacity condition file are referred to. A capacity processing means (corresponding to step S21 in FIG. 5 or the number of optimization capacity of the B element ID belonging to) is stored in the optimization capacity information file in association with the B element ID. 2), and the number of optimized capacity stored in the first priority list file, the second priority list file, and the optimized capacity information file. And a matching processing means (corresponding to step S22 in FIG. 5 or equivalent to the matching means 9 in FIG. 2) for matching the elements of the set A with any element in the set B. Matching system.
This configuration corresponds to the configuration of claim 1 and is a configuration for performing the matching process shown in FIG.

さらに、この発明のマッチングシステムで上記定員処理手段は、上記マッチング処理手段に上記第1の優先度リストファイル、上記第2の優先度リストファイルおよび上記定数ファイルに記憶された定数に基づく、マッチング処理を指示し、上記マッチング処理手段は、マッチングの結果を仮マッチ結果として記憶手段に記憶し(図6のステップS31に相当)、上記グループ定員条件ファイルのグループIDごとに、グループ定員数がグループ内各B要素の定員数の合計値以上と判定したときは、該当B要素のそれぞれの定員数を最適化定員数としてB要素IDに対応付けて最適化定員情報ファイルに記憶し(図6のステップS36に相当)、一方、グループ定員数がグループ内B要素の定員数合計値より小さいと判定したときは、上記仮マッチ結果を参照し、グループ内B要素IDのレコードを抜き出し、各B要素の仮マッチ数とグループ内各B要素の仮マッチ数合計値とを算出し、グループ内B要素の仮マッチ数合計値に対する各施設の仮マッチ数の割合に、上記グループ定員数を乗じた数に基づいて該当施設コードの最適化定員数を設定し、この最適化定員数を、B要素IDに対応付けて最適化定員情報ファイルに記憶する(図6のステップS35に相当)。
この構成は、請求項2の構成に対応し、図6に示した処理を行うための構成である。
Further, in the matching system according to the present invention, the capacity processing means includes matching processing based on constants stored in the first priority list file, the second priority list file, and the constant file in the matching processing means. The matching processing means stores the matching result in the storage means as a temporary match result (corresponding to step S31 in FIG. 6), and the group capacity number is within the group for each group ID of the group capacity condition file. If it is determined that the total number of the B elements is equal to or greater than the total number, the number of corresponding B elements is stored in the optimized capacity information file in association with the B element ID as the optimized capacity (step of FIG. 6). On the other hand, if it is determined that the group capacity is smaller than the total capacity of the B elements in the group, The B element ID record in the group is extracted with reference to the result of the check, the number of temporary matches for each B element and the total number of temporary matches for each B element in the group are calculated, and the total number of temporary matches for the B element in the group The number of provisional matches of each facility with respect to the value is multiplied by the number of group capacities, and the optimized number of facilities code is set, and this optimized number is optimally associated with the B element ID. It memorize | stores in a chemical capacity information file (equivalent to step S35 of FIG. 6).
This configuration corresponds to the configuration of the second aspect and is a configuration for performing the processing shown in FIG.

以上説明したように、本実施の形態によれば、複数の施設が1つのグループを構成し、そのグループがグループ定員数を持つような場合、特に複数施設の定員の合計値がグループ定員数を上回るときも、安定マッチングを得ることができる。   As described above, according to the present embodiment, when a plurality of facilities constitute one group and the group has the number of groups, the total number of the capacity of the plurality of facilities particularly indicates the number of groups. When it exceeds, stable matching can be obtained.

また、本実施の形態によれば、都道府県でグループを構成した場合は、人員が不足している都道府県に適切な人員をマッチングすることができる。また、グループ定員数を考慮したマッチングを行うため、診療科でグループを構成した場合は、診療科毎の偏りをなくしたり、人員が不足している診療科が一定の人員を確保することができる。   Moreover, according to this Embodiment, when a group is comprised in a prefecture, the appropriate personnel can be matched with the prefecture where a staff is insufficient. In addition, because matching is performed in consideration of the number of group members, when a group is formed in a department, it is possible to eliminate the bias for each department and to secure a certain number of departments with insufficient staff. .

実施の形態2.
本実施の形態におけるシステム構成図は、実施の形態1で用いた図1、図2のとおりである。本実施の形態で特徴的なことは、図5のステップS21で示した定員数の最適化処理が、実施の形態1とは異なる方法によることである。その他の処理については、実施の形態1で説明したとおりである。
Embodiment 2. FIG.
The system configuration diagram in the present embodiment is as shown in FIGS. 1 and 2 used in the first embodiment. What is characteristic in the present embodiment is that the capacity optimization process shown in step S21 of FIG. 5 is based on a method different from that of the first embodiment. Other processes are as described in the first embodiment.

図15は、本実施の形態におけるグループ内施設定員数最適化処理を示したフローチャートである。図15に示すように、マッチングサーバ100の定員処理手段8は、グループコードを表す変数をnとしてnの初期値に1を設定し、その後グループ定員条件ファイル2のグループコード項目を参照することにより、予め登録されているグループコードの最大値を記憶する(ステップS41)。次に、定員処理手段8は、現在のグループコードが記憶されているグループコードの最大値より大きいかどうかを確認し(ステップS42)、現在のグループコードが最大値より大きい場合は、処理を終了する。   FIG. 15 is a flowchart showing the intra-group application setting number optimization process in the present embodiment. As shown in FIG. 15, the capacity processing means 8 of the matching server 100 sets a variable representing a group code as n and sets 1 to an initial value of n, and then refers to the group code item in the group capacity condition file 2 The maximum value of the group code registered in advance is stored (step S41). Next, the capacity processing means 8 confirms whether or not the current group code is larger than the maximum value of the stored group code (step S42), and if the current group code is larger than the maximum value, the process ends. To do.

現在のグループコードが最大値以下の場合は、ステップS43に処理が移り、該当のグループコードに属するグループ施設コード情報を、グループ定員条件ファイル2を参照することにより、取得し、施設コードそれぞれの定員数を、施設情報ファイル1を参照することにより、取得する。そしてグループに属する施設の定員数の合計値を算出し、現在のグループコードのグループ定員数と、グループに属する施設の定員数合計値とを比較する(ステップS43)。ステップS43の比較で、グループ定員数がグループ内施設の定員数合計値以上のときは、該当の施設コードのそれぞれの定員数を最適化定員数として施設コードと対応付けて最適化定員情報ファイル10に記憶する(ステップS45)。その後、グループコードを1加算して(ステップS46)、ステップS42の処理に戻る。   If the current group code is less than or equal to the maximum value, the process moves to step S43, and group facility code information belonging to the corresponding group code is obtained by referring to the group capacity condition file 2, and the capacity of each facility code The number is obtained by referring to the facility information file 1. Then, the total number of facilities of facilities belonging to the group is calculated, and the group capacity of the current group code is compared with the total number of facilities of facilities belonging to the group (step S43). If the group capacity is equal to or greater than the total capacity of the facilities in the group in the comparison in step S43, the optimized capacity information file 10 is associated with the facility code with each capacity of the corresponding facility code as the optimized capacity. (Step S45). Thereafter, the group code is incremented by 1 (step S46), and the process returns to step S42.

またステップS43の比較で、グループ定員数がグループ内施設の定員数合計値より小さいときは、ステップS44の処理に移る。ステップS44の処理で、定員処理手段8は、グループ内施設の定員数合計値に対する各施設の定員数の割合に、グループ定員数を乗じた数を該当施設の最適化定員として設定する。なお、このようにして求めた数が整数にならない場合には、その数に基づいて四捨五入等により最適化定員数が整数となるように設定してもよい。設定された最適化定員数は、最適化定員情報ファイル10に、施設コード毎に対応付けて記憶される(ステップS44)。またステップS44の算出において、実施の形態1のステップS35で説明した、「最低定員数補正処理」を同様に処理する。その後ステップS46の処理に移る。   If it is determined in step S43 that the group capacity is smaller than the total number of facilities in the group, the process proceeds to step S44. In the process of step S44, the capacity processing means 8 sets a number obtained by multiplying the ratio of the capacity of each facility to the total capacity of the facilities in the group by the number of group capacity as the optimized capacity of the corresponding facility. In addition, when the number calculated | required in this way does not become an integer, you may set so that the optimization capacity | capacitance number may become an integer by rounding off based on the number. The set optimization capacity is stored in the optimization capacity information file 10 in association with each facility code (step S44). Further, in the calculation of step S44, the “minimum capacity correction process” described in step S35 of the first embodiment is similarly processed. Thereafter, the process proceeds to step S46.

ステップS44の処理について、具体例を用いて説明する。図16に具体例として、例1、例2を示す。例1は、グループコード G01に関して最適化定員数を算出したときを例示している。グループコード G01は、グループ定員数は25名であり、グループとして登録されているグループ施設コードは、A001,A003,A010,A011である。またそれぞれの施設コードの定員数は、図15に示すように、上から10,8,10,7名であり、定員数合計値は35名である。図15のステップS43の処理で、グループ定員数とグループ内施設の定員数合計値とを比較すると、グループ定員数の方が定員数合計値より小さいため、ステップS44の処理により、最適化定員数の算出を行うが、その算出式は、グループ内施設の定員数合計値に対する各施設の定員数の割合に、グループ定員数を乗じるものであり、施設コード A001の場合は、10(A001の定員数)/35(グループ内施設の定員数合計値)×25(グループ定員数)となる。その結果、最適化定員数は、施設コード A001の場合は、7名と算出され、それぞれの最適化定員数は、上から7,6,7,5となる。
このような算出方法により、グループ定員数をグループ内施設コードに、最適化定員数として、配分することができる。
The process of step S44 will be described using a specific example. FIG. 16 shows examples 1 and 2 as specific examples. Example 1 exemplifies the case where the optimized capacity is calculated for the group code G01. The group code G01 has a group capacity of 25 people, and the group facility codes registered as a group are A001, A003, A010, and A011. Further, as shown in FIG. 15, the capacity number of each facility code is 10, 8, 10, 7 from the top, and the total number of capacity numbers is 35 persons. In the process of step S43 in FIG. 15, when the group capacity is compared with the total capacity of the facilities in the group, the group capacity is smaller than the total capacity, so the optimized capacity is obtained by the process of step S44. The calculation formula is to multiply the ratio of the capacity of each facility to the total capacity of the facilities in the group by the number of groups, and in the case of the facility code A001, 10 (A001 capacity Number) / 35 (total number of facilities in the group) × 25 (group capacity). As a result, in the case of the facility code A001, the optimized capacity is calculated as 7 persons, and the optimized capacity is 7, 6, 7, 5 from the top.
With such a calculation method, the group capacity can be allocated to the facility code in the group as an optimized capacity.

図16の例2は、グループコード G02に関して最適化定員数を算出したときを例示している。グループコード G02は、グループ定員数は23名であり、グループとして登録されているグループ施設コードは、A012,A015,A016,A017、A018である。またそれぞれの施設コードの定員数は、図16に示すように、上から3,5,4,7,3名であり、定員数合計値は22名である。図15のステップS43の処理で、グループ定員数とグループ内施設の定員数合計値とを比較すると、グループ定員数の方が定員数合計値より大きいため、グループコード G02に関しては、定員最適化処理は行われない。
なお図16の示した具体例では、最低定員数補正処理は不要であるが、必要に応じて、上述した方法にて、処理が行われる。
Example 2 in FIG. 16 illustrates the case where the optimized capacity is calculated for the group code G02. The group code G02 has a group capacity of 23 people, and the group facility codes registered as a group are A012, A015, A016, A017, and A018. Further, as shown in FIG. 16, the capacity number of each facility code is 3, 5, 4, 7, 3 from the top, and the total number of capacity is 22 persons. In the process of step S43 in FIG. 15, when the group capacity is compared with the total capacity value of the facilities in the group, the group capacity is greater than the total capacity value. Is not done.
In the specific example shown in FIG. 16, the minimum capacity correction process is not required, but the process is performed by the method described above as necessary.

この発明のマッチングシステムで上記定員処理手段は、上記グループ定員条件ファイルのグループIDごとに、グループ定員数がグループ内各B要素の定員数の合計値以上と判定したときは、該当B要素のそれぞれの定員数を最適化定員数としてB要素IDに対応付けて最適化定員情報ファイルに記憶し(図15のステップS45に相当)、一方、グループ定員数がグループ内B要素の定員数合計値より小さいと判定したときは、グループ内B要素の定員数合計値に対する各B要素の定員数の割合に、グループ定員数を乗じた数に基づいて該当B要素IDの最適化定員を設定し、この最適化定員数を、B要素IDに対応付けて最適化定員情報ファイルに記憶する(図15のステップS44に相当)。
この構成は、請求項3の構成に対応し、図15に示した処理を行うための構成である
In the matching system of the present invention, when the capacity processing means determines that the group capacity is equal to or greater than the total number of the B elements in the group for each group ID of the group capacity condition file, each of the corresponding B elements Is stored in the optimized capacity information file in correspondence with the B element ID as the optimized capacity (corresponding to step S45 in FIG. 15), while the group capacity is determined from the total number of B elements in the group. When it is determined to be small, the optimized capacity of the corresponding B element ID is set based on the ratio of the capacity of each B element to the total capacity of the B elements in the group multiplied by the number of groups. The optimized capacity number is stored in the optimized capacity information file in association with the B element ID (corresponding to step S44 in FIG. 15).
This configuration corresponds to the configuration of claim 3 and is a configuration for performing the processing shown in FIG.

実施の形態3.
本実施の形態におけるシステム構成図は、実施の形態1で用いた図1、図2のとおりである。本実施の形態で特徴的なことは、図5のステップS21で示した定員数の最適化処理が、実施の形態1および2とは異なる方法によることである。その他の処理については、実施の形態1で説明したとおりである。
実施の形態1および2では、グループ定員数による除算を用いて最適化定員数を決定した。実施の形態3では、グループ定員数を考慮した減算を用いて最適化定員数を決定する。
Embodiment 3 FIG.
The system configuration diagram in the present embodiment is as shown in FIGS. 1 and 2 used in the first embodiment. What is characteristic in the present embodiment is that the capacity optimization process shown in step S21 of FIG. 5 is based on a method different from that in the first and second embodiments. Other processes are as described in the first embodiment.
In Embodiments 1 and 2, the optimized capacity is determined using division by the group capacity. In the third embodiment, the optimized capacity is determined using subtraction in consideration of the group capacity.

実施の形態3では、まず仮マッチ数をそのまま最適化定員数とし、その後、最適化定員数が大きい順に、各施設コードの最適化定員数を一定値ずつ(たとえば1ずつ)減算し、これを最適化定員数の合計値がグループ定員数以下になるまで繰り返す。
図14の例1では、施設コードA010の仮マッチ数(すなわち最適化定員数の初期値)が8と最も大きいので、まず施設コードA010の最適化定員数を7に減少させる。それでもまだ施設コードA010の最適化定員数が最も大きいので、これをさらに6に減少させる。ここで施設コードA003と施設コードA010の最適化定員数が6で等しくなるので、次の段階ではそれぞれの最適化定員数を5に減少させる。このようにして、最適化定員数の合計値がグループ定員数以下になるまで減算が繰り返される。
なお、最大の最適化定員数を持つ施設コードが複数ある場合には、上記のようにすべてを一律に減算することとしてもよく、また、いずれかの施設コードを選択してその最適化定員数のみを減算することとしてもよい。
In the third embodiment, the number of temporary matches is first set as an optimization capacity, and then the optimization capacity of each facility code is subtracted by a certain value (for example, 1) in descending order of the optimization capacity. Repeat until the total number of optimized capacity is less than the group capacity.
In Example 1 of FIG. 14, the provisional match number (that is, the initial value of the optimized capacity) of the facility code A010 is as large as 8, so the optimized capacity number of the facility code A010 is first reduced to 7. Still, the optimization capacity of facility code A010 is still the largest, so this is further reduced to 6. Here, since the optimization capacity numbers of the facility code A003 and the facility code A010 are equal to 6, the optimization capacity number is decreased to 5 in the next stage. In this way, the subtraction is repeated until the total value of the optimized capacity is less than or equal to the group capacity.
If there are multiple facility codes with the maximum number of optimized capacity, all of the facility codes may be subtracted uniformly as described above. It is good also as subtracting only.

なお、減算処理を行うときに、「最低人数」を設定し、最適化定員数を減算した結果、最低人数を下回る場合は、該当施設コードの最適化定員数に対して減算処理を行わないように、構成することができる。
また最適化定員数の合計がグループ定員数より小さい場合には、最適化定員数の多い順に、一定数ずつ加算する。但し、最適化定員数が定員数と等しい場合には、その次に最適化定員数の大きい施設コードに対して処理を行う。
In addition, when performing the subtraction process, if the “minimum number of people” is set and the optimized capacity is subtracted, if the number is less than the minimum, the subtraction process will not be performed on the optimized capacity of the facility code. It can be configured.
Further, when the total number of optimized capacity is smaller than the group capacity, a fixed number is added in descending order of the optimized capacity. However, when the number of optimized capacity is equal to the number of capacity, processing is performed for the facility code having the next largest number of optimized capacity.

実施の形態3によれば、仮マッチ数に応じた公平性が失われることと引き換えに、仮マッチ数が小さい施設については最適化定員数を減少させず維持することができる。   According to the third embodiment, in exchange for the loss of fairness according to the number of temporary matches, facilities with a small number of temporary matches can be maintained without reducing the optimized capacity.

さらに、実施の形態3の変形例として、減算の対象となる施設コードを決定する基準を実施の形態3とは異なるものとすることができる。たとえば、参加者ROLファイル3、施設ROLファイル4、またはその双方を考慮してもよい。
たとえば、最も人気の低い施設の最適化定員数を減算するという基準を用いることができる。この処理は次のようにして実行される。まず、施設コードごとに、その施設に仮マッチングされた参加者すべてについて参加者ROLファイル3を参照し、その施設の優先順位の平均を算出する。そして、優先順位の平均が最も大きい施設コード、すなわち最も人気の低い施設コードの最適化定員数を減算する。このようにして、最適化定員数の合計値がグループ定員数以下になるまで減算が繰り返される。
Furthermore, as a modified example of the third embodiment, a reference for determining a facility code to be subtracted can be different from that of the third embodiment. For example, participant ROL file 3, facility ROL file 4, or both may be considered.
For example, a criterion of subtracting the optimized capacity of the least popular facility can be used. This process is executed as follows. First, for each facility code, the participant ROL file 3 is referred to for all participants temporarily matched with the facility, and the average of the priority of the facility is calculated. Then, the optimized capacity number of the facility code having the highest average priority, that is, the least popular facility code is subtracted. In this way, the subtraction is repeated until the total value of the optimized capacity is less than or equal to the group capacity.

このような変形例によれば、最適化定員数の決定処理自体においても優先度を考慮することができる。   According to such a modification, the priority can be taken into consideration in the optimization capacity determination process itself.

また、上記実施の形態1〜実施の形態3の方法は、グループが階層的に構成されている場合にも応用することができる。すなわち、複数のグループがさらに1つのメタグループを構成し、そのメタグループも定員条件を有している場合には、まずグループ定員数を基準として暫定の最適化定員数を決定し、次にメタグループ定員数を基準として最終的な最適化定員数を決定することができる。   Moreover, the method of the said Embodiment 1- Embodiment 3 is applicable also when the group is comprised hierarchically. That is, when a plurality of groups further constitute one meta group and the meta group also has a capacity requirement, the provisional optimization capacity is first determined based on the group capacity, and then the meta capacity is determined. The final optimized capacity can be determined based on the group capacity.

以上の各実施の形態で、マッチングシステム(マッチングサーバ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により読み出され実行される。
In each of the above embodiments, the matching system (matching server 100, participant terminal 200, facility manager terminal 300, matching manager terminal 400) can be realized by a computer. Although not shown, each device includes a CPU (Central Processing Unit) that realizes the function of the device by executing a program.
For example, the CPU is connected to a ROM (Read Only Memory), a RAM (Random Access Memory), a communication board, a display device, a K / B (keyboard), a mouse, an FDD (Flexible Disk Drive), and a CDD (Compact Disc) via a bus. Drive), magnetic disk device, optical disk device, printer device, scanner device and the like.
The RAM is an example of a volatile memory. ROM, FDD, CDD, magnetic disk device, and optical disk device are examples of nonvolatile memory. These are examples of a storage device or a storage unit.
Data and information handled by each device of the above-described embodiment are stored in a storage device or a storage unit, and are recorded and read by each unit of the device.
The communication board is connected to a WAN (Wide Area Network) such as a LAN, the Internet, or ISDN. The magnetic disk device stores an operating system (OS), a window system, a program group, and a file group (database).
The program group is executed by a CPU, OS, and window system.
Each part of each of the above devices may be configured by a program that can be operated by a computer in part or in whole. Alternatively, it may be realized by firmware stored in the ROM. Alternatively, it may be implemented by software, hardware, or a combination of software, hardware, and firmware.
The program group stores a program that causes the CPU to execute the processing described as “˜means” in the description of the embodiment and realizes the function of the means. These programs are created by computer languages, such as C language, HTML, SGML, and XML, for example.
The program is stored in another recording medium such as a magnetic disk device, FD (Flexible Disk), optical disk, CD (compact disk), MD (mini disk), DVD (Digital Versatile Disk), and read by the CPU. And executed.

1 施設情報ファイル、2 グループ定員条件ファイル、3 参加者ROLファイル、4 施設ROLファイル、5 マッチング結果格納ファイル、6 通信手段、7 ROL作成手段、8 定員処理手段、9 マッチング手段(マッチング処理手段)、10 最適化定員情報ファイル、20 入力手段、21 表示手段、22 処理手段、23 通信手段、30 入力手段、31 表示手段、32 処理手段、33 通信手段、100 マッチングサーバ、200 参加者端末、300 施設管理者端末、400 マッチング管理者端末、500 通信網。   1 facility information file, 2 group capacity condition file, 3 participant ROL file, 4 facility ROL file, 5 matching result storage file, 6 communication means, 7 ROL creation means, 8 capacity processing means, 9 matching means (matching processing means) 10 Optimized capacity information file, 20 input means, 21 display means, 22 processing means, 23 communication means, 30 input means, 31 display means, 32 processing means, 33 communication means, 100 matching server, 200 participant terminal, 300 Facility manager terminal, 400 matching manager terminal, 500 communication network.

Claims (3)

複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、
上記集合Bの各要素は1以上のグループのいずれかに属しており、
上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、
上記集合Bの特定のグループを示すグループIDごとに、このグループに属するB要素IDと、グループ定員数とを記憶したグループ定員条件ファイルと、
上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、
上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、
上記グループ定員条件ファイルに記憶されたグループ定員数を参照し、このグループ定員数に基づき、グループに属するB要素IDの最適化定員数を算出し、算出した最適化定員数をB要素IDと対応付けて、最適化定員情報ファイルに記憶する定員処理手段と、
上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記最適化定員情報ファイルに記憶された最適化定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段と
を備えたことを特徴とするマッチングシステム。
A matching system for matching elements of a set A composed of a plurality of elements and a set B composed of a plurality of elements,
Each element of the set B belongs to one or more groups,
For each B element ID of each element of the set B, a quorum file storing the quorum acceptable for matching,
For each group ID indicating a specific group of the set B, a group capacity condition file storing a B element ID belonging to this group and the number of group capacity,
A first priority list file storing a first priority list uniquely ranked for all or part of the elements of the set B for each A element ID of each element of the set A When,
A second priority list file storing a second priority list uniquely ranked for all or part of the elements of the set A for each B element ID of each element of the set B When,
Refers to the group capacity stored in the group capacity condition file, calculates the optimized capacity of the B element ID belonging to the group based on this group capacity, and associates the calculated optimized capacity with the B element ID In addition, capacity processing means for storing in the optimized capacity information file,
Based on the optimized capacity numbers stored in the first priority list file, the second priority list file, and the optimized capacity information file, the elements of the set A are changed to any of the elements of the set B. On the other hand, a matching system comprising: matching processing means for performing matching processing.
上記定員処理手段は、上記マッチング処理手段に上記第1の優先度リストファイル、上記第2の優先度リストファイルおよび上記定数ファイルに記憶された定数に基づく、マッチング処理を指示し、上記マッチング処理手段は、マッチングの結果を仮マッチ結果として記憶手段に記憶し、
上記グループ定員条件ファイルのグループIDごとに、グループ定員数がグループ内各B要素の定員数の合計値以上と判定したときは、該当B要素のそれぞれの定員数を最適化定員数としてB要素IDに対応付けて最適化定員情報ファイルに記憶し、
一方、グループ定員数がグループ内各B要素の定員数合計値より小さいと判定したときは、上記仮マッチ結果を参照し、各B要素の仮マッチ数とグループ内各B要素の仮マッチ数合計値とを算出し、グループ内B要素の仮マッチ数合計値に対する各B要素の仮マッチ数の割合に、上記グループ定員数を乗じた数に基づいて該当B要素IDの最適化定員数を設定し、この最適化定員数を、B要素IDに対応付けて最適化定員情報ファイルに記憶することを
特徴とする請求項1に記載のマッチングシステム。
The capacity processing means instructs the matching processing means to perform matching processing based on constants stored in the first priority list file, the second priority list file, and the constant file, and the matching processing means Stores the result of the matching as a temporary match result in the storage means,
For each group ID in the above group capacity condition file, if it is determined that the group capacity is equal to or greater than the total number of B elements in the group, each element number of the corresponding B element is set as the optimized capacity number. Stored in the optimized capacity information file in association with
On the other hand, when it is determined that the group capacity is smaller than the total number of B elements in the group, the provisional match result is referred to, and the number of temporary matches for each B element and the total number of provisional matches for each B element in the group. Value is calculated, and the optimized capacity of the corresponding B element ID is set based on the ratio of the number of provisional matches of each B element to the total number of provisional matches of the B elements in the group multiplied by the above group capacity The matching system according to claim 1, wherein the optimized capacity number is stored in an optimized capacity information file in association with the B element ID.
上記定員処理手段は、上記グループ定員条件ファイルのグループIDごとに、グループ定員数がグループ内各B要素の定員数の合計値以上と判定したときは、該当B要素のそれぞれの定員数を最適化定員数としてB要素IDに対応付けて最適化定員情報ファイルに記憶し、
一方、グループ定員数がグループ内B要素の定員数合計値より小さいと判定したときは、グループ内B要素の定員数合計値に対する各B要素の定員数の割合に、グループ定員数を乗じた数に基づいて該当B要素IDの最適化定員数を設定し、この最適化定員数を、B要素IDに対応付けて最適化定員情報ファイルに記憶することを
特徴とする請求項1に記載のマッチングシステム。
The capacity processing means optimizes the capacity of each B element when the group capacity is determined to be greater than or equal to the total number of B elements in the group for each group ID in the group capacity condition file. Store it in the optimized capacity information file in association with the B element ID as the capacity,
On the other hand, if it is determined that the group capacity is smaller than the total number of B elements in the group, the ratio of the number of each B element to the total number of B elements in the group multiplied by the group capacity 2. The matching capacity according to claim 1, wherein an optimization capacity number of the corresponding B element ID is set based on the information, and the optimization capacity number is stored in an optimization capacity information file in association with the B element ID. system.
JP2009007632A 2009-01-16 2009-01-16 Matching system Active JP4728407B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009007632A JP4728407B2 (en) 2009-01-16 2009-01-16 Matching system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009007632A JP4728407B2 (en) 2009-01-16 2009-01-16 Matching system

Publications (2)

Publication Number Publication Date
JP2010165224A JP2010165224A (en) 2010-07-29
JP4728407B2 true JP4728407B2 (en) 2011-07-20

Family

ID=42581322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009007632A Active JP4728407B2 (en) 2009-01-16 2009-01-16 Matching system

Country Status (1)

Country Link
JP (1) JP4728407B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6973746B2 (en) * 2017-09-29 2021-12-01 富士通株式会社 Matching program, matching method and matching device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141401A (en) * 2003-11-05 2005-06-02 Mitsubishi Electric Corp Bidirectional matching system and bidirectional matching program
JP4465328B2 (en) * 2006-03-29 2010-05-19 三菱電機インフォメーションシステムズ株式会社 Matching system
JP4355708B2 (en) * 2006-03-29 2009-11-04 三菱電機インフォメーションシステムズ株式会社 Matching system
JP4465327B2 (en) * 2006-03-29 2010-05-19 三菱電機インフォメーションシステムズ株式会社 Matching system
JP4927458B2 (en) * 2006-06-29 2012-05-09 三菱電機インフォメーションシステムズ株式会社 Wish list creation assist system
JP4129052B1 (en) * 2008-03-10 2008-07-30 三菱電機インフォメーションシステムズ株式会社 Bidirectional matching system and bidirectional matching program

Also Published As

Publication number Publication date
JP2010165224A (en) 2010-07-29

Similar Documents

Publication Publication Date Title
Zinn et al. Organizational and environmental factors in hospital alliance membership and contract management: A resource-dependence perspective
US20100100394A1 (en) Displaying clinical predicted length of stay of patients for workload balancing in a healthcare environment
US20200273562A1 (en) Automated healthcare staffing system
Sochalski et al. Accounting For Variation In Hospital Outcomes: A Cross-National Study: Researchers from four nations are attempting to shed light on some troubling trends in their hospital sectors.
Cummings et al. As we age: Listening to the voice of LGBTQ older adults
JP7043235B2 (en) Bed management business support system
JP2010204993A (en) Image reading support method and system, and image reading support program
Royston One hundred years of operational research in health—UK 1948–2048
O’Brien et al. How does NGO partnering change over time? A longitudinal examination of factors that influence NGO partner selection
Trybou et al. The ties that bind: an integrative framework of physician-hospital alignment
Zychlinski Managing queues with reentrant customers in support of hybrid healthcare
Knight et al. Reduced waiting times for the GP: two examples of “advanced access” in Australia
Yu et al. Offshoring professional services: Institutions and professional control
JP5286384B2 (en) Matching system
JP4728407B2 (en) Matching system
Chang et al. The nurse specialist role in Hong Kong: perceptions of nurse specialists, doctors and staff nurses
Whetton Successes and failures: what are we measuring?
Dowd et al. PQRS participation, inappropriate utilization of health care services, and medicare expenditures
JP4738495B2 (en) Matching system
JP5028519B2 (en) Matching system and computer program
JP5011353B2 (en) Matching system
JP4355708B2 (en) Matching system
Whitten et al. Telemedicine in the Michigan Upper Peninsula region: an evaluation of the first five years
JP4465327B2 (en) Matching system
JP4465328B2 (en) Matching system

Legal Events

Date Code Title Description
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: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110414

R150 Certificate of patent or registration of utility model

Ref document number: 4728407

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250