CN114638549A - Resource allocation method and system based on large-scale integer programming - Google Patents

Resource allocation method and system based on large-scale integer programming Download PDF

Info

Publication number
CN114638549A
CN114638549A CN202210500282.6A CN202210500282A CN114638549A CN 114638549 A CN114638549 A CN 114638549A CN 202210500282 A CN202210500282 A CN 202210500282A CN 114638549 A CN114638549 A CN 114638549A
Authority
CN
China
Prior art keywords
allocation
sub
resource
completion
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210500282.6A
Other languages
Chinese (zh)
Inventor
刘凯
陈然
刘子奇
华致刚
周俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210500282.6A priority Critical patent/CN114638549A/en
Publication of CN114638549A publication Critical patent/CN114638549A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes

Abstract

The disclosure provides a resource allocation method and system based on large-scale integer programming. The method comprises the following steps: receiving a resource allocation task and converting the resource allocation task into a large-scale integer programming problem; setting the overall target of the resource allocation task; defining a group of customers to be allocated based on the overall objective; dividing the large-scale integer programming problem into a plurality of sub-problems randomly and uniformly; solving the divided sub-problems to obtain a resource pre-allocation mode of each sub-problem; performing resource pre-allocation based on a resource pre-allocation mode of each sub-problem; the resource pre-allocation is evaluated to determine the completion of the overall objective, and if the completion of the overall objective is expected, resources are allocated to the customer base to be allocated according to the resource pre-allocation mode.

Description

