CN115951992A - Online resource allocation method and system - Google Patents

Online resource allocation method and system Download PDF

Info

Publication number
CN115951992A
CN115951992A CN202211537359.3A CN202211537359A CN115951992A CN 115951992 A CN115951992 A CN 115951992A CN 202211537359 A CN202211537359 A CN 202211537359A CN 115951992 A CN115951992 A CN 115951992A
Authority
CN
China
Prior art keywords
initial
allocation
target
distribution
parameters
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
CN202211537359.3A
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 CN202211537359.3A priority Critical patent/CN115951992A/en
Publication of CN115951992A publication Critical patent/CN115951992A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

In the online resource allocation method and system provided by the present specification, after an initial allocation parameter corresponding to each online resource in an online resource set is obtained, and an initial set of the initial allocation parameters is obtained, the initial allocation parameters in the initial set are divided into N groups, so as to obtain N initial sub-sets of the initial allocation parameters, and the N initial sub-sets are subjected to co-evolution, so as to obtain N target sub-sets of the allocation parameters after co-evolution, where N is a target grouping number and is an integer greater than 1; splicing the N target subsets to obtain a target distribution parameter set corresponding to the online resource set, and distributing each online resource based on the target distribution parameter set; the scheme can improve the distribution efficiency of online resource distribution.

Description

