Discrete assembly scheduling method, device and equipment based on mixed linear integer programming
By using a hybrid linear integer programming approach, scheduling genes are encoded and fitness and objective functions are constructed to optimize the initial population. This solves the problems of low efficiency and insufficient accuracy in production planning and scheduling, and achieves efficient and accurate production plan generation.
Patent Information
- Application Number
- CN202411343723.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-25
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-09-25
AI Technical Summary
Existing technologies suffer from low efficiency and insufficient accuracy in production planning and scheduling, leading to problems such as information omissions and excessively long iteration search times.
A discrete assembly scheduling method based on hybrid linear integer programming is adopted. By encoding scheduling genes to construct fitness functions and objective functions, orders to be scheduled are obtained, preprocessed and chromosomes are constructed, and the target scheduling plan is obtained by iterative optimization using the initial population.
It improved the accuracy and efficiency of production scheduling, ensured that the production schedule conformed to the constraints of the actual production scenario, and reduced information omissions and iteration time.
Smart Images

Figure CN119443564B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information technology, and in particular to a discrete assembly scheduling method, apparatus and equipment based on hybrid linear integer programming. Background Technology
[0002] Reasonable production planning and scheduling is a must for modern refined and information-based production. In order to reasonably arrange production planning and scheduling, it is necessary to understand every production detail of the enterprise in detail, establish the relationship between materials, processes, resources, time, logical relationships, technical parameters, costs, BOM (Bill of Material), etc., and iterate repeatedly based on these production details to find the optimal production schedule. However, a lot of information is easy to be missed in this process, and the iterative search will consume a lot of time.
[0003] Therefore, there is an urgent need for a production scheduling method that can improve the efficiency and accuracy of production scheduling. Summary of the Invention
[0004] In view of this, the present invention provides a discrete assembly scheduling method, apparatus and equipment based on hybrid linear integer programming, which can solve the technical problems of low scheduling efficiency and insufficient accuracy.
[0005] According to one aspect of the present invention, a discrete assembly scheduling method based on hybrid linear integer programming is provided, the method comprising:
[0006] Encode the production scheduling gene, construct a fitness function based on the production scheduling gene and preset constraints, and construct an objective function based on the production scheduling gene;
[0007] Obtain production orders to be scheduled, preprocess the production orders to be scheduled according to the preset constraints to obtain production information to be scheduled, and construct chromosomes based on the production scheduling genes and the production information to be scheduled;
[0008] An initial population is preset for the chromosome, and the initial population is iteratively optimized according to the fitness function to obtain an excellent population. Among the excellent population, the target population that makes the objective function optimal is calculated, and the target population is used as the target production plan for the order to be scheduled.
[0009] According to another aspect of the present invention, a discrete assembly scheduling device based on hybrid linear integer programming is provided, characterized in that the device comprises:
[0010] The encoding module is used to encode the production scheduling gene, construct a fitness function based on the production scheduling gene and preset constraints, and construct an objective function based on the production scheduling gene.
[0011] The acquisition module is used to acquire orders to be scheduled for production, preprocess the orders to be scheduled for production according to the preset constraints to obtain the production information to be scheduled, and construct chromosomes based on the production scheduling genes and the production information to be scheduled;
[0012] The calculation module is used to preset an initial population for the chromosome, iteratively optimize the initial population according to the fitness function to obtain an excellent population, calculate the target population among the excellent population that makes the objective function optimal, and use the target population as the target production plan for the order to be scheduled.
[0013] According to another aspect of the present invention, a storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the above-described discrete assembly scheduling method based on hybrid linear integer programming.
[0014] According to another aspect of the present invention, a computer device is provided, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor, when executing the program, implements the above-described discrete assembly scheduling method based on hybrid linear integer programming.
[0015] By employing the above technical solution, this invention provides a discrete assembly scheduling method, apparatus, and equipment based on hybrid linear integer programming. This invention first encodes scheduling genes, constructs a fitness function based on the scheduling genes and preset constraints, and constructs an objective function based on the scheduling genes. Then, it acquires orders to be scheduled, preprocesses these orders according to the preset constraints to obtain scheduling information, and constructs chromosomes based on the scheduling genes and the scheduling information. Finally, it presets an initial population for the chromosomes, iteratively optimizes the initial population according to the fitness function to obtain an excellent population, and calculates the target population among the excellent populations that optimizes the objective function. This target population is then used as the target scheduling plan for the orders to be scheduled. Through the technical solution of this invention, by encoding scheduling genes and pre-setting preset constraints, after acquiring orders to be scheduled, preprocessing can be performed under the guidance of scheduling genes and preset constraints, solving the problem of insufficient scheduling accuracy caused by missing information. To obtain the target production schedule for pending orders, a chromosome is constructed using production scheduling genes and pending production information. A fitness function is then built based on the production scheduling genes and preset constraints, enabling iterative optimization strictly adhering to the actual pending production information, thus improving the accuracy of production scheduling. By using production scheduling genes, chromosomes, fitness functions, and objective functions adapted to discrete assembly production scheduling scenarios for iterative optimization, production scheduling efficiency is improved.
[0016] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description
[0017] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this invention, illustrate exemplary embodiments of the invention and are used to explain the invention, but do not constitute an undue limitation of this application. In the drawings:
[0018] Figure 1 A flowchart illustrating a discrete assembly scheduling method based on hybrid linear integer programming provided by an embodiment of the present invention is shown.
[0019] Figure 2 A flowchart illustrating another discrete assembly scheduling method based on hybrid linear integer programming provided by an embodiment of the present invention is shown.
[0020] Figure 3 This diagram illustrates a schematic representation of a discrete assembly scheduling device based on hybrid linear integer programming, according to an embodiment of the present invention.
[0021] Figure 4 This diagram illustrates another discrete assembly scheduling device based on hybrid linear integer programming provided by an embodiment of the present invention. Detailed Implementation
[0022] The present invention will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.
[0023] This embodiment provides a discrete assembly scheduling method based on hybrid linear integer programming, such as... Figure 1 As shown, the method includes:
[0024] 101. Encode the production scheduling gene, construct a fitness function based on the production scheduling gene and preset constraints, and construct an objective function based on the production scheduling gene.
[0025] 102. Obtain the production order to be scheduled, preprocess the production order to be scheduled according to the preset constraints to obtain the production information to be scheduled, and construct a chromosome based on the production gene and the production information to be scheduled.
[0026] 103. Preset an initial population for the chromosome, iteratively optimize the initial population according to the fitness function to obtain an excellent population, calculate the target population among the excellent population that makes the objective function optimal, and use the target population as the target production plan for the order to be scheduled.
[0027] For steps 101-103 of the embodiment, regarding the spawning gene:
[0028] First, since genetic algorithms construct chromosomes from genes during iterative optimization and then perform iterative optimization based on these chromosomes, it is necessary to encode scheduling genes corresponding to the scheduling scenario. Second, in addition to constructing chromosomes, scheduling genes are also used to construct fitness functions. The role of fitness functions is to select multiple groups of excellent populations. Therefore, scheduling genes are variables related to scheduling efficiency in the scheduling scenario, such as achieving the maximum output with the minimum inventory and the minimum time. The variables related to scheduling efficiency are inventory, time, and output, so the scheduling genes are inventory, time, and output.
[0029] For the preset constraints:
[0030] In production scheduling scenarios, the workshop contains a wealth of detailed information, and these details are interconnected and subject to various constraints. For example, some products' processes can only be produced on specific production lines, meaning other production lines cannot provide output for these products. Processes have a sequential order, and therefore, processes must be executed in that order; the end time of one process must be less than or equal to the start time of the next. Products have delivery deadlines, and those with closer deadlines are prioritized for production. These constraints influence the subsequent development of target production schedules for orders awaiting scheduling. Therefore, during the iterative optimization process of population selection, these constraints must be incorporated into the fitness function to better reflect the actual production scheduling scenario and improve the accuracy of population selection. Thus, preset constraints are constructed based on these constraints, and these preset constraints are used to construct the fitness function. Furthermore, to iteratively optimize orders awaiting scheduling, targeted processing is required to obtain information suitable for iterative optimization. Therefore, preprocessing of orders awaiting scheduling based on preset constraints is necessary to obtain the production information to be scheduled.
[0031] For the objective function:
[0032] The fitness function is used to select multiple excellent populations, while the objective function is used to select a target population from these excellent populations. This target population is a specific solution of the chromosome, that is, the target production schedule for the orders to be scheduled.
[0033] Regarding chromosomes and the initial population:
[0034] Chromosomes are variable expressions. The initial population preset for chromosomes is a specific set of values. During iterative optimization, these initial populations are the objects.
[0035] This invention provides a discrete assembly scheduling method, apparatus, and equipment based on hybrid linear integer programming. The invention first encodes scheduling genes, constructs a fitness function based on these genes and preset constraints, and then constructs an objective function based on the scheduling genes. Next, it acquires orders to be scheduled, preprocesses these orders according to the preset constraints to obtain scheduling information, and constructs chromosomes based on the scheduling genes and the scheduling information. Finally, it presets an initial population for the chromosomes, iteratively optimizes the initial population according to the fitness function to obtain an excellent population, and calculates the target population among the excellent populations that optimizes the objective function. This target population is then used as the target scheduling plan for the orders to be scheduled. Through the technical solution of this invention, by encoding scheduling genes and pre-setting preset constraints, after acquiring orders to be scheduled, preprocessing can be performed under the guidance of scheduling genes and preset constraints, solving the problem of insufficient scheduling accuracy caused by missing information. To obtain the target production schedule for pending orders, a chromosome is constructed using production scheduling genes and pending production information. A fitness function is then built based on the production scheduling genes and preset constraints, enabling iterative optimization strictly adhering to the actual pending production information, thus improving the accuracy of production scheduling. By using production scheduling genes, chromosomes, fitness functions, and objective functions adapted to discrete assembly production scheduling scenarios for iterative optimization, production scheduling efficiency is improved.
[0036] Furthermore, as a refinement and extension of the specific implementation methods of the above embodiments, in order to fully illustrate the specific implementation process of this embodiment, another discrete assembly scheduling method based on hybrid linear integer programming is provided, such as... Figure 2 As shown, the method includes:
[0037] 201. Encoding genes for ovulation.
[0038] It should be noted that, for steps 201-205 of the embodiment, in a production scheduling scenario such as a discrete assembly workshop, the objective is to calculate the target production schedule for orders to be scheduled. This calculation involves a continuous variable like time, as well as integer variables such as workstations, product types, and production quantities, and is subject to linear pre-defined constraints. Therefore, it is a mixed linear integer programming problem. Given the large variety of products, complex production processes, and insufficient inventory, it is difficult to solve directly. Therefore, by performing crossover and mutation operations on the initial population and using a fitness function constructed based on pre-defined constraints for selection, the mixed linear integer programming problem can be solved efficiently, quickly yielding a superior population. From this superior population, the target population that optimizes the objective function, i.e., the target production schedule, can be selected.
[0039] In this embodiment, as one implementation method, the production scheduling gene includes the start time s of the wth batch of product i at station j on production line k. iwkj The end time e of the first batch of product i at station j on production line k. iwkj The production quantity n of product i on production line k ik Product i requires the quantity of accessories q b iq . Among them, i=1,2,…,x; j=1,2,…,u k ;k=1,2,…,z; w=1,2,…,n ik .
[0040] 202. Construct a fitness function based on the production scheduling gene and preset constraints, and construct an objective function based on the production scheduling gene.
[0041] In this embodiment, as one implementation method, the preset constraint condition includes: the unfinished quantity of product i is equal to the planned production quantity of product i minus the total production quantity of product i on all production lines capable of production. Among them, a ik This indicates whether product i is produced on production line k. A value of 0 indicates that product i is not produced on production line k, and a value of 1 indicates that product i is produced on production line k. z is the total number of production lines.
[0042] The number of unfinished products i is greater than or equal to zero:
[0043] The remaining inventory of component q is equal to the total inventory of component q minus the demand for component q. Among them, b iq : The number of units required for accessory q for product i.
[0044] The remaining inventory of accessory q is greater than or equal to zero.
[0045] The actual production time e of the wth batch of product i at the jth station on production line k iwkj -s iwkj Less than or equal to its standard time: e iwkj -s iwkj ≤t ikj ·γ, where t ikj γ: Standard time for product i to be at the j-th workstation on production line k; γ: A random number following a normal distribution, used to simulate actual production; γ ~ N(1,σ) 2 ), γ is greater than 0.
[0046] The total time spent producing all products at a single workstation on a production line is less than or equal to the end time e. iwkj Maximum value - start time s iwkj The minimum value (i.e., the allowable idle time for production at the workstation):
[0047] Products i produced on the same production line must satisfy a preset production sequence, such as products having delivery priority: e iwkj ≤s i(w+1)kj
[0048] Workstations produce according to process steps: e iwkj ≤s iwk(j+1)
[0049] Different products cannot be processed simultaneously at the same workstation on the same production line: max(s iwkj ,s (i+l)wkj )+min(t ikj ,t (i+l)kj )≤max(e ikj ,e (i+l)wkj )
[0050] The production quantity of product i on production line k is greater than or equal to zero: n ik ≥0,
[0051] The start time s of product i, batch w, at station j on production line k. iwkj The preset allowable start time for production line k is greater than or equal to: s iwkj ≥st k
[0052] For this embodiment, based on the production scheduling gene construction: (1) Minimum total production time:
[0053] (2) The number of unfinished products for all the aforementioned products is the smallest:
[0054] (3) All of the aforementioned accessories have the minimum remaining inventory:
[0055] The fitness function is constructed based on the production scheduling genes and preset constraints, including: constructing a fitness function based on minimizing the number of unfinished products for all products, minimizing the remaining inventory of all accessories, minimizing the total production time, and the corresponding preset constraints.
[0056] Wherein, the fitness function is L and the preset constraints are:
[0057]
[0058] λ i For product i, the number of unfinished items is M. i The first preset weighting coefficient, μ q The remaining inventory N for accessory q q The second preset weighting coefficient.
[0059] The objective function constructed based on the production scheduling gene includes: constructing an objective function based on minimizing the total production time.
[0060] Objective function:
[0061] 203. Obtain the production orders to be scheduled, and preprocess the production orders to be scheduled according to the preset constraints to obtain the production information to be scheduled.
[0062] In this embodiment, the step of preprocessing the production order to be scheduled according to the preset constraints to obtain production information includes: obtaining the product types included in the production order to be scheduled; determining the preset production sequence according to the delivery time corresponding to each product; obtaining the initial planned production quantity and finished goods inventory corresponding to each product; subtracting the finished goods inventory from the initial planned production quantity corresponding to the same product to obtain the planned production quantity corresponding to each product; obtaining the total number of production lines and the number of workstations in each production line, and determining the product types that the production line can produce; obtaining the process of each product, the accessories required for each product, the demand quantity of each accessory, and the accessory inventory of each accessory; obtaining the production batch; and determining the product type, the preset production sequence, the planned production quantity, the total number of production lines, the number of workstations, the product types that the production line can produce, the process, the accessories, the demand quantity, the accessory inventory, and the production batch as production information to be scheduled.
[0063] 204. List the product types, total number of production lines, number of workstations, accessories, and production batches in the production scheduling information according to the production scheduling gene to obtain a chromosome.
[0064] For example, if there are 3 product types, then they are listed from p1 to p3; if there are 3 production lines, then they are listed from k1 to k3; if there are 3 workstations, then they are listed from j1 to j3; if there are 2 types of accessories, then they are listed from q1 to q2; if there are 4 production batches for product p1, then product p1 is listed from l1 to l4; if there is 1 production batch for product p2, then product p2 only has l1.
[0065]
[0066] 205. Preset an initial population for the chromosome, iteratively optimize the initial population according to the fitness function to obtain an excellent population, calculate the target population among the excellent population that makes the objective function optimal, and use the target population as the target production plan for the order to be scheduled.
[0067] The step of iteratively optimizing the initial population according to the fitness function to obtain an excellent population includes: using the initial population as the parent generation, performing crossover operations on different parent generations to obtain offspring, performing mutation operations on the same offspring to obtain initial new offspring, determining whether the initial new offspring passes a preset verification rule; if not, repairing the initial new offspring until it passes the preset verification rule to obtain a new offspring to be calculated; if yes, determining whether the initial new offspring is the new offspring to be calculated; calculating the fitness function value corresponding to the new offspring to be calculated, filtering the new offspring to be calculated according to the fitness function value to obtain intermediate new offspring, determining whether iterative optimization is completed according to the fitness function value; if yes, determining the intermediate new offspring as an excellent population; if not, using the intermediate new offspring as a new parent generation and continuing iterative optimization until iterative optimization is completed to obtain the excellent population.
[0068] For the initial population:
[0069] Chromosomes are a list of variable expressions, and the initial population is the value of the variable expressions. For example, if the initial population size is 500, these 500 are used as the first generation, or the parent generation. After the crossover operation, the offspring size is 500. After the mutation operation, the initial new offspring size is greater than 500, for example, 600. Regardless of whether repair is performed, there are always 600 new offspring to be calculated. The fitness function value is used to select 500 intermediate new offspring from the 600 new offspring to be calculated (the size of the intermediate new offspring is the same as the size of the initial population).
[0070] When assigning values to chromosomes, i.e., when setting an initial population for chromosomes, one implementation method is to produce products sequentially on the production line according to the order of satisfying inventory. This prioritizes the production quantity of products that are produced earlier. For example, if there are a total of products p1, p2, p3, and p4, the first initial population is: all products are produced on production line k1, and the other production lines are empty. The second initial population is: any one of p1, p2, p3, and p4 is put on k2 for production, and the rest are kept on k1 for production, while the other production lines are empty. The third initial population is: replacing the product on production line k2 in the second initial population. For example, if the second initial population puts p1 on k2 for production, and p2, p3, and p4 are kept on k1 for production, then the third initial population will choose any one of p2, p3, and p4, for example, p2 to replace p1 on k2 for production, resulting in p2 being produced on k2, p1, p3, and p4 being produced on k1, and the other production lines being empty. This process is repeated to obtain multiple initial populations.
[0071] For crossover and mutation:
[0072] A crossover occurs between two different parent generations, resulting in two offspring. A mutation, on the other hand, occurs within each offspring; a mutation occurs within any single offspring, resulting in a new initial offspring. Both crossover and mutation are optimized with the production line as the boundary.
[0073] The process of crossover is as follows: Select any two different parents, such as parent 1 and parent 2, and select any production line to be exchanged, such as production line k1. Pack all the values of the production genes listed in parent 1 that are related to production line k1 (the values of all the production genes listed in parent 1 that are related to production line k1 are the initial population of parent 1 that are related to production line k1) to get pack 1. Pack all the production genes listed in parent 2 that are related to production line k1 to get pack 2. Exchange pack 1 of parent 1 with pack 2 of parent 2. After the exchange, the production line k1 of parent 1 is pack 2, and the production line k1 of parent 2 is pack 1.
[0074] The mutation process is as follows: Select any offspring, for example, offspring 1, and any two different production lines, for example, production line k1 and production line k2. Transfer part or all of a certain product (for example, p1) from production line k2 to production line k1 for production. Specifically, the transfer can be done by increasing the number of batches. For example, if the production of product p1 on production line k1 includes three batches l1, l2, and l3, and the production of product p1 on production line k2 includes three batches, then the mutation is to transfer two batches (or one batch, or three batches, which is not limited here) of product p1 from production line k2 to production line k1. After the mutation, the production of product p1 on production line k1 includes three batches l1, l2, l3, l4, and l5, while the production of product p1 on production line k2 includes only one batch.
[0075] For verification and repair:
[0076] After performing crossover and mutation operations on the parent generation, some conflicts may occur. Such conflicts can affect the subsequent selection by the fitness function. Therefore, it is necessary to first determine whether there are conflicts. If there are, they should be repaired. If there are no conflicts, no repair step is needed. The non-conflicting offspring are selected as new offspring to be calculated and then selected by the fitness function.
[0077] The step of determining whether the initial new offspring passes the preset verification rules, and if not, repairing the initial new offspring until it passes the preset verification rules to obtain the new offspring to be calculated, includes: the preset verification rules include preset time verification rules and preset inventory verification rules, wherein the preset time verification rule is: whether there is overlap between the start and end time periods of different workstations of product i batch l on production line k, and whether there is overlap in production time at the same workstation on production line k; the preset inventory verification rule is: whether the demand for accessory q of product i on production line k is less than or equal to the accessory inventory of accessory q on production line k; if there is overlap between the start and end time periods of different workstations of the same batch of the same product on the same production line, then any one of the start and end time periods of the overlapping workstations is postponed to a non-overlapping position; if there is overlap in production time at the same workstation on the same production line, then any one of the overlapping production time periods is postponed to a non-overlapping position; if the preset inventory verification rules are not passed, then the demand for accessory q of product i on other production lines is reduced.
[0078] This conflict includes both time-related and inventory-related conflicts.
[0079] Regarding time conflicts: Since the preferred embodiment described above replaces the entire production line as a boundary, there are no time conflicts. However, if the preferred embodiment is not followed, time conflicts may occur. For example, after crossing over, if different workstations overlap in time (e.g., the start and end time period 1 of workstation 1 overlaps with the start and end time period 2 of workstation 2), and the workstations must follow the order of the processes before one can complete the next, it indicates that the process order is not being followed. Therefore, the offspring obtained from this crossover is a defective offspring and needs to be repaired. Specifically, when an overlap is found, if the overlap is between the start and end time periods of different workstations, then any one of the start and end time periods of the overlapping workstations is postponed to a non-overlapping position. As one implementation method, any one of the overlapping workstations is postponed to the last workstation of the same production line k, the same product i, and the same batch l. Since the workstations have already been marked, as long as there is no overlap, the workstations strictly follow the process order. If the overlapping production times are for the same workstation, meaning that only one production time can be completed at the same workstation, then one of the overlapping production times can be postponed to a non-overlapping position. As one implementation method, all workstations after that workstation can be postponed as a whole until any one of the overlapping production times is postponed between that workstation and the workstation after that workstation, then there is no overlap in production times.
[0080] For inventory conflicts, for example, in the above embodiment, some or all of a certain product (e.g., p1) on production line k2 is transferred to production line k1 for production. The original requirement on production line k1 was to produce 100 p1s, and the corresponding inventory requirement on production line k1 was to produce 100 p1s. For example, if 50 p1s are transferred to production line k1, then the inventory on production line k1 will be insufficient. Therefore, it needs to be corrected. The specific method of correction is to reduce, for example, the original inventory requirement on production line k2.
[0081] When using the fitness function for screening, since the evaluation criteria are the minimum total production time, the minimum number of unfinished products for all products, and the minimum remaining inventory of all accessories, the fitness of the new offspring to be calculated is reduced when there are situations such as production quantity exceeding the expected value, inventory demand exceeding existing inventory, or production time conflicts, thereby selecting those with high fitness.
[0082] Traditional selection strategies often involve setting a fixed fitness threshold, retaining individuals with fitness values greater than or equal to that threshold, and eliminating those with fitness values less than the threshold. However, in production scheduling scenarios, the BOM (Bill of Materials) and processes vary depending on the product, and production times differ significantly across production lines and workstations. This means the fitness function value is constantly changing due to multiple variables, making it impossible to determine a fixed fitness threshold. Another traditional strategy involves calculating a dynamic fitness threshold for each iteration, which increases computational complexity and reduces iteration efficiency. Therefore, this approach prioritizes the fitness function values of new offspring before selection, retaining those with higher fitness values and eliminating those with lower values.
[0083] After performing crossover and obtaining offspring, the traditional genetic mutation strategy differs from the one applied in this embodiment for the scheduling scenario. The traditional strategy does not generate new individuals after mutation; the offspring population remains the same size after mutation. However, this embodiment, applied to the scheduling scenario, generates new individuals after mutation, thus increasing the size of the offspring population. The advantage of this embodiment is that a single mutation operation improves population diversity compared to traditional genetic mutation strategies. It allows for selection from a more diverse population to obtain the final superior population, improving the accuracy and efficiency of the selection process.
[0084] The step of determining whether iterative optimization is complete based on the fitness function value, and if so, identifying the intermediate new offspring as an excellent population, includes, as one implementation, calculating the degree of deviation between the fitness function values. If the degree of deviation is less than a preset threshold, iterative optimization is complete, and the intermediate new offspring are identified as an excellent population. The degree of deviation can be variance or standard deviation. If the degree of deviation is less than the preset threshold, it indicates that the fitness function values of the intermediate new offspring are not significantly different and have converged; therefore, it signifies that iterative optimization is complete. As another implementation, a preset maximum number of iterations is used; reaching the maximum number of iterations indicates that iterative optimization is complete.
[0085] This invention provides a discrete assembly scheduling method, apparatus, and equipment based on hybrid linear integer programming. The invention first encodes scheduling genes, constructs a fitness function based on these genes and preset constraints, and then constructs an objective function based on the scheduling genes. Next, it acquires orders to be scheduled, preprocesses these orders according to the preset constraints to obtain scheduling information, and constructs chromosomes based on the scheduling genes and the scheduling information. Finally, it presets an initial population for the chromosomes, iteratively optimizes the initial population according to the fitness function to obtain an excellent population, and calculates the target population among the excellent populations that optimizes the objective function. This target population is then used as the target scheduling plan for the orders to be scheduled. Through the technical solution of this invention, by encoding scheduling genes and pre-setting preset constraints, after acquiring orders to be scheduled, preprocessing can be performed under the guidance of scheduling genes and preset constraints, solving the problem of insufficient scheduling accuracy caused by missing information. To obtain the target production schedule for pending orders, a chromosome is constructed using production scheduling genes and pending production information. A fitness function is then built based on the production scheduling genes and preset constraints, enabling iterative optimization strictly adhering to the actual pending production information, thus improving the accuracy of production scheduling. By using production scheduling genes, chromosomes, fitness functions, and objective functions adapted to discrete assembly production scheduling scenarios for iterative optimization, production scheduling efficiency is improved.
[0086] Furthermore, as Figure 1 and Figure 2 The specific implementation of the method shown in this invention provides a discrete assembly scheduling device based on hybrid linear integer programming, such as... Figure 3 As shown, the device includes: an encoding module 31, an acquisition module 32, and a calculation module 33;
[0087] Encoding module 31 can be used to encode production scheduling genes, construct a fitness function based on the production scheduling genes and preset constraints, and construct an objective function based on the production scheduling genes;
[0088] The acquisition module 32 can be used to acquire orders to be scheduled for production, preprocess the orders to be scheduled for production according to the preset constraints to obtain the information to be scheduled for production, and construct chromosomes based on the scheduling genes and the information to be scheduled for production.
[0089] The calculation module 33 can be used to preset an initial population for the chromosome, iteratively optimize the initial population according to the fitness function to obtain an excellent population, calculate the target population among the excellent population that makes the objective function optimal, and use the target population as the target production plan for the order to be scheduled.
[0090] Accordingly, in order to iteratively optimize the initial population according to the fitness function to obtain an excellent population, the calculation module 33 can be specifically used for: taking the initial population as the parent generation, performing crossover operations on different parents to obtain offspring, performing mutation operations on the same offspring to obtain initial new offspring, determining whether the initial new offspring passes the preset verification rule, if not, repairing the initial new offspring until it passes the preset verification rule to obtain a new offspring to be calculated, if yes, determining the initial new offspring as the new offspring to be calculated; calculating the fitness function value corresponding to the new offspring to be calculated, filtering the new offspring to be calculated according to the fitness function value to obtain intermediate new offspring, determining whether iterative optimization is completed according to the fitness function value, if yes, determining the intermediate new offspring as an excellent population, if not, using the intermediate new offspring as a new parent generation, continuing iterative optimization until iterative optimization is completed to obtain the excellent population.
[0091] Accordingly, the production scheduling gene includes the start time s of the wth batch of product i at station j on production line k. iwkj The end time e of the first batch of product i at station j on production line k. iwkj The production quantity n of product i on production line k ik Product i requires the quantity of accessories q b iq The preset constraints include: the number of unfinished products i equals the planned production quantity of product i minus the total production quantity of product i on all production lines capable of production, and the number of unfinished products i is greater than or equal to zero; the remaining inventory of component q equals the remaining inventory of component q minus the demand for component q, and the remaining inventory of component q is greater than or equal to zero; and the actual production time e of the wth batch of product i at the jth workstation on production line k. iwkj -s iwkj The following conditions must be met: the time taken is less than or equal to the standard time; product i is being produced on production line k; and the total time taken to produce all products at one workstation on a production line is less than or equal to the end time e. iwkj Maximum value - start time s iwkj The minimum value, products i produced on the same production line satisfy the preset production sequence, workstations produce according to the process, the same workstation on the same production line cannot process different products at the same time, the production quantity of product i on production line k is greater than or equal to zero, and the start time s of the wth batch of product i at workstation j on production line k. iwkjThe preset allowed start time is greater than or equal to that of production line k; in order to construct a fitness function based on the production scheduling genes and preset constraints, the encoding module 31 can be specifically used to: construct a fitness function based on the minimum number of unfinished products for all products, the minimum remaining inventory of all accessories, the minimum total production time, and the corresponding preset constraints; in order to construct an objective function based on the production scheduling genes, the encoding module 31 can be specifically used to: construct an objective function based on the minimum total production time.
[0092] Accordingly, in order to preprocess the production order to be scheduled according to the preset constraints and obtain production information, the acquisition module 32 can be specifically used to: acquire the product types included in the production order to be scheduled; determine the preset production sequence according to the delivery time corresponding to each product; acquire the initial planned production quantity and finished goods inventory corresponding to each product; subtract the finished goods inventory from the initial planned production quantity corresponding to the same product to obtain the planned production quantity corresponding to each product; acquire the total number of production lines and the number of workstations in each production line, and determine the product types that the production line can produce; acquire the process of each product, the accessories required for each product, the demand quantity of each accessory, and the accessory inventory of each accessory; acquire the production batch; and determine the product type, the preset production sequence, the planned production quantity, the total number of production lines, the number of workstations, the product types that the production line can produce, the process, the accessories, the demand quantity, the accessory inventory, and the production batch as production information to be scheduled.
[0093] Accordingly, in order to construct a chromosome based on the production scheduling gene and the production information to be scheduled, the acquisition module 32 can be specifically used to: list the product types, the total number of production lines, the number of workstations, the accessories, and the production batches in the production information to be scheduled according to the production scheduling gene to obtain a chromosome.
[0094] Accordingly, in order to determine whether the initial new offspring passes the preset verification rules, if not, the initial new offspring is repaired until it passes the preset verification rules to obtain the new offspring to be calculated. The calculation module 33 specifically includes: a judgment unit 331, which can be used for the preset verification rules, including preset time verification rules and preset inventory verification rules. The preset time verification rule is: whether there is overlap between the start and end time periods of different workstations of product i batch l on production line k, and whether there is overlap in the production time of the same workstation on production line k. The preset inventory verification rule is: whether the demand for accessory q of product i on production line k is less than or equal to the accessory inventory of accessory q on production line k. If there is overlap between the start and end time periods of different workstations of the same batch of the same product on the same production line, then any one of the start and end time periods of the overlapping workstations is postponed to a non-overlapping position. If there is overlap in the production time of the same workstation on the same production line, then any one of the overlapping production time is postponed to a non-overlapping position. If the preset inventory verification rules are not passed, then the demand for accessory q of product i on other production lines is reduced.
[0095] Accordingly, in order to determine whether iterative optimization has been completed based on the fitness function value, and if so, to determine the intermediate new offspring as an excellent population, the calculation module 33 specifically includes: a determination unit 332, which can be used to calculate the degree of deviation between the fitness function values. If the degree of deviation is less than a preset threshold, iterative optimization is completed and the intermediate new offspring is determined as an excellent population.
[0096] It should be noted that other corresponding descriptions of the functional units involved in the discrete assembly scheduling device based on hybrid linear integer programming provided in this embodiment can be found in [reference needed]. Figures 1 to 2 The corresponding description will not be repeated here.
[0097] Based on the above, Figures 1 to 2 Accordingly, this embodiment also provides a storage medium, which may be volatile or non-volatile, storing a computer program that, when executed by a processor, implements the above-described method. Figures 1 to 2 The discrete assembly scheduling method shown is based on hybrid linear integer programming.
[0098] Based on this understanding, the technical solution of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, portable hard drive, etc.) and includes several instructions to cause a computer device (such as a personal computer, server, or network device, etc.) to execute the methods of various implementation scenarios of the present invention.
[0099] Based on the above, Figures 1 to 2The method shown and Figure 3 , Figure 4 To achieve the above objectives, this embodiment also provides a computer device, which includes a storage medium and a processor; the storage medium is used to store a computer program; the processor is used to execute the computer program to implement the above-described virtual device embodiment. Figures 1 to 2 The discrete assembly scheduling method shown is based on hybrid linear integer programming.
[0100] Optionally, the computer device may also include a user interface, a network interface, a camera, radio frequency (RF) circuitry, sensors, audio circuitry, a Wi-Fi module, etc. The user interface may include a display screen, input units such as a keyboard, etc., and optional user interfaces may also include USB interfaces, card reader interfaces, etc. The network interface may optionally include standard wired interfaces, wireless interfaces (such as Wi-Fi interfaces), etc.
[0101] Those skilled in the art will understand that the computer device structure provided in this embodiment does not constitute a limitation on the physical device, and may include more or fewer components, or combine certain components, or have different component arrangements.
[0102] The storage medium may also include an operating system and a network communication module. The operating system is a program that manages the hardware and software resources of the aforementioned computer device, supporting the operation of information processing programs and other software and / or programs. The network communication module is used to enable communication between the various components within the non-volatile storage medium, as well as communication with other hardware and software in the information processing entity device.
[0103] Through the above description of the embodiments, those skilled in the art can clearly understand that the present invention can be implemented by means of software plus necessary general-purpose hardware platform, or it can be implemented by hardware.
[0104] This invention provides a discrete assembly scheduling method, apparatus, and equipment based on hybrid linear integer programming. The invention first encodes scheduling genes, constructs a fitness function based on these genes and preset constraints, and then constructs an objective function based on the scheduling genes. Next, it acquires orders to be scheduled, preprocesses these orders according to the preset constraints to obtain scheduling information, and constructs chromosomes based on the scheduling genes and the scheduling information. Finally, it presets an initial population for the chromosomes, iteratively optimizes the initial population according to the fitness function to obtain an excellent population, and calculates the target population among the excellent populations that optimizes the objective function. This target population is then used as the target scheduling plan for the orders to be scheduled. Through the technical solution of this invention, by encoding scheduling genes and pre-setting preset constraints, after acquiring orders to be scheduled, preprocessing can be performed under the guidance of scheduling genes and preset constraints, solving the problem of insufficient scheduling accuracy caused by missing information. To obtain the target production schedule for pending orders, a chromosome is constructed using production scheduling genes and pending production information. A fitness function is then built based on the production scheduling genes and preset constraints, enabling iterative optimization strictly adhering to the actual pending production information, thus improving the accuracy of production scheduling. By using production scheduling genes, chromosomes, fitness functions, and objective functions adapted to discrete assembly production scheduling scenarios for iterative optimization, production scheduling efficiency is improved.
[0105] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of a preferred embodiment, and the modules or processes shown in the drawings are not necessarily essential for implementing the present invention. Those skilled in the art will understand that the modules in the apparatus of the embodiment can be distributed within the apparatus of the embodiment as described, or they can be located in one or more apparatuses different from this embodiment, with corresponding changes. The modules of the above-described embodiment can be combined into one module, or further divided into multiple sub-modules.
[0106] The serial numbers used above are for descriptive purposes only and do not represent the superiority or inferiority of the implementation scenarios. The above disclosures are merely a few specific implementation scenarios of the present invention; however, the present invention is not limited thereto, and any variations conceived by those skilled in the art should fall within the protection scope of the present invention.
Claims
1. A discrete assembly scheduling method based on hybrid linear integer programming, characterized in that, The method includes: Encode the production scheduling gene, construct a fitness function based on the production scheduling gene and preset constraints, and construct an objective function based on the production scheduling gene; Obtain production orders to be scheduled, preprocess the production orders to be scheduled according to the preset constraints to obtain production information to be scheduled, and construct chromosomes based on the production scheduling genes and the production information to be scheduled; An initial population is preset for the chromosome, and the initial population is iteratively optimized according to the fitness function to obtain an excellent population. Among the excellent population, the target population that makes the objective function optimal is calculated, and the target population is used as the target production plan for the order to be scheduled. The production scheduling gene includes the start time of product i, batch w, at station j on production line k. The end time of product i, batch w, at station j on production line k. The production quantity of product i on production line k Product i requires the quantity of accessories q. ; The preset constraints include: the number of unfinished products i equals the planned production quantity of product i minus the total production quantity of product i on all production lines capable of production, and the number of unfinished products i is greater than or equal to zero; the remaining inventory of component q equals the remaining inventory of component q minus the demand for component q, and the remaining inventory of component q is greater than or equal to zero; and the actual production time of the wth batch of product i at the jth workstation on production line k. - The following conditions must be met: the time taken is less than or equal to the standard time; product i is being produced on production line k; and the total time taken to produce all products at one workstation on a production line is less than or equal to the end time. Maximum value - start time The minimum value, products i produced on the same production line satisfy the preset production sequence, workstations produce according to the process, the same workstation on the same production line cannot process different products at the same time, the production quantity of product i on production line k is greater than or equal to zero, and the start time of the wth batch of product i at workstation j on production line k. The preset allowable start time is greater than or equal to that of production line k; The construction of the fitness function based on the production scheduling genes and preset constraints includes: A fitness function is constructed based on minimizing the number of unfinished products for all the products, minimizing the remaining inventory of all the accessories, minimizing the total production time, and the corresponding preset constraints. The objective function constructed based on the ovulation gene includes: Construct an objective function based on minimizing the total production time.
2. The method according to claim 1, characterized in that, The step of iteratively optimizing the initial population according to the fitness function to obtain an excellent population includes: Using the initial population as the parent generation, crossover operations are performed on different parent generations to obtain offspring. Mutation operations are performed on the same offspring to obtain initial new offspring. It is determined whether the initial new offspring passes the preset verification rules. If not, the initial new offspring is repaired until it passes the preset verification rules to obtain the new offspring to be calculated. If it does, the initial new offspring is determined as the new offspring to be calculated. Calculate the fitness function value corresponding to the new offspring to be calculated, and filter the new offspring to be calculated based on the fitness function value to obtain intermediate new offspring. Determine whether the iterative optimization is completed based on the fitness function value. If yes, the intermediate new offspring is determined as the excellent population. If not, the intermediate new offspring is used as the new parent generation, and iterative optimization continues until iterative optimization is completed and the excellent population is obtained.
3. The method according to claim 1, characterized in that, The step of preprocessing the orders to be scheduled for production according to the preset constraints to obtain the production scheduling information includes: Obtain the product types included in the orders to be scheduled for production, and determine the preset production sequence based on the delivery time corresponding to each product; Obtain the initial planned production quantity and finished goods inventory for each product, and subtract the finished goods inventory from the initial planned production quantity for the same product to obtain the planned production quantity for each product. Obtain the total number of production lines and the number of workstations in each production line to determine the types of products that each production line can produce. Obtain the process for each product, the components required for each product, the required quantity of each component, and the component inventory for each component; Obtain production batch; The product type, the preset production sequence, the planned production quantity, the total number of production lines, the number of workstations, the product types that the production line can produce, the process, the accessories, the demand quantity, the accessory inventory, and the production batch are determined as the production scheduling information.
4. The method according to claim 3, characterized in that, The construction of chromosomes based on the spawning genes and the information about undelivered pregnancies includes: The product types, total number of production lines, number of workstations, accessories, and production batches in the production scheduling information are listed according to the production scheduling gene to obtain a chromosome.
5. The method according to claim 2, characterized in that, The step of determining whether the initial new offspring passes the preset verification rules, and if not, repairing the initial new offspring until it passes the preset verification rules to obtain the new offspring to be calculated, includes: The preset verification rules include preset time verification rules and preset inventory verification rules. The preset time verification rule is: whether there is overlap between the start and end time periods of different workstations of product i batch l on production line k, and whether there is overlap in the production time of the same workstation on production line k. The preset inventory verification rule is: whether the demand of product i for accessory q on production line k is less than or equal to the accessory inventory of accessory q on production line k. If the start and end time periods of different workstations overlap for the same product and batch on the same production line, then either the start or end time period of the overlapping workstations will be postponed to a non-overlapping position. If there are overlapping production times at the same workstation on the same production line, then either the overlapping production time will be postponed to a non-overlapping position. If the preset inventory verification rules are not passed, the required quantity of product i to accessory q on other production lines will be reduced.
6. The method according to claim 2, characterized in that, The step of determining whether iterative optimization is complete based on the fitness function value, and if so, identifying the intermediate new offspring as the superior population, includes: Calculate the degree of deviation between the fitness function values. If the degree of deviation is less than a preset threshold, complete the iterative optimization and determine the intermediate new offspring as the excellent population.
7. A discrete assembly scheduling device based on hybrid linear integer programming, characterized in that, The device includes: The encoding module is used to encode the production scheduling gene, construct a fitness function based on the production scheduling gene and preset constraints, and construct an objective function based on the production scheduling gene. The acquisition module is used to acquire orders to be scheduled for production, preprocess the orders to be scheduled for production according to the preset constraints to obtain the production information to be scheduled, and construct chromosomes based on the production scheduling genes and the production information to be scheduled; The calculation module is used to preset an initial population for the chromosome, iteratively optimize the initial population according to the fitness function to obtain an excellent population, calculate the target population among the excellent population that makes the objective function optimal, and use the target population as the target production plan for the order to be scheduled. The production scheduling gene includes the start time of product i, batch w, at station j on production line k. The end time of product i, batch w, at station j on production line k. The production quantity of product i on production line k Product i requires the quantity of accessories q. The preset constraints include: the number of unfinished products i equals the planned production quantity of product i minus the total production quantity of product i on all production lines capable of production, and the number of unfinished products i is greater than or equal to zero; the remaining inventory of component q equals the remaining inventory of component q minus the demand for component q, and the remaining inventory of component q is greater than or equal to zero; and the actual production time of the wth batch of product i at the jth workstation on production line k. - The following conditions must be met: the time taken is less than or equal to the standard time; product i is being produced on production line k; and the total time taken to produce all products at one workstation on a production line is less than or equal to the end time. Maximum value - start time The minimum value, products i produced on the same production line satisfy the preset production sequence, workstations produce according to the process, the same workstation on the same production line cannot process different products at the same time, the production quantity of product i on production line k is greater than or equal to zero, and the start time of the wth batch of product i at workstation j on production line k. The preset allowed start time is greater than or equal to production line k; the encoding module is used to construct a fitness function based on the minimum number of unfinished products for all products, the minimum remaining inventory of all accessories, the minimum total production time, and the corresponding preset constraints; the encoding module is used to construct an objective function based on the minimum total production time.
8. A storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the discrete assembly scheduling method based on hybrid linear integer programming as described in any one of claims 1 to 6.
9. A computer device comprising a memory, a processor, and a computer program stored on a storage medium and executable on the processor, characterized in that, When the processor executes the program, it implements the discrete assembly scheduling method based on hybrid linear integer programming as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Process scheduling method and device based on time function, terminal and medium
CN117094511A
Production scheduling method and device, terminal equipment and storage medium
CN118378829A