Resource allocation method and system based on large-scale integer programming
Technical Field
The present disclosure relates generally to resource allocation, and more particularly to plan-based resource allocation.
Background
Currently, financial service providers need to manage the distribution of credit to tens of millions of customers by dozens of affiliated institutions. The credit assignment problem comprises tasks of new credit granting, old credit increase and the like, and the business target of the credit assignment problem can be summarized to meet the expected scale of the organization as far as possible while ensuring that the risk of each organization is controllable.
For example, in a single allocation, the service side defines a corresponding customer group (including a new customer and an old customer) to perform new customer credit granting or old customer submission. Each client has information such as the payment amount and bad payment amount which will be generated in a future period of time, and the information is provided by a corresponding estimation algorithm. In addition, the algorithm requires that each customer select an institution among their multiple candidate institutions for a crediting review. The risk and size of the final organization is determined by the depreciation risk and size of all customers that it has trusted.
The credit allocation problem is actually a large-scale resource allocation problem (i.e., allocating credit organizations to large-scale customers), which can be abstracted into a large-scale constrained integer programming problem. However, since the scale of decision variables of the problem is in the hundred million level, the decision space is very large, direct solution is difficult, and even if the solution can be obtained, the time consumption is unacceptable.
In view of the foregoing, it is desirable to provide an improved resource allocation method and system based on large-scale integer programming.
Disclosure of Invention
The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
The present disclosure provides a resource allocation method based on large-scale integer programming, which includes: receiving a resource allocation task and converting the resource allocation task into a large-scale integer programming problem; setting the overall target of the resource allocation task; defining a group of customers to be allocated based on the overall objective; dividing the large-scale integer programming problem into a plurality of sub-problems randomly and uniformly; solving the divided sub-problems to obtain a resource pre-allocation mode of each sub-problem; performing resource pre-allocation based on the resource pre-allocation mode of each sub-problem; and evaluating the resource pre-allocation to determine the completion degree of the total target, and if the completion degree of the total target is in accordance with expectation, allocating the resources to the client group to be allocated according to the resource pre-allocation mode.
In an embodiment of the present disclosure, the method further comprises: and dividing the customer group to be distributed into a plurality of customer subgroups corresponding to the plurality of subproblems.
In an embodiment of the present disclosure, the method further comprises: the overall goal is partitioned into a plurality of sub-goals corresponding to the plurality of sub-problems.
In an embodiment of the present disclosure, solving the partitioned sub-problems is performed in parallel by a distributed architecture.
In an embodiment of the present disclosure, evaluating the pre-allocation of resources to determine the completion of the overall goal further comprises: evaluating the completeness of the sub-targets corresponding to each sub-problem based on the resource pre-allocation; and summarizing the completion degrees of the sub targets to determine the completion degree of the total target.
In an embodiment of the present disclosure, the method further comprises: if the completion of the overall goal is not as expected, the resource pre-allocation pattern of one or more sub-problems is adjusted.
In an embodiment of the present disclosure, the resource allocation task includes a credit allocation task, and allocating the resource to the group of customers to be allocated includes allocating a credit authority to the group of customers to be allocated.
In one embodiment of the disclosure, the overall objective includes a target trust risk and a target trust size of the trust authority.
The present disclosure further provides a resource allocation system based on large-scale integer programming, including: the task receiving module is used for receiving the resource allocation task and converting the resource allocation task into a large-scale integer programming problem; a target setting module for setting the total target of the resource allocation task; the client group delineation module is used for delineating a client group to be distributed based on the total target; the dividing module is used for randomly and uniformly dividing the large-scale integer programming problem into a plurality of sub-problems; the distribution module is used for solving the divided sub-problems to obtain a resource pre-distribution mode of each sub-problem; performing resource pre-allocation based on a resource pre-allocation mode of each sub-problem; and evaluating the resource pre-allocation to determine the completion degree of the total target, and if the completion degree of the total target is in accordance with the expectation, allocating the resource to the client group to be allocated according to the resource pre-allocation mode.
The present disclosure also proposes a computer-readable storage medium storing a computer program executable by a processor to perform the aforementioned large-scale integer programming based resource allocation method.
The technical scheme disclosed by the invention adopts a segmentation algorithm to solve the problem of large-scale integer programming, converts the resource allocation problem of ten million levels into sub-problems of small scales one by one in a split mode, and solves the sub-problems in parallel through a distributed framework so as to improve the solving speed of the problems. In addition, because the segmentation of the client group by the algorithm is random and uniform, the solution result of the algorithm can be approximately equivalent to the global optimal solution of the original problem.
Drawings
The features, nature, and advantages of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. In the drawings, like reference numerals are used to designate corresponding parts throughout the several views. It is noted that the drawings described are only schematic and are non-limiting. In the drawings, the size of some of the elements may be exaggerated and not drawn on scale for illustrative purposes.
Fig. 1 illustrates an exemplary flowchart of a resource allocation method based on large-scale integer programming according to an embodiment of the present disclosure.
Fig. 2 shows a schematic diagram of a resource allocation scheme based on large-scale integer programming according to an embodiment of the present disclosure.
Fig. 3 shows a schematic diagram of a resource allocation architecture based on large-scale integer programming according to an embodiment of the present disclosure.
Fig. 4 shows a business flow diagram of a new guest credit granting according to an embodiment of the disclosure.
FIG. 5 illustrates a business flow diagram for organizational target adjustment, according to an embodiment of the disclosure.
FIG. 6 shows a block diagram of a resource allocation system based on large scale integer programming according to an embodiment of the disclosure.
FIG. 7 shows a block diagram of an apparatus including a large scale integer programming based resource allocation system according to an embodiment of the present disclosure.
Detailed Description
For the purpose of promoting a better understanding of the objects, aspects and advantages of the present disclosure, reference is made to the following detailed description taken in conjunction with the accompanying drawings. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the described example embodiments. It will be apparent, however, to one skilled in the art, that the described embodiments may be practiced without some or all of these specific details. In other exemplary embodiments, well-known structures have not been described in detail to avoid unnecessarily obscuring the concepts of the present disclosure. It should be understood that the specific embodiments described herein are merely illustrative of the disclosure and are not intended to limit the disclosure. Meanwhile, the various aspects described in the embodiments may be arbitrarily combined without conflict.
For convenience, aspects of the disclosure are illustrated in much of the description in connection with a trust allocation scenario in the financial domain. It should be noted, however, that the resource allocation techniques of the present disclosure may be applied to allocation problems in various other fields.
As described above, the credit allocation problem can be abstracted to a large-scale constrained integer programming problem. For such a large-scale integer programming problem, the existing technical scheme is to solve by using a greedy algorithm.
Greedy algorithm (also called greedy algorithm) is a common method for finding the optimal solution problem. Such algorithms generally divide the solution process into several steps, each of which applies the greedy principle, selects the best/optimal choice (the locally most favorable choice) in the current state, and expects the final stacked result to be the best/optimal solution.
The greedy algorithm is characterized by being executed step by step, and making optimal selection according to certain optimization measure based on the current situation without considering various possible global situations, thereby saving a great deal of time consumed for exhausting all possible situations. Although it is guaranteed that a locally optimal solution can be obtained in each step, each decision of the greedy algorithm is selected based on the current situation and according to a certain optimal principle, and other possible situations are not considered as a whole, so that the obtained global solution is not necessarily optimal. That is, the greedy algorithm is performed in stages, each stage being determined based on the current situation, regardless of the subsequent situations.
Specifically, for the problem of client credit allocation, a greedy strategy needs to be designed to omit the decision-making of each client in turn. Aiming at the problem, the greedy strategy is to maximize the expected scale completion degree of the whole mechanism on the premise of meeting the risk of the mechanism. And sequentially deciding the credit sending and reviewing mechanism of each client according to the greedy omission. It can be seen that the greedy algorithm has the following disadvantages:
1) only local optimum can be achieved, and global optimum cannot be achieved.
It can be seen from the design of the greedy algorithm that each step of decision of the algorithm is made based on the influence of the current single-step customer allocation situation on the risk and the completion degree of the organization, and whether the global optimal effect can be achieved actually has a direct relation with the sequence of the decided customers. Therefore, it is difficult for the greedy algorithm to achieve global optimality in terms of customer allocation decisions at the level of ten million.
2) The solving speed is hard to guarantee.
Greedy algorithms can only apply greedy policies to decide on the credit allocation of a client at a time. Even if the distributed scheme is deployed, the overhead condition of resources needs to be considered, the serial solution is considered when a plurality of clients are deployed on one resource machine, and after each decision, the update calculation of the mechanism state needs to be carried out, so the solution speed is slow.
In view of this, the technical solution of the present disclosure applies a segmentation algorithm to solve the problem. Specifically, all clients to be distributed are divided, a large-scale integer programming problem is divided into a series of small-scale subproblems, a distributed framework is applied to solve the subproblems, and finally, an approximate optimal solution of the original problem is obtained through summarization. And evaluating the effect based on the obtained distribution result, and if the effect is not abnormal, performing submission of credit distribution according to the output result. In this way, the efficiency of measurement and calculation is greatly improved, and meanwhile, the whole distribution decision is more intelligent and reasonable, and the reusability of the algorithm is stronger.
Fig. 1 illustrates an exemplary flowchart of a resource allocation method 100 based on large-scale integer programming according to an embodiment of the disclosure.
The method 100 begins at step 102. At step 102, a resource allocation task is received and converted into a large scale integer programming problem.
In the credit allocation scenario, the resource allocation task includes a credit allocation task. Credentialing generally refers to the direct funding of a commercial bank to a non-financial institution customer. The credit allocation tasks can comprise new credit, old credit, and the like. In a single credit assignment task, it is necessary to select an appropriate credit authority among its multiple candidate credit authorities for each customer in the group of customers to be assigned.
At step 104, an overall goal for the resource allocation task is set.
In a credit allocation scenario, the overall objective of the resource allocation task may include business objectives of the credit authority, such as target credit risk and target credit size. The target credit scale represents the size of credit expected to be achieved by the institution, and the target credit risk represents the risk expected to be tolerated by the institution. In actual implementation, different data indicators may be used to define the target credit scale and target credit risk of an organization. For example, the target credit extension scale of the organization may be defined by the target balance, the stock balance, and the like, and the target credit extension risk of the organization may be defined by the target balance fraction, the target support fraction, and the like.
At step 106, a customer group to be assigned is defined based on the overall goal.
In a new customer credit service, an organization may delineate potential customers as a group of customers to be distributed based on set service objectives (e.g., target balances).
In some implementations, all of the customer's basic information (e.g., the customer's basic information, historical credit records, etc.) may be collected and stored. After setting the business objectives of the organization, potential customers meeting certain conditions (e.g., no bad historical credit records) may be identified from all customers based on the business objectives to obtain a group of customers to be assigned.
In the institution target adjustment service, if an institution increases its credit scale (for example, increases a loan balance) during actual operation, a part of clients may be selected from clients already credited by other institutions as a group of clients to be allocated, and the adjusted credit scale may be satisfied by receiving a part of loan funds of the group of clients.
At step 108, the large scale integer programming problem is randomly and uniformly partitioned into a plurality of sub-problems.
By splitting the original large-scale problem into multiple small-scale sub-problems, the speed of solving the problem can be increased.
In an embodiment of the present disclosure, the customer group to be allocated may be further divided into a plurality of customer subgroups corresponding to the plurality of sub-problems, and the overall goal of the resource allocation task is divided into a plurality of sub-goals corresponding to the plurality of sub-problems.
In this way, the entire customer credit allocation problem may be split into multiple sub-problems, for each sub-problem only the allocation scheme for the customer sub-group in that sub-problem needs to be solved.
For example, assuming that the customer group to be distributed includes 1 million customers, the 1 million customers may be evenly divided into, for example, 1000 customer subgroups, where each customer subgroup includes 1 million customers.
As another example, assuming that the target balance of an organization is 10 billion and there are 1000 sub-problems after splitting, the target balance that each corresponding sub-problem needs to complete (i.e., the business sub-targets for the sub-problem) may be 10 billion/1000 = 100 ten thousand.
It should be noted that the above described random uniform partitioning of customer base and/or organizational business objectives is merely exemplary and not limiting. In some implementations, only the customer base may be split without splitting the business objectives of the organization. In some implementations, a heterogeneous partitioning approach may be employed to partition the business objectives of a customer base and/or organization.
For example, a customer base may be obtained by non-uniformly partitioning the customer base. For example, the customers in the customer group may be roughly classified in advance (e.g., based on basic information of the customers, historical credit records, etc.), and the customer group may be divided based on the categories of the customers so that the customers of the same category are divided into the same customer subgroup. Similarly, the business targets of the organization can be non-uniformly divided to obtain the sub-targets of each business. For example, the business objectives may be segmented based on the size of each customer subgroup (e.g., the number of customers in the customer subgroup) such that each business sub-objective corresponds to the size of each customer subgroup. In some embodiments, the business objectives may be segmented in the same manner as the customer base. In an alternative embodiment, the business objectives may be segmented differently than the customer base.
At step 110, the partitioned sub-problems are solved to obtain a resource pre-allocation pattern for each sub-problem.
Since the decision space scale of the sub-problem is greatly reduced relative to the original problem, linear relaxation of the 0/1 decision variables of the original problem can invoke a linear solver to solve the problem in a fast approximation manner.
In particular, when abstracting the original resource allocation problem into an integer programming problem, the following decision variables may be set
Figure DEST_PATH_IMAGE002
The value of (A) is as follows:
Figure DEST_PATH_IMAGE004
i.e. the decision variables of the original problem
Figure 279736DEST_PATH_IMAGE002
Can only take values of 0 or 1. Linear relaxation refers to replacing the constraint that the decision variable must be 0 or 1 with the constraint that the decision variable belongs to the interval [0, 1 ]]Is less constrained. After the constraint that the decision variable must be 0 or 1 is removed, the problem can be simplified and the solution speed can be increased.
The purpose of linear relaxation is to provide a lower bound to the integer programming problem, since the number of solutions to linear programming is greater than that to integer programming, the optimal solution to linear relaxation is often better than to integer programming itself. For maximization problems, linear relaxation can give an upper bound to the problem; whereas for minimization problems, linear relaxation can give a lower bound to the problem. Any integer programming target value will have a lower bound, and the exact range of the optimal solution can be obtained by increasing the lower bound and decreasing the upper bound. If the upper and lower bounds are the same, the optimal solution to the problem can be obtained. In this way, an approximately optimal solution to the original problem can be obtained by an approximate solution to the linear relaxation.
In an embodiment of the present disclosure, solving the partitioned sub-problems is performed in parallel by a distributed architecture. Because the sub-problems of random division are independent, a distributed scheme can be adopted for solving, and therefore the calculation efficiency is greatly improved.
At step 112, a resource pre-allocation is performed based on the resource pre-allocation pattern of each sub-question. In particular, resources can be pre-allocated to each customer in each sub-question according to its resource pre-allocation pattern.
At step 114, the resource pre-allocation is evaluated to determine the completion of the overall goal, and if the completion of the overall goal is expected, resources are allocated to the customer base to be allocated according to the resource pre-allocation schema.
In an embodiment of the present disclosure, evaluating the pre-allocation of resources to determine the completion of the overall goal further comprises: evaluating the completeness of the sub-targets corresponding to each sub-problem based on the resource pre-allocation; and summarizing the completion degrees of the sub targets to determine the completion degree of the total target.
In a credit assignment scenario, each customer in a customer subgroup may be pre-assigned to one or more of a plurality of establishments. Meanwhile, the forecasting team can forecast the information of each customer.
In one embodiment of the present disclosure, the customer's spending information includes a spending amount and a spending bad amount that the customer is expected to generate over a predetermined future time period (e.g., six months into the future, a year into the future, etc.). Based on the predicted customer spending information, the spending amount and the bad spending amount of all customers pre-assigned to an organization in the customer subgroup can be evaluated, so that the spending size and the spending risk of the customers can be obtained. The size of the credit and the risk of credit for the institution may be assessed based on the size of the affiliation and the risk of affiliation.
By comparing the assessed credit scale and credit risk of an organization with the business sub-goals of the organization in the sub-problem (e.g., target credit sub-scale and target credit sub-risk), the completion of each business sub-goal of the organization may be determined.
For example, assume that the business sub-target (e.g., target balance) of the organization in the sub-problem is 100 ten thousand. If the assessed trust size for the organization is 90 ten thousand, the completion of the business sub-targets for the organization is 90%. If the assessed trust size for the organization is 110 million, the completion of the business sub-goals for the organization is 110% (i.e., excess completion).
After all the sub-problems are solved, the completion degrees of all the sub-targets can be summarized. In an embodiment of the present disclosure, aggregating the completion of sub-targets in all sub-problems may include: and averaging the sub-target completion degrees in all the sub-problems to obtain the completion degree of the total target. For convenience of explanation, taking the original question as an example of being uniformly divided into two sub-questions, if the sub-target completion degree in one sub-question is 90%, and the sub-target completion degree in the other sub-question is 100%, the completion degree of the total goal is 95%. In different implementations, if the size spaces of the sub-questions are different, the sub-goal completions in all the sub-questions may be weighted averaged to obtain the completion of the overall goal.
For example, in a credit allocation scenario, if the business objective of an organization includes a target credit scale and a target credit risk, the aggregated target credit scale completion and the aggregated target credit risk completion can be obtained by aggregating the completion of each sub-objective in the sub-problem.
If the aggregated completions of the sub-goals all meet the respective completion thresholds, the completion of the overall goal may be considered as being in accordance with expectations. If the completion degrees of the sub-targets are not all satisfied with the respective completion degree threshold, the completion degree of the total target may be considered to be not as expected.
Assuming, again for example, that the target credit extension (e.g., target balance) of an organization is 10 billion and the target balance completion threshold preset by the organization is 90%, if the aggregated credit balance of the organization reaches 9 billion (10 billion)
Figure DEST_PATH_IMAGE006
90%), the aggregated target credit scale completion for that organization is considered to be expected. Similarly, assuming that the organization's target crediting risk (e.g., target balance reject rate) is 10% and the organization's preset target balance reject rate completion threshold is 80%, if the organization's aggregated balance reject rate does not exceed 12.5% (10%)
Figure DEST_PATH_IMAGE008
80%) that the aggregated target crediting risk completion for the organization is deemed to be as expected.
If the completion degree of the total target is in accordance with the expectation, resources can be allocated to the customer group to be allocated according to a resource pre-allocation mode.
If the completion of the overall goal is not as expected, the resource pre-allocation pattern for one or more sub-problems may be adjusted. For example, the resource pre-allocation pattern can be adjusted by performing data analysis on the corresponding allocation results, so that the completion degree of the total target obtained for the adjusted resource pre-allocation pattern can meet the expectation.
Continuing with the previous example, assuming that the aggregated target credit risk completeness for an organization is not as expected (e.g., the aggregated balance defect rate exceeds 12.5%), the credit risk for the organization may be reduced by cancelling the pre-allocation or adjusting the pre-allocation to other organizations (e.g., organizations with higher risk tolerance) for the customers with higher bad amounts of all customers pre-allocated to the organization so that the target credit risk completeness for the organization is as expected.
The method 100 adopts a segmentation algorithm to solve a large-scale integer programming problem, converts a resource allocation problem of a million level into subproblems of small scale one by one in a split mode, and solves the subproblems in parallel through a distributed framework, thereby improving the solving speed of the problem.
Fig. 2 shows a schematic diagram of a scheme 200 for resource allocation based on large-scale integer programming according to an embodiment of the present disclosure.
In the credit assignment scenario, the scheme flow for solving the client credit assignment problem by using the segmentation algorithm is roughly as follows:
1. starting an allocation task: the business side can trigger the measuring and calculating task after setting an adjusting target according to the expected risk and scale condition of the currently managed affiliation organization. The gauging tasks may be triggered automatically (e.g., based on preset conditions) or manually. In various embodiments of the present disclosure, the set target may include an organization balance completion, a target balance fraction defective, a target branch fraction defective, and the like.
2. And (3) delineating and distributing guest groups: and defining the passenger groups needing to be distributed based on the set targets.
3. Customer support prediction: the forecasting team can forecast the payment amount and bad money amount of all the clients, and the distribution algorithm can decide the distribution condition of each client based on the money amount forecasting values of the client dimensions.
4. Segmentation solution: and (4) carrying out segmentation solution on the full amount of the clients which are defined, wherein each sub-problem after segmentation only needs to solve the distribution condition of the clients. Accordingly, when solving the sub-problem after the division, data indexes such as target balance, stock balance, bad balance and the like of the organization in the sub-problem need to be divided. Since the decision space scale of the sub-problem is greatly reduced relative to the original problem, linear relaxation of the 0/1 decision variables of the original problem can invoke a linear solver to solve the problem in a fast approximation manner. Meanwhile, because each subproblem is independent, a distributed scheme can be adopted for solving.
5. And (3) evaluating the distribution result: evaluating the balance completion degree, the defective rate of the branch use and other conditions of the distribution scheme obtained based on the algorithm, and executing the distribution scheme if the balance completion degree, the defective rate of the branch use and other conditions are in accordance with expectations; if the data is not expected, the corresponding data analysis is needed to make an explanation and adjust accordingly.
Although the resource allocation of fig. 2 is illustrated in connection with a customer credit allocation scenario, it should be noted that the resource allocation techniques of the present disclosure may be applied to resource allocation issues in various other fields.
For example, in a money allocation scenario, charitable money from multiple charitable institutions may be donated to a group of users to be donated using the techniques of the present disclosure. Specifically, each charity may set its own target (e.g., target donation size, target donation region, etc.), and circle the user group to be donated accordingly. The segmentation algorithm of the present disclosure may then be used to solve for an allocation scheme and assign each user to a respective charity according to the allocation scheme.
In addition, in a medical facility assignment scenario, the techniques of this disclosure may also be used to assign a patient population to be treated to an appropriate medical facility. Specifically, each medical facility may set its own goal (e.g., a target number of patients, a target cure rate, etc.). The segmentation algorithm of the present disclosure may then be used to solve for an assignment scheme and assign each patient to a respective medical facility according to the assignment scheme.
It should also be noted that the above scenario flow of customer credit allocation is exemplary only and not limiting. In particular implementations, different distribution flows may be defined for different application scenarios (e.g., benevolence distribution scenario, medical institution distribution scenario).
Fig. 3 shows a schematic diagram of a resource allocation architecture 300 based on large-scale integer programming according to an embodiment of the present disclosure.
As shown in fig. 3, the resource allocation architecture 300 of the present disclosure includes four phases: a client group delineation phase, a segmentation phase, a pre-allocation phase, and an allocation phase.
In the customer group delineation phase, the received resource allocation tasks may be converted into a large-scale integer programming problem. Meanwhile, an overall target of the resource allocation task is set and a client group to be allocated is defined based on the overall target.
For example, the credit allocation task may be converted into a large-scale integer programming problem, and the overall goals (e.g., target credit size and target credit risk) of the organization may be set/adjusted, and the group of customers to be allocated may be defined based on the overall goals.
In the segmentation phase, the large-scale integer programming problem may be segmented into a plurality of sub-problems. By splitting, the original large-scale problem can be split into individual small-scale sub-problems. The problem solving speed can be increased because the decision space scale of the sub-problem is greatly reduced compared with the original problem.
In a preferred embodiment, the problem segmentation may be randomly uniform. Therefore, the final solution result can be approximately equivalent to the global optimal solution of the original problem.
When performing problem segmentation, the client group to be allocated may be segmented to obtain each client subgroup, and the general target of the resource allocation task may be segmented to obtain each sub-target. In a preferred embodiment, the segmentation of the customer base and the overall goal may be randomly uniform.
In the pre-allocation stage, the partitioned sub-problems can be solved to obtain a resource pre-allocation mode of each sub-problem, and pre-allocation is performed based on the resource pre-allocation mode of each sub-problem.
In a credit allocation scenario, pre-allocating based on a resource pre-allocation schema for each sub-issue may include pre-allocating customers in a customer sub-group in the sub-issue to one or more of a plurality of institutions.
In the allocation phase, the pre-allocation of resources may be evaluated to determine the completion of the overall goal and to determine whether the completion is as expected. If the completion of the overall goal is expected, resources may be allocated to the customer base to be allocated according to a resource pre-allocation pattern. If the completion of the overall goal is not as expected, the resource pre-allocation pattern for one or more sub-problems may be adjusted.
And finally, obtaining a resource allocation result. In the credit granting distribution scenario, each client may accept the subsequent credit granting service of the client by the assigned mechanism according to the credit granting distribution result.
Although fig. 3 shows four particular phases of the resource allocation architecture, it should be noted that this phase division is merely exemplary and not limiting.
In a credit assignment scenario, multiple real-world business problems (e.g., new customer credit, old customer quota, new affiliate management, organizational goal adjustment, etc.) may be integrated into a large-scale assignment problem. For a better understanding of the practical application of the present disclosure, the actual business problem in the credit allocation scenario is further described below with reference to fig. 4 and 5.
Fig. 4 shows a business flow diagram of a new guest credit granting according to an embodiment of the disclosure.
In the process of providing financial services for small micro-enterprises, financial service providers need to authorize and submit new entering customers to the distribution mechanism of the financial service providers. The institution accepts subsequent loan funds from the customer after the submission passes. In the distribution process of the credit of the new client, the payment amount and the risk condition which may be generated in the future of the client need to be considered, and the global optimization of the credit distribution needs to be realized by considering the debit balance which can be borne by each organization and the corresponding risk bearing capacity.
As shown in fig. 4, upon acquiring a new customer (e.g., a small micro-enterprise) to be distributed, a new customer trust service is initiated.
Service initialization may be performed first to obtain service related data. Specifically, during the initialization phase, the amount and risk of spending (e.g., bad spending) that the new customer will incur during a particular time period in the future (e.g., six months in the future, a year in the future, etc.) may be predicted. Also, for a plurality of institutions managed by the financial service provider, the loan balance and risk tolerance that each institution can accommodate may be determined.
Subsequently, the segmentation algorithm of the present disclosure may be employed to solve the new guest trust problem to obtain an allocation scheme.
Based on the allocation scheme, new customers to be allocated may be allocated to the respective organizations.
After the allocation plan is executed, the institution may accept subsequent loan funds for the new customer being allocated.
FIG. 5 is a business flow diagram illustrating organizational target adjustment according to an embodiment of the disclosure.
For the institutions managed by the fsp, each institution will have a corresponding target balance. In practice, there may be institutions that increase the applicable debit balance based on current financial considerations, i.e., adjust institution balance goals. The corresponding assignment task needs to select part of clients from the credit clients of other organizations to increase the credit of the organization to accept part of the loan funds of the part of clients, thereby meeting the balance scale adjusted by the organization.
As shown in fig. 5, an organization target adjustment service is initiated upon a target of an organization (e.g., one or more organizations) being adjusted (e.g., increasing a target balance of the organization).
Service initialization may be performed first to obtain service related data. Specifically, in the initialization phase, a customer to be distributed may be selected from trusted customers of other institutions. The amount and risk of spending may then be predicted for the customer to be allocated.
The segmentation algorithm of the present disclosure may then be employed to solve the organizational target adjustment problem to obtain an assignment scheme.
Based on the distribution scheme, customers to be distributed may be distributed to the organization to meet the balance scale adjusted by the organization.
After the distribution program is executed, the institution may receive a portion of the loan funds for the distributed customer. That is, in this scenario, the customer, if assigned to a first institution, may also be assigned to a second institution such that the second institution accepts a portion of the customer's loan funds to meet the second institution's adjusted objectives.
Fig. 4 and 5 illustrate example flows of actual traffic in a credit allocation scenario. By integrating the actual services into a large-scale distribution problem and solving the problem by using a global optimization algorithm, the overall distribution decision is more intelligent and reasonable, and the algorithm reusability is stronger.
Fig. 6 illustrates a block diagram of a large scale integer programming based resource allocation system 600 according to an embodiment of the present disclosure.
Referring to FIG. 6, the system 600 may include a task receiving module 602, a goal setting module 604, a customer group delineation module 606, a segmentation module 608, and an assignment module 610. Each of these modules may be connected to or communicate with each other, directly or indirectly, over one or more buses 612.
Task receiving module 602 may receive a resource allocation task and convert the resource allocation task into a large scale integer programming problem.
The goal setting module 604 may set an overall goal for the resource allocation task.
In an embodiment of the present disclosure, the resource allocation task may include a credit allocation task, and allocating the resource to the group of customers to be allocated may include allocating a credit authority to the group of customers to be allocated. In this embodiment, the overall goal of the resource allocation task may include a target trust risk and a target trust size for the trust authority.
The customer group delineation module 606 may delineate a customer group to be assigned based on an overall goal of the resource assignment task.
The partitioning module 608 can randomly and evenly partition the large-scale integer programming problem into a plurality of sub-problems.
In an embodiment of the present disclosure, the segmentation module 608 is further configured to: the customer base to be distributed is divided into a plurality of customer subgroups corresponding to the plurality of subproblems.
In an embodiment of the present disclosure, the segmentation module 608 is further configured to: the overall goal is partitioned into a plurality of sub-goals corresponding to the plurality of sub-questions.
The assignment module 610 is configured to: solving the divided sub-problems to obtain a resource pre-allocation mode of each sub-problem; performing resource pre-allocation based on the resource pre-allocation mode of each sub-problem; and evaluating the resource pre-allocation to determine the completion degree of the total target, and if the completion degree of the total target is in accordance with the expectation, allocating the resources to the client group to be allocated according to the resource pre-allocation mode.
In an embodiment of the present disclosure, the assignment module 610 is further configured to: evaluating the completeness of the sub-targets corresponding to each sub-question based on the resource pre-allocation; summarizing the completion degree of each sub-target to determine the completion degree of the total target
In an embodiment of the present disclosure, the assignment module 610 is further configured to: if the completion of the overall goal is not as expected, the resource pre-allocation pattern of one or more sub-problems is adjusted.
While specific modules of system 600 are shown in fig. 6, it should be understood that these modules are merely exemplary and not limiting. In different implementations, one or more of the modules may be combined, split, removed, or additional modules added. For example, in some implementations, the goal-setting module 604 and the customer group delineation module 606 may be combined into a single module. In some implementations, the allocation module 610 may be split into a pre-allocation module and a formal allocation module. In some implementations, the system 600 may also include additional modules.
Fig. 7 illustrates a block diagram of an apparatus 700 including a large scale integer programming based resource allocation system according to an embodiment of the disclosure.
The device illustrates a general hardware environment in which the present disclosure may be applied in accordance with exemplary embodiments of the present disclosure.
A device 700, which is an exemplary embodiment of a hardware device that may be applied to aspects of the present disclosure, will now be described with reference to fig. 7. Device 700 may be any machine configured to perform processing and/or computing, and may be, but is not limited to, a workstation, a server, a desktop computer, a laptop computer, a tablet computer, a Personal Digital Assistant (PDA), a smartphone, or any combination thereof.
Device 700 may include components that may be connected to bus 712 or in communication with bus 712 via one or more interfaces. For example, device 700 may include, among other things, a bus 712, a processor 702, a memory 704, an input device 708, and an output device 710.
The processor 702 may be any type of processor and may include, but is not limited to, a general purpose processor and/or a special purpose processor (e.g., special purpose processing chips), an intelligent hardware device (e.g., a general purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, discrete gate or transistor logic components, discrete hardware components, or any combination thereof). In some cases, the processor 702 may be configured to operate a memory array using a memory controller. In other cases, a memory controller (not shown) may be integrated into the processor 702. The processor 702 may be responsible for managing the bus and general processing, including the execution of software stored on memory. The processor 702 may also be configured to perform various functions described herein related to large scale integer programming based resource allocation. For example, the processor 702 may be configured to: receiving a resource allocation task and converting the resource allocation task into a large-scale integer programming problem; setting the total target of the resource allocation task; defining a group of customers to be allocated based on the overall objective; randomly and uniformly dividing the large-scale integer programming problem into a plurality of sub-problems; solving the divided sub-problems to obtain a resource pre-allocation mode of each sub-problem; performing resource pre-allocation based on the resource pre-allocation mode of each sub-problem; the resource pre-allocation is evaluated to determine the completion of the overall objective, and if the completion of the overall objective is expected, resources are allocated to the customer base to be allocated according to the resource pre-allocation mode.
The memory 704 may be any storage device that can implement data storage. The memory 704 may include, but is not limited to, a magnetic disk drive, an optical storage device, a solid state memory, a floppy disk, a flexible disk, a hard disk, a magnetic tape or any other magnetic medium, an optical disk or any other optical medium, a ROM (read only memory), a RAM (random access memory), a cache memory and/or any other memory chip or cartridge, and/or any other medium from which a computer can read data, instructions and/or code. The memory 704 may store computer-executable software 706 comprising computer-readable instructions that, when executed, cause the processor to perform various functions described herein related to large-scale integer programming based resource allocation.
Input device 708 may be any type of device that may be used to input information.
Output device 710 may be any type of device for outputting information. In one scenario, output device 710 may be any type of output device that can display information.
According to the method, the resource allocation problem is abstracted into the large-scale integer programming problem, the partitioning algorithm is designed, the large-scale integer programming problem is approximately solved through a distributed deployment scheme, the solving speed is greatly improved, and the allocation result of the algorithm is basically close to the global optimum.
In addition, the method integrates a plurality of actual service problems (such as new customer credit, old customer quota improvement, newly-added affiliation management, institution target adjustment and the like) in a credit allocation scene into a large-scale allocation problem, and solves the problem through a global optimization algorithm, so that the overall allocation decision is more intelligent and reasonable, and the algorithm reusability is stronger. From the evaluation effect of actual business, the whole measuring and calculating process is maintained at about 40min, and the measuring and calculating efficiency is greatly improved.
The detailed description set forth above in connection with the appended drawings describes examples and is not intended to represent all examples that may be implemented or fall within the scope of the claims. The terms "example" and "exemplary" when used in this specification mean "serving as an example, instance, or illustration," and do not mean "superior or superior to other examples.
Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, usage of such phrases may not refer to only one embodiment. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean "one and only one" unless specifically so stated, but rather "one or more. The term "some" means one or more unless specifically stated otherwise. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims.
It is also noted that the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged.
While various embodiments have been illustrated and described, it is to be understood that the embodiments are not limited to the precise configuration and components described above. Various modifications, substitutions, and improvements apparent to those skilled in the art may be made in the arrangement, operation, and details of the devices disclosed herein without departing from the scope of the claims.

