Dynamic segmentation and co-matching algorithm
Wen Guihua Ding Yuehua
How to properly cut a given specification rectangular part on the original rectangular sheet to increase the utilization of the original sheet
It is a topic with significant economic significance. Many industrial problems such as steel plates, glass, roll paper, etc. are here.
Type rectangular discharge problem, a typical combination optimization problem, high computational complexity (NP is completely asked
question). Therefore, large-scale discharge, not only hand-moving can not be true optimization, even
Computers must also develop efficient algorithms to achieve optimized cutting with high utilization. Current cutting algorithm
Multi-class, such as early linear planning algorithms and dynamic planning algorithms, the main problem exists is calculating time and
The space is exponentially increased, and the total number of rectangular members that is expected to discharge is unlimited, then the algorithm is not available.
use. Heuristic algorithm [1, 2] is an improvement to the dynamic planning algorithm, and its efficiency is completely dependent on the inspiration function.
Definition, difficult to adjust the contradiction between time and material utilization. Although the discharge algorithm with a class ratio is
Introducing important types of learning ideas, can gradually reduce the system's discharge time [3]. But the system does not automatically
The ability to learn in the experience of exhaustion, system learning is completed by human machine, the utilization of pattern discharge is extremely
The earth is dependent on experts, but it is impossible for experts from large-scale discharge.
Optimization. In particular, these algorithms only implement two-dimensional cutting without performing the necessary remaining materials, therefore
A lot of scattered non-sampling residual pieces, not only greatly reduced the utilization of materials, but also extremely placed
The cutting speed is ringing. Therefore, this paper proposes an optimized row algorithm based on dynamic segmentation and combination.
The purpose is to optimize the sheets to the panel according to the contribution racing parts make the utilization of the sheet as high as possible.
1 row model
It is assumed that the part is always placed on the upper left corner of the plate (L, W), and the sheets and parts are placed in
A coordinate plane, then the position of this rectangular part (Li, Wi) on the sheet can be coordinted by its left upper corner (Xi, Yi)
And the discharge mode m is fully determined. The sample process is based on the search rules, determines each part on the left left.
Corner Coordinates (Xi, Yi), Dram Mi: Vertical or Horizontal Bar and Cutting Mode CI: Vertic or Cross. Therefore
Mode S has 4 different combinations, coupled with the selected parts, a total of 5 patterns, as shown in Figure 1. Different modes
The coordinates and subsequent discharge efficiency of the sheet residue are determined. But no matter which mode, only two remaining materials have only two
. Therefore, the sample process is the search process of or the tree. This with or trees or nodes is to determine the pattern mode, as shown
1 n Node. With the node is the remainder segmentation of a certain sample mode, as the M node of Figure 1. And the rules result is a
Typical binary trees such as N-M- (K, L).
Page, 1/4 computer engineering 991210
2005-2-21
Http://power.luneng.com/power/library/jsjgc/jsjgc99/jsjgc9912/99121 ...
Figure 1 Sampling and or tree
The search process is highly complexity, which is a full problem of NP, so the selection of parts and rocking modes.
The inspiration algorithm must be used.
Algorithm 1 part selection algorithm
The traditional algorithm uses the inspiration information of the area of the part, the larger the more preferred, which is more in line with straight.
I feel, but there are still some important pieces in practical applications to be prioritized, and the bigger the area is not necessarily materials.
The higher the rate. The choice of actual application parts should follow this principle: (1) large, important pieces; (2)
Hope to achieve a higher material utilization. So define the following parts to select the inspiration function:
F (i) = GI (1-GI) i GI
ki
SQ (i) / s K2
The larger the f (i). Where Gi is the utilization rate when the part Pi is alone in the original plate. SQ (i) is
PI area, S is the area of the original plate. K1 is an optional parameter, which is primarily 2, and will be corrected according to the actual situation. If
PI is a large piece, when the important piece, K2 = 1, otherwise K2 = 0. f (i) of the second item reflects the expected value of the remaining material utilization after the PI sampling, when K1 chooses it, it is obedient
Such statistics: The larger the remaining materials, the greater E. Therefore, the first two integration of F (i) reflect the PI sampling time.
The expected value of the material utilization. The latter two are ensured, and the important part is preferred.
Therefore, the part selection algorithm mainly calculates F (i) of each part PI, selecting the constraints and has the largest
Value parts PI Sampling.
Algorithm 2 mode selection algorithm
In order to determine the optimal moisture method of the given part Pi and the cutting method of the remaining material, each mode can be calculated
Inspiration information is implemented. A total of 5 categories: F1 parts PI horizontal rosewart, F2 parts PI horizontal row, F3 parts Pi vertical
The row is transversely cut, the F4 part Pi is vertically cut, and the F5 skips the part Pi. The inspiration function of the mode selection is:
F (bx, ms) = max {F1, F2, F3, F4, F5}
F1 = f (i) f (a, ms-1) f (B C, MS-1)
F2 = f (i) f (A, B, MS-1) f (B C, MS-1)
F3 = f (i) f (e, ms-1) f (f g, ms-1)
F4 = f (i) f (E F, MS-1) f (g, ms-1)
F5 = f (bx, ms-1)
When MS = 0 or (L, W) cannot be discharged from the part Pi or no parts, f is 0.
Page, 2/4 Computer Engineering 991210
2005-2-21
Http://power.luneng.com/power/library/jsjgc/jsjgc99/jsjgc9912/99121 ...
2 row layout algorithm
If only two-dimensional cutting is implemented without the necessary balance, it will produce a lot of dispersion.
Residual fragments that can be drained, which not only greatly reduces the utilization of materials, but also greatly affects the cutting speed.
degree. Therefore, after segmentation, try to consolidate adjacent subsidiaries into larger subsequent baffles.
As follows: (1) Increase the possibility of the row, (2) can be multi-row small, (3) increase the opportunity to optimize the drain; (4)
A lot of waste is taken; (5) reducing void resilings between gaps, thereby increasing the cutting speed.
(1) layout data structure
Sampling layout is a binary tree, its node information such as NodeInfo definition, storage adoption linear table implementation.
Typedef struct nodeinfo {
Long code: // layout number
Integer gx: // Plate coordinates
Integer Gy: Long GL: / / Plate size
Long GW: long sl: // Part size
Long SW: BYTE MI: // Sampling and Cutting Method
BYTE CI: long Aptr: // Pointing the remaining material a
Long bptr: // Pointing the remaining material B
}
(2) combined algorithm
The algorithm mainly merges adjacent residual materials into larger blocks, but simple mergers do not guarantee
The remaining remaining material is a rectangle. Therefore, there is conditional, which is heuristic. Below is the combination of one algorithm
Several inspiration rules:
If the remaining material A has a high material utilization, it is not necessary to combine it, because a larger block is only an increase
Optimistic layout, but it is not guaranteed to produce better layout.
If the remaining material A cannot be drained any parts, it must be combined and allowed to participate in the combination.
If the remaining material A and the remaining material b combined with the remaining materials are not a rectangle, and the loss of rectangular shape is smaller than a separate insection.
The loss is taken.
(3) Sampling Algorithm (Algorithm 3)
Open is the stack for storing the currently unsteaded current plates and the rest.
1) Select the sheet (L, W) to put it in the OPEN table
2) When the OPEN table is not empty and the parts are not yet rumored, the following steps are followed.
1 Remove the plates (L ', W') from the OPEN table according to the integration method
3 Select Part Pi according to part selection algorithm
4 According to the parts single-step row algorithm layout parts Pi, if the layout, the corresponding remaining materials A and B are entered into Open.
Table, otherwise turn 2
5 Keep this step-oriented layout (layout tree)
3) If the zero queue and the sheet queue are not available, turn 1
4) All row, calculate the average utilization of the sheet, and output the sample map.
3 implementation and conclusion
The dynamic split and the combined optimization of the algorithm have been implemented in VB, and the algorithm is successful. Figure 2,
There is no one in the left, not only the material utilization is not high, but also increases the number of cuts, and reduces cutting.
rate.
Page number, 3/4 computer engineering 991210
2005-2-21
Http://power.luneng.com/power/library/jsjgc/jsjgc99/jsjgc9912/99121 ...
Figure 2 sample example
Author: South China University of Technology Computer Center, Guangzhou 510641
references
1 Yanasee H H. Two-Dimensional Cutting Stock With Multiple
Sizes.j.opt., 1990, 4
2 (8): 673 ~ 6832 Chauny F.A Two-Phrase Heuristic for the Two-Dimensional
Cutting stock problem.j.opt.res.soc., 1991, 42 (1): 39 ~ 47
3 Liu Hong, Zeng Guang Zhou, Lin Zongxi. Optimized drainage system with a class-specific learning mechanism. Computer auxiliary design and map
School Journal, 1997, 9 (5): 436 ~ 441
Page, 4/4 Computer Engineering 991210
2005-2-21