JP5011353B2 - Matching system - Google Patents
Matching system Download PDFInfo
- Publication number
- JP5011353B2 JP5011353B2 JP2009168972A JP2009168972A JP5011353B2 JP 5011353 B2 JP5011353 B2 JP 5011353B2 JP 2009168972 A JP2009168972 A JP 2009168972A JP 2009168972 A JP2009168972 A JP 2009168972A JP 5011353 B2 JP5011353 B2 JP 5011353B2
- Authority
- JP
- Japan
- Prior art keywords
- capacity
- matching
- priority
- file
- training program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
この発明はマッチングシステムに関し、特に、双方向のそれぞれの希望をもとに組合せを決めるマッチングシステムに関する。 The present invention relates to a matching system, and more particularly to a matching system that determines a combination based on each bidirectional request.
例えば、就職志願者の集合と志願者を受け入れる企業の集合の間のマッチング問題のように、双方向に優先度を持つ集合間のマッチング問題においてマッチングを行うための手法が提案されつつある(例えば、非特許文献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.
マッチングの一例を図21に示す。図21では、志願者の集合{a1,a2,a3,a4,a5,a6,a7}と企業の集合{p1,p2,p3,p4}の間のマッチングとして、{(a1,p1),(a2,p3),(a3,p4),(a5,p3),(a6,p4)}が得られている。このマッチングでは、志願者a4,a7と企業p2にはマッチング相手が存在しない。 An example of matching is shown in FIG. In FIG. 21, as a matching between a set of applicants {a1, a2, a3, a4, a5, a6, a7} and a 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.
また、図22に志願者と企業の優先度リストの例を示す。それぞれの優先度リストでは上に記載されているものほど好ましい相手を示す。言い換えれば、下に行くほど順位が大きくなる。図22の例では、志願者は3つの企業に対して、p1<p4<p3という順序をつけている。企業は6人の志願者にa7<a1<a4<a3<a5<a6という順序をつけている。マッチングすることをまったく望まない相手は優先度リストに記載しない。 FIG. 22 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. 22, 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.
図23に、上記非特許文献1に書かれているGale−Shapleyアルゴリズムを用いた従来のマッチング方法を示すフローチャート図を示す。全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業(すなわち、第1希望)から順番にプロポーズを行なうのが特徴である。
FIG. 23 is a flowchart showing a conventional matching method using the Gale-Shapley algorithm described in
図23の説明を行う前に、図24を用いて簡単に概要を説明する。図24の例は、4つの病院の集合と、それらの病院に就職を希望する8人の志願者の集合とのマッチング問題を想定している。明石さんから工藤さんまでの全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業から順番にプロポーズを行なう。 Before the description of FIG. 23, the outline will be briefly described with reference to FIG. The example in FIG. 24 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 is rejected, and when it is proposed to the 3rd hope Mimura Hospital, it is named 6th (Eguchi, 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 request 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.
上記の図23のフローチャートを用いて、図24を例にして行ったこの処理について説明する。ステップS100において、あらかじめ仮マッチングを空集合にする。ステップS101において、未処理の志願者がなければ終了し、あればその志願者の1人aに対して以下の処理を行う。ステップS102において、志願者aが優先度リストROL(a)の何番目の企業に対してプロポーズするかの指標であるa.iを1に設定する。これは、全志願者は順番に、まず自分の優先度リストで順位の一番小さい企業に対してプロポーズを行うことを示す。ステップS103において、優先度リストROL(a)の要素数がa.iより小さければ、志願者aは最終的にどの企業ともマッチングできなかったことになり、ステップS101に戻る。一方、ステップS103において、優先度リストROL(a)の要素数がa.iより小さくなければ、ステップS104において、優先度リストROL(a)のa.i番目の企業をpとする。ステップS105において、aがpの優先度リストROL(p)に含まれなければ、a.iをa.i+1に設定し直して、ステップS103に戻る。これは、プロポーズされた企業pはプロポーズした志願者aがROL(p)に記載されていなければ拒絶し、拒絶された志願者aは、自分の優先度リストROL(a)での順位が企業pの次に小さい企業にプロポーズをやり直すことに相当する。一方、ステップS105において、aがpの優先度リストROL(p)に含まれていれば、ステップS106において、その時点でpが仮マッチングしている志願者の数が定員Q(p)より少なければ、ペア(a,p)を仮マッチングに加えてステップS101に戻る。一方、ステップS106において、その時点でpが仮マッチングしている志願者の数が定員Q(p)より少なくなければ、ステップS107において、pと仮マッチングしている志願者の中で、pの優先度リストROL(p)で順位が最も大きいものをa1とする。a1とプロポーズしている志願者aとの間で、ROL(p)での順位を比較する。aの順位の方が大きければ、a.iをa.i+1に設定し直して、ステップS103に戻る。これは、aの順位の方が大きければ企業pはaを拒絶することに相当する。拒絶された志願者aは、pの次に自分の優先度リストROL(a)での順位が小さい企業にプロポーズをやり直すことになる。このステップS107以降では企業pと仮マッチングしている志願者数が定員Q(p)と等しい。ステップS108において、a1の順位の方がaの順位より大きいので、ペア(a,p)を仮マッチングに加え、ペア(a1,p)を仮マッチングから除外し、aをa1に設定し直す。ステップS109において、a.iをa.i+1に設定し直してステップS103に戻る。つまり、仮マッチングから除外された志願者(元のa1)は、pの次に自分の優先度リストでの順位が小さい企業に対してプロポーズをやり直すことになる。図23の処理が終了するのは、ステップS101において、すべての志願者が、いずれかの企業と仮マッチングされるか、または、自分の優先度リストに記載された企業すべてから拒絶されたときである。図23の処理が終了した段階で最終的に得られた仮マッチングをマッチング結果とする。なお、Gale−Shapleyアルゴリズムにより得られるマッチングは安定であることが非特許文献1に記載されている。
以上のように、従来のマッチングシステムにおいては、志願者と企業のように1対1になる組み合わせを、安定したマッチング結果が得られると定評の高いGale−Shapleyアルゴリズムにより求めている。
This processing performed by taking FIG. 24 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 if the proposed applicant a is not listed in the ROL (p), and the rejected applicant a is ranked in the company's priority list ROL (a). This is equivalent to reproposing to the next smaller company after p. 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. 23 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
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.
ところで、ある企業にマッチングされた志願者の数が企業側の定員数に等しい場合、その企業の定員数を増員し、さらにマッチングを行うとその企業にマッチングされる志願者が増える可能性が出てくる。そのため、定員数の変動により全体として志願者側のマッチ率(全志願者数に対して、いずれかの企業にマッチングされた志願者数の割合)の向上と、企業側の定員充足率(全企業の定員総数に対するマッチ数(いずれかの企業に、いずれかの志願者がマッチングされた数の合計値)の割合)の向上の可能性がある。 By the way, if the number of applicants matched to a certain company is equal to the number of companies on the company side, increasing the number of companies and further matching may increase the number of applicants matched to that company. Come. Therefore, due to fluctuations in the number of applicants, the overall match rate on the applicant side (the ratio of the number of applicants matched to any company to the total number of applicants) and the company's capacity full rate (total There is a possibility of an improvement in the number of matches (the ratio of the number of candidates matched to any company) to the total number of companies.
上述のように、定員数を変更することにより、マッチ率およびマッチ数の向上の可能性がある。しかしながら、従来のマッチングシステムでは、一度設定した定員数を変更することができず、マッチ率向上と、定員充足率向上を期待することができなかった。 As described above, there is a possibility of improving the match rate and the number of matches by changing the number of seats. However, in the conventional matching system, the number of capacities set once cannot be changed, and it is not possible to expect an improvement in match rate and an increase in capacity full rate.
この発明は、かかる問題点を解決するためになされたものであり、集合Aの要素と集合Bの要素とがマッチングされるマッチングシステムにおいて、集合Aの要素の定員数を変動させることにより、集合Bの要素側のマッチ率向上と、集合Aの要素側の定員充足率向上の可能性があるマッチングシステムを得ることを目的としている。 The present invention has been made to solve such a problem, and in a matching system in which the elements of the set A and the elements of the set B are matched, the set number of elements of the set A is changed. The object is to obtain a matching system that can improve the match rate on the element side of B and the capacity fullness on the element side of set A.
この発明に係るマッチングシステムは、複数のA要素からなる集合Aと、複数のB要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、集合Bの各B要素のB要素IDごとに、マッチングにおける定員数と定員数上限とを記憶した定員数ファイルと、集合Bの各B要素のB要素IDに対応して、定員振替処理における優先順位を記憶した定員振替情報ファイルと、集合Aの各A要素のA要素IDごとに、集合BのB要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、集合Bの各B要素のB要素IDごとに、集合AのA要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、第1のマッチング手段であって、第1のマッチング手段は、第1の優先度リストファイルと、第2の優先度リストファイルと、定員数ファイルに記憶された定員数とに基づいて、集合AのA要素を、集合Bに含まれるB要素のいずれかに対してマッチングするマッチング処理を行い、第1のマッチング手段は、それまでに行われたマッチング処理の回数を、仮マッチング結果格納ファイルに記憶し、第1のマッチング手段は、さらに、B要素ID毎に、そのB要素の定員数と、そのB要素に対してマッチングされたA要素の数であるマッチ数とを、仮マッチング結果格納ファイルに記憶する第1のマッチング処理手段と、定員振替処理を行う定員振替手段であって、定員振替手段は、仮マッチング結果格納ファイルに記憶された、それまでに行われた最後のマッチング処理におけるB要素ID毎の定員数およびマッチ数と、定員振替情報ファイルに記憶された優先順位とに基づいて、定員増員B要素IDと定員減員B要素IDとを決定し、定員振替処理を行い、定員振替処理は、定員増員B要素IDと、定員減員B要素IDとに対し、定員増員B要素IDのマッチ数が定員数と等しいとき、定員増員B要素IDの定員数を所定量だけ増加させるとともに、定員減員B要素IDの定員数を所定量だけ減少させるものであり、定員振替手段は、さらに、定員振替処理後の各B要素IDの定員数を、新たに行われるマッチング処理における各B要素の定員数として、仮マッチング結果格納ファイルに記憶する定員振替手段と、第1の優先度リストファイルと、第2の優先度リストファイルと、仮マッチング結果格納ファイルに記憶された、新たに行われるマッチング処理における各B要素の定員数とに基づいて、集合Aの要素を、集合Bのいずれかの要素に対して、新たにマッチング処理を行う第2のマッチング処理手段とを備えたことを特徴とするマッチングシステムであって、定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施されることを特徴とする。 The matching system according to the present invention is a matching system for matching each element of a set A composed of a plurality of A elements and a set B composed of a plurality of B elements, and is a B element of each B element of the set B For each ID, a quorum file storing the number of matching and the upper limit of the quorum, and a quorum transfer information file storing priority in the quorum transfer process corresponding to the B element ID of each B element of the set B First priority list storing a first priority list uniquely ranked for all or part of B elements of set B for each A element ID of each A element of set A A second priority storing a second priority list uniquely ranked for all or part of the A elements of the set A for each B element ID of the file and each B element of the set B Degree list file and The first matching means, the first matching means, based on the first priority list file, the second priority list file, and the quorum stored in the quorum file, sets A A matching process is performed to match the A element of any one of the B elements included in the set B, and the first matching means stores the number of matching processes performed so far in the temporary matching result storage file. The first matching means further stores, for each B element ID, the quorum of the B element and the number of matches that is the number of A elements matched to the B element. A first matching processing means stored in a file and a capacity transfer means for performing a capacity transfer process, the capacity transfer means being stored in the temporary matching result storage file; Based on the number of matches and the number of matches for each B element ID in the last matching process performed, and the priority stored in the capacity transfer information file, the capacity increase B element ID and the capacity decrease B element ID are determined. The capacity transfer process is performed when the number of matches for the capacity increase B element ID is equal to the capacity for the capacity increase B element ID and the capacity decrease B element ID. In addition to increasing the number by a predetermined amount, the number of capacity decrease B element ID is decreased by a predetermined amount, and the capacity transfer means further increases the number of capacity of each B element ID after the capacity transfer process. Capacity transfer means for storing in a temporary matching result storage file, a first priority list file, and a second priority list file as the number of each B element in the matching process to be performed And a new matching of an element of set A against any element of set B based on the number of each B element stored in the newly executed matching process stored in the temporary matching result storage file A matching system comprising a second matching processing means for performing processing, wherein the processing of the capacity transfer means and the second matching processing means is performed until a predetermined end condition is satisfied. It is characterized by that.
集合BのB要素は、1以上のB要素でグループを構成していて、定員振替情報ファイルは、集合Bの各B要素のB要素IDに対応して、グループ内の定員振替処理の優先順位を記憶しており、定員振替処理は、互いに同一のグループに含まれるB要素間でのみ行われるものであってもよい。
集合BのB要素は、1以上のB要素でグループを構成していて、定員数ファイルは、さらにグループのそれぞれについてグループ定員数上限を記憶しており、定員振替処理は、当該定員振替処理を行ったと仮定した場合に、定員増員B要素IDの属するグループにおけるB要素毎の定員数の合計値が、そのグループのグループ定員数上限を上回らないこととなる場合にのみ行われるものであってもよい。
仮マッチング結果格納ファイルには、さらに、定員振替処理が実行されるたびに、定員減員B要素IDから定員増員B要素IDに定員が振り替えられたことを表す振替履歴が記憶され、定員振替処理は、定員増員B要素IDから定員減員B要素IDに定員が振り替えられたことを表す振替履歴が存在しない場合にのみ行われるものであってもよい。
The B element of the set B constitutes a group of one or more B elements, and the capacity transfer information file corresponds to the B element ID of each B element of the set B, and the priority order of the capacity transfer process in the group The capacity transfer process may be performed only between the B elements included in the same group.
The B element of the set B constitutes a group of one or more B elements, and the capacity file further stores the upper limit of the group capacity for each group, and the capacity transfer process includes the capacity transfer process. Even if it is performed only when the total number of capacity for each B element in the group to which the capacity increase B element ID belongs does not exceed the group capacity upper limit of that group Good.
The temporary matching result storage file further stores a transfer history indicating that the capacity has been transferred from the capacity reduction B element ID to the capacity increase B element ID each time the capacity transfer process is executed. It may be performed only when there is no transfer history indicating that the capacity has been transferred from the capacity increase B element ID to the capacity decrease B element ID.
この発明によれば、集合Bの要素の定員数を変動させることにより、集合Aの要素側のマッチ率向上と、集合Bの要素側の定員充足率向上の可能性があるマッチングシステムを得ることができる。 According to the present invention, by changing the number of elements of the set B elements, a matching system that can improve the match rate on the element side of the set A and the capacity full rate on the element side of the set B is obtained. Can do.
実施の形態1.
この発明の実施の形態1に係るマッチングシステムは、参加者と施設との組合せを決定するためのシステムである。例を挙げて説明すれば、例えば、医学部の卒業生で研修を希望する研修希望者(以下、参加者とする。)は、医療研修施設(すなわち、大学病院、総合病院など。以下、施設とする。)で、研修を経験する必要がある。
The matching system according to
また施設(病院)は、施設毎に異なる診察科(総合内科、循環器内科、心臓外科、小児科、女性診療科等)を有している。本実施の形態では、特定の施設の特定の診療科(A病院の心臓外科、B病院の総合外科、等)を、「研修プログラム」と呼ぶこととし、参加者と研修プログラムとがマッチングされるものとする。
施設は、施設の定員が全ての研修プログラムの定員の合計となるように研修プログラムごとに定員を設定する。参加者は、どの研修プログラムで研修を受けたいかを指定し、施設は、研修プログラムごとにどの参加者を受け入れたいかを指定する。
マッチング処理の結果、参加者は研修プログラムに、マッチングされる。具体的に一例を挙げると、参加者1は、研修プログラムA0001(A病院の心臓外科)に、参加者2は、研修プログラムB0001(B病院の総合内科)にマッチングされる。
In addition, facilities (hospitals) have different departments (general medicine, cardiovascular medicine, cardiac surgery, pediatrics, female medical care, etc.). In the present embodiment, a specific department (cardiac surgery at hospital A, general surgery at hospital B, etc.) at a specific facility is called a “training program”, and the participants and the training program are matched. Shall.
The facility sets a capacity for each training program so that the capacity of the facility is the total of all training programs. Participants specify in which training programs they want to receive training, and the facility specifies which participants want to accept each training program.
As a result of the matching process, participants are matched to the training program. As a specific example,
本実施の形態では、1つの研修プログラムの定員数を、複数の研修プログラムの定員数上限と優先順位とに基づき、増員または減員させることにより、1つの研修プログラムにマッチングされる参加者数が増える可能性を得ることを特徴とする。それにより、マッチングシステム全体として、参加者側のマッチ率向上と、施設側の定員充足率向上とが期待できる。
なおマッチ数とは、各々の研修プログラムにマッチングされた参加者の数の合計値を示す。またマッチ率とは、全参加者数に対して、いずれかの研修プログラムにマッチングされた参加者数の割合を示す。また定員充足率とは、全研修プログラムの定員総数に対して、マッチ数(研修プログラムに、いずれかの参加者がマッチングされた数の合計値)の割合を示す。
In the present embodiment, the number of participants matched to one training program is increased by increasing or decreasing the number of persons in one training program based on the upper limit and the priority order of the number of training programs. It is characterized by gaining possibilities. As a result, the matching system as a whole can be expected to improve the match rate on the participant's side and the capacity full rate on the facility side.
The number of matches indicates the total number of participants matched to each training program. The match rate indicates the ratio of the number of participants matched to any training program to the total number of participants. In addition, the capacity full rate indicates the ratio of the number of matches (the total number of matches of any participant in the training program) to the total number of all training programs.
図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
図2は、図1に示した各構成要素の内部構成を示した図である。図2に示すように、マッチングサーバ100内には、研修プログラム情報ファイル(定員数ファイル)1と、定員振替情報ファイル2と、参加者ROLファイル(第1の優先度リストファイル)3と、研修プログラムROLファイル(第2の優先度リストファイル)4と、仮マッチング結果格納ファイル5と、マッチング結果格納ファイル6の6つのファイルが記憶されている。これらは、共通の1つの記憶装置内に記憶されていてもよく、あるいは、複数の記憶装置内に記憶されていてもよい。さらに、マッチングサーバ100内には、通信網500を介して外部との通信を行うための通信手段7と、ROLファイルを作成するROL作成手段8と、定員振り替えに関する処理を行う定員振替手段9と、マッチング手段10とが設けられている。
FIG. 2 is a diagram showing an internal configuration of each component shown in FIG. As shown in FIG. 2, in the matching
図3は、研修プログラム情報ファイル1の一例を示した図である。研修プログラム情報ファイル1には、各研修プログラムの情報が格納されている。すなわち、研修プログラム情報ファイル1には、各研修プログラムを特定するための「研修プログラム番号」、その研修プログラムの「定員数(参加者の受け入れ可能人数)」、「定員数上限(参加者の最大受け入れ可能人数)」、研修プログラムが実施される施設を特定するためのIDである「施設コード」、「施設名」、「施設住所(施設の所在地)」などの情報が格納されている。また図3には図示していないが、研修プログラムに関する情報なども格納される。なお、後述するように、「定員数」とは後述する定員振替処理にて、調整される暫定的な定員数を表し、たとえば初期段階(1回目のマッチング段階)では施設側からみた希望人数であり、2回目以降のマッチングでは後述する定員振替処理で決定される定員数に相当する。また、「定員数上限」とは、調整によって変動する定員数の上限であり、たとえば設備上の制約等を考慮して実際にその研修プログラムに対してマッチング可能な人数の上限を表す。
FIG. 3 is a diagram showing an example of the training
図4は、定員振替情報ファイル2の一例を示した図である。定員振替情報ファイル2には、研修プログラムを特定するための「研修プログラム番号」と、研修プログラムの「順位」情報とが格納されている。研修プログラム番号に対応して、定員振替処理の優先順位が記憶される。順位情報は、定員振替処理を実施するときに、定員を増やしたい順位を、第1位から順番に、研修プログラム数まで振られる数値である。本実施の形態においては、マッチング管理者端末400から入力され、通信手段33から通信手段7に送信され、定員振替情報ファイル2に記憶されるものとする。
FIG. 4 is a diagram showing an example of the capacity
図5は、参加者ROLファイル3の一例を示した図である。参加者ROLファイル3には、各「ユーザID」ごとに、各ユーザが希望する「研修プログラム番号」を希望「順位」に並べたリストが格納されている。図5においては、各ユーザごとに、第1希望から順に第n希望までの研修プログラムが順に格納されている。各ユーザは、例えば、インターネットのホームページ等から各施設の情報を得て、希望順位を決定する。なお参加者ROLファイル3に、全ての施設を登録しても、一部の施設を登録してもよい。また各ユーザは、任意の順位の施設までを登録することができる。
FIG. 5 is a diagram showing an example of the
図6は、研修プログラムROLファイル4の一例を示した図である。研修プログラムROLファイル4には、各研修プログラムごとに、各施設が希望する参加者を希望順に並べたリストが格納されている。図4においては、各施設の「研修プログラム番号」ごとに、第1希望から順に第n希望までの参加者「ユーザID」が「順位」順に格納されている。各施設は、例えば、参加者の面談等を行って参加者の情報を得て、希望順位を決定する。なお研修プログラムROLファイル4に、全ての参加者を登録しても、一部の参加者を登録してもよい。また各施設は、任意の順位の参加者までを登録することができる。
FIG. 6 is a diagram showing an example of the training
図7は、仮マッチング結果格納ファイル5の一例を示した図である。仮マッチング結果格納ファイル5には、仮マッチングの結果が格納されている。仮マッチングの結果は、それまでに行われたマッチング処理の回数を含む。また、仮マッチングの結果は、研修プログラム番号毎に、その研修プログラム番号の定員数と、その研修プログラム番号に対してマッチングされた参加者の数であるマッチ数とを含む。具体的には、「マッチング回数」、「研修プログラム番号」、「定員数」、「マッチ数」が格納されていて、何回目のマッチングを示す情報により、その回での研修プログラム番号毎の定員数とマッチ数とが記憶される。なお本実施の形態では仮マッチングを行う毎に、仮マッチング情報を仮マッチング結果格納ファイル5に、レコードを追加していく構成としているが、マッチング毎の仮マッチング結果格納ファイル5を作成し、レコードを格納するように構成してもよい。
FIG. 7 is a diagram showing an example of the temporary matching
図8は、マッチング結果格納ファイル6の一例を示した図である。マッチング結果格納ファイル6には、マッチング処理の結果得られたマッチング結果が格納されている。すなわち、図8に示すように、「マッチング回数」毎の「ユーザID」と、割り当てられた研修の「研修プログラム番号」とが、それぞれ、対応付けて格納されている。これにより、どの参加者が、どの研修を行うかを確認することができる。図8に示した構成では、マッチングを繰り返すことにより得られた組み合わせを、マッチング回数毎に記憶する構成としているが、前回のマッチングにより得られた組み合わせのみを記憶するように構成することもできる。
なお、図3から図8に示したファイル構成で、行方向(横方向)の1行をレコードと呼ぶ。
FIG. 8 is a diagram showing an example of the matching
In the file structure shown in FIGS. 3 to 8, one line in the line direction (horizontal direction) is called a record.
図2の説明に戻る。図2に示すように、参加者端末200内には、入力手段20と、表示手段21と、処理手段22と、通信手段23とが設けられている。通信手段23は、マッチングサーバ100の通信手段7とデータのやりとりを行い、参加者ROLファイル情報を送信し、入力受付完了通知を受信する。
なお、施設管理者端末300の内部構成は、参加者端末200と同様であるため、ここでは説明を省略する。
Returning to the description of FIG. As shown in FIG. 2, an
In addition, since the internal structure of the
マッチング管理者端末400内には、入力手段30と、表示手段31と、処理手段32と、通信手段33とが設けられている。
In the
次に、本実施の形態1に係るマッチングシステムの動作について説明する。図9は、マッチング管理者端末400からのデータ入力処理について示した図であり、マッチング管理者が、研修プログラム情報ファイル1または定員振替情報ファイル2の登録、追加または削除の処理を行うときの処理の流れを示している。図9に示すように、まず、マッチング管理者端末400の処理手段32は、マッチング管理者の操作により入力手段30が受け付けた入力データを通信手段33に受け渡す(ステップS1)。次に、マッチング管理者端末400の通信手段33が、マッチングサーバ100の通信手段7に当該入力データを送信する(ステップS2)。次に、マッチングサーバ100の通信手段7が、受信したデータ内容により、研修プログラム情報ファイル1または定員振替情報ファイル2にデータの追加、更新または削除を行う(ステップS3)。
Next, the operation of the matching system according to the first embodiment will be described. FIG. 9 is a diagram showing data input processing from the
図10は、参加者端末200からのデータ入力処理を示した図であり、参加者が希望順位を示す優先度リスト(ROLファイル)の入力を行うときの処理の流れを示している。図10に示すように、まず、参加者端末200の処理手段22は、参加者の操作により入力手段20が受け付けた入力データを通信手段23に受け渡す(ステップS11)。次に、参加者端末200の通信手段23がマッチングサーバ100の通信手段7に当該入力データを送信する(ステップS12)。次に、マッチングサーバ100の通信手段7が、受信したデータ内容をROL作成手段8に受け渡し、ROL作成手段8が、参加者ROLファイル3にデータの追加、更新または削除を行う。つまり、該当のユーザIDに対応する「ユーザID」、「研修プログラム番号」、「順位」を記憶した1以上のレコードを参加者ROLファイル3に上書きする(ステップS13)。
FIG. 10 is a diagram showing a data input process from the
また、施設管理者端末300からの研修プログラムROLファイル4へのデータ入力を受付けるときも、図10に示したフローチャートと同様の流れになる。なお、研修プログラム情報ファイル1、定員振替情報ファイル2、参加者ROLファイル3、研修プログラムROLファイル4へのデータの追加、更新、削除の処理はマッチング管理者端末400から行なうこともできる。その場合、定員振替情報ファイル2以外のデータは、何らかの記憶媒体により、管理者にファイル形式で受け渡し、管理者がマッチング管理者端末400から一括してファイル更新作業を行なうことになる。また定員振替情報ファイル2に記憶される情報は、管理者によりマッチング管理者端末400から入力される。
Further, when receiving data input to the training
図11は、本実施の形態におけるマッチング処理全体の処理の流れを示した図である。
処理を開始し、マッチング手段10は、マッチ処理回数を変数nを用いて表し、nの初期値を1に設定し(ステップS21)、Gale−Shapleyアルゴリズムを用いて研修プログラム情報ファイル1、参加者ROLファイル3、研修プログラムROLファイル4に基づき、マッチング処理を行う。マッチング結果は、「マッチング回数 1」の結果として、仮マッチング結果格納ファイル5に、研修プログラム番号毎の定員数、マッチ数を記憶する(ステップS22)。このとき記憶される定員数は、研修プログラム情報ファイル1に記憶されている、定員数と同じ数値になる。
FIG. 11 is a diagram showing the flow of the entire matching process in the present embodiment.
Processing is started, and the matching means 10 uses the variable n to represent the number of matching processes, sets the initial value of n to 1 (step S21), and uses the Gale-Shapley algorithm to register the training
次に、マッチング回数を1増やし、すなわちn=n+1とし(ステップS23)、定員振替手段9に、次に行われるべきマッチング処理が第n回目であることを情報として引き渡し、定員振替手段9は定員振替処理を実施する(ステップS24)。
続いてマッチング処理終了条件を満たしているかを確認し(ステップS25)、終了条件を満たしている場合は処理を終了する。終了時には、マッチング結果格納ファイル6に記憶されているデータのうち、マッチング回数が最大値となるものの組み合わせを、マッチング結果とする。なお終了条件は、任意に設定することができるが、一例としては、全体のマッチ率が一定値以上になったとき、振り替え処理により一定数の研修プログラムの定員数が上限値になったとき、振り替え処理ができなくなったとき、振り替え処理を一定回数実施したとき、などが考えられる。
「振り替え処理ができない」とは、ステップS24終了時点で、いずれかの回のプログラム毎の定員数が再度設定されることを示す。ステップS24の処理後、仮マッチング結果格納ファイル5を参照し、マッチング回数が最大値である研修プログラム番号と定員数との組み合わせ(直前のステップS24の処理で得られた定員数)を、それ以外のマッチング回数毎の研修プログラムと定員数との組み合わせと比較し、いずれかのマッチング回数の研修プログラムと定員数との組み合わせと同一であれば、研修プログラムと定員数との組み合わせは設定しつくされたことになる。その状態を、「振り替え処理ができない」と言い、以上の処理を加えることで、「振り替え処理ができない」状態になっているかが確認できる。
Next, the number of times of matching is increased by 1, that is, n = n + 1 (step S23), and information indicating that the next matching process to be performed is the nth time is handed over to the capacity transfer means 9, and the capacity transfer means 9 Performs a capacity transfer process (step S24).
Subsequently, it is confirmed whether or not the matching process end condition is satisfied (step S25). If the end condition is satisfied, the process ends. At the end, a combination of data stored in the matching
“Transfer processing cannot be performed” indicates that the number of programs for each program is set again at the end of step S24. After the process of step S24, the provisional matching
ステップS25で、マッチング手段10は終了条件を満たしていないと判定したときは、その後マッチング手段10は、定員振替処理により変更された定員を仮マッチング結果格納ファイル5から参照し、マッチング処理を行い、マッチング結果格納ファイル6に、現在のマッチング回数とマッチング結果とを記憶する。また仮マッチング格納ファイル5の、現在のマッチング回数と仮マッチング格納ファイル5の「マッチング回数」項目とが一致するレコードに、研修プログラム毎のマッチ数を、記憶する(ステップS26)。その後、ステップS23の処理に戻り、ステップS25の終了条件を満たすまで処理を繰り返す。
When it is determined in step S25 that the
マッチング処理手段10は、初期処理として、参加者ROLファイル3、研修プログラムROLファイル4および研修プログラム情報ファイル1に記憶された定員数に基づいて、参加者を研修プログラムにマッチングさせ、そのマッチング情報を仮マッチング結果格納ファイル5にマッチング回数、研修プログラム番号、定員数、マッチ数として記憶する。この処理を行うマッチング処理手段を、第1のマッチング処理手段と呼ぶ。
次に定員振替手段は、仮マッチング結果格納ファイル5に記憶された、それまでに行われた最後のマッチング処理における、研修プログラム毎の、定員数、マッチ数と、定員振替情報ファイル2に記憶された優先順位とに基づき、定員増員研修プログラム番号(優先度mに等しい順位を有する研修プログラム番号、定員増員B要素ID)と定員減員研修プログラム番号(逆優先度Mに等しい順位を有する研修プログラム番号、定員減員B要素ID)を決定し、定員振替処理を行う。この定員振替処理は、定員増員研修プログラム番号と、定員減員研修プログラム番号とに対し、定員増員研修プログラム番号のマッチ数が定員数と等しいとき、定員増員研修プログラム番号の定員数を所定量(この例では1人)だけ増加させるとともに、定員減員研修プログラム番号の定員数を同じ量(この例では1人)だけ減少させる。また振り替えた定員数を、新たに行われるマッチング処理における定員数として仮マッチング結果格納ファイル5に記憶する。
次にマッチング処理手段10は、参加者ROLファイル3、研修プログラムROLファイル4および仮マッチング結果格納ファイル5に記憶された新たな定員数に基づいて、参加者と研修プログラムとの新たなマッチング処理を行う。この処理を行うマッチング処理手段を、第2のマッチング処理手段と呼ぶ。
また、定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施される
As an initial process, the matching processing means 10 matches the participant to the training program based on the number of participants stored in the
Next, the capacity transfer means is stored in the temporary transfer
Next, the matching processing means 10 performs a new matching process between the participant and the training program based on the new capacity numbers stored in the
Further, the processing of the capacity transfer means and the second matching processing means is performed until a predetermined end condition is satisfied.
図12は、「図11 ステップS24」の定員振替処理の詳細を示した図である。処理を開始し、研修プログラム情報ファイル1(「定員数」、「定員数上限」項目)、定員振替情報ファイル2(「研修プログラム番号」毎の「順位」項目)を参照し、仮マッチング結果格納ファイル5のn−1回目の研修プログラム番号毎の定員数、マッチ数を一時的に記憶装置に記憶する(ステップS31)。また図11の処理の中で、変動する定員数を「変動定員数」と呼ぶ。すなわち、変動定員数とは、ある定員数に基づいて仮マッチング結果が得られた後、次のマッチングに用いられるべき定員数が確定する前の、暫定的に変動する定員数のことである。変動定員数は、初期段階で、n−1回目の定員数が研修プログラム番号に対応して記憶装置に記憶され、定員振替処理を実施中、変動する定員数が上書きされて記憶される。
FIG. 12 is a diagram showing details of the capacity transfer process in “FIG. 11 Step S24”. Start processing, refer to training program information file 1 (“Capacity”, “Capacity upper limit” items) and capacity transfer information file 2 (“Rank” item for each “Training program number”), and store temporary matching results The number of matches and the number of matches for each n-1 training program number in
次に定員振替情報ファイル2の「順位」項目に対応する変数として、優先度mを設定する。優先度mの初期値は1とする。定員振替情報ファイル2の「順位」は、数字が小さいものから順に振り替え処理が行われる。つまり、1,2,3・・・7の順番で振り替え処理が優先される。ここで、Mを逆優先度(優先度の低さを表す変数)とし、Mの初期値は優先度の最大値に設定する(図4の例示した、定員振替情報ファイル2では、優先度mの最大値は7であり、逆優先度Mの初期値は7になる)(ステップS32)。
Next, the priority m is set as a variable corresponding to the “rank” item of the capacity
研修プログラム情報ファイル1の定員数上限と、一時的に記憶された、n−1回目の研修プログラム番号毎の定員数と、マッチ数とを、定員振替情報ファイル2に記憶された順位に基づき順次参照し、優先度mに等しい順位を有する研修プログラム番号のマッチ数が定員数と等しいか判定し(ステップS33)、次に変動定員数が定員数上限より小さいかどうかを判定し(ステップS34)、ステップS33およびS34のいずれかにおいて、条件を満たしていないと判定したときは、mを1加算して(m=m+1とする、ステップS40)、ステップS41の判定を行う。
ステップS33およびS34のいずれにおいても条件を満たしているときは、逆優先度Mに等しい順位を有する研修プログラムが定員数減員可能かを判定するため、逆優先度Mの研修プログラムのマッチ数が、その研修プログラムの現在の変動定員数より小さいか(すなわち、逆優先度Mの研修プログラムの空定員が1以上か)を判定し(ステップS35)、小さい場合は逆優先度Mからの振り替えが可能のため、逆優先度Mの研修プログラムの定員数を1減算して、優先度mの研修プログラムの定員数を1加算する(ステップS36)。このようにして定員振替処理が実施される。ステップS36の処理で、振り替え処理を行った後の定員数は、変動定員数に上書きされ、記憶される。ステップS35の判定で、優先度Mのマッチ数が変動定員数以上であると判定したときは優先度Mの研修プログラムからは振り替え処理はできないとし、優先度Mを1減算して(M=M−1とする、ステップS38)、ステップS39の処理に移る。
The upper limit of the number of training program information files 1, the temporarily stored number of training program numbers for each (n-1) th training program number, and the number of matches are sequentially based on the order stored in the capacity
When the conditions are satisfied in both steps S33 and S34, in order to determine whether the number of training programs having a rank equal to the reverse priority M can be reduced, the number of matches in the reverse priority M training program is: It is determined whether the training program is smaller than the current variable capacity (that is, whether the training program with reverse priority M is 1 or more) (step S35). If it is smaller, transfer from reverse priority M is possible. Therefore, 1 is subtracted from the number of training programs with reverse priority M, and 1 is added to the number of training programs with priority m (step S36). In this way, the capacity transfer process is performed. In the process of step S36, the capacity number after the transfer process is overwritten with the variable capacity number and stored. If it is determined in step S35 that the number of matches with priority M is greater than or equal to the variable capacity, transfer processing cannot be performed from the training program with priority M, and 1 is subtracted from priority M (M = M The process proceeds to step S38) and step S39.
ステップS36の振り替え処理後、逆優先度Mの研修プログラムの空定員が0かどうか(すなわち、変動定員数がマッチ数と等しくなっているか)を判定し(ステップS37)、0でないと判定したときは、次に優先度mの研修プログラムの変動定員数が定員数上限に達しているか(変動定員数が定員数上限と等しくなっているか)を判定する(ステップS39)。達していないと判定したときは、次に、「mが優先度の最大値(図4の例示した、定員振替情報ファイル2では、7になる)より大きい」または「Mが1より小さい」のいずれかを満たすか否かを判定し(ステップS41)、いずれかを満たすときは、マッチング回数nに対する定員振替処理は終了となり、一時的に記憶している変動定員数をマッチング回数nにおいて用いられるべき定員数として、仮マッチング結果格納ファイル5に記憶する(ステップS42)。
ステップS41でいずれの条件も満たされないときは、マッチング回数nに対する振り替え処理を継続するため、ステップS33に処理が戻る。
ステップS37の判定で、0であると判定したときはステップS38の処理に移る。またステップS39の判定で、優先度mの研修プログラムの変動定員数が定員数上限に達していると判定したときは、mを1加算して(m=m+1とする、ステップS40)、ステップS41に移る。
このように図12で示した処理にて、次に行うn回めのマッチング処理の定員数の振り替え処理を行う。
After the transfer process in step S36, it is determined whether or not the empty capacity of the training program with the reverse priority M is 0 (that is, whether the variable capacity is equal to the number of matches) (step S37). Next, it is determined whether the variable capacity of the training program with the priority m has reached the upper limit of capacity (whether the variable capacity is equal to the upper limit of capacity) (step S39). If it is determined that it has not reached, then “m is greater than the maximum priority value (in the example of FIG. 4, it is 7 in the quota transfer information file 2)” or “M is less than 1” It is determined whether or not either is satisfied (step S41), and when either is satisfied, the capacity transfer process for the number of matching times n is completed, and the temporarily stored variable capacity number is used in the number of matching times n. The number of powers to be stored is stored in the temporary matching result storage file 5 (step S42).
If none of the conditions is satisfied in step S41, the process returns to step S33 in order to continue the transfer process for the matching count n.
If it is determined in step S37 that the value is 0, the process proceeds to step S38. If it is determined in step S39 that the variable number of training programs with the priority m has reached the upper limit, m is incremented by 1 (m = m + 1, step S40). The process proceeds to step S41.
In this way, in the process shown in FIG. 12, the transfer process for the number of qualifiers in the next n-th matching process is performed.
以上の動作をまとめると、次のようになる。すなわち、定員振替手段9は、仮マッチング結果格納ファイル5に記憶された、それまでに行われた最後のマッチング処理における研修プログラム番号毎の定員数およびマッチ数と、定員振替情報ファイル2に記憶された優先順位とに基づいて、定員増員研修プログラム番号(優先度mに等しい順位を有する研修プログラム番号、定員増員B要素ID)と定員減員研修プログラム番号(逆優先度Mに等しい順位を有する研修プログラム番号、定員減員B要素ID)を決定し、定員振替処理を行う。この定員振替処理は、定員増員研修プログラム番号と、定員減員研修プログラム番号とに対し、定員増員研修プログラム番号のマッチ数が定員数と等しいとき、定員増員研修プログラム番号の定員数を所定量(この例では1人)だけ増加させるとともに、定員減員研修プログラム番号の定員数を同じ量(この例では1人)だけ減少させる。
なお優先度mに等しい順位で決定される定員増員研修プログラム番号と、逆優先度Mに等しい順位で決定される定員減員研修プログラム番号とは、定員振替情報ファイル2に記憶された優先順位に基づき決定される。ところが本実施の形態では、定員振替情報ファイル2に記憶された優先順位では下位の研修プログラム番号が定員増員研修プログラム番号となり、上位の研修プログラム番号が定員減員研修プログラム番号となる場合がある。それは、優先度mが優先度Mより大きい数値になることを許容するように処理するためであり、そのように処理することにより、定員振替処理をより多く実行できる。
The above operations are summarized as follows. That is, the capacity transfer means 9 is stored in the temporary transfer
The number-of-capacity training program number determined in the order equal to the priority m and the capacity-reduction training program number determined in the order equal to the reverse priority M are based on the priority order stored in the capacity
図12で示した処理について、図3,4,7を用いて例示する。マッチング回数1回目の結果として、図7に示すような結果になったとき、マッチング回数2回目において用いられるべき定員数がどのように設定されるかを説明する。なお、以下では、マッチング回数2回目において用いられるべき定員数を、合計11回の定員振替処理によって決定する例を示すが、図7に、このうち1,2,3,7,8,9回目の定員振替処理によって変動定員数がどのように変化するかの状況を示す。
(1回目)
まず優先度m=1に対応する順位1を有するA0003は、1回目のマッチ数と定員数とがそれぞれ10で等しく、かつ変動定員数10が定員数上限13に達していないため、ステップS34で定員増員の候補として設定される。次に逆優先度M=7に対応する順位7を有するA0001は、マッチ数が変動定員数に達していないため、ステップS35で定員減員の候補として設定される。ステップS36で、A0003の変動定員数は、10から11に増員され、A0001の変動定員数は、10から9に減員される。変動定員数は、記憶装置に上書きされる。
A0001は空定員が0ではなく(ステップS37)、A0003の変動定員数は定員数上限に達していなく(ステップS39)、mが優先度の最大値(7)より大きく、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
The processing shown in FIG. 12 will be illustrated with reference to FIGS. As a result of the first matching count, when the result shown in FIG. 7 is obtained, how the quorum to be used in the second matching count is set will be described. In the following, an example is shown in which the number of quotas to be used in the second matching count is determined by a total of 11 quota transfer processes. FIG. 7 shows the first, second, third, seventh, eighth, and ninth times. It shows the situation of how the variable capacity changes due to the capacity transfer process.
(First time)
First, in A0003 having a
In A0001, the empty capacity is not 0 (step S37), the variable capacity of A0003 has not reached the upper limit of capacity (step S39), m is larger than the maximum priority value (7), or M is smaller than 1. Since there is not (step S41), it returns to the process of step S33.
(2回目)
優先度m=1のA0003は、1回目の定員数とマッチ数とがそれぞれ10で等しく、変動定員数11が定員数上限13に達していないため、ステップS34で定員増員の候補として設定される。次に、逆優先度M=7のA0001は、マッチ数8が変動定員数9に達していないため(ステップS35)、ステップS36で、A0003の変動定員数は、11から12に増員され、A0001の変動定員数は、9から8に減員される。変動定員数は、記憶装置に上書きされる。
A0001は空定員が0(変動定員数がマッチ数と等しくなる)となるので(ステップS37)、Mは6に設定され(ステップS38)、A0003の変動定員数は定員数上限に達していなく(ステップS39)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
このときに、A0001の変動定員数は8に決定される。
(Second time)
In A0003 with priority m = 1, the number of matches and the number of matches for the first time are equal to 10, respectively, and the
Since A0001 has a vacant capacity of 0 (the variable capacity becomes equal to the number of matches) (step S37), M is set to 6 (step S38), and the variable capacity of A0003 does not reach the maximum capacity ( In step S39), m is larger than the maximum priority value (7) or M is not smaller than 1 (step S41), so the process returns to step S33.
At this time, the variable capacity of A0001 is determined to be 8.
(3回目)
優先度m=1のA0003は、1回目の定員数とマッチ数とがそれぞれ10で等しく、変動定員数12が定員数上限13に達していなく、逆優先度M=6のA0002は、マッチ数5が変動定員数10に達していないため(ステップS35)、ステップS36で、A0003の変動定員数は、12から13に増員され、A0002の変動定員数は、10から9に減員される。
A0002は空定員が0ではなく(ステップS37)、A0003の変動定員数は定員数上限に達したので(ステップS39)、mは2に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
このときに、A0003の変動定員数は13に決定される。
(3rd)
For A0003 with priority m = 1, the number of matches and the number of matches for the first time are equal to 10, respectively, the
In A0002, the empty capacity is not 0 (step S37), and since the variable capacity of A0003 has reached the upper limit (step S39), m is set to 2 (step S40), and m is the maximum priority ( 7) Since it is larger or M is not smaller than 1 (step S41), the process returns to step S33.
At this time, the variable capacity of A0003 is determined to be 13.
(4回目)
優先度m=2のB0001は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは3に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS35の処理に戻る。
このときに、B0001の変動定員数は変動なしで、5に決定される。
(4th)
For B0001 with priority m = 2, the first number of matches and the number of matches are not equal (step S33), so m is set to 3 (step S40), and m is greater than the maximum priority value (7). Or M is not smaller than 1 (step S41), the process returns to step S35.
At this time, the fluctuation capacity number of B0001 is determined to be 5 without fluctuation.
(5回目)
優先度m=3のC0001は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは4に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS35の処理に戻る。
このときに、C0001の変動定員数は変動なしで、8に決定される。
(5th)
For C0001 with priority m = 3, the first number of matches and the number of matches are not equal (step S33), so m is set to 4 (step S40), and m is greater than the maximum priority value (7). Or M is not smaller than 1 (step S41), the process returns to step S35.
At this time, the fluctuation capacity number of C0001 is determined to be 8 without fluctuation.
(6回目)
優先度m=4のB0002は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは5に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS35の処理に戻る。
このときに、B0002の変動定員数は変動なしで、10に決定される。
(6th)
For B0002 with priority m = 4, the first number of matches and the number of matches are not equal (step S33), so m is set to 5 (step S40), and m is greater than the maximum priority value (7). Or M is not smaller than 1 (step S41), the process returns to step S35.
At this time, the fluctuation capacity of B0002 is determined to be 10 without fluctuation.
(7回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数5が定員数上限8に達していないため、ステップS34で定員増員の候補として設定される。次に逆優先度M=6のA0002は、マッチ数が変動定員数9に達していないため、ステップS35で定員減員の候補として設定される。ステップS36で、C0002の定員数は、5から6に増員され、A0002の定員数は、9から8に減員される。
A0002は空定員が0ではなく(ステップS37)、C0002の変動定員数は定員数上限に達していなく(ステップS39)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
(7th)
C0002 with priority m = 5 has a match number and a capacity number equal to 5, and the
In A0002, the empty capacity is not 0 (step S37), the variable capacity of C0002 has not reached the upper limit (step S39), m is greater than the maximum priority value (7), or M is less than 1 Since there is not (step S41), it returns to the process of step S33.
(8回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数6が定員数上限8に達していないため、ステップS34で定員増員の候補として設定される。次に逆優先度M=6のA0002は、マッチ数が変動定員数8に達していないため、ステップS35で定員減員の候補として設定される。ステップS36で、C0002の定員数は、6から7に増員され、A0002の定員数は、8から7に減員される。
A0002は空定員が0ではなく(ステップS37)、C0002の変動定員数は定員数上限に達していなく(ステップS39)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
(8th)
C0002 with a priority m = 5 has a match number and a capacity number equal to 5, and the
In A0002, the empty capacity is not 0 (step S37), the variable capacity of C0002 has not reached the upper limit (step S39), m is greater than the maximum priority value (7), or M is less than 1 Since there is not (step S41), it returns to the process of step S33.
(9回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数7が定員数上限8に達していないため、ステップS34で定員増員の候補として設定される。次に逆優先度M=6のA0002は、マッチ数が変動定員数7に達していないため、ステップS35で定員減員の候補として設定される。ステップS36で、C0002の定員数は、7から8に増員され、A0002の定員数は、7から6に減員される。
A0002は空定員が0ではなく(ステップS37)、C0002の変動定員数は定員数上限に達したため(ステップS39)、mは6に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
このときに、C0002の変動定員数は8に決定される。
(9th)
C0002 with a priority m = 5 has a match number and a capacity number equal to 5 respectively, and the
Since A0002 has a non-empty capacity of 0 (step S37) and the variable capacity of C0002 has reached the maximum capacity (step S39), m is set to 6 (step S40), and m is the maximum priority (7 ) Or M is not smaller than 1 (step S41), the process returns to step S33.
At this time, the variable capacity of C0002 is determined to be 8.
(10回目)
優先度m=6のA0002は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは7に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS35の処理に戻る。
このときに、A0002の変動定員数は変動なしで、10に決定される。
(10th)
In A0002 with priority m = 6, the first number of matches and the number of matches are not equal (step S33), m is set to 7 (step S40), and m is greater than the maximum priority value (7). Or M is not smaller than 1 (step S41), the process returns to step S35.
At this time, the variation capacity of A0002 is determined to be 10 without variation.
(11回目)
優先度m=7のA0001は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは8に設定され(ステップS40)、mが優先度の最大値(7)より大きいので(ステップS41)、ステップS42の処理に移る。
このときに、A0002の変動定員数は変動なしで、10に決定される。
ステップS42で、一時的に記憶している変動定員数をマッチング回数n(このときは、2回目)の定員数として、仮マッチング結果格納ファイル5に記憶し、処理を終了する。すなわち、定員振替手段9は、定員振替処理後の研修プログラム番号の定員数を、新たに行われるマッチング処理における研修プログラム番号の定員数として、仮マッチング結果格納ファイル5に記憶する。
(11th)
In A0001 with priority m = 7, the first number of matches and the number of matches are not equal (step S33), so m is set to 8 (step S40), and m is greater than the maximum priority value (7). Therefore (step S41), the process proceeds to step S42.
At this time, the variation capacity of A0002 is determined to be 10 without variation.
In step S42, the temporarily stored variable capacity number is stored in the temporary matching
以上説明した1回目の定員振替処理の流れで、2回目のマッチング処理において用いられるべき定員数は、次のように設定される。図7に表示したとおり、A0001 8名、A0002 6名、A0003 13名、B0001 5名、B0002 10名、C0001 8名、C0002 8名となる。
例示したのは、2回目のマッチング処理に対する定員振替処理であるが、3回目以降も同様に定員振替処理を行う。
In the flow of the first capacity transfer process described above, the number of persons to be used in the second matching process is set as follows. As shown in FIG. 7,
Illustrated is the capacity transfer process for the second matching process, but the capacity transfer process is similarly performed for the third time and thereafter.
図13は、マッチングサーバ100の通信手段6によるマッチング結果の通知の処理について示した図である。図13に示すように、まず、マッチングサーバ100のマッチング手段9は、マッチング処理終了を通知手段6に通知する(ステップS51)。次に、マッチングサーバ100の通信手段6は、マッチング結果格納ファイル6を参照してマッチング結果を、マッチング管理者端末400の通信手段33に通知する(ステップS52)。次に、マッチング管理者端末400の通信手段33は、通知されたマッチング結果を処理手段32に受け渡す(ステップS53)。次に、マッチング管理者端末400の処理手段32は、受け渡されたマッチング結果を、インターネット等で公開する(ステップS54)。
なおマッチング結果の公開については、図13に示した方法によらず、ファイル形式や結果を印刷した紙にて、参加者及び研修プログラム管理者に通知する方法もある。また、該当のマッチング結果を参加者端末200または、施設管理者端末300に通知するように構成してもよい。例えば、参加者端末200がユーザID 001でログインされていたとすると、ユーザID 001がマッチされた施設情報(例えば、施設コード A001に関する情報)を参加者端末200に送信するように構成してもよい。
FIG. 13 is a diagram illustrating the process of notifying the matching result by the
The disclosure of the matching result is not limited to the method shown in FIG. 13, and there is a method of notifying the participants and the training program administrator with a file format and paper on which the result is printed. The matching result may be notified to the
なお、上記の説明においては、研修を希望する参加者と研修プログラムとのマッチング問題について説明したが、その場合に限らず、複数の要素からなる集合A(上記の参加者に相当)と複数の要素からなる集合B(上記の研修プログラムに相当)との各要素をマッチングするマッチング問題であって、集合Bの各要素が定員数と定員数上限との情報を有し、各要素間の優先順位に基づき、定員数を振り替えるときのマッチング問題のいずれにも適用できることはいうまでもない。 In the above explanation, the matching problem between the participant who wishes to participate in the training and the training program has been explained. However, the present invention is not limited to this, and a set A composed of a plurality of elements (corresponding to the above participant) and a plurality of Matching problem that matches each element with the set B consisting of elements (corresponding to the above training program), each element of the set B has information on the number of people and the upper limit of the number of people, and the priority among the elements It goes without saying that it can be applied to any of the matching problems when transferring the capacity based on the ranking.
この発明に係るマッチングシステムは、複数のA要素(参加者)からなる集合A(参加者の集合)と、複数のB要素(研修プログラム)からなる集合B(研修プログラムの集合)との各要素をマッチングするためのマッチングシステムであって、集合Bの各B要素のB要素IDごとに、マッチングにおける定員数と定員数上限とを記憶した定員数ファイルと、集合Bの各B要素のB要素IDに対応して、定員振替処理における優先順位を記憶した定員振替情報ファイルと、集合Aの各A要素のA要素IDごとに、集合BのB要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、集合Bの各B要素のB要素IDごとに、集合AのA要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、第1のマッチング手段であって、第1のマッチング手段は、第1の優先度リストファイルと、第2の優先度リストファイルと、定員数ファイルに記憶された定員数とに基づいて、集合AのA要素を、集合Bに含まれるB要素のいずれかに対してマッチングするマッチング処理を行い、第1のマッチング手段は、それまでに行われたマッチング処理の回数を、仮マッチング結果格納ファイルに記憶し、第1のマッチング手段は、さらに、B要素ID毎に、そのB要素の定員数と、そのB要素に対してマッチングされたA要素の数であるマッチ数とを、仮マッチング結果格納ファイルに記憶する第1のマッチング処理手段と、定員振替処理を行う定員振替手段であって、定員振替手段は、仮マッチング結果格納ファイルに記憶された、それまでに行われた最後のマッチング処理におけるB要素ID毎の定員数およびマッチ数と、定員振替情報ファイルに記憶された優先順位とに基づいて、定員増員B要素IDと定員減員B要素IDとを決定し、定員振替処理を行い、定員振替処理は、定員増員B要素IDと、定員減員B要素IDとに対し、定員増員B要素IDのマッチ数が定員数と等しいとき、定員増員B要素IDの定員数を所定量だけ増加させるとともに、定員減員B要素IDの定員数を所定量だけ減少させるものであり、定員振替手段は、さらに、定員振替処理後の各B要素IDの定員数を、新たに行われるマッチング処理における各B要素の定員数として、仮マッチング結果格納ファイルに記憶する定員振替手段と、第1の優先度リストファイルと、第2の優先度リストファイルと、仮マッチング結果格納ファイルに記憶された、新たに行われるマッチング処理における各B要素の定員数とに基づいて、集合Aの要素を、集合Bのいずれかの要素に対して、新たにマッチング処理を行う第2のマッチング処理手段とを備えたことを特徴とするマッチングシステムであって、定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施されることを特徴とするものである。
この構成は、請求項1の構成に対応する。
The matching system according to the present invention includes a set A (participant set) composed of a plurality of A elements (participants) and a set B (set of training programs) composed of a plurality of B elements (training programs). A matching number file that stores the number of quorums and the upper limit of the number of matching in each B element ID of each B element of the set B, and a B element of each B element of the set B In accordance with the ID, the capacity transfer information file storing the priority order in the capacity transfer process and the A element ID of each A element of the set A are uniquely ranked for all or part of the B elements of the set B Unique to all or part of the A elements of the set A for each of the first priority list file storing the attached first priority list and the B element ID of each B element of the set B Ranked A second priority list file storing the second priority list and a first matching means, wherein the first matching means includes a first priority list file, a second priority list file, and a second priority list file. Based on the priority list file and the quorum stored in the quorum file, a matching process for matching the A element of the set A with any of the B elements included in the set B is performed. The matching means stores the number of matching processes performed so far in the temporary matching result storage file, and the first matching means further determines the number of B elements and the number of B elements for each B element ID. A first matching processing means for storing the number of matches, which is the number of A elements matched to the elements, in a temporary matching result storage file; and a capacity transfer means for performing a capacity transfer process. The capacity transfer means stores the number of matches and the number of matches for each B element ID in the last matching process performed so far, stored in the temporary matching result storage file, and the priority stored in the capacity transfer information file. Based on the above, the capacity increase B element ID and the capacity decrease B element ID are determined, and the capacity transfer process is performed. The capacity transfer process is performed for the capacity increase B element ID and the capacity decrease B element ID. When the number of ID matches is equal to the number of members, the number of members for increasing the number of B elements ID is increased by a predetermined amount, and the number of members for the member number of decreasing B elements ID is decreased by a predetermined amount. Further, the capacity of each B element ID after the capacity transfer process is stored in the temporary matching result storage file as the capacity of each B element in the newly performed matching process. Based on the transfer means, the first priority list file, the second priority list file, and the capacity of each B element in the newly performed matching process stored in the temporary matching result storage file, A matching system comprising: a second matching processing unit that newly matches a member of the set A to any element of the set B; The processing of the matching processing means is performed until a predetermined end condition is satisfied.
This configuration corresponds to the configuration of
また、この発明は、複数の要素からなる集合A(参加者の集合)と複数の要素からなる集合B(研修プログラムの集合)との各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素ID(研修プログラム番号)ごとに、マッチングで受け入れ可能な定員数と定員数上限とを記憶した定員数ファイル(研修プログラム情報ファイル1)と、上記集合Bの各要素のB要素IDに対応して、定員振替処理の優先順位を記憶した定員振替情報ファイル(定員振替情報ファイル2)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル(参加者ROLファイル3)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル(研修プログラムROLファイル4)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記定員数ファイルに記憶された定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行い、マッチング回数、B要素ID毎の、定員数、マッチ数を仮マッチング結果格納ファイルに記憶する第1のマッチング処理手段(図11のステップS22)と、上記仮マッチング結果格納ファイルに記憶された、前回のB要素ID毎の、定員数、マッチ数と上記定員振替情報ファイルに記憶された優先順位とに基づき、定員増員研修プログラム番号(優先度mに等しい順位を有する研修プログラム番号、定員増員B要素ID)と定員減員研修プログラム番号(逆優先度Mに等しい順位を有する研修プログラム番号、定員減員B要素ID)を決定し、定員増員研修プログラム番号のマッチ数が定員数と等しいとき、定員減員研修プログラム番号の定員数を定員増員研修プログラム番号の定員数に振り替え、振り替えた定員数を今回の定員数として仮マッチング結果格納ファイルに記憶する定員振替手段(図11のステップS24および図12)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記仮マッチング結果格納ファイルに記憶された今回の定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行う第2のマッチング処理手段(図11のステップS26)とを備えたことを特徴とするマッチングシステムであって、上記定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施されることを特徴とするマッチングシステムであるということもできる。 The present invention also provides a matching system for matching each element of a set A (participant set) consisting of a plurality of elements and a set B (set of training programs) consisting of a plurality of elements, For each B element ID (training program number) of each element of B, a quorum file (training program information file 1) storing the number of capacities that can be accepted by matching and the upper limit of the capacity, and each element of the set B Corresponding to the B element ID, the capacity transfer information file (capacity transfer information file 2) storing the priority order of the capacity transfer process, and all the elements of the set B for each A element ID of each element of the set A Alternatively, a first priority list file (participant ROL file 3) storing a first priority list uniquely ranked for a part, and B of each element of the set B A second priority list file (training program ROL file 4) storing a second priority list uniquely ranked for all or part of the elements of the set A for each elementary ID; , The elements of the set A with respect to any element of the set B based on the quorum stored in the first priority list file, the second priority list file, and the quorum file First matching processing means (step S22 in FIG. 11) that performs matching processing and stores the number of matches, the number of matches for each B element ID, and the number of matches in the temporary matching result storage file, and the temporary matching result storage file The capacity increase training program based on the number of matches, the number of matches, and the priority order stored in the above capacity transfer information file for each previous B element ID stored in Decide the number (training program number with rank equal to priority m, capacity increase B element ID) and capacity decrease training program number (training program number with rank equal to reverse priority M, capacity decrease B element ID), When the number of matches for the capacity increase training program number is equal to the number of capacity, the capacity of the capacity reduction training program number is transferred to the capacity of the capacity increase training program number, and the temporary matching result storage file with the transferred capacity as the current capacity Capacity transfer means (step S24 in FIG. 11 and FIG. 12) and the current number of capacity stored in the first priority list file, the second priority list file, and the temporary matching result storage file. Based on this, a second matching process is performed on an element of the set A with respect to any element of the set B. The matching system is characterized in that it includes a matching processing means (step S26 in FIG. 11), and the processing of the capacity transfer means and the second matching processing means is carried out until a predetermined end condition is satisfied. It can also be said that it is a matching system characterized by being performed.
以上のように、本実施の形態によると、ある研修プログラムにマッチングされた参加者の数が研修プログラムの定員数に等しい場合、複数研修プログラムの優先順位に基づき、定員減員研修プログラム番号の定員数を定員増員研修プログラム番号の定員数に置き換え、該当の研修プログラムの定員数を増員する。その上で、再度マッチングを行うと、該当の研修プログラムにマッチングされる参加者が増える可能性が出てくる。
マッチングされた参加者の数が研修プログラムの定員数に等しい場合、定員数の最後のマッチングで、除外された参加者がいる場合があり(除外された参加者はいなく、定員数の最後の組み合わせでマッチング処理が終了する場合もある)、この場合は、定員数を増員し、再度マッチングを行うと、該当の研修プログラムにマッチングされる参加者が増加する。一方、Gale−Shapleyアルゴリズムでは、ある研修プログラムにマッチングされた参加者の数が該当の研修プログラムの定員数未満の場合、再度マッチングしても、マッチ数は増えないという特性を有するため、本実施の形態の処理に基づき、優先順位が下位の研修プログラムの定員を減員しても、減員したことによりその研修プログラムのマッチ数は減少することはない(他の要因により、再度のマッチングのときに、その前のマッチングと比較して、マッチ数が減少することはある)。
As described above, according to this embodiment, when the number of participants matched to a certain training program is equal to the number of training programs, the number of training programs can be reduced based on the priority of multiple training programs. Is replaced with the maximum number of training program numbers, and the number of training programs is increased. Then, if matching is performed again, there is a possibility that more participants will be matched with the training program.
If the number of matched participants is equal to the capacity of the training program, there may be excluded participants in the final matching of the capacity (no excluded participants, the last combination of capacity In this case, if the number of participants is increased and matching is performed again, the number of participants who are matched with the corresponding training program increases. On the other hand, the Gale-Shapley algorithm has the characteristic that if the number of participants matched to a certain training program is less than the capacity of the corresponding training program, the number of matches will not increase even if matched again. Based on this form of processing, even if the number of training programs with lower priority is reduced, the number of matches in the training program will not decrease due to the reduction (when other matches are made due to other factors) , The number of matches may be reduced compared to the previous match).
以上のことから、定員数の振り替えにより全体として参加者側のマッチ率の向上と、研修プログラム側の定員充足率の向上との可能性がある。また参加者は、参加者ROLファイルのより高い順位に設定した研修プログラムと、マッチングされる可能性が高くなる。
なお特定の研修プログラムにマッチングされる参加者が増える可能性、参加者側のマッチ率の向上および研修プログラム側の定員充足率の向上の可能性は、参加者ROLファイル、研修プログラムROLファイルの設定内容に依存する部分があり、常に向上されるわけではない。ただ向上の可能性は高くなり、少なくとも、特定の研修プログラムにマッチングされる参加者数、参加者側のマッチ率および研修プログラム側の定員充足率は、本実施の形態の処理を行わないときの特定の研修プログラムにマッチングされる参加者数、参加者側のマッチ率および研修プログラム側の定員充足率以上にはなる。
From the above, there is a possibility that the overall match rate on the participant side will be improved and the capacity full rate on the training program side will be improved by changing the number of seats. In addition, the participant is more likely to be matched with the training program set at a higher rank in the participant ROL file.
The possibility of increasing the number of participants who are matched to a specific training program, the improvement of the match rate on the participant's side, and the possibility of improving the capacity fullness on the training program side are set in the participant ROL file and the training program ROL file. There are parts that depend on the content, and it is not always improved. However, the possibility of improvement is high, and at least the number of participants matched to a specific training program, the match rate on the participant's side, and the capacity fullness rate on the training program side are those when the processing of this embodiment is not performed. More than the number of participants matched to a specific training program, the match rate on the participant side, and the capacity full rate on the training program side.
実施の形態2.
本実施の形態では、研修プログラムの優先順位付けを、施設内で設定することを特徴とする。1つの施設は複数の研修プログラムを有するので、施設は複数の研修プログラムからなるグループに相当する。実施の形態1では、全ての研修プログラムの中で優先順位付けを行ったが、本実施の形態では施設毎に設定することにより、施設管理者が個別に設定することが可能である。
本実施の形態では、1つの研修プログラムの定員数を、1施設内の複数の研修プログラムの定員数上限と優先順位とに基づき、増員または減員させることにより、1つの研修プログラムにマッチングされる参加者数が増える可能性を得ることを特徴とする。それにより、参加者側のマッチ率向上と、施設側の定員充足率向上とが期待できる。
The present embodiment is characterized in that prioritization of training programs is set in the facility. Since one facility has a plurality of training programs, the facility corresponds to a group consisting of a plurality of training programs. In the first embodiment, prioritization is performed among all training programs. However, in this embodiment, the facility manager can individually set by setting for each facility.
In this embodiment, the number of participants in one training program is increased or decreased based on the upper limit and priority of the number of training programs in one facility. It is characterized by the possibility of increasing the number of people. As a result, it is expected that the match rate on the participant side will be improved and the capacity full rate on the facility side will be improved.
本実施の形態のシステム構成図は、実施の形態1で用いた図1および図2のとおりである。また研修プログラム情報ファイル1、参加者ROLファイル3、研修プログラムROLファイル4、マッチング結果格納ファイル6は、実施の形態1で用いた図3、図5、図6、図8で説明したとおりである。
図14は、本実施の形態の定員振替情報ファイル2の構成を示している。本実施の形態では、同一施設に属する研修プログラム内で優先順位を付与するため、図14に示すように、研修プログラム番号A0001,A0002,A0003の間で優先順位が割り振られ、同様に、研修プログラム番号B0001,B0002間、研修プログラム番号C0001,C0002間で優先順位が割り振られるように構成される。この優先順位は、病院管理者端末300から指定を受け付け、該当の施設コードに対して順次優先順位を記憶するように構成することができる。また、マッチング管理者端末400から順次、施設コード毎の優先順位を記憶するように構成することもできる。
図15は、本実施の形態の仮マッチング結果格納ファイル5の構成を示している。マッチング回数1回目は、実施の形態1と同様のマッチ数が得られたものとして、説明する。
The system configuration diagram of the present embodiment is as shown in FIGS. 1 and 2 used in the first embodiment. The training
FIG. 14 shows the configuration of the capacity
FIG. 15 shows the configuration of the temporary matching
次にマッチングシステムの動作について説明する。実施の形態1で用いた、図9、図10、図11、図13の処理は、本実施の形態においても同様に処理される。
図16は、本実施の形態のおける定員振替手段9による定員振替処理の流れを示した図である。「図11 ステップS24」の定員振替処理の詳細になる。
処理を開始し、研修プログラム情報ファイル1(「定員数」、「定員数上限」項目)、定員振替情報ファイル2(「研修プログラム番号」毎の「順位」項目)を参照し、仮マッチング結果格納ファイル5のn−1回目の研修プログラム番号毎の定員数、マッチ数を一時的に記憶装置に記憶する(ステップS61)。また図16の処理の中で、変動する定員数を「変動定員数」と呼ぶ。変動定員数は、初期段階で、n−1回目の定員数が研修プログラム番号に対応して記憶装置に記憶され、定員振替処理を実施中、変動する定員数が上書きされて記憶される。
Next, the operation of the matching system will be described. The processing of FIGS. 9, 10, 11, and 13 used in the first embodiment is similarly performed in this embodiment.
FIG. 16 is a diagram showing the flow of the capacity transfer process by the capacity transfer means 9 in the present embodiment. This is the details of the capacity transfer process of “FIG. 11 Step S24”.
Start processing, refer to training program information file 1 (“Capacity”, “Capacity upper limit” items) and capacity transfer information file 2 (“Rank” item for each “Training program number”), and store temporary matching results The number of matches and the number of matches for each n-1 training program number in
次に、研修プログラム情報ファイル1、定員振替情報ファイル2それぞれから最初の施設コードが記憶された、1以上のレコードを取り出し、記憶装置に一時的に記憶する(最初の施設コードとして施設コードA001のレコードを取り出す。ステップS62)。全ての施設コードの処理が終了したかを判定し(ステップS63)、終了していない場合は、一時的に記憶された定員振替情報ファイル2の同一施設内の「順位」項目に基づき、優先度mを設定し、初期値は1とする。定員振替情報ファイル2の「順位」は、数字が小さい順に振り替え処理が優先される。つまり、1,2,3・・・7の順番で振り替え処理が優先される。ここで、Mは逆優先度(優先度の低さを表す変数)とし、Mの初期値は優先度の最大値に設定する(最初の施設コードとして施設コードA001のレコードを取り出したとき、優先度mの最大値は3であり、逆優先度Mの初期値は3になる。ステップS64)。
Next, one or more records in which the first facility code is stored from each of the training
研修プログラム情報ファイル1の定員数上限と、一時的に記憶された、n−1回目の研修プログラム番号毎の定員数と、マッチ数とを、一時的に記憶されている同一施設内の順位に基づき順次参照し、優先度mのマッチ数が定員数と等しく、かつ変動定員数が定員数上限より小さいかどうかを判定し(ステップS65)、その条件を満たしているときは優先度mの研修プログラムに対して、定員振替処理を実施する。ステップS65で、条件を満たしていないと判定したときは、mを1加算して(m=m+1とする、ステップS71)、ステップS72の判定を行う。 The upper limit for the number of training program information files 1, the temporarily stored capacity for each n-1th training program number, and the number of matches are temporarily stored in the same facility ranking. Based on this, it is judged whether the number of matches with priority m is equal to the number of people and whether the variable number of people is smaller than the upper limit of the number of people (step S65). Perform the capacity transfer process for the program. If it is determined in step S65 that the condition is not satisfied, m is incremented by 1 (m = m + 1, step S71), and the determination in step S72 is performed.
その後、逆優先度Mの研修プログラムが定員数減員可能かを判定するため、逆優先度Mのマッチ数が、現在の変動定員数より小さいか(すなわち、逆優先度Mの研修プログラムの空定員が1以上か)を判定し(ステップS66)、小さい場合は逆優先度Mからの振り替えが可能のため、逆優先度Mの研修プログラムの定員数を1減算して、優先度mの研修プログラムの定員数を1加算する(ステップS67)。ステップS67の処理で、振り替え処理を行った定員数は、変動定員数に上書きされ、記憶される。ステップS66の判定で、逆優先度Mのマッチ数が変動定員数以上であると判定したときは逆優先度Mの研修プログラムからは振り替え処理はできないとし、逆優先度Mを1減算して(M=M−1とする、ステップS69)、ステップS70の処理に移る。
After that, in order to determine whether the reverse priority M training program can reduce the number of capacity, whether the number of matches with reverse priority M is smaller than the current variable capacity (that is, the empty capacity of the reverse priority M training program) Is less than or equal to 1) (step S66), and if it is smaller, the transfer from reverse priority M is possible, so the number of reverse priority M training programs is decremented by 1, and the priority
ステップS67の振り替え処理後、逆優先度Mの研修プログラムの空定員が0かどうか(変動定員数がマッチ数と等しくなっているか)を判定し(ステップS68)、0でないと判定したときは、次に優先度mの研修プログラムの変動定員数が定員数上限に達しているか(変動定員数が定員数上限と等しくなっているか)を判定し(ステップS70)、達していないと判定したときは、次にmが優先度の最大値(施設コードA001のときは、3になる)より大きい、またはMが1より小さいかを判定し(ステップS72)、条件に一致するときは、該当の施設コードでの定員振替処理は終了となり、一時的に記憶している変動定員数を該当の施設コードの定員数として、仮マッチング結果格納ファイル5に記憶する(ステップS73)。
After the transfer process in step S67, it is determined whether or not the empty capacity of the reverse priority M training program is 0 (if the variable capacity is equal to the number of matches) (step S68). Next, it is determined whether the variable capacity of the priority m training program has reached the upper limit (if the variable capacity is equal to the upper limit) (step S70). Next, it is determined whether m is greater than the maximum priority (3 when the facility code is A001) or M is less than 1 (step S72). The capacity transfer process with the code ends, and the temporarily stored variable capacity number is stored in the temporary matching
続いて、研修プログラム情報ファイル1、定員振替情報ファイル2それぞれから次の施設コードが記憶された、1以上レコードを取り出し、記憶装置に一時的に記憶する(2回目の施設コードは、施設コードB001のレコードを取り出す。ステップS74)。ステップS63に移り、施設コードの処理が終了していないと判定したときは、ステップS64の処理に移り、全ての施設コードの処理を行ったと判定したときは、処理を終了する。
ステップS72で条件に一致しないときは、該当の施設コード内での振り替え処理を継続するため、ステップS65に処理が戻る。
ステップS68の判定で、0であると判定したときはステップS69の処理に移る。またステップS70の判定で、優先度mの研修プログラムの変動定員数が定員数上限に達していると判定したときは、mを1加算して(m=m+1とする、ステップS71)、ステップS72に移る。
このように図16で示した処理にて、次に行うn回めのマッチング処理の定員数の振り替え処理を行う。
Subsequently, one or more records in which the next facility code is stored from each of the training
If the conditions are not matched in step S72, the process returns to step S65 in order to continue the transfer process within the corresponding facility code.
If it is determined in step S68 that the value is 0, the process proceeds to step S69. If it is determined in step S70 that the variable number of training programs with the priority m has reached the upper limit, m is incremented by 1 (m = m + 1, step S71). Control goes to step S72.
In this way, in the process shown in FIG. 16, the transfer process for the number of qualifiers in the next n-th matching process is performed.
図16で示した処理について、図3,7,14を用いて例示する。マッチング回数1回目の結果として、図7に示すような結果になったとき、マッチング回数2回目の定員数がどのように設定されるかを説明する。
(1回目)
最初に施設コードA001の研修プログラム番号A0001、A0002、A0003のレコードが取り出され(ステップS62)、優先度m=1、逆優先度M=3に設定される。
優先度m=1のA0003は、1回目のマッチ数と定員数がそれぞれ10で等しく、かつ変動定員数10が定員数上限13に達していないため、S65で定員増員の候補として設定される。次に逆優先度M=3のA0002は、マッチ数が変動定員数に達していないため、ステップS66で定員減員の候補として設定される。ステップS67で、A0003の変動定員数は、10から11に増員され、A0002の変動定員数は、10から9に減員される。変動定員数は、記憶装置に上書きされる。
A0002の空定員が0でなく(ステップS68)、A0003の変動定員数は定員数上限に達していなく(ステップS70)、mが優先度の最大値(3)より大きく、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
The processing shown in FIG. 16 will be illustrated with reference to FIGS. As a result of the first matching number, when the result as shown in FIG. 7 is obtained, how the number of the second matching number is set will be described.
(First time)
First, the records of the training program numbers A0001, A0002, and A0003 of the facility code A001 are extracted (step S62), and the priority m = 1 and the reverse priority M = 3 are set.
A0003 with the priority m = 1 has the same number of matches as the first match and the number of seats is equal to 10, and the variable number of
The vacant capacity of A0002 is not 0 (step S68), the variable capacity of A0003 has not reached the upper limit of capacity (step S70), m is greater than the maximum priority value (3), or M is less than 1. Since there is not (step S72), it returns to the process of step S65.
(2回目)
優先度m=1のA0003は、1回目のマッチ数と定員数がそれぞれ10で等しく、かつ変動定員数11が定員数上限13に達していないため、S65で定員増員の候補として設定される。次に逆優先度M=3のA0002は、マッチ数が変動定員数に達していないため、ステップS66で定員減員の候補として設定される。ステップS67で、A0003の変動定員数は、11から12に増員され、A0002の変動定員数は、9から8に減員される。変動定員数は、記憶装置に上書きされる。
A0002の空定員が0でなく(ステップS68)、A0003の変動定員数は定員数上限に達していなく(ステップS70)、mが優先度の最大値(3)より大きく、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
(Second time)
A0003 with priority m = 1 has the same number of matches as the first match and the number of seats is equal to 10, and the variable number of
The vacant capacity of A0002 is not 0 (step S68), the variable capacity of A0003 has not reached the upper limit of capacity (step S70), m is greater than the maximum priority value (3), or M is less than 1. Since there is not (step S72), it returns to the process of step S65.
(3回目)
優先度m=1のA0003は、1回目のマッチ数と定員数がそれぞれ10で等しく、かつ変動定員数12が定員数上限13に達していないため、S65で定員増員の候補として設定される。次に逆優先度M=3のA0002は、マッチ数が変動定員数に達していないため、ステップS66で定員減員の候補として設定される。ステップS67で、A0003の変動定員数は、12から13に増員され、A0002の変動定員数は、8から7に減員される。変動定員数は、記憶装置に上書きされる。
A0002の空定員が0でなく(ステップS68)、A0003の変動定員数は定員数上限に達したので(ステップS70)、mは2に設定され(ステップS71)、mが優先度の最大値(3)より大きく、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
(3rd)
A0003 with priority m = 1 has the same number of matches as the first match and the number of seats is equal to 10, and the variable number of
Since the vacant capacity of A0002 is not 0 (step S68) and the variable capacity of A0003 has reached the upper limit of capacity (step S70), m is set to 2 (step S71), and m is the maximum priority ( 3) Since larger than or M is not smaller than 1 (step S72), the process returns to step S65.
(4回目)
優先度m=2のA0001は、1回目の定員数とマッチ数とが等しくないので(ステップS65)、mは3に設定され(ステップS71)、mが優先度の最大値(3)より大きい、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
このときに、A0001の変動定員数は変動なしで、10に決定される。
(4th)
In A0001 with priority m = 2, the first number of matches and the number of matches are not equal (step S65), so m is set to 3 (step S71), and m is greater than the maximum priority value (3). Or M is not smaller than 1 (step S72), the process returns to step S65.
At this time, the fluctuation capacity number of A0001 is determined to be 10 without fluctuation.
(5回目)
優先度m=3のA0002は、1回目の定員数とマッチ数とが等しくないので(ステップS65)、mは4に設定され(ステップS71)、mが優先度の最大値(3)より大きいので(ステップS72)、一時的に記憶している施設コードA001の研修プログラム番号A0001,A0002、A0003の変動定員数をそれぞれ、10,7,13としてマッチング回数n(このときは、2回目)の定員数として、仮マッチング結果格納ファイル5に記憶する(ステップS73)。このように、定員振替処理は、互いに同一の施設(上記の例では施設コードA001のもの)に含まれる研修プログラム間でのみ行われる。
(5th)
In A0002 with priority m = 3, the number of matches and the number of matches for the first time are not equal (step S65), so m is set to 4 (step S71), and m is greater than the maximum priority value (3). Therefore (step S72), the number of matching times n (in this case, the second time) is set with the variable capacity numbers of the training program numbers A0001, A0002, and A0003 of the facility code A001 temporarily stored as 10, 7, and 13, respectively. The number is stored in the temporary matching result storage file 5 (step S73). Thus, the capacity transfer process is performed only between training programs included in the same facility (in the above example, the facility code A001).
(6回目)
次に施設コードB001の研修プログラム番号B0001、B0002のレコードが取り出され(ステップS74)、優先度m=1、逆優先度M=2に設定される。
優先度m=1のB0002は、1回目の定員数とマッチ数とが等しくないので(ステップS65)、mは2に設定され(ステップS71)、mが優先度の最大値(2)より大きい、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
このときに、B0002の変動定員数は変動なしで、10に決定される。
(6th)
Next, the records of the training program numbers B0001 and B0002 of the facility code B001 are extracted (step S74), and the priority m = 1 and the reverse priority M = 2 are set.
For B0002 with priority m = 1, the first number of matches and the number of matches are not equal (step S65), so m is set to 2 (step S71), and m is greater than the maximum priority value (2). Or M is not smaller than 1 (step S72), the process returns to step S65.
At this time, the fluctuation capacity of B0002 is determined to be 10 without fluctuation.
(7回目)
優先度m=2のB0001は、1回目の定員数とマッチ数とが等しくないので(ステップS65)、B0001の変動定員数は変動なしで、5に決定される。その後、mは3に設定され(ステップS71)、mが優先度の最大値(2)より大きいので(ステップS72)、一時的に記憶している施設コードB001の研修プログラム番号B0001,B0002の変動定員数をそれぞれ、5,10としてマッチング回数n(このときは、2回目)の定員数として、仮マッチング結果格納ファイル5に記憶する(ステップS73)。
施設コードB001に含まれる研修プログラムには、マッチ数が定員に達しているものはないため、定員振替が行われるものはない。
(7th)
For B0001 with priority m = 2, the number of matches for the first time and the number of matches are not equal (step S65). Thereafter, m is set to 3 (step S71), and since m is greater than the maximum priority value (2) (step S72), fluctuations in the training program numbers B0001 and B0002 of the facility code B001 temporarily stored The number of matches is 5 and 10, respectively, and is stored in the provisional matching
In the training program included in the facility code B001, there is no training program that has reached the maximum number of matches, so there is no transfer of capacity.
(8回目)
次に施設コードC001の研修プログラム番号C0001、C0002のレコードが取り出され(ステップS74)、優先度m=1、逆優先度M=2に設定される。
優先度m=1のC0001は、1回目の定員数とマッチ数とが等しくないので(ステップS65)、mは2に設定され(ステップS71)、mが優先度の最大値(2)より大きい、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
このときに、C0001の変動定員数は変動なしで、8に決定される。
(8th)
Next, the records of the training program numbers C0001 and C0002 of the facility code C001 are extracted (step S74), and the priority m = 1 and the reverse priority M = 2 are set.
Since C0001 with priority m = 1 does not have the same number of matches as the number of matches for the first time (step S65), m is set to 2 (step S71), and m is greater than the maximum priority value (2). Or M is not smaller than 1 (step S72), the process returns to step S65.
At this time, the fluctuation capacity number of C0001 is determined to be 8 without fluctuation.
(9回目)
優先度m=2のC0002は、1回目のマッチ数と定員数がそれぞれ5で等しく、かつ変動定員数5が定員数上限8に達していないため、S65で定員増員の候補として設定される。次に優先度M=2のC0002は、マッチ数が変動定員数に達しているため(ステップS66)、Mが1に設定され(ステップS69)、mが優先度の最大値(2)より大きい、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
(9th)
C0002 with the priority m = 2 has the same number of matches as the first match and the number of seats is equal to 5, and the variable number of
(10回目)
優先度m=2のC0002は、1回目のマッチ数と定員数がそれぞれ5で等しく、かつ変動定員数5が定員数上限8に達していないため、S65で定員増員の候補として設定される。次に優先度M=1のC0001は、マッチ数が変動定員数に達していないため(ステップS66)、ステップS66で定員減員の候補として設定される。ステップS67で、C0002の変動定員数は、5から6に増員され、C0001の変動定員数は、8から7に減員される。変動定員数は、記憶装置に上書きされる。
C0001の空定員が0でなく(ステップS68)、C0002の変動定員数は定員数上限に達していなく(ステップS70)、mが優先度の最大値(2)より大きく、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
(10th)
C0002 with the priority m = 2 has the same number of matches as the first match and the number of seats is equal to 5, and the variable number of
The vacant capacity of C0001 is not 0 (step S68), the variable capacity of C0002 has not reached the upper limit of capacity (step S70), m is greater than the maximum priority value (2), or M is less than 1. Since there is not (step S72), it returns to the process of step S65.
(11回目)
優先度m=2のC0002は、1回目のマッチ数と定員数がそれぞれ5で等しく、かつ変動定員数6が定員数上限8に達していないため、S65で定員増員の候補として設定される。次に逆優先度M=1のC0001は、マッチ数が変動定員数に達していないため(ステップS66)、ステップS66で定員減員の候補として設定される。ステップS67で、C0002の変動定員数は、6から7に増員され、C0001の変動定員数は、7から6に減員される。変動定員数は、記憶装置に上書きされる。
C0001の空定員が0でなく(ステップS68)、C0002の変動定員数は定員数上限に達していなく(ステップS70)、mが優先度の最大値(2)より大きく、またはMが1より小さくないので(ステップS72)、ステップS65の処理に戻る。
(11th)
C0002 with the priority m = 2 has the same number of matches as the first match and the number of seats is equal to 5, and the variable number of
The vacant capacity of C0001 is not 0 (step S68), the variable capacity of C0002 has not reached the upper limit of capacity (step S70), m is greater than the maximum priority value (2), or M is less than 1. Since there is not (step S72), it returns to the process of step S65.
(12回目)
優先度m=2のC0002は、1回目のマッチ数と定員数がそれぞれ5で等しく、かつ変動定員数7が定員数上限8に達していないため、S65で定員増員の候補として設定される。次に逆優先度M=1のC0001は、マッチ数が変動定員数に達していないため(ステップS66)、ステップS66で定員減員の候補として設定される。ステップS67で、C0002の変動定員数は、7から8に増員され、C0001の変動定員数は、6から5に減員される。変動定員数は、記憶装置に上書きされる。
C0001の空定員が0でなく(ステップS68)、C0002の変動定員数は定員数上限に達したので(ステップS70)、mは3に設定され、mが優先度の最大値(2)より大きいので(ステップS72)、一時的に記憶している施設コードC001の研修プログラム番号C0001,C0002の変動定員数をそれぞれ、5,8としてマッチング回数n(このときは、2回目)の定員数として、仮マッチング結果格納ファイル5に記憶する(ステップS73)。
次の施設コードのレコードがあれば、続いて処理を行うが、例示したものでは全ての施設コードに対応する処理が完了したため、ステップS63の処理で、終了となる。
以上説明した処理の流れで、2回目の定員数は、次のように設定される。図15に表示したとおり、A0001 10名、A0002 7名、A0003 13名、B0001 5名、B0002 10名、C0001 5名、C0002 8名となる。
なお10〜12回目の振替処理で、優先順位1のC0001から優先順位2のC0002への振替処理を行っている。定員振替情報ファイル2に記憶された順位は、優先順位が高い研修プログラムから低い研修プログラムへ振り替えを禁止するものではなく、このように場合によっては、定員振替手段9は、優先順位の高い研修プログラムから低い研修プログラムへの振り替えを行う。なお実施の形態1および、後述する実施の形態3,4でも同様に処理される。
例示したのは、2回目のマッチング処理に対する定員振替処理であるが、3回目以降も同様に定員振替処理を行う。
(12th)
C0002 with the priority m = 2 has the same number of matches as the first match and the number of seats is equal to 5, and the variable number of
Since the vacant capacity of C0001 is not 0 (step S68) and the variable capacity of C0002 has reached the maximum capacity (step S70), m is set to 3 and m is greater than the maximum priority value (2). Therefore (step S72), the variable number of training program numbers C0001 and C0002 of the facility code C001 temporarily stored is 5 and 8, respectively, and the number of matching times n (in this case, the second time) The temporary matching
If there is a record of the next facility code, the processing is performed subsequently. However, in the illustrated example, since the processing corresponding to all the facility codes is completed, the processing ends in step S63.
In the process flow described above, the second capacity is set as follows. As shown in FIG. 15,
In the 10th to 12th transfer process, the transfer process from C0001 with
Illustrated is the capacity transfer process for the second matching process, but the capacity transfer process is similarly performed for the third time and thereafter.
以上のように、本実施の形態によると、ある研修プログラムにマッチングされた参加者の数が研修プログラムの定員数に等しい場合、同一施設内の複数研修プログラムの優先順位に基づき、優先順位下位の研修プログラムの定員数を該当の研修プログラムの定員数に置き換え、該当の研修プログラムの定員数を増員する。その上で、再度マッチングを行うと、該当の研修プログラムにマッチングされる参加者が増える可能性が出てくる。
マッチングされた参加者の数が研修プログラムの定員数に等しい場合、定員数の最後のマッチングで、除外された参加者がいる場合があり(除外された参加者はいなく、定員数の最後の組み合わせでマッチング処理が終了する場合もある)、この場合は、定員数を増員し、再度マッチングを行うと、該当の研修プログラムにマッチングされる参加者が増加する。一方、Gale−Shapleyアルゴリズムでは、ある研修プログラムにマッチングされた参加者の数が該当の研修プログラムの定員数未満の場合、再度マッチングしても、マッチ数は増えないという特性を有するため、本実施の形態の処理に基づき、優先順位が下位の研修プログラムの定員を減員しても、減員したことによりその研修プログラムのマッチ数は減少することはない(他の要因により、再度のマッチングのときに、その前のマッチングと比較して、マッチ数が減少することはある)。
As described above, according to the present embodiment, when the number of participants matched to a certain training program is equal to the number of training programs, the lower priority order is based on the priorities of multiple training programs in the same facility. Replace the number of training programs with the number of training programs, and increase the number of training programs. Then, if matching is performed again, there is a possibility that more participants will be matched with the training program.
If the number of matched participants is equal to the capacity of the training program, there may be excluded participants in the final matching of the capacity (no excluded participants, the last combination of capacity In this case, if the number of participants is increased and matching is performed again, the number of participants who are matched with the corresponding training program increases. On the other hand, the Gale-Shapley algorithm has the characteristic that if the number of participants matched to a certain training program is less than the capacity of the corresponding training program, the number of matches will not increase even if matched again. Based on this form of processing, even if the number of training programs with lower priority is reduced, the number of matches in the training program will not decrease due to the reduction (when other matches are made due to other factors) , The number of matches may be reduced compared to the previous match).
この発明に係るマッチングシステムにおいて、集合B(研修プログラムの集合)のB要素(研修プログラム)は、1以上のB要素でグループを構成していて、定員振替情報ファイルは、集合Bの各B要素のB要素IDに対応して、グループ内の定員振替処理の優先順位を記憶しており、定員振替処理は、互いに同一のグループに含まれるB要素間でのみ行われる。
この構成は、請求項2の構成に対応する。
In the matching system according to the present invention, the B element (training program) of the set B (training program set) constitutes a group of one or more B elements, and the capacity transfer information file includes each B element of the set B. The priority order of the capacity transfer process in the group is stored in correspondence with the B element ID of the group, and the capacity transfer process is performed only between the B elements included in the same group.
This configuration corresponds to the configuration of
また、この発明は、複数の要素からなる集合A(参加者の集合)と複数の要素からなる集合B(研修プログラムの集合)との各要素をマッチングするためのマッチングシステムであって、上記集合Bの要素は、1以上の要素(研修プログラム)でグループを構成していて、上記集合Bの各要素のB要素ID(研修プログラム番号)ごとに、マッチングで受け入れ可能な定員数と定員数上限とを記憶した定員数ファイル(研修プログラム情報ファイル1)と、上記集合Bの各要素のB要素IDに対応して、上記グループ内の定員振替処理の優先順位を記憶した定員振替情報ファイル(定員振替情報ファイル2)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル(参加者ROLファイル3)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル(研修プログラムROLファイル4)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記定員数ファイルに記憶された定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行い、マッチング回数、B要素ID毎の、定員数、マッチ数を仮マッチング結果格納ファイルに記憶する第1のマッチング処理手段(図11のステップS22)と、上記グループ内に属するB要素に関して、上記仮マッチング結果格納ファイルに記憶された、前回のB要素ID毎の、定員数、マッチ数と上記定員振替情報ファイルに記憶された優先順位とに基づき、定員増員B要素IDと定員減員B要素IDとを決定し、定員振替処理を行い、定員振替処理は、定員増員B要素IDと、定員減員B要素IDとに対し、定員増員B要素IDのマッチ数が定員数と等しいとき、定員増員B要素IDの定員数を所定量だけ増加させるとともに、定員減員B要素IDの定員数を所定量だけ減少させるものであり、振り替えた定員数を今回の定員数として仮マッチング結果格納ファイルに記憶する定員振替手段(図11のステップS24および図16)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記仮マッチング結果格納ファイルに記憶された今回の定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行う第2のマッチング処理手段(図11のステップS26)とを備えたことを特徴とするマッチングシステムであって、上記定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施されることを特徴とするマッチングシステムであるということもできる。 The present invention also provides a matching system for matching each element of a set A (participant set) consisting of a plurality of elements and a set B (set of training programs) consisting of a plurality of elements, The element of B constitutes a group of one or more elements (training program), and the maximum number of persons and the maximum number of persons that can be accepted by matching for each B element ID (training program number) of each element of the set B And a capacity transfer information file (capacity) that stores the priority order of the capacity transfer processing within the group corresponding to the B element ID of each element of the set B Transfer information file 2) and a first priority list uniquely ranked for all or some of the elements of the set B for each A element ID of each element of the set A 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. A second priority list file (training program ROL file 4) storing the second priority list, the first priority list file, the second priority list file, and the capacity file Based on the number of quorums stored in the table, matching processing is performed on the elements of the set A against any of the elements of the set B, and the number of matching times and the number of matches and the number of matches for each B element ID are temporarily calculated. The first matching processing means (step S22 in FIG. 11) stored in the matching result storage file and the temporary matching result storage file for the B element belonging to the group Based on the stored capacity, the number of matches and the priority order stored in the capacity transfer information file for each previous B element ID, the capacity increase B element ID and the capacity decrease B element ID are determined. The transfer process is performed. When the number of matches of the additional B element ID is equal to the maximum number of the B element ID and the lower B element ID, the maximum number of the B element ID is increased. In addition to increasing the predetermined amount, the number of members of the capacity reduction B element ID is decreased by a predetermined amount, and the capacity transfer means for storing the transferred capacity number in the temporary matching result storage file as the current capacity number (FIG. 11) Step S24 and FIG. 16) and the current number of qualifications stored in the first priority list file, the second priority list file, and the temporary matching result storage file. And a second matching processing means (step S26 in FIG. 11) for performing matching processing on the elements of the set A with respect to any element of the set B. In addition, it can be said that the processing of the capacity transfer means and the second matching processing means is a matching system that is performed until a predetermined end condition is satisfied.
以上のことから、定員数の振り替えにより全体として参加者側のマッチ率の向上と、研修プログラム側の定員充足率の向上との可能性がある。
なお特定の研修プログラムにマッチングされる参加者が増える可能性、参加者側のマッチ率の向上および研修プログラム側の定員充足率の向上の可能性は、参加者ROLファイル、研修プログラムROLファイルの設定内容に依存する部分があり、常に向上されるわけではない。ただ向上の可能性は高くなり、少なくとも、特定の研修プログラムにマッチングされる参加者数、参加者側のマッチ率および研修プログラム側の定員充足率は、本実施の形態の処理を行わないときの特定の研修プログラムにマッチングされる参加者数、参加者側のマッチ率および研修プログラム側の定員充足率以上にはなる。
また定員数の振り替えは、同一施設内の研修プログラム内で行うため、施設全体としての定員数は変動しない。さらに、施設側では、人気のある研修プログラムがあれば、施設全体の充足率が向上する利点がある。また優先度の指定は施設が任意に変更することができるため、施設の希望を反映することができる。
From the above, there is a possibility that the overall match rate on the participant side will be improved and the capacity full rate on the training program side will be improved by changing the number of seats.
The possibility of increasing the number of participants who are matched to a specific training program, the improvement of the match rate on the participant's side, and the possibility of improving the capacity fullness on the training program side are set in the participant ROL file and the training program ROL file. There are parts that depend on the content, and it is not always improved. However, the possibility of improvement is high, and at least the number of participants matched to a specific training program, the match rate on the participant's side, and the capacity fullness rate on the training program side are those when the processing of this embodiment is not performed. More than the number of participants matched to a specific training program, the match rate on the participant side, and the capacity full rate on the training program side.
In addition, since the transfer of the capacity is performed within the training program in the same facility, the capacity of the facility as a whole does not change. Furthermore, on the facility side, if there is a popular training program, there is an advantage that the satisfaction rate of the entire facility is improved. Moreover, since the designation of priority can be arbitrarily changed by the facility, the desire of the facility can be reflected.
なお本実施の形態において、同一施設内に優先順位を設定するとしたが、複数の施設でグループを構成し、グループ内で優先順位を設定するように構成することができる。このとき一部は単一の施設内で設定、一部はグループ内で設定と、混在して構成してもよい。
例えば図14に示した、定員振替情報ファイル2で、施設コードB001と、C001とでグループを構成するとき、研修プログラム番号、B0001,B0002、C0001,C0002で順位付けを行い、施設コードA001は同一施設内で構成するとき、研修プログラム番号A0001,A0002,A0003の中で順位付けを行う。このように、複数の施設でグループを構成し、グループ内で優先順位付けを行うように構成すると、経営母体が同じ施設や近隣の施設等でグループを構成することができ、施設側の利便性が高まる。
In the present embodiment, the priority order is set in the same facility. However, a group may be configured by a plurality of facilities, and the priority order may be set in the group. At this time, a part may be set in a single facility, and a part may be set in a group.
For example, when a group is composed of facility codes B001 and C001 in the capacity
実施の形態3.
本実施の形態では、実施の形態1と同様に全ての研修プログラムの中で優先順位付けを行い、施設毎に施設定員数上限の数値を設定することを特徴とする。
研修プログラム毎の定員数上限により、研修プログラム毎の定員数が調整できるとともに、施設定員数上限(グループ定員数上限)により、施設として定員の上限を設定可能とする。
In the present embodiment, as in the first embodiment, priorities are assigned in all training programs, and a numerical value for the upper limit of the number of setting members is set for each facility.
The capacity limit for each training program can be adjusted by the upper limit of the capacity for each training program, and the upper limit of capacity can be set as a facility by the upper limit of the set number of persons (group capacity upper limit).
本実施の形態のシステム構成図は、実施の形態1で用いた図1および図2のとおりである。また定員振替情報ファイル2、参加者ROLファイル3、研修プログラムROLファイル4、マッチング結果格納ファイル6は、実施の形態1で用いた図4、図5、図6、図8で説明したとおりである。
図17は、本実施の形態の研修プログラム情報ファイル1の構成を示している。図17の研修プログラム番号、定員数、定員数上限、施設コード、施設住所については、図3を用いて、実施の形態1で説明したとおりである。
また図18は、本実施の形態の仮マッチング結果格納ファイル5の構成を示している。
The system configuration diagram of the present embodiment is as shown in FIGS. 1 and 2 used in the first embodiment. The capacity
FIG. 17 shows the configuration of the training
FIG. 18 shows the configuration of the temporary matching
次にマッチングシステムの動作について説明する。実施の形態1で用いた、図9、図10、図11、図13の処理は、本実施の形態においても同様に処理される。
「図11 ステップS24」の定員振替処理について、図12を用いて説明する。本実施の形態では、定員数振替処理によって、それぞれの研修プログラムの変動定員数の合計値が、施設定員数上限を上回ることがないかどうか判定し、上回ると判定したときは、その定員振替処理は行わない。具体的にはステップS35の判定で、逆優先度Mの研修プログラムのマッチ数が現在の変動定員数より小さいと判定したとき、ステップS36で振替処理を行う前に、「逆優先度Mの研修プログラムの変動定員数を減少させて優先度mの研修プログラムの変動定員数を増加させる振替処理を行ったとき、優先度mの研修プログラムが含まれる施設内の研修プログラムの変動定員数の合計値>施設定員数上限となるか?」(ステップS81)という判定を加える。ステップS81で、変動定員数の合計値が施設定員数上限以下であると判定したときは、ステップS36の処理に進む。またステップS81で、変動定員数の合計値が施設定員数上限より大きいと判定したときは、その振替処理を行わずに、ステップS40の処理に進む。このように、実施の形態3の定員振替処理は、その定員振替処理を行ったと仮定した場合に、優先度mの研修プログラムの属する施設における各研修プログラムの変動定員数の合計値が、その施設の施設定員数上限を上回らないこととなる場合にのみ行われる。
Next, the operation of the matching system will be described. The processing of FIGS. 9, 10, 11, and 13 used in the first embodiment is similarly performed in this embodiment.
The capacity transfer process of “FIG. 11 Step S24” will be described with reference to FIG. In the present embodiment, it is determined whether or not the total number of variable capacity of each training program does not exceed the upper limit of the number of establishments by the capacity transfer process. Do not do. Specifically, when it is determined in step S35 that the number of matches in the training program having the reverse priority M is smaller than the current variable capacity, before performing the transfer process in step S36, “the training of reverse priority M” The total number of variable capacity of training programs in the facility that includes the priority m training program when the transfer process is performed to decrease the variable capacity number of the program and increase the variable capacity of the priority m training program. > Is the upper limit of the number of setting members? "(Step S81) is added. If it is determined in step S81 that the total value of the variable capacity is equal to or less than the upper limit of the number of setting members, the process proceeds to step S36. If it is determined in step S81 that the total value of the variable capacity is larger than the upper limit of the set number, the process proceeds to step S40 without performing the transfer process. Thus, in the capacity transfer process of the third embodiment, assuming that the capacity transfer process is performed, the total number of variable capacity of each training program in the facility to which the training program of priority m belongs is This is only done when the maximum number of establishments is not exceeded.
マッチング回数1回目の結果として、図18に示すような結果になったとき、本実施の形態ではマッチング回数2回目の定員数がどのように設定されるかを説明する。なお、以下では、マッチング回数2回目において用いられるべき定員数を、合計11回の定員振替処理によって決定する例を示すが、図18に、このうち1,2,3,7,8,9回目の定員振替処理によって変動定員数がどのように変化するかの状況を示す。
(1回目)
まず優先度m=1のA0003は、1回目のマッチ数と定員数とがそれぞれ10で等しく、かつ変動定員数10が定員数上限13に達していないため、ステップS34で定員増員の候補として設定される。次に逆優先度M=7のA0001は、マッチ数が変動定員数に達していないため、ステップS35で定員減員の候補として設定される。ステップS81で変動定員数の合計値(振替処理を行うと、A0001が9、A0002が10、A0003が11となるので、合計値は30)は施設定員数上限33以下なので、ステップS36の処理に進む。
ステップS36で、A0003の変動定員数は、10から11に増員され、A0001の変動定員数は、10から9に減員される。変動定員数は、記憶装置に上書きされる。
A0001は空定員が0ではなく(ステップS37)、A0003の変動定員数は定員数上限に達していなく(ステップS39)、mが優先度の最大値(7)より大きく、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
As a result of the first matching count, when the result shown in FIG. 18 is obtained, how to set the second matching count in this embodiment will be described. In the following, an example is shown in which the number of quotas to be used in the second matching count is determined by a total of 11 quota transfer processes. FIG. 18 shows the first, second, third, seventh, eighth, and ninth times. It shows the situation of how the variable capacity changes due to the capacity transfer process.
(First time)
First, for A0003 with priority m = 1, the number of first matches and the number of players are equal to 10, and the variable number of
In step S36, the variable capacity of A0003 is increased from 10 to 11, and the variable capacity of A0001 is decreased from 10 to 9. The variable capacity is overwritten in the storage device.
In A0001, the empty capacity is not 0 (step S37), the variable capacity of A0003 has not reached the upper limit of capacity (step S39), m is larger than the maximum priority value (7), or M is smaller than 1. Since there is not (step S41), it returns to the process of step S33.
(2回目)
優先度m=1のA0003は、1回目の定員数とマッチ数とがそれぞれ10で等しく、変動定員数11が定員数上限13に達していないため、ステップS34で定員増員の候補として設定される。次に、逆優先度M=7のA0001は、マッチ数8が変動定員数9に達していないため(ステップS35)、ステップS35で定員減員の候補として設定される。ステップS81で変動定員数の合計値(振替処理を行うと、A0001が8、A0002が10、A0003が12となるので、合計値は30)は施設定員数上限33以下なので、ステップS36の処理に進む。
ステップS36で、A0003の変動定員数は、11から12に増員され、A0001の変動定員数は、9から8に減員される。変動定員数は、記憶装置に上書きされる。
A0001は空定員が0(変動定員数がマッチ数と等しくなる)となるので(ステップS37)、Mは6に設定され(ステップS38)、A0003の変動定員数は定員数上限に達していなく(ステップS39)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
このときに、A0001の変動定員数は8に決定される。
(Second time)
In A0003 with priority m = 1, the number of matches and the number of matches for the first time are equal to 10, respectively, and the
In step S36, the variable capacity of A0003 is increased from 11 to 12, and the variable capacity of A0001 is decreased from 9 to 8. The variable capacity is overwritten in the storage device.
Since A0001 has a vacant capacity of 0 (the variable capacity becomes equal to the number of matches) (step S37), M is set to 6 (step S38), and the variable capacity of A0003 does not reach the maximum capacity ( In step S39), m is larger than the maximum priority value (7) or M is not smaller than 1 (step S41), so the process returns to step S33.
At this time, the variable capacity of A0001 is determined to be 8.
(3回目)
優先度m=1のA0003は、1回目の定員数とマッチ数とがそれぞれ10で等しく、変動定員数12が定員数上限13に達していなく、逆優先度M=6のA0002は、マッチ数5が変動定員数10に達していないため(ステップS35)、ステップS35で定員減員の候補として設定される。ステップS81で変動定員数の合計値(振替処理を行うと、A0001が8、A0002が9、A0003が13となるので、30)は施設定員数上限33以下なので、ステップS36の処理に進む。
ステップS36で、A0003の変動定員数は、12から13に増員され、A0002の変動定員数は、10から9に減員される。
A0002は空定員が0ではなく(ステップS37)、A0003の変動定員数は定員数上限に達したので(ステップS39)、mは2に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
このときに、A0003の変動定員数は13に決定される。
(3rd)
For A0003 with priority m = 1, the number of matches and the number of matches for the first time are equal to 10, respectively, the
In step S36, the variable capacity number of A0003 is increased from 12 to 13, and the variable capacity number of A0002 is decreased from 10 to 9.
In A0002, the empty capacity is not 0 (step S37), and since the variable capacity of A0003 has reached the upper limit (step S39), m is set to 2 (step S40), and m is the maximum priority ( 7) Since it is larger or M is not smaller than 1 (step S41), the process returns to step S33.
At this time, the variable capacity of A0003 is determined to be 13.
(4回目)
優先度m=2のB0001は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは3に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS35の処理に戻る。
このときに、B0001の変動定員数は変動なしで、5に決定される。
(4th)
For B0001 with priority m = 2, the first number of matches and the number of matches are not equal (step S33), so m is set to 3 (step S40), and m is greater than the maximum priority value (7). Or M is not smaller than 1 (step S41), the process returns to step S35.
At this time, the fluctuation capacity number of B0001 is determined to be 5 without fluctuation.
(5回目)
優先度m=3のC0001は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは4に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS35の処理に戻る。
このときに、C0001の変動定員数は変動なしで、8に決定される。
(5th)
For C0001 with priority m = 3, the first number of matches and the number of matches are not equal (step S33), so m is set to 4 (step S40), and m is greater than the maximum priority value (7). Or M is not smaller than 1 (step S41), the process returns to step S35.
At this time, the fluctuation capacity number of C0001 is determined to be 8 without fluctuation.
(6回目)
優先度m=4のB0002は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは5に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS35の処理に戻る。
このときに、B0002の変動定員数は変動なしで、10に決定される。
(6th)
For B0002 with priority m = 4, the first number of matches and the number of matches are not equal (step S33), so m is set to 5 (step S40), and m is greater than the maximum priority value (7). Or M is not smaller than 1 (step S41), the process returns to step S35.
At this time, the fluctuation capacity of B0002 is determined to be 10 without fluctuation.
(7回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数5が定員数上限8に達していないため、ステップS34で定員増員の候補として設定される。次に逆優先度M=6のA0002は、マッチ数が変動定員数9に達していないため、ステップS35で定員減員の候補として設定される。ステップS81で変動定員数の合計値(振替処理を行うと、C0001が8、C0002が6となるので、14)は施設定員数上限15以下なので、ステップS36の処理に進む。
ステップS36で、C0002の定員数は、5から6に増員され、A0002の定員数は、9から8に減員される。
A0002は空定員が0ではなく(ステップS37)、C0002の変動定員数は定員数上限に達していなく(ステップS39)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
(7th)
C0002 with priority m = 5 has a match number and a capacity number equal to 5, and the
In step S36, the number of C0002 is increased from 5 to 6, and the number of A0002 is decreased from 9 to 8.
In A0002, the empty capacity is not 0 (step S37), the variable capacity of C0002 has not reached the upper limit (step S39), m is greater than the maximum priority value (7), or M is less than 1 Since there is not (step S41), it returns to the process of step S33.
(8回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数6が定員数上限8に達していないため、ステップS34で定員増員の候補として設定される。次に逆優先度M=6のA0002は、マッチ数が変動定員数8に達していないため、ステップS35で定員減員の候補として設定される。ステップS81で変動定員数の合計値(振替処理を行うと、C0001が8、C0002が7となるので、15)は施設定員数上限15以下なので、ステップS36の処理に進む。
ステップS36で、C0002の定員数は、6から7に増員され、A0002の定員数は、8から7に減員される。
A0002は空定員が0ではなく(ステップS37)、C0002の変動定員数は定員数上限に達していなく(ステップS39)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS33の処理に戻る。
(8th)
C0002 with a priority m = 5 has a match number and a capacity number equal to 5, and the
In step S36, the number of C0002 is increased from 6 to 7, and the number of A0002 is decreased from 8 to 7.
In A0002, the empty capacity is not 0 (step S37), the variable capacity of C0002 has not reached the upper limit (step S39), m is greater than the maximum priority value (7), or M is less than 1 Since there is not (step S41), it returns to the process of step S33.
(9回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数7が定員数上限8に達していないため、ステップS34で定員増員の候補として設定される。次に逆優先度M=6のA0002は、マッチ数が変動定員数7に達していないため、ステップS35で定員減員の候補として設定される。ステップS81で変動定員数の合計値(振替処理を行うと、C0001が8、C0002が8となるので、16)は施設定員数上限15より大きいので、ステップS40の処理に進む(ステップS36の振替処理は行わない。)。
このときに、C0002の変動定員数は7に決定される。
(9th)
C0002 with a priority m = 5 has a match number and a capacity number equal to 5 respectively, and the
At this time, the variable capacity of C0002 is determined to be 7.
(10回目)
優先度m=6のA0002は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは7に設定され(ステップS40)、mが優先度の最大値(7)より大きい、またはMが1より小さくないので(ステップS41)、ステップS35の処理に戻る。
このときに、A0002の変動定員数は変動なしで、10に決定される。
(10th)
In A0002 with priority m = 6, the first number of matches and the number of matches are not equal (step S33), m is set to 7 (step S40), and m is greater than the maximum priority value (7). Or M is not smaller than 1 (step S41), the process returns to step S35.
At this time, the variation capacity of A0002 is determined to be 10 without variation.
(11回目)
優先度m=7のA0001は、1回目の定員数とマッチ数とが等しくないので(ステップS33)、mは8に設定され(ステップS40)、mが優先度の最大値(7)より大きいので(ステップS41)、ステップS42の処理に移る。
このときに、A0002の変動定員数は変動なしで、10に決定される。
ステップS42で、一時的に記憶している変動定員数をマッチング回数n(このときは、2回目)の定員数として、仮マッチング結果格納ファイル5に記憶し、処理を終了する。
(11th)
In A0001 with priority m = 7, the first number of matches and the number of matches are not equal (step S33), so m is set to 8 (step S40), and m is greater than the maximum priority value (7). Therefore (step S41), the process proceeds to step S42.
At this time, the variation capacity of A0002 is determined to be 10 without variation.
In step S42, the temporarily stored variable capacity number is stored in the temporary matching
以上説明した処理の流れで、2回目の定員数は、次のように設定される。図18に表示したとおり、A0001 8名、A0002 6名、A0003 13名、B0001 5名、B0002 10名、C0001 8名、C0002 7名となる。
例示したのは、2回目のマッチング処理に対する定員振替処理であるが、3回目以降も同様に定員振替処理を行う。
本実施の形態の処理と実施の形態1の処理とを比べてみると、施設定員数上限の設定により、C0002の定員振替が制限され、実施の形態1では8名に増員されたが、本実施の形態では増員数は7名となっている。
In the process flow described above, the second capacity is set as follows. As shown in FIG. 18,
Illustrated is the capacity transfer process for the second matching process, but the capacity transfer process is similarly performed for the third time and thereafter.
Comparing the processing of the present embodiment with the processing of the first embodiment, the capacity transfer of C0002 is limited by the setting of the upper limit of the number of setting members, and in the first embodiment, the number is increased to eight. In the embodiment, the number of personnel increases is seven.
この発明に係るマッチングシステムにおいて、集合B(研修プログラムの集合)のB要素(研修プログラム)は、1以上のB要素でグループを構成していて、定員数ファイルは、さらにグループのそれぞれについてグループ定員数上限を記憶しており、定員振替処理は、当該定員振替処理を行ったと仮定した場合に、上位B要素IDの属するグループにおけるB要素毎の定員数の合計値が、そのグループのグループ定員数上限を上回らないこととなる場合にのみ行われるものであってもよい。
この構成は、請求項3の構成に対応する。
In the matching system according to the present invention, the B element (training program) of the set B (training program set) constitutes a group of one or more B elements, and the capacity file further includes a group capacity for each group. The maximum number is stored, and the capacity transfer process assumes that the capacity transfer process has been performed, the total number of capacity for each B element in the group to which the upper B element ID belongs is the group capacity It may be performed only when the upper limit is not exceeded.
This configuration corresponds to the configuration of
また、この発明は、複数の要素からなる集合A(参加者の集合)と複数の要素からなる集合B(研修プログラムの集合)との各要素をマッチングするためのマッチングシステムであって、上記集合Bの要素は、1以上の要素(研修プログラム)でグループを構成していて、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と定員数上限とグループ定員数上限とを記憶した定員数ファイル(研修プログラム情報ファイル1)と、上記集合Bの各要素のB要素IDに対応して、定員振替処理の優先順位を記憶した定員振替情報ファイル(定員振替情報ファイル2)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル(参加者ROLファイル3)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル(研修プログラムROLファイル4)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記定員数ファイルに記憶された定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行い、マッチング回数、B要素ID毎の、定員数、マッチ数を仮マッチング結果格納ファイルに記憶する第1のマッチング処理手段(図11のステップS22)と、上記仮マッチング結果格納ファイルに記憶された、前回のB要素ID毎の、定員数、マッチ数と上記定員振替情報ファイルに記憶された優先順位とに基づき、定員増員B要素IDと定員減員B要素IDとを決定し、定員振替処理を行い、定員振替処理は、定員増員B要素IDと、定員減員B要素IDとに対し、定員増員B要素IDのマッチ数が定員数と等しく、かつ振り替え処理によりB要素毎の定員数合計値が上記グループ定員数上限を上回らないとき、定員増員B要素IDの定員数を所定量だけ増加させるとともに、定員減員B要素IDの定員数を所定量だけ減少させるものであり、振り替えた定員数を今回の定員数として仮マッチング結果格納ファイルに記憶する定員振替手段(図11のステップS24、図12およびステップS81の説明)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記仮マッチング結果格納ファイルに記憶された今回の定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行う第2のマッチング処理手段(図11のステップS26)とを備えたことを特徴とするマッチングシステムであって、上記定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施されることを特徴とするマッチングシステムであるということもできる。 The present invention also provides a matching system for matching each element of a set A (participant set) consisting of a plurality of elements and a set B (set of training programs) consisting of a plurality of elements, The element of B constitutes a group of one or more elements (training program), and the maximum number of persons, the maximum number of groups, and the maximum number of groups that can be accepted by matching for each B element ID of each element of the above set B And a capacity transfer information file (capacity transfer information file 2) storing the priority order of the capacity transfer process corresponding to the B element ID of each element of the set B ) And a first priority list that uniquely ranks all or some of the elements of the set B for each A element ID of each element of the set A Second priority that is uniquely ranked for all or part of the elements of the set A for each priority element file (participant ROL file 3) and B element ID of each element of the set B The second priority list file (training program ROL file 4) storing the list, the first priority list file, the second priority list file, and the quorum stored in the quorum file Based on this, the matching process is performed on the elements of the set A to any element of the set B, and the number of matching times, the number of matches for each B element ID, and the number of matches are stored in the temporary matching result storage file The first matching processing means (step S22 in FIG. 11) and the number of matches, the number of matches, and the like for each previous B element ID stored in the temporary matching result storage file Based on the priority stored in the capacity transfer information file, the capacity increase B element ID and the capacity decrease B element ID are determined, the capacity transfer process is performed, and the capacity transfer process is the capacity increase B element ID and the capacity decrease. If the total number of matches for the B element ID is equal to the number of persons and the total number of elements for each B element does not exceed the above group capacity upper limit by the transfer process, A capacity transfer means for increasing the capacity by a predetermined amount and decreasing the capacity of the capacity reduction B element ID by a predetermined amount, and storing the transferred capacity as a current capacity in the temporary matching result storage file ( Step S24 in FIG. 11, FIG. 12 and Step S81), the first priority list file, the second priority list file, and the temporary matchon A second matching processing means for matching the elements of the set A with any of the elements of the set B based on the current capacity stored in the storage result storage file (step of FIG. 11). S26), wherein the processing of the capacity transfer means and the second matching processing means is performed until a predetermined end condition is satisfied. It can also be called a system.
以上説明したように、本実施の形態によると、研修プログラム毎の定員数上限により、研修プログラム毎の定員数が調整できるとともに、施設定員数上限により、施設として定員の調整がしやすくなる効果が得られる。 As explained above, according to the present embodiment, the maximum number of training programs can be adjusted by the upper limit of the number of training programs, and the upper limit of the number of setting programs has the effect of facilitating the adjustment of the capacity as a facility. can get.
実施の形態4.
本実施の形態でも、優先順位付けに基づき定員振替処理を行うが、定員を振り替えた相手を記憶し、一度振り替えを行った流れと逆になる流れの振り替えは行わないことを特徴とする。それにより、他の実施の形態と比べて、少ない振替処理で、同等の効果を得る可能性がある。
Also in the present embodiment, the capacity transfer process is performed based on the prioritization, but the partner whose capacity has been transferred is stored, and the flow that is the reverse of the flow that has been transferred once is not performed. Thereby, compared with other embodiments, there is a possibility that the same effect can be obtained with less transfer processing.
本実施の形態のシステム構成図は、実施の形態1で用いた図1および図2のとおりである。また研修プログラム情報ファイル1、定員振替情報ファイル2、参加者ROLファイル3、研修プログラムROLファイル4、マッチング結果格納ファイル6は、実施の形態1で用いた図3、図4、図5、図6、図8で説明したとおりである。
図19は、本実施の形態の仮マッチング結果格納ファイル5の構成を示している。実施の形態1で図7を用いて説明したとおり、「マッチング回数」、「研修プログラム番号」、「定員数」、「マッチ数」が格納されているが、それに加えて「受け入れ元」が記憶される。「受け入れ元」とは、定員振替処理により定員が増員したとき、増員した定員をどこから受け入れたかを示すものである。例えば、A0001からA0003への定員振替処理が行われたとき、A0003のレコードの「受け入れ元」項目に、A0001が設定される。
The system configuration diagram of the present embodiment is as shown in FIGS. 1 and 2 used in the first embodiment. The training
FIG. 19 shows the configuration of the temporary matching
次にマッチングシステムの動作について説明する。実施の形態1で用いた、図9、図10、図11、図13の処理は、本実施の形態においても同様に処理される。
図20は、本実施の形態のおける定員振替手段9による定員振替処理の流れを示した図である。「図11 ステップS24」の定員振替処理の詳細になる。
処理を開始し、研修プログラム情報ファイル1(「定員数」、「定員数上限」項目)、定員振替情報ファイル2(「研修プログラム番号」毎の「順位」項目)を参照し、仮マッチング結果格納ファイル5のn−1回目の研修プログラム番号毎の定員数、マッチ数、受け入れ元を一時的に記憶装置に記憶する(ステップS91)。また図11の処理の中で、変動する定員数を「変動定員数」と呼ぶ。変動定員数は、初期段階で、n−1回目の定員数が研修プログラム番号に対応して記憶装置に記憶され、定員振替処理を実施中、変動する定員数が上書きされて記憶される。
Next, the operation of the matching system will be described. The processing of FIGS. 9, 10, 11, and 13 used in the first embodiment is similarly performed in this embodiment.
FIG. 20 is a diagram showing the flow of the capacity transfer process by the capacity transfer means 9 in the present embodiment. This is the details of the capacity transfer process of “FIG. 11 Step S24”.
Start processing, refer to training program information file 1 (“Capacity”, “Capacity upper limit” items) and capacity transfer information file 2 (“Rank” item for each “Training program number”), and store temporary matching results The capacity, the number of matches, and the acceptance source for each n-1th training program number in
次に定員振替情報ファイル2の「順位」項目に基づき、優先度mを設定し、初期値は1とする(ステップS92)。定員振替情報ファイル2の「順位」は、数字が小さい順に振り替え処理が優先される。つまり、1,2,3・・・Mの順番で振り替え処理が優先される。Mは逆優先度(一番優先度が低い数値)とし、Mの初期値を優先度の最大値に設定する(図4の例示した、定員振替情報ファイル2では、優先度の最大値は7であり、Mの初期値は7になる。ステップS93)。
Next, the priority m is set based on the “rank” item of the capacity
研修プログラム情報ファイル1の定員数上限と、一時的に記憶された、n−1回目の研修プログラム番号毎の定員数と、マッチ数とを、定員振替情報ファイル2に記憶された順位に基づき順次参照し、優先度mのマッチ数が定員数と等しいか判定し(ステップS94)、次に変動定員数が定員数上限より小さいかどうかを判定し(ステップS95)、その条件を満たしているときは優先度mの研修プログラムに対して、定員振替処理を実施する。ステップS94およびS95で、条件を満たしていないと判定したときは、mを1加算して(m=m+1とする、ステップS101)、ステップS102の判定を行う。
その後、逆優先度Mの研修プログラムが定員数減員可能かを判定するため、逆優先度Mのマッチ数が、現在の変動定員数より小さいか、かつ逆優先度Mの受け入れ元に優先度mの研修プログラム番号が含まれていないかどうかを判定し(ステップS96)、条件に一致する場合は逆優先度Mからの振り替えが可能のため、逆優先度Mの研修プログラムの定員数を1減算して、優先度mの研修プログラムの定員数を1加算する。さらに、仮マッチング結果格納ファイル5のn回目の優先度mの研修プログラム番号が指定された、該当レコードの「受け入れ元」項目に、逆優先度Mの研修プログラム番号を記憶する(ステップS97)。このステップS97における処理は、逆優先度Mの研修プログラム番号から優先度mの研修プログラム番号に定員が振り替えられたことを表す振替履歴を作成して記憶するものである。なお、上記ステップS96における判定条件の一部は、進行中の定員振替処理の対象となるべき2つの研修プログラム番号の間で、進行中の定員振替処理とは逆方向の定員振替処理がすでに行われていたか否かをチェックするものである。そして、逆方向の定員振替処理がそれまで行われていない場合、すなわち優先度mの研修プログラム番号から逆優先度Mの研修プログラム番号への振替履歴が存在しない場合には、定員振替処理が行われる。一方、逆方向の定員振替処理がすでに行われていた場合、すなわち優先度mの研修プログラム番号から逆優先度Mの研修プログラム番号への振替履歴が存在する場合には、定員振替処理は行われないことになる。
ステップS97の処理で、振り替え処理を行った定員数は、変動定員数に上書きされ、記憶される。ステップS96の判定で、逆優先度Mのマッチ数が変動定員数以上である、または優先度Mの受け入れ元にmが設定されていると判定したときは、逆優先度Mの研修プログラムから優先度mの研修プログラムへの振り替え処理はできないとし、優先度Mを1減算して(M=M−1とする、ステップS99)、ステップS96の処理へ戻る。
The upper limit of the number of training program information files 1, the temporarily stored number of training program numbers for each (n-1) th training program number, and the number of matches are sequentially based on the order stored in the capacity
After that, in order to determine whether the reverse priority M training program can reduce the number of people, the number of matches with the reverse priority M is smaller than the current variable number of people, and the priority m is set as the acceptance source of the reverse priority M. The training program number is not included (step S96), and if the condition matches, the transfer from reverse priority M is possible, so the number of training programs with reverse priority M is decremented by 1. Then, add 1 to the number of training programs with priority m. Further, the training program number of the reverse priority M is stored in the “accepting source” item of the corresponding record in which the training program number of the n-th priority m of the temporary matching
In the process of step S97, the number of persons to which transfer processing has been performed is overwritten and stored in the variable number of persons. If it is determined in step S96 that the number of matches with reverse priority M is greater than or equal to the variable capacity, or m is set as the acceptance source of priority M, priority is given to the training program with reverse priority M. Assuming that the transfer process to the training program of degree m cannot be performed, the priority M is decremented by 1 (M = M−1, step S99), and the process returns to step S96.
ステップS97の振り替え処理後、逆優先度Mの研修プログラムの空定員が0かどうか(変動定員数がマッチ数と等しくなっているか)を判定し(ステップS98)、0でないと判定したときは、次に優先度mの研修プログラムの変動定員数が定員数上限に達しているか(変動定員数が定員数上限と等しくなっているか)、またはMが1より小さいかを判定し(ステップS100)、条件を満たしていないと判定したときは、次にmが優先度の最大値(図4の例示した、定員振替情報ファイル2では、7になる)より大きいかを判定し(ステップS102)、条件に一致するときは、マッチング回数nでの定員振替処理は終了となり、一時的に記憶している変動定員数をマッチング回数nの定員数として、仮マッチング結果格納ファイル5に記憶する(ステップS103)。
ステップS102で条件に一致しないときは、マッチング回数nでの振り替え処理を継続するため、ステップS93に処理が戻る。
ステップS98の判定で、0であると判定したときはステップS99の処理に移る。またステップS100の判定で、条件を満たすと判定したときは、mを1加算して(m=m+1とする、ステップS101)、ステップS102に移る。
このように図20で示した処理にて、次に行うn回目のマッチング処理の定員数の振り替え処理を行う。
After the transfer process in step S97, it is determined whether or not the empty capacity of the training program of reverse priority M is 0 (if the variable capacity is equal to the number of matches) (step S98). Next, it is determined whether the variable capacity of the training program of priority m has reached the upper limit (whether the variable capacity is equal to the upper limit) or whether M is less than 1 (step S100). If it is determined that the condition is not satisfied, it is then determined whether m is greater than the maximum priority (7 in the capacity
When the condition does not match in step S102, the process returns to step S93 in order to continue the transfer process with the number of matching times n.
If it is determined in step S98 that the value is 0, the process proceeds to step S99. If it is determined in step S100 that the condition is satisfied, m is incremented by 1 (m = m + 1, step S101), and the process proceeds to step S102.
In this way, in the process shown in FIG. 20, the transfer process for the number of qualifiers in the next n-th matching process is performed.
図20で示した処理について、図3,4,19を用いて例示する。マッチング回数1回目の結果として、図19に示すような結果になったとき、マッチング回数2回目の定員数がどのように設定されるかを説明する。
(1回目)
まず優先度m=1のA0003は、1回目のマッチ数と定員数とがそれぞれ10で等しく、かつ変動定員数10が定員数上限13に達していないため、ステップS95で定員増員の候補として設定される。次に優先度M=7のA0001は、マッチ数が変動定員数に達していなく、また優先度M=7の研修プログラムであるA0001の「受け入れ元」に、m=1である研修プログラムA0003が含まれていないため、ステップS96で定員減員の候補として設定される。ステップS97で、A0003の変動定員数は、10から11に増員され、A0001の変動定員数は、10から9に減員される。変動定員数は、記憶装置に上書きされる。
A0001は空定員が0ではなく(ステップS98)、A0003の変動定員数は定員数上限に達していなく、Mは1以上で(ステップS100)、mが優先度の最大値(7)より大きいので(ステップS102)、ステップS93の処理に戻る。
The processing shown in FIG. 20 will be illustrated with reference to FIGS. As a result of the first matching count, when the result shown in FIG. 19 is obtained, it will be described how the number of matches for the second matching count is set.
(First time)
First, for A0003 with priority m = 1, the number of first matches and the number of players are equal to 10, and the variable number of
Since A0001 has no vacant capacity (step S98), the variable capacity of A0003 has not reached the upper limit, M is 1 or more (step S100), and m is greater than the maximum priority (7). (Step S102), the process returns to Step S93.
(2回目)
優先度m=1のA0003は、1回目の定員数とマッチ数とがそれぞれ10で等しく、変動定員数11が定員数上限13に達していないため、ステップS95で定員増員の候補として設定される。次に、逆優先度M=7のA0001は、マッチ数8が変動定員数9に達していなく、また逆優先度M=7の研修プログラムであるA0001の「受け入れ元」に、m=1である研修プログラムA0003が含まれていないため(ステップS96)、ステップS97で、A0003の変動定員数は、11から12に増員され、A0001の変動定員数は、9から8に減員される。変動定員数は、記憶装置に上書きされる。
A0001は空定員が0(変動定員数がマッチ数と等しくなる)となるので(ステップS98)、Mは6に設定される(ステップS99)。
このときに、A0001の変動定員数は8に決定される。
(Second time)
In A0003 with priority m = 1, the number of matches and the number of matches for the first time are equal to 10, respectively, and the
Since A0001 has a vacant capacity of 0 (the variable capacity becomes equal to the number of matches) (step S98), M is set to 6 (step S99).
At this time, the variable capacity of A0001 is determined to be 8.
(3回目)
優先度m=1のA0003は、1回目の定員数とマッチ数とがそれぞれ10で等しく、変動定員数12が定員数上限13に達していない。また、逆優先度M=6のA0002は、マッチ数5が変動定員数10に達していなく、逆優先度M=6の研修プログラムであるA0002の「受け入れ元」に、m=1である研修プログラムA0003が含まれていないため(ステップS96)、ステップS97で、A0003の変動定員数は、12から13に増員され、A0002の変動定員数は、10から9に減員される。
A0002は空定員が0ではなく(ステップS98)、A0003の変動定員数は定員数上限に達したので(ステップS100)、mは2に設定され(ステップS101)、mが優先度の最大値(7)より大きくはないので(ステップS102)、ステップS93の処理に戻る。
このときに、A0003の変動定員数は13に決定される。
(3rd)
In A0003 with the priority m = 1, the first number of matches and the number of matches are equal to 10, respectively, and the
In A0002, the empty capacity is not 0 (step S98), and the variable capacity of A0003 has reached the upper limit (step S100), so m is set to 2 (step S101), and m is the maximum priority ( 7) Since it is not larger (step S102), the process returns to step S93.
At this time, the variable capacity of A0003 is determined to be 13.
(4回目)
優先度m=2のB0001は、1回目の定員数とマッチ数とが等しくないので(ステップS94)、mは3に設定され(ステップS101)、mが優先度の最大値(7)より大きくないので(ステップS102)、ステップS93の処理に戻る。
このときに、B0001の変動定員数は変動なしで、5に決定される。
(4th)
For B0001 with priority m = 2, the first number of matches and the number of matches are not equal (step S94), so m is set to 3 (step S101), and m is greater than the maximum priority value (7). Since there is not (step S102), it returns to the process of step S93.
At this time, the fluctuation capacity number of B0001 is determined to be 5 without fluctuation.
(5回目)
優先度m=3のC0001は、1回目の定員数とマッチ数とが等しくないので(ステップS94)、mは4に設定され(ステップS101)、mが優先度の最大値(7)より大きくはないので(ステップS102)、ステップS93の処理に戻る。
このときに、C0001の変動定員数は変動なしで、8に決定される。
(5th)
For C0001 with priority m = 3, the number of matches for the first time and the number of matches are not equal (step S94), so m is set to 4 (step S101), and m is greater than the maximum priority value (7). Since there is no (step S102), the process returns to step S93.
At this time, the fluctuation capacity number of C0001 is determined to be 8 without fluctuation.
(6回目)
優先度m=4のB0002は、1回目の定員数とマッチ数とが等しくないので(ステップS94)、mは5に設定され(ステップS101)、mが優先度の最大値(7)より大きくはないので(ステップS102)、ステップS93の処理に戻る。
このときに、B0002の変動定員数は変動なしで、10に決定される。
(6th)
For B0002 with priority m = 4, the number of matches and the number of matches for the first time are not equal (step S94), so m is set to 5 (step S101), and m is greater than the maximum priority value (7). Since there is no (step S102), the process returns to step S93.
At this time, the fluctuation capacity of B0002 is determined to be 10 without fluctuation.
(7回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数5が定員数上限8に達していないため、ステップS95で定員増員の候補として設定される。次に逆優先度M=7のA0001は、マッチ数が変動定員数8に達しているため(ステップS96)、Mは6に設定され(ステップS99)、逆優先度M=6のA0002は、マッチ数が変動定員数9に達していなく、また逆優先度M=6の研修プログラムであるA0002の「受け入れ元」に、m=5である研修プログラムC0002が含まれていないため(ステップS96)、ステップS96で定員減員の候補として設定される。ステップS97で、C0002の定員数は、5から6に増員され、A0002の定員数は、9から8に減員される。
A0002は空定員が0ではなく(ステップS98)、C0002の変動定員数は定員数上限に達していなく(ステップS100)、mが優先度の最大値(7)より大きくないので(ステップS102)、ステップS93の処理に戻る。
(7th)
C0002 of priority m = 5 has a match number and a capacity number equal to 5 respectively, and the
In A0002, the empty capacity is not 0 (step S98), the variable capacity of C0002 has not reached the upper limit of capacity (step S100), and m is not larger than the maximum priority value (7) (step S102). The process returns to step S93.
(8回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数6が定員数上限8に達していないため、ステップS95で定員増員の候補として設定される。次に逆優先度M=7のA0001は、マッチ数が変動定員数8に達しているため(ステップS96)、Mは6に設定され(ステップS99)、逆優先度M=6のA0002は、マッチ数が変動定員数8に達していなく、また逆優先度M=6の研修プログラムであるA0002の「受け入れ元」に、m=5である研修プログラムC0002が含まれていないため、ステップS96で定員減員の候補として設定される。ステップS97で、C0002の定員数は、6から7に増員され、A0002の定員数は、8から7に減員される。
A0002は空定員が0ではなく(ステップS98)、C0002の変動定員数は定員数上限に達していなく(ステップS100)、mが優先度の最大値(7)より大きくないので(ステップS102)、ステップS93の処理に戻る。
(8th)
C0002 with a priority m = 5 has a match number and a capacity number equal to 5 respectively, and the
In A0002, the empty capacity is not 0 (step S98), the variable capacity of C0002 has not reached the upper limit of capacity (step S100), and m is not larger than the maximum priority value (7) (step S102). The process returns to step S93.
(9回目)
優先度m=5のC0002は、マッチ数と定員数とがそれぞれ5で等しく、かつ変動定員数7が定員数上限8に達していないため、ステップS95で定員増員の候補として設定される。次に優先度M=7のA0001は、マッチ数が変動定員数8に達しているため(ステップS96)、Mは6に設定され(ステップS99)、逆優先度M=6のA0002は、マッチ数が変動定員数7に達していなく、また逆優先度M=6の研修プログラムであるA0002の「受け入れ元」に、m=5である研修プログラムC0002が含まれていないため、ステップS96で定員減員の候補として設定される。ステップS97で、C0002の定員数は、7から8に増員され、A0002の定員数は、7から6に減員される。
A0002は空定員が0ではなく(ステップS98)、C0002の変動定員数は定員数上限に達したため(ステップS100)、mは6に設定され(ステップS101)、mが優先度の最大値(7)より大きくないので(ステップS102)、ステップS93の処理に戻る。
このときに、C0002の変動定員数は8に決定される。
(9th)
C0002 with a priority m = 5 has a match number and a capacity number equal to 5 respectively, and the
Since A0002 has a non-empty capacity of 0 (step S98) and the variable capacity of C0002 has reached the maximum capacity (step S100), m is set to 6 (step S101), and m is the maximum priority (7 ) (Step S102), the process returns to step S93.
At this time, the variable capacity of C0002 is determined to be 8.
(10回目)
優先度m=6のA0002は、1回目の定員数とマッチ数とが等しくないので(ステップS94)、mは7に設定され(ステップS101)、mが優先度の最大値(7)より大きくないので(ステップS102)、ステップS93の処理に戻る。
このときに、A0002の変動定員数は変動なしで、10に決定される。
(10th)
For A0002 with priority m = 6, the number of matches and the number of matches for the first time are not equal (step S94), so m is set to 7 (step S101), and m is greater than the maximum priority value (7). Since there is not (step S102), the process returns to step S93.
At this time, the variation capacity of A0002 is determined to be 10 without variation.
(11回目)
優先度m=7のA0001は、1回目の定員数とマッチ数とが等しくないので(ステップS94)、mは8に設定され(ステップS101)、mが優先度の最大値(7)より大きいので(ステップS102)、ステップS103の処理に移る。
このときに、A0002の変動定員数は変動なしで、10に決定される。
ステップS103で、一時的に記憶している変動定員数をマッチング回数n(このときは、2回目)の定員数として、仮マッチング結果格納ファイル5に記憶し、処理を終了する。
(11th)
In A0001 with priority m = 7, the first number of matches and the number of matches are not equal (step S94), so m is set to 8 (step S101), and m is greater than the maximum priority value (7). Therefore (step S102), the process proceeds to step S103.
At this time, the variation capacity of A0002 is determined to be 10 without variation.
In step S103, the temporarily stored variable capacity number is stored in the temporary matching
以上説明した処理の流れで、2回目の定員数は、次のように設定される。図19に表示したとおり、A0001 8名、A0002 6名、A0003 13名、B0001 5名、B0002 10名、C0001 8名、C0002 8名となる。
例示したのは、2回目のマッチング処理時の定員振替処理であるが、3回目以降も同様に定員振替処理を行う。
以上説明したように、本実施の形態では、優先順位付けに基づき定員振替処理を行うが、定員を振り替えた相手を記憶し、一度振り替えを行った流れと逆になる流れの振り替えは行わないことを特徴とする。それにより、他の実施の形態と比べて、少ない振替処理で、同等の効果を得る可能性がある。
In the process flow described above, the second capacity is set as follows. As shown in FIG. 19,
Illustrated is the capacity transfer process at the time of the second matching process, but the capacity transfer process is similarly performed after the third time.
As described above, in the present embodiment, the capacity transfer process is performed based on prioritization, but the partner to which the capacity has been transferred is stored, and the flow that is the reverse of the flow that has been transferred once is not performed. It is characterized by. Thereby, compared with other embodiments, there is a possibility that the same effect can be obtained with less transfer processing.
この発明に係るマッチングシステムにおいて、仮マッチング結果格納ファイルには、さらに、定員振替処理が実行されるたびに、定員減員B要素IDから定員増員B要素IDに定員が振り替えられたことを表す振替履歴が記憶され、定員振替処理は、定員増員B要素IDから定員減員B要素IDに定員が振り替えられたことを表す振替履歴が存在しない場合にのみ行われるものである。
本実施の形態では、定員振替情報ファイル2に記憶された優先順位では下位の研修プログラム番号が定員増員研修プログラム番号となり、上位の研修プログラム番号が定員減員研修プログラム番号となる場合がある。そのため、定員振替情報ファイル2に記憶された優先順位では上位の研修プログラム番号から、下位の研修プログラム番号への振り替えも許容するが、既に下位の研修プログラム番号から上位の研修プログラム番号への振替履歴が存在するときは、上位の研修プログラム番号から下位の研修プログラム番号への振り替え処理は行われない。
この構成は、請求項4の構成に対応する。
In the matching system according to the present invention, the temporary matching result storage file further includes a transfer history indicating that the capacity has been transferred from the capacity reduction B element ID to the capacity increase B element ID each time the capacity transfer process is executed. Is stored, and the capacity transfer process is performed only when there is no transfer history indicating that the capacity has been transferred from the capacity increase B element ID to the capacity decrease B element ID.
In the present embodiment, in the priority order stored in the capacity
This configuration corresponds to the configuration of
また、この発明は、複数の要素からなる集合A(参加者の集合)と複数の要素からなる集合B(研修プログラムの集合)との各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と定員数上限とを記憶した定員数ファイル(研修プログラム情報ファイル1)と、上記集合Bの各要素のB要素IDに対応して、定員振替処理の優先順位を記憶した定員振替情報ファイル(定員振替情報ファイル2)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル(参加者ROLファイル3)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル(研修プログラムROLファイル4)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記定員数ファイルに記憶された定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行い、マッチング回数、B要素ID毎の、定員数、マッチ数を仮マッチング結果格納ファイルに記憶する第1のマッチング処理手段(図11のステップS22)と、上記仮マッチング結果格納ファイルに記憶された、前回のB要素ID毎の、定員数、マッチ数と上記定員振替情報ファイルに記憶された優先順位とに基づき、定員増員B要素IDと定員減員B要素IDとを決定し、定員振替処理を行い、定員振替処理は、定員増員B要素IDと、定員減員B要素IDとに対し、定員増員B要素IDのマッチ数が定員数と等しく、かつ、定員増員B要素IDから定員減員B要素IDへの振り替え履歴が存在しないとき、定員増員B要素IDの定員数を所定量だけ増加させるとともに、定員減員B要素IDの定員数を所定量だけ減少させるものであり、振り替えた定員数を今回の定員数として仮マッチング結果格納ファイルに記憶し、さらに優先順位下位のB要素IDから該当のB要素IDへの振替履歴を仮マッチング結果格納ファイルに記憶する定員振替手段(図11のステップS24および図20)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記仮マッチング結果格納ファイルに記憶された今回の定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行う第2のマッチング処理手段(図11のステップS26)とを備えたことを特徴とするマッチングシステムであって、上記定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施されることを特徴とするマッチングシステムであるということもできる。 The present invention also provides a matching system for matching each element of a set A (participant set) consisting of a plurality of elements and a set B (set of training programs) consisting of a plurality of elements, For each B element ID of each element of B, it corresponds to the quorum file (training program information file 1) that stores the number of capacities that can be accepted by matching and the upper limit of the capacity, and the B element ID of each element of the set B The capacity transfer information file (capacity transfer information file 2) storing the priority order of the capacity transfer process and the A element ID of each element of the set A for all or a part of the elements of the set B The first priority list file (participant ROL file 3) storing the first priority list uniquely ranked in order and the B element ID of each element of the set B A second priority list file (training program ROL file 4) storing a second priority list uniquely ranked for all or part of the elements of A, and the first priority Based on the number of quorums stored in the list file, the second priority list file, and the quorum file, matching processing is performed on any element of the set A against any element of the set B. The first matching processing means (step S22 in FIG. 11) for storing the number of times, the number of matches for each B element ID, the number of matches in the temporary matching result storage file, and the previous matching data stored in the temporary matching result storage file Based on the number of matches, the number of matches, and the priority order stored in the capacity transfer information file for each B element ID, the capacity increase B element ID and the capacity decrease B element ID are determined. A capacity transfer process is performed, and the capacity transfer process is equivalent to a capacity increase B element ID and a capacity decrease B element ID, and the number of matches of the capacity increase B element ID is equal to the capacity and the capacity increase B element. When there is no transfer history from ID to capacity reduction B element ID, the number of capacity increase B element ID is increased by a predetermined amount, and the number of capacity decrease B element ID is decreased by a predetermined amount, Capacity transfer means for storing the transferred capacity number in the temporary matching result storage file as the current capacity capacity, and further storing the transfer history from the lower priority B element ID to the corresponding B element ID in the temporary matching result storage file ( Step S24 of FIG. 11 and FIG. 20), and the first priority list file, the second priority list file, and the temporary matching result storage file are described. Second matching processing means (step S26 in FIG. 11) for matching the elements of the set A with any element of the set B based on the remembered current capacity The matching system is characterized in that the processing of the capacity transfer means and the second matching processing means is performed until a predetermined end condition is satisfied. You can also.
なお実施の形態2の処理の中に、本実施の形態の処理を組み合わせることが可能である。具体的には、実施の形態2で図16で説明した処理の中のステップS64〜S72の処理を、本実施の形態で用いた図20で説明した、ステップS92〜S102の処理に置き換えることにより、研修プログラムの優先順位付けで施設内で設定するとき、一度振り替えを行った流れと逆になる流れの振り替えは行わない条件を組み込んで、定員振り替えを行うことができる。 Note that the processing of this embodiment can be combined with the processing of the second embodiment. Specifically, by replacing the processing in steps S64 to S72 in the processing described in FIG. 16 in the second embodiment with the processing in steps S92 to S102 described in FIG. 20 used in the present embodiment. When setting in the facility by prioritizing the training program, it is possible to transfer the capacity by incorporating a condition that does not change the flow reverse to the flow once transferred.
実施の形態2と本実施の形態の組み合わせは次のように構成される。
マッチングシステムにおいて、集合B(研修プログラムの集合)のB要素(研修プログラム)は、1以上のB要素でグループを構成していて、定員振替情報ファイルは、集合Bの各B要素のB要素IDに対応して、グループ内の定員振替処理の優先順位を記憶しており、仮マッチング結果格納ファイルには、さらに、定員振替処理が実行されるたびに、下位B要素IDから上位B要素IDに定員が振り替えられたことを表す振替履歴が記憶され、定員振替処理は、互いに同一のグループに含まれるB要素間でのみ、かつ、上位B要素IDから下位B要素IDに定員が振り替えられたことを表す振替履歴が存在しない場合にのみ、行われる。
The combination of the second embodiment and the present embodiment is configured as follows.
In the matching system, the B element (training program) of the set B (training program set) forms a group of one or more B elements, and the capacity transfer information file includes the B element ID of each B element of the set B. , The priority order of the capacity transfer process within the group is stored, and the temporary matching result storage file further changes from the lower B element ID to the upper B element ID each time the capacity transfer process is executed. The transfer history indicating that the capacity has been transferred is stored, and the capacity transfer process is performed only between the B elements included in the same group, and the capacity is transferred from the upper B element ID to the lower B element ID. It is performed only when there is no transfer history representing.
また、複数の要素からなる集合A(参加者の集合)と複数の要素からなる集合B(研修プログラムの集合)との各要素をマッチングするためのマッチングシステムであって、上記集合Bの要素は、1以上の要素(研修プログラム)でグループを構成していて、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と定員数上限とを記憶した定員数ファイル(研修プログラム情報ファイル1)と、上記集合Bの各要素のB要素IDに対応して、上記グループ内の定員振替処理の優先順位を記憶した定員振替情報ファイル(定員振替情報ファイル2)と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル(参加者ROLファイル3)と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル(研修プログラムROLファイル4)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記定員数ファイルに記憶された定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行い、マッチング回数、B要素ID毎の、定員数、マッチ数を仮マッチング結果格納ファイルに記憶する第1のマッチング処理手段(図11のステップS22)と、上記グループ内に属するB要素に関して、上記仮マッチング結果格納ファイルに記憶された、前回のB要素ID毎の、定員数、マッチ数と上記定員振替情報ファイルに記憶された優先順位とに基づき、定員増員B要素IDと定員減員B要素IDとを決定し、定員振替処理を行い、定員振替処理は、定員増員B要素IDと、定員減員B要素IDとに対し、定員増員B要素IDのマッチ数が定員数と等しく、かつ、定員増員B要素IDから定員減員B要素IDへの振り替え履歴が存在しないとき、定員増員B要素IDの定員数を所定量だけ増加させるとともに、定員減員B要素IDの定員数を所定量だけ減少させるものであり、振り替えた定員数を今回の定員数として仮マッチング結果格納ファイルに記憶し、さらに優先順位下位のB要素IDから該当のB要素IDへの振替履歴を仮マッチング結果格納ファイルに記憶する定員振替手段(図11のステップS24、図16および図20)と、上記第1の優先度リストファイル、第2の優先度リストファイルおよび上記仮マッチング結果格納ファイルに記憶された今回の定員数に基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行う第2のマッチング処理手段とを備えたことを特徴とするマッチングシステムであって、上記定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施されることを特徴とするマッチングシステムであるということもできる。 A matching system for matching elements of a set A (participant set) consisting of a plurality of elements and a set B (set of training programs) consisting of a plurality of elements, wherein the elements of the set B are A group file consisting of one or more elements (training program), and a capacity file (training) that stores the maximum number of elements that can be accepted by matching and the maximum number of elements for each B element ID of each element of set B Program information file 1), a capacity transfer information file (capacity transfer information file 2) storing the priority of the capacity transfer process in the group corresponding to the B element ID of each element of the set B, and the set For each A element ID of each element of A, a first priority list file storing a first priority list uniquely ranked for all or part of the elements of the set B And a second priority list uniquely ranked for all or a part of the elements of the set A for each element B of each element of the set B The second priority list file (training program ROL file 4), the first priority list file, the second priority list file, and the capacity number stored in the capacity file, A first matching process is performed on the elements of the set A against any element of the set B, and the number of matching times, the number of matches for each B element ID, and the number of matches are stored in a temporary matching result storage file. With respect to the matching processing means (step S22 in FIG. 11) and the B elements belonging to the group, for each previous B element ID stored in the temporary matching result storage file, Based on the number of members, the number of matches, and the priority stored in the above-mentioned capacity transfer information file, the capacity increase B element ID and the capacity decrease B element ID are determined, and the capacity transfer process is performed. When the number of matches for the capacity increase B element ID is equal to the number of elements for the element ID and the capacity decrease B element ID, and there is no transfer history from the capacity increase B element ID to the capacity decrease B element ID Increases the number of additional B element IDs by a predetermined amount and decreases the number of fixed member B element IDs by a predetermined amount, and stores the transferred number of persons in the temporary matching result storage file as the current number of persons Furthermore, the capacity transfer means for storing the transfer history from the B element ID of lower priority to the corresponding B element ID in the temporary matching result storage file (step S24 in FIG. 11). 16 and 20) and the current number of members stored in the first priority list file, the second priority list file, and the temporary matching result storage file, the elements of the set A are A matching system comprising: a second matching processing unit that performs a matching process on any element of the set B, wherein the processing of the capacity transfer unit and the second matching processing unit Can be said to be a matching system that is implemented until a predetermined termination condition is satisfied.
実施の形態5.
今まで説明した、実施の形態1〜4では、定員振替情報ファイル2に記憶された順位に基づき、定員増員研修プログラム番号と、定員減員研修プログラム番号とを決定し、定員振替処理を行う。そのとき、定員振替情報ファイル2に記憶された順位は、優先順位が高い研修プログラムから低い研修プログラムへ振り替えを禁止するものではなく、場合によっては、定員振替手段9は、優先順位の高い研修プログラムから低い研修プログラムへの振り替えを行うこともあった。
本実施の形態では、定員振替情報ファイル2に記憶された順位に基づき、定員振替処理を行う。この定員振替処理は、ある優先順位を有する上位の研修プログラム番号と、より下位の優先順位を有する研修プログラム番号とに対し、上位の研修プログラム番号のマッチ数が定員数と等しいとき、上位のプログラム番号の定員数を所定量だけ増加させるとともに、下位の研修プログラム番号の定員数を同じ量だけ減少させる。
In the first to fourth embodiments described so far, the capacity increase training program number and the capacity decrease training program number are determined based on the rank stored in the capacity
In the present embodiment, the capacity transfer process is performed based on the order stored in the capacity
実施の形態1で用いた図12を用いて、定員振替処理について、説明する。本実施の形態では、優先順位下位の研修プログラムから優先順位上位の研修プログラムへの振替だけを許可するため、ステップS32と、ステップS33の処理の間に、「優先度m<優先度Mか?」という判定(ステップS111)を加える。ステップS111の判定で、優先度m<優先度Mであるとしたときは、ステップS33の処理に進む。ステップS111の判定で、優先度m<優先度Mではないとしたときは、ステップS42の処理に進む。またステップS41の判定で、NOとなったときは、ステップS33の前にステップS42の判定を行ってから、ステップS33の判定を行うように処理される。
他の処理については、実施の形態1で説明したとおりである。
The capacity transfer process will be described with reference to FIG. 12 used in the first embodiment. In the present embodiment, only the transfer from the lower priority training program to the higher priority training program is permitted, so that “priority m <priority M?” Between the processing of step S32 and step S33. Is added (step S111). If it is determined in step S111 that priority m <priority M, the process proceeds to step S33. If it is determined in step S111 that priority m <priority M is not satisfied, the process proceeds to step S42. Further, when the determination in step S41 is NO, processing is performed so that the determination in step S33 is performed after the determination in step S42 is performed before step S33.
Other processes are as described in the first embodiment.
本実施の形態では、優先度mに等しい順位で決定される定員増員研修プログラム番号は、定員振替情報ファイル2に記憶された優先順位が上位の研修プログラム番号となり、優先度Mに等しい順位で決定される定員減員研修プログラム番号は、定員振替情報ファイル2に記憶された優先順位が下位の研修プログラム番号となる。
このように本実施の形態によると、振替処理の流れを1方向に固定することにより、他の実施の形態と比べて、少ない振替処理にて、同等の効果を得る可能性がある。
In the present embodiment, the capacity increase training program number determined in the order equal to the priority m is determined by the order equal to the priority M because the priority stored in the capacity
As described above, according to the present embodiment, by fixing the flow of the transfer process in one direction, there is a possibility that the same effect can be obtained with less transfer process than in the other embodiments.
以上の各実施の形態で、マッチングシステム(マッチングサーバ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
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ファイル(第1の優先度リストファイル)、4 研修プログラムROLファイル(第2の優先度リストファイル)、5 仮マッチング結果格納ファイル、6 マッチング結果格納ファイル、7 通信手段、8 ROL作成手段、9 定員振替手段、10 マッチング手段(マッチング処理手段)、20 入力手段、21 表示手段、22 処理手段、23 通信手段、30 入力手段、31 表示手段、32 処理手段、33 通信手段、100 マッチングサーバ、200 参加者端末、300 施設管理者端末、400 マッチング管理者端末、500 通信網。 1 training program information file, 2 capacity transfer information file, 3 participant ROL file (first priority list file), 4 training program ROL file (second priority list file), 5 temporary matching result storage file, 6 Matching result storage file, 7 communication means, 8 ROL creation means, 9 capacity transfer means, 10 matching means (matching processing means), 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 (4)
上記集合Bの各B要素のB要素IDごとに、マッチングにおける定員数と定員数上限とを記憶した定員数ファイルと、
上記集合Bの各B要素のB要素IDに対応して、定員振替処理における優先順位を記憶した定員振替情報ファイルと、
上記集合Aの各A要素のA要素IDごとに、上記集合BのB要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、
上記集合Bの各B要素のB要素IDごとに、上記集合AのA要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、
第1のマッチング手段であって、
上記第1のマッチング手段は、上記第1の優先度リストファイルと、第2の優先度リストファイルと、上記定員数ファイルに記憶された定員数とに基づいて、上記集合AのA要素を、上記集合Bに含まれるB要素のいずれかに対してマッチングするマッチング処理を行い、
上記第1のマッチング手段は、それまでに行われたマッチング処理の回数を、仮マッチング結果格納ファイルに記憶し、
上記第1のマッチング手段は、さらに、B要素ID毎に、そのB要素の定員数と、そのB要素に対してマッチングされたA要素の数であるマッチ数とを、上記仮マッチング結果格納ファイルに記憶する
第1のマッチング処理手段と、
上記定員振替処理を行う定員振替手段であって、
上記定員振替手段は、上記仮マッチング結果格納ファイルに記憶された、それまでに行われた最後のマッチング処理におけるB要素ID毎の定員数およびマッチ数と、上記定員振替情報ファイルに記憶された優先順位とに基づいて、定員増員B要素IDと定員減員B要素IDとを決定し、上記定員振替処理を行い、
上記定員振替処理は、定員増員B要素IDと、定員減員B要素IDとに対し、定員増員B要素IDのマッチ数が定員数と等しいとき、定員増員B要素IDの定員数を所定量だけ増加させるとともに、定員減員B要素IDの定員数を上記所定量だけ減少させるものであり、
上記定員振替手段は、さらに、上記定員振替処理後の各B要素IDの定員数を、新たに行われるマッチング処理における各B要素の定員数として、仮マッチング結果格納ファイルに記憶する
定員振替手段と、
上記第1の優先度リストファイルと、第2の優先度リストファイルと、上記仮マッチング結果格納ファイルに記憶された、新たに行われるマッチング処理における各B要素の定員数とに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、新たにマッチング処理を行う第2のマッチング処理手段と
を備えたことを特徴とするマッチングシステムであって、
上記定員振替手段と第2のマッチング処理手段の処理は、予め定められた終了条件を満たすまで実施されることを特徴とするマッチングシステム。 A matching system for matching elements of a set A composed of a plurality of A elements and a set B composed of a plurality of B elements,
For each B element ID of each B element of the set B, a quorum file storing the quorum and the upper limit of quorum in matching;
Corresponding to the B element ID of each B element of the set B, a capacity transfer information file storing priority in the capacity transfer process;
For each A element ID of each A element of the set A, a first priority storing a first priority list uniquely ranked for all or part of the B elements of the set B List file and
A second priority storing a second priority list uniquely ranked for all or part of the A elements of the set A for each B element ID of each B element of the set B List file and
A first matching means,
The first matching means determines the A element of the set A based on the first priority list file, the second priority list file, and the quorum stored in the quorum file. A matching process for matching any of the B elements included in the set B is performed,
The first matching means stores the number of matching processes performed so far in a temporary matching result storage file,
The first matching means further calculates, for each B element ID, the number of B elements and the number of matches that are the number of A elements matched to the B element, the temporary matching result storage file First matching processing means stored in
A capacity transfer means for performing the above capacity transfer process,
The capacity transfer means stores the number of matches and the number of matches for each B element ID stored in the temporary matching result storage file, and the priority stored in the capacity transfer information file. Based on the ranking, a capacity increase B element ID and a capacity decrease B element ID are determined, and the above capacity transfer process is performed.
The above-mentioned capacity transfer process increases the number of capacity increase B element ID by a predetermined amount when the number of matches of capacity increase B element ID is equal to the number of capacity for the element increase B element ID and capacity decrease B element ID. And reducing the number of members of the capacity reduction B element ID by the predetermined amount,
The capacity transfer means further stores the capacity of each B element ID after the capacity transfer process in the temporary matching result storage file as the capacity of each B element in the newly performed matching process; ,
Based on the first priority list file, the second priority list file, and the capacity of each B element in the newly performed matching process stored in the temporary matching result storage file, the set A matching system comprising: a second matching processing unit that newly performs a matching process on any element of A with respect to any element of the set B,
The matching system, wherein the processing of the capacity transfer means and the second matching processing means is carried out until a predetermined end condition is satisfied.
上記定員振替情報ファイルは、上記集合Bの各B要素のB要素IDに対応して、上記グループ内の定員振替処理の優先順位を記憶しており、
上記定員振替処理は、互いに同一のグループに含まれるB要素間でのみ行われる
ことを特徴とする、請求項1に記載のマッチングシステム。 The B element of the set B constitutes a group of one or more B elements,
The capacity transfer information file stores the priority order of the capacity transfer process in the group corresponding to the B element ID of each B element of the set B,
The matching system according to claim 1, wherein the capacity transfer process is performed only between B elements included in the same group.
上記定員数ファイルは、さらに上記グループのそれぞれについてグループ定員数上限を記憶しており、
上記定員振替処理は、当該定員振替処理を行ったと仮定した場合に、定員増員B要素IDの属するグループにおけるB要素毎の定員数の合計値が、そのグループのグループ定員数上限を上回らないこととなる場合にのみ行われる
ことを特徴とする、請求項1または2に記載のマッチングシステム。 The B element of the set B constitutes a group of one or more B elements,
The above capacity file further stores the maximum group capacity for each of the above groups,
In the above capacity transfer process, assuming that the capacity transfer process has been performed, the total number of capacity for each B element in the group to which the capacity increase B element ID belongs does not exceed the group capacity limit for the group. The matching system according to claim 1, wherein the matching system is performed only when:
上記定員振替処理は、定員増員B要素IDから定員減員B要素IDに定員が振り替えられたことを表す振替履歴が存在しない場合にのみ行われる
ことを特徴とする、請求項1〜3のいずれか一項に記載のマッチングシステム。 The temporary matching result storage file further stores a transfer history indicating that the capacity has been transferred from the capacity reduction B element ID to the capacity increase B element ID each time the capacity transfer process is executed.
The said capacity transfer process is performed only when there is no transfer history indicating that the capacity has been transferred from the capacity increase B element ID to the capacity decrease B element ID. The matching system according to one item.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009168972A JP5011353B2 (en) | 2009-07-17 | 2009-07-17 | Matching system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009168972A JP5011353B2 (en) | 2009-07-17 | 2009-07-17 | Matching system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011022910A JP2011022910A (en) | 2011-02-03 |
| JP5011353B2 true JP5011353B2 (en) | 2012-08-29 |
Family
ID=43632916
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009168972A Active JP5011353B2 (en) | 2009-07-17 | 2009-07-17 | Matching system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5011353B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6171913B2 (en) * | 2013-12-13 | 2017-08-02 | 富士通株式会社 | Classification method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4129052B1 (en) * | 2008-03-10 | 2008-07-30 | 三菱電機インフォメーションシステムズ株式会社 | Bidirectional matching system and bidirectional matching program |
-
2009
- 2009-07-17 JP JP2009168972A patent/JP5011353B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011022910A (en) | 2011-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Peteraf | The cornerstones of competitive advantage: a resource‐based view | |
| EP2151793A1 (en) | Method for compiling a series of weighted areas of interest of a user of a plurality of social computer networks, and system therefor | |
| US8160970B2 (en) | Method for using collaborative point-of-view management within an electronic forum | |
| JP7728943B2 (en) | Office layout presentation device, office layout presentation method, and program | |
| JP2007528060A (en) | An approach for estimating user ratings of items | |
| US20120029965A1 (en) | Selecting a project portfolio | |
| WO2002065326A2 (en) | Method and system for job mediation | |
| US20030004861A1 (en) | Electronically facilitating real estate transfer | |
| Gong et al. | A dynamic matching mechanism for college admissions: Theory and experiment | |
| Ramana et al. | Use of information technology in central university libraries of India | |
| CN110993084A (en) | Object sorting method, device and equipment and readable storage medium | |
| Teixeira et al. | Eliciting Fairness in N‐Player Network Games through Degree‐Based Role Assignment | |
| JP5011353B2 (en) | Matching system | |
| Sobel | On the dynamics of standards | |
| JP5286384B2 (en) | Matching system | |
| JP4129052B1 (en) | Bidirectional matching system and bidirectional matching program | |
| JP4728407B2 (en) | Matching system | |
| JP5028519B2 (en) | Matching system and computer program | |
| Sim et al. | A relaxed-criteria bargaining protocol for grid resource management | |
| Gidman et al. | Delivering health care through community pharmacies: are working conditions deterring female pharmacists’ participation? | |
| JP4738495B2 (en) | Matching system | |
| Kadam | Interviewing in matching markets with virtual interviews | |
| JP4465328B2 (en) | Matching system | |
| JP4355708B2 (en) | Matching system | |
| WO2014045994A1 (en) | Organization constitution setting device, organization constitution setting method, and computer-readable recording medium |
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: 20120529 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120604 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5011353 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: 20150608 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 |
|
| 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 |