CN116663920A - 一种基于深度强化学习的三维装箱方法 - Google Patents
一种基于深度强化学习的三维装箱方法 Download PDFInfo
- Publication number
- CN116663920A CN116663920A CN202310578356.2A CN202310578356A CN116663920A CN 116663920 A CN116663920 A CN 116663920A CN 202310578356 A CN202310578356 A CN 202310578356A CN 116663920 A CN116663920 A CN 116663920A
- Authority
- CN
- China
- Prior art keywords
- action
- boxing
- dimensional
- state
- training
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000002787 reinforcement Effects 0.000 title claims abstract description 18
- 230000009471 action Effects 0.000 claims abstract description 109
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000012856 packing Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 5
- 230000007423 decrease Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 description 13
- 238000005457 optimization Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
- G06Q10/06375—Prediction of business process outcome or impact based on a proposed change
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Container Filling Or Packaging Operations (AREA)
Abstract
本发明涉及一种基于深度强化学习的三维装箱方法,属于物流及物品装箱技术领域。该方法包括训练和使用两个阶段,在训练阶段通过DoubleDQN算法使用训练数据训练模型,从历史经验中学习;在使用阶段利用训练好的模型作为动作评判标准进行决策,产生具体的装箱方案。该方法将大量规格不同的(强异构)物品装入一个或多个同一规格的(单箱型多箱)集装容器并最大化容器的空间利用率。根据实际需要,本方法既可以快速求得质量较高的解,也可以结合树搜索方法,牺牲时间以进一步提升解的质量;本方法既适用于没有装箱顺序限制的离线三维装箱问题,也适用于有顺序限制的随到随装的在线三维装箱问题。
Description
技术领域
本发明属于物流及物品装箱技术领域,涉及一种基于深度强化学习的三维装箱方法。
背景技术
物流是关系国计民生的重要产业。随着全球化和数字化进程的加速,物流行业也在不断加速发展和变革转型,其中,通过集装箱、周转箱等标准化集装容器把物品组成标准通用的集装单元,在装卸搬运、储存保管、运输等物流活动中作为一个整体处理的集装化物流作业方式越来越常见。集装容器空间的利用率直接影响着物流成本,如何将大量规格不同的物品装入一个或多个同一规格的集装容器并最大化容器的空间利用率是一个三维装箱问题。
三维装箱问题是指将较小物品分配装载到较大容器中,在满足不重叠、不越界等基本几何可行性条件和稳定性限制等其他约束的基础上,优化给定的目标函数。其中目标函数通常是容器的空间利用率。在物流领域中,相对大的容器可能是集装箱、卡车、托盘上方可用于装载的空间等;相对小的物品一般是包装有货物的规则矩形容器。基于物品和容器都是规则的长方体,现有的研究一般还要求正交放置,即物品的六个面与容器的六个面相互正交或平行,或者说物品的边缘平行于或垂直于容器的轴线。
三维装箱问题是现实生活中最常见的一类装箱问题,可以根据不同的特征从多种角度划分为许多类别。比如,其一,根据使用的容器(箱子)的数量划分为单箱、多箱装箱问题,其中多箱装箱可以根据容器的尺寸规格是否相同细分为单箱型多箱装箱和多箱型装箱问题。其二,根据待装的物品规格划分为单构、弱异构、强异构装箱问题:单构装箱问题待装的物品形状规格完全相同;弱异构装箱问题待装物品有少数几种不同的规格;强异构装箱问题的待装物品有大量不同的规格,求解最为复杂。其三,按照待装的物品到达情况,分为在线装箱问题和离线装箱问题:在离线装箱问题中,在装箱之前就可以获得和使用所有待装物品的完整信息,且装箱顺序没有固定要求,可以统一处理;相反,在在线装箱问题中,一般关于后续的即将到来的物品的数量、尺寸等特征是事先不知道的,且对于装箱顺序有限制,需要按照物品到达顺序单独的、实时的决定当前物品的装箱方案并立即装入容器。
三维装箱问题是一个复杂的属于NP难的组合优化问题。组合优化问题也称离散优化问题,是在离散的、有限或者可数的数学结构上求满足一定约束条件的最优值问题。组合优化问题是数学和计算机科学交叉领域的一个实用领域,其特点是决策空间为有限点集,理论上可以通过枚举法穷举得到最优解,然而随着问题规模的扩大,决策变量取值的不同组合量也会大幅度(往往是以指数形式)增加,导致需要极长的运行时间与极大的存储空间,无法在当前硬件下在有限时间内(多项式时间内)找到最优解,这就是所谓的“组合爆炸”问题。因此需要寻找更为可行和高效的算法来求解该问题。
强化学习算法具有离线训练、在线决策的特性,可以从历史经验中进行学习,为组合优化问题的实时求解提供了可能性。因此,近年来一些研究开始利用深度强化学习方法,结合深度学习的感知能力和强化学习的决策能力,解决传统的TSP(Traveling SalesmanProblem,旅行商问题)、VRP(Vehicle Routing Problem,车辆路径问题)等组合优化问题,为组合优化问题的求解提供了一种全新的思路。
发明内容
有鉴于此,本发明的目的在于提供一种基于深度强化学习的三维装箱方法,该方法将大量规格不同的(强异构)物品装入一个或多个同一规格的(单箱型多箱)集装容器并最大化容器的空间利用率。根据实际需要,本方法既可以快速求得质量较高的解,也可以结合树搜索方法,牺牲时间以进一步提升解的质量;本方法既适用于没有装箱顺序限制的离线三维装箱问题,也适用于有顺序限制的随到随装的在线三维装箱问题。
为达到上述目的,本发明提供如下技术方案:
一种基于深度强化学习的三维装箱方法,将该方法命名为DDQN-Pack,所述DDQN-Pack包括训练(离线训练)和使用(在线决策)两个阶段,在训练阶段通过Double DQN算法使用训练数据训练模型,从历史经验中学习;在使用阶段利用训练好的模型作为动作评判标准进行决策,产生具体的装箱方案。
进一步,所述训练阶段具体包括:
步骤S1:随机初始化Q网络参数θ和Q'网络参数θ';
步骤S2:从实例集合I中顺序读取一个三维装箱问题实例;
步骤S3:根据当前三维装箱问题实例的容器、物品信息,初始化当前状态s、剩余待装物品集合C和剩余子空间集合RS;
步骤S4:生成当前状态s下的可行动作集A;
步骤S5:使用ò-greedy策略,从可行动作集A中选择动作a;
步骤S6:执行动作a,更新C和RS,得到下一时刻的状态s'和即时奖励r;
步骤S7:生成下一时刻状态s'下的可行动作集A';
步骤S8:判断A'是否为空,即是否到达终止状态,若是,则is_end记为True,否则is_end记为False;
步骤S9:将经验样本(s,a,r,s',A',is_end)存入经验池D;
步骤S10:更新当前时刻的状态和动作进入下一时刻:s=s',A=A';
步骤S11:若经验池D中已经累积了一些经验,从D中随机采样小批量经验样本使用随机梯度下降算法更新Q网络参数θ;
步骤S12:以固定的频率c同步Q网络和Q'网络的参数;
步骤S13:判断是否到达终止状态(即可行动作集为空,没有可行动作,is_end为True),若到达终止状态,该回合结束,一个装箱问题实例的序列决策完成,回到步骤S2继续读取下一个实例,直到实例集合I被遍历了预设的epoch轮,输出Q'网络;若未装载完毕,回到步骤S5继续装载。
进一步,在所述使用阶段,一个三维装箱问题实例的序列决策流程与训练阶段基本一致,具体包括:首先获取当前实例容器和物品信息、初始化状态与剩余子空间、生成当前可行动作集;然后循环进行动作选择、执行动作、得到下一时刻的状态、生成下一时刻的可行动作集、更新当前时刻的状态和动作进入下一时刻,直到没有可行动作,当前装箱问题实例的序列决策完成;因此,使用阶段步骤基本同上,只是删除用于训练Q网络的步骤S1、S9、S11、S12;同时,在步骤S5中选择动作a时,不再使用ò-greedy策略,而是根据实际需要,一方面可以直接采用贪婪搜索,利用训练好的网络选择具有最高价值一个的动作,另一方面可以结合某种树搜索方法,比如前向树搜索方法:在前d步(层)中,每一步都选择具有最高价值的w个动作展开搜索,得到一系列子节点,d步之后的步骤中直接采用贪婪搜索,又比如集束搜索方法:每一步(层)中都只保留具有最高价值的w个动作展开搜索,牺牲部分时间探索更多的解,从而进一步提升解的质量;在步骤S6中不需要计算奖励r;在步骤S13中实例集合I只需被遍历一次,相当于epoch=1。
进一步,所述步骤S4和步骤S7中可行动作集生成方式如下:
步骤S41:获取剩余待装物品集合C和剩余子空间集合RS(对于离线三维装箱问题,C中包括所有待装物品的完整信息,且没有装箱顺序限制;对于在线三维装箱问题,一般不能提前获得更多后续的待装物品信息,且存在装箱顺序限制,因此下一个待装物品已经固定为C中的第一个一般也是唯一一个物品);初始化可行动作集A和候选可行动作集candA为空;
步骤S42:对于剩余子空间,除去任何剩余待装物品都不能装下的不可用空间外,容积越小则优先级越高;保留高优先级的部分剩余子空间组成集合candRS(对于离线三维装箱问题,子空间的保留数量可以自行设置,对于在线三维装箱问题,建议直接全部保留,candRS=RS);
步骤S43:双重循环遍历C和candRS,对于C中的每一个物品c和candRS中的每一个剩余子空间rs,如果c能够装入rs,则得到一个候选的可行动作a,将a添加到集合candA;本发明中,每个动作at包含物品的选择、剩余子空间的选择、放置方向的选择,以唯一确定以何种方式将哪个物品放到哪个具体位置,含有的信息量较大。本发明采用编码表示一个动作,其中/>是物品后-左-下顶点Pi B的坐标,li′,wi′,hi′是物品i分别在x轴、y轴、z轴上的投影长度,它们一起简洁且完整的表达了动作信息。显而易见,随着剩余待装物品和容器剩余子空间的变化,每个步骤t中,可以采取的可行动作集A是不同的。同时,可选的动作集合也是十分庞大的。要解决实际规模的三维装箱问题,对庞大的可选动作集进行合适的处理是必要的。因此本发明通过S41-S45基于规则生成部分可行动作集的方式,进行了筛选,屏蔽了不可行动作和质量较差的动作。
步骤S44:对于可行动作,浪费空间即空间的容积和物品的体积之差越小,优先级越高;保留高优先级的部分可行动作添加到集合A;
步骤S45:输出可行动作集A。
进一步,所述步骤S5中使用ò-greedy策略选择动作的具体步骤如下:
步骤S51:生成一个[0,1]之间的随机数;
步骤S52:如果随机数小于探索率ò,随机从可行动作集A中选择一个可行动作a;如果随机数大于等于探索率ò,使用s和a作为Q网络的输入,得到所有动作的Q值,选择具有最高Q值的动作a;需要注意在使用阶段,m个容器都有各自的状态s,输入的状态s与动作a应当相匹配,s应当是动作a放置的容器的状态。
步骤S53:更新ò,使其从较高的初始值(接近1)逐步降低至较低的最小值(接近或者等于0)。
进一步,所述步骤S11中Q网络参数θ更新方式如下:
步骤S111:从经验池D中随机采样bs个样本;
步骤S112:计算目标值,如果is_end为True,目标值y=r,如果is_end为False,目标值计算如下:
步骤S113:计算损失值:L(θ)=E[(y-Q(s,a;θ))2];
步骤S114:根据梯度更新Q网络的参数θ:
θ=θ+lr*(y-Q(s,a;θ))▽θQ(s,a;θ)。
本发明的有益效果在于:
本发明提供的方法基于DDQN深度强化学习技术,有效地利用了历史经验,离线训练、在线决策,具有求解速度快、泛化能力强的优势。该方法具有较强的通用性:一方面,根据实际需要,本方法既可以快速求得质量较高的解,也可以结合树搜索方法,牺牲时间以进一步提升解的质量;另一方面,本方法既适用于没有装箱顺序限制的离线三维装箱问题,也适用于有顺序限制的随到随装的在线三维装箱问题。该方法是强化学习算法解决组合优化问题的一次探索,从理论和实际都具有一定的意义。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为三维装箱问题的序列决策流程图;
图2为三维空间坐标系和方位示意图;
图3为物品摆放方向示意图;
图4为容器剩余高度俯视图局部示意图;
图5为空间分割示意图;
图6为空间合并示意图。
具体实施方式
下面结合附图对本发明技术方案进行详细说明。
本发明提供了一种基于深度强化学习的三维装箱方法,图1为三维装箱问题的序列决策流程图,在本实施例中,将本方法命名为DDQN-Pack。DDQN-Pack包括训练(离线训练)和使用(在线决策)两个阶段,在训练阶段通过Double DQN算法使用训练数据训练模型,从历史经验中学习;在使用阶段利用训练好的模型作为动作评判标准进行决策,产生具体的装箱方案。一个三维装箱问题实例的序列决策流程见图1,基于此,在训练阶段,模型具体训练步骤如下:
步骤S1:随机初始化Q网络参数θ和Q'网络参数θ'。
步骤S2:从实例集合I中顺序读取一个三维装箱问题实例。将实例给定的规格不同的n个物品尺寸记为li、wi、hi(i=1,2,…,n),使用笛卡尔三维坐标系在三维空间中定义长方体容器和物体的位置。图2为三维空间坐标系和方位示意图,如图2所示,定义了空间方位前、后、左、右、上、下,以容器的后-左-下顶点为原点(0,0,0),以容器的长、宽和高分别为x轴、y轴和z轴建立三维直角坐标系。在此基础上,容器内的每个位置可以用对应的三维坐标表示;容器、空间和货物都是长方体且与坐标系呈正交关系;容器内的长方体空间或物体可以用后-左-下顶点坐标和前-右-上顶点坐标/>表示,或者后-左-下顶点坐标/>和对应于x轴、y轴和z轴的边长li′,wi′,hi′表示,其中/>和/>分别为长方体离原点最近和最远的顶点的坐标,并且/>对于长方体物品,被正交装载到容器意味着长方体物品的六个面与容器的六个面相互正交或平行,也可以理解为物品的边缘平行于或垂直于容器的轴线。如图3所示,在三维空间中一共有六种符合条件的放置方向,分别定义如下:方向1指物品的长、宽、高分别平行于X轴、Y轴、Z轴;方向2指物品的宽、长、高分别平行于X轴、Y轴、Z轴;方向3指物品的长、高、宽分别平行于X轴、Y轴、Z轴;方向4指物品的高、长、宽分别平行于X轴、Y轴、Z轴;方向5指物品的宽、高、长分别平行于X轴、Y轴、Z轴;方向6指物品的高、宽、长分别平行于X轴、Y轴、Z轴。对于有旋转约束的物品,只能选择其中部分放置方向。
步骤S3:根据当前三维装箱问题实例的容器、物品信息,初始化当前状态s、剩余待装物品集合C和剩余子空间集合RS。
将规格相同的容器的长、宽、高分别记为L、W、H,本文用一个L×W网格表示的容器剩余高度(可用高度)俯视图来表征一个容器的状态,每个网格单元的值代表该单元中容器的剩余高度,如图4所示。由于本文考虑了完全支撑约束,容器中不存在悬空放置的物品,因此不存在被上方物品遮住的空闲空间,所以一张二维剩余高度俯视图能够充分包含一个三维容器内部已装载使用的空间信息,并且唯一表示容器的剩余空间状态。由于容器是同种类型且没有前后顺序,本发明通过训练一个评价单个容器中当前状态下某个动作的好坏的模型用于决策,最大化每个容器的空间利用率,从而解决单箱型多箱装箱问题。当前环境的状态为多个容器各自的剩余高度俯视图,而每个动作的状态即其使用的容器的剩余高度俯视图。
由于在长方体空间中放置一个相对小的长方体物品,会将空间分割成规则的多块小长方体,因此建立一个剩余子空间集合RS管理所有的空闲空间。具体来说,采用“三空间分割”的方法,在物品装载过程中,空间的分割示意图如图5所示,假设一个物品被放置在容器的空间S中,S可以被分解成S1、S2、S3、S4,其中S1表示装载物品所在的空间,S2、S3、S4表示分解空间S后的三个剩余子空间,分别称为前空间、右空间、上空间。然后,形状规则的剩余子空间S2、S3、S4用于装载剩余物品,并且它们也在装载后被分解为三个更小的剩余子空间,直到剩余子空间不足以容纳任何物品或已经装载完待装物品。这样的空间分割方式可以确保满足完全支撑约束,上层物品不会部分悬空或者放在高低不平的平面上,其底面必定与下层物品的顶面完全接触。这样的方式产生的子空间可能可以进行三个方向上的合并,空间合并处理示意图如图6所示。
基于此,状态和剩余子空间的初始化如下:初始化m个L×W的二维剩余高度俯视图作为每个容器的初始状态,图中每个单元格的剩余高度初始化为H;初始化剩余子空间集合RS为m个L×W×H的空间,其中使用单箱三维装箱问题进行训练,因此训练阶段m=1。
步骤S4:生成当前状态s下的可行动作集A。
步骤S5:使用ò-greedy策略,从可行动作集A中选择动作a。
步骤S6:执行动作a,更新C和RS,得到下一时刻的状态s'和即时奖励r。在回合未结束前的中间步骤,奖励r为容器的空间利用率增加百分比减去可能产生的零碎空间占容器体积的百分比,在回合结束时的最后一步奖励r为容器的空间利用率。
步骤S7:生成下一时刻状态s'下的可行动作集A'。
步骤S8:判断A'是否为空,即是否到达终止状态,若是,则is_end记为True,否则is_end记为False。
步骤S9:将经验样本(s,a,r,s',A',is_end)存入经验池D。
步骤S10:更新当前时刻的状态和动作进入下一时刻:s=s',A=A'。
步骤S11:若经验池D中已经累积了一些经验,从D中随机采样小批量经验样本使用随机梯度下降算法更新Q网络参数θ。
步骤S12:以固定的频率c(每训练c次)同步Q网络θ和Q'网络的参数θ'。
步骤S13:判断是否到达终止状态(即可行动作集为空,没有可行动作,is_end为True),若到达终止状态,该回合结束,一个装箱问题实例的序列决策完成,回到步骤S2继续读取下一个实例,直到实例集合I被遍历了预设的epoch轮,输出Q'网络;若未装载完毕,回到步骤S5继续装载。
其中,所述步骤S4和S7中可行动作集生成方式如下:
步骤S41:获取剩余待装物品集合C和剩余子空间集合RS(对于离线三维装箱问题,C中包括所有待装物品的完整信息,且没有装箱顺序限制;对于在线三维装箱问题,一般不能提前获得更多后续的待装物品信息,且存在装箱顺序限制,因此下一个待装物品已经固定为C中的第一个一般也是唯一一个物品);初始化可行动作集A和候选可行动作集candA为空。
步骤S42:对于剩余子空间,除去任何剩余待装物品都不能装下的不可用空间外,容积越小则优先级越高。保留高优先级的部分剩余子空间组成集合candRS(对于离线三维装箱问题,子空间的保留数量可以自行设置,对于在线三维装箱问题,建议直接全部保留,candRS=RS)。
步骤S43:双重循环遍历C和candRS,对于C中的每一个物品c和candRS中的每一个剩余子空间rs,如果c能够装入rs,则得到一个候选的可行动作a,将a添加到集合candA。对于本发明中的三维装箱问题,每个动作at包含物品的选择、剩余子空间的选择、放置方向的选择,以唯一确定以何种方式将哪个物品放到哪个具体位置,含有的信息量较大。本文采用编码表示一个动作,其中/>是物品后-左-下顶点Pi B的坐标,li′,wi′,hi′是物品i分别在x轴、y轴、z轴上的投影长度,它们一起简洁且完整的表达了动作信息。显而易见,随着剩余待装物品和容器剩余子空间的变化,每个步骤t中,可以采取的可行动作集A是不同的。同时,可选的动作集合也是十分庞大的。要解决实际规模的三维装箱问题,对庞大的可选动作集进行合适的处理是必要的。因此本发明通过S41-S45基于规则生成部分可行动作集的方式,进行了筛选,屏蔽了不可行动作和质量较差的动作。
步骤S44:对于可行动作,浪费空间即空间的容积和物品的体积之差越小,优先级越高。保留高优先级的部分可行动作添加到集合A。
步骤S45:输出可行动作集A。
所述步骤S5中使用ò-greedy策略选择动作的具体步骤如下:
步骤S51:生成一个[0,1]之间的随机数。
步骤S52:如果随机数小于探索率ò,随机从可行动作集A中选择一个可行动作a;如果随机数大于等于探索率ò,使用s和a作为Q网络的输入,得到所有动作的Q值,选择具有最高Q值的动作a。需要注意在使用阶段,m个容器都有各自的状态s,输入的状态s与动作a应当相匹配,s应当是动作a放置的容器的状态。
步骤S53:更新ò,使其从较高的初始值(接近1)逐步降低至较低的最小值(接近或者等于0)。
所述步骤S11中Q网络参数θ更新方式如下:
步骤S111:从经验池D中随机采样bs个样本。
步骤S112:计算目标值。如果is_end为True,目标值y=r,如果is_end为False,目标值计算如下:
步骤S113:计算损失值:L(θ)=E[(y-Q(s,a;θ))2]。
步骤S114:根据梯度更新Q网络的参数θ:
θ=θ+lr*(y-Q(s,a;θ))▽θQ(s,a;θ)
在使用阶段,一个三维装箱问题实例的序列决策流程与训练阶段基本一致,参考图1:首先获取当前实例容器和物品信息、初始化状态与剩余子空间、生成当前可行动作集;然后循环进行动作选择、执行动作、得到下一时刻的状态、生成下一时刻的可行动作集、更新当前时刻的状态和动作进入下一时刻,直到没有可行动作,当前装箱问题实例的序列决策完成。因此,使用阶段步骤基本同上,只是删除用于训练Q网络的步骤S1、S9、S11、S12;同时,在步骤S5中选择动作a时,不再使用ò-greedy策略,而是根据实际需要,一方面可以直接采用贪婪搜索,利用训练好的网络选择具有最高价值一个的动作,另一方面可以结合某种树搜索方法,比如前向树搜索方法:在前d步(层)中,每一步都选择具有最高价值的w个动作展开搜索,得到一系列子节点,d步之后的步骤中直接采用贪婪搜索,又比如集束搜索方法:每一步(层)中都只保留具有最高价值的w个动作展开搜索,牺牲部分时间探索更多的解,从而进一步提升解的质量;在步骤S6中不需要计算奖励r;在步骤S13中实例集合I只需被遍历一次,相当于epoch=1。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种基于深度强化学习的三维装箱方法,其特征在于:该方法包括训练和使用两个阶段,在训练阶段通过Double DQN算法使用训练数据训练模型,从历史经验中学习;在使用阶段利用训练好的模型作为动作评判标准进行决策,产生具体的装箱方案。
2.根据权利要求1所述的一种基于深度强化学习的三维装箱方法,其特征在于:所述训练阶段具体包括:
步骤S1:随机初始化Q网络参数θ和Q'网络参数θ';
步骤S2:从实例集合I中顺序读取一个三维装箱问题实例;
步骤S3:根据当前三维装箱问题实例的容器、物品信息,初始化当前状态s、剩余待装物品集合C和剩余子空间集合RS;
步骤S4:生成当前状态s下的可行动作集A;
步骤S5:使用ò-greedy策略,从可行动作集A中选择动作a;
步骤S6:执行动作a,更新C和RS,得到下一时刻的状态s'和即时奖励r;
步骤S7:生成下一时刻状态s'下的可行动作集A';
步骤S8:判断A'是否为空,即是否到达终止状态,若是,则is_end记为True,否则is_end记为False;
步骤S9:将经验样本(s,a,r,s',A',is_end)存入经验池D;
步骤S10:更新当前时刻的状态和动作进入下一时刻:s=s',A=A';
步骤S11:若经验池D中已经累积了一些经验,从D中随机采样小批量经验样本使用随机梯度下降算法更新Q网络参数θ;
步骤S12:以固定的频率c同步Q网络和Q'网络的参数;
步骤S13:判断是否到达终止状态,若到达终止状态,该回合结束,一个装箱问题实例的序列决策完成,回到步骤S2继续读取下一个实例,直到实例集合I被遍历了预设的epoch轮,输出Q'网络;若未装载完毕,回到步骤S5继续装载。
3.根据权利要求2所述的一种基于深度强化学习的三维装箱方法,其特征在于:在所述使用阶段,一个三维装箱问题实例的序列决策流程与训练阶段基本一致,具体包括:首先获取当前实例容器和物品信息、初始化状态与剩余子空间、生成当前可行动作集;然后循环进行动作选择、执行动作、得到下一时刻的状态、生成下一时刻的可行动作集、更新当前时刻的状态和动作进入下一时刻,直到没有可行动作,当前装箱问题实例的序列决策完成。
4.根据权利要求3所述的一种基于深度强化学习的三维装箱方法,其特征在于:所述步骤S4和步骤S7中可行动作集生成方式如下:
步骤S41:获取剩余待装物品集合C和剩余子空间集合RS;初始化可行动作集A和候选可行动作集candA为空;
步骤S42:对于剩余子空间,除去任何剩余待装物品都不能装下的不可用空间外,容积越小则优先级越高;保留高优先级的部分剩余子空间组成集合candRS;
步骤S43:双重循环遍历C和candRS,对于C中的每一个物品c和candRS中的每一个剩余子空间rs,如果c能够装入rs,则得到一个候选的可行动作a,将a添加到集合candA;
步骤S44:对于可行动作,浪费空间即空间的容积和物品的体积之差越小,优先级越高;保留高优先级的部分可行动作添加到集合A;
步骤S45:输出可行动作集A。
5.根据权利要求4所述的一种基于深度强化学习的三维装箱方法,其特征在于:所述步骤S5中使用ò-greedy策略选择动作的具体步骤如下:
步骤S51:生成一个[0,1]之间的随机数;
步骤S52:如果随机数小于探索率ò,随机从可行动作集A中选择一个可行动作a;如果随机数大于等于探索率ò,使用s和a作为Q网络的输入,得到所有动作的Q值,选择具有最高Q值的动作a;
步骤S53:更新ò,使其从较高的初始值逐步降低至较低的最小值。
6.根据权利要求5所述的一种基于深度强化学习的三维装箱方法,其特征在于:所述步骤S11中Q网络参数θ更新方式如下:
步骤S111:从经验池D中随机采样bs个样本;
步骤S112:计算目标值,如果is_end为True,目标值y=r,如果is_end为False,目标值计算如下:
步骤S113:计算损失值:L(θ)=E[(y-Q(s,a;θ))2];
步骤S114:根据梯度更新Q网络的参数θ:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310578356.2A CN116663920A (zh) | 2023-05-22 | 2023-05-22 | 一种基于深度强化学习的三维装箱方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310578356.2A CN116663920A (zh) | 2023-05-22 | 2023-05-22 | 一种基于深度强化学习的三维装箱方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116663920A true CN116663920A (zh) | 2023-08-29 |
Family
ID=87721686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310578356.2A Pending CN116663920A (zh) | 2023-05-22 | 2023-05-22 | 一种基于深度强化学习的三维装箱方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116663920A (zh) |
-
2023
- 2023-05-22 CN CN202310578356.2A patent/CN116663920A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11673743B2 (en) | Object handling coordination system and method of relocating a transporting vessel | |
Edelkamp et al. | Monte-Carlo tree search for logistics | |
JP7453722B2 (ja) | 多分木探索に基づく多箱型3次元積載の最適化方法及びシステム | |
CN110908381B (zh) | 机器人调度方法及装置 | |
CN110175404B (zh) | 货物装载调整方法及装置 | |
CN112180934B (zh) | 装车机器人的控制方法、系统、装置及可读存储介质 | |
US11367214B2 (en) | Apparatus for determining arrangement of objects in space and method thereof | |
US20210253376A1 (en) | System and method for autonomous multi-bin parcel loading system | |
CN111507644B (zh) | 一种多点卸货约束的三维多容器装载方法 | |
Uludağ | GridPick: A high density puzzle based order picking system with decentralized control | |
CN114611767A (zh) | 一种全局最优的智能仓储调度优化算法 | |
CN112884126B (zh) | 深度强化学习网络系统 | |
CN111348357A (zh) | 物流对象管理方法、机械传动设备及物流对象容器 | |
CN116663920A (zh) | 一种基于深度强化学习的三维装箱方法 | |
JP4680345B2 (ja) | 箱詰め手順決定方法及び装置 | |
CN112884410B (zh) | 装箱方法、电子设备以及存储介质 | |
WO2022027357A1 (zh) | 一种无人环境下的提货方法、系统和计算机可读存储介质 | |
CN115994650A (zh) | 一种箱装货物智能垛型规划方法及系统 | |
Schieweck et al. | Using answer set programming in an order-picking system with cellular transport vehicles | |
CN112034841A (zh) | 一种无人环境下的提货方法、系统和计算机可读存储介质 | |
LU101993B1 (en) | Picking method and system in unattended environment, and computer readable storage medium | |
Ailian et al. | Three-Dimensional Packing by a Tabu Search Algorithm in Military Airlift Loading | |
Yue et al. | Minimizing Robot Digging Times to Retrieve Bins in Robotic-Based Compact Storage and Retrieval Systems | |
CN115455816A (zh) | 一种基于自适应混合遗传算法的pi场景下模块化容器装箱方法 | |
Yang et al. | A Genetic Algorithm with Lower Neighborhood Search for the Three‐Dimensional Multiorder Open‐Size Rectangular Packing Problem |
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 |