Online resource allocation method and system
Technical Field
The present disclosure relates to the field of resource allocation, and in particular, to an online resource allocation method and system.
Background
In recent years, with the rapid development of internet technology, resources on a network are increasing. In order to improve the resource utilization rate of these online resources, the online resources need to be accurately allocated. The existing online resource allocation mode is usually that resource allocation is performed by an evolutionary algorithm.
In the research and practice process of the prior art, the inventor of the present application finds that because the number of online resources is huge, the initial allocation parameters of all online resources to be allocated in the evolution algorithm are used as chromosomes to be evolved, so that the length of the chromosomes is too long, the search efficiency in the evolution process is affected, and the online resource allocation efficiency is low.
Disclosure of Invention
The present specification provides an online resource allocation method and system with higher allocation efficiency.
In a first aspect, the present specification provides an online resource allocation method, including obtaining an initial allocation parameter corresponding to each online resource in an online resource set, and obtaining an initial set of the initial allocation parameters; dividing the initial distribution parameters in the initial set into N groups to obtain N initial sub-sets of the initial distribution parameters, and performing co-evolution on the N initial sub-sets to obtain N target sub-sets of the distribution parameters after co-evolution, wherein N is the target grouping number and is an integer greater than 1; and splicing the N target subsets to obtain a target distribution parameter set corresponding to the online resource set, and distributing each online resource based on the target distribution parameter set.
In some embodiments, the online resource comprises at least one of an item resource, a content resource, or a user resource.
In some embodiments, the dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters includes: acquiring an allocation request of the online resource set and resource attribute information of each online resource; determining grouping constraint information for each of the online resources based on the allocation request and the resource attribute information; and dividing the initial distribution parameters in the initial set into N groups based on the grouping constraint information to obtain the initial sub-set of the N initial distribution parameters.
In some embodiments, said dividing the initial allocation parameters in the initial set into N groups based on the grouping constraint information to obtain an initial subset of the N initial allocation parameters includes: determining a target grouping constraint condition corresponding to each online resource based on the grouping constraint information; and dividing the initial distribution parameters in the initial set into N groups based on the target grouping constraint condition to obtain the N initial subsets.
In some embodiments, the determining, based on the grouping constraint information, a target grouping constraint corresponding to each online resource includes: acquiring a preset grouping constraint condition set of the online resource set pair; extracting at least one constraint element from the grouping constraint information; and selecting the grouping constraint condition corresponding to the at least one constraint element from the preset grouping constraint condition set to obtain a target grouping constraint condition.
In some embodiments, the at least one constraint element comprises at least one of a business scenario, a business object, a resource attribute, or an allocation object.
In some embodiments, the dividing the initial allocation parameters in the initial set into N groups based on the target grouping constraint condition to obtain N initial subsets includes: selecting at least one target initial distribution parameter under the same target grouping constraint condition from the initial set; and using the at least one target initial allocation parameter as an initial subset to obtain the N initial subsets.
In some embodiments, the dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters includes: identifying an association between the initial allocation parameters in the initial set, the association characterizing whether there is an interaction between the initial allocation parameters; and dividing the initial distribution parameters in the initial set into N groups based on the incidence relation to obtain the N initial subsets.
In some embodiments, said identifying an association between said initial allocation parameters in said initial set comprises: selecting two initial distribution parameters from the initial set to obtain an initial distribution parameter pair, and determining a target association relation between the initial distribution parameters in the initial distribution parameter pair; and returning to the step of selecting two initial distribution parameters from the initial set until the initial distribution parameters in the initial set are all selected, and obtaining the incidence relation between the initial distribution parameters in the initial set
In some embodiments, the pair of initial allocation parameters comprises a first initial allocation parameter and a second initial allocation parameter; and the determining of the target association relationship between the initial allocation parameters in the initial allocation parameter pair comprises: obtaining a preset distribution parameter value set, the preset distribution parameter value set comprising a first distribution parameter value subset and a second distribution parameter value subset, the first distribution parameter value subset being the same as the first initial distribution parameter value in the second distribution parameter value subset and the second initial distribution parameter value being different from each other, determining a target difference value between the first initial distribution parameter and the second initial distribution parameter based on the first distribution parameter value subset and the second distribution parameter subset, the target difference value being a difference between distribution response increments at different values of the second initial distribution parameter, the distribution response increments being increments after distribution responses are performed at different values of the first initial distribution parameter, and determining the target association relationship based on the target response difference value, the target association relationship comprising one of presence of an interaction relationship or absence of an interaction relationship, the absence of an interaction relationship corresponding to the target difference value being less than a preset difference threshold, the presence of an interaction relationship corresponding to the target difference value being greater than the preset difference threshold.
In some embodiments, the first subset of allocation parameter values comprises at least two candidate values for the first initial allocation parameter; and said determining a target difference value between said first initial allocation parameter and said second initial allocation parameter comprises: obtaining an allocation response increment corresponding to the first allocation parameter value subset to obtain a first allocation response increment, obtaining an allocation response increment corresponding to the second allocation parameter value subset to obtain a second allocation response increment, and determining a difference value between the first allocation response increment and the second allocation response increment to obtain the target difference value.
In some embodiments, the first subset of allocation parameter values further comprises a target value for the second initial allocation parameter; and the obtaining of the allocation response increment corresponding to the first allocation parameter value subset to obtain a first allocation response increment includes: and determining a distribution response value corresponding to each candidate value of the at least two candidate values based on the target value, and acquiring a difference value between the distribution response values to obtain the first distribution response increment.
In some embodiments, the dividing the initial allocation parameters in the initial set into N groups based on the association relationship to obtain the N initial subsets includes: based on the association relationship, grouping at least one initial allocation parameter with an interaction relationship into a group in the initial set, and separately grouping at least one initial allocation parameter without an interaction relationship to obtain the N initial subsets.
In some embodiments, the dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters includes: acquiring an original sequence of the initial distribution parameters in the initial set; selecting target initial distribution parameters from the initial set based on the original sequence; and dividing the initial distribution parameters in the initial set into two groups based on the positions of the target initial distribution parameters to obtain N initial sub-sets, wherein N is 2.
In some embodiments, the dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters includes: and randomly dividing the initial distribution parameters in the initial set into two groups to obtain N initial subsets, wherein N is 2.
In some embodiments, the dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of the initial allocation parameters, and performing co-evolution on the N initial subsets to obtain N target subsets of the allocation parameters after the co-evolution includes: acquiring a preset grouping quantity set, wherein the preset grouping quantity set comprises M grouping quantities, and M is an integer greater than 1; and dynamically and randomly grouping the initial distribution parameters in the initial set based on the preset grouping quantity set, and performing co-evolution on the grouped initial sub-sets of the initial distribution parameters to obtain a target sub-set of N distribution parameters corresponding to each grouping quantity in the M grouping quantities.
In some embodiments, the dynamically randomly grouping initial allocation parameters in the initial set based on the preset grouping quantity set, and performing co-evolution on the grouped initial subset of the initial allocation parameters to obtain a target subset of N allocation parameters corresponding to each grouping quantity in the M grouping quantities includes: selecting a group number from the preset group number set as the target group number N, and dividing the initial distribution parameters in the initial set into N groups based on the target group number N to obtain N initial subsets; and co-evolving the N initial subsets, and returning to execute the step of selecting one packet number from the preset packet number set as the target packet number N until the packet numbers in the preset packet number set are all selected, thereby obtaining the target subsets of N distribution parameters corresponding to each packet number in the M packet numbers.
In some embodiments, the splicing the N target subsets to obtain a target allocation parameter set corresponding to the online resource set includes: splicing the target subsets of the N distribution parameters corresponding to each group number to obtain a global distribution parameter set corresponding to the online resource set; selecting at least one distribution parameter from the target subset of N distribution parameters corresponding to each group number to obtain candidate distribution parameters; and updating the global distribution parameter set based on the candidate distribution parameters to obtain the target distribution parameter set.
In some embodiments, the performing co-evolution on the N initial subsets to obtain N target subsets of co-evolved distribution parameters includes: acquiring resource allocation constraint information corresponding to the online resource set; and for each of the N initial subsets: and based on the resource allocation constraint information, evolving by taking the initial allocation parameters in the initial sub-set as parents to obtain evolved sub-set allocation parameters, fusing the sub-set allocation parameters with the initial sub-set, selecting a preset number of target candidate allocation parameters from the fused candidate allocation parameter set to obtain a parent allocation parameter set, taking the parent allocation parameter set as the initial sub-set, returning to execute the step of evolving by taking the initial allocation parameters in the initial sub-set as parents based on the resource allocation constraint information until reaching a preset number of evolutions, and obtaining an evolved allocation parameter sub-set.
In some embodiments, the selecting a preset number of target candidate distribution parameters from the fused candidate distribution parameter set to obtain a parent distribution parameter set includes: performing non-dominated sorting on the candidate distribution parameters in the fused candidate distribution parameter set; determining a congestion degree of each candidate allocation parameter in the candidate allocation parameter set; and selecting a preset number of candidate distribution parameters from the candidate distribution parameter set based on the sorting result of the non-dominated sorting and the crowdedness to obtain a parent distribution parameter set.
In some embodiments, the resource allocation constraint information includes first allocation boundary information corresponding to the online resource set, second allocation boundary information corresponding to each of the initial subsets, third allocation boundary information corresponding to each of the online resources, fourth allocation boundary information of each of the allocation parameters, and expected response values corresponding to the online resource set.
In some embodiments, the splicing the N target subsets to obtain a target allocation parameter set corresponding to the online resource set includes: selecting at least one distribution parameter in each target subset of the N target subsets to obtain a current distribution parameter set; and splicing the distribution parameters in the current distribution parameter set to obtain the target distribution parameters corresponding to the online resources.
In some embodiments, said allocating said each online resource based on said target set of allocation parameters comprises: selecting a target distribution parameter corresponding to each online resource from the target distribution parameter set; acquiring preset distribution flow corresponding to each online resource, and determining target distribution flow corresponding to each online resource based on the target distribution parameters and the preset distribution flow; and allocating each online resource based on the target allocation flow.
In a second aspect, the present specification also provides an online resource allocation system, comprising: at least one storage medium storing at least one set of instructions for performing online resource allocation; and at least one processor communicatively coupled to the at least one storage medium, wherein when the online resource allocation system is operating, the at least one processor reads the at least one instruction set and performs the online resource allocation method of the first aspect of the specification as indicated by the at least one instruction set.
According to the above technical solution, in the online resource allocation method and system provided in this specification, after obtaining an initial allocation parameter corresponding to each online resource in an online resource set and obtaining an initial set of the initial allocation parameters, the initial allocation parameters in the initial set are divided into N groups to obtain N initial subsets of the initial allocation parameters, and the N initial subsets are subjected to co-evolution to obtain N target subsets of the co-evolved allocation parameters, where N is an integer greater than 1 and is a target grouping number; splicing the N target subsets to obtain a target distribution parameter set corresponding to the online resource set, and distributing each online resource based on the target distribution parameter set; according to the scheme, the initial sets corresponding to the online resource sets can be divided into N groups, so that N initial subsets are obtained, and then the initial subsets are used as chromosomes for coevolution, so that the length of a single chromosome is greatly reduced, the search efficiency of coevolution is improved, and the distribution efficiency of online resource distribution can be improved.
Additional features of the online resource allocation methods and systems provided herein will be set forth in part in the description which follows. The following numerical and exemplary descriptions will be readily apparent to those of ordinary skill in the art in view of the description. The inventive aspects of the online resource allocation methods and systems provided herein may be fully explained by the practice or use of the methods, apparatus and combinations described in the detailed examples below.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present disclosure, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic diagram illustrating an application scenario of an online resource allocation system provided in accordance with an embodiment of the present specification;
FIG. 2 illustrates a hardware block diagram of a computing device provided in accordance with an embodiment of the present description;
FIG. 3 is a flowchart illustrating an online resource allocation method provided in accordance with an embodiment of the present specification; and
fig. 4 is a schematic overall flowchart illustrating a group policy-based co-evolution algorithm in an online advertisement distribution scenario according to an embodiment of the present specification.
Detailed Description
The following description is presented to enable any person skilled in the art to make and use the present description, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present description. Thus, the present description is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the claims.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. For example, as used herein, the singular forms "a", "an" and "the" may include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises," "comprising," and/or "including," when used in this specification, mean that the associated integers, steps, operations, elements, and/or components are present, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
These and other features of the present specification, as well as the operation and function of the elements of the structure related thereto, and the combination of parts and economies of manufacture, may be particularly improved upon in view of the following description. Reference is made to the accompanying drawings, all of which form a part of this specification. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the specification. It should also be understood that the drawings are not drawn to scale.
The flowcharts used in this specification illustrate operations implemented by the system according to some embodiments in this specification. It should be clearly understood that the operations of the flow diagrams may be performed out of order. Rather, the operations may be performed in reverse order or simultaneously. In addition, one or more other operations may be added to the flowchart. One or more operations may be removed from the flowchart.
For convenience of description, the present specification will explain terms that will appear from the following description as follows:
and (3) online advertisement distribution: an advertiser can put some commodity sets and requires that the total exposure of all commodities meet certain constraints; at the same time, the advertiser wishes to maximize the business metric (click or purchase) given the total exposure. When distributing the advertisements, the exposure of each commodity needs to be decided, so that the business index is maximized.
Decision variables: in the optimization problem, the decision variables refer to variables that can be manipulated by human beings. For example, in an online advertisement distribution problem, the decision variables are: the exposure amount per commodity, here, the exposure amount may be an exposure ratio, for example, in the case where the number of commodities is 2000 or more, the exposure ratio per commodity may be a decimal between 0 and 1.
And (3) constraint: constraints are conditions that specify that decision variables must be met in an optimization problem, for example, in an online advertising distribution problem, constraints may include upper and lower bounds for exposure of each item, upper and lower bounds for total exposure of all items, and so on.
An evolutionary algorithm: by means of the thought of the victory elimination of the biological evolution theory, the solution of the problem is coded into the chromosome, each digit on the chromosome represents a value (0-1) of a decision variable, and the chromosome is iteratively updated through well-defined operations of selection, intersection and variation, so that the optimal solution is finally obtained. The "selection", "crossover", and "mutation" vary from evolutionary algorithm to evolutionary algorithm. Common evolutionary algorithms include ion swarm (PSO), fast non-dominated sorting (NSGA 2), genetic Algorithms (GA), and the like.
Co-evolution: and taking each decision variable as a decimal between 0 and 1, firstly grouping the decision variables by using a grouping strategy, and then performing cooperation and evolution according to different groups.
Grouping strategies: the decision variables are divided into different groups, so that the search efficiency of the evolutionary algorithm can be improved.
NSGA2 (an evolutionary algorithm): the idea is to add Fast non-dominant ordering (Fast non-dominant ordering) and Crowding Distance (growing Distance) to a common evolutionary algorithm to evaluate the superiority and inferiority of each chromosome, and finally find a globally optimal solution.
Before describing the specific embodiments of the present specification, the following description will be made for the application scenarios of the present specification:
the online resource allocation method provided by the specification can be applied to any resource allocation scene, for example, in an online advertisement allocation scene, online advertisements in an advertisement set can be allocated by the online resource allocation method of the specification, and the marketing index or marketing profit of an advertiser is improved under the condition that the exposure (exposure ratio) constraint set by the advertiser is met; in a content recommendation scene, online content can be recommended by the online resource allocation method of the specification; the method can also be applied to a user recommendation scene, and is not repeated herein.
It should be understood by those skilled in the art that the online resource allocation method and system described in the present specification can be applied to other usage scenarios and are also within the scope of the present specification.
Fig. 1 is a schematic diagram illustrating an application scenario of an online resource allocation system 001 provided in accordance with an embodiment of the present specification. The online resource allocation system 001 (hereinafter, referred to as the system 001) may be applied to online resource allocation in any scenario, for example, online resource allocation in an online advertisement allocation scenario, online resource allocation in a content recommendation scenario, online resource allocation in a user recommendation scenario, and the like, as shown in fig. 1, the system 001 may include a target user 100, a client 200, a server 300, and a network 400.
The target user 100 may be a user that triggers allocation of an online resource in the online resource collection, and the target user 100 may perform an online resource allocation operation at the client 200.
Client 200 may be a device that allocates online resources in a set of online resources in response to an operation of an online resource allocation by target user 100. In some embodiments, the online resource allocation method may be performed on the client 200. At this time, the client 200 may store data or instructions for performing the online resource allocation method described in this specification, and may execute or be used to execute the data or instructions. In some embodiments, the client 200 may include a hardware device having a data information processing function and a program necessary for driving the hardware device to operate. As shown in fig. 1, the client 200 may be communicatively coupled to a server 300. In some embodiments, the server 300 may be communicatively coupled to a plurality of clients 200. In some embodiments, clients 200 may interact with server 300 over network 400 to receive or send messages or the like. In some embodiments, the client 200 may include a mobile device, a tablet, a laptop, a built-in device of a motor vehicle, or the like, or any combination thereof. In some embodiments, the mobile device may include a smart home device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof. In some embodiments, the smart home device may include a smart television, a desktop computer, or the like, or any combination thereof. In some embodiments, the smart mobile device may include a smartphone, a personal digital assistant, a gaming device, a navigation device, and the like, or any combination thereof. In some embodiments, the virtual reality device or augmented reality device may include a virtual reality helmet, virtual reality glasses, a virtual reality handle, an augmented reality helmet, augmented reality glasses, an augmented reality handle, or the like, or any combination thereof. For example, the virtual reality device or the augmented reality device may include google glasses, head mounted displays, VRs, and the like. In some embodiments, the built-in devices in the motor vehicle may include an on-board computer, an on-board television, and the like. In some embodiments, the client 200 may include a resource collecting device for collecting at least one online resource to obtain a set of online resources. In some embodiments, the resource capture device may be an image capture device or other content capture device, and the image capture device may be a two-dimensional image capture device (such as an RGB camera), and a depth image capture device (such as a 3D structured light camera, a laser detector, etc.). In some embodiments, the client 200 may be a device with location technology for locating the location of the client 200.
In some embodiments, the client 200 may have one or more Applications (APPs) installed. The APP can provide the target user 110 with the ability to interact with the outside world and an interface over the network 400. The APP includes but is not limited to: the system comprises a webpage browser type APP program, a search type APP program, a chat type APP program, a shopping type APP program, a video type APP program, a financing type APP program, an instant messaging tool, a mailbox client, social platform software and the like. In some embodiments, a target APP may be installed on the client 200. The target APP can collect or distribute online resources for the client 200. In some embodiments, the target object 100 may also trigger an online resource allocation request through the target APP. The target APP may perform the online resource allocation method described in this specification in response to the online resource allocation request. The online resource allocation method will be described in detail later.
The server 300 may be a server that provides various services, such as a backend server that provides support for the collection or allocation of online resources on the client 200. In some embodiments, the online resource allocation method may be performed on the server 300. At this time, the server 300 may store data or instructions for performing the online resource allocation method described herein, and may execute or be used to execute the data or instructions. In some embodiments, the server 300 may include a hardware device having a data information processing function and a program necessary for driving the hardware device to operate. The server 300 may be communicatively coupled to a plurality of clients 200 and receive data transmitted by the clients 200.
Network 400 is the medium used to provide communication connections between clients 200 and server 300. The network 400 may facilitate the exchange of information or data. As shown in fig. 1, the client 200 and the server 300 may be connected to a network 400 and transmit information or data to each other through the network 400. In some embodiments, the network 400 may be any type of wired or wireless network, as well as combinations thereof. For example, network 400 may include a cable network, a wired network, a fiber optic network, a telecommunications network, an intranet, the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a wireless networkLocal Area Network (WLAN), metropolitan Area Network (MAN), wide Area Network (WAN), public Switched Telephone Network (PSTN), bluetooth TM Network, zigBee TM A network, a Near Field Communication (NFC) network, or the like. In some embodiments, network 400 may include one or more network access points. For example, network 400 may include a wired or wireless network access point, such as a base station or an internet exchange point, through which one or more components of client 200 and server 300 may connect to network 400 to exchange data or information.
It should be understood that the number of clients 200, servers 300, and networks 400 in fig. 1 is merely illustrative. There may be any number of clients 200, servers 300, and networks 400, as desired for an implementation.
It should be noted that the online resource allocation method may be completely executed on the client 200, may be completely executed on the server 300, may be partially executed on the client 200, and may be partially executed on the server 300.
FIG. 2 illustrates a hardware block diagram of a computing device 600 provided in accordance with an embodiment of the present description. The computing device 600 may perform the online resource allocation methods described herein. The online resource allocation method is described elsewhere in this specification. When the online resource allocation method is executed on client 200, computing device 600 may be client 200. When the online resource allocation method is performed on server 300, computing device 600 may be server 300. While the online resource allocation method may be performed in part on the client 200 and in part on the server 300, the computing device 600 may be the client 200 and the server 300.
As shown in fig. 2, computing device 600 may include at least one storage medium 630 and at least one processor 620. In some embodiments, computing device 600 may also include a communication port 650 and an internal communication bus 610. Computing device 600 may also include I/O component 660.
Internal communication bus 610 may connect various system components including storage medium 630, processor 620 and communication port 650.
I/O components 660 support input/output between computing device 600 and other components.
Communication port 650 provides for data communication between computing device 600 and the outside world, for example, communication port 650 may provide for data communication between computing device 600 and network 400. The communication port 650 may be a wired communication port or a wireless communication port.
The storage medium 630 may include a data storage device. The data storage device may be a non-transitory storage medium or a transitory storage medium. For example, the data storage device may include one or more of a disk 632, a read only memory medium (ROM) 634, or a random access memory medium (RAM) 636. The storage medium 630 also includes at least one set of instructions stored in the data storage device. The instructions are computer program code that may include programs, routines, objects, components, data structures, procedures, modules, and the like that perform the online resource allocation methods provided herein.
The at least one processor 620 may be communicatively coupled to at least one storage medium 630 and a communication port 650 via an internal communication bus 610. The at least one processor 620 is configured to execute the at least one instruction set. When the computing device 600 is running, the at least one processor 620 reads the at least one instruction set and, as directed by the at least one instruction set, performs the online resource allocation methods provided herein. The processor 620 may perform all the steps involved in the online resource allocation method. The processor 620 may be in the form of one or more processors, and in some embodiments, the processor 620 may include one or more hardware processors, such as microcontrollers, microprocessors, reduced Instruction Set Computers (RISC), application Specific Integrated Circuits (ASICs), application specific instruction set processors (ASIPs), central Processing Units (CPUs), graphics Processing Units (GPUs), physical Processing Units (PPUs), microcontroller units, digital Signal Processors (DSPs), field Programmable Gate Arrays (FPGAs), advanced RISC Machines (ARMs), programmable Logic Devices (PLDs), any circuit or processor capable of executing one or more functions, or the like, or any combination thereof. For illustrative purposes only, only one processor 620 is depicted in the computing device 600 in this description. It should be noted, however, that the computing device 600 may also include multiple processors, and thus, the operations and/or method steps disclosed in this specification may be performed by one processor, as described herein, or by a combination of multiple processors. For example, if in this description the processor 620 of the computing device 600 performs steps a and B, it should be understood that steps a and B may also be performed jointly or separately by two different processors 620 (e.g., a first processor performing step a, a second processor performing step B, or both a first and second processor performing steps a and B).
Fig. 3 shows a flowchart of an online resource allocation method P100 provided according to an embodiment of the present specification. As before, the computing device 600 may perform the online resource allocation method P100 of the subject specification. In particular, the processor 620 may read a set of instructions stored in its local storage medium and then execute the online resource allocation method P100 of the present specification as specified by the set of instructions. As shown in fig. 3, method P100 may include:
s110: and acquiring an initial distribution parameter corresponding to each online resource in the online resource set to obtain an initial set of the initial distribution parameters.
The online resource is a resource propagated on the internet. The online resource may include at least one of an item resource, a content resource, or a user resource. The item resource may be resource information related to the item on the line, and may include, for example, an item advertisement, item page information, or item attribute information corresponding to the item, etc. The content resource may be content information that is propagated on line, and may include resources such as video, audio, or text, for example. The user resource may be information on the user online, and may include, for example, a user identifier, user information, or other resource information related to the user.
The initial allocation parameter may be an original allocation parameter corresponding to the online resource when allocation is not started. The allocation parameters may be understood as allocation weights, allocation traffic ratios, or other parameter information for resource allocation, etc.
The manner of obtaining the initial allocation parameter corresponding to each online resource in the online resource set may be various, and specifically may be as follows:
for example, the processor 620 may directly obtain the initial allocation parameter corresponding to each online resource in the online resource set uploaded by the target user 100 through the client 200 or the terminal, so as to obtain the initial set corresponding to the initial allocation parameter, or may obtain the online resource set, and randomly generate the initial allocation parameter corresponding to each online resource based on the number of online resources in the online resource set, so as to obtain the initial set of the initial allocation parameter, or obtain the online resource set, and select the initial allocation parameter corresponding to each online resource in the preset allocation parameter set based on the resource attribute information of each online resource in the online resource set, so as to obtain the initial set corresponding to the initial allocation parameter, and so on.
S120: and dividing the initial distribution parameters in the initial set into N groups to obtain N initial sub-sets of the initial distribution parameters, and performing co-evolution on the N initial sub-sets to obtain N target sub-sets of the distribution parameters after co-evolution.
The distribution parameters are obtained by carrying out co-evolution on the initial distribution parameters. N is the target number of packets and is an integer greater than 1.
The initial distribution parameters in the initial set are divided into N groups, and the co-evolution of the N grouped initial subsets may be performed in various ways, specifically as follows:
s121: and dividing the initial distribution parameters in the initial set into N groups to obtain N initial sub-sets of the initial distribution parameters.
For example, the processor 620 may divide the initial allocation parameters in the initial set into N groups by using a preset grouping policy, so as to obtain N initial subsets of the initial allocation parameters.
Wherein the preset grouping strategy may comprise one of a constrained grouping, a differential grouping, a binary grouping, a random grouping or a dynamic grouping. The constraint grouping may be understood as grouping at least one initial allocation parameter for which the same constraint exists into a group, resulting in an initial subset of N initial allocation parameters. The differential grouping may be understood as grouping the initial allocation parameters in the initial set for which there is an interaction, resulting in an initial self-sum of N initial allocation parameters. The binary grouping may be into 2 groups in the original order of the initial allocation parameters in the initial set. The random grouping may be to randomly divide the initial allocation parameters in the initial set into N groups, thereby obtaining N initial subsets of the initial allocation parameters. The dynamic random grouping may be randomly grouped into different groups in each iteration of the co-evolution until the iteration stops. The manner of grouping the initial allocation parameters in the initial set by using the preset grouping policy may be as follows:
(1) Constrained grouping
For example, the processor 620 may obtain an allocation request of the online resource set and resource attribute information of each online resource, determine grouping constraint information of each online resource based on the allocation request and the resource attribute information, and divide the initial allocation parameters in the initial set into N groups based on the grouping constraint information, to obtain an initial subset of N initial allocation parameters.
The grouping restriction information may be information used for grouping restriction in the online resource, and may include, for example, a resource source, a resource type, or a resource size of the online resource. For example, when online resources are used as the commodity advertisement, the grouping constraint information may include the type of the commodity in the commodity advertisement, the promotion department, the online time, the butt-joint business department, the information of the business scenario to which the commodity belongs, and the like. For example, the processor 620 may extract preset grouping constraint information from the allocation request, and group attribute information identified from the resource attribute information, and fuse the preset grouping constraint information and the grouping attribute information to obtain resource attribute information of the corresponding online resource, or may also extract grouping constraint characteristics from the allocation request and the resource attribute information, and determine grouping constraint information of each online resource based on the grouping constraint characteristics, and the like.
The grouping attribute information may be attribute information for grouping. For example, category, time, size, scene or corresponding adaptive population may be included, and so on.
The processor 620, after determining the grouping constraint information for each online resource, may group the initial allocation parameters in the initial set into N groups based on the grouping constraint information. For example, the processor 620 may determine a target grouping constraint condition corresponding to each online resource based on the grouping constraint information, and divide the initial allocation parameters in the initial set into N groups based on the target grouping constraint condition, thereby obtaining N initial subsets.
The target grouping constraint condition may be a condition for performing grouping constraint on online resources, for example, the target grouping constraint condition may belong to the same resource category, the same service scene, or the same service object. For example, in the case of online advertising, the target grouping constraint may be that the target grouping constraint belongs to the same category of goods, the same manufacturer/agent, the same promotion department, and so on. Based on the grouping constraint information, there may be multiple ways of determining the target grouping constraint condition corresponding to each online resource, for example, the processor 620 may obtain a preset grouping constraint condition set corresponding to the online resource set, extract at least one constraint element from the grouping constraint information, and select a grouping element condition corresponding to at least one constraint element from the preset grouping constraint condition set to obtain the target grouping constraint condition.
Wherein the at least one constraint element may comprise at least one of a business scenario, a business object, a resource attribute, or an allocation object. The service scene may be a scene corresponding to a service to which the online resource belongs. The business object may be an object (user) that triggers allocation of the online resource, and so on. The resource attribute may be one or more attributes specified or preset in the online resource. The allocation object may be a candidate object or an object cluster allocated to the online resource. Taking the constraint element as a trade name of the commercial advertisement, the manner of selecting the grouping constraint condition corresponding to the constraint element from the preset grouping constraint condition set may include: based on the commodity name, the commodity category corresponding to the commodity advertisement is determined, and the grouping constraint condition containing the commodity category is selected from a preset grouping constraint condition set to serve as a target grouping constraint condition, wherein at the moment, the target grouping constraint condition can be used for restricting the commodity advertisements belonging to the commodity category to be grouped into one group.
After determining the target grouping constraint condition corresponding to each online resource, the processor 620 may divide the initial allocation parameters in the initial set into N groups based on the target grouping constraint condition, thereby obtaining N initial subsets. There are various ways to divide the initial allocation parameters of the initial set into N groups, for example, the processor 620 may select at least one target initial allocation parameter under the same target grouping constraint condition from the initial set, and use the at least one target initial allocation parameter as an initial subset to obtain N initial subsets. For example, with the initial allocation parameters including { x1, x2, x3, x4, x5, x6}, { x1, x3} \ in S1 (belonging to the target constraint S1), { x2, x5, x6} \ in S2 (belonging to the target constraint S2), and { x4} \ in S3 (belonging to the target constraint S2), the target number N may be 3, so that { x1, x3} may be divided into 1 group, { x2, x5, x6} may be divided into 1 group, and { x4} may be 1 group.
Wherein, constraint grouping can be understood to group at least one initial allocation parameter belonging to a constraint, thereby obtaining N initial subsets. The constraint in the constraint grouping may be a constraint corresponding to the online resource, or a constraint corresponding to an initial allocation parameter of the online resource, that is, the corresponding initial allocation parameter may be grouped by the online resource, or the initial allocation parameter may be grouped by the constraint corresponding to the initial allocation parameter. In the constraint grouping, the constraint condition may be different constraint conditions in a constraint scenario, for example, taking an online resource as a commercial advertisement, and a constraint scenario as a business department corresponding to the commercial advertisement as an example, the constraint condition may belong to different business departments in the scenario of the business department. The constraint condition can also be different constraint conditions under different constraint scenarios, and the premise of this situation is that one online resource cannot belong to different constraint scenarios at the same time. In addition, the constraint grouping can also adopt a clustering form to obtain initial distribution parameters belonging to the same constraint.
(2) Differential grouping
For example, the processor 620 may identify an association relationship between the initial allocation parameters in the initial set, and divide the initial allocation parameters in the initial set into N groups based on the association relationship, resulting in N initial subsets.
Wherein the association characterizes whether there is an interaction between the initial allocation parameters. The association may include one of a presence of a relational action or a non-presence of an interaction. There are various ways to identify the association relationship between the initial allocation parameters in the initial set, for example, the processor 620 may select two initial allocation parameters from the initial set to obtain an initial allocation parameter pair, and determine a target association relationship between the initial allocation parameters in the initial allocation parameter pair; and returning to execute the step of selecting two initial distribution parameters in the initial set until the initial distribution parameters in the initial set are all selected, so as to obtain the association relation between the initial distribution parameters in the initial set.
Wherein the pair of initial allocation parameters may comprise a first allocation parameter and a second initial allocation parameter. The parameter values of the two initial allocation parameters may be the same or different. For example, the processor 620 may obtain a preset allocation parameter value set including a first allocation parameter subset and a second allocation parameter subset, determine a target difference value between the first initial allocation and the second allocation parameter based on the first allocation parameter value subset and the second allocation parameter value subset, and determine a target association based on a target response difference value.
Wherein the first subset of allocation parameter values is the same value as the first initial allocation parameter in the second subset of allocation parameter values and the second subset of allocation parameters is different. For example, taking the example that the first allocation parameter value subset includes values a1 and a2 of the first initial allocation parameter and a value b1 of the second initial allocation parameter, the values of the first initial allocation parameter in the second allocation parameter value subset may be a1 and a2, and the value of the second initial allocation parameter in the second allocation parameter value subset may be b2, where b1 is different from b 2.
Wherein the target difference value is a difference between dispense response increments at different values of the second initial dispense parameter. The allocation response increment is an increment of allocation response at different values of the first initial allocation parameter. The allocation response may be a response after the allocation is made. The first subset of initial allocation parameter values comprises at least two candidate values for the first initial allocation parameter. For example, the processor 620 may obtain an allocation response increment corresponding to the first allocation parameter value subset to obtain a first allocation response increment, obtain an allocation response increment corresponding to the second allocation parameter value subset to obtain a second allocation response increment, and determine a difference between the first allocation response increment and the second allocation response increment to obtain the target difference value.
Wherein the first subset of allocation parameter values may further comprise target values for the second initial allocation parameters. For example, the processor 620 may determine, based on the target value, an allocation response value corresponding to each of the at least two candidate values, and obtain a difference between the allocation response values to obtain the first allocation response increment. Taking the target value b1 and the first distribution parameter value subset further including two candidate values a1 and a2 of the first initial distribution parameter as an example, the manner of obtaining the first distribution response increment corresponding to the first distribution parameter value subset may be as shown in formula (1):
Figure BDA0003978262020000151
wherein the content of the first and second substances,
Figure BDA0003978262020000152
for the first allocated response increment, x i For the first initial allocation parameter, x j For a second initial assignment of a parameter->
Figure BDA0003978262020000161
Is the allocation response value at candidate value a1, is>
Figure BDA0003978262020000162
And allocating the response value with the candidate value being the a2 value.
The manner of obtaining the allocation response increment corresponding to the second allocation parameter value subset by the processor 620 is the same as the manner of obtaining the allocation response increment corresponding to the first allocation parameter value subset, and is not described herein any more, which may be specifically shown in formula (2):
Figure BDA0003978262020000163
wherein the content of the first and second substances,
Figure BDA0003978262020000164
respond to the delta for the second allocation, x i For the first initial allocation parameter, x j For a second initial assignment of a parameter->
Figure BDA0003978262020000165
Is the assigned response value for target value b2 and candidate value a1, is->
Figure BDA0003978262020000166
The target value is b2, and the candidate value is a 2.
After obtaining the first allocation response increment and the second allocation response increment, the processor 620 may determine a difference between the first allocation response increment and the second allocation response increment, thereby obtaining a target difference value between the first initial allocation parameter and the second initial allocation parameter.
After determining the target difference value between the first initial allocation parameter and the second initial allocation parameter, the processor 620 may determine the target association relationship based on the target difference value. The target association may include one of the presence or absence of an interaction. The manner of determining the target association relationship may be various, for example, the processor 620 determines that the target association relationship does not exist an interaction relationship when the target difference value is smaller than a preset difference threshold, or determines that the target association relationship exists a correlation relationship when the target difference value is larger than the preset difference threshold. Therefore, the absence of an interaction corresponds to the target difference value being less than a preset difference threshold, and the presence of an interaction corresponds to the target difference value being greater than the preset difference threshold.
After determining the target association relationship between the initial allocation parameters in the initial allocation parameter pair, the processor 620 may return to the step of selecting two initial allocation parameters in the initial set, and continue to determine the target association relationship between the initial allocation parameters in each initial allocation parameter pair until the initial allocation parameters in the initial set are all selected, thereby obtaining the association relationship between each initial allocation parameter in the initial set.
After determining the association relationship between each initial distribution parameter in the initial set, the processor 620 may divide the initial distribution parameters in the initial set into N groups based on the association relationship, so as to obtain N initial subsets. There are various ways to group the initial allocation parameters in the initial set into N groups, for example, the processor 620 may group at least one initial allocation parameter having an interaction relationship in the initial set based on the association relationship, and separately group at least one initial allocation parameter having no interaction relationship to obtain N initial subsets. For example, taking the initial set including x1, x2, x3, x4 and x5, x1 and x2 having an interaction relationship, x4 and x5 having an interaction relationship, and x3 having no interaction relationship with other initial allocation parameters as an example, x1 and x2 may be divided into 1 group, x4 and x5 into 1 group, and x3 into 1 group, so that three initial subsets may be obtained, where N is 3.
(3) Binary grouping
For example, the processor 620 may obtain an original order of the initial allocation parameters in the initial set, select a target initial allocation parameter in the initial set based on the original order, and divide the initial allocation parameters in the initial set into two groups based on the position of the target initial allocation parameter, resulting in N initial subsets, where N is 2.
And the target initial distribution parameter is an initial distribution parameter corresponding to the position for dividing the initial set. For example, when the number of the initial allocation parameters in the initial set is odd, the processor 620 selects one initial allocation parameter corresponding to the middle position in the initial set as the target initial allocation parameter based on the initial order, for example, the number of the initial allocation parameters is 5, and the target initial allocation parameter may be a third initial allocation parameter; alternatively, when the number of initial allocation parameters in the initial set is even and greater than 2, two initial allocation parameters corresponding to the middle positions are selected from the initial set as target initial allocation parameters based on the original order, for example, the number of initial allocation parameters is 6, and the target initial allocation parameters may be the third initial allocation parameter and the fourth initial allocation parameter.
After selecting the target initial allocation parameters, the processor 620 may divide the initial allocation parameters in the initial set into two groups based on the positions of the target initial allocation parameters, to obtain N initial subsets, where N is 2. Based on the position of the target initial allocation parameter, there are various ways to divide the initial allocation parameters in the initial set into two groups, for example, taking the initial allocation parameters x1, x2, x3, x4 and x5 in the initial set as an example, the target initial allocation parameter may be x3, at this time, the initial set may be divided into two groups of { x1, x2, x3} and { x4, x5}, or into two groups of { x1, x2} and { x3, x4, x5}, at this time, N is 2; taking x1, x2, x3, and x4 in the initial set as an example, the target initial allocation parameters may be x2 and x3, and at this time, the initial set may be divided into two groups, that is, x1, x2 and x3, x4, where N is 2.
(4) Random grouping
For example, the processor 620 may randomly divide the initial allocation parameters in the initial set into two groups, resulting in N initial subsets, where N is 2, or may randomly divide the initial allocation parameters in the initial set into N groups, resulting in N initial subsets, where N is an integer greater than 2, and so on.
Taking N as 2 and the initial set including the initial allocation parameters x1, x2, x3, x4, and x5 as an example, the processor 620 may randomly divide the initial set into two sets of { x1, x2} and { x3, x4, x5}, or into { x1, x3} and { x2, x4, x5}, or into { x1, x5} and { x2, x3, x4}, and so on.
S122: and carrying out co-evolution on the N initial subsets to obtain N target subsets of the distribution parameters after co-evolution.
The co-evolution of the initial subset may be performed in a variety of ways, and specifically may be as follows:
for example, the processor 620 may perform co-evolution on the N initial subsets using an ion swarm algorithm (PSO), a Genetic Algorithm (GA), or a fast non-dominated sorting algorithm (NSGA-II) to obtain N target subsets of co-evolved allocation parameters.
For example, the processor 620 may obtain resource allocation constraint information corresponding to the online resource set, and for each initial subset of the N initial subsets: and taking the parent distribution parameter set as an initial child set, returning to execute the step of carrying out evolution by taking the initial distribution parameters in the initial child set as a parent based on the resource distribution constraint information until reaching the preset evolution times, and obtaining an evolved distribution parameter child set.
The resource allocation constraint information may be constraint information when allocating online resources. The resource allocation constraint information may include first allocation boundary information corresponding to the online resource set, second allocation boundary information corresponding to each initial subset, third allocation boundary information corresponding to each online resource, fourth allocation boundary information of each allocation parameter, and an expected response value corresponding to the online resource set. Taking online resources as commodity advertisements as an example, the first distribution boundary information can be online ASG (online service gateway group) of the whole total flow of the commodity advertisement set; the second distribution boundary information can be the flow upper limit PVc of the commodity advertisement of each group; the third distribution boundary information may be the upper limit PV of the traffic corresponding to each online resource i (ii) a The fourth allocation boundary information may be a value range of the allocation parameter, for example, it may be [0,1 ]]Or, other predetermined value ranges. Taking the response value f (x) after the allocation parameter allocates each resource in the online resource set as an example, the expected response value may be maxf (x), and thus, taking the online resource as a commercial advertisement, for example, the online advertisement allocation problem may be formalized as shown in formula (3):
Figure BDA0003978262020000181
wherein f (x) is an assigned response value, x i To assign a parameter, PV i For the third allocation boundary information, ASG for the first allocation boundary information, PV c And allocating boundary information for the second time, wherein N is the target packet number, D is the number of online resources in the online resource set, and may also be the number of initial allocation parameters for the initial set.
After obtaining the resource allocation constraint information, the processor 620 may evolve the initial allocation parameters in the initial subset as a parent, where the evolution mode may include "selection", "crossing", and/or "mutation", so as to obtain the offspring allocation parameters after the evolution. And fusing the child distribution parameters with the initial subset to obtain a fused candidate distribution parameter set.
After fusing the child distribution parameters with the initial child set, the processor 620 may select a preset number of target candidate distribution parameters from the fused candidate distribution parameter set, so as to obtain a parent distribution parameter set. For example, the processor 620 may perform non-dominated sorting on the candidate allocation parameters in the fused candidate allocation parameter set, determine the congestion degree of each candidate allocation parameter in the candidate allocation parameter set, and select a preset number of candidate allocation parameters from the candidate allocation parameter set based on the sorting result and the congestion degree of the non-dominated sorting, thereby obtaining a parent allocation parameter set.
The detailed definitions in NSGA-II may be referred to for the eligibility strategy for non-dominated sorting, congestion degree, and selecting target candidate allocation parameters, which is not described in detail herein.
After obtaining the parent distribution parameter set, the processor 620 may use the parent distribution parameter set as an initial subset, and return to perform the step of performing evolution by using the initial distribution parameters in the initial subset as a parent based on the resource distribution constraint information until reaching a preset number of evolutions, to obtain an evolved distribution parameter subset.
The preset evolutionary number may be a preset iteration number of each round of co-evolution, for example, 10 iterations, or any other number. In addition, the condition for stopping iteration can also be convergence of the distribution parameters after evolution. The distribution parameter convergence can be that the distribution parameters after multiple evolutions are the same or within a preset parameter range.
In some embodiments, the allocation policy may further include dynamic random grouping, where the dynamic random grouping is used to divide the initial allocation parameters in the initial set into N groups to obtain N subsets of the initial allocation parameters, and there are various ways to perform co-evolution on the N initial subsets, for example, the processor 620 may obtain a preset grouping number set, where the preset grouping number set includes M grouping numbers, where M is an integer greater than 1, and perform dynamic random grouping on the initial allocation parameters in the initial set based on the preset grouping number set, and perform co-evolution on the grouped initial subsets of the initial allocation parameters to obtain N target subsets of the allocation parameters corresponding to each grouping number in the M grouping numbers.
The preset packet number set is a preset packet number set for random grouping, and the preset packet number set may include M packet numbers. For example, the processor 620 may select one group number from the preset group number set as the target group number N, divide the initial distribution parameters in the initial set into N groups based on the target group number N, obtain N initial subsets, perform coevolution on the N initial subsets, and return to the step of selecting one group number from the preset group number set as the target group number N until the group numbers in the preset group number set are all selected, thereby obtaining N target subsets of the distribution parameters corresponding to each group number in the M group numbers. For example, taking the initial distribution parameters in the initial set including { x1, x2, x3, x4, x5, x6}, and the preset packet number set including the packet number {2,3}, as an example, assuming that the randomly selected target packet number N is 2 in the first round of co-evolution iteration, the initial distribution parameters in the initial set may be randomly divided into 2 groups, { x1, x2, x3} and { x4, x5, x6}, then the two target subsets are co-evolved, and then the randomly selected target packet number N may be 3 in the second round of co-evolution iteration, the initial distribution parameters in the initial set may be randomly divided into 3 groups, { x1, x2}, { x3, x4} and { x5, x6}, and then the three target subsets are co-evolved and sequentially cycled until the iteration stops, so that the target distribution parameters corresponding to each of the M packet numbers in the initial set may be obtained.
S130: and splicing the N target subsets to obtain a target distribution parameter set corresponding to the online resource set, and distributing each online resource based on the target distribution parameter set.
The splicing method for the N target subsets may be various, and specifically may be as follows:
for example, the processor 620 may select at least one allocation parameter in each of the N target subsets to obtain a current allocation parameter set, and splice the allocation parameters in the current allocation parameter set to obtain a target allocation parameter corresponding to the online resource.
For example, the processor 620 may select at least one optimal allocation parameter in each target subset, so as to obtain a current allocation parameter set.
In some embodiments, after grouping and co-evolution are performed by using a dynamic random grouping strategy, a target subset of N distribution parameters corresponding to each grouping number in M grouping numbers is obtained. The manner of splicing the N target subsets of this class may include: the processor 620 may splice the target subsets of the N allocation parameters corresponding to each grouping number to obtain a global allocation parameter set corresponding to the online resource set, select at least one allocation parameter from the target subsets of the N allocation parameters corresponding to each grouping number to obtain a candidate allocation parameter, and update the global allocation parameter set based on the candidate allocation parameter to obtain a target allocation parameter set.
Wherein the global allocation parameter set may be relative to a globally optimal solution to the online resource allocation problem. For example, the processor 620 may splice the N target subsets corresponding to each grouping number to obtain M candidate global distribution parameter sets, and select an optimal candidate distribution parameter set from the M candidate global distribution parameter sets as the global distribution parameter set, or may select at least one optimal target subset from the N target subsets and splice the optimal target subsets to obtain the global distribution parameter set, and so on.
The candidate allocation parameter may be at least one optimal allocation parameter in the N target subsets corresponding to each group number. For example, the processor 620 may compare the candidate allocation parameter with the allocation parameter at the corresponding position in the global allocation parameter set, and when the candidate allocation parameter is better than the allocation parameter at the corresponding position in the global allocation parameter set, the allocation parameter at the corresponding position may be replaced with the candidate allocation parameter, otherwise, the update of the allocation parameter at the corresponding position is skipped, so as to obtain the target allocation parameter set.
After obtaining the target allocation parameter set corresponding to the online resource set, the processor 620 may allocate each online resource based on the target allocation parameter set. For example, the processor 620 may select a target allocation parameter corresponding to each online resource from the target allocation parameter set, obtain a preset allocation flow corresponding to each online resource, determine a target allocation flow corresponding to each online resource based on the target allocation parameter and the preset allocation flow, and allocate each online resource based on the target allocation flow.
The preset allocation flow may be a preset upper limit of flow for allocating the online resource, or may be third allocation boundary information in the resource allocation constraint information. For example, the target allocation parameter may be regarded as a traffic allocation weight, and the processor 620 may multiply the target allocation parameter by the preset allocation traffic, so as to obtain the target allocation traffic corresponding to each online resource.
After determining the target allocation traffic, the processor 620 may allocate each online resource based on the target allocation traffic. For example, the processor 620 may directly expose the corresponding online resource based on the target allocation traffic, or determine an exposure duration of the corresponding online resource based on the target allocation traffic, and expose the corresponding online resource based on the exposure duration, or may also send the target allocation traffic of each online resource to a distribution platform (CDN), so that the CDN allocates or exposes each online resource based on the target allocation traffic, and so on.
In the case of online resources serving as commercial advertisements, for example, the application scenario of the scheme may be an online advertisement allocation scenario, and in the online advertisement allocation scenario, the online advertisements are allocated through a co-evolution algorithm based on a grouping strategy, and as shown in fig. 4, the overall allocation process may include using D initial allocation parameters (decision variables) corresponding to D online resources as D-dimensional chromosomes, and then dividing the D-dimensional chromosomes into N groups of chromosomes with equal length, each sub-chromosome part (sub-component 1, sub-component 2, sub-component N) forming N groups, and each group is evolved independently (including "crossing", "selecting", and "mutating"). And when each sub population is subjected to iterative evolution, performing co-evolution by adopting an NSGA-II algorithm. And finally, splicing the optimal chromosomes in each sub-population into a chromosome with the length of D to form an optimal solution, wherein the optimal solution can distribute weight (target distribution parameters) to the corresponding flow of each commodity advertisement. Based on the flow distribution weight, the corresponding commodity advertisement is exposed, or the flow distribution weight is sent to an advertisement distribution platform for distribution or exposure, so that the advertiser obtains the maximum business index or income.
The grouping policy may include, among others, constrained grouping, differential grouping, binary grouping, random grouping, and dynamic random grouping. The manner of dividing the chromosomes into N groups of chromosomes using these grouping strategies is similar to the manner of dividing the initial distribution parameters in the initial set into N groups, which may be specifically referred to above, and is not described in detail here.
The scheme can also be applied to other scenarios, for example, the scheme can be applied to distribution of contents such as video, audio, or text, or user distribution in a social network, and the distribution process can be similar to that of a commercial advertisement, which can be specifically referred to above, and thus is not described here any more.
In addition, compared with the traditional evolutionary algorithm, chromosomes are grouped by using various grouping strategies and evolved in a parallel separation mode, so that the search efficiency of the evolutionary algorithm can be improved, and the like.
To sum up, in the online resource allocation method P100 and the system 001 provided in this specification, after obtaining an initial allocation parameter corresponding to each online resource in an online resource set and obtaining an initial set of the initial allocation parameters, the initial allocation parameters in the initial set are divided into N groups to obtain N initial subsets of the initial allocation parameters, and the N initial subsets are coevoluted to obtain N target subsets of the allocation parameters after coevolution, where N is an integer greater than 1 and is the number of target groups; splicing the N target subsets to obtain a target distribution parameter set corresponding to the online resource set, and distributing each online resource based on the target distribution parameter set; according to the scheme, the initial sets corresponding to the online resource sets can be divided into N groups, so that N initial subsets are obtained, and then the initial subsets are used as chromosomes for coevolution, so that the length of a single chromosome is greatly reduced, the search efficiency of coevolution is improved, and the allocation efficiency of online resource allocation can be improved.
Another aspect of the specification provides a non-transitory storage medium storing at least one set of executable instructions for performing online resource allocation. When executed by a processor, the executable instructions direct the processor to perform the steps of the online resource allocation method P100 described herein. In some possible implementations, various aspects of the present description may also be implemented in the form of a program product including program code. When the program product is run on the computing device 600, the program code is configured to cause the computing device 600 to perform the steps of the online resource allocation method P100 described herein. A program product for implementing the above-described methods may employ a portable compact disc read only memory (CD-ROM) including program code and may be run on the computing device 600. However, the program product of this description is not limited in this respect, as a readable storage medium can be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system. The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. The computer readable storage medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable storage medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. Program code for carrying out operations for this specification may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on computing device 600, partly on computing device 600, as a stand-alone software package, partly on computing device 600 and partly on a remote computing device, or entirely on the remote computing device.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
In conclusion, upon reading the present detailed disclosure, those skilled in the art will appreciate that the foregoing detailed disclosure can be presented by way of example only, and not limitation. Those skilled in the art will appreciate that the present specification contemplates various reasonable variations, enhancements and modifications to the embodiments, even though not explicitly described herein. Such alterations, improvements, and modifications are intended to be suggested by this specification, and are within the spirit and scope of the exemplary embodiments of this specification.
Furthermore, certain terminology has been used in this specification to describe embodiments of the specification. For example, "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the specification. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined as suitable in one or more embodiments of the specification.
It should be appreciated that in the foregoing description of embodiments of the specification, various features are grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the specification, for the purpose of aiding in the understanding of one feature. This is not to be taken as an admission that any of the above-described features are required in combination, and it is fully possible for a person skilled in the art, on reading this description, to identify some of the devices as single embodiments. That is, embodiments in this specification may also be understood as an integration of a plurality of sub-embodiments. And each sub-embodiment described herein is equally applicable to less than all features of a single foregoing disclosed embodiment.
Each patent, patent application, publication of a patent application, and other material, such as articles, books, descriptions, publications, documents, articles, and the like, cited herein is hereby incorporated by reference. All matters hithertofore set forth herein except as related to any prosecution history, any prosecution history which may be inconsistent or conflicting with this document, or any prosecution history which may have a limiting effect on the broadest scope of the claims. Now or later associated with this document. For example, if there is any inconsistency or conflict in the description, definition, and/or use of terms associated with any of the included materials with respect to the terms, descriptions, definitions, and/or uses associated with this document, the terms in this document are used.
Finally, it should be understood that the embodiments of the application disclosed herein are illustrative of the principles of the embodiments of the present specification. Other modified embodiments are also within the scope of this description. Accordingly, the disclosed embodiments are to be considered in all respects as illustrative and not restrictive. Those skilled in the art may implement the applications in this specification in alternative configurations according to the embodiments in this specification. Therefore, the embodiments of the present description are not limited to the embodiments described precisely in the application.

