Strong-stability intelligent matching method for college enrollment matching market with knot constraint

By combining iterative matching and optimization processes with depth-first search and strong stable matching judgment algorithms, the problem of insufficient stability caused by the lack of difference and complex contract preferences in the college admission system is solved, and the generation and judgment of strong stable matches are realized.

CN121786501APending Publication Date: 2026-04-03ZHEJIANG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-29
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

Existing college admission matching systems are inadequate in handling indifference, contractual systems, and stability, and cannot effectively construct strong and stable matches. In particular, when there is no difference in candidates' scores and complex contractual preferences, existing algorithms struggle to determine and generate stable matches.

Method used

By defining an initial set of contracts, iterating through the matching and optimization process, and combining depth-first search and strong stability matching judgment algorithms, temporary contracts are updated, feasible matches are constructed, the set of contracts accepted by universities is checked, and the strong stability of the matching is verified.

Benefits of technology

It enables the determination and generation of strongly stable matches in the college admissions market, where there is no difference in candidates' scores and complex contract preferences, thus ensuring the fairness and stability of the matching results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121786501A_ABST
    Figure CN121786501A_ABST
Patent Text Reader

Abstract

The invention discloses a strong-stability intelligent matching method for a college enrollment matching market containing knot constraints. The method comprises an initialization stage, a loop iteration matching optimization stage and a final verification stage. In each round of the iterative matching optimization stage, all students who do not sign contracts propose contract suggestions to colleges according to preferences, the colleges select and retain contracts which are most beneficial to the students by means of own preference modes, the number of matched students is maximized by calling a depth-first search method, preliminary feasible matching is constructed, and the optimal contract is obtained. And detecting whether a key set exists and removing the contract in the key set. And a strong stable matching judgment method is called in the final verification stage. The method has the advantages that whether strong stable matching exists in the current college enrollment matching system or not can be checked. If the method cannot obtain a strong stable match, the strong stable match does not exist in the system. And the method can ensure that the obtained matching is certainly strongly stable matching.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of computational economics and educational informatization, and in particular to a strongly stable intelligent matching method for a college admissions matching market with structural constraints. Background Technology

[0002] Students awaiting admission. In college admissions, each applicant ranks multiple universities or majors according to their preferences, while universities primarily evaluate applicants based on factors such as their grades. An ideal college admissions matching mechanism needs to achieve fairness, stability, and efficiency in admissions results while respecting applicants' preferences and university admission rules. Currently, the matching mechanism widely used in college admissions is mainly based on applicants' exam scores and the order of their preferences. Although its rules are simple, it may have the following practical considerations and limitations: The system cannot effectively handle the issue of indifference. From the perspective of universities, indifference means that they do not show a clear preference for some students during the admission process, believing that they can admit any student. From the student's perspective, indifference means that students do not show a clear preference for some universities when filling out their college applications, believing that they can attend any university. The introduction of indifference expands the considerations of a recruitment market with strict ranking, and has broader practical applications; in the actual practice of college admissions, it is common for candidates to have the same score. Existing admission systems usually rely on preset rules (such as major subject scores, individual subject scores) for differentiation, but even so, it is difficult to completely rank all applicants; at the same time, the existing admission system processing methods cannot treat candidates as an indifference group, which may lead to suboptimal overall matching results.

[0003] Insufficient stability. Under the condition of indifference, the classic concept of stability has been extended to variants such as weakly stable matching and strongly stable matching. Simply put, strong stability means that no student would strictly prefer a particular unmatched contract. No university would strictly prefer a particular combination of unmatched contracts. Furthermore, there is no set of contracts such that at least one party (student or university) could strictly improve their current matching state by considering this new set of contracts. Simultaneously, this new set of contracts is one of the university's most preferred choices, and the contracts within it are also attractive to students (i.e., acceptable to students). Although Irving et al.'s theoretical proof shows that strongly stable matching does not always exist for a matching market, existing algorithms struggle to accurately determine whether strongly stable matching exists and how to construct it.

[0004] The contract system is insufficiently considered. Some university programs occasionally express a preference for bundling admissions to certain students. A "contract" is a potential association established between two parties in a matching market. It represents a holistically evaluable "matching scheme or bundle" formed between one or more specific individuals. Market participants can express preferences for these complex "contract bundles," and may even show indifferent preferences for multiple equally attractive bundled contract schemes. However, existing algorithms do not adequately consider such potentially bundled contract systems.

[0005] In academic research, stable matching theories such as the Gale-Shapley algorithm provide a solid theoretical foundation for solving matching problems. However, most classic studies in the past have been limited to markets with strict ranking, lacking the design of matching methods for markets with indiscriminate matching, and therefore cannot be directly applied to matching environments with indiscriminate matching, such as college admissions.