Claims (10)

1. A resource allocation method based on large-scale integer programming comprises the following steps:
receiving a resource allocation task and converting the resource allocation task into a large-scale integer programming problem;
setting a total target of the resource allocation task;
delineating a customer group to be assigned based on the overall objective;
randomly and uniformly dividing the large-scale integer programming problem into a plurality of sub-problems;
solving the divided sub-problems to obtain a resource pre-allocation mode of each sub-problem;
performing resource pre-allocation based on a resource pre-allocation mode of each sub-problem;
and evaluating the resource pre-allocation to determine the completion degree of the total target, and if the completion degree of the total target is in accordance with expectation, allocating resources to the customer group to be allocated according to the resource pre-allocation mode.
2. The method of claim 1, further comprising:
and dividing the customer group to be distributed into a plurality of customer subgroups corresponding to the plurality of subproblems.
3. The method of claim 2, further comprising:
segmenting the overall goal into a plurality of sub-goals corresponding to the plurality of sub-questions.
4. The method of claim 3, evaluating the pre-allocation of resources to determine the completion of the overall goal further comprising:
evaluating a degree of completion of sub-goals corresponding to each sub-question based on the resource pre-allocation;
and summarizing the completion degrees of the sub targets to determine the completion degree of the total target.
5. The method of claim 1, solving the partitioned sub-problems is solved in parallel by a distributed architecture.
6. The method of claim 1, further comprising:
if the completion of the overall goal is not as expected, adjusting a resource pre-allocation pattern for one or more sub-problems.
7. The method of claim 1, wherein the resource allocation task comprises a credit allocation task, and allocating resources to the group of customers to be allocated comprises allocating credit authorities to the group of customers to be allocated.
8. The method of claim 7, wherein the overall objective comprises an objective trust risk and an objective trust size of the trust authority.
9. A large scale integer programming based resource allocation system, comprising:
the task receiving module is used for receiving the resource allocation task and converting the resource allocation task into a large-scale integer programming problem;
a target setting module for setting the total target of the resource allocation task;
the client group delineation module is used for delineating a client group to be distributed based on the total target;
the dividing module is used for randomly and uniformly dividing the large-scale integer programming problem into a plurality of sub-problems;
an assignment module configured to:
solving the divided subproblems to obtain a resource pre-allocation mode of each subproblem;
performing resource pre-allocation based on the resource pre-allocation mode of each sub-problem; and
and evaluating the resource pre-allocation to determine the completion degree of the total target, and if the completion degree of the total target is in accordance with expectation, allocating resources to the customer group to be allocated according to the resource pre-allocation mode.
10. A computer-readable storage medium storing a computer program executable by a processor to perform the method of any one of claims 1-8.
CN202210500282.6A 2022-05-10 2022-05-10 Resource allocation method and system based on large-scale integer programming Pending CN114638549A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210500282.6A CN114638549A (en) 2022-05-10 2022-05-10 Resource allocation method and system based on large-scale integer programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210500282.6A CN114638549A (en) 2022-05-10 2022-05-10 Resource allocation method and system based on large-scale integer programming