Claims (24)

1. An online resource allocation method, comprising:
acquiring an initial distribution parameter corresponding to each online resource in an online resource set to obtain an initial set of the initial distribution parameters;
dividing the initial distribution parameters in the initial set into N groups to obtain N initial sub-sets of the initial distribution parameters, and performing co-evolution on the N initial sub-sets to obtain N target sub-sets of the distribution parameters after co-evolution, wherein N is the target grouping number and is an integer greater than 1; and
and splicing the N target subsets to obtain a target distribution parameter set corresponding to the online resource set, and distributing each online resource based on the target distribution parameter set.
2. The online resource allocation method of claim 1, wherein the online resource comprises at least one of an item resource, a content resource, or a user resource.
3. The online resource allocation method of claim 1, wherein said dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters comprises:
acquiring an allocation request of the online resource set and resource attribute information of each online resource;
determining grouping constraint information for each of the online resources based on the allocation request and the resource attribute information; and
and dividing the initial distribution parameters in the initial set into N groups based on the grouping constraint information to obtain initial subsets of the N initial distribution parameters.
4. The online resource allocation method according to claim 3, wherein said dividing the initial allocation parameters in the initial set into N groups based on the grouping constraint information to obtain the initial subsets of the N initial allocation parameters comprises:
determining a target grouping constraint condition corresponding to each online resource based on the grouping constraint information; and
and dividing the initial distribution parameters in the initial set into N groups based on the target grouping constraint condition to obtain the N initial subsets.
5. The online resource allocation method of claim 4, wherein said determining the target grouping constraint condition corresponding to each online resource based on the grouping constraint information comprises:
acquiring a preset grouping constraint condition set of the online resource set pair;
extracting at least one constraint element from the grouping constraint information; and
and selecting the grouping constraint condition corresponding to the at least one constraint element from the preset grouping constraint condition set to obtain a target grouping constraint condition.
6. The online resource allocation method of claim 5, wherein said at least one constraint element comprises at least one of a business scenario, a business object, a resource attribute, or an allocation object.
7. The online resource allocation method according to claim 4, wherein said dividing the initial allocation parameters in the initial set into N groups based on the target grouping constraint condition to obtain the N initial subsets comprises:
selecting at least one target initial distribution parameter under the same target grouping constraint condition from the initial set; and
and taking the at least one target initial allocation parameter as an initial subset to obtain the N initial subsets.
8. The online resource allocation method of claim 1, wherein said dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters comprises:
identifying an association between the initial allocation parameters in the initial set, the association characterizing whether there is an interaction between the initial allocation parameters; and
and dividing the initial distribution parameters in the initial set into N groups based on the incidence relation to obtain the N initial subsets.
9. The online resource allocation method of claim 8, wherein said identifying an association between said initial allocation parameters in said initial set comprises:
selecting two initial distribution parameters from the initial set to obtain an initial distribution parameter pair, and determining a target association relation between the initial distribution parameters in the initial distribution parameter pair; and
and returning to execute the step of selecting two initial distribution parameters in the initial set until the initial distribution parameters in the initial set are all selected, and obtaining the association relation between the initial distribution parameters in the initial set.
10. The online resource allocation method of claim 9, wherein the pair of initial allocation parameters comprises a first initial allocation parameter and a second initial allocation parameter; and
the determining a target association relationship between initial allocation parameters in the initial allocation parameter pair includes:
obtaining a preset set of allocation parameter values, the preset set of allocation parameter values comprising a first subset of allocation parameter values and a second subset of allocation parameter values, the first subset of allocation parameter values being of the same value as the first initial allocation parameter and the second initial allocation parameter being of a different value,
determining a target difference value between the first initial allocation parameter and the second initial allocation parameter based on the subset of first allocation parameter values and the subset of second allocation parameter values, the target difference value being a difference between allocation response increments at different values of the second initial allocation parameter, the allocation response increment being an increment after an allocation response is performed at different values of the first initial allocation parameter, and
determining the target association relationship based on the target response difference, where the target association relationship includes one of existence of an interaction relationship or nonexistence of an interaction relationship, the nonexistence of an interaction relationship corresponds to the target difference being smaller than a preset difference threshold, and the existence of an interaction relationship corresponds to the target difference being larger than the preset difference threshold.
11. The online resource allocation method of claim 10, wherein said first subset of allocation parameter values comprises at least two candidate values for said first initial allocation parameter; and
the determining a target difference value between the first initial allocation parameter and the second initial allocation parameter comprises:
obtaining the distribution response increment corresponding to the first distribution parameter value subset to obtain a first distribution response increment,
obtaining the distribution response increment corresponding to the second distribution parameter value subset to obtain a second distribution response increment, and
determining a difference between the first allocation response increment and the second allocation response increment to obtain the target difference value.
12. The online resource allocation method of claim 11, wherein said first subset of allocation parameter values further comprises a target value of said second initial allocation parameter; and
the obtaining of the allocation response increment corresponding to the first allocation parameter value subset to obtain a first allocation response increment includes:
determining an allocation response value corresponding to each of the at least two candidate values based on the target value, an
And acquiring a difference value between the distribution response values to obtain the first distribution response increment.
13. The online resource allocation method according to claim 8, wherein said dividing the initial allocation parameters in the initial set into N groups based on the association relationship to obtain the N initial subsets comprises:
based on the association relationship, grouping at least one initial allocation parameter with an interaction relationship into a group in the initial set, and separately grouping at least one initial allocation parameter without an interaction relationship to obtain the N initial subsets.
14. The online resource allocation method of claim 1, wherein said dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters comprises:
acquiring an original sequence of the initial distribution parameters in the initial set;
selecting target initial distribution parameters from the initial set based on the original sequence; and
based on the position of the target initial distribution parameter, dividing the initial distribution parameters in the initial set into two groups to obtain N initial sub-sets, wherein N is 2.
15. The online resource allocation method of claim 1, wherein said dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters comprises:
and randomly dividing the initial distribution parameters in the initial set into two groups to obtain N initial sub-sets, wherein N is 2.
16. The online resource allocation method according to claim 1, wherein the dividing the initial allocation parameters in the initial set into N groups to obtain N initial subsets of initial allocation parameters, and performing co-evolution on the N initial subsets to obtain N target subsets of co-evolved allocation parameters comprises:
acquiring a preset grouping quantity set, wherein the preset grouping quantity set comprises M grouping quantities, and M is an integer greater than 1; and
and dynamically and randomly grouping the initial distribution parameters in the initial set based on the preset grouping quantity set, and performing co-evolution on the grouped initial subsets of the initial distribution parameters to obtain a target subset of N distribution parameters corresponding to each grouping quantity in the M grouping quantities.
17. The online resource allocation method according to claim 16, wherein the dynamically randomly grouping initial allocation parameters in the initial set based on the preset grouping number set, and performing co-evolution on the grouped initial subset of the initial allocation parameters to obtain a target subset of N allocation parameters corresponding to each grouping number in the M grouping numbers comprises:
selecting a packet number from the preset packet number set as the target packet number N, and dividing initial distribution parameters in the initial set into N groups based on the target packet number N to obtain N initial subsets; and
and carrying out co-evolution on the N initial subsets, and returning to execute the step of selecting one grouping number from the preset grouping number set as the target grouping number N until all the grouping numbers in the preset grouping number set are selected, thereby obtaining the target subsets of N distribution parameters corresponding to each grouping number in the M grouping numbers.
18. The online resource allocation method according to claim 16, wherein said splicing the N target subsets to obtain a target allocation parameter set corresponding to the online resource set comprises:
splicing the target subsets of the N distribution parameters corresponding to each group number to obtain a global distribution parameter set corresponding to the online resource set;
selecting at least one distribution parameter from the target subset of N distribution parameters corresponding to each group number to obtain candidate distribution parameters; and
and updating the global distribution parameter set based on the candidate distribution parameters to obtain the target distribution parameter set.
19. The online resource allocation method of claim 1, wherein said co-evolving the N initial subsets to obtain N target subsets of co-evolved allocation parameters comprises:
acquiring resource allocation constraint information corresponding to the online resource set; and
for each of the N initial subsets:
based on the resource allocation constraint information, taking the initial allocation parameters in the initial sub-set as parents to evolve to obtain the evolved child allocation parameters, and fusing the child allocation parameters with the initial sub-set,
selecting a preset number of target candidate distribution parameters from the fused candidate distribution parameter set to obtain a parent distribution parameter set, and
and taking the parent distribution parameter set as the initial sub-set, returning to execute the step of carrying out evolution by taking the initial distribution parameters in the initial sub-set as the parent based on the resource distribution constraint information until the preset evolution times are reached, and obtaining the evolved distribution parameter sub-set.
20. The online resource allocation method according to claim 19, wherein the selecting a preset number of target candidate allocation parameters from the fused candidate allocation parameter set to obtain a parent allocation parameter set comprises:
performing non-dominated sorting on the candidate distribution parameters in the fused candidate distribution parameter set;
determining a congestion degree of each candidate allocation parameter in the candidate allocation parameter set; and
and selecting a preset number of candidate distribution parameters from the candidate distribution parameter set based on the sorting result of the non-dominated sorting and the crowdedness to obtain a parent distribution parameter set.
21. The online resource allocation method of claim 19, wherein said resource allocation constraint information comprises first allocation boundary information corresponding to said set of online resources, second allocation boundary information corresponding to said each initial subset, third allocation boundary information corresponding to said each online resource, fourth allocation boundary information of each said allocation parameter, and expected response value corresponding to said set of online resources.
22. The online resource allocation method according to claim 1, wherein said splicing the N target subsets to obtain a target allocation parameter set corresponding to the online resource set comprises:
selecting at least one distribution parameter from each target subset of the N target subsets to obtain a current distribution parameter set; and
and splicing the distribution parameters in the current distribution parameter set to obtain the target distribution parameters corresponding to the online resources.
23. The online resource allocation method of claim 1, wherein said allocating said each online resource based on said target set of allocation parameters comprises:
selecting a target distribution parameter corresponding to each online resource from the target distribution parameter set;
acquiring preset distribution flow corresponding to each online resource, and determining target distribution flow corresponding to each online resource based on the target distribution parameters and the preset distribution flow; and
and allocating each online resource based on the target allocation flow.
24. An online resource allocation system, comprising:
at least one storage medium storing at least one set of instructions for performing online resource allocation; and
at least one processor communicatively coupled to the at least one storage medium,
wherein when the online resource allocation system is running, the at least one processor reads the at least one instruction set and performs the online resource allocation method of any of claims 1-23 in accordance with the instructions of the at least one instruction set.
CN202211537359.3A 2022-12-02 2022-12-02 Online resource allocation method and system Pending CN115951992A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211537359.3A CN115951992A (en) 2022-12-02 2022-12-02 Online resource allocation method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211537359.3A CN115951992A (en) 2022-12-02 2022-12-02 Online resource allocation method and system