[0006] The Gross Substitutes Condition (GST), a crucial pre-constraint in the context of the college admissions market with knotted constraints, was first proposed by Kelso and Crawford and is a core concept in economics: when the price of some goods rises, the demand for goods whose prices remain constant will continue. This property forms the basis of modern economic theory. In matching theory, Hatfield et al. incorporated the GST into the study of stable matches, and it has since become a standard assumption. However, much work on matching with contracts and the definition of the associated GST has been limited to strict preferences. In contrast, the classical demand theory definition naturally allows for multiplicity: demand at a given price is not a single set, but rather more likely reflects an agent's indifference to multiple bundles of demand. This subtle yet important aspect has received little attention and research.

[0007] Meanwhile, there is also limited attention paid to stable matches in contract matching models under the condition of allowing indifferent preferences. To our knowledge, existing research is limited to strict preference ordering and lacks comprehensive formulation under the indifferent condition. Furthermore, existing stable matching algorithms under indifferent preferences are limited to general one-to-one or many-to-one models. In contrast, preferences in contract matching models are much more complex than those in general matching models, and even under strict preferences, the existence of stable matches cannot always be guaranteed. In traditional one-to-one or many-to-one matching without considering contracts, existence is always guaranteed. Therefore, current methods cannot address the question of whether and how to find stable matches within the constraint framework of indifference and contract matching. This is the problem that this invention aims to solve. Summary of the Invention

[0008] The problem this invention aims to solve is a method for determining and generating strong stability in a constrained college admissions market that considers enrollment contract restrictions, satisfies total substitution conditions, and where student scores are indistinguishable.

[0009] The technical solution adopted by this invention to solve the above problems is a strongly stable intelligent matching method for the college admissions matching market with structural constraints, comprising: Define an initial set of contracts, with the initial matching set being empty, and collect the preference order of students and universities; Iterative matching and optimization, each iteration including: Update the temporary contract and obtain a set of contract suggestions built by all unadmitted students based on their first preference; Universities update the accepted contracts based on the students' contract suggestion set and university preferences; they also update the available contract set and construct feasible matches through depth-first search to maximize the number of matched students and satisfy the universities' selection preferences. Check if there exists a subset of students with the maximum number of unmatched students in the set of contracts accepted by universities. If so, reset all university contracts connected to that subset of students. After traversing all universities and all combinations of each university, output the current match. After the iteration is completed, the algorithm for judging strong stability is called to verify whether the current match is strong and stable.

[0010] Furthermore, the update of the temporary contract specifically involves updating the temporary contract based on the contract accepted by the university in the previous iteration.

[0011] Furthermore, the process by which universities update and accept contracts based on students' contract suggestion sets and university preferences specifically includes: Based on the preferences of universities, obtain the optimal combination of temporary contracts for universities and add the newly accepted contracts to the set of contracts accepted by universities; Based on the set of contracts accepted by the universities, the status of the relevant students is set: students who have been connected are set to "admitted", and other students are set to "free". Finally, remove all contracts from the university's preference list that will not affect the university's current selection.

[0012] Furthermore, the method of constructing feasible matches through depth-first search to maximize the number of matched students specifically includes: Initialize the university selection set, and store the optimal selection set of each university in all accepting contract sets and the empty set in the university contract preference sequence; A depth-first search process is used, starting with the first university. The input includes an initially empty set of candidate contracts, the currently matched contracts (also initially empty), and the contract preference sequence of university h among all current contracts. Iterate through all the choices for each university in the set of accepted contracts, and find the optimal solution for a feasible match that satisfies the university's preferences and maximizes the number of matched students.

[0013] Furthermore, the depth-first search process is as follows: Perform termination condition check: If the current university It has exceeded the scope of the university collection H, or if the contracts in the candidate contract set match the current part. If there is already a contract conflict, it means the current path is invalid, and the depth-first search process is terminated directly, returning... This indicates that no match can be formed; Update the current state, accumulate partial matches and initialize the optimal match: set the current candidate contract set. The contract in the middle is merged into the original current part matching. In the middle, a new current partial match is formed. Initialize the optimal matching result of the current branch. empty set Used to store the best match found in the current search branch; Recursively traverse the selection of the next university: For the next university of today Its origins lie in the university's preferred contract portfolio. For each combination of choices Y, the depth-first search process is recursively invoked to... As the next university to be addressed, Y is a new candidate contract set. Updated current partial match and the complete The list will return a temporary complete match for this recursive call. ; Evaluate The relationship between the total number of students obtained through the current recursive path. Strictly greater than the total number of students in the current match M Then Updated to If the total number of students obtained through the current recursive path Equal to the current If the total number of students is [number], then the following calculation is performed: The set of universities included and The set of universities included If the number of universities ,but Updated to They found a matching scheme that included more universities while keeping the number of students the same. examine If all combinations of universities have been traversed, return and recursively traverse to the next university selection; if so, ... It is considered the best match for the current branch.

[0014] Furthermore, detecting whether the set of contracts accepted by universities contains a subset of students with the maximum number of unmatched students specifically includes: calculating the number of unmatched students; if the number of unmatched students is 0, the iterative matching and optimization phase is terminated; otherwise, proceed as follows: Identify the key set containing the subset of students with the largest number of unmatched students, and include all colleges connected to the key set in the college key set; For each university in the university key set, reset the status of all students connected to that university from signed contracts to free, remove all contracts connected to that university from the set of available contracts, and remove any contracts inferior to the current selection from the university's preference list.

