Directional personnel post allocation method and device and computer readable storage medium
By applying the Kuhn-Munkres algorithm to perform the optimal solution calculation with power in personnel position allocation, the problem that existing algorithms are difficult to effectively consider personnel rankings and volunteer weights is solved, and efficient and accurate personnel position allocation is achieved.
Patent Information
- Application Number
- CN202411992853.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2044-12-31
AI Technical Summary
In the problem of large-scale personnel position allocation, existing algorithms find it difficult to effectively consider personnel rankings and volunteer weights, resulting in high computational complexity and difficulty in finding the global optimal solution.
The Kuhn-Munkres algorithm is used to perform weight optimal solution calculation on the personnel position weight matrix, build the weight matrix and determine the weight matching scheme through the KM algorithm, and verify it in combination with the job volunteer information to output the maximum weight matching result.
The efficiency and accuracy of personnel position allocation are improved, and the timeliness and accuracy requirements of personnel-position assignment work can be better adapted to the timeliness and accuracy requirements of personnel-position assignment, and meet the requirements of double-high matching of rankings and volunteer rankings.
Smart Images

Figure CN119991056A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the field of big data analysis, and in particular, to a method, device, and computer-readable storage medium for directional personnel position allocation. Background Art
[0002] The job allocation problem is usually a typical combinatorial optimization problem, which contains multiple objectives and constraints. Even if the evaluation criteria are clear and can be represented by a mathematical model, finding the optimal solution is usually very time-consuming and computationally intensive. For large-scale problems, the use of traditional exact algorithms (such as enumeration and backtracking methods) will face the problem of time complexity explosion.
[0003] At present, the main technologies for solving the problem of personnel position allocation include heuristic algorithms, greedy algorithms, Hungarian algorithms, etc. These algorithms have their own advantages and disadvantages and are suitable for different scenarios. For example, heuristic algorithms, such as simulated annealing algorithms and genetic algorithms, are suitable for problems with large solution spaces and difficult to solve accurately. Their advantages are that they are easy to modify and adapt to different needs, but they have high requirements for parameter settings, slow convergence speed, and do not guarantee to find the global optimal solution. The greedy algorithm makes the current optimal choice in each step of selection. The final result may not be the global optimal, but it can quickly obtain an approximate solution. The algorithm lacks backtracking properties, which may lead to the possibility of missing a better solution. The Hungarian algorithm is a classic algorithm for solving the maximum matching problem of bipartite graphs. It can find the optimal match between multiple tasks and multiple human workers, but if multiple complex factors (such as weights, rankings, etc.) need to be combined, the algorithm needs to be expanded or combined with other technologies. Summary of the invention
[0004] In order to solve the problem of targeted allocation to a specific industry that requires consideration of personnel rankings and volunteer weights, the embodiments described herein provide a method and apparatus for targeted personnel position allocation, and a computer-readable storage medium storing a computer program.
[0005] According to the first aspect of the present disclosure, a method for directional personnel position allocation is provided, which is characterized by comprising: constructing a weight matrix of personnel and positions based on personnel ranking information and voluntary application information of positions; calculating the weighted optimal solution of the personnel position weight matrix based on the KM algorithm to determine a weighted matching scheme; and verifying the weighted matching scheme based on the voluntary application information of the position, and outputting the maximum weight matching result after the verification passes.
[0006] In some embodiments of the present disclosure, constructing a weight matrix of personnel and positions based on the ranking information of personnel and the voluntary application information of positions includes: obtaining basic information of the personnel to be assigned and the positions to be assigned, the basic information of the personnel including the ranking information, and the basic information of the positions including the voluntary application information of the positions; determining the ranking weight coefficient based on the ranking information, and determining the position weight coefficient based on the voluntary application information; and combining the ranking weight coefficient and the position weight coefficient to determine the matching relationship between personnel and positions, and generating a weight matrix of personnel and positions.
[0007] In some embodiments of the present disclosure, the ranking weight coefficient and the position weight coefficient are combined to determine the matching relationship between personnel and positions, and the weight matrix of personnel and positions is generated, including: dividing the personnel and positions to be assigned into two sets, and assigning n positions to n trainees according to the rule of one person, one position, and each trainee applying for a maximum of three positions, and generating the weight matrix: G = {gij}, i, j = 1, 2...n; when gij = -∞, it means that the person ranked i has not applied for the jth position; when gij = p·(ni)·v(3-e), it means that the person ranked i has chosen position j as his eth choice, n is the total number of personnel, i is the ranking of the personnel, p is the ranking weight coefficient, and v represents the volunteer weight coefficient.
[0008] In some embodiments of the present disclosure, constructing a weight matrix of personnel and positions based on the personnel ranking information and the voluntary application information of the positions further includes: determining the objective function of personnel position allocation as: Among them, wij is a decision variable, where wij=1 means that person i is assigned to position j, and wij=0 means that person i is not assigned to position j. x and y are the vertex sets of the person and position sets, respectively. g ij is the edge weight between vertex i of set x and vertex j of set y.
[0009] In some embodiments of the present disclosure, the constraints of the scalar function are: Indicates that each person i is assigned to a position; Indicates that each position j is assigned to one person.
[0010] In some embodiments of the present disclosure, the weighted optimal solution of the personnel position weight matrix is calculated based on the KM algorithm, and the weighted matching scheme is determined, including: setting the initial top mark of each vertex of the personnel set to p·(ni)·v(3-e), and setting the initial top mark of each vertex of the position set to 0; iteratively searching the augmenting path, and when an augmenting path is found, flipping the matching on the path; calculating on the augmenting path all the points in the bipartite graph and the edges between pairs of points satisfying l x +l y =G eThe equal subgraph of G, where lx represents the top label of vertex x in the personnel set, ly represents the top label of vertex y in the position set, e Represents the weight of the edge between any two points in the two sets; and when all nodes of the two sets are matched in pairs and the sum of the weights between each pair of nodes is the largest, the equal subgraph is confirmed to be the maximum weight perfect match, the calculation process ends, and the weighted matching solution is output.
[0011] In some embodiments of the present disclosure, the weighted matching scheme is verified according to the voluntary application information of the position, and the maximum weight matching result is output after the verification passes, including: checking whether there is a mismatch between people and positions or a mismatch between positions and volunteers according to the voluntary application information of the position; when there is a mismatch between people and positions or a mismatch between positions and volunteers, prompting an abnormal result, and adjusting the weight coefficient of the personnel position weight matrix based on a manual input interface; and recalculating the weighted matching scheme based on the KM algorithm based on the adjusted weight coefficient, until the maximum weight matching result is output after the verification passes.
[0012] In some embodiments of the present disclosure, checking whether there is a mismatch between people and positions or a mismatch between positions and volunteers based on the voluntary application information of the positions includes: checking whether each person has been assigned a position; checking whether there are any vacant positions; and checking whether each person's position is in line with their volunteer order.
[0013] According to a second aspect of the present disclosure, a device for directional personnel position allocation is provided. The device includes at least one processor; and at least one memory storing a computer program. When the computer program is executed by at least one processor, the device: constructs a weight matrix of personnel and positions based on the ranking information of the personnel and the voluntary application information of the positions; calculates the weighted optimal solution of the personnel position weight matrix based on the KM algorithm to determine the weighted matching scheme; and verifies the weighted matching scheme based on the voluntary application information of the positions, and outputs the maximum weight matching result after the verification passes.
[0014] In some embodiments of the present disclosure, when the computer program is executed by at least one processor, the device constructs a weight matrix of personnel and positions through the following operations: obtaining basic information of the personnel to be assigned and the positions to be assigned, the basic information of the personnel including ranking information, and the basic information of the positions including position volunteer application information; determining the ranking weight coefficient based on the ranking information, and determining the position weight coefficient based on the volunteer application information; and combining the ranking weight coefficient and the position weight coefficient to determine the matching relationship between personnel and positions, and generating a weight matrix of personnel and positions.
[0015] In some embodiments of the present disclosure, when the computer program is executed by at least one processor, the device constructs a weight matrix of personnel and positions by performing the following operations: dividing the personnel and positions to be assigned into two sets, assigning n positions to n trainees according to the rule that one person is assigned to one position and each trainee applies for a maximum of three positions, and generating a weight matrix as follows: G = {g ij},i,j=1,2......n; when g ij = -∞, indicating that the person ranked i did not apply for the jth position; when g ij =p·(ni)·v(3-e), which means that the person ranked i chooses position j as his / her e-th choice, n is the total number of people, i is the person's ranking, p is the ranking weight coefficient, and v is the volunteer weight coefficient.
[0016] In some embodiments of the present disclosure, when the computer program is executed by at least one processor, the device determines the objective function of personnel position allocation by the following operations: Among them, w ij is the decision variable, where w ij =1 means that person i is assigned to position j, w ij = 0 means that person i is not assigned to position j, x and y are the vertex sets of the person and position sets respectively, g ij is the edge weight between vertex i of set x and vertex j of set y. The constraints of the objective function are: Indicates that each person i is assigned to a position; Indicates that each position j is assigned to one person.
[0017] In some embodiments of the present disclosure, when the computer program is executed by at least one processor, the device determines the weighted matching scheme by the following operations: setting the initial top mark of each vertex of the personnel set to p·(ni)·v(3-e), and setting the initial top mark of each vertex of the position set to 0; iteratively searching for augmenting paths, and when an augmenting path is found, flipping the matching on the path; calculating on the augmenting path all the points in the bipartite graph and the edges between pairs of points satisfying l x +l y =G e The equal subgraph of G, where lx represents the top label of vertex x in the personnel set, ly represents the top label of vertex y in the position set, e Represents the weight of the edge between any two points in the two sets; and when all nodes of the two sets are matched in pairs and the sum of the weights between each pair of nodes is the largest, the equal subgraph is confirmed to be the maximum weight perfect match, the calculation process ends, and the weighted matching solution is output.
[0018] In some embodiments of the present disclosure, when the computer program is executed by at least one processor, the device causes the device to output the maximum weight matching result through the following operations: checking whether there is a mismatch between people and positions or a mismatch between positions and volunteers based on the voluntary application information of the position; when there is a mismatch between people and positions or a mismatch between positions and volunteers, prompting that the result is abnormal, and adjusting the weight coefficient of the personnel position weight matrix based on the manual input interface; and recalculating the weighted matching plan based on the KM algorithm based on the adjusted weight coefficient until the maximum weight matching result is output after passing the verification.
[0019] In some embodiments of the present disclosure, when the computer program is executed by at least one processor, the device causes the device to check whether there is a mismatch between people and positions or a mismatch between positions and preferences by performing the following operations: checking whether each person has been assigned a position; checking whether any positions are vacant; and checking whether each person's position is in line with their preference order.
[0020] According to a third aspect of the present disclosure, a computer-readable storage medium storing a computer program is provided, wherein the computer program, when executed by a processor, implements the steps of the method for directional personnel position allocation according to the first aspect of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings of the embodiments will be briefly described below. It should be noted that the drawings described below only relate to some embodiments of the present disclosure, but are not intended to limit the present disclosure, wherein:
[0022] Figure 1 An exemplary flow chart showing a method 100 for allocating targeted personnel positions according to an embodiment of the present disclosure;
[0023] Figure 2 An exemplary flow chart of calculating the maximum weight matching scheme of personnel positions based on the KM algorithm according to an embodiment of the present disclosure is shown;
[0024] Figure 3 It is a schematic block diagram of a device 300 for allocating personnel positions according to an embodiment of the present disclosure.
[0025] It should be noted that the elements in the drawings are schematic and not drawn to scale. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the described embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative work also fall within the scope of protection of the present disclosure.
[0027] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those skilled in the art to which the subject matter of the present disclosure belongs. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meanings in the context of the specification and the relevant art, and will not be interpreted in an idealized or overly formal form unless otherwise explicitly defined herein. In addition, terms such as "first" and "second" are only used to distinguish one component (or a portion of a component) from another component (or another portion of a component).
[0028] For the targeted personnel job allocation tasks in certain specific industries, it is necessary to comprehensively consider the personnel ranking and volunteer weight issues. The present invention proposes a targeted personnel job allocation method and device, which utilizes the efficiency advantage of the Kuhn-Munkres algorithm (KM algorithm) in weighted calculation to optimize the job allocation problem. In the case of weighted calculation, it can better adapt to the timeliness and accuracy requirements of personnel-job allocation work, so that job allocation is more in line with the actual needs and expectations of personnel. Figure 1 An exemplary flow chart of a method 100 for allocating targeted personnel positions according to an embodiment of the present disclosure is shown.
[0029] exist Figure 1 In block S102, a weight matrix of personnel and positions is constructed according to the ranking information of the personnel and the voluntary application information of the positions.
[0030] According to an embodiment of the present disclosure, basic information of personnel to be assigned can be collected and maintained, usually including the personnel's name, education, experience, skills, professional qualifications, personal wishes, ranking and other information. The ranking information of personnel is usually sorted according to factors such as grades and abilities. Define and maintain basic information of positions to be assigned, such as the skills, experience, education requirements, work content, job responsibilities, number limits and other requirements required for the positions. Each person can apply for a position according to personal wishes. Each trainee can apply for three positions, namely the first choice, the second choice and the third choice, and can obtain the position volunteer application information.
[0031] Then, the ranking weight coefficient is determined based on the ranking information, and the position weight coefficient is determined based on the volunteer application information. The ranking weight coefficient p is determined based on the personnel's ranking, that is, the higher the ranking of the personnel, the higher the priority of the position. Since each person has a different volunteer weight for the position, it is necessary to adjust the position weight according to the personnel's personal volunteer situation. The volunteer weight coefficient v is calculated based on the personnel's volunteer order (such as first volunteer, second volunteer, etc.). The higher the volunteer order, the greater the volunteer weight coefficient.
[0032] The task of allocating personnel and positions can be converted into a bipartite graph problem, and the ultimate goal is to achieve the optimal allocation of personnel and positions by maximizing the weight value of the matching edges.
[0033] gij represents the weight between the i-th ranked person i and the j-th position. e represents that the position is the e-th choice of the person (e=1, 2, 3). In one embodiment of the present disclosure, for each pairing of a person and a position, the weight value gij is constructed as follows:
[0034] When ij = -∞, indicating that the person has not applied for the position, so the possibility of the pairing is not considered. ij =p·(ni)·v(3-e), indicating that person i chooses position j as his e-th choice (the weight is calculated based on the person's ranking and the choice), n is the total number of people, i is the person's ranking, the larger the ni, the greater the weight, v(3-e) represents the weight of the choice, and the weight gradually decreases as the order of the choice increases. In this way, a weighted matching matrix is established between each person and each position. The weight matrix G is used to represent the matching relationship between people and positions. Each element g of the weight matrix G is ij It represents the matching value between personnel and positions. Combined with personnel ranking and volunteer priority, the allocation of each position is not just a simple matching problem, but an allocation problem with certain priorities and preferences.
[0035] Assume there are personnel A, B, C, positions 1, 2, 3, and the personnel ranking and volunteer information are as follows:
[0036] Personnel A's ranking: Position 1 ranks 1, Position 2 ranks 2, Position 3 ranks 3, Volunteer order: Position 1> Position 2> Position 3
[0037] Personnel B's ranking: Position 1 ranks 2nd, Position 2 ranks 3rd, Position 3 ranks 1st, volunteer order: Position 3> Position 1> Position 2
[0038] Personnel C's ranking: Position 1 ranks 3rd, Position 2 ranks 1st, Position 3 ranks 2nd, volunteer order: Position 2> Position 3> Position 1
[0039] Then the final weight matrix may be: The personnel position weight matrix reflects the ranking and volunteer priority of personnel.
[0040] According to an embodiment of the present disclosure, the personnel-position allocation task is converted into a bipartite graph calculation method using the KM algorithm, and the personnel and positions to be allocated are divided into two sets. The objective function of personnel-position allocation is determined as That is, maximize the total weight of the match between personnel and positions, that is, maximize the sum of the matching edge weights, w ijis the decision variable, where w ij =1 means that person i is assigned to position j, w ij = 0 means that person i is not assigned to position j, x and y are the vertex sets of people and positions respectively, g ij is the edge weight between vertex i of set x and vertex i of set y; the constraint of the objective function is that each person i must be assigned to a position: Each position j must be assigned to a person:
[0041] Then, refer to Figure 1 As shown, in box S104, the weighted optimal solution of the personnel position weight matrix is calculated based on the KM algorithm to determine the weighted matching solution.
[0042] Figure 2 An exemplary flow chart of calculating the maximum weight matching scheme of personnel positions based on the KM algorithm according to an embodiment of the present disclosure is shown. Figure 2 As shown in the figure, in the bipartite graph, the personnel and positions to be assigned are divided into two sets, namely the personnel set X and the position set Y. The KM algorithm first sets the initial top mark of each vertex of the personnel set X to p·(ni)·v(3-e), where p is the ranking weight coefficient, (ni) is the personnel ranking inversion, ensuring that the higher the ranking, the higher the top mark, and v is the volunteer weight coefficient, indicating the priority of the e-th volunteer, 1 is the first choice, 2 is the second choice, and 3 is the third choice. The initial top mark of each vertex in the position set is set to 0, that is, all positions have no preference at the beginning. The top mark represents the potential value of a vertex, that is, the relative importance of a person to a position.
[0043] The KM algorithm gradually approaches the optimal match by continuously adjusting the top labels and finding augmenting paths. The key idea is: in the matching process, by adjusting the top labels, the difference between the sum of the top labels and the weight of the edge is gradually reduced, and all points in the X set are matched with points in the Y set in pairs, and the sum of the weights between each pair of points is maximized.
[0044] Iterate the search for augmenting paths, and when an augmenting path is found, flip the matching on the path. An augmenting path is a path that starts from a node in X, passes through a series of unmatched edges (alternating edges) to an unmatched node in the Y set, and finally flips the matching through the reverse path. Flipping the matching can increase the quality of the current matching. The flipping operation means that all matching edges on the path reverse their states: if an edge was a matching edge before, it will become an unmatched edge; if an edge was an unmatched edge, it will become a matching edge.
[0045] On the augmenting path, adjust the top marks of the personnel set and the position set so that l x +ly ≥G e , where lx represents the top label of vertex x in the personnel set, ly represents the top label of vertex y in the position set, G e Represents the weight of the edge between any two points in the two sets. By continuously adjusting the top labels of the nodes in the X and Y sets, iteratively searching for augmenting paths and flipping them, we can calculate the edges between pairs of points in the bipartite graph that satisfy l. x +l y =G e , thereby continuously approaching the maximum weight matching. Finally, when all nodes of the two sets are matched in pairs and the sum of the weights between each pair of nodes is the largest, the weighted matching scheme is determined.
[0046] The time complexity of the KM algorithm is O(n 3 ), where n is the number of people (or positions), and the space complexity is O(n 2 ), which is mainly used to store weight matrices and top labels. By adjusting the top labels and continuously searching for augmenting paths, the KM algorithm can effectively solve the maximum weight matching problem.
[0047] Although the KM algorithm will select the best position for each person, it does not mean that it will perfectly match the order of each person's preferences. In this case, there may be a situation where the position allocation does not match the preferences. Therefore, after the algorithm is run, it is necessary to check whether there is a mismatch between people and positions or a mismatch between positions and preferences based on the voluntary application information of the position.
[0048] return Figure 1 In block S106, the weighted matching scheme is verified according to the voluntary application information of the position, and the maximum weight matching result is output after the verification passes.
[0049] Reference Figure 2 As shown in the figure, the weighted matching scheme is verified according to the job volunteers. The specific verification steps include: checking whether each person has been assigned a job; checking whether there are any vacant jobs (unassigned); checking whether each person's job is in line with their volunteer order (i.e., first choice, second choice, etc.). When there is a mismatch between people and jobs or job volunteers do not match, the early warning mechanism is triggered to indicate an abnormality, and the output of the algorithm is affected by adjusting the weight coefficients in the weight matrix (such as adjusting the priority of the volunteer order, or re-evaluating the job matching degree). The adjusted weight matrix can be input into the KM algorithm again to recalculate the job allocation plan until all constraints are met.
[0050] Taking 100 people and 100 positions to be assigned as an example, under the same goal of pursuing the optimal solution, when using the embodiment of the disclosure to perform personnel position assignment, the time complexity is O(n^3), where n is the number of vertices. The parameters only need to configure the ranking and volunteer priority weight according to the expected conclusion, and the optimal solution can be obtained in milliseconds to seconds.
[0051] Figure 3 is a schematic block diagram of a device 300 for allocating personnel positions according to an embodiment of the present disclosure. Figure 3 As shown, the device 300 may include a processor 310 and a memory 320 storing a computer program. When the computer program is executed by the processor 310, the device 300 may perform the following operations: Figure 1 The steps of the method 100 for allocating personnel to a specific position are shown. In one example, the device 300 may be a computer device or a cloud computing node, so that the device 300 can construct a weight matrix of personnel and positions based on the ranking information of the personnel and the voluntary application information of the positions; then, the device 300 can calculate the weighted optimal solution of the personnel position weight matrix based on the KM algorithm to determine the weighted matching scheme; and verify the weighted matching scheme based on the voluntary application information of the positions, and output the maximum weight matching result after the verification is passed.
[0052] In some embodiments of the present disclosure, the device 300 can obtain basic information of personnel to be assigned and positions to be assigned, the basic information of personnel including ranking information, and the basic information of positions including position volunteer application information; determine the ranking weight coefficient based on the ranking information, and determine the position weight coefficient based on the volunteer application information; and combine the ranking weight coefficient and the position weight coefficient to determine the matching relationship between personnel and positions, and generate a weight matrix for personnel and positions.
[0053] In some embodiments of the present disclosure, the device 300 can divide the personnel and positions to be assigned into two sets, and assign n positions to n trainees according to the rule that one person is assigned to one position and each trainee applies for a maximum of three positions, and generate a weight matrix: G = {g ij},i,j=1,2......n; when g ij = -∞, indicating that the person ranked i did not apply for the jth position; when g ij =p·(ni)·v(3-e), which means that the person ranked i chooses position j as his / her e-th choice, n is the total number of people, i is the person's ranking, p is the ranking weight coefficient, and v is the volunteer weight coefficient.
[0054] In some embodiments of the present disclosure, the device 300 may set the objective function of personnel position allocation to Among them, w ij is the decision variable, where w ij=1 means that person i is assigned to position j, w ij = 0 means that person i is not assigned to position j, x and y are the vertex sets of the person and position sets respectively, g ij is the edge weight between vertex i of set x and vertex j of set y; the constraint of the objective function is: Indicates that each person i is assigned to a position; Indicates that each position j is assigned to one person.
[0055] In some embodiments of the present disclosure, in order to determine the weighted allocation scheme, the device 300 may set the initialization top mark of each vertex of the personnel set to p·(ni)·v(3-e), and the initialization top mark of each vertex of the position set to 0; iteratively search the augmenting path, and when an augmenting path is found, flip the matching on the path; calculate on the augmenting path all the points in the bipartite graph and the edges between pairs of points satisfy l x +l y =G e The equal subgraph of G, where lx represents the top label of vertex x in the personnel set, ly represents the top label of vertex y in the position set, e Represents the weight of the edge between any two points in the two sets; when all nodes of the two sets are matched in pairs and the sum of the weights between each pair of nodes is the largest, the equal subgraph is confirmed to be the maximum weight perfect match, the calculation process ends, and the weighted matching solution is output.
[0056] In some embodiments of the present disclosure, the device 300 can check whether there is a mismatch between people and positions or a mismatch between positions and volunteers based on the voluntary application information of the position; when there is a mismatch between people and positions or a mismatch between positions and volunteers, it will prompt that the result is abnormal, and adjust the weight coefficient of the personnel position weight matrix based on the manual input interface; and recalculate the weighted matching plan based on the KM algorithm based on the adjusted weight coefficient until the maximum weight matching result is output after passing the verification.
[0057] In some embodiments of the present disclosure, the device 300 checks whether each person is assigned a position; checks whether there are any vacant positions; and checks whether each person's position is in line with their preferred order, so as to determine whether there is a mismatch between people and positions or a mismatch between position preferences.
[0058] In an embodiment of the present disclosure, the processor 310 may be, for example, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a processor based on a multi-core processor architecture, etc. The memory 320 may be any type of memory implemented using data storage technology, including but not limited to random access memory, read-only memory, semiconductor-based memory, flash memory, disk storage, etc.
[0059] In addition, in the embodiment of the present disclosure, the apparatus 300 may also include an input device 330, such as a keyboard, a mouse, etc., for inputting basic personnel information and basic position information. In addition, the apparatus 300 may also include an output device 340, such as a display, etc., for outputting the maximum weight matching result.
[0060] In other embodiments of the present disclosure, a computer-readable storage medium storing a computer program is further provided, wherein the computer program can achieve the following when executed by a processor: Figure 1 The steps of the method 100 for allocating targeted personnel positions are shown.
[0061] To sum up, according to the embodiments of the present invention, the method and device for directional personnel position allocation utilize the efficiency advantage of the Kuhn-Munkres algorithm in weighted calculation of the optimal solution. By comprehensively considering information such as personnel ranking order and position volunteer priority, an authority matrix is constructed to solve the problems of complex parameters, difficult backtracking, and difficulty in determining the optimal solution in processing personnel position allocation problems. The final allocation plan can meet the dual high matching requirements of ranking and volunteer order, can effectively improve personnel satisfaction with the allocation results, and realize efficient and accurate personnel-position allocation work.
[0062] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the device and method according to multiple embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, a program segment or an instruction, and a part of the module, a program segment or an instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of special hardware and computer instructions.
[0063] Unless the context clearly indicates otherwise, the singular form of the words used herein and in the appended claims includes the plural and vice versa. Thus, when referring to the singular, the plural form of the corresponding term is generally included. Similarly, the words "comprise" and "include" are to be interpreted as inclusive rather than exclusive. Likewise, the terms "include" and "or" should be interpreted as inclusive unless such interpretation is expressly prohibited herein. Where the term "example" is used herein, particularly when it is located after a group of terms, the "example" is merely exemplary and illustrative and should not be considered exclusive or comprehensive.
[0064] Further aspects and scopes of adaptability become apparent from the description provided herein. It should be understood that various aspects of the present application can be implemented individually or in combination with one or more other aspects. It should also be understood that the description and specific embodiments herein are intended for purposes of illustration only and are not intended to limit the scope of the present application.
[0065] Several embodiments of the present disclosure are described in detail above, but it is obvious that those skilled in the art can make various modifications and variations to the embodiments of the present disclosure without departing from the spirit and scope of the present disclosure. The protection scope of the present disclosure is defined by the attached claims.
Claims
1. A method for allocating targeted personnel positions, characterized in that: include: According to the ranking information of personnel and the voluntary application information of positions, a weight matrix of personnel and positions is constructed; Based on the KM algorithm, the weighted optimal solution of the personnel position weight matrix is calculated to determine the weighted matching solution; as well as The weighted matching scheme is verified according to the voluntary application information of the position, and the maximum weight matching result is output after the verification passes.
2. The method for allocating targeted personnel positions according to claim 1, characterized in that: The weight matrix of personnel and positions is constructed according to the ranking information of personnel and the voluntary application information of positions, including: Obtaining basic information of the personnel to be assigned and the positions to be assigned, wherein the basic information of the personnel includes ranking information, and the basic information of the positions includes position volunteer application information; Determine a ranking weight coefficient according to the ranking information, and determine a position weight coefficient according to the volunteer application information; and The ranking weight coefficient and the position weight coefficient are combined to determine the matching relationship between personnel and positions, and generate a weight matrix of personnel and positions.
3. The method for allocating targeted personnel positions according to claim 2, characterized in that: The step of combining the ranking weight coefficient with the position weight coefficient to determine the matching relationship between personnel and positions and generating a weight matrix of personnel and positions includes: The personnel and positions to be assigned are divided into two sets. According to the rule that one person is assigned to one position and each trainee can apply for up to three positions, n positions are assigned to n trainees. The weight matrix generated is: G = {g ij },i,j=1,2......n; when g ij = -∞, indicating that the person ranked i did not apply for the jth position; when g ij =p·(ni)·v(3-e), which means that the person ranked i chooses position j as his / her e-th choice, n is the total number of people, i is the person's ranking, p is the ranking weight coefficient, and v is the volunteer weight coefficient.
4. The method for allocating targeted personnel positions according to claim 3, characterized in that: The step of constructing a weight matrix of personnel and positions based on the personnel ranking information and the voluntary application information of the positions also includes: The objective function for determining personnel position allocation is Among them, w ij is the decision variable, where w ij =1 means that person i is assigned to position j, w ij = 0 means that person i is not assigned to position j, x and y are the vertex sets of the person and position sets respectively, g ij is the edge weight between vertex i of set x and vertex j of set y.
5. The method for allocating targeted personnel positions according to claim 4, characterized in that: The constraint condition of the objective function is: ∑w ij =1, Indicates that each person i is assigned to a position; ∑w ij =1, Indicates that each position j is assigned to one person.
6. The method for allocating targeted personnel positions according to claim 3, characterized in that: The weighted optimal solution calculation of the personnel position weight matrix based on the KM algorithm to determine the weighted matching solution includes: Set the initialization top mark of each vertex of the personnel set to p·(ni)·v(3-e), and the initialization top mark of each vertex of the position set to 0; Iteratively search for augmenting paths. When an augmenting path is found, flip the matches on the path. Calculate the augmenting path that contains all the points in the bipartite graph and the edges between pairs of points satisfy l x +l y =G e , where lx represents the top label of vertex x in the personnel set, ly represents the top label of vertex y in the job set, G e represents the weight of the edge between any two points in the two sets; and When all nodes of the two sets are matched in pairs and the sum of the weights between the paired nodes is the largest, the equal subgraph is confirmed to be a maximum weight perfect match, the calculation process ends, and a weighted matching solution is output.
7. The method for allocating targeted personnel positions according to claim 1, characterized in that: The weighted matching scheme is verified according to the voluntary application information of the position, and the maximum weight matching result is output after the verification is passed, including: Check whether there is a mismatch between people and positions or whether the positions do not match the volunteers based on the voluntary application information of the positions; When there is a mismatch between personnel and positions or the positions do not match the volunteers, an abnormal result is prompted, and the weight coefficient of the personnel position weight matrix is adjusted based on the manual input interface; and The weighted matching scheme is recalculated based on the KM algorithm based on the adjusted weight coefficient until the maximum weight matching result is output after passing the verification.
8. The method for allocating targeted personnel positions according to claim 7, characterized in that: The above-mentioned checking whether there is a mismatch between people and positions or mismatch between positions and volunteers based on the voluntary application information of the positions includes: Check whether each person has been assigned a position; check whether any positions are vacant; and check whether each person's position is in the order of their preferences.
9. A device for allocating directional personnel positions, characterized in that: The device comprises: at least one processor; and at least one memory storing a computer program; Wherein, when the computer program is executed by the at least one processor, the device executes the steps of the method for directional personnel position allocation according to any one of claims 1 to 8.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the computer program implements the steps of the method for targeted personnel position allocation according to any one of claims 1 to 8.
Citation Information
Patent Citations
Data matching method and device, equipment and storage medium
CN115293131A
Method and system for post-typing soldier-fixing auxiliary decision-making
CN116090763A
Robot-task allocation method based on KM algorithm
CN117271080A
Matrix analysis-based man-post matching analysis method and system
CN118798837A