Publications (1)

Publication Number Publication Date
CN115951992A true CN115951992A (en) 2023-04-11

Family

ID=87290625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211537359.3A Pending CN115951992A (en) 2022-12-02 2022-12-02 Online resource allocation method and system

Country Status (1)

Country Link
CN (1) CN115951992A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117910410A (en) * 2024-03-19 2024-04-19 电子科技大学 Large-scale multi-target simulation chip circuit evolution optimization design method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117910410A (en) * 2024-03-19 2024-04-19 电子科技大学 Large-scale multi-target simulation chip circuit evolution optimization design method
CN117910410B (en) * 2024-03-19 2024-05-31 电子科技大学 Large-scale multi-target simulation chip circuit evolution optimization design method

Similar Documents

Publication Publication Date Title
CN109919316B (en) Method, device and equipment for acquiring network representation learning vector and storage medium
CN104077723B (en) A kind of social networks commending system and method
CN113011282A (en) Graph data processing method and device, electronic equipment and computer storage medium
US20240152732A1 (en) Training and prediction of hybrid graph neural network model
JP2018515844A (en) Data processing method and system
CN111984383B (en) Service data processing method and cloud platform based on cloud network fusion and artificial intelligence
CN115951992A (en) Online resource allocation method and system
US8738628B2 (en) Community profiling for social media
CN111832589A (en) Method and device for classifying multi-stage classified objects
CN105739929A (en) Data center selection method for big data to migrate to cloud
CN112449217B (en) Method and device for pushing video, electronic equipment and computer readable medium
CN111951112A (en) Intelligent contract execution method based on block chain, terminal equipment and storage medium
CN114691370A (en) Task allocation method and device based on genetic algorithm
CN113655942A (en) Chart data display method and device
CN113132445A (en) Resource scheduling method, device, network system and storage medium
US20160321682A1 (en) Interpolation using matrix completion
CN111353277A (en) Node coding method and device and method for determining node dependency relationship
CN112308595A (en) Method and device for determining the state of an item
CN113256030B (en) Storage area goods tide storage control method and device
CN111199437A (en) Data processing method and device
CN113449941B (en) Method and device for distributing picking tasks, electronic equipment and storage medium
WO2024113966A1 (en) Article identifier information generation method and apparatus, and device, medium and program product
CN116720927B (en) Book recommendation method, system and storage medium
Mansha et al. A self-organizing map for identifying influentialcommunities in speech-based networks
CN112819555A (en) Article recommendation method and device

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