[0015] Furthermore, the specific steps of invoking the algorithm for determining whether a current match is strongly stable are as follows: Based on the current match M, reconstruct and confirm the preference order of each university; Determine if matching M has matched all students and universities. If so, consider M to be a strongly stable matching and return True; otherwise, proceed to: Extract all students that were not matched in M. and unmatched colleges For each student d, construct a potential blocking set. This includes contracts for student d and all unmatched colleges h', and then checks if the following condition exists: if student d considers the current match M and When dealing with the contract in M, if his optimal choice differs from her optimal choice in M, return False if such a difference exists; otherwise, proceed to: Detect all universities h, and then construct a set of potential blocking contracts. This includes contracts for university h and all unmatched students d', followed by checking if university h exists: if university h exists, then consider the current match M and... When choosing a contract in M, its optimal choice differs from its optimal choice in M; if it exists, return False; otherwise, return True.

[0016] On the other hand, this invention also provides a strongly stable intelligent matching device for a college admissions matching market with structural constraints, including a memory and one or more processors. The memory stores executable code, and when the processor executes the executable code, it implements the strongly stable intelligent matching method for a college admissions matching market with structural constraints.

[0017] On the other hand, this invention also provides a computer-readable storage medium having a program stored thereon, which, when executed by a processor, implements the aforementioned strongly stable intelligent matching method for a college admissions matching market with structural constraints.

[0018] Compared with the prior art, the present invention has the following advantages and beneficial effects: (1) This invention can use the method of iterative optimization of matching scheme combined with strong stable matching judgment algorithm to check whether there is a strong stable match in the current college admission matching system.

[0019] (2) If the present invention cannot obtain a match in the process of iteratively optimizing the matching scheme through the complete depth-first search mechanism of the present invention, or if the obtained match returns False in the strong stable matching judgment algorithm, it means that there is no strong stable match in the matching system.

[0020] (3) According to the verification rules in the strong stable matching judgment algorithm, if the present invention obtains a match in the process of iteratively optimizing the matching scheme and returns True in the strong stable matching judgment process, it means that there is a strong stable matching scheme in the matching system and the proposed matching scheme must be a strong stable match. Attached Figure Description

[0021] Figure 1 A schematic diagram of the overall process of the present invention is shown.

[0022] Figure 2 A schematic diagram of the depth-first search algorithm in sub-step S252 of the present invention is shown.

[0023] Figure 3 This diagram illustrates the final verification stage of step S3 of the present invention.

[0024] Figure 4 A schematic diagram of the bearing device of the present invention is shown. Detailed Implementation

[0025] The present invention will be described more fully below with reference to two embodiments. The exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein. Rather, these embodiments are provided to make this application more comprehensive and complete, and to more fully convey the conceptual approach of the exemplary embodiments to those skilled in the art. The described features and structural characteristics can be combined in any suitable manner in one or more embodiments. The methods presented in this exemplary embodiment will now be described in more detail.

[0026] The first example takes place in a small-scale, knotted college admissions matching market, where there are currently five students: A, B, C, D, and E; and three colleges: Z, Chou, and Yin.

[0027] Step S1: Initialization Phase: Define the initial set of contracts. At this point, all students are in a free state, with no initial match, and the current match set M is empty; simultaneously, each student has their own unique initial interests. The admissions office collects these interests and initializes the matching market problem.

[0028] In the college application system, Student A's preference order is: Zi > Yin > Chou; Student B's preference order is: Zi ~ Chou ~ Yin; Student C's preference order is: Zi ~ Chou > Yin; Student D's preference order is: Chou > Zi ~ Yin; and Student E's preference order is: Chou > Yin ~ Zi. Here, the > symbol indicates a strict preference, while the ~ symbol indicates an indifferent preference.

[0029] The preference order list for university students is: {(A, student), (B, student), (C, student)}>{(C, student)}~{(B, student), (C, student)}~{(A, student), (C, student)}>other. Here, "([a student], [a university])" refers to a contract. The curly braces {} represent the set of contracts. Meanwhile, the preference order list for university students is: {(C, student), (D, student), (E, student)}>{(D, student)}~{(C, student), (D, student)}~{(E, student), (D, student)}>other. For university students, there is no difference in preference for any contract; that is, no particular preference. At this point, the preference order of all universities satisfies the pre-existing total substitution condition.

[0030] For convenience, let X be the set of contracts. For the available set of contracts, A collection of contracts accepted by universities. This refers to a temporary contract that universities may accept at present. The initial value is X, meaning that all contracts are initially accepted. For student d, using Represents a collection of contracts The optimal set of contracts. Similarly, for university h, using denote the optimal contract combination in

[0031] and have the following properties: In a complete operation process, once a contract in the set is added, it will not be deleted, while once a contract in

