CN113052514A - 资源分配的方法、装置、设备、存储介质及程序产品 - Google Patents

资源分配的方法、装置、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN113052514A
CN113052514A CN202110554687.3A CN202110554687A CN113052514A CN 113052514 A CN113052514 A CN 113052514A CN 202110554687 A CN202110554687 A CN 202110554687A CN 113052514 A CN113052514 A CN 113052514A
Authority
CN
China
Prior art keywords
resources
demand
inventory
data
resource
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
Application number
CN202110554687.3A
Other languages
English (en)
Other versions
CN113052514B (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.)
Hai Robotics Co Ltd
Original Assignee
Shenzhen Hairou Innovation Technology Co Ltd
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 Shenzhen Hairou Innovation Technology Co Ltd filed Critical Shenzhen Hairou Innovation Technology Co Ltd
Priority to CN202111108127.1A priority Critical patent/CN113807711A/zh
Priority to CN202110554687.3A priority patent/CN113052514B/zh
Priority to CN202111109548.6A priority patent/CN113723867B/zh
Priority to CN202111109554.1A priority patent/CN113807714B/zh
Publication of CN113052514A publication Critical patent/CN113052514A/zh
Application granted granted Critical
Publication of CN113052514B publication Critical patent/CN113052514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • 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
    • 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/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Evolutionary Computation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

本申请提供一种资源分配的方法、装置、设备、存储介质及程序产品。本申请的方法,通过在根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源,释放发生变化的需求对应的第一分配结果和/或发生变化的资源对应的第一分配结果,并为所述发生变化的需求重新分配资源,从而实现对在进行资源分配期间发生扰动的第一分配结果进行修复,极大地减少资源分配结果中不可行的分配结果,提高了资源分配结果在实际执行中的可行性。

Description

