Self-adaptive breeding algorithm for multiple characters of livestock and poultry
Through the adaptive seed selection algorithm dynamically adjusts the seed selection parameters, the automation problem of multi-trait seed selection in livestock and poultry breeding is solved, and an efficient and accurate breeding process is achieved. It is suitable for different livestock species and breeds, improving breeding efficiency and quality.
Patent Information
- Application Number
- CN202510461572.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-14
- Publication Date
- 2025-08-15
AI Technical Summary
The existing livestock and poultry breeding methods are mainly based on single traits or a few trait selections, which leads to limited selection effects and is difficult to achieve automation. Especially in species such as poultry and pigs, there are problems with the same individual ranking of all and half traits, which increases the difficulty of breeding and the analysis challenges of historical selection data.
An adaptive seed selection algorithm with multiple traits in livestock and poultry is adopted. By setting seed selection parameter information and dynamically adjusting seed selection parameters, one-click automatic seed selection for candidate groups is realized, including determining the number of eliminated individuals, trait elimination weight, data attributes and elimination direction, and automatically identifying the family structure in the group, solving the interference of equal-value individual rankings, and is suitable for different livestock species and breeds.
It improves the efficiency and quality of livestock and poultry breeding, reduces manual intervention, and realizes efficient and automated multi-trait selection of species such as poultry and pigs, and has strong versatility and flexibility.
Smart Images

Figure BDA0005357284200000081 
Figure BDA0005357284200000121 
Figure BDA0005357284200000151
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of livestock and poultry breeding, in particular to an adaptive breeding algorithm for livestock and poultry with multiple traits. Background Art
[0002] In livestock and poultry breeding, seed selection is a crucial task and the core of breeding work. Existing selection methods are typically based on a single trait or a few traits, which to some extent limits the effectiveness of selection. The desirable traits of livestock and poultry are generally multifaceted, including growth, meat quality, reproductive ability, disease resistance, and other aspects. Therefore, comprehensive multi-trait selection has become a research focus. Multi-trait selection faces a complex optimization problem. Although selection indices are often used in academic research, in actual livestock and poultry breeding practice, a method between sequential elimination and independent elimination is still more commonly used. This method selects multiple traits one by one, which involves many steps and is not easy to automate. In addition, the unique breeding models of species such as poultry and pigs dictate that candidate populations contain a large number of full-sibs and half-sibs. In actual selection, candidate populations need to be selected based on full-sib performance, half-sib performance, and even parental performance. Traditional methods cannot avoid the problem of full-sibs or half-sibs having the same ranking. This problem is particularly prominent in the selection of male livestock, as their reproductive traits rely on information from their full siblings. Selection is easily influenced by subjective factors, and there is no fixed selection logic and basis in different selection scenarios, which increases the difficulty of breeding work, limits the efficiency of selection, and also poses a great challenge to the retrospective analysis of historical selection data.
[0003] Therefore, developing a universal, efficient, and automated multi-trait selection algorithm framework is of great significance for improving the efficiency and quality of livestock and poultry breeding. Summary of the Invention
[0004] In response to the above problems, the present invention aims to provide a universal, efficient, and automated multi-trait selection algorithm for different livestock breeds to solve the problems existing in existing selection methods and improve the efficiency and quality of livestock and poultry breeding.
[0005] To achieve the above objectives, the present invention proposes an adaptive multi-trait livestock and poultry selection algorithm. This algorithm automatically identifies the family structure within a population based on the selection data source by setting selection parameter information, dynamically adjusts the selection parameter information, and implements one-click automatic selection of candidate populations. This improves the flexibility and standardization of selection, providing a more efficient and accurate solution for livestock and poultry breeding. The technical solutions adopted by the present invention are as follows:
[0006] An adaptive selection algorithm for multiple traits of livestock and poultry is disclosed. The selection method comprises the following steps: firstly determining the number of individuals in a candidate group and the number of eliminated individuals; simultaneously clarifying the selection parameters such as the elimination weight, data attributes, elimination order, and elimination direction of each trait during the selection process; then, according to the elimination order, using the number of eliminated individuals and the elimination weight of each trait in turn, calculating the elimination number of each trait; and then selecting individuals for elimination based on the elimination direction and data attributes for each trait.
[0007] Furthermore, the specific process of elimination is as follows:
[0008] Clearly define the number of eliminated traits in the candidate population as p, and set the elimination weight w for each trait i , i=1,2,3……p, and
[0009] Eliminate each trait in turn according to the elimination order;
[0010] When eliminating the i-th trait, the number of eliminated individuals and the elimination weight w of the i-th trait are used. i , calculate the elimination number of the trait cull i , and sort the candidate groups from large to small or from small to large according to the data attributes, and then judge the cull i Is there any connection between the individual before and after the cull i Individuals with equal values are selected, and then the actual number of eliminations is determined according to the elimination direction of the i-th trait.
[0011] Furthermore, when the elimination direction is 1, individuals with smaller data attributes are eliminated; when the direction is 2, individuals with larger data attributes are eliminated.
[0012] Furthermore, the specific steps of the seed selection method are as follows:
[0013] Set selection parameters: define the number of eliminated traits in the candidate population as p, and set the elimination weight w for each trait i , i=1,2,3……p, and
[0014] Clarify the data attributes of each trait (phenotypic value, conventional breeding value or genomic breeding value, where conventional breeding value and genomic breeding value are both estimated breeding values), the elimination order of each trait, and the elimination direction of each trait; the elimination weight, data attributes, elimination order and selection direction of each trait are all used as selection parameters;
[0015] Prepare the selection source data: clarify the values of each selection parameter, and make it clear that there are N individuals in the candidate population and a total of T individuals need to be eliminated;
[0016] Elimination selection based on the number of eliminated traits: According to the elimination order of traits, retrieve the selection source data and start eliminating the i-th (i=1, 2, 3...p) trait. At this time, there are N* individuals in the candidate population. The process of eliminating the i-th trait is as follows:
[0017] 1) Calculate the number of eliminations of the current trait cull i ;
[0018] 2) Eliminate the i-th trait of the candidate population according to the elimination number:
[0019] When the elimination direction of the i-th trait is 1, the individuals with smaller data attributes of the trait are eliminated;
[0020] When the elimination direction of the i-th trait is 2, the individuals with larger data attributes of the trait are eliminated;
[0021] Complete the elimination of the i-th trait of the candidate population, and actually eliminate cull i* Individuals, go to step 3);
[0022] 3) Update the elimination weight of the i-th trait: Recalculate the elimination weight (actual weight) w of the i-th trait i * ;
[0023] 4) Update the elimination weights of the (i+1)th to pth traits: Calculate the total weight w of the remaining traits * , and then redistribute the elimination weights of each trait according to the relative elimination weights of the remaining traits;
[0024] 5) Update the number of eliminated traits for the remaining traits: recalculate the number of eliminated traits from (i+1)th to pth traits according to the elimination order of the traits;
[0025] 6) Update the seed selection source data: remove the individuals eliminated in step 2) from the seed selection source data to obtain new seed selection source data; the new seed selection source data has a total of N*=N-cull i* candidate individuals;
[0026] 7) Repeat steps 1) to 6) until all traits are eliminated and the final selected individual is obtained.
[0027] Furthermore, in step 2), the specific process of eliminating the i-th trait of the candidate population is as follows:
[0028] When the elimination direction of the ith trait is 1, the trait needs to eliminate individuals with smaller data attributes, specifically:
[0029] Sort the values of the i-th trait data attribute from small to large to obtain the first sequence; then sort the candidate group in the same order from small to large according to the size of the individual identity information to obtain the second sequence;
[0030] Determine the cull in the first sequence i In the second sequence, whether there are individuals with the same value before and after each individual;
[0031] When the second sequence does not have the same i When there are individuals with equal values, the individuals from 1 to cull are eliminated from the first sequence. i individuals, the actual number of culls i * =cull i ;
[0032] When there is a cull in the second sequence i When there are individuals with equal values, the cullth individual in the first sequence is obtained. i The number of individuals with the same value before and after the individual is d i1 and d i2 , d i1 and d i2 No cull i individual;
[0033] If d i1 >d i2 , then eliminate the 1st~(cull i +d i2 ) individuals, the actual number of eliminated cull i * =cull i +d i2 If d i1 ≤d i2 , then eliminate the 1st~(cull i -d i1 -1) individuals, the actual number of culled cull i * =cull i -d i1 -1;
[0034] When the elimination direction of the ith trait is 2, the trait needs to eliminate individuals with larger data attributes, specifically:
[0035] Sort the values of the i-th trait data attribute from large to small to obtain a first sequence; then sort the candidate group in the same order from large to small according to the size of the individual identification numbers to obtain a second sequence;
[0036] Determine the cull in the first sequence i In the second sequence, whether there are individuals with the same value before and after each individual;
[0037] When the second sequence does not have the same i When there are individuals with equal values, the individuals from 1 to cull are eliminated from the first sequence. i individuals, the actual number of culls i * =cull i ;
[0038] When there is a cull in the second sequence i When there are individuals with equal values, the cullth individual in the first sequence is obtained. i The number of individuals with the same value before and after the individual is d i1 and d i2 , d i1 and d i2 No cull i individual;
[0039] If d i1 >d i2 , then eliminate the 1st~(cull i +d i2 ) individuals, the actual number of eliminated cull i * =cull i +d i2 If d i1 ≤d i2 , then eliminate the 1st~(cull i -d i1 -1) individuals, the actual number of culled cull i * =cull i -d i1 -1;
[0040] Complete the elimination of the i-th trait of the candidate population, and actually eliminate cull i* Individuals, go to step 3);
[0041] Among them, d i1 Indicates that in the current character sorting, i The number of individuals with equal value and ahead of them (excluding the first cull individuals) i the individual itself).
[0042] d i2 Indicates that in the current character sorting,i The number of individuals (i.e., the boundary individuals to be eliminated currently) with equal values and the individuals ranked behind it (excluding the cull i individual itself).
[0043] Furthermore, in step 1), when i < p, the number of eliminations cull i = int(T * w i ), where int is a floor function;
[0044] When i = p, the number of eliminations for the i-th trait is
[0045] Furthermore, in step 3), the elimination weight (actual weight) w i * = cull i* / T; when the actual number of eliminated individuals is the same as the preset number of eliminations, the elimination weight is not updated; when the actual number of eliminated individuals is inconsistent with the preset number of eliminations, the elimination weight is updated.
[0046] Furthermore, in step 4), the total weight of the remaining traits
[0047] The updated elimination weight of the (i + 1)-th to p-th traits where j is from (i + 1) to p.
[0048] Furthermore, in step 5), according to the elimination order of the traits again, in the method of step 1), with the updated elimination weight in step 4), recalculate the number of eliminations for the (i + 1)-th to p-th traits.
[0049] Furthermore, in step 7), when eliminating the last trait, i.e., the p-th trait, directly eliminate according to the preset number of eliminations;
[0050] When eliminating non-last traits, the judgment of equal-value individuals is added.
[0051] The beneficial effects of an adaptive selection algorithm for multiple traits of livestock and poultry in the present invention are as follows:
[0052] The present invention provides an efficient one-key selection algorithm for multiple traits of livestock and poultry. Through steps such as setting selection parameters, updating selection parameters, and selection source data, the algorithm can dynamically adjust selection parameters according to real-time selection source data, completely solving the interference of the ranking of equal-value individuals on the results in the actual selection process. It is applicable to species such as poultry and pigs for one-key operation selection based on individual performance, full-sibling performance, half-sibling performance, and parental performance, reducing manual intervention and having strong versatility and flexibility in different livestock species and different breeds (strains). DETAILED DESCRIPTION
[0053] The technical solutions in the embodiments of the present invention are described clearly and completely below. Many specific details are set forth in the following description to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein, and those skilled in the art may make similar generalizations without violating the scope of the present invention. Therefore, the present invention is not limited to the specific embodiments disclosed below.
[0054] Example 1: An adaptive breeding algorithm for multiple traits of livestock and poultry
[0055] This embodiment is an adaptive breeding algorithm for livestock and poultry based on multiple traits, which specifically includes the following steps:
[0056] S1. Set seed selection parameters
[0057] Specify the variety (strain), generation, batch, sex, number of eliminated traits p of the candidate population, and set the elimination weight w for each trait i (i=1,2,3……p,and ), the data attributes of each trait (phenotypic value, conventional breeding value or genomic breeding value), the elimination order of each trait, and the elimination direction of each trait (when the direction is 1, it means eliminating individuals with smaller trait values; when the direction is 2, it means eliminating individuals with larger trait values, where the trait value is the data attribute). The elimination weight, data attributes, elimination order and selection direction of each trait are all used as selection parameters;
[0058] For the same trait, such as eggshell strength at 36 weeks of age or weight at 6 weeks of age, they can be phenotypic values, conventional breeding values, or genomic breeding values. In actual breeding, different values can be selected for the same trait. Phenotypic values, conventional breeding values, or genomic breeding values are all data attributes.
[0059] S2. Prepare seed selection source data
[0060] Based on the selection parameters in step S1, the source selection data (excluding dead or eliminated individuals) is obtained, including the candidate population's identity information, the candidate population's sire ID, the candidate population's dam ID, and the specific values of each trait selection parameter. Assume there are N individuals in the candidate population, and a total of T individuals need to be eliminated. The candidate population's sire ID and dam ID are used to determine whether the individual is a full sibling or a half sibling.
[0061] S3. Elimination and selection based on the number of eliminated traits
[0062] Retrieve the seed selection source data according to the elimination order of traits, and start to eliminate the i-th (i = 1, 2, 3... p) trait. At this time, there are N* individuals in the candidate population.
[0063] S31. Calculate the number of eliminations for the current trait:
[0064] When i < p, round the result downwards. Then the number of eliminations for the i-th trait is int(T * w i ) = cull i individuals, where int is a function for rounding downwards and can be implemented through programming languages such as R, SAS, Python, etc.
[0065] When i = p, the number of eliminations cull p is:
[0066]
[0067] S32. Eliminate according to the number of eliminations;
[0068] S321: When the elimination direction of the i-th trait is 1, then individuals with smaller data attributes for this trait need to be eliminated.
[0069] First, sort the values of the data attributes of the i-th trait from smallest to largest to obtain the first sequence, and then sort them in the same order from smallest to largest according to the individual identity information in the candidate population to obtain the second sequence. Determine whether there are individuals with equal values to the cull i th individual in the second sequence before and after it (i.e., individuals who are full siblings or half siblings of the cull i th individual).
[0070] When there are no individuals with equal values to the cull i th individual in the second sequence, then eliminate the 1st to cull i th individuals from the first sequence, and record the actual number of eliminations cull <0
[0072] If d i1 >d i2 , then eliminate the 1st~(cull i +d i2 ) individuals, record the number of individuals actually eliminated in this step cull i * =cull i +d i2 If d i1 ≤d i2 , then eliminate the 1st~(cull i -d i1 -1) individuals, record the number of individuals actually eliminated in this step cull i * =cull i -d i1 -1. At this point, the elimination of the i-th trait of the candidate population is completed, and the process of updating the elimination weight of the i-th trait in step S33 is entered. S322: When the elimination direction of the i-th trait is 2, individuals with larger data attributes need to be eliminated for this trait.
[0073] First, the values of the i-th trait data attributes are sorted from large to small to obtain the first sequence; then the candidate groups are sorted in the same order from large to small according to the size of the individual identity numbers to obtain the second sequence.
[0074] Determine the cull in the first sequence i In the second sequence, are there any individuals before and after it with the same value as the individual (i.e., the same individual as the first cull? i individuals are full siblings or half siblings).
[0075] When the second sequence does not have the same i When there are individuals with equal values, 1~cull are eliminated from the first sequence i Individuals, record the number of cull actually eliminated in this step i * =cull i At this point, the elimination of the i-th trait of the candidate population is completed, and the process of updating the elimination weight of the i-th trait in step S33 is entered.
[0076] When there is a cull in the second sequence i When there are individuals with equal values, the cullth individual in the first sequence is obtained. i The number of individuals with the same value before and after the individual is d i1 and d i2 (excluding the first i individuals).
[0077] If d i1 >d i2 , then eliminate the 1st~(cull i +d i2 ) individuals, record the number of individuals actually eliminated in this step cull i * =cull i +d i2 If d i1 ≤d i2 , then eliminate the 1st~(cull i -d i1 -1) individuals, record the number of individuals actually eliminated in this step cull i * =cull i -d i1 -1. At this point, the elimination of the i-th trait of the candidate population is completed, and the process of updating the elimination weight of the i-th trait in step S33 is entered.
[0078] Among them, d i1 Indicates that in the current character sorting, i The number of individuals with equal value and ahead of them (excluding the first cull individuals) i the individual itself).
[0079] d i2 Indicates that in the current character sorting, i The number of individuals with the same value as the individuals (i.e. the boundary individuals that need to be eliminated at present) and the number of individuals behind them (excluding the cull i individual itself); cull i* This is C below i .
[0080] S33. Update the elimination weight of the i-th trait
[0081] Recalculate the elimination weight (actual weight) w of the i-th trait i * Specifically, the elimination weight w of the i-th trait i * =cull i* / T. When the actual number of eliminated individuals is consistent with the preset number of eliminated individuals, the elimination weight is not updated; when the actual number of eliminated individuals is inconsistent with the preset number of eliminated individuals, the elimination weight is updated.
[0082] S34. Update the elimination weights of the (i+1)th to pth traits
[0083] Calculate the total weight consumed by the i-th trait and the total weight of the remaining traits Then, according to the relative elimination weights of the remaining traits, the elimination weights of each trait are redistributed, that is, Where j is (i+1)~p, and the updated elimination weights of the (i+1)~pth traits are obtained.
[0084] S35. Update the number of eliminations for the remaining traits
[0085] According to the elimination order of the traits, the elimination number of the (i+1)th to pth traits is recalculated according to the method in step S31 and the elimination weights updated in step S34.
[0086] S36. Update seed selection source data
[0087] Eliminate the individuals eliminated in step S32 from the seed selection source data to obtain new seed selection source data. The new seed selection source data has a total of N*=NC i candidate individuals.
[0088] S37. Repeat steps S31 to S36 until all traits are eliminated and the final selected individual is obtained.
[0089] Among them, when eliminating the last trait, that is, the pth trait, elimination is directly performed according to the preset elimination number;
[0090] When eliminating traits other than the last one, the judgment of individuals with equal value is added.
[0091] The seed selection method of the present invention is applicable to broilers, laying hens, pigs and other livestock species.
[0092] Example 2 Application of seed selection method
[0093] This example illustrates a specific application of an adaptive multi-trait selection algorithm for livestock and poultry. The selection method described in Example 1 is used for laying hen breeding. A candidate population of 1235 roosters from the 14th generation of a strain A was selected, and 130 individuals were selected, as shown in Table 1.
[0094] Table 1 Overall selection parameters of strain A
[0095] strain generations batch gender Number of candidate groups Number of eliminations A 14 1 hen 1235 N=1105
[0096] The seed selection method in Example 1 is used to select seeds:
[0097] S1. Set seed selection parameters
[0098] Based on the breeding objectives of Line A, four traits were considered: body weight at 36 weeks of age, egg production at 80 weeks of age, eggshell color L value at 55 weeks of age, and eggshell strength at 66 weeks of age (referred to as BW36, EN80, ESCL55, and ESS66, respectively). EN80 and ESS66 were the key traits selected for Line A. All four traits were selected using estimated breeding values, with selection weights of 10%, 40%, 20%, and 30%, respectively. The selection (elimination) order was 1 to 4. With the exception of ESCL55, which had a selection direction of 2, the selection direction for all other traits was 1. See Table 2 for details.
[0099] Table 2 Selection parameters for each trait
[0100]
[0101]
[0102] S2. Prepare seed selection source data
[0103] According to the selection parameters in step S1, the selection source data (excluding dead and eliminated individuals) are obtained. There are 1235 individuals in the candidate population (N=1235), and a total of 1105 individuals need to be eliminated (T=1105).
[0104] S3. Elimination and selection based on the number of eliminated traits
[0105] S31. Calculate the number of eliminations for the first trait
[0106] According to the selection algorithm rules, the first trait requires the elimination of int(1105*10%)=110 individuals, that is, cull1=110 when the first trait is eliminated.
[0107] S32. Select the first trait
[0108] The elimination direction of the first trait is determined to be 1. The selection source data are sorted according to the phenotypic value of the first trait (BW36) from small to large to obtain the first sequence. Then, the candidate population is sorted in the same order from small to large according to the size of the individual ID numbers to obtain the second sequence. It is found that in the second sequence, there are no individuals with the same value before and after the 110th individual, so the individuals 1 to 110 are eliminated from the first sequence (i.e., cull 1* =C1=110), these individuals are removed from the selection source data, and the selection source is updated. There are 1125 individuals left in the selection source (then N*=1125 when the second trait is eliminated).
[0109] Update the elimination weight w1 of the first trait * =110 / 1105*100%=9.95%.
[0110] S33. Calculate the number of eliminations for the second trait
[0111] According to the selection algorithm rules, calculate the total weight w of the remaining traits * =1-9.95%=90.05%, then redistribute the elimination weights of each trait according to the previous relative elimination weights of the remaining traits, calculate the updated elimination weight of the second trait, the updated elimination weight of the second trait=90.05%*40% / (40%+20%+30%)=40.02%, further calculate the elimination number of the second trait, the number of individuals that need to be eliminated for the second trait is int(1105*40.02%)=442 (cull2=442 when the second trait is eliminated).
[0112] S34. Select the second trait
[0113] The elimination direction of the second trait is determined to be 1. The selection source data are sorted from small to large according to the estimated breeding value of the second trait (EN80) to obtain the first sequence. Then, the candidate population is sorted in the same order from small to large according to the size of the individual identification numbers to obtain the second sequence. It is found that in the first sequence, there are 14 (d 21 =14) and 13 (d 22 =13) individuals with the same value, according to the algorithm rules, d 21 >d 22 , eliminate 1~(cull2+d from the first sequence 22 ), that is, the second trait eliminates individuals 1 to 455, removes these individuals from the selection source data, updates the selection source, and leaves 670 individuals in the selection source (then N*=670 when the third trait is eliminated).
[0114] The second trait actually eliminated 455 individuals, and the actual elimination weight of the second trait w2 was updated. * =455 / 1105*100%=41.18%.
[0115] S35. Calculate the number of eliminations for the third trait
[0116] According to the selection algorithm rules, calculate the total weight w of the remaining traits *=1-9.95%-41.18%=48.87%, then redistribute the elimination weights of each trait according to the previous relative elimination weights of the remaining traits, calculate the updated elimination weight of the third trait, the updated elimination weight of the third trait=48.87%*20% / (20%+30%)=19.55%, further calculate the elimination number of the third trait, the number of individuals that need to be eliminated for the third trait is int(1105*19.55%)=216 individuals (cull3=216 when the third trait is eliminated).
[0117] S36. Select the third trait
[0118] Judging that the elimination direction of the third trait is 2, the selection source data are sorted from large to small according to the estimated breeding value of the third trait (ESCL55) to obtain the first sequence, and then sorted in the same order from large to small according to the size of the individual identification numbers in the candidate group to obtain the second sequence. It is found that in the first sequence, there are 6 (d 31 =6) and 9 (d 32 =9) individuals with the same value, according to the algorithm rules, d 31 ≤d 32 , then eliminate 1~(cull3-d from the first sequence 31 -1), that is, the third trait eliminates the 1st to 209th individuals, removes these individuals from the selection source data, updates the selection source, and leaves 461 individuals in the selection source (then N*=461 when the fourth trait is eliminated).
[0119] The third trait actually eliminated 209 individuals, and the actual elimination weight of the third trait was updated to w3 * =209 / 1105*100%=18.91%.
[0120] S37. Calculate the number of eliminations for the fourth trait
[0121] According to the selection algorithm rules, calculate the total weight w of the remaining traits * =1-9.95%-41.18%-18.91%=29.96%, then the updated elimination weight of the fourth trait is w4 * =29.96%, further calculate the number of eliminations for the fourth trait, and the number of individuals that need to be eliminated for the fourth trait is int(1105*29.96%)=331 (when the fourth trait is eliminated, cull4=331).
[0122] S38. Select the fourth trait
[0123] The elimination direction for the fourth trait is determined to be 1. The selection source data are sorted from smallest to largest by the estimated breeding value of the fourth trait (ESS66) to obtain the first sequence. The candidate population is then sorted again in the same order from smallest to largest by the size of the individual identification numbers to obtain the second sequence. Individuals 1 to 331 are eliminated directly according to the preset elimination number, leaving the remaining 130 individuals as the final selected individuals.
[0124] S39. Compare selection results
[0125] The selection effect of the above adaptive selection algorithm is compared with the selection effect of the fixed preset elimination weight, and the results are shown in Table 3.
[0126] Table 3 Comparison of seed selection effects by different methods
[0127]
[0128] As can be seen from Table 3, a comparison of the performance of the offspring of individuals selected by different methods shows that the two methods are equally effective, but the adaptive selection method makes the entire selection process more efficient and requires less human intervention.
[0129] The embodiments described above are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention, and should all be included in the scope of protection of the present invention.
Claims
1. An adaptive breeding algorithm for livestock and poultry with multiple traits, characterized by: The selection method is to first determine the number of individuals in the candidate group and the number of eliminated individuals, and at the same time clarify the selection parameters such as the elimination weight, data attributes, elimination order and elimination direction of each trait in the selection process, and then calculate the elimination number of each trait according to the elimination order using the number of eliminated individuals and the elimination weight of each trait, and then select individuals for elimination based on the elimination direction and data attributes of each trait.
2. The adaptive breeding algorithm for livestock and poultry multi-trait selection according to claim 1, characterized in that: The specific process of elimination is as follows: Clearly define the number of eliminated traits in the candidate population as p, and set the elimination weight w for each trait i , i=1,2,3……p, and Eliminate each trait in turn according to the elimination order; When eliminating the i-th trait, the number of eliminated individuals and the elimination weight w of the i-th trait are used. i , calculate the elimination number of the trait cull i , and sort the candidate groups from large to small or from small to large according to the data attributes, and then judge the cull i Is there any connection between the individual before and after the cull i Individuals with equal values are selected, and then the actual number of eliminations is determined according to the elimination direction of the i-th trait.
3. The adaptive breeding algorithm for livestock and poultry multi-trait selection according to claim 1 or 2, characterized in that: When the elimination direction is 1, individuals with smaller data attributes are eliminated; When the direction is 2, individuals with larger data attributes are eliminated.
4. The adaptive breeding algorithm for livestock and poultry multi-trait selection according to claim 1 or 2, characterized in that: The specific steps of the seed selection method are as follows: Set selection parameters: define the number of eliminated traits in the candidate population as p, and set the elimination weight w for each trait i , i=1,2,3……p, and Clarify the data attributes of each trait, the elimination order of each trait, and the elimination direction of each trait; Prepare the selection source data: clarify the values of each selection parameter, and make it clear that there are N individuals in the candidate population and a total of T individuals need to be eliminated; Elimination selection based on the number of eliminated traits: According to the elimination order of traits, retrieve the selection source data and start eliminating the i-th trait. At this time, there are N* individuals in the candidate population; The process of eliminating the i-th trait is as follows: 1) Calculate the number of eliminations of the current trait cull i ; 2) Eliminate the i-th trait of the candidate population according to the elimination number: When the elimination direction of the i-th trait is 1, the individuals with smaller data attributes of the trait are eliminated; When the elimination direction of the i-th trait is 2, the individuals with larger data attributes of the trait are eliminated; Complete the elimination of the i-th trait of the candidate population, and actually eliminate cull i* Individuals, go to step 3); 3) Update the elimination weight of the i-th trait: Recalculate the elimination weight w of the i-th trait i * ; 4) Update the elimination weights of the (i+1)th to pth traits: Calculate the total weight w of the remaining traits * , and then redistribute the elimination weights of each trait according to the relative elimination weights of the remaining traits; 5) Update the number of eliminated traits for the remaining traits: recalculate the number of eliminated traits from (i+1)th to pth traits according to the elimination order of the traits; 6) Update the seed selection source data: remove the individuals eliminated in step 2) from the seed selection source data to obtain new seed selection source data; the new seed selection source data has a total of N*=N-cull i* candidate individuals; 7) Repeat steps 1) to 6) until all traits are eliminated and the final selected individual is obtained.
5. The adaptive breeding algorithm for livestock and poultry multi-trait selection according to claim 4, characterized in that: In step 2), the specific process of eliminating the i-th trait of the candidate population is as follows: When the elimination direction of the ith trait is 1, the trait needs to eliminate individuals with smaller data attributes, specifically: Sort the values of the i-th trait data attribute from small to large to obtain the first sequence; then sort the candidate group in the same order from small to large according to the size of the individual identity information to obtain the second sequence; Determine the cull in the first sequence i In the second sequence, whether there are individuals with the same value before and after each individual; When the second sequence does not have the same i When there are individuals with equal values, the individuals from 1 to cull are eliminated from the first sequence. i individuals, the actual number of culls i * =cull i ; When there is a cull in the second sequence i When there are individuals with equal values, the cullth individual in the first sequence is obtained. i The number of individuals with the same value before and after the individual is d i1 and d i2 , d i1 and d i2 No cull i individual; If d i1 >d i2 , then eliminate the 1st~(cull i +d i2 ) individuals, the actual number of eliminated cull i * =cull i +d i2 If d i1 ≤d i2 , then eliminate the 1st~(cull i -d i1 -1) individuals, the actual number of culled cull i * =cull i -d i1 -1; When the elimination direction of the ith trait is 2, the trait needs to eliminate individuals with larger data attributes, specifically: Sort the values of the i-th trait data attribute from large to small to obtain a first sequence; then sort the candidate group in the same order from large to small according to the size of the individual identification numbers to obtain a second sequence; Determine the cull in the first sequence i In the second sequence, whether there are individuals with the same value before and after each individual; When the second sequence does not have the same i When there are individuals with equal values, the individuals from 1 to cull are eliminated from the first sequence. i individuals, the actual number of culls i * =cull i ; When there is a cull in the second sequence i When there are individuals with equal values, the cullth individual in the first sequence is obtained. i The number of individuals with the same value before and after the individual is d i1 and d i2 , d i1 and d i2 No cull i individual; If d i1 >d i2 , then eliminate the 1st~(cull i +d i2 ) individuals, the actual number of eliminated cull i * =cull i +d i2 If d i1 ≤d i2 , then eliminate the 1st~(cull i -d i1 -1) individuals, the actual number of culled cull i * =cull i -d i1 -1; Complete the elimination of the i-th trait of the candidate population, and actually eliminate cull i* individuals, go to step 3).
6. The adaptive breeding algorithm for livestock and poultry multi-trait selection according to claim 4, characterized in that: In step 1), when i < p, the number of culled individuals for the i-th trait, cull i = int(T * w i ), where int is a floor function; When i=p, the number of eliminations of the i-th trait is 7. The adaptive breeding algorithm for livestock and poultry multi-trait selection according to claim 4, characterized in that: In step 3), the elimination weight w of the i-th trait i * =cull i* / T.
8. The adaptive breeding algorithm for livestock and poultry multi-trait selection according to claim 4, characterized in that: In step 4), the total weight of the remaining traits The updated elimination weights of the (i+1)th to pth traits Where j is (i+1)~p.
9. The adaptive livestock and poultry multi-trait selection algorithm according to claim 4, characterized in that: In step 5), the elimination number of the (i+1)th to pth traits is recalculated based on the elimination order of the traits and the method in step 1) with the elimination weights updated in step 4).
10. The adaptive livestock and poultry multi-trait selection algorithm according to claim 4, characterized in that: In step 7), when eliminating the last trait, i.e., the pth trait, elimination is performed directly according to the preset elimination number; When eliminating traits other than the last one, the judgment of individuals with equal value is added.