[0032] Step S2: Iterative matching and optimization phase; This is a loop phase, which consists of the following steps in this embodiment; Sub-step S210: Update the temporary contract set , and put all elements of into it.

[0033] In the first round of the loop, each student is idle, ; Sub-step S220: All students d in the "free" state propose "contract" suggestions to the universities according to their own preferences from the available contract set and fill in their volunteer forms.

[0034] In the first round, all students are free, and all the volunteer combinations available to students are also free. Each student fills in their volunteer form according to their own preferences and forms contracts.

[0035] According to each student's first-preference volunteer, student A proposes {(A, son)}; student B proposes {(B, son), (B, ugly), (B, yin)}; student C proposes {((C, son), (C, ugly)}, student D proposes {(D, ugly)}; student E proposes {(E, ugly)}. Due to the existence of indifferent preferences, students can propose multiple groups of volunteers.

[0036] Therefore, the contract set obtained in the first round by the overall enrollment office is: ={(A, son), (B, son), (B, ugly), (B, yin), (C, son), (C, ugly), (D, ugly), (E, ugly)} Sub-step S230: For each university h, after receiving the student proposals from sub-step S220, they update their accepted contracts by means of their own preference methods. Select and retain a contract subset that is most beneficial to them. Although this operation may overthrow the contracts constructed in the previous loops. Specifically, it includes the following steps: Sub-step S231: Obtain the optimal contract combination for university h in , and extract <able>the union of all contracts in

[0037] In this embodiment, the optimal contract combinations for the first university, University A, are (A, A), (B, A), (C, A); for the second university, University B, are (C, B), (D, B), (E, B); and for the third university, University C, is (B, C).

[0038] Sub-step S232: Add the contracts newly accepted by university h in this step to .

[0039] In this embodiment, ={(A, A), (B, A), (C, A), (C, B), (D, B), (E, B), (B, C)}.

[0040] Sub-step S233: Set the status of relevant students according to . Students who have been connected in are set to "contract signed" (admitted), and other students are set to "free".

[0041] In this embodiment, since all five students are related to the contracts in , the status of these students is set to "contract signed".

[0042] Sub-step S234: Finally, delete all contracts from the preference list of the university that do not affect the current choice of the university.

[0043] Sub-step S240: Update the set of available contracts. Specifically, remove from the set of available contracts the contracts that were originally in the temporary contract set but were not accepted by the set of contracts accepted by the university .

[0044] In this embodiment, the contract (B, B) that is in but not in is removed from the set of available contracts .

[0045] Sub-step S250: Based on the student proposals in sub-step S220 and the university selections in sub-step S230, call the depth-first search algorithm to construct a preliminary feasible matching, maximizing the number of matched students through depth-first search and satisfying the university's selection preferences. To construct a temporary matching result that maximizes the number of student matches. Specifically, the details of the depth-first search algorithm are as follows: Sub-step S251: Initialize the university selection set. For each university h in the market, calculate its optimal selection set in the set of contracts accepted by all universities, note that​ (Indicating non - matching, an empty contract) is also a possible option, which means that the universities may not match, ensuring that the universities have the option to reject from . Incorporate and both into the selection set . At this time contains the contract preference sequence of university h in all current contracts, as well as the option of non - matching.

[0046] In this embodiment, {{(A, zi), (B, zi), (C, zi)}, {(C, zi)}, {(B, zi), (C, zi)}, {(A, zi), (C, zi)}, }, {{(C, chou), (D, chou), (E, chou)}, {(D, chou)}, {(C, chou), (D, chou)}, {(D, chou), (E, chou)}, }, {{(B, yin)} } Sub - step S252: By means of a depth - first search process, traverse all the selection combinations of universities in to find the optimal solution. The depth - first search process takes the first university as the starting point of the search. And at the same time, it inputs the "candidate contract set" (denoted as ; initially an empty set), the "current partial matching" (denoted as ; initially an empty set), and in the previous step, the preferred contract combination of university h in all current contracts. A method of the depth - first search process is as follows: Sub - step S2521: Check the termination condition.

[0047] If the current university has exceeded the scope of the university set H (which means that all universities have been considered), or if the contracts in conflict with the existing contracts in M' (for example, the same student is matched twice), it means that the current path is invalid, directly end the depth - first search process, and return , indicating that a match cannot be formed. [[ID=​​​​​​​​​​​ empty set Used to store the best match found in the current search branch.

[0050] Sub-step S2523: Recursively traverse the selection of the next university.

[0051] For the next university of today Each of its choice combinations Y (from ,Right now (All possible choices and the empty set), recursively calling the depth-first search process, to As the next university to be addressed, Y is a new candidate contract set. The current As a partial match, and the complete match The list represents the input for this depth-first search process. The result of this recursive call will return a matching recursive call. .

[0052] Sub-step S2524: Evaluation The relationship between the total number of students obtained through the current recursive path. If it is strictly greater than the total number of students in M, then... Updated to This indicates that a match containing more students has been found. If the total number of students obtained through the current recursive path ( ) equals the current If the total number of students is determined, proceed to sub-step S2525.

[0053] Sub-step S2525: Calculate The set of universities included and The set of universities included .like ,but Updated to This means that a matching scheme with more universities has been found, given the same number of students.

[0054] Sub-step S2526: Check Has all combinations of universities been traversed? If not, return to sub-step S2523; if yes, then... It is considered the best match for the current branch.

[0055] In this embodiment, the first round of recursion begins with a termination condition check in S2521, which finds no conflict. Therefore, the process continues, and in S2522, the current partial match is set. Its next university is ,by As a new set of candidate contracts, call the second round of recursion.

[0056] In the second round of recursion, first try ={(C, Chou), (D, Chou), (E, Chou)}. In the termination condition check of S2521, it does not conflict with the existing contracts either. So set the current partial match as ={(C, Chou), (D, Chou), (E, Chou)}, and then recurse to the next university Yin.

[0057] In the third round of recursion, under the constraints of the limiting conditions of S2521, since the current partial match {(C, Chou), (D, Chou), (E, Chou)} occupies three students C, D, and E, only students A and B who do not conflict with the current partial match can be selected.

[0058] First try student A, but note that (A, Yin) is not in and cannot be added to the current round of matching, so skip it.

[0059] Then try student B. At this time, add (B, Yin) to the current partial match. Although it is also possible to continue with the recursion, it will also trigger the termination condition of "all universities have been considered" in S2521. So the partial match at this time is {(B, Yin), (C, Chou), (D, Chou), (E, Chou)}, and all these elements are in it.

[0060] It is also possible to try students A and B at the same time. At this time, since (A, Yin) is not in the current round of matching, only (B, Yin) can be added to the current partial match. The partial match at this time is M' = {(B, Yin), (C, Chou), (D, Chou), (E, Chou)}.

[0061] Return to the second round of recursion and consider other combinations. For those with more elements in the partial match than {(B, Yin), (C, Chou), (D, Chou), (E, Chou)}, replace the current partial match. In the second round of recursion, there are no elements with the same indifference as {(C, Chou), (D, Chou), (E, Chou)} anymore, so exit the second round of recursion.

[0062] Return to the first round of recursion and consider other combinations. The corresponding process is omitted here. Finally, in the iterative optimization of the first round, ={(B, Yin), (C, Chou), (D, Chou), (E, Chou)} is one of the optimal contract combinations.

[0063] Sub-step S253: When the depth-first search call in sub-step S252 is completed, the returned result M is the output of sub-step S250. It is a feasible matching that satisfies the preferences of the universities and maximizes the number of matched students.

[0064] In this embodiment, the returned result ={(B, Yin)(C, Chou)(D, Chou)(E, Chou)} Sub-step S250 mainly searches for the Cartesian product of the feasible sets defined by the selection functions of each university. The matching M constructed through sub-step S250 must satisfy the following two characteristics: each university must be able to obtain an element from the optimal selection set of all available contracts, or the empty set. And there does not exist another matching such that while also satisfying when satisfying the aforementioned characteristics, and also satisfying where is the total number of students in M.

[0065] Sub-step S260: In the construction result of sub-step S250, detect whether there is a "critical set". If there is such a "critical set", then release these contracts, and the corresponding students return to the free state.

[0066] The "critical set" is a special concept, which refers to a subset of the student set D satisfying the following two conditions: for , the subset has the largest "unmatched number" among all subsets of D, and there is no smaller subset that can achieve the same "unmatched number".

[0067] The "unmatched number" refers to the number of students in the subset minus the number of students actually matched in the subset in the matching​​​​​​​​​​​​​​​​​ and all the universities connected to the key set will be included in the "University Key Set" in .

[0071] In this embodiment, for the contract set , its "key set" is {A}, and the contracts related to student A are (A, B), so = {B}.

[0072] Sub-step S263: For each university h in the set , reset the status of all students connected to university h from "contract signed" to "free". And remove all contracts connected to university h from .

[0073] In this embodiment, the contracts (A, B), (C, B), (D, B) related to university B are removed from the available contract set in the first round. Note that it is not removed from .

[0074] Sub-step S264: Delete any contract in the preference list of university h that is inferior to the current selection.

[0075] For the second loop, student A is free, so can be constructed. In this round, the first preference of student A could not be satisfied in the first round, so he chooses to enter the second preference. In other loops, the first preferences are all satisfied, so the first preferences are retained. Specifically, student A re-proposes {(A, C)}; student B retains {(B, B), (B, D), (B, C)}; student C retains {(C, B), (C, D)}; student D retains {(D, D)}; student E retains {(E, D)} Thus, the admissions office obtains the contract set for the second round: = {(A, B), (A, C), (B, B), (B, D), (B, C), (C, B), (C, D), (D, D), (E, D)} Update the accepted contracts of universities through sub-step S230, and update the available contract set through sub-step S240. Omit the process of sub-step S250, and its final output is {(A, C), (B, C), (C, D), (D, D), (E, D)}.

[0076] At this time, there is no critical key set, and no contract needs to be removed. Since each student has obtained a match, we get a matching plan {(A, C), (B, C), (C, D), (D, D), (E, D)}.

[0077] Step S3: Final Verification Stage. This stage begins when the loop in Step S2 terminates. The candidate matches obtained in Step S2 are extracted, and then a strong stability matching algorithm is called to verify whether the match is strong and stable. In this embodiment, it consists of the following parts: Sub-step S310: Reconstruct the university preference sequence. Based on the current matching M, reconstruct and confirm the preference order of each university.

[0078] Sub-step S320: Determine whether matching M has matched all students and universities, meaning there are no unmatched agents. If so, directly determine that M is a strongly stable match, end step S3, and return True; otherwise, proceed to sub-step S330.

[0079] In this embodiment, since the college student was not matched by the contract, the result of sub-step S320 is False, and the process proceeds to sub-step S330.

[0080] Sub-step S330: Extract all students who were not matched in M. and unmatched colleges For each student d (regardless of whether they are included in a contract), construct a potential blocking set. This includes student d and all unmatched colleges h' (i.e. The contract (containing all elements). Then check for blocking. That is, whether the following situation exists, if student d considers the current match M and When choosing a contract in M, his optimal choice differs from her optimal choice in M. In other words, d strictly prefers... If a contract in the process matches, and if there is a blockage, end step S3 and return False. Otherwise, proceed to sub-step S340.

[0081] Sub-step S340 specifically involves: detecting all universities h, and then constructing a set of potential blocking contracts. This includes contracts for university h and all unmatched students d', followed by checking if university h exists: if university h exists, then consider the current match M and... When choosing a contract in M, its optimal choice differs from its optimal choice in M; if it exists, return False; otherwise, return True.

[0082] In this embodiment, the set of students who were not matched is an empty set. The number of universities that were not matched is ={Child}. Consider Student A. For Student A, the contract (A, Child) with the unmatched university is strictly preferred to the contract (A, C) related to Student A in the current match. So, step S3 returns False, and there is no need to perform S340. It is concluded that there is no strong stable match in Example 1.

[0083] Example 2 is provided below, which also occurs in a small-scale college admissions matching market with tie-breaking constraints. Different from the aforementioned Example 1, this example mainly shows a situation where there is a strong stable match.

[0084] The basic assumptions are the same as those in Example 1. The only difference is that the preference of Student D is modified to: Child > Ugly ~ Tiger.

[0085] Step S1: Initialization phase. It is basically the same as in Example 1 and is skipped.

[0086] Step S2: Iterative matching and optimization phase. This is a loop phase, which consists of the following steps in this example; Sub-step S210: Update the set of temporary contracts , and put all the elements of into it.

[0087] In the first round of the loop, each student is idle, . Sub-step S220: All "free" students d propose "contract" offers to universities according to their preferences and fill in their college applications.

[0088] In the first round, all students are free, and all the optional college application combinations for students are also free. Each student fills in their college applications according to their preferences and forms contracts.

[0089] According to each student's first-preference college application, Student A proposes {(A, Child)}; Student B proposes {(B, Child), (B, Ugly), (B, Tiger)}; Student C proposes {((C, Child), (C, Ugly)}; Student D proposes {(D, Child)}; Student E proposes {(E, Ugly)}. Therefore, the admissions office gets the contract set for the first round: ={(A, Child), (B, Child), (B, Ugly), (B, Tiger), (C, Child), (C, Ugly), (E, Ugly)} Sub-step S230 and sub-step S240 are the same as those in Example 1. The detailed process of sub-step S250 is skipped, and the output of sub-step S250 is {(A, Child), (B, Tiger), (C, Child), (E, Ugly)}. At this time, in sub-step S260, the critical key set is {D}, but no contract is removed from , and the first round of the loop of step S2 in Example 2 is completed.

[0090] For the second loop, student Ding is idle, so we can construct : In this round, only the first preference of student Ding cannot be satisfied, so it moves to the second preference, and {(Ding, Yin)} is proposed; all the other students have been connected, so they remain unchanged. Therefore, the contract set obtained by the coordinated enrollment office in the second round is: [[ID={5]]] ={(Jia, Zi), (Yi, Zi), (Yi, Chou), (Yi, Yin), (Bing, Zi), (Bing, Chou), (Ding, Chou), (Ding, Yin), (Wu, Chou)} Sub-step S230 and sub-step S240 are the same as those in Embodiment 1. The detailed process of sub-step S250 is omitted, and the output of sub-step S250 is obtained as {(Jia, Zi), (Yi, Zi), (Bing, Chou), (Ding, Chou), (Wu, Chou)}. At this time, in sub-step S260, there is no critical key set, and no contract needs to be removed. Since each student has obtained a match, we get a matching scheme {(Jia, Zi), (Yi, Zi), (Bing, Chou), (Ding, Chou), (Wu, Chou)}.

[0091] Step S3: Final verification stage. In this embodiment, it consists of the following parts: Sub-step S310: Reconstruct the preference sequence of universities. According to the current matching M, reconstruct and confirm the preference order of each university.

[0092] Sub-step S320: Determine whether the matching M has matched all students and universities, that is, there are no unmatched agents. If so, directly determine that M is a strongly stable match, end step S3, and return True; otherwise, enter sub-step S330.

[0093] In this embodiment, since university Yin is not matched by a contract, the determination result of sub-step S320 is False, and it enters sub-step S330.

[0094] Sub-step S330: Extract all students who are not matched in M and universities that are not matched . For each student d (regardless of whether it is included in a certain contract), construct a potential blocking set , including student d and all unmatched universities h' (that is, all elements in ) contracts. Then check whether there is a block. If there is a block, end step S3 and return False. Otherwise, enter sub-step S340.

[0095] In this embodiment, the set of students who are not matched is an empty set , and the universities that are not matched are ={Yin}. Consider student A. For student A, compared with the contract (A, Yin) with the unmatched university, student A obviously prefers the contract (A, Zi) related to student A in the current match. For student B, compared with the contract (B, Yin) with the unmatched university, student B shows indifference to the contract (B, Zi) in the current match. For student C, compared with the contract (C, Yin) with the unmatched university, student C obviously prefers the contract (C, Chou) in the current match. For student D, compared with the contract (D, Yin) with the unmatched university, student D shows indifference to the contract (D, Chou) related to student D in the current match. For student E, compared with the contract (E, Yin) with the unmatched university, student E obviously prefers the contract (E, Chou) in the current match. So sub-step S330 returns True and enters sub-step S340.

[0096] Sub-step S340: Detect all universities h (regardless of whether they are included in a certain contract), and then construct a set of potential blocking contracts , including the contract between university h and all unmatched students d'. Then check whether there is a block for university h. If there is a block, end step S3 and return False. If not, also end step S3 and return True.

[0097] In this embodiment, there are no unmatched students, so there is no block. End step S3 and return True. Thus, the matching scheme {(A, Zi), (B, Zi), (C, Chou), (D, Chou), (E, Chou)} is obtained, which is strongly stable. Corresponding to the foregoing embodiment of a strongly stable intelligent matching method for a college enrollment matching market with tie constraints, the present invention also provides an embodiment of a strongly stable intelligent matching device for a college enrollment matching market with tie constraints.

[0098] See Figure 4 A strongly stable intelligent matching device for a college enrollment matching market with tie constraints provided by an embodiment of the present invention includes a memory and one or more processors. Executable code is stored in the memory. When the processor executes the executable code, it is used to implement the strongly stable intelligent matching method for a college enrollment matching market with tie constraints in the above embodiment.

[0099] The present invention provides an embodiment of a highly stable intelligent matching device for the college admissions matching market with structural constraints. This device can be applied to any device with data processing capabilities, such as a computer. The device embodiment can be implemented through software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of any data processing device loading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 4 The diagram shown illustrates a hardware structure of any data processing-capable device, specifically a highly stable intelligent matching device for the college admissions matching market with structural constraints, provided by this invention. (Except for...) Figure 4 In addition to the processor, memory, network interface, and non-volatile memory shown, any data processing device in the embodiment may also include other hardware depending on the actual function of the data processing device, which will not be described in detail here.

[0100] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0101] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the present invention according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0102] This invention also provides a computer-readable storage medium storing a program thereon, which, when executed by a processor, implements a strongly stable intelligent matching method for a college admissions matching market with knot constraints as described in the above embodiments.

[0103] The computer-readable storage medium can be an internal storage unit of any data processing device described in any of the foregoing embodiments, such as a hard disk or memory. The computer-readable storage medium can also be an external storage device of any data processing device, such as a plug-in hard disk, smart media card (SMC), SD card, flash card, etc., equipped on the device. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices of any data processing device. The computer-readable storage medium is used to store the computer program and other programs and data required by the data processing device, and can also be used to temporarily store data that has been output or will be output.

[0104] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the aforementioned strongly stable intelligent matching method for a college admissions matching market with structural constraints.

[0105] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.

[0106] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this application. This application is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A strongly stable intelligent matching method for a college admissions matching market with structural constraints, characterized in that, include: Define an initial set of contracts, with the initial matching set being empty, and collect the preference order of students and universities; Iterative matching and optimization, each iteration including: Update the temporary contract and obtain a set of contract suggestions built by all unadmitted students based on their first preference; Universities update the accepted contracts based on the students' contract suggestion set and university preferences; they also update the available contract set and construct feasible matches through depth-first search to maximize the number of matched students and satisfy the universities' selection preferences. Check if there exists a subset of students with the maximum number of unmatched students in the set of contracts accepted by universities. If so, reset all university contracts connected to that subset of students. After traversing all universities and all combinations of each university, output the current match. After the iteration is completed, the algorithm for judging strong stability is called to verify whether the current match is strong and stable.

