Scheduling and stock layout method for parallel additive manufacturing machine with uncertain processing time
By optimizing part build direction and batch allocation in additive manufacturing, combined with the SIM-ALNS algorithm and Monte Carlo simulation, the delivery delay problem caused by processing time uncertainty in additive manufacturing was solved, achieving more efficient production scheduling and on-time delivery.
Patent Information
- Application Number
- CN202510749236.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-06
- Publication Date
- 2025-09-16
AI Technical Summary
Existing AM scheduling methods are mainly based on deterministic processing time, which leads to the impact of time uncertainty on on-time delivery in actual production, which may cause delivery delays.
A scheduling and nesting method for a parallel additive manufacturing machine is provided. By obtaining part sets, selecting build directions, allocating batches, and optimizing objective functions and constraints using the SIM-ALNS algorithm and Monte Carlo simulation, the expected number of late parts can be reduced.
Improve the robustness of production scheduling in an environment with processing time uncertainty, ensure on-time delivery, and reduce the number of late parts.
Smart Images

Figure CN120655020A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of production system modeling and optimization, and in particular to a scheduling and layout method for a parallel additive manufacturing machine with uncertain processing time. Background Art
[0002] Additive manufacturing technology, especially Selective Laser Melting (SLM) technology, has been widely used in aerospace, automotive and other industries due to its advantages in producing complex structures and rapid prototyping. Additive manufacturing usually adopts a production-to-order model. Its production process is as follows: Figure 1 As shown, ensuring on-time delivery of orders is crucial. Cloud-based additive manufacturing centers operate as parallel batch processing units, further improving equipment utilization and reducing costs. In additive manufacturing centers, effective production scheduling is crucial to ensuring on-time delivery. However, scheduling of additive manufacturing machines is more complex than traditional manufacturing, requiring additional consideration of part and batch allocation, build direction selection, and part nesting within the build chamber. The processing time of a batch is highly dependent on batch characteristics (such as batch height, total part volume, and surface area), making nesting and scheduling issues closely related, and solving any one problem alone may result in performance loss. Most research focuses on deterministic scheduling problems. For example, the Chinese patent application "CN117436628A" provides a production task scheduling algorithm for a casting molding workshop. By constructing a multi-objective function and utility optimization model in the casting molding workshop, optimizing task and resource allocation will minimize the maximum production time, maximize production resource utilization, maximize daily output and maximize order fulfillment rate as the algorithm's objective function. Although it solves the problems of task scheduling complexity and resource scheduling redundancy to a certain extent, it ignores the uncertainty in the production process, especially the uncertainty of processing time, which has a significant impact on on-time delivery. That is, if the processing time is uncertain, it may weaken the punctuality of scheduling based on deterministic data, resulting in delivery delays.
[0003] Therefore, providing a sample arrangement and scheduling method that can handle time uncertainty is a technical problem that needs to be solved. Summary of the Invention
[0004] The purpose of the present invention is to overcome the defect that most additive manufacturing scheduling in the existing technology is based on deterministic processing time, which leads to the impact of time uncertainty on on-time delivery in actual production. It provides a scheduling and layout method for parallel additive manufacturing machines that can effectively deal with processing time uncertainty and minimize the expected number of late delivered parts.
[0005] The purpose of the present invention can be achieved by the following technical solutions:
[0006] The present invention provides a scheduling and layout method for a parallel additive manufacturing machine with uncertain processing time, the method comprising:
[0007] Obtain a set of all parts that need to be processed in additive manufacturing, sort them by deadline, obtain a set of optional build directions for each part, and randomly select a build direction from the set of optional build directions for each part;
[0008] Creating multiple empty batches for each of the additive manufacturing machines, dividing the parts with the selected build directions into multiple subsets, and assigning the subsets to the empty batches of the machines according to a priority scheme;
[0009] After the allocation is completed, the initial feasible solution of scheduling and packing is obtained using the heuristic method of the bin packing problem;
[0010] The objective function and constraints are constructed, and based on the initial feasible solution, the SIM-ALNS algorithm is used to iteratively solve the problem to obtain the optimal solution for scheduling and packing.
[0011] As a preferred technical solution, the expression of the objective function is:
[0012] f=min∑ j∈J U j ,
[0013] Among them, U j A variable indicating whether part j is late. j =1 means part j is delivered late, when U j =0 means that part j is not delivered late; J represents the part set.
[0014] As a preferred technical solution, the constraints include:
[0015] Part build direction selection and part-batch allocation constraints are expressed as:
[0016]
[0017] Where I represents the set of manufacturing machines; B i represents the set of available batches on manufacturing machine i; X jib It means that when part j is assigned to batch b on manufacturing machine i, the value is 1, otherwise it is 0; J represents the part set; K j represents the set of optional building directions for part j; Y jk Indicates that when part j selects the construction direction k, the value is 1, otherwise it is 0; M represents a number; Z ib It indicates that the value is 1 when batch b is formed on manufacturing machine i, otherwise it is 0;
[0018] Time constraint, its expression is:
[0019]
[0020] Among them, PT ib represents the processing time of batch b on manufacturing machine i; ST i represents the expected startup time of each batch on manufacturing machine i; HT i represents the expected substrate preheating time for each batch on manufacturing machine i; CT i represents the expected substrate cooling time for each batch on manufacturing machine i; DT i represents the expected post-processing time of each batch on manufacturing machine i; BT ib represents the expected build time of batch b on manufacturing machine i; S ib represents the total surface area of parts of batch b on manufacturing machine i; represents the number of working lasers on manufacturing machine i; δ i represents the thickness of each layer on manufacturing machine i; represents the contour scanning speed of the slice pattern on manufacturing machine i; represents the total volume of parts of batch b on manufacturing machine i; represents the hash scanning speed of the slice pattern on manufacturing machine i; represents the filling spacing of the part body in the slice pattern on manufacturing machine i; represents the total volume of the support structure of batch b on manufacturing machine i; represents the infill spacing of the support structure in the slice pattern on fabrication machine i; represents the coating time of each layer on the manufacturing machine i; H ib represents the height of batch b on manufacturing machine i; C i0 represents the completion time of the first batch on manufacturing machine i; PT i0 represents the processing time of the first batch on manufacturing machine i; C ib represents the completion time of batch b on manufacturing machine i; c j represents the completion time of part j; d j represents the delivery time of part j; U j A variable indicating whether part j is late. j =1 means part j is delivered late, when U j =0 means that part j is not delivered late;
[0021] The total area constraint of parts in a batch is expressed as: S ib =∑ j∈J X jib a j , Among them, S ib represents the total surface area of parts of batch b on manufacturing machine i; a jrepresents the surface area of part j;
[0022] The total volume constraint of parts in a batch is expressed as: Among them, v j represents the volume of part j;
[0023] The total volume constraint of the part support structure within a batch is expressed as: Among them, e jib Y represents the volume of the support structure of part j printed on manufacturing machine i in batch b; jk Indicates that when part j chooses the construction direction k, it is 1, otherwise it is 0; s jk represents the volume of the support structure of part j in direction k;
[0024] Batch height constraint, its expression is: Among them, Y jk If part j chooses to build direction k, it is 1, otherwise it is 0; h jk represents the height of part j in direction k;
[0025] The spatial constraint between parts in the same batch is expressed as:
[0026]
[0027] in, represents the height of the build cabin on the manufacturing machine i; l jk Indicates the length of part j in direction k; L i represents the length of the build cabin on the manufacturing machine i; o j If the length of part j is parallel to the length of the build platform, it is 1, otherwise it is 0; w jk represents the minimum envelope size of part j in direction k; PL jj′ Indicates whether the upper right point of part j is to the left of the lower left point of part j′. If true, it is 1, otherwise it is 0; PB jj′ Indicates whether the upper right point of part j is below the lower left point of part j'. If true, it is 1, otherwise it is 0; j ,y j Represents the coordinates of the lower left corner of the minimum envelope of part j on the platform;
[0028] The symmetry constraint between batches is expressed as: Z i(b-1) ≤Z ib ,
[0029] As a preferred technical solution, the iterative solution method includes:
[0030] Destruction operation: remove some parts from the schedule and layout corresponding to the current feasible solution to form a partial solution;
[0031] Repair operation: reinserting each part of the partial solution into another selected batch in a selected direction to form a repair solution;
[0032] Packing feasibility check: Use the box packing heuristic method to check the feasibility of the repair solution. If it is not feasible, reject the repair solution and return to the destruction operation. Otherwise, perform solution evaluation.
[0033] Solution evaluation: Monte Carlo simulation is used to evaluate the expected number of late parts corresponding to the repair solution;
[0034] Acceptance decision: based on the expected number of late parts, decide whether to accept the corresponding repair solution as the current solution according to the acceptance criteria;
[0035] Optimal solution update: Update the optimal solution in the current iteration based on the current solution.
[0036] As a preferred technical solution, the destruction operation methods include: random part removal, greedy part removal, random batch removal, greedy batch removal and maximum height variance batch removal. The method for selecting the destruction operation method is to use a roulette wheel selection method according to the destruction operation weight ρ of each method. d Choose one of these methods;
[0037] The random part removal is to randomly select and remove a part;
[0038] The greedy parts removal is to remove the parts that have the greatest negative impact on the expected number of late parts;
[0039] The random batch removal is to randomly select a batch and remove all parts therein;
[0040] The greedy batch removal is to remove all parts in the batch that has the greatest negative impact on the expected number of late parts;
[0041] The maximum height variance batch removal is to remove the batch with the maximum part height variance.
[0042] As a preferred technical solution, the repair operation methods include: random insertion, greedy insertion, earliest deadline insertion and minimum height variance insertion. The method for selecting the repair operation method is to use a roulette wheel selection method according to the repair operation weight ρ corresponding to the current destruction operation. r Select a repair operation method;
[0043] Wherein, the random insertion is to insert the removed parts into the randomly selected batch according to the randomly selected build direction;
[0044] The greedy insertion is to insert the removed parts into the batch that has the least negative impact on the expected number of late parts according to the randomly selected build direction;
[0045] The earliest deadline insertion is to insert the removed parts into a batch that does not contain the latest deadline parts according to a randomly selected build direction;
[0046] The minimum height variance insertion is to identify all build direction combinations in the current batch and the current iteration, and select the batch and build direction combination with the minimum height variance of the batch corresponding to the removed parts after insertion.
[0047] As a preferred technical solution, the destruction and repair operation weights are adaptively updated after each iterative solution, and the expression is:
[0048]
[0049] in, represents the destruction operation weight of the i-th destruction operation when destroying the solution at the t-th iteration; represents the destruction operation weight of the i-th destruction operation when the solution is destroyed at the t+1th iteration; It represents the repair operation weight of the jth repair operation when the repair solution performs the i-th destruction operation at the t-th iteration; It represents the repair operation weight of the jth repair operation when the repair solution performs the i-th destruction operation at the t+1th iteration; λ represents the learning rate; represents the set of destruction operations; ψ represents the adjustment factor of the operation weight;
[0050] and, Among them, ω1 represents the adjustment factor of the operation weight when the repair solution is the historical optimal solution; ω2 represents the adjustment factor of the operation weight when the repair solution is accepted as the current solution; ω3 represents the adjustment factor of the operation weight when the repair solution is inferior to the current solution but is accepted as the current solution; ω4 represents the adjustment factor of the operation weight when the repair solution is rejected or infeasible.
[0051] As a preferred technical solution, the method for evaluating the expected number of late parts corresponding to the repair solution using Monte Carlo simulation is:
[0052] The processing time corresponding to the repair solution is sampled, and the sample mean of the expected number of late parts is calculated based on the sampled processing time as an unbiased estimate, which is expressed as:
[0053]
[0054] Where N represents the number of repeated experiments; Y j (x) represents the expected number of late parts for the jth repetition;
[0055] The expected number of late parts corresponding to the repair solution is evaluated based on the unbiased estimate, which is expressed as:
[0056]
[0057] As a preferred technical solution, the receiving decision is:
[0058] When a feasible repair solution is better than the current solution, that is, the expected number of late parts corresponding to the repair solution is less than the expected number of late parts corresponding to the current solution, the repair solution is accepted as the current solution;
[0059] When a feasible repair solution is inferior to the current solution, the acceptance probability is calculated, and the repair solution is accepted as the current solution based on the acceptance probability. The expression is:
[0060]
[0061] Among them, Y(x new ) represents the sample mean of the number of late parts expected in the repair solution; Y(x) represents the sample mean of the number of late parts expected in the current solution; T represents the temperature coefficient, the initial value of the temperature coefficient is T0=γ·n, γ represents an adjustable parameter, n represents the number of parts in the repair solution, and T is updated T′=Tβ in each iterative solution, β represents the cooling rate;
[0062] If the current solution is not updated for at least η·MaxIter consecutive times, the feasible repair solution is directly accepted as the current solution in the next iterative solution, where η represents a fixed parameter and MaxIter represents the maximum number of iterations.
[0063] Compared with the prior art, the present invention takes the minimum value of the expected number of late parts in additive manufacturing as the objective function and constructs constraints including part construction direction selection and part-batch allocation constraints, time constraints, total area constraints of parts within a batch, total volume constraints of parts within a batch, total volume constraints of part support structures within a batch, batch height constraints, space constraints between parts in the same batch, and symmetry constraints between batches. It quantitatively constrains the problem of delivery delays in additive manufacturing scheduling and nesting problems, which is caused by the uncertainty of part processing time weakening the punctuality of scheduling based on deterministic data. It improves the robustness of processing time changes in the production scheduling plan and can better maintain production performance in an uncertain environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Figure 1 Schematic diagram of the cloud additive manufacturing concept of the present invention;
[0065] Figure 2 is a flow chart of the method of the present invention;
[0066] Figure 3 This is a block diagram of the adaptive large neighborhood search algorithm of the present invention;
[0067] Figure 4 Schematic diagram of the SIM-ALNS algorithm flow of the present invention. DETAILED DESCRIPTION
[0068] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0069] Unless otherwise defined, the technical or scientific terms used in this application should have the ordinary meaning understood by a person of ordinary skill in the technical field to which this application belongs. The words "one", "a", "the" and the like used in this application do not indicate a limit on quantity and may indicate the singular or plural. The terms "include", "comprise", "have" and any variations thereof used in this application are intended to cover non-exclusive inclusions; for example, a process, method, system, product or device that includes a series of steps or modules (units) is not limited to the listed steps or units, but may also include steps or units that are not listed, or may also include other steps or units that are inherent to these processes, methods, products or devices. The words "connect", "connected", "coupled" and the like used in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The word "multiple" used in this application refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, "A and / or B" can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects before and after are in an "or" relationship. The terms "first", "second", "third", etc. involved in this application are only used to distinguish similar objects and do not represent a specific order for the objects.
[0070] In order to solve the problem in the prior art that the time uncertainty of the production scheduling process has a significant impact on on-time delivery, that is, if the processing time is uncertain, it may weaken the punctuality of scheduling based on deterministic data, resulting in delivery delays, the present invention provides a scheduling and layout method for a parallel additive manufacturing machine with uncertain processing time, the process of which is as follows: Figure 2 Shown, including:
[0071] S1. Obtain a set of all parts that need to be processed in additive manufacturing, sort them by deadline, obtain a set of optional build directions for each part, and randomly select a build direction from the set of optional build directions for each part.
[0072] Specifically, all parts in part set J are sorted according to the deadline d j Perform non-decreasing sorting and optionally construct a direction set K j Select a build direction for each part.
[0073] S2. Create multiple empty batches for each manufacturing machine of the additive manufacturing system, divide the parts with the selected build direction into multiple subsets, and assign the subsets to the empty batches of the manufacturing machine according to the priority scheme.
[0074] In detail, in this embodiment, the priority scheme is to prioritize filling batches with smaller indices, for example, prioritize filling (i, 0) rather than (i′, 1).
[0075] S3. After the allocation is completed, the initial feasible solution of scheduling and packing is obtained using the heuristic method of the packing problem.
[0076] The specific method for obtaining the initial feasible solution is to use the packing problem heuristic method to verify the packing feasibility of all current batches. If there is an infeasible batch in the current batch, the number of batches is increased by 1 based on the current batch, and the packing problem heuristic method is used to verify the feasibility of all batches after the increase in batches, until all batches are feasible. At this time, the corresponding batch is the initial feasible solution.
[0077] S4, construct the objective function and constraints, and use the SIM-ALNS algorithm to iteratively solve the optimal solution for scheduling and sampling based on the initial feasible solution, combining Monte Carlo simulation and Adaptive Large Neighborhood Search (ALNS) algorithm. The framework of the adaptive large neighborhood search algorithm is as follows Figure 3 shown.
[0078] In this embodiment, minimizing the expected number of late parts is used as the objective function, and the expression is:
[0079] f=min∑ j∈JU j ,
[0080] Among them, U j A variable indicating whether part j is late. j =1 means part j is delivered late, when U j =0 means that part j is not delivered late; J represents the part set.
[0081] Modeling the uncertainty of processing time in production scheduling, in detail, for the startup time ST of the manufacturing machine i and post-processing time DT i , using uniform distribution modeling, namely ST i ~U(ST i,min ,ST i,max ), DT i ~U(DT i,min ,DT i,max ), ST i,min Indicates the minimum startup time, ST i,max Indicates the maximum startup time, DT i,min Indicates the minimum value of post-processing time, DT i,max Indicates the maximum value of post-processing time;
[0082] For the warm-up time HT i and cooling time CT i , it is estimated based on the temperature-time curve and assumed to obey the normal distribution, that is, represents the mean of the warm-up time, f H (T i,fin ) represents the preheating end temperature T i,fin The corresponding time on the temperature-time curve; f H (T i,ini ) indicates the preheating start temperature T i,ini The corresponding time on the temperature-time curve; represents variance; represents the mean cooling time, f C (T i,ini ) represents the cooling start temperature T i,ini The corresponding time on the temperature-time curve, f C (T i,fin ) represents the cooling end temperature T i,fin The corresponding time on the temperature-time curve; represents variance;
[0083] For build time BT ib , estimated using an analytical model, considering batch geometric parameters including: total part surface area S ib , total volume Total support structure volume Height H ib and manufacturing machine / process parameters include: number of lasers Layer thickness δ i , scanning speed etc., and assuming that it follows a normal distribution, in detail, represents the mean of the build time; Represents variance.
[0084] Based on the above modeling results, the following constraints are constructed, including:
[0085] Part build direction selection and part-batch allocation constraints are expressed as:
[0086]
[0087] Where I represents the set of manufacturing machines; B i represents the set of available batches on manufacturing machine i; X jib It means that when part j is assigned to batch b on manufacturing machine i, the value is 1, otherwise it is 0; J represents the part set; K j represents the set of optional building directions for part j; Y jk Indicates that when part j selects the construction direction k, the value is 1, otherwise it is 0; M represents a number; Z ib It is 1 when batch b is formed on manufacturing machine i, and 0 otherwise. Constraint (1) forces each part to be assigned to only one batch, constraint (2) ensures that each part selects a build direction, and constraint (3) ensures that if the batch is not formed, the part cannot be assigned to the batch.
[0088] Time constraint, its expression is:
[0089]
[0090] Among them, PT ib represents the processing time of batch b on manufacturing machine i; ST i represents the expected startup time of each batch on manufacturing machine i; HT i represents the expected substrate preheating time for each batch on manufacturing machine i; CT i represents the expected substrate cooling time for each batch on manufacturing machine i; DT i represents the expected post-processing time of each batch on manufacturing machine i; BT ib represents the expected build time of batch b on manufacturing machine i; S ib represents the total surface area of parts of batch b on manufacturing machine i; represents the number of working lasers on manufacturing machine i; δi represents the thickness of each layer on manufacturing machine i; represents the contour scanning speed of the slice pattern on manufacturing machine i; represents the total volume of parts of batch b on manufacturing machine i; represents the hash scanning speed of the slice pattern on manufacturing machine i; represents the filling spacing of the part body in the slice pattern on manufacturing machine i; represents the total volume of the support structure of batch b on manufacturing machine i; represents the infill spacing of the support structure in the slice pattern on fabrication machine i; represents the coating time of each layer on the manufacturing machine i; H ib represents the height of batch b on manufacturing machine i; C i0 represents the completion time of the first batch on manufacturing machine i; PT i0 represents the processing time of the first batch on manufacturing machine i; C ib represents the completion time of batch b on manufacturing machine i; c j represents the completion time of part j; d j represents the delivery time of part j; U j A variable indicating whether part j is late. j =1 means part j is delivered late, when U j = 0 means that part j is not late. Among them, constraint (4) is used to calculate the processing time of the batch, constraint (5) is used to calculate the construction time of the batch, constraints (6-7) are used to calculate the completion time of the batch, constraint (8) is used to calculate the completion time of the part, and constraint (9) determines whether the part is delayed.
[0091] The total area constraint of parts within a batch is expressed as: Among them, S ib represents the total surface area of parts of batch b on manufacturing machine i; a j represents the surface area of part j;
[0092] The total volume constraint of parts in a batch is expressed as: Among them, v j represents the volume of part j;
[0093] The total volume constraint of the part support structure within a batch is expressed as: Among them, e jib Y represents the volume of the support structure of part j printed on manufacturing machine i in batch b; jk Indicates that when part j chooses the construction direction k, it is 1, otherwise it is 0; s jk represents the volume of the support structure of part j in direction k;
[0094] Batch height constraint, its expression is: Among them, Y jk If part j chooses to build direction k, it is 1, otherwise it is 0; h jk represents the height of part j in direction k;
[0095] The spatial relationship between parts in the same batch is expressed as:
[0096]
[0097] PL jj′ +PB jj′ +PL j′j +PB j′j ≥X jib +X j′ib -1,b∈B i , (twenty four)
[0098] in, represents the height of the build cabin on the manufacturing machine i; l jk Indicates the length of part j in direction k; L i represents the length of the build cabin on the manufacturing machine i; o j If the length of part j is parallel to the length of the build platform, it is 1, otherwise it is 0; w jk represents the minimum envelope size of part j in direction k; PL jj′ Indicates whether the upper right point of part j is to the left of the lower left point of part j′. If true, it is 1, otherwise it is 0; PB jj′ Indicates whether the upper right point of part j is below the lower left point of part j'. If true, it is 1, otherwise it is 0; j ,y j represents the coordinates of the lower left corner of the minimum enveloping rectangle of part j on the platform. Specifically, constraint (15) ensures that the batch height does not exceed the height of the build chamber, constraints (16-19) ensure that parts within the same batch do not exceed the boundaries of the platform, constraints (20-23) prevent parts assigned to the same batch from overlapping, and constraint (24) ensures that there is at least one valid positioning relationship between parts j and j′ within the same batch.
[0099] The symmetry constraint between batches is expressed as: Z i(b-1) ≤Z ib ,
[0100] The variables involved in the above constraints are: X jib ∈{0,1}, Y jk ∈{0,1}, Z ib∈{0,1}, U j ∈{0,1}, PL jj′ ,PB jj′ ∈{0,1}, C ib ≥0, e jib ≥0, H ib ≥0, x j ,y j ≥0,
[0101] Based on the objective function and constraints constructed above, the SIM-ALNS algorithm is used for iterative solution. The corresponding process is as follows: Figure 4 As shown, specifically, the iterative steps include:
[0102] S41. Destruction operation: remove some parts from the schedule and layout corresponding to the current feasible solution to form a partial solution.
[0103] The destruction operation modes include random part removal, greedy part removal, random batch removal, greedy batch removal and maximum height variance batch removal. The method of selecting the destruction operation mode is to use the roulette wheel selection method according to the destruction operation weight ρ of each mode. d Choose one of the methods and destroy the operation weight ρ d After each iterative solution, an adaptive update is performed, and its expression is:
[0104]
[0105] in, represents the destruction operation weight of the repair solution performing the i-th destruction operation at the t-th iteration; represents the destruction operation weight of the repair solution performing the i-th destruction operation at the t+1th iteration; λ represents the learning rate; represents the set of destruction operations; ψ represents the adjustment factor of the operation weight;
[0106] and,
[0107] Among them, ω1 represents the adjustment factor of the operation weight when the repair solution is the historical optimal solution; ω2 represents the adjustment factor of the operation weight when the repair solution is accepted as the current solution; ω3 represents the adjustment factor of the operation weight when the repair solution is inferior to the current solution but is accepted as the current solution; ω4 represents the adjustment factor of the operation weight when the repair solution is rejected or infeasible. In this embodiment, it is set to [ω1, ω2, ω3, ω4] = [33, 9, 13, 0].
[0108] Among them, random part removal is to randomly select and remove a part; greedy part removal is to remove the part with the greatest negative impact on the expected number of late parts; random batch removal is to randomly select a batch and remove all parts in it; greedy batch removal is to remove all parts in the batch with the greatest negative impact on the expected number of late parts; maximum height variance batch removal is to remove the batch with the largest part height variance.
[0109] S42. Repair operation: reinsert each part in the partial solution into another selected batch in a selected direction to form a repair solution.
[0110] The repair operation methods include random insertion, greedy insertion, earliest deadline insertion and minimum height variance insertion. The repair operation method is selected by using the roulette wheel selection method according to the repair operation weight corresponding to the current destruction operation. Select a repair operation method;
[0111] Among them, random insertion is to insert the removed parts into the randomly selected batch according to the randomly selected build direction;
[0112] Greedy insertion is to insert the removed parts into the batch that has the least negative impact on the expected number of late parts according to the randomly selected build direction;
[0113] Earliest deadline insertion involves inserting the removed parts into the batch that does not contain the latest deadline part according to a randomly selected build direction;
[0114] Minimum height variance insertion is to identify all build orientation combinations in the current batch and current iteration and select the batch and build orientation combination with the minimum height variance of the corresponding batch after the removed parts are inserted.
[0115] The repair operation methods include random insertion, greedy insertion, earliest deadline insertion and minimum height variance insertion. The method of selecting the repair operation method is to use the roulette wheel selection method according to the repair operation weight ρ corresponding to the current destruction operation. r Select a repair operation mode. The repair operation weight is adaptively updated after each iterative solution. Its expression is:
[0116]
[0117] in, It represents the repair operation weight of the jth repair operation when the repair solution performs the i-th destruction operation at the t-th iteration; It represents the repair operation weight of the jth repair operation when the repair solution performs the i-th destruction operation at the t+1th iteration; λ represents the learning rate; Represents a set of destruction operations; represents the set of repair operations; ψ represents the adjustment factor of the operation weight;
[0118]
[0119] Among them, ω1 represents the adjustment factor of the operation weight when the repair solution is the historical optimal solution; ω2 represents the adjustment factor of the operation weight when the repair solution is accepted as the current solution; ω3 represents the adjustment factor of the operation weight when the repair solution is inferior to the current solution but is accepted as the current solution; ω4 represents the adjustment factor of the operation weight when the repair solution is rejected or infeasible. In this embodiment, it is set to [ω1, ω2, ω3, ω4] = [33, 9, 13, 0].
[0120] Among them, random insertion is to insert the removed parts into a randomly selected batch according to a randomly selected build direction; greedy insertion is to insert the removed parts into the batch that has the least negative impact on the expected number of late parts according to a randomly selected build direction; earliest deadline insertion is to insert the removed parts into the batch that does not contain the latest deadline parts according to a randomly selected build direction; minimum height variance insertion is to identify all build direction combinations in the current batch and current iteration, and select the batch and build direction combination with the smallest height variance of the corresponding batch after the removed parts are inserted.
[0121] S43. Packing feasibility check: Use the box packing heuristic method to check the feasibility of the repair solution. If it is not feasible, reject the repair solution and return to S41. Otherwise, execute S44.
[0122] S44, Solution Evaluation: Monte Carlo simulation is used to evaluate the expected number of late parts corresponding to the repair solution.
[0123] The processing time corresponding to the repair solution is sampled, and the sample mean of the expected number of late parts is calculated based on the sampled processing time as an unbiased estimate, which is expressed as:
[0124]
[0125] Where N represents the number of repeated experiments; Y j (x) represents the expected number of late parts for the jth repetition;
[0126] The expected number of late parts corresponding to the repair solution is evaluated based on an unbiased estimate, which is expressed as:
[0127]
[0128] The accuracy of the evaluation in this step depends on the number of repeated experiments, so in this embodiment, the sample mean is obtained. The half-width of the confidence interval is lower than the N value corresponding to the specified threshold. Based on this N value, the upper and lower limits are determined for the number of repeated experiments to optimize the allocation of computing resources while maintaining a consistent confidence level.
[0129] S45, acceptance decision: Based on the expected number of late parts and the acceptance criteria, decide whether to accept the corresponding repair solution as the current solution.
[0130] When a feasible repair solution is better than the current solution, that is, the expected number of late parts corresponding to the repair solution is less than the expected number of late parts corresponding to the current solution, the repair solution is accepted as the current solution.
[0131] When a feasible repair solution is inferior to the current solution, the acceptance probability is calculated and the repair solution is accepted as the current solution based on the acceptance probability. The expression is:
[0132]
[0133] Among them, Y(x new ) represents the sample mean of the expected number of late parts in the repair solution; Y(x) represents the sample mean of the expected number of late parts in the current solution; T represents the temperature coefficient, the initial value of the temperature coefficient is T0 = γ·n, γ represents an adjustable parameter, n represents the number of parts in the repair solution, and T is updated T′ = Tβ in each iterative solution, β represents the cooling rate.
[0134] If the current solution is not updated for at least η·MaxIter times, the next iterative solution will directly accept the feasible repair solution as the current solution and increase the temperature coefficient to T / β η·MaxIter , where η represents a fixed parameter and MaxIter represents the maximum number of iterations.
[0135] S46. Optimal solution update: update the optimal solution in the current iteration based on the current solution.
[0136] In addition, the present invention also provides an electronic device including a central processing unit (CPU), which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) or loaded from a storage unit into a random access memory (RAM). In the RAM, various programs and data required for device operation can also be stored. The CPU, ROM, and RAM are connected to each other via a bus. An input / output (I / O) interface is also connected to the bus.
[0137] Many components in a device are connected to the I / O interface, including: input units, such as a keyboard and mouse; output units, such as various types of displays and speakers; storage units, such as magnetic disks and optical disks; and communication units, such as network cards, modems, and wireless communication transceivers. The communication unit allows the device to exchange information / data with other devices via computer networks such as the Internet and / or various telecommunication networks.
[0138] The processing unit performs the various methods and processes described above, such as methods S1 to S4. For example, in some embodiments, methods S1 to S4 can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit. In some embodiments, part or all of the computer program can be loaded and / or installed on the device via a ROM and / or a communication unit. When the computer program is loaded into the RAM and executed by the CPU, one or more steps of methods S1 to S4 described above can be performed. Alternatively, in other embodiments, the CPU can be configured to execute methods S1 to S4 by any other appropriate means (for example, by means of firmware).
[0139] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0140] The program code for implementing the method of the present invention can be written in any combination of one or more programming languages. Such program code can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0141] In the context of the present invention, machine-readable medium can be a tangible medium that can contain or store a program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0142] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and such modifications or substitutions are intended to be within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be subject to the scope of protection of the claims.
Claims
1. A method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time, characterized in that: The method includes: Obtain a set of all parts that need to be processed in additive manufacturing, sort them by deadline, obtain a set of optional build directions for each part, and randomly select a build direction from the set of optional build directions for each part; Creating multiple empty batches for each of the additive manufacturing machines, dividing the parts with the selected build directions into multiple subsets, and assigning the subsets to the empty batches of the machines according to a priority scheme; After the allocation is completed, the initial feasible solution of scheduling and packing is obtained using the heuristic method of the bin packing problem; The objective function and constraints are constructed, and based on the initial feasible solution, the SIM-ALNS algorithm is used to iteratively solve the problem to obtain the optimal solution for scheduling and packing.
2. The method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time according to claim 1, characterized in that: The expression of the objective function is: f=min∑ j∈J U j , Among them, U j A variable indicating whether part j is late. j =1 means part j is delivered late, when U j =0 means that part j is not delivered late; J represents the part set.
3. The method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time according to claim 1, characterized in that: The constraints include: Part build direction selection and part-batch allocation constraints are expressed as: Where I represents the set of manufacturing machines; B i represents the set of available batches on manufacturing machine i; X jib It means that when part j is assigned to batch b on manufacturing machine i, the value is 1, otherwise it is 0; J represents the part set; K j represents the set of optional building directions for part j; Y jk Indicates that when part j selects the construction direction k, the value is 1, otherwise it is 0; M represents a number; Z ib It indicates that the value is 1 when batch b is formed on manufacturing machine i, otherwise it is 0; Time constraint, its expression is: Among them, PT ib represents the processing time of batch b on manufacturing machine i; ST i represents the expected startup time of each batch on manufacturing machine i; HT i represents the expected substrate preheating time for each batch on manufacturing machine i; CT i represents the expected substrate cooling time for each batch on manufacturing machine i; DT i represents the expected post-processing time of each batch on manufacturing machine i; BT ib represents the expected build time of batch b on manufacturing machine i; S ib represents the total surface area of parts of batch b on manufacturing machine i; represents the number of working lasers on manufacturing machine i; δ i represents the thickness of each layer on manufacturing machine i; represents the contour scanning speed of the slice pattern on manufacturing machine i; represents the total volume of parts of batch b on manufacturing machine i; represents the hash scanning speed of the slice pattern on manufacturing machine i; represents the filling spacing of the part body in the slice pattern on manufacturing machine i; represents the total volume of the support structure of batch b on manufacturing machine i; represents the infill spacing of the support structure in the slice pattern on fabrication machine i; represents the coating time of each layer on the manufacturing machine i; H ib represents the height of batch b on manufacturing machine i; C i0 represents the completion time of the first batch on manufacturing machine i; PT i0 represents the processing time of the first batch on manufacturing machine i; C ib represents the completion time of batch b on manufacturing machine i; c j represents the completion time of part j; d j represents the delivery time of part j; U j A variable indicating whether part j is late. j =1 means part j is delivered late, when U j =0 means that part j is not delivered late; The total area constraint of parts in a batch is expressed as: S ib =∑ j∈J X jib a j , b∈B i , where S ib represents the total surface area of parts of batch b on manufacturing machine i; a j represents the surface area of part j; The total volume constraint of parts in a batch is expressed as: b∈B i , where v j represents the volume of part j; The total volume constraint of the part support structure within a batch is expressed as: b∈B i , i∈I,b∈B i , where e jib Y represents the volume of the support structure of part j printed on manufacturing machine i in batch b; jk Indicates that when part j chooses the construction direction k, it is 1, otherwise it is 0; s jk represents the volume of the support structure of part j in direction k; Batch height constraint, its expression is: i∈I,b∈B i , where Y jk If part j chooses to build direction k, it is 1, otherwise it is 0; h jk represents the height of part j in direction k; The spatial relationship between parts in the same batch is expressed as: in, represents the height of the build cabin on the manufacturing machine i; l jk Indicates the length of part j in direction k; L i represents the length of the build cabin on the manufacturing machine i; o j If the length of part j is parallel to the length of the build platform, it is 1, otherwise it is 0; w jk represents the minimum envelope size of part j in direction k; PL jj′ Indicates whether the upper right point of part j is to the left of the lower left point of part j′. If true, it is 1, otherwise it is 0; PB jj′ Indicates whether the upper right point of part j is located on part j ′ Below the lower left point, if true, it is 1, otherwise it is 0; x j ,y j Represents the coordinates of the lower left corner of the minimum envelope of part j on the platform; The symmetry constraint between batches is expressed as: Z i(b-1) ≤Z ib , b∈B i .
4. The method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time according to claim 1, characterized in that: The iterative solution method includes: Destruction operation: remove some parts from the schedule and layout corresponding to the current feasible solution to form a partial solution; Repair operation: reinserting each part of the partial solution into another selected batch in a selected direction to form a repair solution; Packing feasibility check: Use the box packing heuristic method to check the feasibility of the repair solution. If it is not feasible, reject the repair solution and return to the destruction operation. Otherwise, perform solution evaluation. Solution evaluation: Monte Carlo simulation is used to evaluate the expected number of late parts corresponding to the repair solution; Acceptance decision: based on the expected number of late parts, decide whether to accept the corresponding repair solution as the current solution according to the acceptance criteria; Optimal solution update: Update the optimal solution in the current iteration based on the current solution.
5. The method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time according to claim 4, characterized in that: The destruction operation modes include random part removal, greedy part removal, random batch removal, greedy batch removal and maximum height variance batch removal. The method for selecting the destruction operation mode is to use a roulette wheel selection method according to the destruction operation weight ρ of each mode. d Choose one of these methods; The random part removal is to randomly select and remove a part; The greedy parts removal is to remove the parts that have the greatest negative impact on the expected number of late parts; The random batch removal is to randomly select a batch and remove all parts therein; The greedy batch removal is to remove all parts in the batch that has the greatest negative impact on the expected number of late parts; The maximum height variance batch removal is to remove the batch with the maximum part height variance.
6. The method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time according to claim 5, characterized in that: The destruction operation weight is adaptively updated after each iterative solution, and its expression is: in, represents the destruction operation weight of the repair solution performing the i-th destruction operation at the t-th iteration; represents the destruction operation weight of the repair solution performing the i-th destruction operation at the t+1th iteration; λ represents the learning rate; represents the set of destruction operations; ψ represents the adjustment factor of the operation weight; and, Among them, ω1 represents the adjustment factor of the operation weight when the repair solution is the historical optimal solution; ω2 represents the adjustment factor of the operation weight when the repair solution is accepted as the current solution; ω3 represents the adjustment factor of the operation weight when the repair solution is inferior to the current solution but is accepted as the current solution; ω4 represents the adjustment factor of the operation weight when the repair solution is rejected or infeasible.
7. The method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time according to claim 5, characterized in that: The repair operation methods include random insertion, greedy insertion, earliest deadline insertion and minimum height variance insertion. The method for selecting the repair operation method is to use a roulette wheel selection method according to the repair operation weight corresponding to the current destruction operation. Select a repair operation method; Wherein, the random insertion is to insert the removed parts into the randomly selected batch according to the randomly selected build direction; The greedy insertion is to insert the removed parts into the batch that has the least negative impact on the expected number of late parts according to the randomly selected build direction; The earliest deadline insertion is to insert the removed parts into a batch that does not contain the latest deadline parts according to a randomly selected build direction; The minimum height variance insertion is to identify all build direction combinations in the current batch and the current iteration, and select the batch and build direction combination with the minimum height variance of the batch corresponding to the removed parts after insertion.
8. The method for scheduling and arranging a parallel additive manufacturing machine with uncertain processing time according to claim 6 or claim 7, characterized in that: The repair operation weight is adaptively updated after each iterative solution, and its expression is: in, It represents the repair operation weight of the jth repair operation when the repair solution performs the i-th destruction operation at the t-th iteration; It represents the repair operation weight of the jth repair operation when the repair solution performs the i-th destruction operation at the t+1th iteration; λ represents the learning rate; Represents a set of destruction operations; represents the set of repair operations; ψ represents the adjustment factor of the operation weight; and, Among them, ω1 represents the adjustment factor of the operation weight when the repair solution is the historical optimal solution; ω2 represents the adjustment factor of the operation weight when the repair solution is accepted as the current solution; ω3 represents the adjustment factor of the operation weight when the repair solution is inferior to the current solution but is accepted as the current solution; ω4 represents the adjustment factor of the operation weight when the repair solution is rejected or infeasible.
9. The method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time according to claim 5, characterized in that: The method for evaluating the expected number of late parts corresponding to the repair solution using Monte Carlo simulation is: The processing time corresponding to the repair solution is sampled, and the sample mean of the expected number of late parts is calculated based on the sampled processing time as an unbiased estimate, which is expressed as: Where N represents the number of repeated experiments; Y j (x) represents the expected number of late parts for the jth repetition; The expected number of late parts corresponding to the repair solution is evaluated based on the unbiased estimate, which is expressed as:
10. The method for scheduling and laying out a parallel additive manufacturing machine with uncertain processing time according to claim 5, characterized in that: The receiving decision is: When a feasible repair solution is better than the current solution, that is, the expected number of late parts corresponding to the repair solution is less than the expected number of late parts corresponding to the current solution, the repair solution is accepted as the current solution; When a feasible repair solution is inferior to the current solution, the acceptance probability is calculated, and the repair solution is accepted as the current solution based on the acceptance probability. The expression is: Among them, Y(x new ) represents the sample mean of the number of delayed parts expected in the repair solution; Y(x) represents the sample mean of the number of delayed parts expected in the current solution; T represents the temperature coefficient, the initial value of the temperature coefficient is T0=γ·n, γ represents an adjustable parameter, n represents the number of parts in the repair solution, and T is updated in each iterative solution. ′ =Tβ, β represents the cooling rate; If the current solution is not updated for at least η·MaxIter consecutive times, the feasible repair solution is directly accepted as the current solution in the next iterative solution, where η represents a fixed parameter and MaxIter represents the maximum number of iterations.
Citation Information
Patent Citations
Casting molding workshop production task scheduling algorithm
CN117436628A
Cited By
Semiconductor scheduling algorithm model configuration system, method, device and medium
CN121303779A
Additive manufacturing multi-target collaborative optimization method fusing direction selection and multi-machine scheduling
CN121810001A