Publications (1)

Publication Number Publication Date
CN114638549A true CN114638549A (en) 2022-06-17

Family

ID=81953109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210500282.6A Pending CN114638549A (en) 2022-05-10 2022-05-10 Resource allocation method and system based on large-scale integer programming

Country Status (1)

Country Link
CN (1) CN114638549A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190176A (en) * 2022-06-30 2022-10-14 支付宝(杭州)信息技术有限公司 Method, system, apparatus, and medium for resource allocation
CN116033584A (en) * 2023-02-03 2023-04-28 阿里巴巴(中国)有限公司 Air interface resource scheduling method, network access equipment and communication network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162753A1 (en) * 2003-02-14 2004-08-19 Vogel Eric S. Resource allocation management and planning
CN112136109A (en) * 2019-04-24 2020-12-25 阿里巴巴集团控股有限公司 Distributed resource allocation
CN113131519A (en) * 2021-04-25 2021-07-16 武汉理工大学 Family energy management optimization method based on mixed integer linear programming
CN113157446A (en) * 2021-04-09 2021-07-23 联通(广东)产业互联网有限公司 Cloud edge cooperative resource allocation method, device, equipment and medium
CN114140252A (en) * 2021-12-02 2022-03-04 中国建设银行股份有限公司 Resource allocation method of target object and related device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162753A1 (en) * 2003-02-14 2004-08-19 Vogel Eric S. Resource allocation management and planning
CN112136109A (en) * 2019-04-24 2020-12-25 阿里巴巴集团控股有限公司 Distributed resource allocation
CN113157446A (en) * 2021-04-09 2021-07-23 联通(广东)产业互联网有限公司 Cloud edge cooperative resource allocation method, device, equipment and medium
CN113131519A (en) * 2021-04-25 2021-07-16 武汉理工大学 Family energy management optimization method based on mixed integer linear programming
CN114140252A (en) * 2021-12-02 2022-03-04 中国建设银行股份有限公司 Resource allocation method of target object and related device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190176A (en) * 2022-06-30 2022-10-14 支付宝(杭州)信息技术有限公司 Method, system, apparatus, and medium for resource allocation
CN116033584A (en) * 2023-02-03 2023-04-28 阿里巴巴(中国)有限公司 Air interface resource scheduling method, network access equipment and communication network
CN116033584B (en) * 2023-02-03 2023-10-20 阿里巴巴(中国)有限公司 Air interface resource scheduling method, network access equipment and communication network