2. The strongly stable intelligent matching method for a college admissions matching market with structural constraints as described in claim 1, characterized in that, The specific meaning of updating the temporary contract is: updating the temporary contract according to the contract accepted by the university in the previous iteration.

3. The strongly stable intelligent matching method for a college admissions matching market with structural constraints as described in claim 1, characterized in that, The university's update of the accepted contracts based on the students' contract suggestion set and university preferences specifically includes: Based on the preferences of universities, obtain the optimal combination of temporary contracts for universities and add the newly accepted contracts to the set of contracts accepted by universities; Based on the set of contracts accepted by the universities, the status of the relevant students is set: students who have been connected are set to "admitted", and other students are set to "free". Finally, remove all contracts from the university's preference list that will not affect the university's current selection.

4. The strongly stable intelligent matching method for a college admissions matching market with structural constraints as described in claim 1, characterized in that, The method of constructing feasible matches using depth-first search to maximize the number of matched students specifically includes: Initialize the university selection set, and store the optimal selection set of each university in all accepting contract sets and the empty set in the university contract preference sequence; A depth-first search process is used, starting with the first university. The input includes an initially empty set of candidate contracts, the currently matched contracts (also initially empty), and the contract preference sequence of university h among all current contracts. Iterate through all the choices for each university in the set of accepted contracts, and find the optimal solution for a feasible match that satisfies the university's preferences and maximizes the number of matched students.