资源分配的方法、装置、设备、存储介质及程序产品
技术领域
本申请涉及智能仓储技术,尤其涉及一种资源分配的方法、装置、设备、存储介质及程序产品。
背景技术
在智能仓储系统中,当订单进入仓储系统并将其分配到操作台后,需为订单匹配库存箱中所存储的SKU(Storage Keeping Unit,库存量单位)及拣选数量,以满足每个操作台对该SKU的需求。所生成的匹配结果, 可认为是一个任务的集合,这些任务集合会下发到机器人或拣货人员进行拣货。对于同一批订单,更合理的生成任务,可使得总体拣货过程所消耗的时间资源更少。
目前,为操作台分配库存SKU的计算过程是基于订单需求、SKU库存等初始输入环境数据确定资源分配结果,实现资源分配。资源分配过程需要较长的时间,如果在资源分配过程中环境数据发生改变,会影响资源分配结果在实际执行中的可行性,资源分配结果的可行性差。
发明内容
本申请提供一种资源分配的方法、装置、设备、存储介质及程序产品,用以提高为操作台分配库存的结果的可行性。
一方面,本申请提供一种资源分配方法,包括:
在根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源,其中,所述第一分配结果中包括为需求分配的资源;释放发生变化的需求对应的第一分配结果,和/或,发生变化的资源对应的第一分配结果;根据当前时刻的需求的数据和资源的库存数据,为所述发生变化的需求重新分配资源,得到第二分配结果。
一种可选地实施方式中,所述根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果,包括:响应于资源分配请求,所述资源分配请求包括第一时刻的需求的数据和资源的库存数据,根据所述第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个所述需求的第一分配结果。
一种可选地实施方式中,所述根据第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源,包括:响应于资源分配结果请求,所述资源分配结果请求包括所述第二时刻的需求的数据和资源的库存数据,根据所述第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源。
一种可选地实施方式中,根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果,包括:根据所述第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个所述需求进行以下资源分配处理:根据第一库存箱中的未分配资源,为当前需求分配所述第一库存箱中的未分配资源,所述第一库存箱为与当前需求对应的第一操作台关联的库存箱;若所述第一库存箱中的未分配资源不满足所述当前需求,则为所述当前需求分配第二库存箱中的资源,所述第二库存箱为未关联到任何操作台的库存箱;若所述第二库存箱中的资源不满足所述当前需求,则根据与第二操作台关联的第三库存箱中的未分配资源,为所述当前需求分配所述第三库存箱中的未分配资源,所述第二操作台为除所述第一操作台之外的任意操作台;其中,任一操作台关联的库存箱是指箱内的至少一个资源已分配给该操作台的库存箱。
一种可选地实施方式中,所述根据第一库存箱中的未分配资源,为当前需求分配所述第一库存箱中的未分配资源,包括:若所述第一库存箱中存在至少一个第四库存箱,任一所述第四库存箱内的未分配资源满足所述当前需求,则根据任一所述第四库存箱内的未分配资源,为所述当前需求分配资源;若所述第一库存箱中不存在所述第四库存箱,则将未分配资源最多的第一库存箱中的未分配资源,分配给所述当前需求。
一种可选地实施方式中,所述根据任一所述第四库存箱内的未分配资源,为所述当前需求分配资源,包括:根据未分配资源最少的第四库存箱内的未分配资源,为所述当前需求分配资源。
一种可选地实施方式中,所述为所述当前需求分配第二库存箱中的资源,包括:若所述第二库存箱中存在至少一个第五库存箱,任一所述第五库存箱内的未分配资源满足所述当前需求,则根据任一所述第五库存箱内的未分配资源,为所述当前需求分配资源;若所述第二库存箱中不存在所述第五库存箱,则将未分配资源最多的第二库存箱中的未分配资源,分配给所述当前需求。
一种可选地实施方式中,所述根据任一所述第五库存箱内的未分配资源,为所述当前需求分配资源,包括:根据与所述第一操作台距离最近的第五库存箱内的未分配资源,为所述当前需求分配资源。
一种可选地实施方式中,所述根据与第二操作台关联的第三库存箱中的未分配资源,为所述当前需求分配所述第三库存箱中的未分配资源,包括:若所述第三库存箱中存在至少一个第六库存箱,任一所述第六库存箱内的未分配资源满足所述当前需求,则根据任一所述第六库存箱内的未分配资源,为所述当前需求分配资源;若所述第三库存箱中不存在所述第六库存箱,则将未分配资源最多的第三库存箱中的未分配资源,分配给所述当前需求。
一种可选地实施方式中,所述根据任一所述第六库存箱内的未分配资源,为所述当前需求分配资源,包括:确定每个所述第六库存箱关联的操作台的数量;根据关联的操作台的数量最少的第六库存箱中的未分配资源,为所述当前需求分配资源。
一种可选地实施方式中,所述根据所述第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个所述需求进行以下资源分配处理,包括:根据所述第一时刻的需求的数据和资源的库存数据,对所述需求进行筛选处理,得到第一需求集合,所述第一需求集合包括:对应的第一资源的数量与目标资源的未分配需求数量的差最小的需求,其中所述第一资源是所述需求对应的操作台关联的库存箱内未分配的所述目标资源;对所述第一需求集合中的每个需求进行所述资源分配处理;若存在未满足的需求,则对未满足的需求进行所述筛选处理,得到新的第一需求集合,并对新的第一需求集合中的每个需求进行所述资源分配处理,直至满足所有需求。
一种可选地实施方式中,所述利用启发式构造算法,对每个所述需求进行以下资源分配处理之前,还包括:根据所述第一时刻的需求的数据和资源的库存数据,确定初始的需求集合和初始的资源集合,所述初始的需求集合包含所有需求,每个所述需求包括任一操作台对任一资源的需求数量,所述初始的资源集合包含多个资源库存信息,每个所述资源库存信息用于记录任一资源在任一存储箱的库存数量。
一种可选地实施方式中,所述根据所述第一时刻的需求的数据和资源的库存数据,确定初始的需求集合和初始的资源集合之后,还包括:根据所述初始的需求集合和初始的资源集合,确定每个所述需求对应的候选资源集合,所述候选资源集合包括所述需求所需资源对应的资源库存信息;在为任一需求分配资源时,从所述需求对应的候选资源集合中确定为所述需求分配的资源。
一种可选地实施方式中,所述根据所述第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个所述需求进行以下资源分配处理,还包括:存储并更新每个操作台与库存箱的关联信息。
一种可选地实施方式中,所述根据所述第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个所述需求进行以下资源分配处理,还包括:存储并更新每个操作台关联的库存箱内的未分配资源的数量。
一种可选地实施方式中,在根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果之后,还包括:对所述第一分配结果进行至少一次优化处理。
一种可选地实施方式中,所述对所述第一分配结果进行至少一次优化处理,包括:利用爬山算法对所述第一分配结果进行第一优化处理,并利用模拟退火算法对第一次优化处理后的第一分配结果进行第二次优化处理。
一种可选地实施方式中,利用邻域搜索算法对当前的分配结果进行优化处理,包括:对当前的分配结果进行至少一次以下迭代优化处理:释放任一操作台关联的任一库存箱内的已分配资源对应的分配结果;根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解;根据所述邻域可行解,对当前的分配结果再次进行优化处理。
一种可选地实施方式中,还包括:当对分配结果进行所述迭代优化处理的次数大于或等于迭代次数阈值时,清除已存储的禁忌信息。
一种可选地实施方式中,所述根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解之前,还包括:生成并存储所述操作台和所述库存箱对应的禁忌信息,所述禁忌信息用于禁止将所述库存箱内的资源分配给所述操作台的需求。
一种可选地实施方式中,所述根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解之前,还包括:根据已存储的禁忌信息,若确定无法满足至少一个需求,则根据所述禁忌信息对应的时间戳,删除至少一条所述禁忌信息。
另一方面,本申请提供一种资源分配装置,包括:
数据获取模块,用于在根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源,其中,所述第一分配结果中包括为需求分配的资源;扰动修正模块,用于释放发生变化的需求对应的第一分配结果,和/或,发生变化的资源对应的第一分配结果;根据当前时刻的需求的数据和资源的库存数据,为所述发生变化的需求重新分配资源,得到第二分配结果。
另一方面,本申请提供一种资源分配设备,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器运行所述计算机程序时实现上述任一项所述的方法。
另一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述任一项所述的方法。
另一方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一项所述的方法。
本申请提供的资源分配的方法、装置、设备、存储介质及程序产品,通过在根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源,释放发生变化的需求对应的第一分配结果和/或发生变化的资源对应的第一分配结果,并为所述发生变化的需求重新分配资源,从而实现对在进行资源分配期间发生扰动的第一分配结果进行修复,极大地减少资源分配结果中不可行的分配结果,提高了资源分配结果在实际执行中的可行性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例一提供的资源分配方法流程图;
图2为本申请实施例二提供的资源分配方法流程图;
图3为本申请实施例三提供的资源分配方法流程图;
图4为本申请实施例三提供的第一存储器的示意图;
图5为本申请实施例三提供的第二存储器的示意图;
图6为本申请实施例三提供的一种领域算子的框架图;
图7为本申请实施例四提供的资源分配装置的结构示意图;
图8为本申请实施例五提供的资源分配装置的结构示意图;
图9为本发明实施例六提供的资源分配设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请实施例所涉及的名词进行解释:
SKU(Storage Keeping Unit,库存量单位)是库存进出计量的基本单位,也称为库存基本计量单位,可以是以件,盒,托盘等为单位。货物可以通过SKU来表示,货物种类可以是指SKU种类,不同的SKU对应不同的种类。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
本申请提供的资源分配方法,具体可以应用于如下场景:当订单进入系统并将订单分配到对应操作台后,需要基于操作台的订单需求匹配库存箱中所存储的SKU及拣选数量,以满足操作台对该SKU的需求。所得到的匹配结果可以认为是一个任务的集合, 这些集合会下发到机器人或拣货人员进行拣货。
资源分配的问题是一个组合优化的问题,“订单-库存箱”的优化匹配问题为NP-Hard 问题。作为组合优化问题,其求解方法包括以下4类:
1)精确求解方法:通过对问题建模成整数线性规划问题(ILP)或约束满足问题(CSP),并使用相应精确方法进行计算,包括但不限于单纯型法,列生成法,内点法等。 该类方法优势为可准确找到当前问题的最优解。然而,随着电商等商业模式的快速发展,问题的规模也不断提升, 因此,精确求解方法已无法在合理时间内完成求解过程。 因此在实际应用场景中求解订单-操作台-库存箱匹配问题中,该方法鲜有应用。
2)机器学习方法:该类方法主要使用机器学习相关技术,包括但不限与监督/无监督学习,强化学习等技术。该类方法首先根据已有的海量数据(增强学习不需要数据),使用大量时间及计算资源训练整体模型(包括策略模型),并把该模型应用在问题求解中。根据所训练的模型构造可行解。此类算法可在大规模问题中快速构造质量相对较好的解。然而,在实际应用当中面临以下问题:1.如果问题需求发生改变,需要重新建立并训练模型。 重新训练模型的过程需要经历完整数据清洗,特征筛选等过程。增加大量开发投入。2.即使针对同一问题,如果问题规模或环境发生改变,原本数据训练的模型也不再适用。对于增强学习,如使用马尔科夫决策过程模型进行理解, 当环境发生改变, 其奖励及回报模型也会发生改变,因此需要重新训练模型。3.模型训练精度与数据的质量及数量强相关。很多项目在开始时并没有海量数据进行训练。4. 现有求解组合优化问题的机器学习求解方法依旧在探索阶段, 总体表现并不突出,无法与元启发或超启发等迭代优化算法相比。
3)启发式构造方法:该类算法为人工智能在大规模组合优化问题求解中的最早应用。 主要理念是模拟人类在求解组合优化问题中所使用的策略对问题进行求解。对于匹配优化问题, 可以理解为使用一组资源去更好的满足一组需求。启发式构造算法为均为迭代算法。 每一个循环中,使用需求选择启发策略从未解决的需求中选择一个需求,并使用资源 选择启发策略从可满足的资源中选择进行匹配。 该方法可在极短的时间内生成直觉上较优的解,且算法较容易被理解及实现。 另外求解过程与问题规模相关性较小,不会随着问题规模的提高而大量增加完备解生成时间。 因此,在产业界得到广泛应用。 然而该类算法却面对以下缺点:1.启发策略与问题强相关。当问题的维度或(强/弱)约束发生改变。会造成原有启发策略不再适用,需要重新开发资源及需求的启发策略。然而启发策略的开发,需要基于行业经验及数学模型,开发成本较大。需要较多的试错过程。2.因构造算法其行为模式决定其无法在可行解范围内进行探索。 在求解大规模NP-Hard 问题时,启发式策略无法对其进行完美解耦。 会存在大量的潜在优化解没有被发现, 优化深度浅。
4)两步优化方法:以上1)-3)三类算法均可归类为一步优化方法。另外一种方法为二步优化方法,该类算法分主要为两步:第一步:构造初始可行解。通常可使用随机构造算法或启发式构造算法进行构造。第二步:迭代优化可行解,搜索优化解。通常使用元启发、超启发模式,从可行解开始进行迭代搜索优化,使用元启发搜索策略对在可行解域内搜索最优解。
该类算法被广泛应用在大规模组合优化求解。主要有三个优点:(1)可行解构造过程耗时短,可在算法执行初期判定输入数据是否可以生成可行解。(2)优化过程是在可行解范围内搜索,逐步搜索更好的解。无论何时停止,都可以返回一个停止时获得的最优解且该解可行。(3)优化过程如使用元启发算法,优化算法设计会与问题模型脱离。问题模型的改动,无需对优化算法进行改动。仅需对随机搜索方式进行改动,过程也仅仅需要考虑解是否可行,通常无需考虑质量。并且,因为优化算法可对解的质量进行优化,对初始解的构造算法的优化能力依赖较弱,通常在构造算法只关注解是否可行且完备,而不考虑解质量。因此,二步优化在问题模型出现变动的情况下,开发成本更低,且在可以接受的时间范围内,根据输入数据,得到优化解。
然而,尽管二步优化模型有如上优势,并且在很多基于假设被简化的标准组合优化问题模型中取得了最好的表现。但在实际应用中,尤其对环境动态改变的场景中的应用比较局限。主要由如下原因引起:1. 二步优化类算法求解过程较长,通常为十秒级或分钟级。且为了保证算法的探索能力,以及对将算法与求解问题模型解耦,会引入随机机制。使得求解过程收敛速度较慢,需要使用较多的计算时间及资源。2. 因为使用较多时间进行优化计算,且计算过程始终是基于初始输入数据求解。如果优化求解期间环境(问题)发生扰动,则会影响计算完成后的输出结果在实际执行中的可行性。部分方案中,会将“订单-操作台-库存”匹配问题建模成动态优化问题。即每一次环境发生扰动,都会通知算法更改更改问题数据,并根据扰动对问题模型及结果进行修复。但对于扰动较多的场景,每一次扰动都调整问题,并对解进行修复,会占用大量计算资源。另外,传统仓库管理系统(WMS)等库存系统的设计模式使用应答式交互模式。对于动态问题模型的兼容能力较差。 如开发环境改变侦测模块,并实时下发给求解器,开发成本较大。
本申请将为操作台的需求匹配库存箱中的SKU及拣选数量的过程,称为资源分配的过程,所得到的匹配结果也就是资源分配结果。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
图1为本申请实施例一提供的资源分配方法流程图。本申请提供的资源分配方法的执行主体是资源分配设备,该资源分配设备可以是智能仓储系统中的仓储管理系统,或者是其他用于进行资源分配的电子设备,本实施例此处不做具体限定。如图1所示,该方法具体步骤如下:
步骤S101、在根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在第一时刻至第二时刻期间发生变化的需求和资源,其中,第一分配结果中包括为需求分配的资源。
其中,第一时刻早于第二时刻。第一时刻的需求的数据可以包括在第一时刻任一操作台对任一SKU的需求,第一时刻的资源的库存数据包括在第一时刻各库存箱中的SKU及SKU的库存数量等信息。
第一时刻的需求的数据和资源的库存数据,可以根据第一时刻的订单信息和操作台信息来确定,第一时刻的资源的库存数据可以根据第一时刻的仓储系统的库存信息确定。
资源分配设备获取第一时刻的需求的数据和资源的库存数据,并根据第一时刻的需求的数据和资源的库存数据,进行资源分配,得到第一分配结果,第一分配结果中包括为任一需求分配的资源。
在实际应用中,考虑到在根据第一时刻的需求的数据和资源的库存数据进行资源分配期间,系统中的需求和资源都有可能会发生变化,会影响第一分配结果在实际执行中的可行性。
本实施例中,在根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,资源分配设备可以获取第二时刻的需求的数据和资源的库存数据,并确定在第一时刻至第二时刻期间发生变化的需求和资源。
步骤S102、释放发生变化的需求对应的第一分配结果,和/或,发生变化的资源对应的第一分配结果。
若确定存在在第一时刻至第二时刻期间发生变化的需求,则确定发生变化的需求对应的第一分配结果,并释放发生变化的需求对应的第一分配结果。其中,任一需求对应的第一分配结果是为该需求分配任一资源的分配结果。
若确定存在在第一时刻至第二时刻期间发生变化的资源,则确定发生变化的资源对应的第一分配结果,并释放发生变化的资源对应的第一分配结果。其中,任一资源对应的分配结果是指将该资源分配给任一需求的分配结果。
步骤S103、根据当前时刻的需求的数据和资源的库存数据,为发生变化的需求重新分配资源,得到第二分配结果。
在释放发生变化的需求对应的第一分配结果和/或发生变化的资源对应的第一分配结果之后,根据当前时刻的需求的数据和资源的库存数据,为发生变化的需求重新分配资源,以实现对在进行资源分配期间发生扰动的第一分配结果进行局部匹配修复,得到第二分配结果。至此,得到满足第一时刻的所有需求的资源分配结果。
本申请实施例通过在根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在第一时刻至第二时刻期间发生变化的需求和资源,释放发生变化的需求对应的第一分配结果和/或发生变化的资源对应的第一分配结果,并为发生变化的需求重新分配资源,从而实现对在进行资源分配期间发生扰动的第一分配结果进行修复,极大地减少资源分配结果中不可行的分配结果,提高了资源分配结果在实际执行中的可行性。
实施例二
图2为本申请实施例二提供的资源分配方法流程图。在上述实施例一的基础上,本实施例中,采用二次请求模式,首次请求发生在t0 时刻,系统发送包含t0时刻的输入数据d0的第一次请求,请求资源分配设备开始进行资源分配。资源分配设备根据d0进行资源分配,得到第一分配结果。在t1时刻,系统发送包含t1时刻的输入数据d1的第二次请求,请求资源分配设备进行资源分配结果进行局部匹配修复。资源分配设备已经找到t1-t0期间的优化解(即第一分配结果), 资源分配设备根据d0与d1的差别自动计算t1-t0期间系统发生的扰动,并在第一分配结果中侦测到哪些需求的匹配不可行,将这部分匹配结果从第一分配结果中删除,并对这些需求进行局部匹配修复(也即为未满足的需求重新分配资源),得到第二分配结果。因基于第二次请求进行局部匹配修复的过程只是对极小一部分分配结果进行重新构造,因此修复的时间极短。通过二次请求的模式,极大程度上减少了资源分配执行期间环境扰动引起资源分配结果无法执行的可能性。
如图2所示,该方法具体步骤如下:
步骤S201、响应于资源分配请求,资源分配请求包括第一时刻的需求的数据和资源的库存数据,根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果。
本实施例中,资源分配请求是系统向资源分配设备发送的第一次请求。资源分配请求包含第一时刻的输入数据,用于请求资源分配设备根据第一时刻的输入数据进行资源分配。
其中,第一时刻的输入数据可以包含第一时刻的需求的数据和资源的库存数据。
示例性地,系统发送的资源分配请求可以包括第一时刻的订单信息,操作台信息,库存信息等输入数据。资源分配设备对第一时刻的输入数据进行数据预处理,可以得到第一时刻的需求的数据和资源的库存数据。
资源分配设备根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果,可以采用能够实现类似功能的资源分配的算法实现,本实施例此处不做具体限定。
其中,资源分配设备根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果,可以包括构造初始解及对初始解进行优化的过程,直至达到终止时刻(如第二时刻)后,得到优化后的可行解,也即第一分配结果。
示例性地,可以采用精确求解的方法、机器学习方法、启发式构造方法、两步优化方法等实现资源分配,得到第一分配结果,此处不再赘述。
一种可选地实施方式中,资源分配设备根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果,这一过程的具体实施方式可以通过实施例三提供的方法实现,详见实施例三。
可选地,在资源分配设备根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,资源分配设备可以向系统发送通知消息。该通知消息用于通知资源分配已完成。系统在接收到该通知消息之后,向资源分配设备发送资源分配结果请求。
步骤S202、响应于资源分配结果请求,资源分配结果请求包括第二时刻的需求的数据和资源的库存数据,根据第二时刻的需求的数据和资源的库存数据,确定在第一时刻至第二时刻期间发生变化的需求和资源。
其中,资源分配结果请求是系统向资源分配设备发送的第二次请求。资源分配请求包含第二时刻的输入数据,用于请求资源分配设备根据第二时刻的输入数据进行资源分配结果的局部匹配修复。第二时刻的输入数据可以包含第二时刻的需求的数据和资源的库存数据。
示例性地,系统发送的资源分配结果请求可以包括第二时刻的订单信息,操作台信息,库存信息等输入数据。资源分配设备对第二时刻的输入数据进行数据预处理,可以得到第二时刻的需求的数据和资源的库存数据。
示例性地,第二时刻与第一时刻的间隔时长可以根据实际应用场景的需要进行设置和调整,本实施例此处不做具体限定。在第一时刻至第二时刻期间,系统的外部环境或许会发生一些相关的扰动,这些扰动会导致部分需求和/或资源发生更改,会影响第一分配结果在实际执行中的可行性。
资源分配设备可以根据第一时刻的需求的数据和资源的库存数据,和第二时刻的需求的数据和资源的库存数据,确定在第一时刻至第二时刻期间发生变化的需求和资源。
步骤S203、释放发生变化的需求对应的第一分配结果,和/或,发生变化的资源对应的第一分配结果。
若确定存在在第一时刻至第二时刻期间发生变化的需求,则确定发生变化的需求对应的第一分配结果,并释放发生变化的需求对应的第一分配结果。其中,任一需求对应的第一分配结果是为该需求分配任一资源的分配结果。
若确定存在在第一时刻至第二时刻期间发生变化的资源,则确定发生变化的资源对应的第一分配结果,并释放发生变化的资源对应的第一分配结果。其中,任一资源对应的分配结果是指将该资源分配给任一需求的分配结果。
步骤S204、根据当前时刻的需求的数据和资源的库存数据,为发生变化的需求重新分配资源,得到第二分配结果。
在释放发生变化的需求对应的第一分配结果和/或发生变化的资源对应的第一分配结果之后,这些发生变化的需求未被满足,根据当前时刻的需求的数据和资源的库存数据,为发生变化的需求重新分配资源,以实现对在进行资源分配期间发生扰动的第一分配结果进行局部匹配修复,得到第二分配结果。至此,得到满足第一时刻的所有需求的资源分配结果。
该步骤中,为发生变化的需求重新分配资源的实现方式,与步骤S201中为每个需求分配资源的方式一致,此处不再赘述。
在为发生变化的需求重新分配资源之后,将所有需求的分配结果反馈给系统,使得系统根据资源分配结果,生成对应的任务集合,并下发到机器人或拣货人员进行拣货。
本实施例通过二次请求模式,减少了对传统系统(如仓储管理系统WMS)的改造难度同时减少了进行资源分配的时间限制。进行资源分配完成得到分配结果后,在接受到第二次请求后,仅仅对部分解进行可行性修复,提高了资源分配结果在实际执行中的可行性。
本申请实施例通过二次请求模式,将发送资源分配请求和资源分配结果请求分成两个步骤,能够在根据第一时刻的数据进行资源分配完成后,根据第二时刻的数据确定在第一时刻至第二时刻期间发生变化的需求和资源,释放发生变化的需求和/或资源对应的第一分配结果,并为发生变化的需求重新分配资源,从而实现对在进行资源分配期间发生扰动的第一分配结果进行修复,极大地减少资源分配结果中不可行的分配结果,提高了资源分配结果在实际执行中的可行性。
实施例三
图3为本申请实施例三提供的资源分配方法流程图。在上述实施例一或实施例二的基础上,本实施例中,对资源分配设备进行资源分配的具体实现方式进行详细地说明。
本实施例中,资源分配问题为有约束的二元匹配问题。在建模过程中,将问题的模 型分解为资源集合
Figure DEST_PATH_IMAGE001
、需求集合
Figure 55874DEST_PATH_IMAGE002
及匹配集合
Figure DEST_PATH_IMAGE003
其中,资源(用
Figure 379539DEST_PATH_IMAGE004
表示)的定义为:库存箱(用
Figure DEST_PATH_IMAGE005
表示)存放资源(用
Figure 424856DEST_PATH_IMAGE006
表示)的数 量(用
Figure DEST_PATH_IMAGE007
表示),这里表示为
Figure 226589DEST_PATH_IMAGE008
的组合。
需求(用
Figure DEST_PATH_IMAGE009
表示)的定义为:操作台(用
Figure 572120DEST_PATH_IMAGE010
表示)需要资源
Figure 660162DEST_PATH_IMAGE006
的数量(用
Figure DEST_PATH_IMAGE011
表示),这里表示为
Figure 566676DEST_PATH_IMAGE012
的组合。
匹配集合
Figure 31155DEST_PATH_IMAGE003
定义了问题解(也即资源分配结果)的表达形式,其中每一 个匹配(
Figure DEST_PATH_IMAGE013
)的定义为:需求
Figure 965613DEST_PATH_IMAGE009
被资源
Figure 224556DEST_PATH_IMAGE004
中满足
Figure 119831DEST_PATH_IMAGE014
个单位,这里表示为
Figure DEST_PATH_IMAGE015
的组合。
本资源分配问题被定义为:使用资源
Figure 388001DEST_PATH_IMAGE001
来满足
Figure 911386DEST_PATH_IMAGE002
中的每个需 求, 从而生成相应的
Figure 606810DEST_PATH_IMAGE016
匹配集合,并有如下定义目标函数,且需满足以下约束 条件:
目标函数1:所分配的库存箱距离其被分配的操作台的距离(用
Figure DEST_PATH_IMAGE017
表示)总和 最小。总距离每增加一定距离,对解的惩罚函数影响为增加对应值。例如,总距离每增加1 米,对解的惩罚函数影响为增加1。
目标函数2:操作台个数(用
Figure 989381DEST_PATH_IMAGE018
表示)大于一个的可能性最少。某个库存 箱
Figure DEST_PATH_IMAGE019
被分配的操作台数(
Figure 530084DEST_PATH_IMAGE018
)如果大于1,则其对解的惩罚函数影响为大于1的常数 (用
Figure 439134DEST_PATH_IMAGE020
表示)的
Figure DEST_PATH_IMAGE021
次方,即。
约束条件1:每个需求都必须被满足。
约束条件2:每个需求所匹配的资源及占用资源的数量必须等于需求中被需要的数量。
约束条件3:每个需求仅仅可以用具有相同SKU的资源匹配。
约束条件4:每个资源被每个需求占用的总量不可以超过需求中SKU所拥有的总数。
约束条件5:每个匹配中,需求所占用的资源数量为自然数。
基于上述问题建模,如图3所示,该方法具体步骤如下:
步骤S301、获取第一时刻的需求的数据和资源的库存数据。
该步骤中,资源分配设备可以根据系统提供的第一时刻的输入数据,确定第一时刻的需求的数据和资源的库存数据。
示例性地,第一时刻的输入数据可以包括第一时刻的操作台信息、订单信息和库存信息。
其中,操作台信息包括:每个操作台位置信息,已经分配到每个操作台的库存箱。已经分配到每个操作台的库存箱可以是已分配到该操作台即将到来的、以及已经在该操作台的库存箱。
订单信息包括:每个订单的SKU及其数量,每个订单被分配在的操作台。
库存信息包括:每个库存箱中放置的SKU及其数量,每个箱子的位置。其中库存箱的位置可以是库存箱所在的位置坐标(例如经纬度)。
资源分配设备根据第一时刻的操作台信息和订单信息,可以确定第一时刻任一操作台的需求的数据,包括任一操作台需求的SKU及数量等。
资源分配设备根据第一时刻的库存信息,可以确定在第一时刻资源的库存数据,包括任一SKU所在的库存箱及该库存箱中该SKU的数量等。
示例性地,在实际应用中,可以每间隔一段时间,针对该段时间内的订单进行资源分配,以满足该段时间内的所有需求。
步骤S302、根据第一时刻的需求的数据和资源的库存数据,确定初始的需求集合和初始的资源集合。
其中,初始的需求集合包含所有需求,每个需求包括任一操作台对任一资源的需求数量。
初始的资源集合包含多个资源库存信息,每个资源库存信息用于记录任一资源在任一存储箱的库存数量。
该步骤中,根据第一时刻的需求的数据和资源的库存数据,生成初始的需求集合
Figure 39879DEST_PATH_IMAGE022
首先,收集全部订单所需要的SKU,并生成SKU的需求集合
Figure DEST_PATH_IMAGE023
={
Figure 175326DEST_PATH_IMAGE024
}。
Figure 254140DEST_PATH_IMAGE023
集合中包括全部订单所需要的SKU。
同时,根据分配到操作台的订单,生成如下初始的需求集合
Figure 17697DEST_PATH_IMAGE022
Figure 54923DEST_PATH_IMAGE022
= {{
Figure DEST_PATH_IMAGE025
,
Figure 910621DEST_PATH_IMAGE026
},{
Figure DEST_PATH_IMAGE027
,
Figure 324285DEST_PATH_IMAGE028
},{
Figure DEST_PATH_IMAGE029
,
Figure 817714DEST_PATH_IMAGE030
},… ,{
Figure DEST_PATH_IMAGE031
,
Figure 291421DEST_PATH_IMAGE032
}}。
其中,
Figure DEST_PATH_IMAGE033
为集合
Figure 994935DEST_PATH_IMAGE022
中第
Figure DEST_PATH_IMAGE035
个元素,代表操作台
Figure 822077DEST_PATH_IMAGE036
需要
Figure DEST_PATH_IMAGE037
这一SKU的总量为
Figure 825805DEST_PATH_IMAGE038
,是操作台
Figure 80200DEST_PATH_IMAGE036
的一个需求,其中
Figure DEST_PATH_IMAGE039
进一步地,根据SKU的需求集合
Figure 271010DEST_PATH_IMAGE023
和资源的库存数据,生成初始的资源集合
Figure 760897DEST_PATH_IMAGE040
根据输入数据中的每条订单所需的SKU及库存箱的库存信息,整理出资源集合
Figure DEST_PATH_IMAGE041
。该集合中的第
Figure 727453DEST_PATH_IMAGE035
个元素为
Figure 277383DEST_PATH_IMAGE042
,定义为一个资源
Figure DEST_PATH_IMAGE043
,代表库存 箱
Figure 955489DEST_PATH_IMAGE044
中储存
Figure 249068DEST_PATH_IMAGE037
的件数为
Figure 571596DEST_PATH_IMAGE038
遍历
Figure 761268DEST_PATH_IMAGE041
集合,并删除
Figure 926671DEST_PATH_IMAGE041
中的以下元素:元素的SKU不在任何操作 台的需求中。所得的集合即为资源集合
Figure 758360DEST_PATH_IMAGE040
,该集合中第
Figure 325608DEST_PATH_IMAGE035
个元素
Figure 827128DEST_PATH_IMAGE043
Figure 214247DEST_PATH_IMAGE042
,是一个资源,代表库存箱
Figure 849627DEST_PATH_IMAGE044
中储存
Figure 5802DEST_PATH_IMAGE037
的件数为
Figure 802857DEST_PATH_IMAGE038
至此,将库存分配问题整理为如上两个集合:需求集合
Figure 818217DEST_PATH_IMAGE022
及资源集合
Figure 257289DEST_PATH_IMAGE040
,并将库存分配问题规划为资源分配问题,即需要使用相应的库存箱满足每个操 作台中对SKU的需求。
步骤S303、根据初始的需求集合和初始的资源集合,确定每个需求对应的候选资源集合,候选资源集合包括需求所需资源对应的资源库存信息。
本实施例中,在确定初始的需求集合和初始的资源集合之后,可以针对每个需求(
Figure 533549DEST_PATH_IMAGE009
), 生成需求对应的候选资源集合(用
Figure DEST_PATH_IMAGE045
表示)。在为任一需求分配资源 时,从需求对应的候选资源集合中确定为需求分配的资源,能够提高资源分配的效率。
示例性地,可以采用算法1,生成每个需求对应的候选资源集合,算法1生成每个需求对应的候选资源集合的流程如下:
1 CandidateReqAll ← Φ // 记录每个需求对应的候选资源,初始是空
2 FOR在Requests集合中的每一个需求req
3
Figure 767085DEST_PATH_IMAGE046
←req所需要的SKU;
4
Figure DEST_PATH_IMAGE047
← Φ;
5 FOR 在 Resouces 集合中的每一个资源res
6
Figure 768277DEST_PATH_IMAGE048
← res中提供的sku;
7 IF
Figure 745460DEST_PATH_IMAGE048
Figure 876227DEST_PATH_IMAGE046
相同
8
Figure 15084DEST_PATH_IMAGE047
Figure 739458DEST_PATH_IMAGE047
∪{res}
9 ENDIF
10 ENDFOR
11 CandidateReqAll←CandidateReqAll ∪{<req,
Figure DEST_PATH_IMAGE049
> }
12 ENDFOR
其中,
Figure DEST_PATH_IMAGE051
表示赋值,Φ表示空集合。
在上述算法1中, 首先将用于记录每个需求对应的候选资源集合的集合
Figure 785911DEST_PATH_IMAGE052
初始化为空(行1)。然后,迭代每一个需求
Figure 912130DEST_PATH_IMAGE009
(行2), 并提取出该需求的
Figure DEST_PATH_IMAGE053
。同时,初始化需求
Figure 487468DEST_PATH_IMAGE009
的候选资源集合
Figure 823771DEST_PATH_IMAGE045
(行3-4)。 然后,搜索
Figure 142757DEST_PATH_IMAGE054
集合中的每一个资源
Figure 123483DEST_PATH_IMAGE004
(行5),如果该资源的SKU与
Figure 869722DEST_PATH_IMAGE053
相同,则认为资源
Figure 427742DEST_PATH_IMAGE004
是需求
Figure 550419DEST_PATH_IMAGE009
的一个候选资源,并将
Figure 884186DEST_PATH_IMAGE004
加入到需求
Figure 535747DEST_PATH_IMAGE009
的候选资源集合
Figure 846643DEST_PATH_IMAGE045
中(行 8)。对每个
Figure 507431DEST_PATH_IMAGE022
中的每个需求
Figure 321804DEST_PATH_IMAGE009
,当遍历了
Figure 550791DEST_PATH_IMAGE040
中的每个资源后,得到该需求对 应的候选资源集合,也即得到新的“需求-候选资源集合”映射
Figure DEST_PATH_IMAGE055
,将
Figure 83403DEST_PATH_IMAGE055
加入到集合
Figure 547883DEST_PATH_IMAGE052
中(行11)。最终,
Figure 216761DEST_PATH_IMAGE052
集 合保存了每一个需求对应的候选资源集合。
一种可选地实施方式中,资源分配设备还可以存储并更新每个操作台与库存箱的关联信息。
示例性地,资源分配设备可以维护用于存储操作台与库存箱的关联信息的第一存 储器,用来存储操作台所分配的库存箱集合。例如,如图4所示的“操作台-库存箱 存储器”, 操作台
Figure 475704DEST_PATH_IMAGE056
分配了库存箱
Figure DEST_PATH_IMAGE057
Figure 636558DEST_PATH_IMAGE058
,操作台
Figure DEST_PATH_IMAGE059
未分配任何库存箱,操作台
Figure 639149DEST_PATH_IMAGE060
分配了库存箱
Figure DEST_PATH_IMAGE061
Figure 428114DEST_PATH_IMAGE062
。操作台
Figure DEST_PATH_IMAGE063
分配了库存箱
Figure 998904DEST_PATH_IMAGE064
。其中,库存箱
Figure 240529DEST_PATH_IMAGE058
被同时分配到了操作台
Figure 46811DEST_PATH_IMAGE056
Figure 955861DEST_PATH_IMAGE060
两 个操作台,即出现了跨操作台的情况。
Figure DEST_PATH_IMAGE065
被分配到了一个操作台。
本实施方式中,输入数据中的库存信息,包括已分配到操作台的库存箱的信息,也即部分库存箱已知即将去往某操作台的信息。在数据预处理阶段,资源分配设备把输入数据中已分配到操作台的库存箱与操作台的关联信息记录在用于存储操作台与库存箱的关联信息的第一存储器中。
示例性地,可以以
Figure 196087DEST_PATH_IMAGE066
表示已经分配到操作台
Figure 925009DEST_PATH_IMAGE010
的库存箱集合。
在进行资源分配的过程中,当操作台与库存箱的关联信息发生变化时,资源分配设备还可以实时地更新用于存储操作台与库存箱的关联信息的存储器中的信息。
一种可选地实施方式中,资源分配设备还可以存储并更新每个操作台关联的库存箱内的未分配资源的数量。
示例性地,资源分配设备可以维护用于存储操作台关联的库存箱内的未分配资源 的数量的第二存储器,用来存储当前已经分配到每个操作台的库存箱中所存储的SKU及其 还未分配资源(也即未被需求占用、或者剩余的SKU)的数量。例如,如图5所示的“操作台- SKU-剩余库存 存储器”,操作台
Figure 269403DEST_PATH_IMAGE056
中未分配的
Figure DEST_PATH_IMAGE067
为的数量为32, 未分配的
Figure 32959DEST_PATH_IMAGE068
的数量为 1。操作台
Figure 679973DEST_PATH_IMAGE060
中未分配的
Figure DEST_PATH_IMAGE069
为的数量为2,未分配的
Figure 161769DEST_PATH_IMAGE070
的数量为23, 未分配的
Figure DEST_PATH_IMAGE071
的数 量为2。操作台
Figure 309854DEST_PATH_IMAGE063
中未分配的
Figure 927917DEST_PATH_IMAGE069
为的数量为4。
在数据预处理阶段,资源分配设备根据第一存储器中操作台与库存箱的关联信息,在第二存储器中录入每个库存箱所存储的SKU及其剩余数量,从而第二存储器的初始化。
本实施例中,根据第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,通过步骤S304-S306对每个需求进行资源分配处理。
步骤S304、根据第一库存箱中的未分配资源,为当前需求分配第一库存箱中的未分配资源,第一库存箱为与当前需求对应的第一操作台关联的库存箱。
具体地,该步骤可以采用如下方式实现:
若第一库存箱中存在至少一个第四库存箱,任一第四库存箱内的未分配资源满足当前需求,则根据任一第四库存箱内的未分配资源,为当前需求分配资源。若第一库存箱中不存在第四库存箱,则将未分配资源最多的第一库存箱中的未分配资源,分配给当前需求。
进一步地,根据任一第四库存箱内的未分配资源,为当前需求分配资源时,根据未分配资源最少的第四库存箱内的未分配资源,为当前需求分配资源。
该步骤中,对于每一个需求
Figure 11411DEST_PATH_IMAGE072
,首先会使用已经分配到该需求对应操作台的库存 箱中的未分配资源(也即静态资源)来满足该
Figure 449345DEST_PATH_IMAGE072
(算法2.2中行9-行25),能够提高。
如果分配到该需求对应操作台的库存箱中没有任一
Figure 135542DEST_PATH_IMAGE004
能够独自满足这个
Figure 873691DEST_PATH_IMAGE072
,则 选择其中未分配资源数量(即
Figure DEST_PATH_IMAGE073
)最大的
Figure 987140DEST_PATH_IMAGE004
。如果分配到该需求对应操作台的库存 箱中有至少一个
Figure 53316DEST_PATH_IMAGE004
能够独自满足这个
Figure 277624DEST_PATH_IMAGE072
,则在能够满足这个
Figure 870279DEST_PATH_IMAGE009
的资源
Figure 420210DEST_PATH_IMAGE004
中选择未分配 资源数量(即
Figure 832736DEST_PATH_IMAGE073
)最小的库存箱。
通过该实施方式,能够为该需求优先分配已经关联到该需求对应操作台的库存箱中的未分配资源,能够有效利用已分配到操作台的库存箱,从而获得更优的资源分配结果,能够提高仓储系统的拣选效率。
步骤S305、若第一库存箱中的未分配资源不满足当前需求,则为当前需求分配第二库存箱中的资源,第二库存箱为未关联到任何操作台的库存箱。
本实施例中,该步骤具体可以采用如下方式实现:
若第二库存箱中存在至少一个第五库存箱,任一第五库存箱内的未分配资源满足当前需求,则根据任一第五库存箱内的未分配资源,为当前需求分配资源。若第二库存箱中不存在第五库存箱,则将未分配资源最多的第二库存箱中的未分配资源,分配给当前需求。
进一步地,根据任一第五库存箱内的未分配资源,为当前需求分配资源时,根据与第一操作台距离最近的第五库存箱内的未分配资源,为当前需求分配资源。
该步骤中,如果使用全部静态资源依旧无法满足
Figure 860735DEST_PATH_IMAGE009
, 则使用空闲资源来满足
Figure 693517DEST_PATH_IMAGE009
(算法2.2中行26-行46)。资源是否空闲,取决于该资源所在的库存箱是否被分配到其他操 作台。如果该资源所在的库存箱未被分配到其他操作台,则该资源为空闲资源。
对于空闲资源,首先检测是否存在某个
Figure 148769DEST_PATH_IMAGE004
能够独自满足
Figure 314171DEST_PATH_IMAGE009
的剩余需求数量。如 果存在,则在能够独自满足
Figure 145861DEST_PATH_IMAGE009
Figure 181950DEST_PATH_IMAGE004
中,选择资源所在库存箱距离
Figure 73683DEST_PATH_IMAGE009
对应操作台最近的
Figure 601747DEST_PATH_IMAGE004
来满足
Figure 705970DEST_PATH_IMAGE004
。其中,算法2.2中行31中的
Figure 127724DEST_PATH_IMAGE074
是指req的操作台
Figure 190358DEST_PATH_IMAGE010
与res 所在的库存箱之间的距离。如果不存在某个
Figure 799193DEST_PATH_IMAGE004
能够独自满足
Figure 238265DEST_PATH_IMAGE009
的剩余需求数量,则选择 未分配数量最大的
Figure 389892DEST_PATH_IMAGE004
来匹配
Figure 357848DEST_PATH_IMAGE009
通过该实施方式,能够为该需求优先分配空闲资源,能够尽量避免使用已分配到其他操作台的库存箱中的资源,从而可以避免跨操作台的库存箱的搬运,能够提高仓储系统的拣选效率。
步骤S306、若第二库存箱中的资源不满足当前需求,则根据与第二操作台关联的第三库存箱中的未分配资源,为当前需求分配第三库存箱中的未分配资源,第二操作台为除第一操作台之外的任意操作台。
其中,任一操作台关联的库存箱是指箱内的至少一个资源已分配给该操作台的库存箱。
本实施例中,该步骤具体可以采用如下方式实现:
若第三库存箱中存在至少一个第六库存箱,任一第六库存箱内的未分配资源满足当前需求,则根据任一第六库存箱内的未分配资源,为当前需求分配资源。若第三库存箱中不存在第六库存箱,则将未分配资源最多的第三库存箱中的未分配资源,分配给当前需求。
进一步地,根据任一第六库存箱内的未分配资源,为当前需求分配资源时,确定每个第六库存箱关联的操作台的数量;根据关联的操作台的数量最少的第六库存箱中的未分配资源,为当前需求分配资源。
如果全部空闲资源仍然无法满足
Figure 719559DEST_PATH_IMAGE009
,则使用已分配到其他操作台的资源
Figure DEST_PATH_IMAGE075
(算法2.2中行48-行68)。
首先查看
Figure 431163DEST_PATH_IMAGE076
中是否存在能够独自满足
Figure 827509DEST_PATH_IMAGE009
的剩余需求数量的
Figure 107312DEST_PATH_IMAGE004
,如果存 在,则在能够独自满足
Figure 690740DEST_PATH_IMAGE009
的剩余需求数量的
Figure 206035DEST_PATH_IMAGE004
中选择
Figure 456888DEST_PATH_IMAGE004
所在库存箱关联的操作台数量 最少的
Figure 766647DEST_PATH_IMAGE004
,如果所在库存箱关联的操作台数量最少的
Figure 102950DEST_PATH_IMAGE004
有多个,则随机选取一个。如果
Figure 795837DEST_PATH_IMAGE076
中没有任何资源能够独自满足
Figure 635617DEST_PATH_IMAGE009
的剩余需求数量,则在剩余资源中选择未分配 数量最大的
Figure 381856DEST_PATH_IMAGE004
来满足
Figure 939877DEST_PATH_IMAGE009
本实施例的一种可选的实施方式中,根据第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个需求进行以下资源分配处理时,可以预先筛选出不可静态满足的数量最少的需求,先为这些需求分配库存。
具体地,根据第一时刻的需求的数据和资源的库存数据,对需求进行筛选处理,得到第一需求集合,第一需求集合包括:对应的第一资源的数量与目标资源的未分配需求数量的差最小的需求,其中第一资源是需求对应的操作台关联的库存箱内未分配的目标资源;对第一需求集合中的每个需求进行资源分配处理;若存在未满足的需求,则对未满足的需求进行筛选处理,得到新的第一需求集合,并对新的第一需求集合中的每个需求进行资源分配处理,直至满足所有需求。
示例性地,可以采用算法2.1提供的候选需求选择算法,对需求进行筛选处理,得到第一需求集合。
为了方便对算法2.1和算法2.2的理解,定义如下表1所示的函数:
表1
Figure DEST_PATH_IMAGE077
基于表1提供的函数,算法2.1的具体流程如下:
1 CandidateReq←Φ
2 minAmt←+∞ //用于记录 remAmount的最小值
3 FOR UnassignedReq中每一个需求req
4 station ←req 的操作台
5 remAmount← amt(req)需求 req的需求数量
6 StaticRes ←candidateRes(req)中其库存箱已经被分配到操作台station的资源
7 FOR StaticRes中每一个资源res
8 remAmount ←remAmount -amt(res)
9 ENDFOR //这个循环最终是把最后一个res的未分配数量赋值给remAmount
10 IF minAmt= 0
11 IF remAmount≤ 0
12 CandidateReq←CandidateReq ∪{req}
13 ENDIF
14 ELSE //minAmt不等于 0
15 IF remAmount<minAmt
16 CandidateReq←Φ
17 minAmt ←max(remAmount,0)// remAmount和0中的最大值
18 ENDIF
19 IF max(remAmount,0)= minAmt
20 CandidateReq←CandidateReq ∪{req}
21 ENDIF
22 ENDIF
23 ENDFOR
24 RETURN CandidateReq
上述算法2.1用来在未分配需求
Figure 62553DEST_PATH_IMAGE078
中,根据不可静态满足的数量
Figure DEST_PATH_IMAGE079
,选取其最少或小于等于0(即可全部被静态分配)的需求集合,存入
Figure 897785DEST_PATH_IMAGE080
中,并返回最终得到的
Figure 814926DEST_PATH_IMAGE080
其中,对于可静态满足的需求,该需求中目标资源的需求数量,可以被该需求对应的操作台关联的库存箱内未分配的目标资源满足。也即是,该需求对应的操作台关联的库存箱内未分配的目标资源的未分配数量大于或等于该需求中目标资源的需求数量。
对于不可静态满足的需求,该需求中目标资源的需求数量,无法被该需求对应的操作台关联的库存箱内未分配的目标资源满足。也即是,该需求对应的操作台关联的库存箱内未分配的目标资源的未分配数量小于该需求中目标资源的需求数量。
不可静态满足的需求具有不可静态满足的数量,是指该需求中目标资源的需求数量,与该需求对应的操作台关联的库存箱内未分配的目标资源的未分配数量的差值。
本实施例中,通过在每轮资源分配之前,筛选出不可静态满足的数量最少或小于等于0(即可全部被静态分配)的需求集合,优先为该需求集合中的需求分配资源,能够有效利用已分配到操作台的库存箱,从而获得更优的资源分配结果,能够提高仓储系统的拣选效率。
示例性地,可以采用如算法2.2所示的启发式构造算法进行资源分配。基于表1中定义的函数,算法2.2的具体流程如下:
1 UnassignedReq← Requests // 用于记录每个需求的候选资源
2 Solution←Φ
3 WHILE UnassignedReq ≠Φ
4 CandidateResReq ← 在UnassignedReq 中使用算法2.1选择需求集合
5 req ← 在CandidateReq中随机选取一个需求;
6 station ←req 的操作台
7 //分配已经分配到该操作台的库存箱中的资源
8 StaticRes ←candidateRes(req)中其库存箱已经被分配到操作台station的资源
9 WHILE StaticRes≠Φ AND amt(req)> 0
10 SufficientStaticRes ←StaticRes中未分配资源的数量不小于amt(req)的资源
11 IF SufficientStaticRes ≠Φ
12 res← minArg (amt(res),∀res ∈SufficientStaticRes ) //SufficientStaticRes中 amt(res)最小的资源
13 amt(req) ←0
14 amt(res) ← amt(res)-amt(req)
15 更新 操作台关联的库存箱内的未分配资源的数量
16 在Solution中记录使用res来满足req的 amt(req)个需求
17 ELSE
18 res← maxArg (amt(res),∀res ∈StaticRes) // StaticRes中amt(res)最大的资源
19 amt(res) ←0
20 amt(req) ← amt(req)-amt(res)
21 更新操作台关联的库存箱内的未分配资源的数量
22 在StaticRes 中去除 res
23 在Solution中记录使用res来满足req的 amt(res)个需求
24 ENDIF
25 ENDWHILE
26 //分配空闲资源
27 FilteredCandidateRes←candidateRes(req)中库存箱中没有被分配到任何操作台的资源
28 WHILE amt(req) >0 AND FilteredCandidateRes ≠Φ
29 SufficientRes ←FilteredCandidateRes中资源数量不小于amt(req)的资源集合
30 IF SufficientRes ≠Φ
31 res← minArg (distance(res,req),∀res ∈SufficientRes )
32 amt(req) ←0
33 amt(res) ← amt(res)-amt(req)
34 更新 操作台与库存箱的关联信息
35 更新 操作台关联的库存箱内的未分配资源的数量
36 在Solution中记录使用res来满足req的 amt(req)个需求
37 ELSE
38 res← maxArg (amt(res),∀res ∈InsufficientRes ) //InsufficientRes中 amt(res) 最大的资源
39 amt(res) ←0
40 amt(req) ← amt(req)-amt(res)
41 更新 操作台与库存箱的关联信息
42 更新 操作台关联的库存箱内的未分配资源的数量
43 在FilteredCandidateRes 中去除 res
44 在Solution中记录使用res 来满足req 的 amt(res)个需求
45 ENDIF
46 ENDWHILE
47 //分配已经分配到其他操作台的库存箱中的资源
48 DislikeRes←candidateRes(req)中库存箱已经被分配到其他操作台的资源
49 WHILE amt(req) >0
50 SufficientRes ←DislikeRes中 剩余资源数量不小于amt(req)的资源
51 IF SufficientRes ≠Φ
53 res←SufficientRes 中库存箱关联的操作台个数最少的资源中随机选取的资源
54 amt(req) ←0
55 amt(res) ← amt(res)-amt(req)
56 更新 操作台与库存箱的关联信息
57 更新 操作台关联的库存箱内的未分配资源的数量
58 在Solution中记录使用res来满足req的 amt(req)个需求
59 ELSE
60 res← maxArg (amt(res),∀res ∈InsufficientRes ) //InsufficientRes中 amt(res)最大的资源
61 amt(res) ←0
62 amt(req) ← amt(req)-amt(res)
63 更新 操作台与库存箱的关联信息
64 更新 操作台关联的库存箱内的未分配资源的数量
65 在DislikeRes中去除 res
66 在Solution中记录使用res来满足req的 amt(res)个需求
67 ENDIF
68 ENDWHILE
69 在UnassignedReq中去除 req
70 ENDWHILE
71 RETURN Solution
如上的启发式构造算法(算法2.2)会将待分配资源池中的每一个待分配资源逐一 进行分配。对于每一个需求
Figure 125821DEST_PATH_IMAGE072
,首先会使用已经分配到该需求对应操作台的库存箱中的未 分配资源(也即静态资源)来满足该
Figure 521031DEST_PATH_IMAGE072
(算法2.2中行9-行25)。如果分配到该需求对应操 作台的库存箱中没有任一
Figure 335403DEST_PATH_IMAGE004
能够独自满足这个
Figure 564390DEST_PATH_IMAGE072
,则选择其中未分配资源数量(即
Figure 831423DEST_PATH_IMAGE073
)最大的
Figure 30324DEST_PATH_IMAGE004
。如果分配到该需求对应操作台的库存箱中有至少一个
Figure 964781DEST_PATH_IMAGE004
能够独自 满足这个
Figure 223724DEST_PATH_IMAGE072
,则在能够满足这个
Figure 978054DEST_PATH_IMAGE009
的资源
Figure 121590DEST_PATH_IMAGE004
中选择未分配资源数量(即
Figure 910555DEST_PATH_IMAGE073
)最小 的库存箱。
如果使用全部静态资源依旧无法满足
Figure 74820DEST_PATH_IMAGE009
, 则使用空闲资源来满足
Figure 582025DEST_PATH_IMAGE009
(算法2.2 中行26-行46)。资源是否空闲,取决于该资源所在的库存箱是否被分配到其他操作台。如果 该资源所在的库存箱未被分配到其他操作台,则该资源为空闲资源。 对于空闲资源,首先 检测是否存在某个
Figure 122727DEST_PATH_IMAGE004
能够独自满足
Figure 766198DEST_PATH_IMAGE009
的剩余需求数量。如果存在,则在能够独自满足
Figure 6425DEST_PATH_IMAGE009
的中,选择资源所在库存箱距离
Figure 469767DEST_PATH_IMAGE009
对应操作台最近的
Figure 79740DEST_PATH_IMAGE004
来满足
Figure 843296DEST_PATH_IMAGE004
。其中,算法2.2中行31 中的
Figure 614943DEST_PATH_IMAGE074
是指req的操作台
Figure 831161DEST_PATH_IMAGE010
与res所在的库存箱之间的距离。如果不存 在某个
Figure 854612DEST_PATH_IMAGE004
能够独自满足
Figure 207096DEST_PATH_IMAGE009
的剩余需求数量,则选择未分配数量最大的
Figure 149644DEST_PATH_IMAGE004
来匹配
Figure 853158DEST_PATH_IMAGE009
如果全部空闲资源仍然无法满足
Figure 539354DEST_PATH_IMAGE009
,则使用已分配到其他操作台的资源
Figure 11924DEST_PATH_IMAGE075
(算法2.2中行48-行68)。首先查看
Figure 266319DEST_PATH_IMAGE076
中是否存在能够独自满足
Figure 457129DEST_PATH_IMAGE009
的剩余需求数量的
Figure 681437DEST_PATH_IMAGE004
,如果存在,则在能够独自满足
Figure 274092DEST_PATH_IMAGE009
的剩余需求数量的
Figure 824022DEST_PATH_IMAGE004
中选择
Figure 970969DEST_PATH_IMAGE004
所在库存箱关联的操作台数量最少的
Figure 139914DEST_PATH_IMAGE004
,如果所在库存箱关联的操作台数量最少的
Figure 587076DEST_PATH_IMAGE004
有多个,则随机选取一个。如果
Figure 42328DEST_PATH_IMAGE076
中没有任何资源能够独自满足
Figure 207730DEST_PATH_IMAGE009
的剩余需求数 量,则在剩余资源中选择未分配数量最大的
Figure 39420DEST_PATH_IMAGE004
来满足
Figure 714989DEST_PATH_IMAGE009
每一次匹配的结果都会记录在解
Figure DEST_PATH_IMAGE081
中。其中记录每个
Figure 606722DEST_PATH_IMAGE009
使用哪一(或哪些)
Figure 993841DEST_PATH_IMAGE004
进行匹配,以及匹配的数量
Figure 363642DEST_PATH_IMAGE082
。每一条匹配结果可以表示为<
Figure DEST_PATH_IMAGE083
>的集合。算 法会逐步构造
Figure 926342DEST_PATH_IMAGE081
,直到全部
Figure 723397DEST_PATH_IMAGE009
均被满足,得到第一分配结果。
与传统的启发式构造算法相比,本实施例提供的进行资源分配确定第一分配结果的算法,在生成可行的第一资源分配结果的同时,可更好地保证第一资源分配结果的质量。另外,本实施例提供的进行资源分配的启发式构造算法与问题模型脱离,问题改变时,仅仅需要修改其目标函数,及相应的随机邻域算子(与问题弱相关)即可适配。对比传统算法开发投入极小,对领域知识及数学知识依赖极小。
步骤S307、对第一分配结果进行至少一次优化处理。
本实施例中,在根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,对第一分配结果进行至少一次优化处理,通过两步优化,对基于启发式构造算法确定的初始的资源分配结果进行优化,得到更优的资源分配结果,提高资源分配结果的可用性。
该步骤中可以利用邻域搜索算法对第一分配结果进行优化处理。
为了使用邻域搜索算法对第一分配结果进行优化,设计如下邻域算子
Figure 597812DEST_PATH_IMAGE084
,用 来根据可行解
Figure DEST_PATH_IMAGE085
(第一分配结果)生成其邻域可行解
Figure 771304DEST_PATH_IMAGE086
选择任一操作台,并选择关联到该操作台任一库存箱,在第一分配结果(算法2.2 输出的
Figure 47565DEST_PATH_IMAGE081
)中删除所有与该库存箱相关的匹配结果(
Figure DEST_PATH_IMAGE087
),并释放与该匹配 结果相关的资源及需求;针对每一个未分配的需求,使用随机选择其候选资源的方式为该 需求匹配资源,得到邻域可行解。
考虑到上述邻域算子
Figure 156466DEST_PATH_IMAGE084
具有随机性,对于被释放的匹配结果,可能会被重新 匹配,也即已与操作台解除匹配的库存箱可能会被重新分配给该操作台。本实施例中,引入 禁忌内存机制(Tabu Memory)以减少该状况的发生,并提高算法的探索效率。
示例性地,禁忌内存机制可以通过设置禁忌信息实现,禁忌信息用于禁止将库存箱内的资源分配给操作台的需求。
可选地,根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解之前,生成并存储操作台和库存箱对应的禁忌信息,禁忌信息用于禁止将库存箱内的资源分配给操作台的需求。
示例性地,利用邻域搜索算法对第一分配结果进行优化处理,可以采用如下方式实现:
对当前的分配结果进行至少一次以下迭代优化处理:释放任一操作台关联的任一库存箱内的已分配资源对应的分配结果;根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解;根据邻域可行解,对当前的分配结果再次进行优化处理。
示例性地,基于禁忌内存机制的邻域算子
Figure 518177DEST_PATH_IMAGE084
的框架如图6所示,选择任一操 作台,并选择关联到该操作台任一库存箱,在可行解
Figure 229781DEST_PATH_IMAGE085
(算法2.2输出的
Figure 626128DEST_PATH_IMAGE081
)中删除所 有与该库存箱相关的匹配结果(
Figure 30564DEST_PATH_IMAGE087
),并释放与该匹配结果相关的资源及需求;根 据已存储的禁忌信息(如图6中所示的<bin1,station1>,<bin2,station2>,<bin3, station3>),修复
Figure 489358DEST_PATH_IMAGE085
,得到邻域可行解。
另外,如果邻域算子完全遵循以上禁忌信息进行,可能会导致部分req无法被满足,因为剩余资源可能无法满足其需要的数量。因此本实施例提供禁忌内存机制的赦免机制(Aspiration Criteria)。当对分配结果进行迭代优化处理的次数大于或等于迭代次数阈值时,清除已存储的禁忌信息。即如果未被禁忌的资源被完全使用仍无法满足某个需求时,在匹配这个需求时,可以忽略部分禁忌信息,从而保证每一次迭代均能生成可行解。
可选地,根据已存储的禁忌信息,若确定无法满足至少一个需求,则根据禁忌信息对应的时间戳,删除至少一条禁忌信息。根据禁忌信息对应的时间戳,优先删除时间戳最早的禁忌信息。其中,禁忌信息对应的时间戳,可以是禁忌信息插入队列的时间。
示例性地,禁忌信息可以存储在队列中,队列中的元素可以为<bin, station>形式的组合,定义为在当前迭代库存箱bin不可以被分配在操作台station。队列的长度(TabuTenure)为算法的输入参数,用来定义在多少次迭代之后,该禁忌即将被释放。
一种可选地实施方式中,该步骤中可以利用爬山算法对第一分配结果进行第一优化处理,并利用模拟退火算法对第一次优化处理后的第一分配结果进行第二次优化处理。
该实施方式中,为了使得对第一分配结果进行优化时能更快地收敛,并同时保持算法对可行解空间的探索能力,将爬山算法及模拟退火算法做了顺序混合。第一步,使用爬山算法对初始解进行快速收敛,第二部步使用模拟退火算法进行进一步的优化搜索。
其中,模拟退火算法是一种元启发算法,利用元启发算法进行优化时,其目标函数的定义详见本实施例开始部分的目标函数1和目标函数2,用来评估可行解(资源分配结果)的质量,资源分配的问题为最小化问题,可行解(资源分配结果)的目标函数值越小,代表可行解的质量越优。
示例性地,爬山算法是一种收敛速度较快的邻域搜索算法,本实施例中将第一分配结果作为初始可行解,使用爬山算法对初始可行解的优化的方法如下:
输入:
MaxIter_nonImpr:未找到更优解的迭代数,可以预先设置
TerminationTime :算法停止时间,可以预先设置
sol_init :初始可行解(第一分配结果)
输出: sol_best:优化解
算法流程:
1 sol_best ←sol_init
2 Iter_NonImprove ←0
3 WHILE Iter_NonImprove<MaxIter_nonImpr AND 未达到TerminationTime
4 sol' ←Nb(sol_best) //根据邻域算子确定邻域可行解
5 IF obj(sol' )< obj(sol_best)
6 sol_best←sol'
7 Iter_NonImprove ←0
8 ELSE
9 Iter_NonImprove ←Iter_NonImprove+1
10 ENDIF
11 ENDWHILE
12 RETURN sol_best
其中,
Figure 270233DEST_PATH_IMAGE088
为邻域算子,可以采用该步骤的第一种可选地实施方式中提供的邻域 算子实现,
Figure DEST_PATH_IMAGE089
为目标函数。
示例性地,模拟退火算法在跳出局部最优解的过程中具有较好的表现,将爬山算法输出的第一次优化处理后的第一分配结果作为模拟退火算法的初始可行解,使用模拟退火算法进行优化的方法如下:
输入:
TerminationTime :算法停止时间
T_init :初始温度,可以根据实际应用场景和经验值进行设置和调整
sol_init :初始可行解(爬算输的结)
coolingRate :降温速率,可以根据实际应用场景和经验值进行设置和调整
输出:sol_best:优化解
模拟退火算法的流程:
1 sol_best ←sol_init
2 sol ←sol_init
3 T_cur←T_init
4 WHILE 未达到TerminationTime
5 sol' ←Nb(sol )//根据邻域算子确定邻域可行解
6 IF obj(sol' )< obj(sol )
7 sol ←sol'
8 IF obj(sol' )< obj(sol_best )
9 sol_best= sol'
10 ELSE
11 r ←Random(0,1)
12 IF
Figure 521085DEST_PATH_IMAGE090
13 sol ←sol'
14 ENDIF
15 ENDIF
16 T_cur ←T_cur ×coolingRate
17 ENDWHILE
18 RETURN sol_best
其中,
Figure DEST_PATH_IMAGE091
( )为邻域算子,可以采用该步骤的第一种可选地实施方式中提供的邻域 算子实现,
Figure 96423DEST_PATH_IMAGE092
( )为目标函数。
本实施方式中,经过构造初始可行解(第一分配结果),爬山算法优化,及模拟退火算法优化这三个过程,能够寻找到优化可行解。 整个过程的停止时间取决于TerminationTime 的设定。同时,其他需要设定的参数包括:未找到更优解的迭代数MaxIter_nonImpr, 初始温度T_init,降温速度coolingRate。需要设定的参数可以根据实际应用场景和经验值进行设置。
本实施方式提出的二步邻域搜索算法可对资源分配问题这类NP-Complete 问题搜索到更好的解。并且,同时使用的爬山算法和模拟退火算法的机制,使得资源分配的过程中既能在前期达到快速收敛,又能够保持对未知区域(邻域可行解)的探索能力。
示例性地,由于元启发算法与问题弱相关,更改问题仅需极小开发量。该实施方式中的模拟退火算法可以用大洪水算法等其他元启发算法替换,也可以达到类似的优化效果。
与传统的启发式构造算法相比,本实施例提供的进行资源分配确定第一分配结果的算法,在生成可行的第一资源分配结果的同时,可更好地保证第一资源分配结果的质量。另外,本实施例提供的进行资源分配的启发式构造算法与问题模型脱离,问题改变时,仅仅需要修改其目标函数,及相应的随机邻域算子(与问题弱相关)即可适配。对比传统算法开发投入极小,对领域知识及数学知识依赖极小。
实施例四
图7为本申请实施例四提供的资源分配装置的结构示意图。本申请实施例提供的资源分配装置可以执行资源分配方法实施例提供的处理流程。如图7所示,该资源分配装置40包括:数据获取模块401和扰动修正模块402。
具体地,数据获取模块401,用于在根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在第一时刻至第二时刻期间发生变化的需求和资源,其中,第一分配结果中包括为需求分配的资源。
扰动修正模块402,用于释放发生变化的需求对应的第一分配结果,和/或,发生变化的资源对应的第一分配结果;根据当前时刻的需求的数据和资源的库存数据,为发生变化的需求重新分配资源,得到第二分配结果。
本申请实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本申请实施例通过在根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在第一时刻至第二时刻期间发生变化的需求和资源,释放发生变化的需求对应的第一分配结果和/或发生变化的资源对应的第一分配结果,并为发生变化的需求重新分配资源,从而实现对在进行资源分配期间发生扰动的第一分配结果进行修复,极大地减少资源分配结果中不可行的分配结果,提高了资源分配结果在实际执行中的可行性。
实施例五
图8为本申请实施例五提供的资源分配装置的结构示意图。在上述实施例四的基础上,本实施例中,如图8所示,该资源分配装置40还包括:资源分配模块403,用于:响应于资源分配请求,资源分配请求包括第一时刻的需求的数据和资源的库存数据,根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果。
可选地,扰动修正模块还用于:响应于资源分配结果请求,资源分配结果请求包括第二时刻的需求的数据和资源的库存数据,根据第二时刻的需求的数据和资源的库存数据,确定在第一时刻至第二时刻期间发生变化的需求和资源。
可选地,资源分配模块还用于:根据第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个需求进行以下资源分配处理:根据第一库存箱中的未分配资源,为当前需求分配第一库存箱中的未分配资源,第一库存箱为与当前需求对应的第一操作台关联的库存箱;若第一库存箱中的未分配资源不满足当前需求,则为当前需求分配第二库存箱中的资源,第二库存箱为未关联到任何操作台的库存箱;若第二库存箱中的资源不满足当前需求,则根据与第二操作台关联的第三库存箱中的未分配资源,为当前需求分配第三库存箱中的未分配资源,第二操作台为除第一操作台之外的任意操作台;其中,任一操作台关联的库存箱是指箱内的至少一个资源已分配给该操作台的库存箱。
可选地,资源分配模块还用于:若第一库存箱中存在至少一个第四库存箱,任一第四库存箱内的未分配资源满足当前需求,则根据任一第四库存箱内的未分配资源,为当前需求分配资源;若第一库存箱中不存在第四库存箱,则将未分配资源最多的第一库存箱中的未分配资源,分配给当前需求。
可选地,资源分配模块还用于:根据未分配资源最少的第四库存箱内的未分配资源,为当前需求分配资源。
可选地,资源分配模块还用于:若第二库存箱中存在至少一个第五库存箱,任一第五库存箱内的未分配资源满足当前需求,则根据任一第五库存箱内的未分配资源,为当前需求分配资源;若第二库存箱中不存在第五库存箱,则将未分配资源最多的第二库存箱中的未分配资源,分配给当前需求。
可选地,资源分配模块还用于:根据与第一操作台距离最近的第五库存箱内的未分配资源,为当前需求分配资源。
可选地,资源分配模块还用于:若第三库存箱中存在至少一个第六库存箱,任一第六库存箱内的未分配资源满足当前需求,则根据任一第六库存箱内的未分配资源,为当前需求分配资源;若第三库存箱中不存在第六库存箱,则将未分配资源最多的第三库存箱中的未分配资源,分配给当前需求。
可选地,资源分配模块还用于:确定每个第六库存箱关联的操作台的数量;根据关联的操作台的数量最少的第六库存箱中的未分配资源,为当前需求分配资源。
可选地,资源分配模块还用于:根据第一时刻的需求的数据和资源的库存数据,对需求进行筛选处理,得到第一需求集合,第一需求集合包括:对应的第一资源的数量与目标资源的未分配需求数量的差最小的需求,其中第一资源是需求对应的操作台关联的库存箱内未分配的目标资源;对第一需求集合中的每个需求进行资源分配处理;若存在未满足的需求,则对未满足的需求进行筛选处理,得到新的第一需求集合,并对新的第一需求集合中的每个需求进行资源分配处理,直至满足所有需求。
可选地,资源分配模块还用于:利用启发式构造算法,对每个需求进行以下资源分配处理之前,根据第一时刻的需求的数据和资源的库存数据,确定初始的需求集合和初始的资源集合,初始的需求集合包含所有需求,每个需求包括任一操作台对任一资源的需求数量,初始的资源集合包含多个资源库存信息,每个资源库存信息用于记录任一资源在任一存储箱的库存数量。
可选地,资源分配模块还用于:根据第一时刻的需求的数据和资源的库存数据,确定初始的需求集合和初始的资源集合之后,根据初始的需求集合和初始的资源集合,确定每个需求对应的候选资源集合,候选资源集合包括需求所需资源对应的资源库存信息;在为任一需求分配资源时,从需求对应的候选资源集合中确定为需求分配的资源。
可选地,资源分配模块还用于:存储并更新每个操作台与库存箱的关联信息。
可选地,资源分配模块还用于:存储并更新每个操作台关联的库存箱内的未分配资源的数量。
可选地,资源分配模块还用于:在根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,对第一分配结果进行至少一次优化处理。
可选地,资源分配模块还用于:利用爬山算法对第一分配结果进行第一优化处理,并利用模拟退火算法对第一次优化处理后的第一分配结果进行第二次优化处理。
可选地,资源分配模块还用于:对当前的分配结果进行至少一次以下迭代优化处理:释放任一操作台关联的任一库存箱内的已分配资源对应的分配结果;根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解;根据邻域可行解,对当前的分配结果再次进行优化处理。
可选地,资源分配模块还用于:当对分配结果进行迭代优化处理的次数大于或等于迭代次数阈值时,清除已存储的禁忌信息。
可选地,资源分配模块还用于:根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解之前,生成并存储操作台和库存箱对应的禁忌信息,禁忌信息用于禁止将库存箱内的资源分配给操作台的需求。
可选地,资源分配模块还用于:根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解之前,根据已存储的禁忌信息,若确定无法满足至少一个需求,则根据禁忌信息对应的时间戳,删除至少一条禁忌信息。
本申请实施例提供的装置可以具体用于执行上述实施例二或实施例三所提供的方法实施例,具体功能此处不再赘述。
与传统的启发式构造算法相比,本实施例提供的进行资源分配确定第一分配结果的算法,在生成可行的第一资源分配结果的同时,可更好地保证第一资源分配结果的质量。另外,本实施例提供的进行资源分配的启发式构造算法与问题模型脱离,问题改变时,仅仅需要修改其目标函数,及相应的随机邻域算子(与问题弱相关)即可适配。对比传统算法开发投入极小,对领域知识及数学知识依赖极小。
本实施方式提出的二步邻域搜索算法可对资源分配问题这类NP-Complete 问题搜索到更好的解。并且,同时使用的爬山算法和模拟退火算法的机制,使得资源分配的过程中既能在前期达到快速收敛,又能够保持对未知区域(邻域可行解)的探索能力。
实施例六
图9为本发明实施例六提供的资源分配设备的结构示意图。如图9所示,该资源分配设备100包括:处理器1001,存储器1002,以及存储在存储器1002上并可在处理器1001上运行的计算机程序。其中,处理器1001运行计算机程序时实现上述任一方法实施例所提供的方法。
本申请实施例通过在根据第一时刻的需求的数据和资源的库存数据,为每个需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在第一时刻至第二时刻期间发生变化的需求和资源,释放发生变化的需求对应的第一分配结果和/或发生变化的资源对应的第一分配结果,并为发生变化的需求重新分配资源,从而实现对在进行资源分配期间发生扰动的第一分配结果进行修复,极大地减少资源分配结果中不可行的分配结果,提高了资源分配结果在实际执行中的可行性。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行上述任一方法实施例提供的方法。
本发明实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,仓储管理系统的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得仓储管理系统执行上述任一方法实施例提供的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (25)

1.一种资源分配方法,其特征在于,包括:
在根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源,其中,所述第一分配结果中包括为需求分配的资源;
释放发生变化的需求对应的第一分配结果,和/或,发生变化的资源对应的第一分配结果;
根据当前时刻的需求的数据和资源的库存数据,为所述发生变化的需求重新分配资源,得到第二分配结果。
2.根据权利要求1所述的方法,其特征在于,所述根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果,包括:
响应于资源分配请求,所述资源分配请求包括第一时刻的需求的数据和资源的库存数据,根据所述第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个所述需求的第一分配结果。
3.根据权利要求1所述的方法,其特征在于,所述根据第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源,包括:
响应于资源分配结果请求,所述资源分配结果请求包括所述第二时刻的需求的数据和资源的库存数据,根据所述第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源。
4.根据权利要求1所述的方法,其特征在于,根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果,包括:
根据所述第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个所述需求进行以下资源分配处理:
根据第一库存箱中的未分配资源,为当前需求分配所述第一库存箱中的未分配资源,所述第一库存箱为与当前需求对应的第一操作台关联的库存箱;
若所述第一库存箱中的未分配资源不满足所述当前需求,则为所述当前需求分配第二库存箱中的资源,所述第二库存箱为未关联到任何操作台的库存箱;
若所述第二库存箱中的资源不满足所述当前需求,则根据与第二操作台关联的第三库存箱中的未分配资源,为所述当前需求分配所述第三库存箱中的未分配资源,所述第二操作台为除所述第一操作台之外的任意操作台;
其中,任一操作台关联的库存箱是指箱内的至少一个资源已分配给该操作台的库存箱。
5.根据权利要求4所述的方法,其特征在于,所述根据第一库存箱中的未分配资源,为当前需求分配所述第一库存箱中的未分配资源,包括:
若所述第一库存箱中存在至少一个第四库存箱,任一所述第四库存箱内的未分配资源满足所述当前需求,则根据任一所述第四库存箱内的未分配资源,为所述当前需求分配资源;
若所述第一库存箱中不存在所述第四库存箱,则将未分配资源最多的第一库存箱中的未分配资源,分配给所述当前需求。
6.根据权利要求5所述的方法,其特征在于,所述根据任一所述第四库存箱内的未分配资源,为所述当前需求分配资源,包括:
根据未分配资源最少的第四库存箱内的未分配资源,为所述当前需求分配资源。
7.根据权利要求4所述的方法,其特征在于,所述为所述当前需求分配第二库存箱中的资源,包括:
若所述第二库存箱中存在至少一个第五库存箱,任一所述第五库存箱内的未分配资源满足所述当前需求,则根据任一所述第五库存箱内的未分配资源,为所述当前需求分配资源;
若所述第二库存箱中不存在所述第五库存箱,则将未分配资源最多的第二库存箱中的未分配资源,分配给所述当前需求。
8.根据权利要求7所述的方法,其特征在于,所述根据任一所述第五库存箱内的未分配资源,为所述当前需求分配资源,包括:
根据与所述第一操作台距离最近的第五库存箱内的未分配资源,为所述当前需求分配资源。
9.根据权利要求4所述的方法,其特征在于,所述根据与第二操作台关联的第三库存箱中的未分配资源,为所述当前需求分配所述第三库存箱中的未分配资源,包括:
若所述第三库存箱中存在至少一个第六库存箱,任一所述第六库存箱内的未分配资源满足所述当前需求,则根据任一所述第六库存箱内的未分配资源,为所述当前需求分配资源;
若所述第三库存箱中不存在所述第六库存箱,则将未分配资源最多的第三库存箱中的未分配资源,分配给所述当前需求。
10.根据权利要求9所述的方法,其特征在于,所述根据任一所述第六库存箱内的未分配资源,为所述当前需求分配资源,包括:
确定每个所述第六库存箱关联的操作台的数量;
根据关联的操作台的数量最少的第六库存箱中的未分配资源,为所述当前需求分配资源。
11.根据权利要求4所述的方法,其特征在于,所述根据所述第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个所述需求进行以下资源分配处理,包括:
根据所述第一时刻的需求的数据和资源的库存数据,对所述需求进行筛选处理,得到第一需求集合,所述第一需求集合包括:对应的第一资源的数量与目标资源的未分配需求数量的差最小的需求,其中所述第一资源是所述需求对应的操作台关联的库存箱内未分配的所述目标资源;
对所述第一需求集合中的每个需求进行所述资源分配处理;
若存在未满足的需求,则对未满足的需求进行所述筛选处理,得到新的第一需求集合,并对新的第一需求集合中的每个需求进行所述资源分配处理,直至满足所有需求。
12.根据权利要求4-11中任一项所述的方法,其特征在于,所述利用启发式构造算法,对每个所述需求进行以下资源分配处理之前,还包括:
根据所述第一时刻的需求的数据和资源的库存数据,确定初始的需求集合和初始的资源集合,所述初始的需求集合包含所有需求,每个所述需求包括任一操作台对任一资源的需求数量,所述初始的资源集合包含多个资源库存信息,每个所述资源库存信息用于记录任一资源在任一存储箱的库存数量。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第一时刻的需求的数据和资源的库存数据,确定初始的需求集合和初始的资源集合之后,还包括:
根据所述初始的需求集合和初始的资源集合,确定每个所述需求对应的候选资源集合,所述候选资源集合包括所述需求所需资源对应的资源库存信息;
在为任一需求分配资源时,从所述需求对应的候选资源集合中确定为所述需求分配的资源。
14.根据权利要求4-11中任一项所述的方法,其特征在于,所述根据所述第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个所述需求进行以下资源分配处理,还包括:
存储并更新每个操作台与库存箱的关联信息。
15.根据权利要求4-11中任一项所述的方法,其特征在于,所述根据所述第一时刻的需求的数据和资源的库存数据,利用启发式构造算法,对每个所述需求进行以下资源分配处理,还包括:
存储并更新每个操作台关联的库存箱内的未分配资源的数量。
16.根据权利要求1-11中任一项所述的方法,其特征在于,在根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果之后,还包括:
对所述第一分配结果进行至少一次优化处理。
17.根据权利要求16所述的方法,其特征在于,所述对所述第一分配结果进行至少一次优化处理,包括:
利用爬山算法对所述第一分配结果进行第一优化处理,并利用模拟退火算法对第一次优化处理后的第一分配结果进行第二次优化处理。
18.根据权利要求17所述的方法,其特征在于,利用邻域搜索算法对当前的分配结果进行优化处理,包括:
对当前的分配结果进行至少一次以下迭代优化处理:
释放任一操作台关联的任一库存箱内的已分配资源对应的分配结果;
根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解;
根据所述邻域可行解,对当前的分配结果再次进行优化处理。
19.根据权利要求18所述的方法,其特征在于,还包括:
当对分配结果进行所述迭代优化处理的次数大于或等于迭代次数阈值时,清除已存储的禁忌信息。
20.根据权利要求18所述的方法,其特征在于,所述根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解之前,还包括:
生成并存储所述操作台和所述库存箱对应的禁忌信息,所述禁忌信息用于禁止将所述库存箱内的资源分配给所述操作台的需求。
21.根据权利要求18所述的方法,其特征在于,所述根据已存储的禁忌信息,为未满足的需求随机分配资源,得到邻域可行解之前,还包括:
根据已存储的禁忌信息,若确定无法满足至少一个需求,则根据所述禁忌信息对应的时间戳,删除至少一条所述禁忌信息。
22.一种资源分配装置,其特征在于,包括:
数据获取模块,用于在根据第一时刻的需求的数据和资源的库存数据,为每个所述需求分配资源,得到每个需求的第一分配结果之后,根据第二时刻的需求的数据和资源的库存数据,确定在所述第一时刻至所述第二时刻期间发生变化的需求和资源,其中,所述第一分配结果中包括为需求分配的资源;
扰动修正模块,用于释放发生变化的需求对应的第一分配结果,和/或,发生变化的资源对应的第一分配结果;根据当前时刻的需求的数据和资源的库存数据,为所述发生变化的需求重新分配资源,得到第二分配结果。
23.一种资源分配设备,其特征在于,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现如权利要求1-21中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-21任一项所述的方法。
25.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-21中任一项所述的方法。
CN202110554687.3A 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品 Active CN113052514B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202111108127.1A CN113807711A (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202110554687.3A CN113052514B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202111109548.6A CN113723867B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202111109554.1A CN113807714B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110554687.3A CN113052514B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN202111109548.6A Division CN113723867B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202111109554.1A Division CN113807714B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202111108127.1A Division CN113807711A (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品

Publications (2)

Publication Number Publication Date
CN113052514A true CN113052514A (zh) 2021-06-29
CN113052514B CN113052514B (zh) 2021-10-29

Family

ID=76518478

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202111108127.1A Pending CN113807711A (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202111109554.1A Active CN113807714B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202111109548.6A Active CN113723867B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202110554687.3A Active CN113052514B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202111108127.1A Pending CN113807711A (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202111109554.1A Active CN113807714B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品
CN202111109548.6A Active CN113723867B (zh) 2021-05-21 2021-05-21 资源分配的方法、装置、设备、存储介质及程序产品

Country Status (1)

Country Link
CN (4) CN113807711A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723867A (zh) * 2021-05-21 2021-11-30 深圳市海柔创新科技有限公司 资源分配的方法、装置、设备、存储介质及程序产品
CN113780831A (zh) * 2021-09-14 2021-12-10 北京沃东天骏信息技术有限公司 一种资源分配方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114548611B (zh) * 2022-04-27 2022-07-19 东方电气风电股份有限公司 一种风力发电机组最优增益参数的搜索方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009410A1 (en) * 2001-06-26 2003-01-09 Padman Ramankutty Collaboration bill of material
CN1862580A (zh) * 2005-05-13 2006-11-15 国际商业机器公司 进行库存管理的方法和系统
CN110245890A (zh) * 2019-05-28 2019-09-17 深圳市海柔创新科技有限公司 货品分拣方法及货品分拣系统
CN109600414B (zh) * 2018-08-13 2020-04-10 北京字节跳动网络技术有限公司 一种资源分配方法、装置、设备及存储介质
CN111695806A (zh) * 2020-06-11 2020-09-22 湖南大学 一种资源分配方法、装置设备和存储介质
CN112328378A (zh) * 2020-11-05 2021-02-05 南京星环智能科技有限公司 任务调度方法、计算机设备及存储介质
CN112527506A (zh) * 2020-12-18 2021-03-19 北京百度网讯科技有限公司 设备资源的处理方法、装置、电子设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162753A1 (en) * 2003-02-14 2004-08-19 Vogel Eric S. Resource allocation management and planning
US9009318B2 (en) * 2011-11-03 2015-04-14 Microsoft Corporation Offline resource allocation algorithms
CN106022601B (zh) * 2016-05-18 2020-08-25 聊城大学 一种多目标资源配置方法
US10142255B1 (en) * 2016-09-08 2018-11-27 Amazon Technologies, Inc. Allocating dynamic resources to service clusters
CN109472511A (zh) * 2018-11-23 2019-03-15 吴孟辉 一种资源配置方法、装置、计算机设备和存储介质
CN111105066B (zh) * 2019-10-12 2023-07-07 平安科技(深圳)有限公司 资源受限项目调度方法、装置、计算机设备、及存储介质
CN111181770B (zh) * 2019-12-12 2023-05-02 北京淇瑀信息科技有限公司 一种资源分配方法、系统、电子设备和存储介质
CN111582781B (zh) * 2020-04-24 2023-04-28 清华大学深圳国际研究生院 一种根据补货订单分配货架的方法及计算机可读存储介质
CN113300982B (zh) * 2020-06-08 2022-08-23 阿里巴巴集团控股有限公司 资源分配方法、设备、系统及存储介质
CN111917818B (zh) * 2020-06-09 2023-07-25 东南大学 一种个性化服务需求的动态匹配方法
CN111930514B (zh) * 2020-09-14 2021-09-10 四川中电启明星信息技术有限公司 一种资源优化分配方法及系统
CN112232878A (zh) * 2020-10-19 2021-01-15 腾讯科技(深圳)有限公司 虚拟展示资源处理方法、装置、计算机设备及存储介质
CN113807711A (zh) * 2021-05-21 2021-12-17 深圳市海柔创新科技有限公司 资源分配的方法、装置、设备、存储介质及程序产品
CN114390102B (zh) * 2022-01-11 2023-07-14 中国科学院深圳先进技术研究院 一种物联网资源分配方法、系统、终端以及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009410A1 (en) * 2001-06-26 2003-01-09 Padman Ramankutty Collaboration bill of material
CN1862580A (zh) * 2005-05-13 2006-11-15 国际商业机器公司 进行库存管理的方法和系统
CN109600414B (zh) * 2018-08-13 2020-04-10 北京字节跳动网络技术有限公司 一种资源分配方法、装置、设备及存储介质
CN110245890A (zh) * 2019-05-28 2019-09-17 深圳市海柔创新科技有限公司 货品分拣方法及货品分拣系统
CN111695806A (zh) * 2020-06-11 2020-09-22 湖南大学 一种资源分配方法、装置设备和存储介质
CN112328378A (zh) * 2020-11-05 2021-02-05 南京星环智能科技有限公司 任务调度方法、计算机设备及存储介质
CN112527506A (zh) * 2020-12-18 2021-03-19 北京百度网讯科技有限公司 设备资源的处理方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723867A (zh) * 2021-05-21 2021-11-30 深圳市海柔创新科技有限公司 资源分配的方法、装置、设备、存储介质及程序产品
CN113807711A (zh) * 2021-05-21 2021-12-17 深圳市海柔创新科技有限公司 资源分配的方法、装置、设备、存储介质及程序产品
CN113723867B (zh) * 2021-05-21 2024-04-26 深圳市海柔创新科技有限公司 资源分配的方法、装置、设备、存储介质及程序产品
CN113780831A (zh) * 2021-09-14 2021-12-10 北京沃东天骏信息技术有限公司 一种资源分配方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113807711A (zh) 2021-12-17
CN113723867B (zh) 2024-04-26
CN113807714B (zh) 2024-02-06
CN113807714A (zh) 2021-12-17
CN113052514B (zh) 2021-10-29
CN113723867A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
CN113052514B (zh) 资源分配的方法、装置、设备、存储介质及程序产品
Morabit et al. Machine-learning–based column selection for column generation
CN109491790B (zh) 基于容器的工业物联网边缘计算资源分配方法及系统
CN110837410B (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
Bhaskar et al. A heuristic method for RCPSP with fuzzy activity times
Karmarkar et al. The one‐period, N‐location distribution problem
JP6376865B2 (ja) 並列ツリー・ベースの予測のための、コンピュータにより実行される方法、ストレージ媒体、およびコンピュータ・システム
CN110457589A (zh) 一种车辆推荐方法、装置、设备及存储介质
CN110119399B (zh) 基于机器学习的业务流程优化方法
Shi et al. The dynamic fleet management problem with uncertain demand and customer chosen service level
Ramakrishna et al. A two-item two-warehouse periodic review inventory model with transshipment
Zgurovsky et al. Combinatorial optimization problems in planning and decision making: theory and applications
Lima Junior et al. A methodology based on fuzzy inference and SCOR® model for supplier performance evaluation
US10313457B2 (en) Collaborative filtering in directed graph
Lo Bianco et al. Action-Evolution Petri Nets: A Framework for Modeling and Solving Dynamic Task Assignment Problems
Eschemann et al. Towards digital twins for optimizing the factory of the future
CN114581220B (zh) 数据处理方法、设备及分布式计算系统
You et al. A two‐layer approach for solving robust decentralized multiproject scheduling problem with multi‐skilled staff
Cui et al. A heuristic hybrid optimization approach for spare parts and maintenance workers under partial pooling
Zaman et al. An efficient methodology for robust assignment problem
CN105844110A (zh) 一种基于gpu的自适应领域禁忌搜索求解软硬件划分方法
CN110069747A (zh) 基于整数线性规划的本体逻辑矛盾处理方法
Nasuta et al. Reward Shaping for Job Shop Scheduling
Ng Business process optimization using the ant colony system
Bischoff et al. Heuristic reoptimization of time‐extended multi‐robot task allocation problems

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