Similar Documents

Publication Publication Date Title
Kobren et al. Paper matching with local fairness constraints
CN114638549A (en) Resource allocation method and system based on large-scale integer programming
Schuetz et al. Approximate dynamic programming for capacity allocation in the service industry
Chen et al. A primal–dual learning algorithm for personalized dynamic pricing with an inventory constraint
EP1979813B1 (en) Method for modeling a free pool of resources
US20180025341A1 (en) Dynamic Payment Mechanism Recommendation Generator
Klein Network capacity control using self-adjusting bid-prices
CN110851482B (en) Method and device for providing data model for multiple data parties
Esmaeili et al. Rawlsian fairness in online bipartite matching: Two-sided, group, and individual
US20140289090A1 (en) Systems and methods for configuring and modifying offerings and/or aspects of offerings
Scheid et al. Policy-based blockchain selection
Liang et al. Online passenger flow control in metro lines
Liu Optimal computing budget allocation to the differential evolution algorithm for large-scale portfolio optimization
Sahu et al. Cloud Storage and Processing Service Selection considering Tiered Pricing and Data Regulations
Gönsch et al. On the incorporation of upgrades into airline network revenue management
US11645595B2 (en) Predictive capacity optimizer
CN114936921A (en) Loan risk control method and device
CN113989013A (en) Method, device and medium for managing account opening channel
Khaleghi et al. Multi-period hub location problem considering polynomial time-dependent demand
CN114418736A (en) Bank retail credit customer layering method, storage medium and server
CN113377823A (en) Value data processing method, device, equipment and storage medium
You et al. Incentive-compatible simple mechanisms
Grynia et al. Attaining robust performance targets in data envelopment analysis with application to efficiency evaluation of airports
CN106157015A (en) The method and device of fund recovery
CN111079992A (en) Data processing method, device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination