[go: up one dir, main page]

CN117035168A - NSGA-II-based multi-objective integrated optimization method for forward and backward warehouse-out warehouse - Google Patents

NSGA-II-based multi-objective integrated optimization method for forward and backward warehouse-out warehouse Download PDF

Info

Publication number
CN117035168A
CN117035168A CN202310872566.2A CN202310872566A CN117035168A CN 117035168 A CN117035168 A CN 117035168A CN 202310872566 A CN202310872566 A CN 202310872566A CN 117035168 A CN117035168 A CN 117035168A
Authority
CN
China
Prior art keywords
warehouse
cargo
individuals
goods
stacker
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310872566.2A
Other languages
Chinese (zh)
Inventor
刘雨昂
王欢欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunming University of Science and Technology
Original Assignee
Kunming University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunming University of Science and Technology filed Critical Kunming University of Science and Technology
Priority to CN202310872566.2A priority Critical patent/CN117035168A/en
Publication of CN117035168A publication Critical patent/CN117035168A/en
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Artificial Intelligence (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Development Economics (AREA)
  • Evolutionary Biology (AREA)
  • Mechanical Engineering (AREA)
  • Game Theory and Decision Science (AREA)
  • Finance (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Genetics & Genomics (AREA)
  • Mathematical Physics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)

Abstract

The invention discloses a multi-objective integrated optimization method based on a forward and backward warehouse-out warehouse, which aims to improve the storage efficiency and the operation efficiency of the forward and backward warehouse-out warehouse by optimizing the operation time, the cargo gravity center and the operation energy consumption of a stacker. According to the method, firstly, a multi-objective problem optimization model is established by adopting goods space distribution based on gravity centers, stacker operation scheduling and operation energy consumption according to the characteristics of a warehouse after advancing, then, an integrated scheduling model based on an algorithm for advancing and discharging the warehouse is provided according to the problems, a plurality of targets such as stacker operation time, goods gravity centers and operation energy consumption are comprehensively considered, and optimization solution is carried out through the algorithm, so that the purpose of multi-objective optimal solution is achieved. Experimental results show that compared with the traditional method, the method has remarkable advantages in terms of reducing the running time and the center of gravity of cargoes, and the operation energy consumption control is obviously improved. The method can effectively improve the goods storage and retrieval efficiency of the warehouse after advancing and discharging, and realize the optimal utilization of warehouse space.

Description

一种基于NSGA-Ⅱ的前进后出仓库多目标集成优化方法A multi-objective integrated optimization method for forward-back-out warehouse based on NSGA-Ⅱ

技术领域Technical field

本发明涉及仓储物流技术领域,特别涉及一种基于NSGA-Ⅱ的前进后出仓库多目标集成优化方法。The invention relates to the technical field of warehousing logistics, and in particular to a multi-objective integrated optimization method for forward-back-out warehouse based on NSGA-II.

背景技术Background technique

在智能制造和物流领域中,自动化、智能化和优化技术的发展已经成为一个普遍趋势。对于仓储物流行业,在快速增长的市场需求和高效管理的同时,越来越多的关注点也开始转向系统的自动化和智能化水平。立体仓库集成优化作为仓储物流中至关重要的环节,直接影响仓库的存储效率和作业效率。因此,如何有效地实现前进后出仓库的货位分配和作业调度,提高仓储物流的整体效率,成为了业内关注的焦点问题。In the field of intelligent manufacturing and logistics, the development of automation, intelligence and optimization technology has become a common trend. For the warehousing and logistics industry, with the rapid growth of market demand and efficient management, more and more attention has begun to turn to the automation and intelligence level of the system. As a crucial link in warehousing logistics, three-dimensional warehouse integration optimization directly affects the storage efficiency and operating efficiency of the warehouse. Therefore, how to effectively realize the cargo space allocation and operation scheduling of forward and backward warehouses and improve the overall efficiency of warehousing logistics has become a focus of attention in the industry.

传统的货位分配和作业调度方法往往只考虑一个单一目标,难以兼顾多个因素之间的相互影响关系,导致算法的运行效果无法得到全面优化。同时,传统方法在处理数量庞大的数据集时也存在一定的计算压力和计算复杂度高的问题,这更加削弱了其在大规模仓储物流系统中的优化效果。Traditional cargo location allocation and job scheduling methods often only consider a single goal, and are difficult to take into account the interaction between multiple factors, resulting in the failure of the algorithm's operating effect to be fully optimized. At the same time, traditional methods also have certain computational pressure and high computational complexity problems when processing huge amounts of data sets, which further weakens their optimization effect in large-scale warehousing and logistics systems.

发明内容Contents of the invention

本发明的目的是提供一种基于NSGA-Ⅱ的前进后出仓库多目标集成优化方法,以提高前进后出仓库的资源利用率,减少人工干预对效率的影响,具有极高的实际应用价值。通过有效地利用算法对多种因素之间的相互作用进行优化,实现了前进后出仓库的货位分配和作业调度提高仓储物流的整体效率的目的。The purpose of this invention is to provide a multi-objective integrated optimization method for the forward-back-out warehouse based on NSGA-II to improve the resource utilization of the forward-out warehouse and reduce the impact of manual intervention on efficiency, which has extremely high practical application value. By effectively using algorithms to optimize the interaction between multiple factors, the goal of improving the overall efficiency of warehousing logistics through cargo space allocation and job scheduling in the forward and backward warehouse is achieved.

本发明的上述技术目的是通过以下技术方案得以实现的:The above technical objectives of the present invention are achieved through the following technical solutions:

一种基于NSGA-Ⅱ的前进后出仓库多目标集成优化方法,包括如下步骤:A multi-objective integration optimization method for forward-back-out warehouse based on NSGA-Ⅱ, including the following steps:

Step1、建立仓库模型:根据实际的仓库设计,建立前进后出立体仓库的结构模型,将其抽象为一个多维空间,多维空间的要素节点包括堆垛机、货架、出库和入库;Step 1. Establish a warehouse model: Based on the actual warehouse design, establish a structural model of a forward-back-out three-dimensional warehouse, abstracting it into a multi-dimensional space. The element nodes of the multi-dimensional space include stackers, shelves, outbound and inbound warehouses;

Step2、建立任务模型:根据实际情况,随机定义立体仓库的入库任务和出库任务,并确定任务量和任务相关信息;Step 2. Establish a task model: According to the actual situation, randomly define the warehousing tasks and warehousing tasks of the three-dimensional warehouse, and determine the task volume and task-related information;

Step3、确定决策变量:针对立体仓库的货位分配和作业调度问题,需要确定相应的决策变量,例如仓库中每个货位中存放的物品类型和数量,以及每个任务的执行顺序和时间等;Step 3. Determine the decision variables: For the problem of cargo space allocation and job scheduling in the three-dimensional warehouse, it is necessary to determine the corresponding decision variables, such as the type and quantity of items stored in each cargo space in the warehouse, as well as the execution order and time of each task, etc. ;

Step4、定义目标函数:根据研究目的和实际问题,确定立体仓库的多个优化目标,例如最短运行时间、货架稳定性等;Step 4. Define the objective function: Based on the research purpose and practical problems, determine multiple optimization goals for the three-dimensional warehouse, such as the shortest running time, shelf stability, etc.;

Step5、构建NSGA-Ⅱ优化算法模型:基于以上中的任务模型、决策变量和目标函数,构建NSGA-Ⅱ优化模型,利用NSGA-Ⅱ算法来求解最优解;Step 5. Construct the NSGA-II optimization algorithm model: Based on the above task model, decision variables and objective function, construct the NSGA-II optimization model and use the NSGA-II algorithm to solve the optimal solution;

Step6、进行仿真与验证:根据建立的模型,进行仿真与验证,考虑不同参数对于模型的影响,得到优化后的最优解,并进行评估与分析。Step 6. Carry out simulation and verification: Carry out simulation and verification based on the established model, consider the impact of different parameters on the model, obtain the optimized optimal solution, and conduct evaluation and analysis.

进一步优选为:Step4包括如下步骤:It is further preferred that Step 4 includes the following steps:

首先,设立体仓库内有n个货位,货物的三维坐标分别表示为(xi,yi,zi),货位的大小为li×wi×hi,其中1≤i≤n,根据立体仓库出入口位置、货物质量、传送带参数等相关数据,建立前进后出是立体仓库,并根据实际情况,随机定义立体仓库的入库任务和出库任务,并确定任务量和任务相关信息,同时立体仓库还需满足相关假设:堆垛机按照前进后出策略,依次从立体仓库内取出货物,每次只能取出或放入一个货物出入仓库,直到取完所有订单中货物;不考虑启停时间;不考虑货物自身重量在堆垛机行驶过程中造成的影响;其次构造目标函数,以最短运行时间构造第一目标函数F1;以重心最低构造第二目标函数F2;以能耗最低构造第三目标函数F3;目标函数如下:First, set up a three-dimensional warehouse with n cargo spaces. The three-dimensional coordinates of the goods are expressed as (x i , y i , z i ), and the size of the cargo spaces is l i ×w i ×h i , where 1≤i≤n , based on relevant data such as the location of the entrance and exit of the three-dimensional warehouse, cargo quality, conveyor belt parameters, etc., establish a forward-back-out three-dimensional warehouse, and randomly define the warehousing tasks and outgoing tasks of the three-dimensional warehouse according to the actual situation, and determine the task volume and task-related information , at the same time, the three-dimensional warehouse also needs to meet relevant assumptions: the stacker takes out the goods from the three-dimensional warehouse in sequence according to the forward-then-out strategy, and can only take out or put one piece of goods in and out of the warehouse at a time until all the goods in the order are taken; it is not considered Start and stop time; do not consider the impact of the weight of the cargo on the stacker's driving process; secondly, construct the objective function, construct the first objective function F 1 with the shortest running time; construct the second objective function F 2 with the lowest center of gravity; construct the second objective function F 2 with the energy Construct the third objective function F 3 with the lowest cost; the objective function is as follows:

最短运行时间: Minimum running time:

其中,tij表示堆垛机从当前货位出发到下一个货位的运行时间,其计算公式为:tij=di/vi+dj/vj Among them, t ij represents the running time of the stacker from the current cargo location to the next cargo location. The calculation formula is: t ij =d i /v i +d j /v j

其中,di表示当前货位(xi,yi,zi)到目标货位(xij,yij,zij)的水平方向直线距离,vi表示堆垛机水平方向行驶速度;Among them, d i represents the horizontal straight-line distance from the current cargo location (x i , y i , z i ) to the target cargo location (x ij , y ij , z ij ), and vi represents the horizontal traveling speed of the stacker;

dj表示当前货位(xi,yi,zi)到目标货位(xij,yij,zij)的竖直方向直线距离,vj表示堆垛机竖直方向行驶速度;d j represents the vertical straight-line distance from the current cargo location (x i , y i , z i ) to the target cargo location (x ij , y ij , z ij ), and v j represents the vertical traveling speed of the stacker;

重心最低:F2(x)=cgThe lowest center of gravity: F 2 (x) = cg

其中,cg表示所有货位重心的高度坐标平均值,其计算公式为:Among them, cg represents the average height coordinate of the center of gravity of all cargo locations, and its calculation formula is:

其中,mi表示第i个货位上货物的质量;Among them, m i represents the quality of the goods on the i-th cargo position;

能耗最低: Lowest energy consumption:

其中,ei表示取出货物i时堆垛机的能耗,其计算公式为:Among them, e i represents the energy consumption of the stacker when taking out goods i, and its calculation formula is:

ei=widij e i = w i d ij

其中,wi表示第i个货位上货物的重量,dij表示堆垛机从当前货位出发到下一个货位的行驶距离;Among them, w i represents the weight of the goods on the i-th cargo space, and d ij represents the traveling distance of the stacker from the current cargo space to the next cargo space;

与此同时该模型还需满足以下约束条件:At the same time, the model also needs to satisfy the following constraints:

假设堆垛机需进行“入库”操作,即将货物放置到货位上,同时进行“出库”操作,即将货物从货位上取出来;Assume that the stacker needs to perform a "warehousing" operation, that is, place the goods on the cargo space, and at the same time perform an "outbound" operation, that is, take the goods out of the cargo space;

为确保每个货位有且仅有一个货物,需满足如下约束条件:In order to ensure that each cargo slot has only one cargo, the following constraints must be met:

其中xij表示货位i是否放置货物,xij=1表示该货位有货物,xij=0表示该货位为空; Among them, x ij indicates whether goods are placed in the cargo location i, x ij =1 indicates that the cargo location has goods, and x ij =0 indicates that the cargo location is empty;

为确保入库时仅选择一个符合要求的货位,需满足如下约束条件:In order to ensure that only one cargo location that meets the requirements is selected when warehousing, the following constraints must be met:

yi∈{0,1},表示堆垛机是否将货物放在货位i上,yi=1表示选中该货位,yi=0表示未选中该货位;y i ∈{0,1}, indicates whether the stacker places the goods on the cargo location i, y i =1 indicates that the cargo location is selected, y i =0 indicates that the cargo location is not selected;

表示一次入库操作只能选择一个符合要求的货位; It means that only one cargo location that meets the requirements can be selected for one warehousing operation;

为确保出库时仅选择一个符合要求的货位,需满足如下约束条件:In order to ensure that only one cargo location that meets the requirements is selected when leaving the warehouse, the following constraints must be met:

zi∈{0,1},表示堆垛机是否从货位i中取出货物,zi=1表示选中该货位,zi=0表示未选中该货位;z i ∈ {0,1}, indicates whether the stacker takes out goods from cargo location i, z i =1 indicates that the cargo location is selected, z i =0 indicates that the cargo location is not selected;

表示一次出库操作只能选择一个符合要求的货位; It means that only one cargo location that meets the requirements can be selected for one outbound operation;

为确保堆垛机一次仅运送一个货物,需要添加如下约束条件:To ensure that the stacker only transports one item at a time, the following constraints need to be added:

表示如果选中货位i则在同一次操作中必须将该货物取出并运送。 It means that if the cargo location i is selected, the goods must be taken out and transported in the same operation.

进一步优选为:Step5包括如下步骤:It is further preferred that Step 5 includes the following steps:

Step5.1、初始化种群,生成初始候选解集合;Step5.1. Initialize the population and generate an initial set of candidate solutions;

随机生成订单:随机生成订单,以确定每个货物的数量;在生成订单时,需要考虑多个约束条件来生成;Randomly generate orders: Randomly generate orders to determine the quantity of each item; when generating orders, multiple constraints need to be considered for generation;

随机生成货位分配方案:对于每组订单,随机生成一组货位分配方案,以确定每个货物的存储位置;在生成货位分配方案时,需要考虑多个约束条件,如货位的容量限制、货物的尺寸和重量等来生成初始方案;Randomly generate a cargo space allocation plan: For each group of orders, a set of cargo space allocation plans are randomly generated to determine the storage location of each cargo; when generating a cargo space allocation plan, multiple constraints need to be considered, such as the capacity of the cargo space Limitations, dimensions and weight of goods, etc. to generate initial plans;

确定种群数量:根据问题复杂度和规模,选择合适的种群数量;本算法选择的种群大小为Popsize;Determine the population size: Select an appropriate population size based on the complexity and scale of the problem; the population size selected by this algorithm is Popsize;

从备选货位中随机生成Popsize个符合逻辑的出库任务,从备选货位中生成Popsize个符合逻辑的入库任务,然后,对任务进行检查并修正,并设为初始种群;Randomly generate Popsize logical outbound tasks from the alternative cargo locations, and generate Popsize logical inbound tasks from the alternative cargo locations. Then, check and correct the tasks, and set them as the initial population;

Step5.2、对目标种群进行非支配排序,将种群中的个体按照其在多个目标函数上的表现进行排序,并将其分为不同的前沿面;Step5.2. Perform non-dominated sorting on the target population, sort the individuals in the population according to their performance on multiple objective functions, and divide them into different frontiers;

对初始种群进行排序,每个个体在三个目标函数上的表现进行排序并循环,直到所有个体都被分到前沿面中为止;在每次循环中,对于每个未被分到前沿面中的个体i,将其与所有未被分到前沿面中的个体j进行比较,以确定是否将个体j分到与个体i相同的前沿面中;The initial population is sorted, and the performance of each individual on the three objective functions is sorted and circulated until all individuals are assigned to the frontier; in each cycle, for each individual that is not assigned to the frontier Individual i, compare it with all individuals j that are not assigned to the frontier to determine whether individual j is assigned to the same frontier as individual i;

Step5.3、计算拥挤度,对前沿面中目标函数解集进行帕累托排序和拥挤度计算;Step5.3. Calculate the crowding degree, perform Pareto sorting and crowding degree calculation on the objective function solution set in the frontier surface;

根据Pareto排序,将所有个体按照Pareto前沿层排序,并依次获取每个Pareto前沿层的个体,对于每个目标函数,分别计算个体间的距离;具体方法是,按照该目标函数的取值对个体进行排序,然后按照公式计算相邻个体间的距离,其中目标函数值最小的个体间距设为无穷大,计算得到个体在多目标优化问题中的拥挤度;具体方法是将多个目标函数的拥挤度求和,拥挤度即距离,在计算完所有个体的拥挤度后,对所有个体按照拥挤度和适应度值进行排序,以便进行选择和交叉操作;According to Pareto sorting, all individuals are sorted according to the Pareto frontier layer, and the individuals of each Pareto frontier layer are obtained in turn. For each objective function, the distance between individuals is calculated separately; the specific method is to classify the individuals according to the value of the objective function. Sort, and then calculate the distance between adjacent individuals according to the formula, in which the distance between individuals with the smallest objective function value is set to infinity, and the crowding degree of the individual in the multi-objective optimization problem is calculated; the specific method is to combine the crowding degrees of multiple objective functions Summing up, the crowding degree is the distance. After calculating the crowding degree of all individuals, all individuals are sorted according to the crowding degree and fitness value for selection and crossover operations;

拥挤度计算:Crowding calculation:

对于第一个目标函数:For the first objective function:

F1(x(1))≤F1(x(2))≤F1(x(N))F 1 (x (1) ) ≤ F 1 (x (2) ) ≤ F 1 (x (N) )

对于第二个目标函数:For the second objective function:

F2(x(1))≤F2(x(2))≤F2(x(N))F 2 (x (1) ) ≤ F 2 (x (2) ) ≤ F 2 (x (N) )

对于第三个目标函数:For the third objective function:

F3(x(1))≤F3(x(2))≤F3(x(N))F 3 (x (1) ) ≤ F 3 (x (2) ) ≤ F 3 (x (N) )

三个目标函数上的距离:Distance on three objective functions:

di,j,k=|Fl(x(i))-Fl(x(j))|,l∈{1,2,3}d i,j,k =|F l (x (i) )-F l (x (j) )|, l∈{1, 2, 3}

每个个体之间的拥挤度:Crowding between each individual:

其中,x(i),x(j),x(k)表示在第一个、第二个、第三个目标函数上排名第i个、第j个和第k个个体,N表示个体总数,Fl(x(i)),F2(x(i)),F3(x(i))分别表示个体x(i)在三个目标函数上的取值,l∈{1,2,3}表示目标函数编号di,j1,di,j2,di,j3表示个体x(i)和x(j)在三个目标函数上的距离;Among them, x (i) , x (j) , x (k) represent the i-th, j-th and k-th individuals ranked on the first, second and third objective functions, and N represents the total number of individuals. , F l (x (i) ), F 2 (x (i) ), F 3 (x (i) ) respectively represent the values of individual x (i) on the three objective functions, l∈{1, 2 , 3} represents the objective function number d i,j1 , d i,j2 , d i,j3 represents the distance between individuals x (i) and x (j) on the three objective functions;

Step5.4、选择:锦标赛选择,按照Pareto层级和拥挤度对选中的行进行排序;Step5.4. Selection: Tournament selection, sort the selected rows according to Pareto level and congestion degree;

进行Popsize次选择,随机选取Popsize/2个进行对比,先比Pareto层级,层级小的优先,再比较拥挤度,拥挤度大的优先若选择结束后后个体不止一个,采用随机选择;Perform Popsize selections, and randomly select Popsize/2 individuals for comparison. First compare the Pareto levels, with smaller levels given priority, and then compare the crowding degree. If there is more than one individual after the selection, random selection will be used;

Step5.5、交叉:交叉的方式采用单点交叉和顺序交叉,确定交叉点位置和交叉前半部分还是后半部分,然后逐行交换;Step5.5. Crossover: The crossover method adopts single-point crossover and sequential crossover. Determine the intersection point position and the first half or the second half of the crossover, and then swap row by row;

首先生成Popsize个子代,选出两个不同的个体进行交叉,得到两个个体的编码后进行交叉,采用单点交叉和顺序交叉,此处交叉概率为Pc,首先得到交叉点位置,以及交叉前半部分还是后半部分,进行逐行交叉,得到交叉后的个体;First, Popsize offspring are generated, and two different individuals are selected for crossover. After obtaining the codes of the two individuals, the crossover is performed. Single-point crossover and sequential crossover are used. The crossover probability here is P c . First, the intersection point position is obtained, and the crossover Whether it is the first half or the second half, cross it row by row to get the crossed individual;

Step5.6、变异:倒位变异,通过随机数选出变异位置,然后将该位置前后的基因进行交换;Step5.6. Mutation: Inversion mutation, select the mutation position through random numbers, and then exchange the genes before and after the position;

首先通过随机数选出变异位置,然后将该位置前后的基因进行交换;此处变异概率为Pm,这个过程中,存储种群中每个个体的基因信息,然后进行两次检查以确保没有重复的基因;First, the mutation position is selected through random numbers, and then the genes before and after the position are exchanged; the mutation probability here is P m . In this process, the genetic information of each individual in the population is stored, and then checked twice to ensure that there are no duplications. genes;

Step5.7、将新生成的解集合与原始种群合并,并进行拥挤度排序;Step5.7. Merge the newly generated solution set with the original population, and sort the crowding degree;

将所得的解根据Pareto排序,筛选出前Popsize个个体来确定Pareto最优解的范围,以取得最后的Pareto最优解集;Sort the obtained solutions according to Pareto, and filter out the first Popsize individuals to determine the range of Pareto optimal solutions to obtain the final Pareto optimal solution set;

Step5.8、从合并的集合中选择前Popsize个解作为新的种群;Step5.8. Select the first Popsize solutions from the merged set as the new population;

Step5.9、如果满足终止条件,返回最优解集合;否则,跳转到Step2。Step5.9. If the termination condition is met, return the optimal solution set; otherwise, jump to Step2.

综上所述,本发明具有以下有益效果:To sum up, the present invention has the following beneficial effects:

其一、本发明针对前进后出式立体仓库进行集成优化,与传统方法相比在解决前进后出式立体仓库优化的同时对订单以及货位同时优化,贴合实际,简单有效。First, the present invention performs integrated optimization for forward and rear exit three-dimensional warehouses. Compared with traditional methods, it can simultaneously optimize orders and cargo locations while solving the optimization of forward and rear exit three-dimensional warehouses. It is practical, simple and effective.

其二、该算法能够有效地处理不同优化目标之间的冲突,获得前沿解集,并在此基础上进行多目标优化。相对于单一目标优化算法,该算法能够更好地满足生产企业在实际生产过程中的多目标需求,更加符合实际应用需求。Second, this algorithm can effectively handle conflicts between different optimization objectives, obtain a frontier solution set, and perform multi-objective optimization on this basis. Compared with the single-objective optimization algorithm, this algorithm can better meet the multi-objective needs of manufacturing enterprises in the actual production process, and is more in line with actual application needs.

其三、该算法的实现过程中,采用一种基本的启发式方法来生成初始候选解集合,具有很高的可移植性和可扩展性。可以根据具体的应用环境和目标函数,对算法进行定制化调整和扩展,以更好地适应不同的需求。Third, during the implementation of this algorithm, a basic heuristic method is used to generate the initial set of candidate solutions, which has high portability and scalability. The algorithm can be customized and expanded according to the specific application environment and objective function to better adapt to different needs.

其四、该算法解决了仓库货位分配及作业调度问题,能够提高生产企业物流和仓储效率。在实际应用中,能够为生产企业带来显著的效益和经济收益。Fourth, this algorithm solves the problem of warehouse cargo space allocation and job scheduling, and can improve the logistics and warehousing efficiency of production enterprises. In practical applications, it can bring significant benefits and economic benefits to production enterprises.

附图说明Description of the drawings

图1为本发明所提出的前进后出式立体仓库示意图;Figure 1 is a schematic diagram of the forward and rear exit three-dimensional warehouse proposed by the present invention;

图2为本发明所提出NSGA-Ⅱ算法流程图;Figure 2 is a flow chart of the NSGA-II algorithm proposed by the present invention;

图3为入库部分单点交叉操作部分编码;Figure 3 shows the coding of the single-point crossover operation in the warehousing part;

图4为出库部分顺序交叉操作部分编码;Figure 4 shows the coding of the sequential crossover operation part of the outbound part;

图5为倒位变异操作部分编码;Figure 5 shows the partial coding of the inversion mutation operation;

图6为本发明的总体流程图;Figure 6 is an overall flow chart of the present invention;

具体实施方式Detailed ways

以下结合附图对本发明作进一步详细说明。The present invention will be further described in detail below with reference to the accompanying drawings.

实施例,一种基于NSGA-Ⅱ的前进后出仓库多目标集成优化方法,如图1至图6所示,包括如下步骤:Embodiment, a multi-objective integrated optimization method for forward-back-out warehouse based on NSGA-Ⅱ, as shown in Figures 1 to 6, including the following steps:

Step1、建立仓库模型:根据实际的仓库设计,建立前进后出立体仓库的结构模型,将其抽象为一个多维空间,多维空间的要素节点包括堆垛机、货架、出库和入库;Step 1. Establish a warehouse model: Based on the actual warehouse design, establish a structural model of a forward-back-out three-dimensional warehouse, abstracting it into a multi-dimensional space. The element nodes of the multi-dimensional space include stackers, shelves, outbound and inbound warehouses;

Step2、建立任务模型:根据实际情况,随机定义立体仓库的入库任务和出库任务,并确定任务量和任务相关信息;Step 2. Establish a task model: According to the actual situation, randomly define the warehousing tasks and warehousing tasks of the three-dimensional warehouse, and determine the task volume and task-related information;

Step3、确定决策变量:针对立体仓库的货位分配和作业调度问题,需要确定相应的决策变量,例如仓库中每个货位中存放的物品类型和数量,以及每个任务的执行顺序和时间等;Step 3. Determine the decision variables: For the problem of cargo space allocation and job scheduling in the three-dimensional warehouse, it is necessary to determine the corresponding decision variables, such as the type and quantity of items stored in each cargo space in the warehouse, as well as the execution order and time of each task, etc. ;

Step4、定义目标函数:根据研究目的和实际问题,确定立体仓库的多个优化目标,例如最短运行时间、货架稳定性等;Step 4. Define the objective function: Based on the research purpose and practical problems, determine multiple optimization goals for the three-dimensional warehouse, such as the shortest running time, shelf stability, etc.;

Step5、构建NSGA-Ⅱ优化算法模型:基于以上中的任务模型、决策变量和目标函数,构建NSGA-Ⅱ优化模型,利用NSGA-Ⅱ算法来求解最优解;Step 5. Construct the NSGA-II optimization algorithm model: Based on the above task model, decision variables and objective function, construct the NSGA-II optimization model and use the NSGA-II algorithm to solve the optimal solution;

Step6、进行仿真与验证:根据建立的模型,进行仿真与验证,考虑不同参数对于模型的影响,得到优化后的最优解,并进行评估与分析。Step 6. Carry out simulation and verification: Carry out simulation and verification based on the established model, consider the impact of different parameters on the model, obtain the optimized optimal solution, and conduct evaluation and analysis.

Step4包括如下步骤:Step4 includes the following steps:

首先,设立体仓库内有n个货位,货物的三维坐标分别表示为(xi,yi,zi),货位的大小为li×wi×hi,其中1≤i≤n,根据立体仓库出入口位置、货物质量、传送带参数等相关数据,建立前进后出是立体仓库,并根据实际情况,随机定义立体仓库的入库任务和出库任务,并确定任务量和任务相关信息,同时立体仓库还需满足相关假设:堆垛机按照前进后出策略,依次从立体仓库内取出货物,每次只能取出或放入一个货物出入仓库,直到取完所有订单中货物;不考虑启停时间;不考虑货物自身重量在堆垛机行驶过程中造成的影响;其次构造目标函数,以最短运行时间构造第一目标函数F1;以重心最低构造第二目标函数F2;以能耗最低构造第三目标函数F3;目标函数如下:First, set up a three-dimensional warehouse with n cargo spaces. The three-dimensional coordinates of the goods are expressed as (x i , y i , z i ). The size of the cargo spaces is l i ×w i ×h i , where 1≤i≤n , based on relevant data such as the location of the entrance and exit of the three-dimensional warehouse, cargo quality, conveyor belt parameters, etc., establish a forward-back-out three-dimensional warehouse, and randomly define the warehousing tasks and outgoing tasks of the three-dimensional warehouse according to the actual situation, and determine the task volume and task-related information , at the same time, the three-dimensional warehouse also needs to meet relevant assumptions: the stacker takes out the goods from the three-dimensional warehouse in sequence according to the forward-then-out strategy, and can only take out or put one piece of goods in and out of the warehouse at a time until all the goods in the order are taken; it is not considered Start and stop time; do not consider the impact of the weight of the cargo on the stacker's driving process; secondly, construct the objective function, construct the first objective function F 1 with the shortest running time; construct the second objective function F 2 with the lowest center of gravity; construct the second objective function F 2 with the energy Construct the third objective function F 3 with the lowest cost; the objective function is as follows:

最短运行时间: Minimum running time:

其中,tij表示堆垛机从当前货位出发到下一个货位的运行时间,其计算公式为:tij=di/vi+dj/vj Among them, t ij represents the running time of the stacker from the current cargo location to the next cargo location. The calculation formula is: t ij =d i /v i +d j /v j

其中,di表示当前货位(xi,yi,zi)到目标货位(xij,yij,zij)的水平方向直线距离,Vi表示堆垛机水平方向行驶速度;Among them, d i represents the horizontal straight-line distance from the current cargo location (x i , y i , z i ) to the target cargo location (x ij , y ij , z ij ), and V i represents the horizontal traveling speed of the stacker;

dj表示当前货位(xi,yi,zi)到目标货位(xij,yij,zij)的竖直方向直线距离,vj表示堆垛机竖直方向行驶速度;d j represents the vertical straight-line distance from the current cargo location (x i , y i , z i ) to the target cargo location (x ij , y ij , z ij ), and v j represents the vertical traveling speed of the stacker;

重心最低:F2(x)=cgThe lowest center of gravity: F 2 (x) = cg

其中,cg表示所有货位重心的高度坐标平均值,其计算公式为:Among them, cg represents the average height coordinate of the center of gravity of all cargo locations, and its calculation formula is:

其中,mi表示第i个货位上货物的质量;Among them, m i represents the quality of the goods on the i-th cargo position;

能耗最低: Lowest energy consumption:

其中,ei表示取出货物i时堆垛机的能耗,其计算公式为:Among them, e i represents the energy consumption of the stacker when taking out goods i, and its calculation formula is:

ei=widij e i = w i d ij

其中,wi表示第i个货位上货物的重量,dij表示堆垛机从当前货位出发到下一个货位的行驶距离;Among them, w i represents the weight of the goods on the i-th cargo space, and d ij represents the traveling distance of the stacker from the current cargo space to the next cargo space;

与此同时该模型还需满足以下约束条件:At the same time, the model also needs to satisfy the following constraints:

假设堆垛机需进行“入库”操作,即将货物放置到货位上,同时进行“出库”操作,即将货物从货位上取出来;Assume that the stacker needs to perform a "warehousing" operation, that is, place the goods on the cargo space, and at the same time perform an "outbound" operation, that is, take the goods out of the cargo space;

为确保每个货位有且仅有一个货物,需满足如下约束条件:In order to ensure that each cargo slot has only one cargo, the following constraints must be met:

其中xij表示货位i是否放置货物,xij=1表示该货位有货物,xij=0表示该货位为空; Among them, x ij indicates whether goods are placed in the cargo location i, x ij =1 indicates that the cargo location has goods, and x ij =0 indicates that the cargo location is empty;

为确保入库时仅选择一个符合要求的货位,需满足如下约束条件:In order to ensure that only one cargo location that meets the requirements is selected when warehousing, the following constraints must be met:

yi∈{0,1},表示堆垛机是否将货物放在货位i上,yi=1表示选中该货位,yi=0表示未选中该货位;y i ∈ {0, 1}, indicates whether the stacker places the goods on the cargo location i, y i =1 indicates that the cargo location is selected, y i =0 indicates that the cargo location is not selected;

表示一次入库操作只能选择一个符合要求的货位; It means that only one cargo location that meets the requirements can be selected for one warehousing operation;

为确保出库时仅选择一个符合要求的货位,需满足如下约束条件:In order to ensure that only one cargo location that meets the requirements is selected when leaving the warehouse, the following constraints must be met:

zi∈{0,1},表示堆垛机是否从货位i中取出货物,zi=1表示选中该货位,zi=0表示未选中该货位;z i ∈ {0, 1}, indicates whether the stacker takes out the goods from the cargo location i, z i =1 indicates that the cargo location is selected, z i =0 indicates that the cargo location is not selected;

表示一次出库操作只能选择一个符合要求的货位; It means that only one cargo location that meets the requirements can be selected for one outbound operation;

为确保堆垛机一次仅运送一个货物,需要添加如下约束条件:To ensure that the stacker only transports one item at a time, the following constraints need to be added:

表示如果选中货位i则在同一次操作中必须将该货物取出并运送。 It means that if the cargo location i is selected, the goods must be taken out and transported in the same operation.

Step5包括如下步骤:Step5 includes the following steps:

Step5.1、初始化种群,生成初始候选解集合;Step5.1. Initialize the population and generate an initial set of candidate solutions;

随机生成订单:随机生成订单,以确定每个货物的数量;在生成订单时,需要考虑多个约束条件来生成;Randomly generate orders: Randomly generate orders to determine the quantity of each item; when generating orders, multiple constraints need to be considered for generation;

随机生成货位分配方案:对于每组订单,随机生成一组货位分配方案,以确定每个货物的存储位置;在生成货位分配方案时,需要考虑多个约束条件,如货位的容量限制、货物的尺寸和重量等来生成初始方案;Randomly generate a cargo space allocation plan: For each group of orders, a set of cargo space allocation plans are randomly generated to determine the storage location of each cargo; when generating a cargo space allocation plan, multiple constraints need to be considered, such as the capacity of the cargo space Limitations, dimensions and weight of goods, etc. to generate initial plans;

确定种群数量:根据问题复杂度和规模,选择合适的种群数量;本算法选择的种群大小为Popsize;Determine the population size: Select an appropriate population size based on the complexity and scale of the problem; the population size selected by this algorithm is Popsize;

从备选货位中随机生成Popsize个符合逻辑的出库任务,从备选货位中生成Popsize个符合逻辑的入库任务,然后,对任务进行检查并修正,并设为初始种群;Randomly generate Popsize logical outbound tasks from the alternative cargo locations, and generate Popsize logical inbound tasks from the alternative cargo locations. Then, check and correct the tasks, and set them as the initial population;

Step5.2、对目标种群进行非支配排序,将种群中的个体按照其在多个目标函数上的表现进行排序,并将其分为不同的前沿面;Step5.2. Perform non-dominated sorting on the target population, sort the individuals in the population according to their performance on multiple objective functions, and divide them into different frontiers;

对初始种群进行排序,每个个体在三个目标函数上的表现进行排序并循环,直到所有个体都被分到前沿面中为止;在每次循环中,对于每个未被分到前沿面中的个体i,将其与所有未被分到前沿面中的个体j进行比较,以确定是否将个体j分到与个体i相同的前沿面中;The initial population is sorted, and the performance of each individual on the three objective functions is sorted and circulated until all individuals are assigned to the frontier; in each cycle, for each individual that is not assigned to the frontier Individual i, compare it with all individuals j that are not assigned to the frontier to determine whether individual j is assigned to the same frontier as individual i;

Step5.3、计算拥挤度,对前沿面中目标函数解集进行帕累托排序和拥挤度计算;Step5.3. Calculate the crowding degree, perform Pareto sorting and crowding degree calculation on the objective function solution set in the frontier surface;

根据Pareto排序,将所有个体按照Pareto前沿层排序,并依次获取每个Pareto前沿层的个体,对于每个目标函数,分别计算个体间的距离;具体方法是,按照该目标函数的取值对个体进行排序,然后按照公式计算相邻个体间的距离,其中目标函数值最小的个体间距设为无穷大,计算得到个体在多目标优化问题中的拥挤度;具体方法是将多个目标函数的拥挤度求和,拥挤度即距离,在计算完所有个体的拥挤度后,对所有个体按照拥挤度和适应度值进行排序,以便进行选择和交叉操作;According to Pareto sorting, all individuals are sorted according to the Pareto frontier layer, and the individuals of each Pareto frontier layer are obtained in turn. For each objective function, the distance between individuals is calculated separately; the specific method is to classify the individuals according to the value of the objective function. Sort, and then calculate the distance between adjacent individuals according to the formula, in which the distance between individuals with the smallest objective function value is set to infinity, and the crowding degree of the individual in the multi-objective optimization problem is calculated; the specific method is to combine the crowding degrees of multiple objective functions Summing up, the crowding degree is the distance. After calculating the crowding degree of all individuals, all individuals are sorted according to the crowding degree and fitness value for selection and crossover operations;

拥挤度计算:Crowding calculation:

对于第一个目标函数:For the first objective function:

F1(x(1))≤F1(x(2))≤F1(x(N))F 1 (x (1) ) ≤ F 1 (x (2) ) ≤ F 1 (x (N) )

对于第二个目标函数:For the second objective function:

F2(x(1))≤F2(x(2))≤F2(x(N))F 2 (x (1) ) ≤ F 2 (x (2) ) ≤ F 2 (x (N) )

对于第三个目标函数:For the third objective function:

F3(x(1))≤F3(x(2))≤F3(x(N))F 3 (x (1) ) ≤ F 3 (x (2) ) ≤ F 3 (x (N) )

三个目标函数上的距离:Distance on three objective functions:

di,j,k=|Fl(x(i))-Fl(x(j))|,l∈{1,2,3}d i,j,k =|F l (x (i) )-F l (x (j) )|, l∈{1, 2, 3}

每个个体之间的拥挤度:Crowding between each individual:

其中,x(i),x(j),x(k)表示在第一个、第二个、第三个目标函数上排名第i个、第j个和第k个个体,N表示个体总数,Fl(x(i)),F2(x(i)),F3(x(i))分别表示个体x(i)在三个目标函数上的取值,l∈{1,2,3}表示目标函数编号di,j1,di,j2,di,j3表示个体x(i)和x(i)在三个目标函数上的距离;Among them, x (i) , x (j) , x (k) represent the i-th, j-th and k-th individuals ranked on the first, second and third objective functions, and N represents the total number of individuals. , F l (x (i) ), F 2 (x (i) ), F 3 (x (i) ) respectively represent the values of individual x (i) on the three objective functions, l∈{1, 2 , 3} represents the objective function number d i,j1 , di ,j2 , d i,j3 represents the distance between individuals x (i) and x (i) on the three objective functions;

Step5.4、选择:锦标赛选择,按照Pareto层级和拥挤度对选中的行进行排序;Step5.4. Selection: Tournament selection, sort the selected rows according to Pareto level and congestion degree;

进行Popsize次选择,随机选取Popsize/2个进行对比,先比Pareto层级,层级小的优先,再比较拥挤度,拥挤度大的优先若选择结束后后个体不止一个,采用随机选择;Perform Popsize selections, and randomly select Popsize/2 individuals for comparison. First compare the Pareto levels, with smaller levels given priority, and then compare the crowding degree. If there is more than one individual after the selection, random selection will be used;

Step5.5、交叉:交叉的方式采用单点交叉和顺序交叉,确定交叉点位置和交叉前半部分还是后半部分,然后逐行交换;Step5.5. Crossover: The crossover method adopts single-point crossover and sequential crossover. Determine the intersection point position and the first half or the second half of the crossover, and then swap row by row;

首先生成Popsize个子代,选出两个不同的个体进行交叉,得到两个个体的编码后进行交叉,采用单点交叉和顺序交叉,此处交叉概率为Pc,首先得到交叉点位置,以及交叉前半部分还是后半部分,进行逐行交叉,得到交叉后的个体;First, Popsize offspring are generated, and two different individuals are selected for crossover. After obtaining the codes of the two individuals, the crossover is performed. Single-point crossover and sequential crossover are used. The crossover probability here is P c . First, the intersection point position is obtained, and the crossover Whether it is the first half or the second half, cross it row by row to get the crossed individual;

Step5.6、变异:倒位变异,通过随机数选出变异位置,然后将该位置前后的基因进行交换;Step5.6. Mutation: Inversion mutation, select the mutation position through random numbers, and then exchange the genes before and after the position;

首先通过随机数选出变异位置,然后将该位置前后的基因进行交换;此处变异概率为Pm,这个过程中,存储种群中每个个体的基因信息,然后进行两次检查以确保没有重复的基因;First, the mutation position is selected through random numbers, and then the genes before and after the position are exchanged; the mutation probability here is P m . In this process, the genetic information of each individual in the population is stored, and then checked twice to ensure that there are no duplications. genes;

Step5.7、将新生成的解集合与原始种群合并,并进行拥挤度排序;Step5.7. Merge the newly generated solution set with the original population, and sort the crowding degree;

将所得的解根据Pareto排序,筛选出前Popsize个个体来确定Pareto最优解的范围,以取得最后的Pareto最优解集;Sort the obtained solutions according to Pareto, and filter out the first Popsize individuals to determine the range of Pareto optimal solutions to obtain the final Pareto optimal solution set;

Step5.8、从合并的集合中选择前Popsize个解作为新的种群;Step5.8. Select the first Popsize solutions from the merged set as the new population;

Step5.9、如果满足终止条件,返回最优解集合;否则,跳转到Step2。Step5.9. If the termination condition is met, return the optimal solution set; otherwise, jump to Step2.

案例实施:Case implementation:

以单巷道前进后出式立体仓库为例,巷道两边各有一排10层10列货架,堆垛机在x、y、z方向上速度分别为1m/s、0.5m/s、0.5m/s,货位长、宽、高均为1m,传送带速度为1.5m/s,并在两边货架随机生成40个货物,表货位已被占用,且入库订单数量为20,货物分为四种,其除重量外无区别,质量分别为100kg、200kg、300kg、400kg,数量分别为10、5、5、5。出库任务为随机生成。算法参数:交叉概率Pc=0.8,变异概率Pm=0.1,最大迭代次数MaxIterations=500。Taking a single lane forward and backward three-dimensional warehouse as an example, there is a row of 10 layers and 10 rows of shelves on both sides of the lane. The speeds of the stacker in the x, y, and z directions are 1m/s, 0.5m/s, and 0.5m/s respectively. , the length, width and height of the cargo space are all 1m, the conveyor belt speed is 1.5m/s, and 40 goods are randomly generated on the shelves on both sides. The surface cargo space is occupied, and the number of warehousing orders is 20. The goods are divided into four types , there is no difference except weight, the masses are 100kg, 200kg, 300kg, 400kg respectively, and the quantities are 10, 5, 5, 5 respectively. Outbound tasks are randomly generated. Algorithm parameters: crossover probability P c =0.8, mutation probability P m =0.1, maximum number of iterations MaxIterations =500.

下表为未经过本方法优化的Pareto解集。The following table shows the Pareto solution set that has not been optimized by this method.

下表为本方法所求得的Pareto解集。The following table shows the Pareto solution set obtained by this method.

由上表可知证明本方法的有效性,本方法可以有效的对前进后出式立体仓库进行多目标集成优化。It can be seen from the above table that the effectiveness of this method is proved. This method can effectively perform multi-objective integrated optimization of the forward and rear exit three-dimensional warehouse.

本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。This specific embodiment is only an explanation of the present invention, and it is not a limitation of the present invention. Those skilled in the art can make modifications to this embodiment without creative contribution as needed after reading this specification. However, as long as the rights of the present invention are All requirements are protected by patent law.

Claims (3)

1. A multi-objective integrated optimization method for a forward and backward warehouse-out warehouse based on NSGA-II is characterized in that:
the method comprises the following steps:
step1, establishing a warehouse model: according to the actual warehouse design, a structural model of the stereoscopic warehouse is established, and is abstracted into a multidimensional space, wherein element nodes of the multidimensional space comprise a stacker, a goods shelf, a warehouse-out and a warehouse-in;
step2, establishing a task model: according to actual conditions, a warehouse-in task and a warehouse-out task of the stereoscopic warehouse are defined randomly, and task quantity and task related information are determined;
step3, determining decision variables: aiming at the goods space distribution and job scheduling problems of the stereoscopic warehouse, corresponding decision variables need to be determined;
step4, defining an objective function: determining a plurality of optimization targets of the stereoscopic warehouse according to the research purpose and the actual problem;
step5, constructing an NSGA-II optimization algorithm model: based on the task model, the decision variables and the objective function, an NSGA-II optimization model is constructed, and an NSGA-II algorithm is utilized to solve an optimal solution;
step6, simulation and verification are carried out: and according to the established model, performing simulation and verification, taking the influence of different parameters on the model into consideration, obtaining an optimized optimal solution, and performing evaluation and analysis.
2. The multi-objective NSGA-ii based forward and backward warehouse-out optimization method according to claim 1, wherein:
step4 comprises the following steps:
first, there are n cargo spaces in the set-up body warehouse, and the three-dimensional coordinates of the cargo are respectively expressed as (x i ,y i ,z i ) The size of the cargo space is l i ×w i ×h i Wherein i is more than or equal to 1 and less than or equal to n, the stereoscopic warehouse is established according to the related data such as the stereoscopic warehouse entrance and exit position, the cargo quality, the conveyor belt parameters and the like, the warehouse-in task and the warehouse-out task of the stereoscopic warehouse are defined randomly according to actual conditions, the task quantity and the task related information are determined, and meanwhile, the stereoscopic warehouse also needs to meet related assumptions: the stacker sequentially takes out the goods from the stereoscopic warehouse according to the forward and backward strategy, and only can take out or put in one goods at a time to go into and out of the warehouse until the goods in all orders are taken out; irrespective of the start-stop time; the influence of the weight of the goods in the running process of the stacker is not considered; second, constructing an objective function, constructing a first objective function F with the shortest run time 1 The method comprises the steps of carrying out a first treatment on the surface of the Constructing the second objective function F with lowest center of gravity 2 The method comprises the steps of carrying out a first treatment on the surface of the Constructing a third objective function F with minimum energy consumption 3 The method comprises the steps of carrying out a first treatment on the surface of the The objective function is as follows:
shortest run time:
wherein t is ij The running time of the stacker from the current cargo position to the next cargo position is represented by the following calculation formula: t is t ij =d i /v i +d j /v j
Wherein d i Representing the current cargo space (x i ,y i ,z i ) To the target cargo space (x ij ,y ij ,z ij ) Straight distance in horizontal direction v i Indicating the horizontal running speed of the stacker;
d j representing the current cargo space (x i ,y i ,z i ) To the target cargo space (x ij ,y ij ,z ij ) V is the straight distance in the vertical direction j Representing the vertical running speed of the stacker;
the center of gravity is the lowest: f (F) 2 (x)=cg
Wherein cg represents the average value of the height coordinates of the centers of gravity of all cargo positions, and the calculation formula is as follows:
wherein m is i Representing the mass of the cargo on the ith cargo space;
the energy consumption is the lowest:
wherein e i The energy consumption of the stacker when the goods i are taken out is represented, and the calculation formula is as follows:
e i =w i d ij
wherein w is i Representing the weight of the cargo at the ith cargo space, d ij Representing the travel distance of the stacker from the current cargo space to the next cargo space;
at the same time, the model also needs to satisfy the following constraint conditions:
the stacker is supposed to perform 'warehouse entry' operation, namely, goods are placed on a goods space, and meanwhile, the stacker is supposed to perform 'warehouse exit' operation, namely, the goods are taken out from the goods space;
wherein x is ij Indicating whether the cargo is placed in the cargo space i, x ij =1 indicates that the cargo space has cargo, x ij =0 indicates that the cargo space is empty;
y i e {0,1}, indicating whether the stacker is to place cargo on cargo space i, y i =1 indicates that the cargo space is selected, y i =0 indicates that the cargo space was not selected;
indicating that one warehouse-in operation can only be performedSelecting a cargo space meeting the requirements;
z i e {0,1}, indicates whether the stacker is to remove a good from the good i, z i Let 1 denote the selected cargo space, z i =0 indicates that the cargo space was not selected;
indicating that only one cargo space meeting the requirements can be selected in one ex-warehouse operation;
indicating that the cargo must be removed and transported in the same operation if cargo space i is selected.
3. The multi-objective integrated optimization method for the forward and backward warehouse-out based on NSGA-II according to claim 2, wherein the method comprises the following steps:
step5 comprises the following steps:
step5.1, initializing a population, and generating an initial candidate solution set;
randomly generating an order: randomly generating orders to determine the quantity of each item; in generating an order, a plurality of constraint conditions need to be considered for generation;
randomly generating a cargo allocation scheme: for each set of orders, randomly generating a set of cargo space allocation schemes to determine a storage location for each cargo; in generating the cargo space allocation scheme, a plurality of constraint conditions such as capacity limitation of cargo space, size and weight of cargo and the like need to be considered to generate an initial scheme;
determining the population quantity: selecting proper population quantity according to the complexity and the scale of the problem; the population size selected by the algorithm is Popsize;
randomly generating Popsize out-of-stock tasks conforming to logic from the candidate goods places, generating Popsize in-stock tasks conforming to logic from the candidate goods places, and then checking and correcting the tasks to be set as an initial population;
step5.2, performing non-dominant ranking on the target population, ranking the individuals in the population according to the performances of the individuals on a plurality of target functions, and dividing the individuals into different front faces;
ranking the initial population, ranking the performance of each individual on three objective functions and cycling until all individuals are sorted into the leading faces; in each cycle, for each individual i that is not classified into the leading face, it is compared with all individuals j that are not classified into the leading face to determine whether to classify the individual j into the same leading face as the individual i;
step5.3, calculating the crowding degree, and performing pareto sorting and crowding degree calculation on the objective function solution set in the front surface;
according to Pareto sequencing, sequencing all individuals according to Pareto front layers, sequentially obtaining individuals of each Pareto front layer, and respectively calculating the distance between the individuals for each objective function; sequencing individuals according to the value of the objective function, and then calculating the distance between adjacent individuals according to a formula, wherein the interval between individuals with the minimum objective function value is set to be infinity, and the crowding degree of the individuals in the multi-objective optimization problem is calculated; the specific method is that the crowding degree of a plurality of objective functions is summed, the crowding degree is the distance, after the crowding degree of all individuals is calculated, all the individuals are ordered according to the crowding degree and the fitness value so as to carry out the selection and crossing operation;
and (3) calculating the crowding degree:
for the first objective function:
F 1 (x (1) )≤F 1 (x (2) )≤F 1 (x (N) )
for the second objective function:
F 2 (x (1) )≤F 2 (x (2) )≤F 2 (x (N) )
for the third objective function:
F 3 (x (1) )≤F 3 (x (2) )≤F 3 (x (N) )
distance on three objective functions:
d i,j,k =|F l (x (i) )-F l (x (j) )|,l∈{1,2,3}
degree of congestion between each individual:
wherein x is (i) ,x (j) ,x (k) Represents the ith, jth and kth individuals ranked on the first, second and third objective functions, N represents the total number of individuals, F l (x (i) ),F 2 (x (i) ),F 3 (x (i) ) Respectively represent individual x (i) The values on the three objective functions, l.epsilon. {1,2,3} represent the objective function number d i,j1 ,d i,j2 ,d i,j3 Representing individual x (i) And x (j) Distances on three objective functions;
step5.4, selection: tournament selection, sorting the selected rows according to Pareto hierarchy and congestion level;
selecting the Popsize times, randomly selecting and comparing the Popsize/2, firstly, giving priority to the Popsize/2 which is smaller than the Pareto level, then, giving priority to the crowding degree, and if the priority to the crowding degree is large, selecting more than one individual at random after the selection is finished;
step5.5, crossover: the crossing mode adopts single-point crossing and sequential crossing, determines the position of the crossing point and the front half part or the rear half part of the crossing, and then exchanges line by line;
firstly generating Popsize filial generation, selecting two different individuals for crossing to obtain codes of the two individuals, crossing, adopting single-point crossing and sequential crossing, wherein the crossing probability is P c Firstly, obtaining the position of an intersection point and intersecting the front half part or the rear half part, and intersecting the intersection point line by line to obtain an intersecting individual;
step5.6, variation: inversion mutation, namely selecting a mutation position through a random number, and then exchanging genes before and after the position;
first by random numbersSelecting a mutation position, and then exchanging genes before and after the position; where the mutation probability is P m During this process, the genetic information of each individual in the population is stored and then checked twice to ensure that there are no duplicate genes;
step5.7, merging the newly generated solution set with the original population, and sequencing the crowding degree;
the obtained solutions are ranked according to Pareto, and the previous individuals are screened out to determine the range of the Pareto optimal solution so as to obtain the final Pareto optimal solution set;
step5.8, selecting the previous pop solutions from the pooled set as a new population;
step5.9, if the termination condition is met, returning to the optimal solution set; otherwise, go to Step2.
CN202310872566.2A 2023-07-17 2023-07-17 NSGA-II-based multi-objective integrated optimization method for forward and backward warehouse-out warehouse Pending CN117035168A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310872566.2A CN117035168A (en) 2023-07-17 2023-07-17 NSGA-II-based multi-objective integrated optimization method for forward and backward warehouse-out warehouse

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310872566.2A CN117035168A (en) 2023-07-17 2023-07-17 NSGA-II-based multi-objective integrated optimization method for forward and backward warehouse-out warehouse

Publications (1)

Publication Number Publication Date
CN117035168A true CN117035168A (en) 2023-11-10

Family

ID=88642014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310872566.2A Pending CN117035168A (en) 2023-07-17 2023-07-17 NSGA-II-based multi-objective integrated optimization method for forward and backward warehouse-out warehouse

Country Status (1)

Country Link
CN (1) CN117035168A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119476872A (en) * 2025-01-10 2025-02-18 杭州电子科技大学 Stereoscopic warehouse task scheduling method, device, equipment and medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119476872A (en) * 2025-01-10 2025-02-18 杭州电子科技大学 Stereoscopic warehouse task scheduling method, device, equipment and medium

Similar Documents

Publication Publication Date Title
CN110807559B (en) Order batching and picking path combined optimization method
CN108550007B (en) Goods space optimization method and system for automatic stereoscopic warehouse of pharmaceutical enterprise
CN113341889B (en) Distributed blocking flow shop scheduling method and system with assembly stages and energy consumption
CN110084545B (en) An Integrated Scheduling Method for Multi-Aisle Automated Stereoscopic Warehouse Based on Mixed Integer Programming Model
Ene et al. Storage location assignment and order picking optimization in the automotive industry
CN103559396B (en) Based on the automatic dispensary stock's allocation optimization method improving chaos particle cluster algorithm
CN113379087A (en) Production, manufacturing and scheduling optimization method based on improved genetic algorithm
CN114417696A (en) Automatic stereoscopic warehouse goods space allocation optimization method based on genetic algorithm
CN104680237A (en) Three-dimensional encasement novel genetic algorithm model under multi-constrain condition
CN113050422B (en) Multi-robot scheduling method based on maximin function multi-objective optimization algorithm
CN111626516B (en) Order Sequencing Optimization Method for Double-deep Four-way Shuttle System Considering Reversal Strategy
CN112286152A (en) Distributed flow shop scheduling method and system with batch delivery constraints
CN117434902B (en) Intelligent scheduling method and system for quick response semiconductor packaging test workshop
CN114707707A (en) Method and system for scheduling AGV task based on improved genetic algorithm
CN115587656A (en) Multi-control-parameter optimization method for confluence end of automatic logistics sorting system
CN116596440A (en) Automatic stereoscopic warehouse-in and warehouse-out intelligent scheduling method
CN115303689A (en) A method for optimizing cargo space allocation in a multi-lane three-dimensional warehouse
CN116502998A (en) Small product storage allocation method based on MDPSO algorithm
CN117077975A (en) Distributed heterogeneous flow shop scheduling method based on hybrid initialization memetic algorithm
CN117035168A (en) NSGA-II-based multi-objective integrated optimization method for forward and backward warehouse-out warehouse
CN118171791A (en) A warehouse AGV trajectory optimization method based on improved genetic algorithm
Zheng et al. Research on tasks allocation of multi-AGVs System based on a hybrid genetic algorithm
CN114493181A (en) Multi-load AGV task scheduling method under intelligent storage environment
CN113887122A (en) A hybrid leapfrog solution method for multi-objective knapsack problem
Bi et al. Multiple factors collaborative optimisation of intelligent storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination