"複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠に対してそれぞれ特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を定員数とする特別枠外B要素IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素IDを生成し、この定員数と上記特別枠外B要素IDまたは各特別枠B要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを、上記組み合わせ条件の内容に応じて、特別枠B要素IDのいずれかに置き換えた第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを上記特別枠B要素IDに置き換えた第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記特別枠定員設定ファイルに記憶された上記特別枠外B要素IDまたは上記特別枠B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステム。複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、定員処理手段であって、上記定員処理手段は、上記B要素IDごとに、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を特別枠外定員数とする特別枠外B要素分離IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素分離IDを生成し、上記定員処理手段は、上記特別枠外定員数と特別枠外B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶し、上記定員処理手段は、上記各特別枠定員数と各特別枠B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除し、上記ROL処理手段は、上記A要素のそれぞれについて、上記A要素条件ファイルに基づき、そのA要素が特別枠外定員対応であるか、またはいずれの特別枠定員対応であるかを判定し、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除し、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、上記特別枠定員設定ファイルに記憶された、上記特別枠外定員数と上記特別枠外B要素分離IDとの対応付け、および、上記特別枠定員設定ファイルに記憶された、上記各特別枠定員数と上記各特別枠B要素分離IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステム。さらに、上記定員処理手段は、B要素IDと、特別枠外B要素分離IDまたはいずれかの特別枠B要素分離IDとの対応付けを記憶した、分離情報ファイルを生成し、上記マッチング処理手段は、上記分離情報ファイルを参照し、特別枠外B要素分離IDおよび各特別枠B要素分離IDをB要素IDに統合して、A要素IDごとにマッチングされたB要素IDを記憶することを特徴とする請求項1または2に記載のマッチングシステム。複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除して第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除して第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記定員数ファイルに記憶された上記B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステム。複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除して、第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除して、第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、および上記定員数ファイルに記憶された、上記定員数と上記B要素IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステム。以上のように、従来のマッチングシステムにおいては、志願者と企業のように1対1になる組み合わせを、安定したマッチング結果が得られると定評の高いGale-Shapleyアルゴリズムにより求めている。ここで、志願者参加者側に、ある条件に合致した企業施設とのマッチングしか許可しない等の条件がある場合、志願者が条件に合致した企業のみを優先度リストに登録することで、条件を満たすマッチングを行うことができる。しかしながら、この方法では志願者に対して、条件に合致した企業を優先度リストに登録するように、十分に留意させる必要がある。また従来のマッチングシステムには、条件に合致された企業のみを登録しているかを確認する手段がないため、もし条件に合致しない企業が登録されていた場合、その人的ミスを排除させる方法がなく、志願者をその志願者が許可されていない企業とマッチさせてしまう可能性がある。この発明は、かかる問題点を解決するためになされたものであり、特定の志願者がある条件に合致した企業施設とのマッチングしか許可しない等の条件を有している場合も、その条件を満たしたマッチング結果を出力するマッチングシステムを得ることを目的としている。この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠に対してそれぞれ特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を定員数とする特別枠外B要素IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素IDを生成し、この定員数と上記特別枠外B要素IDまたは各特別枠B要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを、上記組み合わせ条件の内容に応じて、特別枠B要素IDのいずれかに置き換えた第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを上記特別枠B要素IDに置き換えた第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記特別枠定員設定ファイルに記憶された上記特別枠外B要素IDまたは上記特別枠B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。また、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、定員処理手段であって、上記定員処理手段は、上記B要素IDごとに、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を特別枠外定員数とする特別枠外B要素分離IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素分離IDを生成し、上記定員処理手段は、上記特別枠外定員数と特別枠外B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶し、上記定員処理手段は、上記各特別枠定員数と各特別枠B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除し、上記ROL処理手段は、上記A要素のそれぞれについて、上記A要素条件ファイルに基づき、そのA要素が特別枠外定員対応であるか、またはいずれの特別枠定員対応であるかを判定し、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除し、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、上記特別枠定員設定ファイルに記憶された、上記特別枠外定員数と上記特別枠外B要素分離IDとの対応付け、および、上記特別枠定員設定ファイルに記憶された、上記各特別枠定員数と上記各特別枠B要素分離IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。さらに、上記定員処理手段は、B要素IDと、特別枠外B要素分離IDまたはいずれかの特別枠B要素分離IDとの対応付けを記憶した、分離情報ファイルを生成し、上記マッチング処理手段は、上記分離情報ファイルを参照し、特別枠外B要素分離IDおよび各特別枠B要素分離IDをB要素IDに統合して、A要素IDごとにマッチングされたB要素IDを記憶してもよい。また、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除して第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除して第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記定員数ファイルに記憶された上記B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。また、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除して、第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除して、第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、および上記定員数ファイルに記憶された、上記定員数と上記B要素IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠に対してそれぞれ特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を定員数とする特別枠外B要素IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素IDを生成し、この定員数と上記特別枠外B要素IDまたは各特別枠B要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを、上記組み合わせ条件の内容に応じて、特別枠B要素IDのいずれかに置き換えた第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを上記特別枠B要素IDに置き換えた第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記特別枠定員設定ファイルに記憶された上記特別枠外B要素IDまたは上記特別枠B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムであるので、特定の志願者がマッチングに関する条件を有している場合も、安定したマッチングシステムを得ることができる。実施の形態1.この発明の実施の形態1に係るマッチングシステムは、1対MM≧1の組合せを決定するためのシステムである。例を挙げて説明すれば、例えば、医学部の卒業生で研修を希望する研修希望者以下、参加者とする。は、1以上の医療研修施設すなわち、大学病院、総合病院など。以下、施設とする。で、研修を経験する必要がある。参加者側には、卒業大学の指定や入学時、卒業時の条件等により、ある条件に合致した施設病院とのマッチングしか許可しない、あるいはある条件に合致する施設病院とのマッチングは許可しない等の条件を有している参加者がいる。本実施の形態では、このような条件を有する参加者が属していたとしても、その条件を満たしながら、安定マッチングを得ることを特徴としている。図1は、この発明の実施の形態1に係るマッチングシステムの全体の構成を示した図である。図1に示すように、実施の形態1に係るマッチングシステムは、参加者と施設との組合せを決定するマッチング処理を行うためのマッチングサーバ100と、マッチングサーバ100の管理およびメンテナンス等を行うマッチング管理者端末400と、参加者が操作して施設の希望順位などを入力するための参加者端末200と、施設に勤務している施設管理者が操作して参加者の希望順位などを入力するための施設管理者端末300とから構成されている。なお、マッチングサーバ100、参加者端末200、施設管理者端末300、マッチング管理者端末400は、インターネット等の通信網500により接続されている。図2は、図1に示した各構成要素の内部構成を示した図である。図2に示すように、マッチングサーバ100内には、参加者条件ファイルA要素条件ファイル1と、施設情報ファイル定員数ファイル2と、特別枠定員設定ファイル3と、分離情報ファイル4と、参加者ROLファイル第1の優先度リストファイル5と、施設ROLファイル第2の優先度リストファイル6と、最適化参加者ROLファイル第1の最適化優先度リストファイル7と、最適化施設ROLファイル第2の最適化優先度リストファイル8と、最適化マッチング結果格納ファイル9と、マッチング結果格納ファイル10とが記憶されている。これらは、共通の1つの記憶装置内に記憶されていてもよく、あるいは、複数の記憶装置内に記憶されていてもよい。さらに、マッチングサーバ100内には、通信網500を介して外部との通信を行うための通信手段11と、定員に関する処理を行う定員処理手段12と、ROLファイルの作成処理を行うROL処理手段13と、マッチング手段14とが設けられている。図10は、参加者条件ファイル1の一例を示した図である。図10に示すように、参加者条件ファイル1には、ユーザID毎の施設コード条件ユーザID毎の施設との組み合わせ条件を記憶している。施設コード条件とは、上述したように、ある条件に合致した施設病院とのマッチングしか許可しない、あるいはある条件に合致する施設病院とのマッチングは許可しない等の条件のことを言う。すなわち、ユーザIDごとに、施設のそれぞれについてその施設とのマッチングを許可するか否かが記憶される。ユーザID001には、施設コードA001、A003は許可その他の施設コードは許可しないとの条件が設定され、ユーザID004には、施設コードA002は、不許可その他の施設コードは許可するとの条件が設定されている。なお参加者条件ファイル1の項目に、許可施設コード、不許可施設コードのそれぞれの項目を設定し、その項目に該当の施設コードを記憶するように構成してもよい。また条件がない参加者図10の例では、ユーザID002、003については、参加者条件ファイル1のレコードに記憶しないように構成してもよい。図11は、参加者条件ファイル1の別の一例を示した図である。図11の例では、ユーザID毎の条件を施設コードではなく、概念的な条件で指定している。概念的な条件とは、その施設の所在地に関する条件や、その施設の定員数に関する条件を含む。例えば、ユーザID001に対する条件は、○×県に所在する施設のみ許可であり、ユーザID004に対する条件は、定員3名未満の施設は、不許可である。これらの条件は、参加者条件ファイル1を参照するときに、合わせて施設情報ファイル2や参加者に関する情報を記憶した参加者情報ファイル図示せずを参照することで、具体的な許可施設コード、不許可施設コードに展開される。たとえば、ある施設が○×県に所在する施設に該当するか否かは、その施設住所に○×県という文字列が含まれるか否かに基づいて判断される。また、マッチングサーバ100が、参加者の出身大学に関する情報を記憶している場合には、出身大学の所在都道府県に所在する施設のみ許可という間接的な条件が指定されてもよい。さらに、マッチングサーバ100が、各都道府県の隣接関係を記憶している場合には、図11のユーザID005のように、隣接都道府県という条件が指定されてもよい。なお図10、11のユーザID001、004、005のユーザのように、施設コード条件を有するユーザのことを、以降、条件付参加者と称す。図12は、施設情報ファイル2の一例を示した図である。施設情報ファイル2には、研修を実施する各施設の情報が格納されている。すなわち、施設情報ファイル2には、例えば、各施設を特定するためのIDである施設コード、施設名、施設住所施設の所在地、定員数参加者の受け入れ可能人数、特別枠定員数条件付参加者の受け入れ可能人数などの情報が格納されている。図13は、特別枠定員設定ファイル3の一例を示した図である。特別枠定員設定ファイル3には、施設コードと、分離施設コードと、定員数と、特別枠定員対応かどうかを示す特別枠フラグとの情報が格納されている。特別枠定員設定ファイル3の施設コードと、分離施設コードと、定員数とは、施設情報ファイル2の各レコードの施設コード、定員数、特別枠定員数を参照して、特別枠定員数と、特別枠以外の定員数すなわち特別枠外定員数とを分離し、1つの施設コードに2つの分離施設コードを対応付け登録している。例えば、施設情報ファイル2の施設コードA001のレコードを参照すると、A001は定員数10で、その内訳として特別枠定員数が1であることがわかる。その情報から、特別枠定員設定ファイル3には、分離施設コードとして、A0011特別枠外定員対応とA0012特別枠定員対応が登録され、定員数は9、1と記憶される。またA0012は、特別枠定員に対応する分離施設コードであるため、特別枠フラグに1を設定する。特別枠フラグ=1は、特別枠定員対応の施設コードであることを示す。なお、施設コードA002は、特別枠定員を持たない特別枠定員数がゼロであるので、特別枠外定員数に対応する分離施設コードA0021のみが指定されている。図14は、分離情報ファイル4の一例を示した図である。分離情報ファイル4は、特別枠定員対応に分離した分離施設コードと、施設コードとの対応を記憶したものであり、施設コードと、分離施設コードと、特別枠フラグとの情報が格納されている。図14に示した、上の2レコードにより、分離施設コードA0011、A0012は、施設コードA001に対応し、A0012は特別枠定員対応の施設コードであることがわかる。図15は、参加者ROLファイル5の一例を示した図である。参加者ROLファイル5には、各ユーザID毎に、各ユーザが希望する施設を希望順に並べたリストが格納されている。図15においては、各ユーザ毎に、第1希望から順に第n希望までの施設が順に格納されている。各ユーザは、例えば、インターネットのホームページ等から各施設の情報を得て、希望順位を決定する。なお、参加者ROLファイル5に、全ての施設を登録しても、一部の施設を登録してもよい。図16は、施設ROLファイル6の一例を示した図である。施設ROLファイル6には、各施設コード毎に、各施設が希望する参加者を希望順に並べたリストが格納されている。図16においては、各施設毎に、第1希望から順に第n希望までの参加者が順に格納されている。各施設は、例えば、参加者の面談等を行って参加者の情報を得て、希望順位を決定する。なお、施設ROLファイル6に、全ての参加者を登録しても、一部の参加者を登録してもよい。図15および図16において、nの値は参加者ごとに又は施設ごとに異なってもよい。図17は、最適化参加者ROLファイル7の一例を示した図である。最適化参加者ROLファイル7は、参加者条件ファイル1と、特別枠定員設定ファイル3と、参加者により入力された、参加者ROLファイル5とを参照し、条件に合致しない組み合わせを削除したROLファイルである。一例を示すと、参加者ROLファイル5には、ユーザID001として、施設コードA002順位1、施設コードA001順位2と登録されている。一方、参加者条件ファイル1を参照すると、ユーザID001は、施設コードA001、A003のみ指定できるという条件を有する条件付参加者であることがわかるため、施設コードA002、順位1と登録されるレコードは無効であることがわかる。そのため、該当のレコードは削除する。また、特別枠定員設定ファイル3を参照することにより、施設コードA001の特別枠定員対応の分離施設コードは、A0012であることがわかるため、施設コードA001順位2のレコードを、施設コードA0012順位1と書き換えて登録する。ユーザが登録した順位1のレコードは条件に一致せず削除したため、施設コードA0012が順位1となる。ユーザID002は、参加者条件ファイル1に施設コード条件が登録されていないため、特別枠外定員対応として扱われる。すなわち、ユーザID002について指定された施設コードは、すべて、その施設コードに対応する特別枠外定員対応の分離施設コードに書き換えて、最適化参加者ROLファイル7に登録する。図18は、最適化施設ROLファイル8の一例を示した図である。最適化施設ROLファイル8は、参加者条件ファイル1と、特別枠定員設定ファイル3と、施設管理者により入力された、施設ROLファイル6とを参照し、参加者が有する条件に合致しない組み合わせを削除したROLファイルである。一例を示すと、施設ROLファイル6には、施設コードA001として、ユーザID005順位1、ユーザID123順位2が登録されている。一方、参加者条件ファイル1を参照すると、図11には図示していないが、ユーザID005は特別枠定員対応条件付参加者として、施設コードA001とのマッチングは許可されているであり、ユーザID123は特別枠定員対応ではない条件付参加者ではないことが判明したとする。その場合、ユーザID005に対する施設コードは、A0012に変更され、施設コードA0012、ユーザID005、順位1と登録される。また施設コードA0011、ユーザID123、順位1と登録される。施設コードA002として、ユーザID002順位1、ユーザID004順位2、ユーザID015順位3が登録されている。一方、参加者条件ファイル1を参照すると、ユーザID004は、施設コードA002は不許可であることが判明するため、ユーザID004順位2のレコードを削除し、ユーザID002順位1、ユーザID015順位2と登録される。参加者の施設コード条件によりレコードが削除されると、次のレコードの順位が繰り上げられる。図17および図18において、nの値は参加者ごとに又は施設ごとに異なってもよい。図19は、最適化マッチング結果格納ファイル9の一例を示した図である。最適化マッチング結果格納ファイル9には、マッチング処理の結果得られたマッチング結果が格納されている。図20は、マッチング結果格納ファイル10の一例を示した図である。マッチング結果格納ファイル10の施設コードは、最適化マッチング結果格納ファイル9と、分離情報ファイル4とを参照して、最適化マッチング結果格納ファイル9の施設コード分離施設コードを、変換したものである。例えば、分離情報ファイル4を参照してユーザID001施設コードA0012は、ユーザID001施設コードA001と変換され、ユーザID002施設コードA0031は、ユーザID002施設コードA003と変換される。このようにユーザIDと、割り当てられた施設の施設コードとが、それぞれ、対応付けて格納されるため、どの参加者が、どこの施設で研修を行うかを確認することができる。なお、図10から図20に示したファイル構成で、行方向横方向の1行をレコードと呼ぶ。図2の説明に戻る。図2に示すように、参加者端末200内には、入力手段20と、表示手段21と、処理手段22と、通信手段23とが設けられている。なお、施設管理者端末300の内部構成は、参加者端末200と同様であるため、ここでは説明を省略する。マッチング管理者端末400内には、入力手段30と、表示手段31と、処理手段32と、通信手段33とが設けられている。次に、本実施の形態1に係るマッチングシステムの動作について説明する。図3は、マッチング管理者端末400からのデータ入力処理について示した図であり、マッチング管理者が、参加者条件ファイル1または施設情報ファイル2の追加、更新または削除の処理を行うときの処理の流れを示している。図3に示すように、まず、マッチング管理者端末400の処理手段32は、マッチング管理者の操作により入力手段30が受け付けた入力データを通信手段33に受け渡すステップS1。次に、マッチング管理者端末400の通信手段33が、マッチングサーバ100の通信手段11に当該入力データを送信するステップS2。次に、マッチングサーバ100の通信手段11が、受信したデータ内容により、参加者条件ファイル1または施設情報ファイル2にデータの追加、更新または削除を行うステップS3。図4は、参加者端末200からのデータ入力処理を示した図であり、参加者が希望順位を示す優先度リストROLファイルの入力を行うときの処理の流れを示している。図4に示すように、まず、参加者端末200の処理手段22は、参加者の操作により入力手段20が受け付けた入力データを通信手段23に受け渡すステップS11。次に、参加者端末200の通信手段23がマッチングサーバ100の通信手段11に当該入力データを送信するステップS12。次に、マッチングサーバ100の通信手段11が、受信したデータ内容をROL作成手段13に受け渡し、ROL作成手段13が、参加者ROLファイル5にデータの追加、更新または削除を行う。つまり、該当のユーザIDに対応するユーザID、施設コード、順位を記憶した1以上のレコードを参加者ROLファイル5に上書きするステップS13。また、施設管理者端末300からのデータ入力を受付けるときも、図4に示したフローチャートと同様の流れになる。なお、参加者条件ファイル1、施設情報ファイル2、参加者ROLファイル5、施設ROLファイル6へのデータの追加、更新、削除の処理はマッチング管理者端末400から行なうこともできる。その場合は、それぞれのデータを何らかの記憶媒体により、管理者にファイル形式で受け渡し、管理者がマッチング管理者端末400から一括してファイル更新作業を行なうことになる。図5は、マッチングサーバ100の定員処理手段12による特別枠定員に関する処理を示した図である。図5に示すように、マッチングサーバ100の定員処理手段12が施設コードを表す変数をnとしてnの初期値に1を設定し、その後施設情報ファイル2の施設コード項目を参照することにより、予め登録されている施設コードの最大値を記憶するステップS21。なお、図12等に示す施設コードは数ではなく文字列を含むが、ここでは、各施設コードはそれぞれ異なるnの値に一意に対応するものとする。たとえば、施設コードA001はn=1に対応し、施設コードA002はn=2に対応する。これを実現する方法の一例として、施設情報ファイル2には、施設コードごとに、対応するnの値を表す施設番号を関連付けて記憶してもよい。次に、定員処理手段12は、現在の施設コードが記憶されている施設コードの最大値より大きいかどうかを確認しステップS22、現在の施設コードが最大値より大きい場合は、処理を終了する。現在の施設コードが最大値以下の場合は、ステップS23に処理が移り、該当の施設コードに特別枠定員数の指定があるかどうかを確認しステップS23、指定がある場合は、定員数=元の定員数-特別枠定員数とする第1の分離施設コードと、定員数=特別枠定員数とする第2の分離施設コードの情報を作成し、その後作成した第1の分離施設コード、第2の分離施設コードの情報を特別枠定員設定ファイル3に記憶する。また、元の施設コードと、第1の分離施設コード、第2の分離施設コードとの対応付けを分離情報ファイル4に記憶するステップS26。ここで、第1の分離施設コードおよび第2の分離施設コードは、対応する施設コードの末尾に、それぞれ1および2を追加することによって生成される。その後、マッチングサーバ100の定員処理手段12は、施設コードを1加算しステップS25、ステップS22の処理に移る。図12、13に示した、施設情報ファイル2と、特別枠定員設定ファイル3の例では、施設コードA001、定員数10、特別枠定員数1と記憶された施設情報ファイル2のレコードに基づき、特別枠定員設定ファイル3に施設コードA0011、定員数9、施設コードA0012、定員数1特別枠フラグ1のレコードが記憶され、また分離情報ファイル4に、施設コードA001、分離施設コードA0011、施設コードA001、分離施設コードA0012、特別枠フラグ1のレコードが記憶される。またステップS23の分岐で、該当の施設コードに特別枠定員数の指定がないと判定したときは、ステップS24の処理に移る。ステップS24の処理で、該当の施設コードに基づいて特別枠外定員対応の分離施設コードを作成し、この分離施設コードと定員数とを、特別枠定員設定ファイル3の施設コード、定員数として記憶しステップS24、その後施設コードを1加算しステップS25、ステップS22の処理に移る。以上、図5を用いて説明した処理で、特別枠定員設定ファイル3と分離情報ファイル4とが生成される。図6は、マッチングサーバ100のROL処理手段13による参加者ROLファイル5の最適化に関する処理を示した図である。図6に示すように、ROL処理手段13は参加者条件ファイル1、特別枠定員設定ファイル3、参加者ROLファイル5を読み込みステップS31、ユーザIDを表す変数をnとしてnの初期値に1を設定し、その後参加者ROLファイル5のユーザID項目を参照することにより、予め登録されているユーザIDの最大値を記憶するステップS32。次にユーザIDが記憶している最大値より大きいかどうかの比較を行いステップS33、ユーザIDが最大値より大きいと判定したときは処理を終了する。ユーザIDが最大値以下のときは、ステップS34に処理が移り、参加者条件ファイル1の該当ユーザIDのレコードに施設コード条件が設定されているかどうかを確認するステップS34。ステップS34の判定で、該当ユーザIDのレコードに施設コード条件が設定されているとしたときは、参加者ROLファイル5の該当ユーザIDのレコードを全て抜き出し、これをコピーして暫定最適化参加者ROLファイル図示せずとして一時的に記憶装置に記憶する。その後、暫定最適化参加者ROLファイルの1レコードずつについて、施設コード条件と、特別枠定員設定ファイル3とを参照しながら、次の処理を繰り返す。処理1:処理中のレコードのユーザID項目を参照し、これと同一のユーザID項目を有する参加者条件ファイル1のレコードを参照し、施設コード条件が指定されているか否か、および、処理中のレコードの施設コードがその施設コード条件に合致するか否かを判定する。施設コード条件が指定されており、かつ、処理中のレコードの施設コードがその施設コード条件に合致しない場合は、一時的に記憶した暫定最適化参加者ROLファイルから削除する。処理2:施設コード条件が指定されており、かつ、処理中のレコードの施設コードがその施設コード条件に合致する場合は、特別枠定員設定ファイル3の施設コード項目が該当施設コードと同一で、特別枠フラグ=1のレコードを参照し、分離施設コードの値を取得する。暫定最適化参加者ROLファイルにおいて、処理中のレコードの施設コードを、取得した分離施設コードに置き換える。処理3:該当ユーザIDの全てレコードに対して処理が完了したら、暫定最適化参加者ROLファイルの順位項目の順位を1から1つずつ繰り上がるように、更新する。なお、処理1~3において、施設コード条件に合致する施設コードとは、施設コード条件として許可する施設コードが指定されている場合には指定された施設コードのいずれかに一致する施設コードを意味し、施設コード条件として許可しない施設コードが指定されている場合には指定された施設コードのいずれかにも一致しない施設コードを意味する。この処理1~3の処理を行った後、一時的に記憶した暫定最適化参加者ROLファイルのレコードをすべて最適化参加者ROLファイル7に追加しステップS37、ユーザIDを1加算してステップS36、ステップS33の処理に戻る。ステップS34の判定で、該当ユーザIDのレコードに施設コード条件が設定されていないとしたときは、ステップS35の処理に移り、参加者ROLファイル5の該当ユーザIDのレコードを全て抜き出し、これをコピーして暫定最適化参加者ROLファイルとして一時的に記憶装置に記憶する。その後、暫定最適化参加者ROLファイルの1レコードずつについて、特別枠定員設定ファイル3を参照しながら、次の処理を繰り返す。処理4:特別枠定員設定ファイル3の施設コード項目が該当施設コードと同一で、特別枠フラグ≠1であるレコードを参照し、分離施設コードの値を取得する。暫定最適化参加者ROLファイルにおいて、該当レコードの施設コードを、取得した分離施設コードに置き換える。処理4を行った後、一時的に記憶した暫定最適化参加者ROLファイルのレコードをすべて最適化参加者ROLファイル7に追加するステップS35。その後、ユーザIDを1加算してステップS36、ステップS33の処理に戻る。以上、図6を用いて説明した処理で、最適化参加者ROLファイル7が生成される。次に図7は、マッチングサーバ100のROL処理手段13による施設ROLファイル6の最適化に関する処理を示した図である。図7に示すように、ROL処理手段13は参加者条件ファイル1、特別枠定員設定ファイル3、施設ROLファイル6を読み込みステップS41、施設コードを表す変数をnとしてnの初期値に1を設定し、その後施設ROLファイル6の施設コード項目を参照することにより、予め登録されている施設コードの最大値を記憶するステップS42。次に施設コードが記憶している最大値より大きいかどうかの比較を行いステップS43、施設コードが最大値より大きいと判定したときは処理を終了する。施設コードが最大値以下のときは、ステップS44に処理が移り、施設ROLファイル6の該当施設コードのレコードを全て抜き出し、これをコピーして暫定最適化施設ROLファイル図示せずとして一時的に記憶装置に記憶する。その後、暫定最適化施設ROLの1レコードずつについて、参加者条件ファイル1と、特別枠定員設定ファイル3とを参照しながら、次のいずれかの処理を行う。処理5:処理中のレコードのユーザID項目を参照し、これと同一のユーザID項目を有する参加者条件ファイル1のレコードを参照し、施設コード条件が指定されているか否か、および、その施設コードがその施設コード条件に合致するか否かを判定する。施設コード条件が指定されており、かつ、処理中のレコードの施設コードが施設コード条件に合致しない場合は、一時的に記憶した暫定最適化施設ROLファイルにからそのレコードを削除する。処理6:施設コード条件が指定されており、かつ、処理中のレコードの施設コードが施設コード条件に合致する場合は、特別枠定員設定ファイル3の施設コード項目が該当施設コードと同一で、特別枠フラグ=1のレコードを参照し、分離施設コードの値を取得する。処理中のレコードの施設コードを、取得した分離施設コードに置き換える。処理7:施設コード条件が指定されていない場合すなわち、参加者条件ファイル1のユーザID項目が該当レコードのユーザIDと同一のレコードを参照し、施設コード条件を有していない場合は、特別枠定員設定ファイル3の施設コード項目が該当施設コードと同一で、特別枠フラグ≠1であるレコードを参照し、分離施設コードの値を取得する。処理中のレコードの施設コードを、取得した分離施設コードに置き換える。この処理5~7の処理を行い、未処理のレコードが存在するかどうか判定しステップS45、未処理レコードが存在するときは、次のレコードを処理対象としてステップS46、ステップS44に戻る。ステップS45で未処理ユーザIDが存在しないとしたときは、ステップS47の処理に移り、一時的に記憶した暫定最適化施設ROLファイルのレコードを、順位項目の順位を1から1つずつ繰り上がるように更新した後、最適化施設ROLファイル8に追加しステップS47、ステップS43に処理が戻る。以上、図7を用いて説明した処理で、最適化施設ROLファイル8が生成される。なお、上述の最適化参加者ROLファイル7の生成処理図6および最適化施設ROLファイル8の生成処理図7において、いったん各ROLファイルを抜き出して暫定最適化ROLファイルを作成しているが、変形例として、暫定最適化ROLファイルを作成せず、もとのROLファイルに対して直接処理を行ってもよい。たとえば、参加者ROLファイル5に対して図6の処理を行い、その結果を最適化参加者ROLファイル7またはその一部としてもよい。図8は、マッチングサーバ100のマッチング手段14によるマッチング処理を示した図である。図8に示すように、マッチング手段14は、最適化参加者ROLファイル7、最適化施設ROLファイル8、特別枠定員設定ファイル3を読み込み、これらのファイルに基づき、上述した図23に示すGale-Shapleyアルゴリズムを用いたマッチング処理を行い、マッチ結果を最適化マッチング結果格納ファイル9に格納するステップS51。その後、分離情報ファイル4を参照し分離施設コードを元の施設コードに統合して、最適化マッチング結果格納ファイル9からマッチング結果格納ファイル10を生成する。最適化マッチング結果格納ファイル9からマッチング結果格納ファイル10を生成する際の変換の方法は、上述したとおりである。図9は、マッチングサーバ100の通信手段11によるマッチング結果の通知の処理について示した図である。図9に示すように、まず、マッチングサーバ100のマッチング手段9は、マッチング処理終了を通知手段11に通知するステップS61。次に、マッチングサーバ100の通信手段11は、マッチング結果格納ファイル10に記憶されたマッチング結果を、マッチング管理者端末400の通信手段33に通知するステップS62。次に、マッチング管理者端末400の通信手段33は、通知されたマッチング結果を処理手段32に受け渡すステップS63。次に、マッチング管理者端末400の処理手段32は、受け渡されたマッチング結果を、インターネット等で公開するステップS64。なおマッチング結果の公開については、図9に示した方法によらず、ファイル形式や結果を印刷した紙にて、参加者及び施設管理者に通知する方法もある。また、該当のマッチング結果を参加者端末200または、施設管理者端末300に通知するように構成してもよい。例えば、参加者端末200がユーザID001でログインされていたとすると、ユーザID001がマッチされた施設情報例えば、施設コードA001に関する情報を送信するように構成してもよい。なお、上記の説明においては、研修を希望する参加者と受け入れ先の施設とのマッチング問題について説明したが、その場合に限らず、複数の要素からなる集合A上記の参加者に相当と複数の要素からなる集合B上記の施設に相当との各要素をマッチングするマッチング問題であって、集合Bが特定の条件で分類されグループを構成し、そのそれぞれのグループがグループ定員数を有するときのマッチング問題のいずれにも適用できることはいうまでもない。すなわち、この発明は、複数の要素からなる集合A参加者のグループと複数の要素からなる集合B施設のグループとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と特別枠定員数とを記憶した定員数ファイル施設情報ファイル2と、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル参加者ROLファイル5と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル施設ROLファイル6と、上記A要素IDごとにB要素IDに対する組み合わせ条件ユーザID毎の施設コード条件ユーザID毎の施設との組み合わせ条件を記憶しているA要素条件ファイル参加者条件ファイル1と、上記定員数ファイルに記憶された定員数と特別枠定員数とを参照し、上記定員数から上記特別枠定員数を減算した数値を定員数とする第1のB要素ID特別枠フラグ=1以外の分離施設コードと、上記特別枠定員数を定員数とする第2のB要素ID特別枠フラグ=1の分離施設コードを生成し、この定員数と第1のB要素IDまたは、第2のB要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段図6のステップS24、S26に相当と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを第1のB要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを第2のB要素IDに置き換えた第1の最適化優先度リストファイルを生成し、さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを第1のB要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを第2のB要素IDに置き換えた第2の最適化優先度リストファイルを生成するROL処理手段図6,7の処理に相当と、上記第1の最適化優先度リストファイル、第2の最適化優先度リストファイルおよび上記特別枠定員設定ファイルに記憶された、上記第1のB要素IDまたは第2のB要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段図8のステップS51に相当とを備えたマッチングシステムである。また、この発明は、複数の要素からなる集合A参加者のグループと複数の要素からなる集合B施設のグループとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素施設のB要素ID施設コードごとに、マッチングで受け入れ可能な定員数と特別枠定員数とを記憶した定員数ファイル施設情報ファイル2と、上記集合Aの各要素参加者のA要素IDユーザIDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイル参加者ROLファイル5と、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイル施設ROLファイル6と、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件ユーザID毎の施設コード条件ユーザID毎の施設との組み合わせ条件を記憶しているA要素条件ファイル参加者条件ファイル1と、定員処理手段図6のステップS24、S26に相当であって、上記定員処理手段は、上記B要素IDごとに、上記定員数ファイルに記憶された定員数と特別枠定員数とを参照し、上記定員数から上記特別枠定員数を減算した数値を特別枠外定員数とする第1のB要素分離ID特別枠フラグ≠1である分離施設コードと、上記特別枠定員数を定員数とする第2のB要素分離ID特別枠フラグ=1である分離施設コードを生成し、上記定員処理手段は、上記特別枠外定員数と第1のB要素分離IDとの対応付けを特別枠定員設定ファイルに記憶し、上記定員処理手段は、上記特別枠定員数と第2のB要素分離IDとの対応付けを特別枠定員設定ファイルに記憶する員処理手段と、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストファイルを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストファイルを生成するROL処理手段図6,7の処理に相当であって、上記ROL処理手段は、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除し、上記ROL処理手段は、上記A要素のそれぞれについて、上記A要素条件ファイルに基づき、そのA要素が特別枠外定員対応であるか、または特別枠定員対応であるかを判定し、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する第1のB要素分離IDに置き換え、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する第2のB要素分離IDに置き換え、上記ROL処理手段は、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストファイルを生成し、上記ROL処理手段は、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除し、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する第1のB要素分離IDに置き換え、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する第2のB要素分離IDに置き換え、上記ROL処理手段は、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストファイルを生成するROL処理手段と、マッチング処理を行うマッチング処理手段図8のステップS51に相当であって、上記マッチング処理手段は、上記第1の最適化優先度リストファイル、上記第2の最適化優先度リストファイル、上記特別枠定員設定ファイルに記憶された、上記特別枠外定員数と上記第1のB要素分離IDとの対応付け、および、上記特別枠定員設定ファイルに記憶された、上記特別枠定員数と上記第2のB要素分離IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムであるということもできる。さらに、この発明のマッチングシステムは、上記定員処理手段は、B要素IDと、第1のB要素IDまたは第2のB要素IDとの対応付けを記憶した、分離情報ファイルを生成し図5のステップS26に相当、上記マッチング処理手段は、上記分離情報ファイルを参照し、第1のB要素IDおよび第2のB要素IDをB要素IDに統合して、A要素IDごとにマッチングされた集合Bの要素のB要素IDを記憶する図8のステップS52に相当。以上説明したように、本実施の形態によれば、卒業大学の指定や入学時、卒業時の条件等により、ある条件に合致した施設病院とのマッチングしか許可しない、あるいはある条件に合致する施設病院とのマッチングは許可しない等の条件を有している参加者がいたとしても、その条件を満たしながら、安定マッチングを得ることができる。実施の形態2.上述の実施の形態1では、特別枠外定員設定ファイル3および分離情報ファイル4に分離施設コードを記憶し、この分離施設コードに基づいてマッチングを行った。実施の形態2では、このような分離施設コードを用いずにマッチングを行うものである。実施の形態2では、実施の形態1と同様にROL作成手段が参加者ROLファイル5および施設ROLファイル6を作成する。その後、ROL処理手段が、各参加者のユーザIDについて、参加者条件ファイル1の施設コード条件を参照し、この条件に合致しない施設コードを参加者ROLファイル5から削除することによって、最適化参加者ROLファイルを作成する。ここで、実施の形態2では分離施設コードを用いないので、最適化参加者ROLファイルは図17に示すものとは異なり施設コードはそのままであるすなわち分離施設コードには置き換えられない。次に、ROL処理手段が、各参加者のユーザIDについて、参加者条件ファイル1の施設コード条件を参照し、この条件に合致しない施設コードとそのユーザIDとが指定されたレコードを施設ROLファイル6から削除することによって、最適化施設ROLファイルを作成する。ここで、実施の形態2では分離施設コードを用いないので、最適化施設ROLファイルは図18に示すものとは異なり施設コードはそのままであるすなわち分離施設コードには置き換えられない。すなわち、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除して第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除して第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記定員数ファイルに記憶された上記B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。この構成は、請求項4の構成に対応する。また、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数を記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除して、第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除して、第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、および上記定員数ファイルに記憶された、上記定員数と上記B要素IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。この構成は、請求項5の構成に対応する。上述のように作成される最適化参加者ROLファイルおよび最適化施設ROLファイルに基づき、実施の形態1と同様のマッチング処理が行われる。このように、本実施の形態によれば、卒業大学の指定や入学時、卒業時の条件等により、ある条件に合致した施設病院とのマッチングしか許可しない、あるいはある条件に合致する施設病院とのマッチングは許可しない等の条件を有している参加者がいたとしても、その条件を満たしながら、安定マッチングを得ることができる。実施の形態3.実施の形態3は、実施の形態1において、1つの施設コードに対応する分離施設コードの数を3以上とするものである。たとえば、複数の特別枠定員にそれぞれ対応する複数の分離施設コードと、特別枠外定員に対応する1つの分離施設コードとを用いる。たとえば、施設コードA001について、特別枠外定員対応の分離施設コードA0011と、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コードA0012と、奨学金の受給を希望する参加者限定である第二の特別枠定員対応の分離施設コードA0013とが生成される。最適化参加者ROLファイルおよび最適化施設ROLファイルは、実施の形態1と同様にして作成される。ここで、ある参加者のユーザIDとある施設の施設コードとの対応付けについて、その施設コードをいずれの分離施設コードに置き換えるかは、様々な条件に基づいて判断することができる。このような条件は、たとえば参加者に関する様々な情報を記憶する参加者情報ファイル図示せずにあらかじめ指定しておくことができる。この参加者情報ファイルは、各参加者について、たとえば居住都道府県と、奨学金の受給を希望するか否かを記憶してもよく、ROL処理手段はこれを参照することができる。ある参加者が、同一都道府県内の施設を希望する場合、すなわち、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コードによるマッチングを希望する場合を考える。この場合、その参加者の居住都道府県が、ある施設施設コードA001とするの所在都道府県と同一であれば、ROL処理手段は、参加者ROLファイルおよび施設ROLファイルにおいてそのユーザIDと対応する施設コードA001を、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コードA0012に置き換える。また、その参加者の居住都道府県が、別の施設施設コードA002とするの所在都道府県と異なっていれば、ROL処理手段は、参加者ROLファイルおよび施設ROLファイルにおいてそのユーザIDと対応する施設コードA002を削除するすなわち、当該ROLファイルにおいて、そのユーザIDとその施設コードとが指定されたレコードが削除されることになる。また、各施設は、同一の参加者が複数の特別枠定員対応の分離施設コードに合致する場合に、いずれを優先するかを規定する優先規則情報図示せずをあらかじめ決定しておき、これをマッチングサーバ100に記憶させてもよい。ROL処理手段は、同一の参加者が複数の特別枠定員対応の分離施設コードに合致する場合には、この優先規則情報に基づき、そのユーザIDと対応する施設コードをいずれかの分離施設コードに置き換える。また、複数の特別枠定員対応の分離施設コードのうち一部のみを使用し、他は使用しないという条件を指定してもよい。すなわち、たとえば施設コードA001の施設は、特別枠外定員対応の分離施設コードA0011と、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コードA0012のみに対応し、奨学金の受給を希望する参加者限定である第二の特別枠定員対応の分離施設コードA0013は生成されなくともよい。この場合、同一都道府県内の施設を希望する参加者、すなわち、同一都道府県内に居住する参加者限定である第一の特別枠定員対応の分離施設コードによるマッチングを希望する参加者については、施設コードA001は第一の特別枠定員対応の分離施設コードA0012に置き換えられるが、奨学金の受給を希望する参加者限定である第二の特別枠定員対応の分離施設コードによるマッチングを希望する参加者については、施設コードA001は第二の特別枠定員対応の分離施設コードを有しないので、特別枠外定員対応の分離施設コードA0011に置き換えられる。すなわち、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠に対してそれぞれ特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素IDごとにB要素IDに対する組み合わせ条件を記憶しているA要素条件ファイルと、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を定員数とする特別枠外B要素IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素IDを生成し、この定員数と上記特別枠外B要素IDまたは各特別枠B要素IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しない集合Bの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを、上記組み合わせ条件の内容に応じて、特別枠B要素IDのいずれかに置き換えた第1の最適化優先度リストを生成し、さらに、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しない集合Aの要素を削除し、A要素IDが特別枠定員数対応以外であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを特別枠外B要素IDに置き換え、一方、A要素IDが特別枠定員数対応であると判定したときは、該当のA要素ID対応の集合Bの要素のB要素IDを上記特別枠B要素IDに置き換えた第2の最適化優先度リストを生成するROL処理手段と、上記第1の最適化優先度リスト、第2の最適化優先度リスト、および、上記特別枠定員設定ファイルに記憶された上記特別枠外B要素IDまたは上記特別枠B要素IDと上記定員数との対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。この構成は、請求項1の構成に対応する。また、この発明は、複数の要素からなる集合Aと複数の要素からなる集合Bとの各要素をマッチングするためのマッチングシステムであって、上記集合Bの各要素のB要素IDごとに、マッチングで受け入れ可能な定員数と、複数の特別枠定員数とを記憶した定員数ファイルと、上記集合Aの各要素のA要素IDごとに、上記集合Bの要素の全部または一部に対して一意に順位付けられた第1の優先度リストを記憶している第1の優先度リストファイルと、上記集合Bの各要素のB要素IDごとに、上記集合Aの要素の全部または一部に対して一意に順位付けられた第2の優先度リストを記憶している第2の優先度リストファイルと、上記A要素の少なくとも1つについて、上記A要素IDごとに、B要素IDのそれぞれについてそのB要素IDとのマッチングを許可するか否かに関する組み合わせ条件を記憶しているA要素条件ファイルと、定員処理手段であって、上記定員処理手段は、上記B要素IDごとに、上記定員数ファイルに記憶された定員数と各特別枠定員数とを参照し、上記定員数から上記特別枠定員数の合計を減算した数値を特別枠外定員数とする特別枠外B要素分離IDと、上記各特別枠定員数をそれぞれ定員数とする複数の特別枠B要素分離IDを生成し、上記定員処理手段は、上記特別枠外定員数と特別枠外B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶し、上記定員処理手段は、上記各特別枠定員数と各特別枠B要素分離IDとの対応付けを特別枠定員設定ファイルに記憶する定員処理手段と、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成するとともに、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段であって、上記ROL処理手段は、上記第1の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第1の優先度リストファイルにおいて、A要素IDごとに上記A要素条件ファイルに記憶された組み合わせ条件に一致しないB要素IDを削除し、上記ROL処理手段は、上記A要素のそれぞれについて、上記A要素条件ファイルに基づき、そのA要素が特別枠外定員対応であるか、またはいずれの特別枠定員対応であるかを判定し、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、上記第1の優先度リストファイルにおいて、該当のA要素IDに関連付けられたB要素IDを、そのB要素IDに対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第1の優先度リストファイルに基づいて第1の最適化優先度リストを生成し、上記ROL処理手段は、上記第2の優先度リストファイル、上記特別枠定員設定ファイルおよび上記A要素条件ファイルを参照し、上記第2の優先度リストファイルにおいて、B要素IDごとに上記A要素条件に記憶された組み合わせ条件に一致しないA要素IDを削除し、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDが特別枠外定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応する特別枠外B要素分離IDに置き換え、上記ROL処理手段は、上記B要素のそれぞれの上記第2の優先度リストファイルにおいて、上記A要素のそれぞれについて、A要素IDがいずれかの特別枠定員数対応であると判定したときは、該当のA要素IDに関連付けられたB要素IDを、そのB要素に対応するその特別枠B要素分離IDに置き換え、上記ROL処理手段は、上記第2の優先度リストファイルに基づいて第2の最適化優先度リストを生成するROL処理手段と、マッチング処理を行うマッチング処理手段であって、上記マッチング処理手段は、上記第1の最適化優先度リスト、上記第2の最適化優先度リスト、上記特別枠定員設定ファイルに記憶された、上記特別枠外定員数と上記特別枠外B要素分離IDとの対応付け、および、上記特別枠定員設定ファイルに記憶された、上記各特別枠定員数と上記各特別枠B要素分離IDとの対応付けに基づいて、上記集合Aの要素を、上記集合Bのいずれかの要素に対して、マッチング処理を行うマッチング処理手段とを備えたことを特徴とするマッチングシステムである。この構成は、請求項2の構成に対応する。さらに、上記定員処理手段は、B要素IDと、特別枠外B要素分離IDまたはいずれかの特別枠B要素分離IDとの対応付けを記憶した、分離情報ファイルを生成し、上記マッチング処理手段は、上記分離情報ファイルを参照し、特別枠外B要素分離IDおよび各特別枠B要素分離IDをB要素IDに統合して、A要素IDごとにマッチングされたB要素IDを記憶する。この構成は、請求項3の構成に対応する。以上の各実施の形態で、マッチングシステムマッチングサーバ100、参加者端末200、施設管理者端末300、マッチング管理者端末400は、コンピュータで実現できるものである。また図示していないが、それぞれの装置は、プログラムを実行するCPUCentralProcessingUnitを備えている。例えば、CPUは、バスを介して、ROMReadOnlyMemory、RAMRandomAccessMemory、通信ボード、表示装置、K/Bキーボード、マウス、FDDFlexibleDiskDrive、CDDコンパクトディスクドライブ、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。RAMは、揮発性メモリの一例である。ROM、FDD、CDD、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。前述した実施の形態の各装置が扱うデータや情報は、記憶装置あるいは記憶部に保存され、装置の各部により、記録され読み出されるものである。また、通信ボードは、例えば、LAN、インターネット、或いはISDN等のWANワイドエリアネットワークに接続されている。磁気ディスク装置には、オペレーティングシステムOS、ウィンドウシステム、プログラム群、ファイル群データベースが記憶されている。プログラム群は、CPU、OS、ウィンドウシステムにより実行される。上記各装置の各部は、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ROMに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。上記プログラム群には、実施の形態の説明において~手段として説明した処理をCPUに実行させるプログラムが記憶される。これらのプログラムは、例えば、C言語やHTMLやSGMLやXMLなどのコンピュータ言語により作成される。また、上記プログラムは、磁気ディスク装置、FDFlexibleDisk、光ディスク、CDコンパクトディスク、MDミニディスク、DVDDigitalVersatileDisk等のその他の記録媒体に記憶され、CPUにより読み出され実行される。"