Warehouse layout method, medium, program product and electronic equipment
By optimizing the location and aspect ratio of warehouse functional areas using genetic algorithms, the problem of warehouse layout being unable to adapt to changes in multiple categories, small batches, and high frequency of goods was solved, resulting in reduced warehousing costs and improved operational efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HITACHI LTD
- Filing Date
- 2024-11-05
- Publication Date
- 2026-05-08
AI Technical Summary
Existing technologies make it difficult to flexibly adjust warehouse layouts to adapt to changes in demand for multiple categories, small batches, and high frequency of goods, resulting in high warehouse management costs and low operational efficiency.
A genetic algorithm is used to perform dual encoding on the location and aspect ratio of the warehouse functional areas. By optimizing the location and size of the functional areas, the optimization result that meets the preset conditions is determined, thereby realizing the automatic adjustment of the warehouse layout.
It reduced total warehousing costs and total warehouse space, improved warehouse operational efficiency and effective space utilization, and reduced inventory backlog and operating costs.
Smart Images

Figure CN121998541A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of logistics management technology, and in particular to a warehouse layout method, medium, program product and electronic device. Background Technology
[0002] The demand for integrated logistics warehousing for production, sales, and after-sales services in the manufacturing industry has exploded. The increasing volume of multi-category, small-batch, and high-frequency goods, along with integrated operations such as inbound / outbound warehousing, inspection, processing, sorting, and packaging, places higher demands on warehouse management. The constantly changing demand for goods has led to non-fixed warehouse space requirements. For example, when demand is low, smaller warehouses are needed to reduce warehousing costs; when demand is high, larger warehouses are required. Furthermore, to improve operational efficiency, such as reducing cargo handling distances, closer proximity between functional areas may be necessary. Therefore, as warehouse demands continue to evolve, how to flexibly adjust warehouse layouts has become a pressing issue. Summary of the Invention
[0003] This application provides a warehouse layout method, medium, program product, and electronic device that can optimize warehouse layout, improve warehouse operation efficiency, and reduce warehouse costs.
[0004] In a first aspect, embodiments of this application provide a warehouse layout method, the method comprising: acquiring an order data set within a set time period; determining multiple functional areas in the warehouse based on the order data set; determining a first area for each functional area based on the order data set; using the location of each functional area as a first optimization object and the aspect ratio of each functional area as a second optimization object; based on the first area of each functional area, performing dual encoding processing on the first and second optimization objects using a genetic algorithm, and decoding the encoded first and second optimization objects to determine an optimization result that satisfies preset conditions, the optimization result including the target location and target aspect ratio of each functional area. It can be understood that the aforementioned preset conditions are used to characterize the degree of optimization of the location and aspect ratio of each functional area; the optimization result satisfying the preset conditions indicates a higher degree of optimization of the target location and target aspect ratio of each functional area.
[0005] The order data set within the aforementioned time period reflects the actual needs of the warehouse. Based on this order data set, a genetic algorithm can be used to simultaneously optimize the location and size of each functional area. Thus, this method can automatically optimize the size and location layout of each functional area of the warehouse according to the set order data, which helps to reduce the total warehousing cost and / or the total warehouse footprint.
[0006] In one possible implementation of the first aspect described above, the order data in the order data set includes at least one of the following: order number, order date, order time, goods type, goods quantity, processing flow, cargo box specifications, and operation type. The operation type includes at least one of the following: outbound operation, inbound operation, and in-warehouse operation. Each operation type corresponds to multiple operation processes, and each operation process corresponds to a functional area. The processing flow includes at least one operation process corresponding to one operation type. For example, the aforementioned order data set can be historical data of existing warehouses of warehouse demanders such as logistics companies or merchants, or expected data set by the user based on actual warehouse needs.
[0007] In one possible implementation of the first aspect described above, multiple functional areas in the warehouse are determined based on the order data set. This includes: determining multiple functional areas of the warehouse based on the corresponding work processes for outbound operations, inbound operations, and in-warehouse operations in the order data set; wherein the multiple functional areas include at least one of the following: unloading area, inbound temporary storage area, pallet unpacking area, quality inspection area, packaging area, outbound temporary storage area, palletizing / stacking area, loading area, storage area, sorting area, equipment placement area, defective / returned goods area, and office area. As an example, when determining the multiple functional areas in the warehouse, the name and number of each functional area can be determined, so that different functional areas have different numbers.
[0008] In one possible implementation of the first aspect mentioned above, determining the first area of each functional area based on the order data set includes: determining the maximum surplus of the inventory surplus between the warehouse's inbound and outbound volumes within a set time period based on the order data set; determining the maximum area of each functional area based on the maximum surplus; and determining the corresponding first area based on the maximum area of each functional area, wherein the first area of each functional area is less than or equal to the corresponding maximum area. It can be understood that the inventory surplus within a set time period reflects the peak demand for inventory during that period. Therefore, the maximum area of each functional area can be determined based on the aforementioned maximum surplus, ensuring that the warehouse area corresponding to the determined area of each functional area (such as the maximum area or the first area) can handle the maximum cargo flow.
[0009] In one possible implementation of the first aspect described above, determining the corresponding first area based on the maximum area of each functional area includes: using the maximum area of each functional area as the corresponding first area. This ensures that each functional area has sufficient space to perform its corresponding function.
[0010] In one possible implementation of the first aspect above, determining the corresponding first area based on the maximum area of each functional area includes: determining the second area of each functional area, wherein the second area is a preset area, or an area calculated based on the processing capacity per unit area of the functional area; if the second area of the functional area is less than the corresponding maximum area, then the second area is used as the first area of the functional area; if the second area of the functional area is greater than or equal to the corresponding maximum area, then the maximum area is used as the first area of the functional area.
[0011] Thus, the maximum area of the functional area determined based on the maximum surplus value within the preset time period, the preset area of the functional area, and the area calculated based on the processing capacity per unit area of the functional area can comprehensively consider the maximum area of the functional area and the area required by the user, thereby helping to determine the first area of the functional area that is smaller in size but can handle a larger volume of goods.
[0012] In one possible implementation of the first aspect above, determining the maximum surplus of the warehouse's inbound and outbound goods volume surplus within a preset time period based on the order data set includes: dividing the order data set into multiple sub-order data sets in a rolling manner according to the warehouse goods processing delay digestion cycle (e.g., one week); calculating the surplus of inbound and outbound goods volume in each sub-order data set to obtain multiple surpluses; and taking the maximum value among the multiple surpluses as the maximum surplus within the preset time period.
[0013] In one possible implementation of the first aspect described above, a genetic algorithm is used to perform dual-encoding processing on the first optimization object and the second optimization object. This includes: encoding the first optimization object to determine that the encoded first optimization object is a first chromosome, which includes the numbers of each functional area, and the position of each functional area in the warehouse corresponds to the insertion order of the functional area numbers in the first chromosome; encoding the second optimization object to determine that the encoded second optimization object is a second chromosome, which includes the aspect ratio of each functional area, and the aspect ratio is within a preset range. The size of each functional area corresponds to the first area of the functional area and the aspect ratio in the second chromosome. The first chromosome and the second chromosome constitute a set of dual-encoded chromosomes. Decoding the encoded first and second optimization objects using a genetic algorithm refers to solving for the encoded dual-encoded chromosomes. Specifically, the genetic algorithm can iteratively construct a population of dual-encoded chromosomes, and solve for dual-encoded chromosomes that satisfy preset conditions in each population. Then, the position and aspect ratio of each functional area in the dual-encoded chromosome are used as the target position and target aspect ratio, respectively, to obtain the optimization result that satisfies the preset conditions, i.e., the optimized warehouse layout. Thus, since the genetic algorithm in this application can simultaneously optimize the size and aspect ratio of each functional area, the optimized aspect ratio and location of each functional area and the corresponding warehouse layout are conducive to reducing the total storage cost of the warehouse and / or reducing the total warehouse area occupied.
[0014] In one possible implementation of the first aspect above, decoding the encoded first and second optimization objects to determine the optimization result that satisfies the preset conditions includes: constructing the k-th double-coded chromosome population for the k-th iteration process corresponding to the iteration number being k, and solving the k-th double-coded chromosome population to obtain the fitness of the k-th iteration process, where k is a positive integer less than or equal to T, the double-coded chromosome population includes N sets of double-coded chromosomes, and the fitness is related to the distance between different functional areas and the cargo flow between different functional areas; if the k-th iteration process satisfies the preset conditions, then according to the k-th double-coded chromosome population... The optimization result is determined by the group. If the k-th iteration does not meet the preset conditions, the iteration number is updated from k to k+1, and the k-th double-coded chromosome population for the k-th iteration is re-constructed. The fitness of the k-th iteration is obtained by solving the k-th double-coded chromosome population until the k-th iteration meets the preset conditions. The preset conditions include at least one of the following: the current iteration number is greater than T, the difference between the fitness of the current iteration and the fitness of each iteration in the previous S adjacent iterations is less than or equal to a set threshold, and the fitness of the current iteration is greater than or equal to the preset fitness, where S is a positive integer. Therefore, the preset conditions limited by the iteration number and fitness can serve as the criteria for determining the optimization objective, and a better optimization result can be calculated within a reasonable time, i.e., the location and aspect ratio of each functional area with better optimization effect. Furthermore, this application can comprehensively consider the cargo flow and distance between different functional areas to determine the fitness of the double-coded chromosome, so as to comprehensively consider the influence of these factors on the warehouse layout and optimize the location and aspect ratio of each functional area, which is beneficial to improving the optimization effect of the warehouse layout.
[0015] In one possible implementation of the first aspect described above, the fitness of the k-th dual-coding chromosome population is obtained by solving the problem. This includes: calculating the fitness of each dual-coding chromosome in the N sets of dual-coding chromosomes of the k-th dual-coding chromosome population, obtaining N fitness values; and taking the maximum value among the N fitness values as the fitness of the k-th iteration. It can be understood that the fitness of a dual-coding chromosome is used to measure the optimization effect of that dual-coding chromosome (i.e., the optimization effect of the position and aspect ratio of each functional region in the dual-coding chromosome). A higher fitness value corresponds to a better optimization effect.
[0016] In one possible implementation of the first aspect described above, the fitness calculation process of the dual-coded chromosome includes: decoding the dual-coded chromosome; solving the decoded dual-coded chromosome using a two-dimensional bin packing algorithm to obtain the insertion coordinates of each functional area in the warehouse and the first total area of multiple functional areas, wherein the first total area is the area of the outermost envelope rectangle of multiple functional areas; calculating the distance between different functional areas based on the insertion coordinates of each functional area; and calculating the fitness of the dual-coded chromosome based on the cargo flow between different functional areas, the distance between different functional areas, and the first total area. In some embodiments, the fitness can be calculated based on formula (6) below. For example, the fitness of the dual-coded chromosome is not only related to the cargo flow and distance between different functional areas, but also to the cost of transporting goods per unit distance and the cost per unit warehouse area. Therefore, the fitness calculated using the transport distance cost and the warehouse area cost can be used as the criterion for determining the comprehensive optimization objective of the dual-coded chromosome.
[0017] In one possible implementation of the first aspect above, the distance between different functional areas is the Manhattan distance, or the non-penetrating shortest path distance, or the distance between the boundary points of different functional areas, or the distance between the center points of different functional areas.
[0018] In one possible implementation of the first aspect described above, the calculation process for the insertion coordinates of the functional areas includes: according to the insertion order, aspect ratio, and corresponding first area of each functional area in the dual-encoded chromosome, based on a set origin along the first direction of the first coordinate axis and the second direction of the second coordinate axis, inserting rectangles corresponding to each functional area into the global region plane to obtain the insertion coordinates of each functional area. The size of the functional area includes the first direction length of the rectangle corresponding to the functional area in the first direction and the second direction length in the second direction. The insertion coordinates of the functional area include the first direction coordinate value on the first coordinate axis and the second direction coordinate value on the second axis. Furthermore, the first direction coordinate value of the functional area plus the first direction length of the functional area is less than or equal to a first total length threshold. The first total length threshold is equal to the square root of the area of the global region plane, and the area of the global region plane is a preset multiple of the sum of the first areas corresponding to each functional area. It can be understood that this application, combined with the two-dimensional binning algorithm of chromosome dual-encoding, can achieve seamless piecing together of each functional area in the first direction (e.g., horizontal), while the gaps between functional areas in the second direction (e.g., vertical) are optimized through evolutionary optimization using a chromosome genetic algorithm, thereby minimizing the warehouse area as much as possible.
[0019] In one possible implementation of the first aspect described above, constructing the k-th dual-coding chromosome population in the k-th iteration process includes: for k equal to 1, constructing the k-th dual-coding chromosome population in the k-th iteration process using a random method; for k greater than 1, performing a reconstruction operation on the dual-coding chromosomes in the (k-1)-th dual-coding chromosome population in the (k-1)-th iteration process to obtain the k-th dual-coding chromosome population in the k-th iteration process. The reconstruction operation includes at least one of the following: selection, crossover, or mutation. For example, for a set of dual-coding chromosomes, the above selection, crossover, or mutation operations can be performed according to a set probability. In this way, the evolutionary process of chromosome dual-coding can be used to solve the problem of large gaps in the vertical direction of functional regions, optimize and adjust the insertion order and variable length and width of functional regions, and reduce the vertical gaps in functional regions.
[0020] In one possible implementation of the first aspect above, the crossover operation on the numbering of functional regions in different double-coded chromosomes includes: exchanging the first functional region number and the second functional region number in the first chromosome of one set of double-coded chromosomes with the second functional region number and the first functional region number in the first chromosome of another set of double-coded chromosomes, respectively, to obtain two sets of double-coded chromosomes after the crossover operation; the crossover operation on the aspect ratio of functional regions in different double-coded chromosomes includes: linearly processing the aspect ratio of the functional region corresponding to the first index in the second chromosome of one set of double-coded chromosomes with the aspect ratio q2 of the functional region corresponding to the first index in the second chromosome of another set of double-coded chromosomes, so that the aspect ratio q1 is adjusted to d1 after the crossover operation, and the aspect ratio q2 is adjusted to d2 after the crossover operation, where d1=α·q1+(1-α)·q2, d2=(1-α)·q1+α·q2, and α is a coefficient less than 1.
[0021] In one possible implementation of the first aspect above, the variation operation of the numbering of functional regions in different dual-coding chromosomes includes: in a dual-coding chromosome, swapping the positions of the third functional region number and the fourth functional region number; the variation operation of the aspect ratio of functional regions in different dual-coding chromosomes includes: in a dual-coding chromosome, replacing the aspect ratio of the functional region corresponding to the second index with a value within a preset ratio range.
[0022] In one possible implementation of the first aspect above, the method further includes: calculating the acceptance probability of the double-coded chromosomes after crossover in the k-th double-coded chromosome population; corresponding to the acceptance probability of the double-coded chromosome being a first value, the double-coded chromosome is used as one of the double-coded chromosomes in the k-th double-coded chromosome population; corresponding to the acceptance probability of the double-coded chromosome not being a first value, the double-coded chromosome is used as one of the double-coded chromosomes in the k-th double-coded chromosome population after backcrossing; wherein, the acceptance probability is related to the maximum fitness of each double-coded chromosome in the first double-coded chromosome population in the first iteration process, the minimum fitness of each double-coded chromosome in the first double-coded chromosome population in the first iteration process, the fitness of the c-th group of double-coded chromosomes in the k-th double-coded chromosome population in the k-th iteration process, and the maximum fitness in each iteration process, and the acceptance probability decreases as the number of iterations of the double-coded chromosome increases, where c is a positive integer less than or equal to N. It is understood that this application is based on the annealing algorithm. In the evolution process of the genetic algorithm, at the beginning of the genetic algorithm, the mutated chromosome is accepted with a higher acceptance probability. When the genetic algorithm evolves to the later stage, when the fitness of the iteration process does not change much, the mutated chromosome is accepted with a lower acceptance probability, thereby reducing the disturbance caused by the mutation and avoiding affecting the characteristics of the chromosome.
[0023] Secondly, embodiments of this application provide a readable medium storing instructions that, when executed on an electronic device, cause the electronic device to perform the warehouse layout method described in the first aspect and any possible implementation thereof.
[0024] Thirdly, embodiments of this application provide a computer program product that, when run on an electronic device, enables the electronic device to implement the warehouse layout method described in the first aspect and any possible implementation thereof.
[0025] Fourthly, embodiments of this application provide an electronic device, including: a memory for storing instructions executed by one or more processors of the electronic device, and a processor, one of the processors of the electronic device, for executing the warehouse layout method in the first aspect and any possible implementation thereof.
[0026] It is understandable that the beneficial effects of the second to fourth aspects mentioned above can be referred to the description of the first aspect, and will not be repeated here. Attached Figure Description
[0027] Figure 1 A schematic flowchart illustrating a warehouse layout method provided in an embodiment of this application;
[0028] Figure 2 A flowchart illustrating the process of determining the first area of each functional area, as provided in an embodiment of this application;
[0029] Figure 3 This is a schematic flowchart illustrating a method for solving dual-encoded chromosomes for multiple functional regions, provided in an embodiment of this application.
[0030] Figure 4 This is a schematic diagram illustrating a process for reconstructing a population of dual-coding chromosomes, provided as an embodiment of this application.
[0031] Figure 5A A schematic diagram illustrating the crossover operation process of a dual-coding chromosome provided in this application embodiment;
[0032] Figure 5B A schematic diagram illustrating the mutation process of a dual-coding chromosome provided in this application embodiment;
[0033] Figure 6 This is a flowchart illustrating an annealing algorithm for a reconstructed dual-encoded chromosome population, provided in an embodiment of this application.
[0034] Figure 7 A schematic diagram illustrating the calculation process for the fitness of a dual-coding chromosome, provided for an embodiment of this application;
[0035] Figure 8A A schematic diagram of a global planar area for inserting functional areas in a warehouse, provided in an embodiment of this application;
[0036] Figure 8B A schematic diagram of a global planar area for inserting functional areas in a warehouse, provided in an embodiment of this application;
[0037] Figure 8C A schematic diagram of a global planar area for inserting functional areas in a warehouse, provided in an embodiment of this application;
[0038] Figure 8D A schematic diagram of a global planar area for inserting functional areas in a warehouse, provided in an embodiment of this application;
[0039] Figure 9 A flowchart illustrating the insertion of a functional area using a two-dimensional bin packing algorithm is provided as an embodiment of this application.
[0040] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0041] The illustrative embodiments of this application include, but are not limited to, warehouse layout methods, media, program products, and electronic devices.
[0042] To flexibly configure warehouse layout according to actual warehouse needs, this application provides a warehouse layout method. The method acquires a set of order data within a set time period, such as one month, including information on goods quantity and type. Based on this order data set, it determines multiple functional areas in the warehouse, such as unloading areas and shelving areas. It then determines the first area of each functional area based on the order data set, such as a maximum area for each functional area. The method uses the location of each functional area as a first optimization object and the aspect ratio of each functional area as a second optimization object. Based on the first area of each functional area, it uses a genetic algorithm to perform dual encoding processing on the first and second optimization objects, and decodes the encoded first and second optimization objects to determine the optimization result that meets preset conditions. The optimization result includes the target location of each functional area and the target aspect ratio of each functional area.
[0043] The order data set within the aforementioned time period reflects the actual needs of the warehouse. Based on this order data set, a genetic algorithm can be used to simultaneously optimize the location and size of each functional area. Thus, this method can automatically optimize the size and location layout of each functional area of the warehouse according to the set order data, which helps to reduce the total warehousing cost and / or the total warehouse footprint.
[0044] It is understandable that optimizing the layout of warehouse functional areas is a crucial foundation for efficient warehouse operations and full utilization. Dynamic warehouse layout optimization ensures seamless and efficient warehousing processes while reducing overall warehousing costs. It minimizes inventory buildup, lowers operating costs, and prevents cargo loss, while also reducing total picking distance, effectively improving operational efficiency and reducing operating costs. Furthermore, increasing the effective utilization rate of warehouse space reduces the total warehouse area occupied, further lowering warehousing costs.
[0045] In some embodiments, the execution subject of the warehouse layout method provided in this application can be an electronic device, such as a module or unit in the electronic device used to execute the warehouse layout method. This application does not specifically limit the specific implementation of this method. As an example, the aforementioned module or unit can be executed by a software algorithm, such as an independent application or software, or a plugin in existing software or applications in the logistics field. In the following embodiments, the warehouse layout method is described using an electronic device as the execution subject.
[0046] For example, the electronic device in the embodiments of this application may be a tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, ultra-mobile personal computer (UMPC) device, etc. The embodiments of this application do not impose special restrictions on the specific form of the electronic device.
[0047] like Figure 1 The diagram shown is a flowchart illustrating a warehouse layout method provided in an embodiment of this application. The process includes the following steps:
[0048] S101: Get the set of order data within the specified time period.
[0049] The time period can be set to one month, two months, or other durations. The length of this time period can be set according to the user's actual needs, and this application does not impose any specific limitations on it.
[0050] In some embodiments, the aforementioned order data set may be historical data of existing warehouses of warehouse demanders such as logistics companies or merchants, or expected data set by the user based on actual warehouse needs.
[0051] For example, the above order data set includes multiple order data entries, and each order data entry includes at least one of the following: order number, order date, order time, goods type, goods quantity, processing flow, container specifications, and operation type.
[0052] Referring to Table 1, an example of order data is shown.
[0053] Table 1:
[0054] Order number date Time division Type of goods quantity Processing flow Cargo box specifications Homework type 1 2023 / 7 / 1 480 A001 3 UCSBT S 1 2 2023 / 7 / 1 480 A002 12 UCDT M 0 3 2023 / 7 / 1 481 A003 20 UCDBT M 0 4 2023 / 7 / 1 482 A004 8 UCST M 0 5 2023 / 7 / 1 483 A005 36 UCDBT M 2 6 2023 / 7 / 1 486 A006 28 UCDBT L 2 7 2023 / 7 / 1 486 A007 5 UCBT M 0 8 2023 / 7 / 1 487 A008 12 UCSDT L 2 9 2023 / 7 / 1 488 A009 4 UCT M 0
[0055] It is understood that Table 1 is only an example of order data. In actual applications, order data may include more or less content, and this embodiment of the application does not specifically limit this. For example, order data may also include shelf rule data.
[0056] The following example, using Table 2-6, illustrates the job types, processing flow, job workflow, cargo box specifications, and shelf specifications in the order data.
[0057] In some embodiments, the job type includes at least one of the following: outbound job, inbound job, and in-warehouse job.
[0058] Referring to Table 2, an example of one type of operation is shown. Each type of operation corresponds to a type number, such as the outbound operation shown in Table 2, which has a type number of 0.
[0059] Table 2:
[0060] Homework type name 0 Outbound 1 Warehousing 2 Intra-warehouse transfer
[0061] In some embodiments, each job type corresponds to multiple job processes.
[0062] Referring to Table 3, an example of the work process corresponding to an inbound operation is shown. As shown in Table 3, the work process corresponding to the inbound operation includes unloading, counting / quality inspection, temporary storage, pallet removal, relabeling, and shelving. Furthermore, each work process corresponds to a work code; for example, the inbound operation code for unloading in Table 3 is U.
[0063] Table 3:
[0064] Inbound operation code U C S D B T process Unloading Counting / Quality Inspection Temporary storage Dismantle Rebranding Available for purchase
[0065] Referring to Table 4, an example of the work process corresponding to an outbound operation is shown. As shown in Table 4, the work process corresponding to the outbound operation includes picking, quality inspection, packaging, labeling, loading onto trucks, temporary storage, counting, and loading onto vehicles. Furthermore, each work process corresponds to a work code; for example, the outbound operation code for picking in Table 4 is G.
[0066] Table 4:
[0067] Outbound operation code G Q P B K S C L process Picking Quality Inspection Package Labeling mounting tray Temporary storage Points Loading
[0068] Referring to Table 5, an example of the workflow corresponding to an intra-warehouse transfer operation is shown. As shown in Table 5, the workflow for intra-warehouse transfer operations includes picking, counting, temporary storage, pallet unpacking, relabeling, and shelving. Furthermore, each workflow corresponds to a specific operation code; for example, the intra-warehouse transfer operation code corresponding to temporary storage in Table 5 is S.
[0069] Table 5:
[0070] In-library transfer operation code G C S D B T process Picking Points Temporary storage Dismantle Rebranding Available for purchase
[0071] As can be understood from Tables 2-5, one work process can correspond to one or more work types. For example, unloading corresponds only to the warehousing work process, while shelving corresponds to both warehousing and in-warehouse transfer operations.
[0072] In some embodiments, the processing flow in the order data may include at least one operation flow corresponding to a job type. For example, the processing flow in the order data with order number 1 in Table 1 is UCSBT, and the job type type label is 1. In this case, referring to Tables 1-3, it can be seen that the processing flow sequentially includes unloading (U), counting (C), temporary storage (S), labeling (B), and putting on the shelf (T) under the inbound operation.
[0073] Referring to Table 6, data for one type of cargo box specification is shown. Each cargo box specification corresponds to a specification number and a set of length, width, and height data. As shown in Table 6, the cargo box specification with specification number S has a length, width, and height of 50. The data unit can be centimeters (cm).
[0074] Table 6:
[0075]
[0076]
[0077] Referring to Table 7, data for one type of shelving specification is shown. Shelving specifications include various parameter types, such as shelving length, shelving width, and shelving shelf height, all in meters (m). Additionally, the shelving specification parameter type also includes the number of shelving shelves, in units of shelves. For example, the shelving rule shown in Table 7 has a shelving length of 3.5m, a shelving width of 1.2m, a shelving shelf height of 1.4m, and 3 shelving shelves.
[0078] Table 7:
[0079] Parameter type numerical values unit shelf length 3.5 m shelf width 1.2 m Shelf height 1.4 m Number of shelf layers 3 layer
[0080] It is understood that the descriptions of various data in the order data in Tables 1-7 above are only examples. In actual applications, these data can be set to other values, which can be set according to the actual needs of the user's warehouse demand side.
[0081] S102: Determine multiple functional areas in the warehouse based on the order data set.
[0082] In some embodiments, the aforementioned multiple functional areas may include at least one of the following: unloading area, inbound temporary storage area, pallet unpacking area, quality inspection area, packaging area, outbound temporary storage area, palletizing / stacking area, loading area, storage area, sorting area, equipment placement area, defective / returned goods area, and office area. Furthermore, the functional areas in a warehouse are not limited to the examples described above, and may also be other functional areas; this application embodiment does not specifically limit these.
[0083] In some implementations, electronic devices can determine multiple functional areas of the warehouse based on the work processes corresponding to outbound, inbound, and in-warehouse operations in the aforementioned order data set. It can be understood that one work process can correspond to one functional area, such as shelving corresponding to a shelving area, and unloading corresponding to an unloading area, etc.
[0084] In some embodiments, when multiple functional areas are identified in the warehouse, the names and numbers of each functional area can be determined so that different functional areas are numbered differently. For example, the unloading area can be numbered 1, the inbound temporary storage area can be numbered 2, etc., and the actual functional area numbering is not limited to this example.
[0085] S103: Determine the first area of each functional area based on the order data set.
[0086] In some embodiments, the first area of the functional area can be a fixed area set by the user according to actual needs, or an area dynamically determined according to the cargo volume surplus value corresponding to the aforementioned order data set. Wherein, within a certain time period, the cargo volume surplus equals the inbound cargo volume minus the outbound cargo volume.
[0087] S104: Take the position of each functional area as the first optimization object and the aspect ratio of each functional area as the second optimization object. Based on the first area of each functional area, use a genetic algorithm to perform double encoding processing on the first optimization object and the second optimization object, and decode the encoded first optimization object and the second optimization object to determine the optimization result that meets the preset conditions.
[0088] The optimization results mentioned above include the target location of each functional area and the target aspect ratio of each functional area. These optimization results represent a functional area layout of a warehouse.
[0089] In some embodiments, a first optimization object is encoded to determine that the encoded first optimization object is a first chromosome. The first chromosome includes the number of each functional region, and the position of the functional region in the repository corresponds to the insertion order of the functional region number in the first chromosome. A second optimization object is encoded to determine that the encoded second optimization object is a second chromosome. The second chromosome includes the aspect ratio of each functional region, and the aspect ratio is within a preset ratio range. The size of the functional region corresponds to the first area of the functional region and its aspect ratio in the second chromosome. The first chromosome and the second chromosome constitute a set of dual-coded chromosomes. For example, the preset ratio range is (0.2, 5), that is, an aspect ratio within the range of 1:5 to 5:1.
[0090] Table 8 shows an example of a dual-coding chromosome.
[0091] Table 8:
[0092]
[0093] Taking Table 8 as an example, the first chromosome encodes functional regions, meaning that segments within the first chromosome are the numbers of each functional region, and the index of each segment indicates the insertion order of the corresponding functional region. As shown in Table 8, assuming the warehouse contains 10 functional regions, these functional regions can be numbered 0-9. In this case, in the first chromosome, the segment with index 0 contains functional region number 4, indicating that the insertion order of functional region number 4 is 1, meaning that this functional region is the first functional region inserted into the global region plane where the warehouse is located.
[0094] Taking Table 8 as an example, the second chromosome represents the aspect ratio of its functional regions; that is, the segments within the second chromosome represent the aspect ratio of each functional region. It can be understood that when setting a dual-coding chromosome, the first area of the functional regions in the second chromosome is fixed, but the aspect ratio changes dynamically. As shown in Table 8, in the second chromosome, the segment with index 0 contains a functional region with an aspect ratio of 2.9, meaning the aspect ratio of functional region numbered 4 is 2.9. Based on the known first area of this functional region, its length and width can be calculated using this first area and the aspect ratio, thus determining the size of the functional region.
[0095] In some embodiments, decoding the encoded first and second optimization objects using a genetic algorithm refers to solving for the encoded double-coded chromosomes. Specifically, a genetic algorithm can iteratively construct a population of double-coded chromosomes, and solve for double-coded chromosomes that meet preset conditions in each population. Then, the position and aspect ratio of each functional region in the double-coded chromosome are used as the target position and target aspect ratio, respectively, to obtain the optimization result that meets the preset conditions, i.e., the optimized warehouse layout.
[0096] It is understood that the aforementioned preset conditions are used to characterize the degree of optimization of the location and aspect ratio of each functional area. When the preset conditions are met, the optimization results show a high degree of optimization of the target location and target aspect ratio of each functional area. The specific content of the preset conditions will be described below and will not be repeated here. At this time, the warehouse layout corresponding to the above optimization results can ensure the continuity and efficiency of the work processes between different functional areas and improve the effective utilization rate of the warehouse area.
[0097] Thus, since the genetic algorithm in this application can simultaneously optimize the size and aspect ratio of each functional area, the optimized aspect ratio and location of each functional area and the corresponding warehouse layout are conducive to reducing the total storage cost of the warehouse and / or reducing the total warehouse area occupied.
[0098] Reference Figure 2 The diagram shown illustrates the process for determining the first area of each functional zone in this application. Figure 2 As shown above, Figure 1 The illustrated S103 may include S1031-S1033:
[0099] S1031: Based on the order data set, determine the maximum surplus of the quantity surplus between the warehouse's inbound and outbound goods within a set time period.
[0100] Within a certain period of time, the surplus in goods volume equals the amount of goods entering the warehouse minus the amount of goods leaving the warehouse.
[0101] In some embodiments, the maximum surplus within the set time period is the total inbound volume minus the total outbound volume within the set time period.
[0102] In other embodiments, the maximum value of the difference between the outbound and inbound volumes within the aforementioned set time period can be calculated on a rolling basis, based on the warehouse goods processing delay digestion cycle, such as 1 week (this cycle can be set), i.e., the maximum surplus value within the aforementioned set time period can be calculated on a rolling basis.
[0103] For example, electronic devices can divide the order data set into multiple sub-order data sets according to the warehouse goods processing delay digestion cycle (e.g., 1 week); calculate the quantity surplus of inbound and outbound goods in each sub-order data set to obtain multiple quantity surpluses; and take the maximum value among the multiple quantity surpluses as the maximum surplus value within a set time period, that is, let max(quantity surplus) = max(inbound quantity – outbound quantity) within the set time period.
[0104] S1032: Determine the maximum area of each functional zone based on the maximum surplus.
[0105] It is understandable that the surplus of cargo volume within a set time period can reflect the peak demand of cargo volume within that time period. Therefore, the maximum area of each functional area can be determined based on the maximum value of the surplus, so that the warehouse area corresponding to the determined area of each functional area (such as the maximum area or the first area) can cope with the maximum cargo flow.
[0106] S1033: Determine the corresponding first area based on the maximum area of each functional area, wherein the first area of each functional area is less than or equal to the corresponding maximum area.
[0107] In some embodiments, the maximum area of each of the functional areas can be used as the corresponding first area.
[0108] In other embodiments, the process of determining the first area based on the maximum area of each functional area includes the following steps, such as... Figure 2 S1033 may include the following steps: Step 1, determining the second area of each functional area, wherein the second area is a preset area (i.e., a fixed area) of the corresponding functional area, or an area calculated based on the processing capacity per unit area of the corresponding functional area. Step 2, if the second area of a functional area is less than the corresponding maximum area, then the second area of the functional area is used as the corresponding first area. Step 3, if the second area of a functional area is greater than or equal to the corresponding maximum area, then the maximum area of the functional area is used as the corresponding first area. Steps 2 and 3 are parallel steps.
[0109] In some embodiments, a fixed-area functional area can be assigned a number, that is, the functional area can be designated as a fixed-area functional area, and the area value of the fixed area can be pre-entered. For example, the area of the office area can be set as a fixed area based on the number of office workers.
[0110] Thus, the maximum area of the functional area determined based on the maximum surplus value within the preset time period, the preset area of the functional area, and the area calculated based on the processing capacity per unit area of the functional area can comprehensively consider the maximum area of the functional area and the area required by the user, thereby helping to determine the first area of the functional area that is smaller in size but can handle a larger volume of goods.
[0111] In some embodiments, the genetic algorithm can be initialized before using it. For example, the population size is set to N, i.e., the number of groups containing dual-coding chromosomes is N; the maximum number of generations is set to T, i.e., the maximum number of iterations is T; and the algorithm termination condition is set. This termination condition will be specified in the following... Figure 3 The process shown will be explained in detail here, and will not be repeated here.
[0112] Reference Figure 3 As shown, the process for solving dual-coded chromosomes for multiple functional regions includes the following steps, for example... Figure 1 S105 may include the following steps:
[0113] S1051: Construct the k-th double-coded chromosome population for the k-th iteration process, and solve the fitness of the k-th iteration process by solving the k-th double-coded chromosome population.
[0114] Where k is a positive integer less than or equal to T, and the dual-encoded chromosome population includes N sets of dual-encoded chromosomes.
[0115] In some embodiments, fitness is related to the distance between different functional zones and the cargo flow between different functional zones.
[0116] In some embodiments, this application can calculate the cargo flow between functional areas before executing S1051, such as after executing S104 and before executing S1051. For example, the workflow and quantity of different types of goods in the order data set within the aforementioned set time period can be used to statistically calculate the cargo flow between functional areas within the specified period. Here, different workflows correspond to specific functional areas.
[0117] Referring to Table 9, an example of cargo flow between functional areas is provided. For instance, the cargo flow from functional area 3 (numbered 3) to functional area 4 (numbered 4) is 25417.
[0118] Table 9:
[0119]
[0120]
[0121] In some embodiments, this application can calculate the fitness of each double-coding chromosome in an iteration process and select the fitness of one double-coding chromosome as the fitness of that iteration process. For example, in the k-th iteration process, the fitness of each double-coding chromosome in the N double-coding chromosomes of the k-th double-coding chromosome population can be calculated to obtain N fitness values; the maximum value among the N fitness values is taken as the maximum fitness of the k-th iteration process.
[0122] S1052: Determine whether the k-th iteration process meets the preset conditions.
[0123] If the k-th iteration process meets the preset conditions, proceed to S1053; if the k-th iteration process does not meet the preset conditions, proceed to S1054.
[0124] The preset conditions include at least one of the following: the current iteration number is greater than T (i.e., the maximum iteration number); the difference between the fitness of the current iteration and the fitness of the previous S iterations is less than or equal to a set threshold; and the fitness of the current iteration is greater than or equal to a preset fitness. Here, S is a positive integer.
[0125] In some embodiments, the preset fitness can be the maximum fitness of the M iterations preceding the current iteration. For example, M is a positive integer greater than or equal to 1, meaning the preset fitness can be the fitness obtained from at least one iteration of the genetic algorithm.
[0126] In some embodiments, the termination condition of the above algorithm is one of the following three:
[0127] (1) The fitness difference of the optimal chromosome in consecutive generations S (e.g., S=3) is less than a set threshold (i.e., the intergenerational difference threshold, such as 10). -6 ).
[0128] (2) The current iteration number is greater than T (i.e. the maximum iteration number).
[0129] (3) The fitness of the current iteration process is greater than or equal to the preset fitness.
[0130] It can be understood that the optimal chromosome in an iteration process refers to the dual-coding chromosome with the highest fitness among the dual-coding chromosome populations in that iteration process. Furthermore, the fitness of a dual-coding chromosome is used to measure its optimization effect (i.e., the optimization effect on the position and aspect ratio of each functional region within the dual-coding chromosome); a higher fitness corresponds to a better optimization effect.
[0131] S1053: Determine the optimization result based on the population of the k-th double-coded chromosome.
[0132] S1054: Update the iteration count from k to k+1, and re-execute S1051.
[0133] In some embodiments, the dual-coding chromosomes in the k-th dual-coding chromosome population constructed in the k-th iteration process described above can be randomly constructed or constructed based on the dual-coding chromosome population of the previous iteration process.
[0134] As an example, corresponding to k equal to 1, the k-th double-coded chromosome population is constructed randomly in the k-th iteration process. That is, in the 1st iteration process, N double-coded chromosomes are randomly constructed to obtain the 1st double-coded chromosome population.
[0135] For cases where k is greater than 1, the double-coded chromosomes in the (k-1)th double-coded chromosome population of the (k-1)th iteration are reconstructed to obtain the kth double-coded chromosome population of the kth iteration. It can be understood that when the preset conditions are not met in the previous iteration, a new double-coded chromosome population will be constructed. That is, when the preset conditions are not met in the (k-1)th iteration, the kth double-coded chromosome population will be constructed to continue executing the genetic algorithm. For example, if k equals 2, the second double-coded chromosome population can be obtained by reconstructing the double-coded chromosomes in the first double-coded chromosome population.
[0136] In some embodiments, the above-described reconstruction operation includes at least one of the following: selection, crossover, and mutation. Furthermore, for a set of dual-coding chromosomes, the selection, crossover, or mutation operation can be performed according to a set probability. Details regarding the reconstruction operation are provided below and will not be repeated here.
[0137] It is understandable that during the execution of the genetic algorithm, the evolutionary process of S1051 can be iteratively executed until the algorithm ends.
[0138] Thus, the preset conditions limited by the number of iterations and fitness can serve as the criteria for determining the optimization target, and a better optimization result can be calculated within a reasonable time, namely the position and aspect ratio of each functional area with better optimization effect.
[0139] Reference Figure 4 The diagram illustrates a flowchart for reconstructing a population of dual-coding chromosomes. The flowchart uses the construction of the kth dual-coding chromosome population based on the kth dual-coding chromosome population as an example. The flowchart includes the following steps:
[0140] S401: Select L1 group double-coded chromosomes with high fitness from the (k-1)th double-coded chromosome population, and select L2 group double-coded chromosomes from the remaining N-L1 group double-coded chromosomes in the (k-1)th double-coded chromosome population according to the first probability. Construct the kth double-coded chromosome population based on the L1 group double-coded chromosomes and the L2 group double-coded chromosomes.
[0141] Where L2 is less than or equal to L1, and both L1 and L2 are less than N. At this point, the (k-1)th iteration process does not meet the preset conditions.
[0142] In some embodiments, if L1+L2 is less than N, several sets of dual-coding chromosomes can be randomly generated and added to the k-th dual-coding chromosome population, so that the number of sets of dual-coding chromosomes in the k-th dual-coding chromosome population is N.
[0143] In other words, in the (k-1)th dual-coding chromosome population, a certain settable proportion (L1 / N, e.g., 0.4) of superior L1-group dual-coding chromosomes can be retained, and these superior chromosomes directly enter the next generation. From the remaining chromosomes, chromosomes are randomly selected to enter the next generation according to a settable first probability β (e.g., 0.5). If the number of dual-coding chromosomes is less than N, dual-coding chromosomes are randomly generated until the population size is still N.
[0144] S402: Perform a crossover operation on the double-coded chromosomes in the k-th double-coded chromosome population according to the second probability to obtain the k-th double-coded chromosome population after the crossover operation.
[0145] It can be understood that the crossover operation is performed between two sets of double-coding chromosomes. Furthermore, the crossover operation includes: a crossover operation on the numbering of functional regions in the two first chromosomes, and / or a crossover operation on the aspect ratio of functional regions in the two second chromosomes. Here, for each set of double-coding chromosomes, a second probability γ is used. c (e.g., 0.4) performs crossover operations.
[0146] In some embodiments, the crossover operation for functional region numbering can be performed at two points, i.e., randomly selecting a crossover position and exchanging the functional region numbers between two first chromosomes. For example, the numbers of the first and second functional regions in two sets of dual-coding chromosomes can be exchanged. Specifically, the numbers of the first and second functional regions in the first chromosome of one set of dual-coding chromosomes are exchanged with the numbers of the second and first functional regions in the first chromosome of another set of dual-coding chromosomes, respectively, resulting in two sets of dual-coding chromosomes after the crossover operation.
[0147] Reference Figure 5A Figure 5 illustrates a schematic diagram of the crossover operation on a dual-coding chromosome. Using the first chromosomes of two sets of dual-coding chromosomes, specifically father chromosomes p1 and p2 as shown in Figure 5, the crossover operation is explained. Figure 5A As shown, the numbers 8 of functional region 8 (such as the first functional region) and 2 of functional region 2 (such as the second functional region) in parent chromosome p1 are swapped with the numbers 2 of functional region 2 and 8 of functional region 8 in parent chromosome p2, respectively, to obtain the child chromosomes c1 and c2 after the crossover operation.
[0148] In some embodiments, for the crossover operation of the aspect ratio of functional regions, the aspect ratio of the same segment (i.e., the same position) in two second chromosomes can be randomly selected, and the aspect ratio of the segment can be linearly processed. As an example, the aspect ratio q1 of the functional region corresponding to the first index of the second chromosome in one set of dual-coding chromosomes can be linearly processed with the aspect ratio q2 of the functional region corresponding to the first index of the second chromosome in another set of dual-coding chromosomes, so that the aspect ratio q1 is adjusted to d1 after the crossover operation, and the aspect ratio q2 is adjusted to d2 after the crossover operation. For example, if the first index is an index with a value of 3, then the aspect ratio of the functional region corresponding to the first index is the aspect ratio of the functional region with an insertion order of 4.
[0149] As an example, the above linear operation can be calculated using the following formulas (1) and (2), where α is a coefficient less than 1, such as α = 0.4.
[0150] d1=α·q1+(1-α)·q2 (1)
[0151] d2=(1-α)·q1+α·q2 (2)
[0152] S403: Perform mutation operations on the k-th double-coded chromosome population after the crossover operation according to the third probability to obtain the k-th double-coded chromosome population after the mutation operation.
[0153] It can be understood that the mutation operation is performed on a set of dual-coding chromosomes. Furthermore, the mutation operation includes: mutation of the numbering of functional regions in a first chromosome, and / or mutation of the aspect ratio of functional regions in a second chromosome. Here, for each set of dual-coding chromosomes, the mutation is performed with a third probability γ. m (e.g., 0.6) performs crossover operations.
[0154] In some embodiments, for mutation operations involving functional region encoding, two points can be randomly selected for exchange. For example, the numbers of one functional region and another functional region in a set of dual-coding chromosomes can be swapped. That is, swapping the numbers of one functional region and another functional region in the first chromosome of a set of dual-coding chromosomes yields the mutated dual-coding chromosome.
[0155] Reference Figure 5B This illustrates a schematic diagram of a mutation operation on a dual-coding chromosome. Figure 5B As shown, the positions of functional region 8 (number 8) and functional region 2 (number 2) in the parent chromosome are swapped to obtain the mutated daughter chromosome.
[0156] In some embodiments, for the aspect ratio mutation operation of a functional region, a point can be randomly selected, and the data at that point can be randomly regenerated within the aspect ratio range of (0.2, 5.0). As an example, the aspect ratio value of a functional region in a set of dual-coding chromosomes can be randomly replaced with other values. For instance, the aspect ratio q3 of the functional region corresponding to the second index of the second chromosome in a set of dual-coding chromosomes can be adjusted to d4 (e.g., q3 equals 0.9, q4 equals 1.3), resulting in the mutated second chromosome. For example, if the second index is an index with a value of 4, then the aspect ratio of the functional region corresponding to the second index is the aspect ratio of the functional region with an insertion order of 5.
[0157] It is understandable that during the execution of the genetic algorithm, the evolutionary process of the population in S401-S403 can be iteratively executed until the preset conditions are met.
[0158] S404: Obtain the k-th double-coded chromosome population in the k-th iteration process based on the k-th double-coded chromosome population after the mutation operation.
[0159] For example, the kth double-coded chromosome population after the mutation operation can be directly used as the kth double-coded chromosome population in the kth iteration process.
[0160] In this way, the evolutionary process of chromosome dual coding can be used to solve the problem of large gaps in the longitudinal direction of functional regions, optimize and adjust the insertion order and variable length and width of functional regions, and reduce the gaps in the longitudinal direction of functional regions.
[0161] In other embodiments, the mutation operation of the genetic algorithm in this application can be improved using the annealing algorithm. (See also...) Figure 6 The diagram shows a flowchart of the annealing algorithm applied to the reconstructed dual-encoded chromosome population. Specifically, the above... Figure 4 The illustrated S404 may include S4041-S4043:
[0162] S4041: For each pair of double-coded chromosomes in the k-th double-coded chromosome population after the mutation operation, calculate the acceptance probability of the double-coded chromosome.
[0163] S4042: If the acceptance probability of a dual-coded chromosome is the first value, then the dual-coded chromosome is used as a dual-coded chromosome in the k-th iteration process.
[0164] S4043: If the acceptance probability of a dual-coded chromosome is less than the first value, then the dual-coded chromosome after the backtracking mutation operation is used as a dual-coded chromosome in the k-th iteration process.
[0165] Thus, based on the double-coded chromosomes after some mutation operations and the double-coded chromosomes after the backsliding mutation operation, the k-th double-coded chromosome population of the k-th iteration process can be obtained.
[0166] In some embodiments, the acceptance probability of the above-mentioned dual-coding chromosome is calculated by the following formulas (3)-(5).
[0167]
[0168] T0 = tmax - tmin (4)
[0169]
[0170] In formula (3), when Fmax(c,k)≥MaxF, the acceptance probability ρ is 1, and the first value mentioned above is 1. When Fmax(c,k)<MaxF, the acceptance probability ρ is usually less than the first value, such as less than 1.
[0171] Specifically, T0 represents the initial annealing temperature and the value of T0 is calculated according to the above formula (4), tmax represents the maximum fitness of each double-coded chromosome in the first double-coded chromosome population in the first iteration process, tmin represents the minimum fitness of each double-coded chromosome in the first double-coded chromosome population in the first process, Fmax(c,k) represents the fitness of the c-th group of double-coded chromosomes in the k-th double-coded chromosome population in the k-th iteration process, c is a positive integer less than or equal to N, and MaxF is the maximum fitness of each iteration process (such as the fitness of the (k-1)-th iteration process).
[0172] Furthermore, corresponding to the iteration number increasing from k to k+1, T k Update T according to the above formula (5). k+1 And MaxF is updated to Fmax(c,k).
[0173] It is understandable that the acceptance probability of a dual-coding chromosome is related to tmax, tmin, Fmax(c,k), and MaxF, and the acceptance probability can decrease as the number of iterations increases.
[0174] Thus, the genetic algorithm of this application can set a certain acceptance probability for the offspring generated after mutation based on the annealing algorithm. If the acceptance probability of the dual-coding chromosome is high, it is accepted; otherwise, it is not accepted. Therefore, the genetic algorithm of this application can dynamically adjust the dual-coding chromosomes in the population, using the optimal solution generated by mutation to search for a better solution in the global range near its optimal solution. That is, when an offspring is better, the acceptance probability of accepting that offspring is 100% (i.e., 1); while when there is no better offspring, the acceptance probability of accepting the offspring gradually decreases. This feature combines the search speed of the genetic algorithm with the global search capability of the annealing algorithm, enabling the search to obtain a better layout scheme within a certain time.
[0175] It is understood that this application is based on the annealing algorithm. In the evolution process of the genetic algorithm, at the beginning of the genetic algorithm, the mutated chromosome is accepted with a higher acceptance probability. When the genetic algorithm evolves to the later stage, when the fitness of the iteration process does not change much, the mutated chromosome is accepted with a lower acceptance probability, thereby reducing the disturbance caused by the mutation and avoiding affecting the characteristics of the chromosome.
[0176] Next, the calculation process for fitness in this application will be explained.
[0177] Reference Figure 7 This paper illustrates a computational flow for the fitness of a dual-coding chromosome, which may include the following steps:
[0178] S701: Decode the dual-coded chromosome, solve the decoded dual-coded chromosome according to the two-dimensional bin packing algorithm, and obtain the insertion coordinates of each functional area in the warehouse and the first total area of multiple functional areas.
[0179] In some embodiments, the first total area is the area of the outermost envelope rectangle of the plurality of functional areas.
[0180] It is understandable that decoding a double-coded chromosome can yield the insertion order of each functional region and the aspect ratio of each functional region.
[0181] S702: Calculate the distance between different functional areas based on the insertion coordinates of each functional area.
[0182] In some embodiments, the distance between different functional areas can be the Manhattan distance, the non-penetrating shortest path distance, the distance between the boundary points of different functional areas, or the distance between the center points of different functional areas. It is understood that, based on the insertion point of the functional area and the size of the functional area, location points such as the center point and boundary points of the functional area can be determined, and the distance between different functional areas can be calculated based on these location points.
[0183] S703: Calculate the fitness of the dual-coding chromosome based on the cargo flow between different functional areas, the distance between different functional areas, and the first total area.
[0184] In some embodiments, for a dual-coding chromosome, the cargo flow between different functional regions, the distance between different functional regions, and the first total area of multiple functional regions can be calculated first. Then, the fitness of the dual-coding chromosome is calculated based on the cargo flow between different functional regions, the distance between different functional regions, and the first total area of multiple functional regions.
[0185] As an example, the fitness of a dual-coding chromosome can be calculated using the following formula (6).
[0186]
[0187] Where Fitness is the fitness level, r i,j d represents the cargo flow from the i-th functional area to the j-th functional area. i,j Let r represent the distance between the i-th and j-th functional areas, S represent the first total area, w1 and w2 are weighting coefficients, n is the number of functional areas, and i and j are both positive integers less than or equal to n. For example, r 3,4 The cargo flow from the 3rd functional area (i.e., functional area 3, numbered 3) to the 4th functional area (i.e., functional area 4, numbered 4) is shown in Table 9. i,j =25417.
[0188] It is understandable that this application can set the objective function of the dual-coding chromosome optimization process as follows: Calculate the objective function and use its reciprocal as its fitness.
[0189] In some embodiments, w1 and w2 in formula (6) are different weighting coefficients and w1 + w2 = 1. For example, the values of w1 and w2 can both be 0.5, but the specific values are not limited to this.
[0190] In other embodiments, w1 in formula (6) represents the cost of transporting goods per unit distance (e.g., the economic cost of transporting each box of goods per meter) and w2 represents the cost per unit warehouse area (e.g., the economic cost of leasing and management). It can be understood that the fitness of the dual-coding chromosome is related not only to the flow and distance of goods between different functional areas, but also to the cost of transporting goods per unit distance and the cost per unit warehouse area. Therefore, the fitness calculated using the transport distance cost and warehouse area cost can be used as a criterion for determining the comprehensive optimization objective of the dual-coding chromosome.
[0191] Thus, this application can comprehensively consider the cargo flow and distance between different functional areas, and even the cost of handling cargo per unit distance and the cost per unit warehouse area, to determine the fitness of the dual-coded chromosome. This allows for the optimization of the location and aspect ratio of each functional area by taking into account the impact of these factors on the warehouse layout, which is beneficial to improving the optimization effect of the warehouse layout.
[0192] In some embodiments, the solution process for a dual-coding chromosome may include: according to the insertion order, aspect ratio, and corresponding first area of each functional region in the dual-coding chromosome, inserting rectangles corresponding to each functional region in a global region plane based on a set origin along the first direction of the first coordinate axis and the second direction of the second coordinate axis, to obtain the insertion coordinates of each functional region. The size of the functional region includes the first direction length of the rectangle corresponding to the functional region in the first direction and the second direction length in the second direction. The insertion coordinates of the functional region include the first direction coordinate value on the first coordinate axis and the second direction coordinate value on the second axis. Furthermore, the first direction coordinate value of the functional region plus the first direction length of the functional region is less than or equal to a first total length threshold (denoted as maxL). The first total length threshold is equal to the square root of the area of the global region plane. The area of the global region plane (denoted as S1) is a preset multiple (e.g., 1.25) of the sum of the first areas corresponding to each functional region (denoted as S0). In this case, S1 = S0 * 1.25, and... As an example, suppose S0 = 288 square meters, then S1 = 360 square meters, and maxL = 60 meters.
[0193] It is understood that this application, combined with the two-dimensional bin packing algorithm of chromosome dual encoding, can achieve seamless piecing together of each functional area in the first direction (such as the horizontal direction), and the gaps between each functional area in the second direction (such as the vertical direction) are optimized by the genetic algorithm of chromosomes, thereby reducing the warehouse area as much as possible.
[0194] As an example, refer to Figure 8A The diagram shown illustrates the insertion of functional areas into a global planar area of a warehouse. Figure 8AAs shown, the origin can be the lower left corner a1(0,0) of the global region plane. The first coordinate axis is the horizontal coordinate axis (e.g., the x-axis), such as the coordinate axis containing the length of the global region plane. The second coordinate axis is the vertical axis, such as the coordinate axis containing the width of the global region plane (e.g., the y-axis). Furthermore, the first direction can be the positive direction of the first coordinate axis, such as the horizontal direction from left to right, and the second direction can be the positive direction of the second coordinate axis, such as the vertical direction from bottom to top. The first direction coordinates are horizontal coordinates, and the second direction coordinates are vertical coordinates. Correspondingly, the first direction length of the functional area can be the horizontal length, and the second direction length can be the vertical height, such as... Figure 8A The first direction length of functional area 1 is l1, and the second direction length is h1. Specifically, using the rectangles of each functional area with defined dimensions and the insertion order as input, and taking the lower left corner of the global region plane as the origin (0, 0), the coordinates are increased vertically and horizontally upwards and to the right, respectively, to insert each functional area into the global region plane. For example, combining... Figures 8A to 8D As shown, functional areas 2-4 are inserted sequentially into the global area plane. Similarly, the remaining functional areas in the n functional areas can also be inserted sequentially.
[0195] Furthermore, in some other embodiments, the first coordinate axis, the second coordinate axis, and the first and second directions of this application are not limited to those described above. Figures 8A-8D The example can also be implemented in other ways, such as the first coordinate axis being a vertical coordinate axis and the second coordinate axis being a horizontal coordinate axis.
[0196] Reference Figure 9 The diagram illustrates a flowchart of inserting a functional area using a two-dimensional bin packing algorithm. The flowchart includes the following steps:
[0197] S901: Determine the rectangles of n functional areas based on the first area and aspect ratio of each functional area, and determine the insertion order of each functional area. Take the lower left corner of the global area plane as the set origin (0,0), initialize the insertable point as the origin, and initialize the first direction total length threshold maxL and the second direction length maximum value maxH of the rectangle.
[0198] It is understandable that the maximum length of the rectangle in the second direction, maxH, can be the maximum length of the rectangle in the vertical direction, for example, maxH can be initialized to 0.
[0199] In addition, the above maxL can be set according to the area S1 of the global region plane, such as maxL being initialized to 60 meters.
[0200] S902: For the function area with insertion order 1, insert the current rectangle into the insertable point with the lower left corner of the rectangle as the insertion point, update the first direction coordinate value of the insertable point to the first direction length of the rectangle, and update the maximum value of the second direction length of the rectangle, maxH, to the second direction length of the current rectangle.
[0201] As an example, such as Figure 8A As shown, when the current rectangle is the rectangle of function area 1 with insertion order 1, the current insertable point is point a1(0,0), and the current insertion point of the rectangle is point b1. Figure 8B As shown, the insertion point b1 of functional area 1 can be inserted into the insertable point a1 to insert the current rectangle. At this time, the insertion coordinates of functional area 1 are the coordinates (0, 0) of insertion point b1. Furthermore, after inserting functional area 1, the first direction coordinate value of the insertable point can be updated to l1 to update the insertable point to point a2 (l1, 0), and the maximum value of the second direction length of the rectangle maxH can be updated to the second direction length h1 of the current rectangle.
[0202] S903: For functional areas with an insertion order greater than 1, determine whether the sum of the first direction length of the current rectangle and the first direction coordinate value of the insertable point is greater than the first total length threshold maxL.
[0203] If the first direction length of the current rectangle and the first direction coordinate value of the insertable point are greater than the first total length threshold, then proceed to S904; if the first direction length of the current rectangle and the first direction coordinate value of the insertable point are less than or equal to the first total length threshold, then proceed directly to S905.
[0204] S904: Set the first direction coordinate value of the insertable point to 0, add the second direction coordinate value of the insertable point to the maximum value of the second direction of the rectangle to update the insertable point, and update the maximum value of the second direction of the rectangle to 0.
[0205] S905: Insert the current rectangle into the updated insertable point using the lower left corner of the rectangle as the insertion point. Add the first direction coordinate value of the insertable point to the first direction length of the current rectangle to update the insertable point, and update the maximum value of the second direction length of the rectangle to the second direction length of the current rectangle.
[0206] As an example, such as Figure 8B As shown, when the current rectangle is the rectangle of function area 2 with insertion order 2, the current insertable point is point a2(l1, 0), and the current insertion point of the rectangle is point b2. When the sum of the first-direction length l2 of the current rectangle and the first-direction coordinate value l1 of the current insertable point is less than or equal to the first length threshold maxL (e.g., 60m), as... Figure 8CAs shown, the insertion point b2 of functional area 2 can be inserted into the insertable point a2 to insert the current rectangle. At this time, the insertion coordinates of functional area 2 are the coordinates (l1, 0) of insertion point b2. Furthermore, after inserting functional area 2, the first direction coordinates of the insertable point can be updated to l1+l2 to update the insertable point to point a3 (l1+l2, 0), and the maximum value of the second direction length of the rectangle, maxH, can be updated. For example, the maximum value between the second direction length h2 and h1 of the current rectangle can be used as the updated maximum value of the second direction length, maxH, of the rectangle, such as h2.
[0207] As an example, such as Figure 8C As shown, when the current rectangle is the rectangle of function area 3 with insertion order 3, the current insertable point is point a3 (l1+l2, 0), and the current insertion point of the rectangle is point b3. When the sum of the first-direction length l3 of the current rectangle and the first-direction coordinate values l1+l2 of the current insertable point are greater than the first length threshold maxL (e.g., 60m), as... Figure 8D As shown, we can first update the insertable point a3 to the insertable point a3' (0, h2), and update the maximum value of the second direction length of the rectangle, maxH, to 0. Then, we insert the insertion point b3 of function area 3 into the insertable point a3' to insert the current rectangle. At this time, the insertion coordinates of function area 3 are the coordinates (l3, h2) of insertion point b3. Furthermore, after inserting function area 3, we can update the first direction coordinates of the insertable point to l3 to update the insertable point to point a4 (l3, h2), and update the maximum value of the second direction length of the rectangle, maxH, to the second direction length h3 of the current rectangle.
[0208] S906: Determine whether the rectangles of the n functional areas have all been inserted.
[0209] If all the rectangles of the n functional areas have been inserted, then execute S907; if the rectangles of the n functional areas have not been inserted, then continue executing S903. Thus, the rectangles of the functional areas in each insertion order are inserted into the global area plane in sequence. Similarly, refer to... Figures 8A-8D The rectangular insertion process shown for functional areas 1-3 can be used to insert other functional areas from the n functional areas into the global area plane in the same way to achieve the layout of functional areas in the warehouse.
[0210] S907: Use the coordinates of the insertion points of each functional area as the insertion coordinates, and calculate the area of the outermost rectangle of all functional areas to obtain the first total area.
[0211] In this way, a seamless mosaic of rectangular functional areas can be achieved in the first direction of the global region plane, such as the horizontal direction. It can be understood that the role of the genetic algorithm is to utilize the evolutionary process of chromosome dual encoding to solve the problem of large vertical gaps during the insertion of functional areas into the global region plane, optimizing and adjusting the insertion order and variable length and width of the functional areas to reduce the vertical gaps.
[0212] The hardware structure of the electronic device involved in the embodiments of this application will be described next.
[0213] Reference Figure 10 The diagram shown is a schematic of the hardware structure of an electronic device.
[0214] Now for reference Figure 10 The diagram shown is a block diagram of an electronic device 800 according to an embodiment of this application. This electronic device 800 can be applied to devices such as terminal devices or cloud servers. Figure 10 An example electronic device 800 according to several embodiments is schematically illustrated. In one embodiment, the electronic device 800 may include one or more processors 804, electronic device control logic 808 connected to at least one of the processors 804, electronic device memory 812 connected to the electronic device control logic 808, non-volatile memory (NVM) 816 connected to the electronic device control logic 808, and a network interface 820 connected to the electronic device control logic 808.
[0215] In some embodiments, processor 804 may include one or more single-core or multi-core processors. In some embodiments, processor 804 may include any combination of general-purpose processors and special-purpose processors (e.g., graphics processors, application processors, baseband processors, etc.). In embodiments where electronic device 800 employs an evolved node B (eNB) 101 or a radio access network (RAN) controller 102, processor 804 may be configured to perform various corresponding embodiments, such as... Figures 1 to 6 as well as Figure 6 , Figure 7 , Figure 9 The example shown.
[0216] In some embodiments, the electronic device control logic 808 may include any suitable interface controller to provide any suitable interface to at least one of the processors 804 and / or any suitable device or component communicating with the electronic device control logic 808.
[0217] In some embodiments, the electronic device control logic 808 may include one or more memory controllers to provide an interface to the electronic device memory 812. The electronic device memory 812 may be used to load and store data and / or instructions. In some embodiments, the memory 812 of the electronic device 800 may include any suitable volatile memory, such as a suitable dynamic random access memory (DRAM).
[0218] Network interface 820 may include a transceiver for providing a radio interface to electronic device 800, thereby enabling communication with any other suitable device (such as a front-end module, antenna, etc.) via one or more networks. In some embodiments, network interface 820 may be integrated into other components of electronic device 800. For example, network interface 820 may be integrated into at least one of processor 804, electronic device memory 812, NVM / memory 816, and firmware device (not shown) with instructions that, when at least one of processor 804 executes the instructions, electronic device 800 implements as follows: Figure 3 The method shown.
[0219] The network interface 820 may further include any suitable hardware and / or firmware to provide a multiple-input multiple-output radio interface. For example, the network interface 820 may be a network adapter, a wireless network adapter, a telephone modem, and / or a wireless modem.
[0220] In one embodiment, at least one of the processors 804 may be packaged together with the logic of one or more controllers for electronic device control logic 808 to form a system-in-a-package (SiP). In another embodiment, at least one of the processors 804 may be integrated on the same die with the logic of one or more controllers for electronic device control logic 808 to form a system-on-chip (SoC).
[0221] The electronic device 800 may further include an input / output (I / O) device 832. The I / O device 832 may include a user interface enabling a user to interact with the electronic device 800; the peripheral component interface is designed to allow peripheral components to also interact with the electronic device 800. In some embodiments, the electronic device 800 may also include sensors for determining at least one type of environmental condition and location information related to the electronic device 800.
[0222] In some embodiments, the user interface may include, but is not limited to, a display (e.g., a liquid crystal display, a touch screen display, etc.), a speaker, a microphone, one or more cameras (e.g., a still image camera and / or a video camera), a flashlight (e.g., a light-emitting diode flash), and a keyboard.
[0223] In some embodiments, the peripheral component interface may include, but is not limited to, a non-volatile memory port, an audio jack, and a power interface.
[0224] In one possible implementation, embodiments of this application provide a readable medium storing instructions that, when executed on an electronic device, cause the electronic device to perform the warehouse layout method described above.
[0225] In one possible implementation, embodiments of this application provide a computer program product that, when run on an electronic device, enables the electronic device to implement the warehouse layout method described above.
[0226] The various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. Embodiments of this application can be implemented as computer programs or program code executable on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.
[0227] Program code can be applied to input instructions to execute the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application-specific integrated circuit (ASIC), or a microprocessor.
[0228] The program code can be implemented using a high-level procedural language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used when needed. In fact, the mechanisms described in this application are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.
[0229] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored thereon on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, the instructions may be distributed via a network or through other computer-readable media. Therefore, machine-readable media may include any mechanism for storing or transmitting information in a machine-readable (e.g., computer-readable) form, including but not limited to floppy disks, optical disks, CD-ROMs, magneto-optical disks, read-only memory (ROM), random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic cards or optical cards, flash memory, or tangible machine-readable storage for transmitting information (e.g., carrier waves, infrared signals, digital signals, etc.) using the Internet in the form of electrical, optical, acoustic, or other forms of propagated signals. Therefore, machine-readable media includes any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a machine-readable (e.g., computer-readable) form.
[0230] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.
[0231] It should be noted that all units / modules mentioned in the device embodiments of this application are logical units / modules. Physically, a logical unit / module can be a physical unit / module, a part of a physical unit / module, or a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important factor; the combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed in this application. Furthermore, to highlight the innovative aspects of this application, the above-described device embodiments of this application have not introduced units / modules that are not closely related to solving the technical problems proposed in this application. This does not mean that the above-described device embodiments do not contain other units / modules.
[0232] It should be noted that in the examples and description of this patent, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0233] Although this application has been illustrated and described with reference to certain preferred embodiments thereof, those skilled in the art should understand that various changes in form and detail may be made thereto without departing from the spirit and scope of this application.
Claims
1. A warehouse layout method, characterized in that, The method includes: Retrieve the collection of order data within a specified time period; Multiple functional areas in the warehouse are determined based on the aforementioned order data set; The first area of each functional area is determined based on the order data set; The position of each functional area is taken as the first optimization object, and the aspect ratio of each functional area is taken as the second optimization object. Based on the first area of each functional area, a genetic algorithm is used to perform dual encoding on the first optimization object and the second optimization object, and the encoded first optimization object and the second optimization object are decoded to determine the optimization result that meets the preset conditions. The optimization result includes the target position of each functional area and the target aspect ratio of each functional area.
2. The method according to claim 1, characterized in that, The order data in the order data set includes at least one of the following: order number, order date, order time, goods type, goods quantity, processing flow, container specifications, and operation type. The job types include at least one of the following: outbound job, inbound job, and in-warehouse job, wherein each job type corresponds to multiple job processes, and each job process corresponds to one of the functional areas; The processing flow includes at least one job flow corresponding to the job type.
3. The method according to claim 2, characterized in that, The step of determining multiple functional areas in the warehouse based on the order data set includes: Based on the work processes corresponding to outbound operations, inbound operations, and in-warehouse operations in the order data set, the multiple functional areas of the warehouse are determined; The multiple functional areas include at least one of the following: unloading area, warehousing temporary storage area, pallet unloading operation area, quality inspection operation area, packaging operation area, outbound temporary storage area, palletizing / stacking operation area, loading area, storage area, sorting area, equipment placement area, defective / returned product area, and office area.
4. The method according to claim 1, characterized in that, The step of determining the first area of each functional area based on the order data set includes: Based on the order data set, determine the maximum surplus of the quantity surplus between the warehouse's inbound and outbound quantities within the set time period; The maximum area of each functional zone is determined based on the maximum surplus value. The first area is determined based on the maximum area of each functional area, wherein the first area of each functional area is less than or equal to the corresponding maximum area.
5. The method according to claim 4, characterized in that, Determining the corresponding first area based on the maximum area of each of the functional areas includes: The maximum area of each functional area is taken as the corresponding first area.
6. The method according to claim 4, characterized in that, Determining the corresponding first area based on the maximum area of each of the functional areas includes: Determine the second area of each of the functional areas, wherein the second area is a preset area, or an area calculated based on the processing capacity per unit area of the functional area; If the second area of the functional area is smaller than the corresponding maximum area, then the second area is taken as the first area of the functional area; If the second area of the functional area is greater than or equal to the corresponding maximum area, then the maximum area is taken as the first area of the functional area.
7. The method according to claim 4, characterized in that, The step of determining the maximum surplus of the warehouse's inbound and outbound volume within the preset time period based on the order data set includes: The order data set is divided into multiple sub-order data sets in a rolling manner according to the delayed digestion cycle of warehouse goods; Calculate the quantity surplus of inbound and outbound goods in each of the sub-order data sets to obtain multiple quantity surpluses; The maximum value among the multiple cargo volume surpluses is taken as the maximum surplus value within the preset time period.
8. The method according to claim 1, characterized in that, The genetic algorithm is used to perform dual encoding processing on the first optimization object and the second optimization object, including: The first optimization object is encoded, and the encoded first optimization object is determined to be a first chromosome. The first chromosome includes the number of each functional area, and the position of the functional area in the warehouse corresponds to the insertion order of the functional area number in the first chromosome. The second optimization object is encoded to determine that the encoded second optimization object is a second chromosome. The second chromosome includes the aspect ratio of each functional region. The aspect ratio is within a preset range. The size of the functional region corresponds to the first area of the functional region and its aspect ratio in the second chromosome. The first chromosome and the second chromosome constitute a set of dual-coding chromosomes.
9. The method according to claim 8, characterized in that, Decoding the encoded first and second optimization objects to determine the optimization result that meets the preset conditions includes: For each iteration number equal to k, the kth double-coded chromosome population is constructed for the kth iteration process, and the fitness of the kth iteration process is obtained by solving the kth double-coded chromosome population, where k is a positive integer less than or equal to T. The double-coded chromosome population includes N sets of double-coded chromosomes, and the fitness is related to the distance between different functional regions and the cargo flow between different functional regions. If the k-th iteration process satisfies the preset condition, then the optimization result is determined based on the k-th double-coded chromosome population; If the k-th iteration does not meet the preset condition, the iteration number is updated from k to k+1, and the k-th double-coded chromosome population for the k-th iteration is reconstructed. The fitness of the k-th iteration is obtained by solving the k-th double-coded chromosome population until the k-th iteration meets the preset condition. The preset conditions include at least one of the following: the current iteration number is greater than T, the difference between the fitness of the current iteration process and the fitness of each iteration process in the previous S adjacent iteration processes is less than or equal to a set threshold, and the fitness of the current iteration process is greater than or equal to a preset fitness, where S is a positive integer.
10. The method according to claim 9, characterized in that, The process of solving for the fitness of the kth iteration of the kth double-coding chromosome population includes: Calculate the fitness of each of the N groups of double-coded chromosomes in the k-th double-coded chromosome population to obtain N fitness values; The maximum value among the N fitness values is taken as the fitness value for the k-th iteration.
11. The method according to claim 10, characterized in that, The calculation process for the fitness of the dual-coding chromosome includes: The dual-coded chromosome is decoded, and the decoded dual-coded chromosome is solved according to the two-dimensional bin packing algorithm to obtain the insertion coordinates of each functional area in the warehouse and the first total area of the multiple functional areas, wherein the first total area is the area of the outermost envelope rectangle of the multiple functional areas; Calculate the distance between different functional areas based on the insertion coordinates of each functional area; The fitness of the dual-coding chromosome is calculated based on the cargo flow between different functional zones, the distance between different functional zones, and the first total area.
12. The method according to claim 11, characterized in that, The distance between different functional areas is the Manhattan distance, or the non-penetrating shortest path distance, or the distance between the boundary points of different functional areas, or the distance between the center points of different functional areas.
13. The method according to claim 11, characterized in that, The calculation process for the insertion coordinates of the functional area includes: According to the insertion order, aspect ratio, and corresponding first area of each functional region in the dual-coding chromosome, rectangles corresponding to each functional region are inserted into the global region plane along the first direction of the first coordinate axis and the second direction of the second coordinate axis based on a set origin, to obtain the insertion coordinates of each functional region. The size of the functional region includes the first direction length of the rectangle corresponding to the functional region in the first direction and the second direction length in the second direction. The insertion coordinates of the functional region include the first direction coordinate value on the first coordinate axis and the second direction coordinate value on the second axis. Furthermore, the first direction coordinate value of the functional region plus the first direction length of the functional region is less than or equal to a first total length threshold. The first total length threshold is equal to the square root of the area of the global region plane. The area of the global region plane is a preset multiple of the sum of the first areas corresponding to each functional region.
14. The method according to claim 9, characterized in that, The construction of the k-th dual-coding chromosome population in the k-th iteration process includes: For k equal to 1, the kth double-coded chromosome population of the kth iteration process is constructed in a random manner; For k greater than 1, a reconstruction operation is performed on the double-coding chromosomes in the (k-1)th double-coding chromosome population of the (k-1)th iteration process to obtain the kth double-coding chromosome population of the kth iteration process. The reconstruction operation includes at least one of the following: selection operation, crossover operation, and mutation operation.
15. The method according to claim 14, characterized in that, The crossover operation for numbering the functional regions in different dual-coding chromosomes includes: The first functional region number and the second functional region number of the first chromosome in one set of dual-coding chromosomes are swapped with the second functional region number and the first functional region number of the first chromosome in another set of dual-coding chromosomes, respectively, to obtain two sets of dual-coding chromosomes after the crossover operation; Crossover operations on the aspect ratios of the functional regions in different dual-coding chromosomes include: The aspect ratio of the functional region corresponding to the first index in the second chromosome of one set of dual-coding chromosomes is linearly processed with the aspect ratio q2 of the functional region corresponding to the first index in the second chromosome of another set of dual-coding chromosomes. This results in the aspect ratio q1 being adjusted to d1 after a crossover operation, and the aspect ratio q2 being adjusted to d2 after a crossover operation. Where d1=α·q1+(1-α)·q2, d2=(1-α)·q1+α·q2, and α is a coefficient less than 1.
16. The method according to claim 14, characterized in that, Variation operations on the numbering of the functional regions in different dual-coding chromosomes include: In a dual-coding chromosome, the numbers of the third functional region and the fourth functional region are swapped. Variation operations on the aspect ratio of the functional regions in different dual-coding chromosomes include: In a dual-coding chromosome, the aspect ratio of the functional area corresponding to the second index is replaced with a value within the preset ratio range.
17. The method according to claim 14, characterized in that, The method further includes: Calculate the acceptance probability of the double-coded chromosome after the crossover operation in the k-th double-coded chromosome population; The acceptance probability corresponding to the dual-coding chromosome is a first value, and the dual-coding chromosome is taken as a dual-coding chromosome in the k-th dual-coding chromosome population; If the acceptance probability of the dual-coding chromosome is not the first value, the dual-coding chromosome is rolled back after the crossover operation and becomes one of the dual-coding chromosomes in the k-th dual-coding chromosome population; The acceptance probability is related to the maximum fitness of each double-coded chromosome in the first double-coded chromosome population in the first iteration, the minimum fitness of each double-coded chromosome in the first double-coded chromosome population in the first iteration, the fitness of the c-th group of double-coded chromosomes in the k-th double-coded chromosome population in the k-th iteration, and the maximum fitness in each iteration. The acceptance probability decreases as the number of iterations of the double-coded chromosome increases, and c is a positive integer less than or equal to N.
18. A readable medium, characterized in that, The readable medium stores instructions that, when executed on an electronic device, cause the electronic device to perform the warehouse layout method according to any one of claims 1 to 17.
19. A computer program product, characterized in that, When the computer program product is run on an electronic device, it enables the electronic device to implement the warehouse layout method according to any one of claims 1 to 17.
20. An electronic device, characterized in that, include: A memory for storing instructions executed by one or more processors of an electronic device, and a processor, one of the processors of the electronic device, for executing the warehouse layout method according to any one of claims 1 to 17.