5. A strongly stable intelligent matching method for a college admissions matching market with structural constraints, as described in claim 4, is characterized in that... The depth-first search process is as follows: Perform termination condition check: If the current university It has exceeded the scope of the university collection H, or if the contracts in the candidate contract set match the current part. If there is already a contract conflict, it means the current path is invalid, and the depth-first search process is terminated directly, returning... This indicates that no match can be formed; Update the current state, accumulate partial matches and initialize the optimal match: set the current candidate contract set. The contract in the middle is merged into the original current part matching. In the middle, a new current partial match is formed. Initialize the optimal matching result of the current branch. empty set ; Used to store the best match found in the current search branch; Recursively traverse the selection of the next university: For the next university of today Its origins lie in the university's preferred contract portfolio. For each combination of choices Y, the depth-first search process is recursively invoked to... As the next university to be addressed, Y is a new candidate contract set. Updated current partial match and the complete The list will return a temporary complete match for this recursive call. ; Evaluate The relationship between the total number of students obtained through the current recursive path. Strictly greater than the total number of students in the current match M Then Updated to If the total number of students obtained through the current recursive path Equal to the current If the total number of students is [number], then the following calculation is performed: The set of universities included and The set of universities included If the number of universities ,but Updated to They found a matching scheme that included more universities while keeping the number of students the same. examine If all combinations of universities have been traversed, return and recursively traverse to the next university selection; if so, ... It is considered the best match for the current branch.

6. The strongly stable intelligent matching method for a college admissions matching market with structural constraints as described in claim 1, characterized in that, The process of detecting whether a subset of students containing the maximum number of unmatched students exists in the contract set accepted by universities specifically includes: calculating the number of unmatched students; if the number of unmatched students is 0, the iterative matching and optimization phase is terminated; otherwise, the following steps are taken: Identify the key set containing the subset of students with the largest number of unmatched students, and include all colleges connected to the key set in the college key set; For each university in the university key set, reset the status of all students connected to that university from signed contracts to free, remove all contracts connected to that university from the set of available contracts, and remove any contracts inferior to the current selection from the university's preference list.

7. A strongly stable intelligent matching method for a college admissions matching market with structural constraints, as described in claim 1, is characterized in that... The specific steps of calling the algorithm for determining whether a match is strongly stable are as follows: Based on the current match M, reconstruct and confirm the preference order of each university; Determine if matching M has matched all students and universities. If so, consider M to be a strongly stable matching and return True; otherwise, proceed to: Extract all students that were not matched in M. and unmatched colleges For each student d, construct a potential blocking set. This includes contracts for student d and all unmatched colleges h', and then checks if the following condition exists: if student d considers the current match M and When dealing with the contract in M, if his optimal choice differs from her optimal choice in M, return False if such a difference exists; otherwise, proceed to: Detect all universities h, and then construct a set of potential blocking contracts. This includes contracts for university h and all unmatched students d', followed by checking if university h exists: if university h exists, then consider the current match M and... When choosing a contract in M, its optimal choice differs from its optimal choice in M; if it exists, return False; otherwise, return True.

8. A highly stable intelligent matching device for the college admissions matching market with structural constraints, comprising a memory and one or more processors, wherein the memory stores executable code, characterized in that, When the processor executes the executable code, it implements a strongly stable intelligent matching method for the college admissions matching market with structural constraints as described in any one of claims 1-7.

9. A computer-readable storage medium having a program stored thereon, characterized in that, When the program is executed by the processor, it implements a strongly stable intelligent matching method for the college admissions matching market with structural constraints as described in any one of claims 1-7.