CN114841432A - 一种管材套管与装箱优化方法及系统 - Google Patents
一种管材套管与装箱优化方法及系统 Download PDFInfo
- Publication number
- CN114841432A CN114841432A CN202210467285.4A CN202210467285A CN114841432A CN 114841432 A CN114841432 A CN 114841432A CN 202210467285 A CN202210467285 A CN 202210467285A CN 114841432 A CN114841432 A CN 114841432A
- Authority
- CN
- China
- Prior art keywords
- small circle
- circle
- pipe
- small
- tube
- 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.)
- Granted
Links
Images
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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- 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)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种管材套管与装箱优化方法及系统,其中方法包括步骤S1:采集矩形容器和待排管材的参数;步骤S2:判断是否含有袋装管,且袋装管是否允许拆袋,生成第一套管块和第二套管块;步骤S3:根据第一套管块、第二套管块和矩形容器的参数,调用矩形内圆套圆套管块排样算法,确定第一套管块和第二套管块在矩形容器内长方体空间的装载,并返回长方体空间的剩余空间;步骤S4:判断是否有剩余的袋装管材和袋装管,如果是,执行步骤S5;如果不是,执行步骤S6;步骤S5:将剩余的袋装管材还原形成初始袋装管,调用已有装箱算法将初始袋装管和袋装管装载到剩余空间,执行步骤S6;步骤S6:结束算法,输出排样方案,包括装载管材的参数和排样图。
Description
技术领域
本发明涉及物流运输技术领域,尤其涉及一种管材套管与装箱优化方法及系统。
背景技术
近年来,由于货柜的运输价格大幅度提升,为了节约运输成本,需要先解决将管材装载到货柜或运输车中的问题,该问题称为管材装箱问题,其中货柜或运输车称为容器,容器内的空间皆为长方体形状。管材企业想利用合理智能的套管方式来进一步提高容器内的空间利用率,但由于缺乏套管算法和管状物在容器内的装载算法,而且市面上也缺少能够解决管材装箱问题的系统,因此,大多数管材企业只能依靠人工计算的方式来求解套管方案和套管块在容器中的装载方案。人工计算的缺点在于:计算时间长和计算误差大,且老员工的计算经验很难传授给新员工,企业的业务对执行装箱计算的员工的依赖强。
发明内容
本发明的第一目的在于提出一种管材套管与装箱优化方法,利用计算机算力强大的优势并结合人工计算的经验,帮助管材企业高效求解管材装箱问题,高效求解管材装箱问题不仅可以减少容器空间的浪费率,也可以减少填充物的使用量,还可以加快工作人员的工作效率,提高管材企业对客户的服务水平。
本发明的第二目的在于提出一种管材套管与装箱优化系统,采用上述方法,可以降低员工对管材装箱问题进行求解的门槛,降低企业对管材装载计算人员的培训成本;客户可以根据系统返回的计算结果调整订单,提升了管材企业对客户的服务水平。
为达此目的,本发明采用以下技术方案:
一种管材套管与装箱优化方法,包括以下步骤:
步骤S1:采集矩形容器和待排管材的参数,其中,矩形容器的参数包括容器长度、容器宽和容器高;待排管材的参数包括袋装管的袋装长度、袋装宽、袋装高和数量,袋装管内袋装管材的长度、内径、外径和数量,以及散装管材的长度、内径、外径和数量;
步骤S2:判断是否含有袋装管,且袋装管是否允许拆袋,如果判定结果为有且允许,执行第一操作;否则,执行第二操作;
第一操作:根据袋装管和散装管材的参数,调用圆内矩形排样算法将袋装管装进散装管材生成第一套管块,并将无法被散装管材装载的袋装管拆袋形成袋装管材;再根据袋装管材和剩余的散装管材的参数,调用圆套圆套管块生成算法生成第二套管块:
第二操作:根据袋装管和散装管材的参数,调用圆内矩形排样算法生成第一套管块;再根据剩余的散装管材的参数,调用圆套圆套管块生成算法生成第二套管块;
步骤S3:根据第一套管块、第二套管块和矩形容器的参数,调用矩形内圆套圆套管块排样算法,确定第一套管块和第二套管块在矩形容器内长方体空间的装载,并返回长方体空间的剩余空间;
步骤S4:判断是否有剩余的袋装管材和袋装管,如果是,执行步骤S5;如果不是,执行步骤S6;
步骤S5:将剩余的袋装管材还原形成初始袋装管,调用已有装箱算法将初始袋装管和袋装管装载到剩余空间,执行步骤S6;
步骤S6:结束算法,输出排样方案,包括装载管材的参数和排样图。
优选的,在步骤S2中,所述第一操作包括以下步骤:
步骤S211:根据袋装管和散装管材的参数,形成管集合;
步骤S212:给定一个套管块集合,定义套管块集合为空,并对套管块集合设置套管规则进行数据处理;
其中,套管规则包括:
(1)管的内嵌和外套约束规则:a、不可内嵌+不可外套;b、可内嵌+不可外套;c、不可内嵌+可外套;d、可内嵌+可外套;e、部分管被指定只能内嵌某些类型的管;
管的内嵌约束指的是一种管可以作为大管,里面嵌入外径小于大管内径、长度小于等于大管长度的其他小管;
管的外套约束指的是一种管可以作为小管,内嵌到内径大于小管外径、长度大于等于小管长度的其他大管里;
(2)短不套长约束规则:大管内所内嵌的小管长度不大于大管的长度;
(3)套管块重量约束规则:限制一个套管块的重量;
(4)套多排管约束规则:若允许被套多排,则在大管长度和套管块重量的情况下,限制一个大管内所内嵌的相同的小管数量;
(5)套管块中管类型数量限制规则:在大管长度和套管块重量允许的情况下,限制一个大管内所内嵌的小管类型数量;
步骤S213:将袋装管从管集合中取出,并形成袋装管集合;
步骤S214:更新管集合,将管集合按照内径降序排序,取出管集合中第一种管作为大管;
步骤S215:更新袋装管集合,从袋装管集合依次遍历袋装管,不拆袋袋装管,判断大管是否可装载袋装管,如果是,则执行步骤S216;如果否,则执行步骤S217;
步骤S216:将袋装管装进大管的内部,形成第一套管块,将第一套管块加入套管块集合,扣除相应的袋装管和大管的数量,重新执行步骤S214;
步骤S217:将管集合进行备份,形成备份管集合,对管集合调用圆套圆套管块生成算法生成第二套管块,判断是否存在无小管的套管块,如果是,则执行步骤S218;如果否,则执行步骤S219;
步骤S218:取出套管块中无小管的大管加入管集合1,同时将无小管的大管从备份管集合中移除,将袋装管拆袋加入管集合1,对管集合1调用圆套圆套管块生成算法生成套管块集合,将在套管块中作为大管且内部无小管的袋装管加到备份管集合中,同时将这些袋装管对应的套管块从套管块集合中移除,将备份管集合替换管集合,对管集合调用圆套圆套管块生成算法生成第二套管块并加入套管块集合,将在套管块中作为大管且内部无小管的袋装管还原回初始袋装管;
步骤S219:将备份管集合替换管集合,并将袋装管拆袋加入管集合,对管集合调用圆套圆套管块生成算法生成第二套管块并加入套管块集合,将在套管块中作为大管且内部无小管的袋装管还原回初始袋装管。
优选的,在步骤S2中,所述调用圆套圆套管块生成算法生成第二套管块包括以下步骤:
步骤S221:将散装管材和袋装管材形成管集合;
步骤S222:对管集合设置套管规则进行数据处理;
步骤S223:将管集合按内径大小降序排序;
步骤S224:判断管集合是否为空,如果是,则结束;如果否,则执行步骤S225;
步骤S225:取出管集合中的第一种管作为大管;
步骤S226:取出外径小于大管、长度小于等于大管长度且允许被大管装载的小管;
步骤S227:调用圆内圆形排样算法获取小管在大管内的放置位置;
步骤S228:对大管内的小管使用广度优先遍历的方式调用圆内圆形排样算法进行递归内嵌;
步骤S229:根据设置的套管规则形成第二套管块,并获取可组成第二套管块的大管和小管参数,从管集合中进行对应的移除,更新管集合,并重新执行S223。
优选的,在步骤S227中,调用圆内圆形排样算法获取小管在大管内的装载位置,包括以下步骤:
步骤S2271:以大管的圆心为原点,分别沿大管的半径建立直角坐标,形成待装载的大圆;
步骤S2272:外径小于大管、长度小于等于大管长度且允许被大管装载的小管建立为小圆列表;
步骤S2273:将小圆列表按外径大小降序排序;
步骤S2274:取出小圆列表中的第一个小圆,为第一个小圆寻找在待装载的大圆内部的放置位置,判断是否找到放置位置,如果是,则执行步骤S2275,如果否,则执行步骤S2276;
步骤S2275:判断放置位置是否可行且可优化,如果是,则放置第一个小圆,执行步骤 S2276;如果不是,则将未被放置的第一个小圆移出,执行步骤S2276;
步骤S2276:更新小圆列表,判断更新后的小圆列表是否不为空,如果是,则执行步骤 S2274,如果否,结束算法。
优选的,在步骤S2274中,所述为第一个小圆寻找在待装载的大圆内部的放置位置的方法包括:
(2)通过与大圆的最下端相切获取第一个小圆位置;
当在大圆内部放置第一个小圆时,第一个小圆与大圆的最下端相切,此时获取第一个小圆的圆心坐标为(0,-R+r),其中R为表示大圆的半径,r表示第一个小圆的半径;
(2)通过同时与大圆和一个已放置小圆相切获取位置;
当在大圆内部已有一个已放置小圆1时,小圆2的圆心坐标同时由大圆和小圆1相切获得,即小圆2和大圆之间为内切关系,小圆2和小圆1之间为外切关系,通过联立公式(1)求解小圆2的圆心坐标:
其中,R表示大圆的半径,r1表示小圆1的半径,r2表示小圆2的半径,x1表示小圆1的圆心x轴坐标,y1表示小圆1的圆心y轴坐标,x2表示小圆2的圆心x轴坐标,y2表示小圆2 的圆心y轴坐标;
(3)通过同时与两个已放置小圆相切获取位置;
当在大圆内部已有一个已放置小圆1和小圆2时,小圆3的圆心坐标由小圆1和小圆2 相切获得,即小圆3分别与小圆1和小圆2之间为外切关系,通过联立公式(2)求解小圆3的圆心坐标:
其中,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆2圆心的Y轴坐标,r2表示小圆2的半径,x3表示小圆3圆心的X轴坐标,y3表示小圆3圆心的Y轴坐标,r3表示小圆3的半径。
优选的,在步骤S2275中,所述判断放置位置是否可行且可优化,所述判断放置位置是否可行采用第一判断算法:
其中,xi表示小圆i的圆心x轴坐标,yi表示小圆i的圆心y轴坐标,R表示大圆的半径, ri表示小圆i的半径;
当小圆i的圆心坐标满足公式(3)时,则判定该放置位置不可行,反之则判定该放置位置可行;
所述判断放置位置是否可优化采用第二判断算法:
yi1<yi2 (4)
其中,yi1表示小圆i的第一可行圆心坐标的y坐标值,yi2表示小圆i的第二可行圆心坐标的y坐标值;
当满足公式(4),则采用小圆i的第一可行圆心坐标作为放置位置,反之,则采用小圆 i的第二可行圆心坐标作为放置位置。
优选的,在步骤S3中,根据第一套管块、第二套管块和矩形容器的参数,调用矩形内圆套圆套管块排样算法,确定第一套管块和第二套管块在矩形容器内的装载,并返回矩形容器内剩余空间,包括以下步骤:
步骤S31:将第一套管块和第二套管块合并形成套管块集合,并将套管块集合依次按大管长度和大管外径降序排序;
步骤S32:将空间装载不下的套管块移到备份套管块集合中;
步骤S33:判断套管块集合是否为空,如果是,则将矩形容器的长方体空间存储起来,如果否,则执行步骤S34;
步骤S34:取出套管块集合的第一种套管块,调整矩形容器的长方体空间的虚拟宽度,调用矩形内圆形排样算法获取第一种套管块在长方体空间内的装载位置,裁切出剩余空间,添加到总剩余空间列表,并将备份套管块移回套管块中;
步骤S35:判断总剩余空间列表和套管块集合是否不为空,如果是,执行步骤S36,如果否,则结束算法;
步骤S36:将总剩余空间列表中的剩余空间按x升序排序,取出总剩余空间列表中的第一个空间,并重新执行步骤S32。
优选的,在步骤S34中,所述调用矩形内圆形排样算法获取第一种套管块在长方体空间内的装载位置,包括以下步骤:
步骤S341:以矩形容器的中心为原点,分别沿平行于矩形容器的容器宽L和容器高W的方向建立直角坐标,形成待装载的矩形;
步骤S342:外径小于矩形、长度小于等于矩形长度且允许被矩形装载的套管块建立为小圆列表;
步骤S343:将小圆列表按外径大小降序排序;
步骤S344:取出小圆列表中的第一个小圆,为第一个小圆寻找在待装载的矩形内部的放置位置,判断是否找到放置位置,如果是,则执行步骤S345,如果否,则执行步骤S346;
步骤S345:判断放置位置是否可行且可优化,如果是,则放置第一个小圆,执行步骤 S346;如果不是,则将未被放置的第一个小圆移出,执行步骤S346;
步骤S346:更新小圆列表,判断更新后的小圆列表是否不为空,如果是,则执行步骤S344,如果否,结束算法。
优选的,在步骤S344中,所述为第一个小圆寻找在待装载的矩形内部的放置位置,包括以下方法:
(1)通过与矩形的最下端的两边相切获取第一个小圆位置;
当在矩形内部放置第一个小圆时,考虑到实际作业中的重力作用,所放置的第一根小管会滑到矩形的底部,即第一个小圆与矩形的最下端的两边相切,此时获取第一个小圆的圆心坐标为其中L表示矩形的容器宽,W表示矩形的容器高,r表示第一个小圆的半径;
(2)通过同时与大圆和一个已放置小圆相切获取位置;
当在矩形内部已有一个已放置小圆1时,小圆2的圆心坐标同时由矩形的左边或右边或上边或下边和小圆1相切获得,通过联立公式(5)-(8)求解小圆2的圆心坐标:
其中,L表示矩形的容器宽,W表示矩形的容器高,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆 2圆心的Y轴坐标,r2表示小圆2的半径;
(3)通过同时与两个已放置小圆相切获取位置;
当在矩形内部已有一个已放置小圆1和小圆2时,小圆3的圆心坐标由小圆1和小圆2 相切获得,即小圆3分别与小圆1和小圆2之间为外切关系,通过联立公式(9)求解小圆3的圆心坐标:
其中,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆2圆心的Y轴坐标,r2表示小圆2的半径,x3表示小圆3圆心的X轴坐标,y3表示小圆3圆心的Y轴坐标,r3表示小圆3的半径;
在步骤S345中,所述判断放置位置是否可行且可优化,所述判断放置位置是否可行采用第三判断算法:
其中,xi表示小圆i的圆心x轴坐标,yi表示小圆i的圆心y轴坐标,L表示矩形的容器宽,W表示矩形的容器高;
当满足公式(10)时,则判定该放置位置可行,反之则判定该放置位置不可行;
所述判断放置位置是否可优化采用第二判断算法:
yi1<yi2 (11)
其中,yi1表示小圆i的第一可行圆心坐标的y坐标值,yi2表示小圆i的第二可行圆心坐标的y坐标值;
当满足公式(11),则采用小圆i的第一可行圆心坐标作为放置位置,反之,则采用小圆i的第二可行圆心坐标作为放置位置。
一种管材套管与装箱优化系统,采用上述所述的一种管材套管与装箱优化方法,包括套管任务模块、套管方案展示模块、装柜任务模块和装柜展示模块;
所述套管任务模块用于管理多个套管任务的状态和多个套管任务之间的切换;
所述套管方案展示模块用于展示第一套管块、第二套管块和第三套管块的参数和套管图;
所述装柜任务模块用于管理多个装柜任务的状态和多个装柜任务之间的切换;
所述装柜展示模块用于展示装载参数和排样图。
上述技术方案中的一个技术方案具有以下有益效果:
(1)本发明利用计算机算力强大的优势并结合人工计算的经验,帮助管材企业高效求解管材装箱问题,高效求解管材装箱问题不仅可以减少容器空间的浪费率,也可以减少填充物的使用量,还可以加快工作人员的工作效率,提高管材企业对客户的服务水平。
(2)本发明采用上述所述的一种管材套管与装箱优化方法植入系统中,可以降低员工对管材装箱问题进行求解的门槛,降低企业对管材装载计算人员的培训成本;客户可以根据系统返回的计算结果调整订单,提升了管材企业对客户的服务水平。
附图说明
图1是本发明方法的总流程示意图;
图2是本发明方法的套管块中管类型数量限制规则的流程示意图;
图3是本发明方法的不同allowType对应的套管块方案示意图;
图4是本发明方法的是否含有拆袋的袋装管的套管流程图;
图5是本发明方法的可拆袋袋装管装载与不拆袋袋装管装载示意图;
图6是本发明方法的调用圆套圆套管块生成算法的流程示意图;
图7是本发明方法的递归调用圆内圆形排样算法的实施例示意图;
图8是对应图7套管块生成的实施例示意图;
图9是本发明方法的圆内圆形排样算法的流程示意图;
图10是本发明方法的小圆寻找在待装载的大圆内部的放置位置的状态示意图;
图11是本发明方法的矩形内圆套圆套管块排样算法的流程示意图;
图12是本发明方法的套管块在长方体空间中竖放和横放的形态示意图;
图13是本发明方法的是否调整宽度装载的效果对比图;
图14是本发明方法的矩形内圆形排样算法终止条件及矩形分层的状态示意图;
图15是本发明方法的裁切剩余空间的实施例示意图;
图16是本发明方法的套管块寻找在待装载的矩形内部的放置位置的状态示意图;
图17是本发明系统的套管方案显示示意图;
图18是本发明系统的装柜方案显示示意图;
图19是本发明的其中一个实施例的套管方案示意图;
图20是本发明的其中一个实施例的含可拆袋装管产品装载图;
图21是本发明的其中一个实施例的套管方案示意图;
图22是本发明的其中一个实施例的含不可拆袋装管产品装载图;
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
一种管材套管与装箱优化方法,包括以下步骤:
步骤S1:采集矩形容器和待排管材的参数,其中,矩形容器的参数包括容器长度、容器宽和容器高;待排管材的参数包括袋装管的袋装长度、袋装宽、袋装高和数量,袋装管内袋装管材的长度、内径、外径和数量,以及散装管材的长度、内径、外径和数量;
步骤S2:判断是否含有袋装管,且袋装管是否允许拆袋,如果判定结果为有且允许,执行第一操作;如果判定结果为(1)没有且允许;(2)没有且不允许;(3)有且不允许,则执行第二操作;
第一操作:根据袋装管和散装管材的参数,调用圆内矩形排样算法将袋装管装进散装管材生成第一套管块,并将无法被散装管材装载的袋装管拆袋形成袋装管材;再根据袋装管材和剩余的散装管材的参数,调用圆套圆套管块生成算法生成第二套管块:
第二操作:根据袋装管和散装管材的参数,调用圆内矩形排样算法生成第一套管块;再根据剩余的散装管材的参数,调用圆套圆套管块生成算法生成第二套管块;
步骤S3:根据第一套管块、第二套管块和矩形容器的参数,调用矩形内圆套圆套管块排样算法,确定第一套管块和第二套管块在矩形容器内长方体空间的装载,并返回长方体空间的剩余空间;
步骤S4:判断是否有剩余的袋装管材和袋装管,如果是,执行步骤S5;如果不是,执行步骤S6;
步骤S5:将剩余的袋装管材还原形成初始袋装管,调用已有装箱算法将初始袋装管和袋装管装载到剩余空间,执行步骤S6;
步骤S6:结束算法,输出排样方案,包括装载管材的参数和排样图。
目前为了方便管材运输,管材企业需要将管材装载到货柜或者运输车上,这个过程称为管材装箱过程。在实际的管材装箱作业中,为了更好地利用货柜或运输车的空间,装载人员在将待排管材装载到货柜或运输车上之前,通常会先将待排管材进行套管以形成一个个套管块,这样可以将待排管材中间的“空洞”空间也进行利用。因此针对目前企业中存在的物流运输问题和需求,基于现有的待排管材包括散装管材、袋装管材和袋装管,其中散装管材和袋装管材为中空状的圆柱体,袋装管为若干根型号相同的袋装管材进行打包,打包之后的形态类似矩形体,货柜或运输车拥有长方体空间的矩形容器,本文提出了一种考虑装载约束的管材套管与装箱优化方法,其流程示意图如图1所示:
当计算任务中没有袋装管产品时,本方法使用圆套圆套管块生成算法寻找小管在大管内的装载位置,然后使用广度优先遍历的方式调用圆内圆形排样算法在小管内嵌套更小的管,最终形成一个完整的套管方案即第二套管块,由于数量和实际作业规则的约束,有的管可能会单独作为套管块,因为其中无法嵌套任何小管。
当计算任务中含有袋装管产品时,本方法先尝试不拆袋将袋装管调用圆内矩形排样算法将袋装管装进散装管材生成第一套管块,对于无法被整袋套入散装管材中的袋装管,需要对其进行拆袋,然后圆套圆套管块生成算法寻找小管在大管内的装载位置,接着根据所生成的套管块,将剩余的袋装管材还原形成初始袋装管,最终以长方体的形态被装载到矩形容器内,之所以做此规定,一方面是套管人员更倾向于直接拿起由多根袋装管材组成的袋装管一起放入到大管中,节省搬运次数的同时也提高装箱效率。
在完成所有的待排管材分别组合成第一套管块和第二套管块后,通过矩形内圆形排样算法获得第一套管块和第二套管块在矩形容器的长方体空间的装载位置,并且在每个第一套管块或第二套管块装载后,返回矩形容器内剩余空间,直到装载完第一套管块和第二套管块之后,将返回的剩余空间用于装载无需拆袋的袋装管和将剩余的袋装管材还原形成初始袋装管,由于袋装管和初始袋装管的形态都为长方体,即将长方体的产品装载到长方体的空间中,因此本文通过调用已有的装箱算法将初始袋装管和袋装管装载到剩余空间,至此结束算法,输出可行的排样方案,包括装载管材的参数和排样图。
本发明利用计算机算力强大的优势并结合人工计算的经验,帮助管材企业高效求解管材装箱问题,高效求解管材装箱问题不仅可以减少容器空间的浪费率,也可以减少填充物的使用量,还可以加快工作人员的工作效率,提高管材企业对客户的服务水平。
更进一步的说明,在步骤S2中,所述第一操作包括以下步骤:
步骤S211:根据袋装管和散装管材的参数,形成管集合;
步骤S212:给定一个套管块集合,定义套管块集合为空,并对套管块集合设置套管规则进行数据处理;
其中,套管规则包括:
(1)管的内嵌和外套约束规则:a、不可内嵌+不可外套;b、可内嵌+不可外套;c、不可内嵌+可外套;d、可内嵌+可外套;e、部分管被指定只能内嵌某些类型的管;其中管的内嵌约束指的是一种管可以作为大管,里面嵌入外径小于大管内径、长度小于等于大管长度的其他小管;管的外套约束指的是一种管可以作为小管,内嵌到内径大于小管外径、长度大于等于小管长度的其他大管里;(2)短不套长约束规则:大管内所内嵌的小管长度不大于大管的长度;(3)套管块重量约束规则:限制一个套管块的重量;(4)套多排管约束规则:若允许被套多排,则在大管长度和套管块重量的情况下,限制一个大管内所内嵌的相同的小管数量;(5)套管块中管类型数量限制规则:在大管长度和套管块重量允许的情况下,限制一个大管内所内嵌的小管类型数量;
在实际的套管作业中,会有许多常见的套管规则,以套管块中管类型数量限制规则为例:若套管块的管种类数量太多,套管人员在套管的时候需要花费大量的时间来挑选待排管材,因此需要对套管块中的管材种类数量进行限制。当获取套管块时,每装载一根管之前,都需要判断再加入该管之后套管块中小管种类是否超出管类型数量限制,当超出限制之后,算法将放弃将该管材加入套管块中,在生成套管块的后续过程中,只会装载套管块中有对应类型的管材。
套管块中管类型数量限制规则的流程示意图如图2所示,当给定一个管集合,需要获取该管集合对应的套管块时,先设置套管块中允许所套小管种类数量allowType为4,以求出一个初始的套管块总体积来替换Vbest,该体积为所有套管块的大管的体积之和(管的体积计算方式为:Vtube=πr2l,r为大管的外径/2,l为大管的长度),接着不断将allowType缩小,同时求出缩小之后的allowType对应的套管块总体积,若该套管块总体积等于Vbest,说明该 allowType不会造成套管块总体积更大,将该allowType对应的解替换原来的解。若该总体积已经大于Vbest,算法将结束套管,返回已找到的解。如图3所示,当allowType=3和allowType=2时,套管块集合的总体积相同,但是allowType=2所对应的套管块集合中小管在大管内的分布更加均匀,减少了一种套管块中大管内所套的小管太多所造成部分套管块重量过大的情况,经过限制小管类型数量得到的套管块集合会更便于装载人员的装载工作。
步骤S213:将袋装管从管集合中取出,并形成袋装管集合;
步骤S214:更新管集合,将管集合按照内径降序排序,取出管集合中第一种管作为大管;
步骤S215:更新袋装管集合,从袋装管集合依次遍历袋装管,不拆袋袋装管,判断大管是否可装载袋装管,如果是,则执行步骤S216;如果否,则执行步骤S217;
步骤S216:将袋装管装进大管的内部,形成第一套管块,将第一套管块加入套管块集合,扣除相应的袋装管和大管的数量,重新执行步骤S214;
步骤S217:将管集合进行备份,形成备份管集合,对管集合调用圆套圆套管块生成算法生成第二套管块,判断是否存在无小管的套管块,如果是,则执行步骤S218;如果否,则执行步骤S219;
步骤S218:取出套管块中无小管的大管加入管集合1,同时将无小管的大管从备份管集合中移除,将袋装管拆袋加入管集合1,对管集合1调用圆套圆套管块生成算法生成套管块集合,将在套管块中作为大管且内部无小管的袋装管加到备份管集合中,同时将这些袋装管对应的套管块从套管块集合中移除,将备份管集合替换管集合,对管集合调用圆套圆套管块生成算法生成第二套管块并加入套管块集合,将在套管块中作为大管且内部无小管的袋装管还原回初始袋装管;
步骤S219:将备份管集合替换管集合,并将袋装管拆袋加入管集合,对管集合调用圆套圆套管块生成算法生成第二套管块并加入套管块集合,将在套管块中作为大管且内部无小管的袋装管还原回初始袋装管。
是否含有拆袋的袋装管的套管流程图如图4所示,当没有散装管材可以作为大管装载袋装管集合时,袋装管不考虑拆袋,而是直接将袋装管视为长方体进行装载,由于目前已存在长方体装箱算法,因此本文中不再赘述长方体装箱算法;当有散装管材可以作为大管装载袋装管时,优先考虑将整袋产品装载到大管内部,本文只考虑装载一袋袋装管到大管内部,即将产品装载成如图5中(1)所示。当剩余的袋装管无法被整袋转载到大管内部时,将对袋装管产品进行拆袋,此处的拆袋只是算法层面的拆袋,倘若后面有多余的单根袋装管产品没有被套到大管中,这些产品将会在算法层面上被重新组袋,如图5(2)所示。
为了尽可能保证一根大管内尽可能只装载一种袋装管产品,而不再套入其他类型的管,本文先对移除了袋装管的管集合进行试探性套管,即为了找出那些没有与其他管材进行套管的管材,用这些管材来对拆袋后的单根袋装管材进行装载,并设置套管规则中套管块中管类型数量限制规则,即限制一个大管内所内嵌的小管类型数量allowType为1,这样可以保证大管内部只装载一种类型的袋装管。当这种不与其他管套管的管材无法套完所有单根袋装管材时,剩余的单根袋装管材只能和其他类型的管材一起被套入大管内部。
本文通过将管集合移除试探性套管后无小管的大管并加入剩余的单根袋装管材以形成新的管集合,对该集合调用圆套圆套管块生成算法即可将剩余的单根袋装管材和其他管材一起组块。最后如果仍有单根袋装管材单独作为大管且内部无小管时,这些单根袋装管材将会被重新还原形成初始袋装管,在现实中可以理解为这些单根袋装管材并未拆袋,假设一袋袋装管中有30根袋装管材,而最后的套管块中有37根袋装管材单独作为套管块,则本文最后会将37根袋装管材进行组袋,最终形式为一个整袋的袋装管产品和7个套管块。
更进一步的说明,在步骤S2中,所述调用圆套圆套管块生成算法生成第二套管块包括以下步骤:
步骤S221:将散装管材和袋装管材形成管集合;
步骤S222:对管集合设置套管规则进行数据处理;
步骤S223:将管集合按内径大小降序排序;
步骤S224:判断管集合是否为空,如果是,则结束;如果否,则执行步骤S225;
步骤S225:取出管集合中的第一种管作为大管;
步骤S226:取出外径小于大管、长度小于等于大管长度且允许被大管装载的小管;
步骤S227:调用圆内圆形排样算法获取小管在大管内的放置位置;
步骤S228:对大管内的小管使用广度优先遍历的方式调用圆内圆形排样算法进行递归内嵌;
步骤S229:根据设置的套管规则形成第二套管块,并获取可组成第二套管块的大管和小管参数,从管集合中进行对应的移除,更新管集合,并重新执行S223。
调用圆套圆套管块生成算法的流程示意图如图6所示;递归调用圆内圆形排样算法的实施例示意图如图7所示,其中图中数字1、2、…、11表示第几次调用圆内圆形排样算法;对应图7套管块生成的实施例示意图如图8所示;
第1次调用圆内圆形排样算法,得到图8的a;第2次调用圆内圆形排样算法,得到图8 的b;第3次调用圆内圆形排样算法,得到图8的c;第4次调用圆内圆形排样算法,得到图 8的d;第7次调用圆内圆形排样算法,得到图8的e;第8次调用圆内圆形排样算法,得到图8的f;第5、6、9、10和11调用圆内圆形排样算法时,由于集合中不存在外径比大管内径更小的小管,因此这些大管不装载任何子管。以套多排管约束规则为例,其处理流程如下,当结束广度优先遍历之后,大管内部已经嵌套一系列小管,直接对这些小管进行遍历,如果大管的长度大于等于小管长度的n倍,若该类型小管的数量足够且套多排小管不会使得套管块超出限重,则对应的y,z位置仍可加入n-1排小管,只需要将第i(i=2,3,…,n)排小管的x坐标改为(i-1)len(已知第一排小管的x坐标为0,len为小管的长度)。在组块的过程中,每装载一根管之前都要判断加入该管之后,套管块的重量是否会超出重量限制,若超出了限制,则使用另一种重量更轻的管来尝试装载。
更进一步的说明,在步骤S227中,调用圆内圆形排样算法获取小管在大管内的装载位置,圆内圆形排样算法的流程示意图如图9所示,包括以下步骤:
步骤S2271:以大管的圆心为原点,分别沿大管的半径建立直角坐标,形成待装载的大圆;
步骤S2272:外径小于大管、长度小于等于大管长度且允许被大管装载的小管建立为小圆列表;
步骤S2273:将小圆列表按外径大小降序排序;
步骤S2274:取出小圆列表中的第一个小圆,为第一个小圆寻找在待装载的大圆内部的放置位置,判断是否找到放置位置,如果是,则执行步骤S2275,如果否,则执行步骤S2276;
步骤S2275:判断放置位置是否可行且可优化,如果是,则放置第一个小圆,执行步骤 S2276;如果不是,则将未被放置的第一个小圆移出,执行步骤S2276;
步骤S2276:更新小圆列表,判断更新后的小圆列表是否不为空,如果是,则执行步骤 S2274,如果否,结束算法。
更进一步的说明,在步骤S2274中,所述为第一个小圆寻找在待装载的大圆内部的放置位置的方法包括:
(3)通过与大圆的最下端相切获取第一个小圆位置,如图10中(1)所示;
当在大圆内部放置第一个小圆时,考虑到实际作业中的重力作用,所放置的第一根小管会滑到大管的底部,即第一个小圆与大圆的最下端相切,此时获取第一个小圆的圆心坐标为 (0,-R+r),其中R为表示大圆的半径,r表示第一个小圆的半径;
(2)通过同时与大圆和一个已放置小圆相切获取位置,如图10中(2)所示;
当在大圆内部已有一个已放置小圆1时,小圆2的圆心坐标同时由大圆和小圆1相切获得,即小圆2和大圆之间为内切关系,小圆2和小圆1之间为外切关系,通过联立公式(1)求解小圆2的圆心坐标:
其中,R表示大圆的半径,r1表示小圆1的半径,r2表示小圆2的半径,x1表示小圆1的圆心x轴坐标,y1表示小圆1的圆心y轴坐标,x2表示小圆2的圆心x轴坐标,y2表示小圆2 的圆心y轴坐标;
(3)通过同时与两个已放置小圆相切获取位置,如图10中(3)所示;
当在大圆内部已有一个已放置小圆1和小圆2时,小圆3的圆心坐标由小圆1和小圆2 相切获得,即小圆3分别与小圆1和小圆2之间为外切关系,通过联立公式(2)求解小圆3的圆心坐标:
其中,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆2圆心的Y轴坐标,r2表示小圆2的半径,x3表示小圆3圆心的X轴坐标,y3表示小圆3圆心的Y轴坐标,r3表示小圆3的半径。
更进一步的说明,在步骤S2275中,所述判断放置位置是否可行且可优化,所述判断放置位置是否可行采用第一判断算法:
其中,xi表示小圆i的圆心x轴坐标,yi表示小圆i的圆心y轴坐标,R表示大圆的半径, ri表示小圆i的半径;
由于通过公式(2)可求得两个放置位置,如图10中(3)所示的位置3和位置3’,由于位置3’会使得小圆3超出大圆的界限,因此该位置不满足实际约束(所装载的小圆必须完全处于大圆内部),这些不满足约束的位置称为非可行位置,当小圆i的圆心坐标满足公式(3)时,可知所求得的圆心坐标会使小圆i超出大圆边界,则判定该放置位置不可行,反之则判定该放置位置可行。最终,可行的放置位置将被保存,不可行的放置位置会被抛弃;
所述判断放置位置是否可优化采用第二判断算法:
yi1<yi2 (4)
其中,yi1表示小圆i的第一可行圆心坐标的y坐标值,yi2表示小圆i的第二可行圆心坐标的y坐标值;
当满足公式(4),则采用小圆i的第一可行圆心坐标作为放置位置,反之,则采用小圆 i的第二可行圆心坐标作为放置位置。
若仍有多个可行位置,为了确保满足大不压小的约束,本文在将小圆装载到大圆内部之前会先将小圆列表按照小圆的半径降序排序,在装载小圆的时候,优先将半径较大的小圆装载到大圆内部,且优先使用y值较小的可行放置位置进行小圆的放置,如图10中(4)所示,将优先选用位置3”来放置小圆3。
更进一步的说明,在步骤S3中,根据第一套管块、第二套管块和矩形容器的参数,调用矩形内圆套圆套管块排样算法,确定第一套管块和第二套管块在矩形容器内的装载,并返回矩形容器内剩余空间,其流程示意图如图11所示,包括以下步骤:
步骤S31:将第一套管块和第二套管块合并形成套管块集合,并将套管块集合依次按大管长度和大管外径降序排序;
如一个套管块集合为
[{“大管名称”:“管1”,“大管长度”:“5000”,“大管外径”:“150”},
{“大管名称”:“管2”,“大管长度”:“5000”,“大管外径”:“180”},
{“大管名称”:“管3”,“大管长度”:“6000”,“大管外径”:“210”},
{“大管名称”:“管4”,“大管长度”:“2000”,“大管外径”:“150”}],
经过排序之后的顺序为:管3、管2、管1、管4。使用该排序策略的目的是为了满足长不压短且尽可能满足大不压小的约束。该排序的实现方式为先将套管块集合按照大管长度降序排序,接着按照“相同长度为一组”的原则将套管块集合进行分组,对每个分组按照大管外径进行降序排序,最终将所有分组进行合并即可获得排序后的套管块集合。
步骤S32:将空间装载不下的套管块移到备份套管块集合中;
如果套管块的大管的长小于长方体空间的长,且套管块的大管外径同时小于空间的宽和高,则套管块可以被竖放到长方体空间中。如果套管块的大管的长小于长方体空间的宽,且套管块的大管外径同时小于长方体空间的长和高,则套管块可以被横放到长方体空间中,套管块竖放和横放的形态如图12所示。当一种管既不能被竖放到立体空间中,也不能被横放到立体空间中,该管被判定为无法装载到立体空间中,会被移到备份套管块集合。
步骤S33:判断套管块集合是否为空,如果是,则将矩形容器的长方体空间存储起来,如果否,则执行步骤S34;
步骤S34:取出套管块集合的第一种套管块,调整矩形容器的长方体空间的虚拟宽度,调用矩形内圆形排样算法获取第一种套管块在长方体空间内的装载位置,裁切出剩余空间,添加到总剩余空间列表,并将备份套管块移回套管块中;
其中为了套管块装载时的规整,本发明根据当前摆放的套管块的大管外径来调整长方体空间的虚拟宽度,长方体空间的虚拟宽度指在计算套管块在长方体空间内的装载位置时所使用的宽度,裁切长方体空间时所使用的宽度为长方体空间的实际宽度。套管块装载时的规整性可以帮助现场的装载人员更方便地看懂图纸,且通常提高了规整性之后,长方体空间可以装载的套管块数量更多。
如图13所示的是否调整宽度装载的效果对比图,其中图13中(1)为不调整宽度装载的效果,图13中(2)为调整宽度后装载的效果,在实际作业中,由于管的外径和长方体空间的实际宽度相差较大,长方体空间的实际宽度和虚拟宽度相差较小,通过加入填充材料可以将长方体空间的实际宽度改变成虚拟宽度的近似值,不会影响套管块装载的稳定性。调整长方体空间的虚拟宽度的方法如下:
num←(int)(立体空间的宽/套管块外径)
if立体空间的宽-num*套管块外径<套管块外径/2
then立体空间的宽=num*套管块外径
else立体空间的宽=num*套管块外径+套管块外径/2
其次,矩形内圆形排样算法终止条件有两种,第一种是矩形已经放不下任何小圆,如图 14中(1)所示;第二种是第一种半径的小圆被装载完之后(即相同半径的小圆数量已经被消耗为零),算法会将矩形进行分层,下层会继续用于装载其他半径小圆,上层则被生成为剩余空间,供下一步调用矩形内圆形排样算法装载,如图14中(2)所示,一共调用了两次矩形内圆形排样算法。
最后,裁切剩余空间的实施例示意图如图15所示,优先将空间垂直x轴切断,其次将空间垂直y轴切断。本发明在获取剩余空间的时候,不是每装载一个套管块就对剩余空间列表进行更新,而是在矩形内圆形排样算法调用完成之后才对立体空间进行裁切,这样可以减小更新剩余空间列表所消耗的计算机算力,以获取剩余空间,在调用矩形内圆形排样算法时,会记录一系列的间断信息以辅助立体空间的裁切,如图15中的line1和line2所示,线段的存储方式为存储线段最左边的点坐标和线管的宽度。当剩余空间无法装载剩余的套管块或剩余的套管块数量为零,且计算任务中含有整袋的袋装管产品时,将这些剩余空间用于装载整袋的袋装管产品。
步骤S35:判断总剩余空间列表和套管块集合是否不为空,如果是,执行步骤S36,如果否,则结束算法;
步骤S36:将总剩余空间列表中的剩余空间按x升序排序,取出总剩余空间列表中的第一个空间,并重新执行步骤S32。
更进一步的说明,在步骤S34中,所述调用矩形内圆形排样算法获取第一种套管块在长方体空间内的装载位置,包括以下步骤:
步骤S341:以矩形容器的中心为原点,分别沿平行于矩形容器的容器宽L和容器高W的方向建立直角坐标,形成待装载的矩形;
步骤S342:外径小于矩形、长度小于等于矩形长度且允许被矩形装载的套管块建立为小圆列表;
步骤S343:将小圆列表按外径大小降序排序;
步骤S344:取出小圆列表中的第一个小圆,为第一个小圆寻找在待装载的矩形内部的放置位置,判断是否找到放置位置,如果是,则执行步骤S345,如果否,则执行步骤S346;
步骤S345:判断放置位置是否可行且可优化,如果是,则放置第一个小圆,执行步骤S346;如果不是,则将未被放置的第一个小圆移出,执行步骤S346;
步骤S346:更新小圆列表,判断更新后的小圆列表是否不为空,如果是,则执行步骤S344,如果否,结束算法。
矩形内圆形排样的算法流程和圆内圆形排样的算法流程相似,只是寻找可行位置的方式不同,圆内圆形排样算法是通过同时与大圆和已放置小圆相切获取位置,矩形内圆形排样算法则是通过同时与矩形和已放置小圆相切获取位置,如图16所示,因此此处不再赘述。
更进一步的说明,在步骤S344中,所述为第一个小圆寻找在待装载的矩形内部的放置位置,包括以下方法:
(1)通过与矩形的最下端的两边相切获取第一个小圆位置;
当在矩形内部放置第一个小圆时,考虑到实际作业中的重力作用,所放置的第一根小管会滑到矩形的底部,即第一个小圆与矩形的最下端的两边相切,此时获取第一个小圆的圆心坐标为其中L表示矩形的容器宽,W表示矩形的容器高,r表示第一个小圆的半径;
(2)通过同时与大圆和一个已放置小圆相切获取位置;
当在矩形内部已有一个已放置小圆1时,小圆2的圆心坐标同时由矩形的左边或右边或上边或下边和小圆1相切获得,通过联立公式(5)-(8)求解小圆2的圆心坐标:
其中,L表示矩形的容器宽,W表示矩形的容器高,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆 2圆心的Y轴坐标,r2表示小圆2的半径;
(3)通过同时与两个已放置小圆相切获取位置;
当在矩形内部已有一个已放置小圆1和小圆2时,小圆3的圆心坐标由小圆1和小圆2 相切获得,即小圆3分别与小圆1和小圆2之间为外切关系,通过联立公式(9)求解小圆3的圆心坐标:
其中,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆2圆心的Y轴坐标,r2表示小圆2的半径,x3表示小圆3圆心的X轴坐标,y3表示小圆3圆心的Y轴坐标,r3表示小圆3的半径;
在步骤S345中,所述判断放置位置是否可行且可优化,所述判断放置位置是否可行采用第三判断算法:
其中,xi表示小圆i的圆心x轴坐标,yi表示小圆i的圆心y轴坐标,L表示矩形的容器宽,W表示矩形的容器高;
当满足公式(10)时,则判定该放置位置可行,反之则判定该放置位置不可行;
所述判断放置位置是否可优化采用第二判断算法:
yi1<yi2(11)
其中,yi1表示小圆i的第一可行圆心坐标的y坐标值,yi2表示小圆i的第二可行圆心坐标的y坐标值;
当满足公式(11),则采用小圆i的第一可行圆心坐标作为放置位置,反之,则采用小圆i的第二可行圆心坐标作为放置位置。
一种管材套管与装箱优化系统,采用上述所述的一种管材套管与装箱优化方法,包括套管任务模块、套管方案展示模块、装柜任务模块和装柜展示模块;所述套管任务模块用于管理多个套管任务的状态和多个套管任务之间的切换;所述套管方案展示模块用于展示第一套管块、第二套管块和第三套管块的参数和套管图;所述装柜任务模块用于管理多个装柜任务的状态和多个装柜任务之间的切换;所述装柜展示模块用于展示装载参数和排样图。
本发明采用上述所述的一种管材套管与装箱优化方法植入系统中,如图17-18所示,可以降低员工对管材装箱问题进行求解的门槛,降低企业对管材装载计算人员的培训成本;客户可以根据系统返回的计算结果调整订单,提升了管材企业对客户的服务水平。
更进一步的,为了更好的证明本发明一种管材套管与装箱优化方法在解决管材装箱问题上的优越性,以下提供两组实施例。
实施例一含可拆袋袋装管装载测试
待排管材的参数如表1所示,矩形容器的参数如表2所示,是否允许套多排参数设置为 false。经过套管计算之后,生成的套管方案如图19所示,装载方案如实施例1含袋装管产品装载图20所示,其中只展示其中两个货柜,计算时间为5620ms。
表1待排管材数据
表2矩形容器数据
实施例二含不可拆袋袋装管装载测试
待排管材的参数如表4所示,矩形容器的参数如表5所示,是否允许套多排参数设置为 false。经过套管计算之后,生成的套管方案如图21所示,装载方案如实施例2含袋装管产品装载图22所示,其中只展示其中两个货柜,计算时间为1625ms。
表4待排管材数据
表5矩形容器数据
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种管材套管与装箱优化方法,其特征在于,包括以下步骤:
步骤S1:采集矩形容器和待排管材的参数,其中,矩形容器的参数包括容器长度、容器宽和容器高;待排管材的参数包括袋装管的袋装长度、袋装宽、袋装高和数量,袋装管内袋装管材的长度、内径、外径和数量,以及散装管材的长度、内径、外径和数量;
步骤S2:判断是否含有袋装管,且袋装管是否允许拆袋,如果判定结果为有且允许,执行第一操作;否则,执行第二操作;
第一操作:根据袋装管和散装管材的参数,调用圆内矩形排样算法将袋装管装进散装管材生成第一套管块,并将无法被散装管材装载的袋装管拆袋形成袋装管材;再根据袋装管材和剩余的散装管材的参数,调用圆套圆套管块生成算法生成第二套管块:
第二操作:根据袋装管和散装管材的参数,调用圆内矩形排样算法生成第一套管块;再根据剩余的散装管材的参数,调用圆套圆套管块生成算法生成第二套管块;
步骤S3:根据第一套管块、第二套管块和矩形容器的参数,调用矩形内圆套圆套管块排样算法,确定第一套管块和第二套管块在矩形容器内长方体空间的装载,并返回长方体空间的剩余空间;
步骤S4:判断是否有剩余的袋装管材和袋装管,如果是,执行步骤S5;如果不是,执行步骤S6;
步骤S5:将剩余的袋装管材还原形成初始袋装管,调用已有装箱算法将初始袋装管和袋装管装载到剩余空间,执行步骤S6;
步骤S6:结束算法,输出排样方案,包括装载管材的参数和排样图。
2.根据权利要求1所述的一种管材套管与装箱优化方法,其特征在于,在步骤S2中,所述第一操作包括以下步骤:
步骤S211:根据袋装管和散装管材的参数,形成管集合;
步骤S212:给定一个套管块集合,定义套管块集合为空,并对套管块集合设置套管规则进行数据处理;
其中,套管规则包括:
(1)管的内嵌和外套约束规则:a、不可内嵌+不可外套;b、可内嵌+不可外套;c、不可内嵌+可外套;d、可内嵌+可外套;e、部分管被指定只能内嵌某些类型的管;
管的内嵌约束指的是一种管可以作为大管,里面嵌入外径小于大管内径、长度小于等于大管长度的其他小管;
管的外套约束指的是一种管可以作为小管,内嵌到内径大于小管外径、长度大于等于小管长度的其他大管里;
(2)短不套长约束规则:大管内所内嵌的小管长度不大于大管的长度;
(3)套管块重量约束规则:限制一个套管块的重量;
(4)套多排管约束规则:若允许被套多排,则在大管长度和套管块重量的情况下,限制一个大管内所内嵌的相同的小管数量;
(5)套管块中管类型数量限制规则:在大管长度和套管块重量允许的情况下,限制一个大管内所内嵌的小管类型数量;
步骤S213:将袋装管从管集合中取出,并形成袋装管集合;
步骤S214:更新管集合,将管集合按照内径降序排序,取出管集合中第一种管作为大管;
步骤S215:更新袋装管集合,从袋装管集合依次遍历袋装管,不拆袋袋装管,判断大管是否可装载袋装管,如果是,则执行步骤S216;如果否,则执行步骤S217;
步骤S216:将袋装管装进大管的内部,形成第一套管块,将第一套管块加入套管块集合,扣除相应的袋装管和大管的数量,重新执行步骤S214;
步骤S217:将管集合进行备份,形成备份管集合,对管集合调用圆套圆套管块生成算法生成第二套管块,判断是否存在无小管的套管块,如果是,则执行步骤S218;如果否,则执行步骤S219;
步骤S218:取出套管块中无小管的大管加入管集合1,同时将无小管的大管从备份管集合中移除,将袋装管拆袋加入管集合1,对管集合1调用圆套圆套管块生成算法生成套管块集合,将在套管块中作为大管且内部无小管的袋装管加到备份管集合中,同时将这些袋装管对应的套管块从套管块集合中移除,将备份管集合替换管集合,对管集合调用圆套圆套管块生成算法生成第二套管块并加入套管块集合,将在套管块中作为大管且内部无小管的袋装管还原回初始袋装管;
步骤S219:将备份管集合替换管集合,并将袋装管拆袋加入管集合,对管集合调用圆套圆套管块生成算法生成第二套管块并加入套管块集合,将在套管块中作为大管且内部无小管的袋装管还原回初始袋装管。
3.根据权利要求1所述的一种管材套管与装箱优化方法,其特征在于,在步骤S2中,所述调用圆套圆套管块生成算法生成第二套管块包括以下步骤:
步骤S221:将散装管材和袋装管材形成管集合;
步骤S222:对管集合设置套管规则进行数据处理;
步骤S223:将管集合按内径大小降序排序;
步骤S224:判断管集合是否为空,如果是,则结束;如果否,则执行步骤S225;
步骤S225:取出管集合中的第一种管作为大管;
步骤S226:取出外径小于大管、长度小于等于大管长度且允许被大管装载的小管;
步骤S227:调用圆内圆形排样算法获取小管在大管内的放置位置;
步骤S228:对大管内的小管使用广度优先遍历的方式调用圆内圆形排样算法进行递归内嵌;
步骤S229:根据设置的套管规则形成第二套管块,并获取可组成第二套管块的大管和小管参数,从管集合中进行对应的移除,更新管集合,并重新执行S223。
4.根据权利要求3所述的一种管材套管与装箱优化方法,其特征在于,在步骤S227中,调用圆内圆形排样算法获取小管在大管内的装载位置,包括以下步骤:
步骤S2271:以大管的圆心为原点,分别沿大管的半径建立直角坐标,形成待装载的大圆;
步骤S2272:外径小于大管、长度小于等于大管长度且允许被大管装载的小管建立为小圆列表;
步骤S2273:将小圆列表按外径大小降序排序;
步骤S2274:取出小圆列表中的第一个小圆,为第一个小圆寻找在待装载的大圆内部的放置位置,判断是否找到放置位置,如果是,则执行步骤S2275,如果否,则执行步骤S2276;
步骤S2275:判断放置位置是否可行且可优化,如果是,则放置第一个小圆,执行步骤S2276;如果不是,则将未被放置的第一个小圆移出,执行步骤S2276;
步骤S2276:更新小圆列表,判断更新后的小圆列表是否不为空,如果是,则执行步骤S2274,如果否,结束算法。
5.根据权利要求4所述的一种管材套管与装箱优化方法,其特征在于,在步骤S2274中,所述为第一个小圆寻找在待装载的大圆内部的放置位置的方法包括:
(1)通过与大圆的最下端相切获取第一个小圆位置;
当在大圆内部放置第一个小圆时,第一个小圆与大圆的最下端相切,此时获取第一个小圆的圆心坐标为(0,-R+r),其中R为表示大圆的半径,r表示第一个小圆的半径;
(2)通过同时与大圆和一个已放置小圆相切获取位置;
当在大圆内部已有一个已放置小圆1时,小圆2的圆心坐标同时由大圆和小圆1相切获得,即小圆2和大圆之间为内切关系,小圆2和小圆1之间为外切关系,通过联立公式(1)求解小圆2的圆心坐标:
其中,R表示大圆的半径,r1表示小圆1的半径,r2表示小圆2的半径,x1表示小圆1的圆心x轴坐标,y1表示小圆1的圆心y轴坐标,x2表示小圆2的圆心x轴坐标,y2表示小圆2的圆心y轴坐标;
(3)通过同时与两个已放置小圆相切获取位置;
当在大圆内部已有一个已放置小圆1和小圆2时,小圆3的圆心坐标由小圆1和小圆2相切获得,即小圆3分别与小圆1和小圆2之间为外切关系,通过联立公式(2)求解小圆3的圆心坐标:
其中,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆2圆心的Y轴坐标,r2表示小圆2的半径,x3表示小圆3圆心的X轴坐标,y3表示小圆3圆心的Y轴坐标,r3表示小圆3的半径。
6.根据权利要求4所述的一种管材套管与装箱优化方法,其特征在于,在步骤S2275中,所述判断放置位置是否可行且可优化,所述判断放置位置是否可行采用第一判断算法:
其中,xi表示小圆i的圆心x轴坐标,yi表示小圆i的圆心y轴坐标,R表示大圆的半径,ri表示小圆i的半径;
当小圆i的圆心坐标满足公式(3)时,则判定该放置位置不可行,反之则判定该放置位置可行;
所述判断放置位置是否可优化采用第二判断算法:
yi1<yi2 (4)
其中,yi1表示小圆i的第一可行圆心坐标的y坐标值,yi2表示小圆i的第二可行圆心坐标的y坐标值;
当满足公式(4),则采用小圆i的第一可行圆心坐标作为放置位置,反之,则采用小圆i的第二可行圆心坐标作为放置位置。
7.根据权利要求1所述的一种管材套管与装箱优化方法,其特征在于,在步骤S3中,根据第一套管块、第二套管块和矩形容器的参数,调用矩形内圆套圆套管块排样算法,确定第一套管块和第二套管块在矩形容器内的装载,并返回矩形容器内剩余空间,包括以下步骤:
步骤S31:将第一套管块和第二套管块合并形成套管块集合,并将套管块集合依次按大管长度和大管外径降序排序;
步骤S32:将空间装载不下的套管块移到备份套管块集合中;
步骤S33:判断套管块集合是否为空,如果是,则将矩形容器的长方体空间存储起来,如果否,则执行步骤S34;
步骤S34:取出套管块集合的第一种套管块,调整矩形容器的长方体空间的虚拟宽度,调用矩形内圆形排样算法获取第一种套管块在长方体空间内的装载位置,裁切出剩余空间,添加到总剩余空间列表,并将备份套管块移回套管块中;
步骤S35:判断总剩余空间列表和套管块集合是否不为空,如果是,执行步骤S36,如果否,则结束算法;
步骤S36:将总剩余空间列表中的剩余空间按x升序排序,取出总剩余空间列表中的第一个空间,并重新执行步骤S32。
8.根据权利要求7所述的一种管材套管与装箱优化方法,其特征在于,在步骤S34中,所述调用矩形内圆形排样算法获取第一种套管块在长方体空间内的装载位置,包括以下步骤:
步骤S341:以矩形容器的中心为原点,分别沿平行于矩形容器的容器宽L和容器高W的方向建立直角坐标,形成待装载的矩形;
步骤S342:外径小于矩形、长度小于等于矩形长度且允许被矩形装载的套管块建立为小圆列表;
步骤S343:将小圆列表按外径大小降序排序;
步骤S344:取出小圆列表中的第一个小圆,为第一个小圆寻找在待装载的矩形内部的放置位置,判断是否找到放置位置,如果是,则执行步骤S345,如果否,则执行步骤S346;
步骤S345:判断放置位置是否可行且可优化,如果是,则放置第一个小圆,执行步骤S346;如果不是,则将未被放置的第一个小圆移出,执行步骤S346;
步骤S346:更新小圆列表,判断更新后的小圆列表是否不为空,如果是,则执行步骤S344,如果否,结束算法。
9.根据权利要求8所述的一种管材套管与装箱优化方法,其特征在于,在步骤S344中,所述为第一个小圆寻找在待装载的矩形内部的放置位置,包括以下方法:
(1)通过与矩形的最下端的两边相切获取第一个小圆位置;
当在矩形内部放置第一个小圆时,考虑到实际作业中的重力作用,所放置的第一根小管会滑到矩形的底部,即第一个小圆与矩形的最下端的两边相切,此时获取第一个小圆的圆心坐标为其中L表示矩形的容器宽,W表示矩形的容器高,r表示第一个小圆的半径;
(2)通过同时与大圆和一个已放置小圆相切获取位置;
当在矩形内部已有一个已放置小圆1时,小圆2的圆心坐标同时由矩形的左边或右边或上边或下边和小圆1相切获得,通过联立公式(5)-(8)求解小圆2的圆心坐标:
其中,L表示矩形的容器宽,W表示矩形的容器高,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆2圆心的Y轴坐标,r2表示小圆2的半径;
(3)通过同时与两个已放置小圆相切获取位置;
当在矩形内部已有一个已放置小圆1和小圆2时,小圆3的圆心坐标由小圆1和小圆2相切获得,即小圆3分别与小圆1和小圆2之间为外切关系,通过联立公式(9)求解小圆3的圆心坐标:
其中,x1表示小圆1圆心的X轴坐标,y1表示小圆1圆心的Y轴坐标,r1表示小圆1的半径,x2表示小圆2圆心的X轴坐标,y2表示小圆2圆心的Y轴坐标,r2表示小圆2的半径,x3表示小圆3圆心的X轴坐标,y3表示小圆3圆心的Y轴坐标,r3表示小圆3的半径;
在步骤S345中,所述判断放置位置是否可行且可优化,所述判断放置位置是否可行采用第三判断算法:
其中,xi表示小圆i的圆心x轴坐标,yi表示小圆i的圆心y轴坐标,L表示矩形的容器宽,W表示矩形的容器高;
当满足公式(10)时,则判定该放置位置可行,反之则判定该放置位置不可行;
所述判断放置位置是否可优化采用第二判断算法:
yi1<yi2 (11)
其中,yi1表示小圆i的第一可行圆心坐标的y坐标值,yi2表示小圆i的第二可行圆心坐标的y坐标值;
当满足公式(11),则采用小圆i的第一可行圆心坐标作为放置位置,反之,则采用小圆i的第二可行圆心坐标作为放置位置。
10.一种管材套管与装箱优化系统,其特征在于,采用如权利要求1-9所述的一种管材套管与装箱优化方法,包括套管任务模块、套管方案展示模块、装柜任务模块和装柜展示模块;
所述套管任务模块用于管理多个套管任务的状态和多个套管任务之间的切换;
所述套管方案展示模块用于展示第一套管块、第二套管块和第三套管块的参数和套管图;
所述装柜任务模块用于管理多个装柜任务的状态和多个装柜任务之间的切换;
所述装柜展示模块用于展示装载参数和排样图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210467285.4A CN114841432B (zh) | 2022-04-29 | 2022-04-29 | 一种管材套管与装箱优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210467285.4A CN114841432B (zh) | 2022-04-29 | 2022-04-29 | 一种管材套管与装箱优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114841432A true CN114841432A (zh) | 2022-08-02 |
CN114841432B CN114841432B (zh) | 2023-02-17 |
Family
ID=82567695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210467285.4A Active CN114841432B (zh) | 2022-04-29 | 2022-04-29 | 一种管材套管与装箱优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114841432B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5936863A (en) * | 1998-01-28 | 1999-08-10 | Lockheed Martin Idaho Technologies Company | Optimal segmentation and packaging process |
CN1684890A (zh) * | 2002-09-26 | 2005-10-19 | 丰田钢铁中心株式会社 | 货物流通管理系统、托盘管理系统以及计算机可读记录介质和程序 |
CN104820867A (zh) * | 2015-04-20 | 2015-08-05 | 广东工业大学 | 一种面向多规格板材的矩形件排样方法 |
CN110704882A (zh) * | 2019-09-07 | 2020-01-17 | 创新奇智(青岛)科技有限公司 | 一种用于管状物体的三维智能装载方法 |
CN110728046A (zh) * | 2019-10-08 | 2020-01-24 | 创新奇智(重庆)科技有限公司 | 一种基于启发式算法的多阶段管道及其配件装箱方法 |
CN111626576A (zh) * | 2020-05-13 | 2020-09-04 | 上海箱云物流科技有限公司 | 一种云集运模式 |
US20200410431A1 (en) * | 2019-06-27 | 2020-12-31 | Hitachi, Ltd. | Inventory count method and asset management system |
CN114048926A (zh) * | 2021-12-09 | 2022-02-15 | 广东工业大学 | 一种基于多叉树搜索的多箱型三维装箱优化方法及系统 |
-
2022
- 2022-04-29 CN CN202210467285.4A patent/CN114841432B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5936863A (en) * | 1998-01-28 | 1999-08-10 | Lockheed Martin Idaho Technologies Company | Optimal segmentation and packaging process |
CN1684890A (zh) * | 2002-09-26 | 2005-10-19 | 丰田钢铁中心株式会社 | 货物流通管理系统、托盘管理系统以及计算机可读记录介质和程序 |
CN104820867A (zh) * | 2015-04-20 | 2015-08-05 | 广东工业大学 | 一种面向多规格板材的矩形件排样方法 |
US20200410431A1 (en) * | 2019-06-27 | 2020-12-31 | Hitachi, Ltd. | Inventory count method and asset management system |
CN110704882A (zh) * | 2019-09-07 | 2020-01-17 | 创新奇智(青岛)科技有限公司 | 一种用于管状物体的三维智能装载方法 |
CN110728046A (zh) * | 2019-10-08 | 2020-01-24 | 创新奇智(重庆)科技有限公司 | 一种基于启发式算法的多阶段管道及其配件装箱方法 |
CN111626576A (zh) * | 2020-05-13 | 2020-09-04 | 上海箱云物流科技有限公司 | 一种云集运模式 |
CN114048926A (zh) * | 2021-12-09 | 2022-02-15 | 广东工业大学 | 一种基于多叉树搜索的多箱型三维装箱优化方法及系统 |
Non-Patent Citations (2)
Title |
---|
OUSSAMA REJEB 等: "Performance Assessment of a Solar Photovoltaic Thermal Heat Pipe Collector Under Hot Climate: A Case Study", 《2019 ADVANCES IN SCIENCE AND ENGINEERING TECHNOLOGY INTERNATIONAL CONFERENCES (ASET)》 * |
浦伟德: "浅谈预应力仓库张拉工艺", 《港口科技动态》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114841432B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gzara et al. | The pallet loading problem: Three-dimensional bin packing with practical constraints | |
Morabit et al. | Machine-learning–based column selection for column generation | |
Derigs et al. | Vehicle routing with compartments: applications, modelling and heuristics | |
Karabulut et al. | A hybrid genetic algorithm for packing in 3D with deepest bottom left with fill method | |
CN111178606B (zh) | 基于nsga-ii的自动化仓储货位分配优化方法 | |
Gademann et al. | An order batching algorithm for wave picking in a parallel-aisle warehouse | |
Hokama et al. | A branch-and-cut approach for the vehicle routing problem with loading constraints | |
CN112085385A (zh) | 基于订单的稳定混箱垛型供箱序列的生成系统及其方法 | |
JP7453722B2 (ja) | 多分木探索に基づく多箱型3次元積載の最適化方法及びシステム | |
CN109665328A (zh) | 一种动态优化箱子码垛方法、信息数据处理终端 | |
CN109597304B (zh) | 基于人工蜂群算法的模具库智能分区存储方法 | |
Khebbache-Hadji et al. | Heuristics and memetic algorithm for the two-dimensional loading capacitated vehicle routing problem with time windows | |
CN109669934A (zh) | 一种切合电力客服业务的数据仓库系统及其构建方法 | |
CN105718480B (zh) | 一种基于地理信息的海量三维数据调度的方法 | |
CN107977756B (zh) | 解决三维装箱问题的三叉树规划计算方法 | |
CN108475212A (zh) | 使用动态分区来处理数据 | |
Ting et al. | Multi-vehicle selective pickup and delivery using metaheuristic algorithms | |
CN107748975A (zh) | 仓库存储面积计算方法、获取方法以及仓库建立方法 | |
CN107203865B (zh) | 一种订单的分配方法和装置 | |
Zhu et al. | Design and analysis of a satellite network with direct delivery in the pharmaceutical industry | |
CN114841432B (zh) | 一种管材套管与装箱优化方法及系统 | |
CN115271596A (zh) | 一种货物装载方法、装置、设备和存储介质 | |
CN113722921B (zh) | 一种车厢装载系统及方法 | |
CN117252037B (zh) | 三维装箱方法、装置、电子设备及存储介质 | |
CN112700194B (zh) | 基于特征优先原则和拆分组合的库位分配系统及方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |