CN111695806B - 一种资源分配方法、装置设备和存储介质 - Google Patents

一种资源分配方法、装置设备和存储介质 Download PDF

Info

Publication number
CN111695806B
CN111695806B CN202010530221.5A CN202010530221A CN111695806B CN 111695806 B CN111695806 B CN 111695806B CN 202010530221 A CN202010530221 A CN 202010530221A CN 111695806 B CN111695806 B CN 111695806B
Authority
CN
China
Prior art keywords
sub
item
activity
project
neighborhood
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.)
Active
Application number
CN202010530221.5A
Other languages
English (en)
Other versions
CN111695806A (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.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN202010530221.5A priority Critical patent/CN111695806B/zh
Publication of CN111695806A publication Critical patent/CN111695806A/zh
Application granted granted Critical
Publication of CN111695806B publication Critical patent/CN111695806B/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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种资源分配方法、装置设备和存储介质,应用于资源专享和转移视角下多项目资源分配中,方法通过引入活动时间不确定性因素,采用一种时差效用函数指标度量多项目调度计划的鲁棒性,进而同时考虑总加权拖期成本和鲁棒性两个目标函数,构建了一个多项目调度的双目标资源分配优化模型,利用设计的自适应大邻域搜索算法进行求解,丰富了多项目调度问题的求解方法,也拓展了自适应大邻域搜索算法的应用,双目标资源分配优化模型的Pareto最优解集可以给项目经理综合考虑多项目工期和进度计划的稳定性提供定量决策依据。采用本发明的技术方案,能够在最小化总加权拖期成本对目标进行资源分配的同时,保证多项目执行过程的稳定性。

Description

一种资源分配方法、装置设备和存储介质
技术领域
本发明涉及项目资源分配技术领域,尤其涉及一种资源分配方法、装置和设备和存储介质。
背景技术
随着现代经济社会的不断发展,各类项目日益大型化和复杂化,多项目管理成为项目管理实践和研究的热点。有数据显示高达84%的项目是在多项目环境下执行的。在多项目问题中,不同的子项目因有限资源约束而相互耦合,因此,资源投入分配成为多项目管理面临的关键决策。针对企业可更新资源(如机器、设备、人力资源等),根据多项目执行环境(比如地理位置分布)或资源的特征,在进行资源分配时,理论上通常希望尽可能杜绝多项目执行过程中人员的“多任务”情形,待工程人员完成当前项目之后再调配其从事新项目。现在的多项目越来越呈现出分布地域广、团队化和专业化的特征,即多个项目同时独立开展、执行过程中不与其它项目分享资源,而是在项目完成后将资源转移到另一个需要同种资源的待开工项目,这里可以称为资源专享-转移(Resource Dedication-transferring,RDT)策略。
现有技术中,针对RDT策略的算法,通常以最小化总加权拖期成本为单一目标,针对多项目的专享资源投入数量和活动调度优化建立数学模型,分别设计了基于组合拍卖机制的遗传算法和基于拉格朗日松弛的启发式算法对问题求解,并进一步构建了考虑战略层资源预算决策的资源专享多项目问题优化模型,分别设计了一种两阶段算法和一种集成的遗传算法求解模型。此外,部分文献同时涉及共享资源和专享资源,这方面研究主要归结为两类:第一,将多个子项目作为独立个体,采用基于规则的启发式算法确定多项目及其活动对共享资源的使用顺序,其研究对比了不同的优先级规则及其组合在求解资源受限多项目调度问题时的绩效表现;第二,引入多Agent系统,通过有效的协调机制对稀缺资源的争用冲突进行分布式调度,比如以最小化多项目总拖期成本为优化目标建立分层决策模型,设计了基于合作博弈协商机制的分阶段进化算法对问题求解。
但是,由于市场环境快速变化,现代项目(如PPP项目、产品研发项目等)所涉及的不确定性因素日益增多,例如,员工缺勤、机器故障、活动时间估计不准确、物料延迟到达等。这些不可控因素一般可转化为活动工期的增加或减少,扰乱多项目调度方案的按计划执行,造成项目群不能按时完工、费用增加等一系列后果,特别是针对RDT策略的情况,调度计划对抗不确定性的能力更差,不确定因素对项目的影响更大。
因此,如何在最小化总加权拖期成本对目标进行资源分配的同时,保证多项目执行过程的稳定性是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提出一种资源分配方法、装置和设备和存储介质,以实现在最小化总加权拖期成本对目标进行资源分配的同时,保证多项目执行过程的稳定性。
基于上述目的,本发明提供了一种资源分配方法,应用于资源专享和转移视角下多项目资源分配中,所述方法包括:
定义决策变量:将子项目v执行时获得的专享资源k的数量以及子项目v的第i个活动在时刻t的结束状况xvit作为决策变量;其中,v∈V,k∈K;若活动在时刻t结束xvit=1,若活动在时刻t未结束xvit=0;V为多项目集合;K为专享资源集合;i=1,2,…,Nv;1为虚拟首活动编号,Nv为虚拟尾活动编号;
定义最小化总加权拖期成本的目标函数为:
Figure BDA0002535116380000021
其中,Cv为子项目v的完成时间超出截止日期的边际拖期成本;xvNt表示子项目v的虚拟尾活动Nv在时刻t的结束状况;ddv为预先设定的子项目v的完工截止日期;
定义最大化多项目调度方案总的鲁棒性函数为:
Figure BDA0002535116380000022
其中,RMproj为项目自由时差效用函数,
Figure BDA0002535116380000023
为活动自由时差效用函数;fsvi表示第i个活动在资源约束下的自由时差,权重wi表示第i个活动实际开始时刻偏离计划开始时刻的边际惩罚成本;CIWi表示第i个活动的累积不稳定权重,CIWi等于第i个活动的权重wi及其直接和间接的后序活动l的权重wl之和,即
Figure BDA0002535116380000031
Succi表示第i个活动的直接和间接后序活动l的集合,Δv代表子项目v的自由时差,ciwv是子项目v实际启动时刻偏离计划启动时刻的累积不稳定权重,ciwv等于子项目v的权重Wv及其直接和间接的后序项目的权重Wu之和,即
Figure BDA0002535116380000032
其中Wv表示子项目v实际启动时刻偏离计划启动时刻的边际惩罚成本,Succv表示因资源转移关系而形成的子项目v的后序项目u的集合;
对最小化总加权拖期成本的目标函数和最大化多项目调度方案总的鲁棒性函数施加约束条件,得到以项目解鲁棒性和项目拖期成本为优化对象构建多项目调度的双目标资源分配优化模型;
基于建立的双目标资源分配优化模型,采用自适应大邻域搜索算法求解得到最优分配结果;
根据所述最优分配结果,对所述资源进行分配。
本发明还提供一种资源分配装置,应用于资源专享和转移视角下多项目资源分配中,所述方法包括:
定义模块,用于:
定义决策变量:将子项目v执行时获得的专享资源k的数量以及子项目v的第i个活动在时刻t的结束状况xvit作为决策变量;其中,v∈V,k∈K;若活动在时刻t结束xvit=1,若活动在时刻t未结束xvit=0;V为多项目集合;K为专享资源集合;i=1,2,…,Nv;1为虚拟首活动编号,Nv为虚拟尾活动编号;
定义最小化总加权拖期成本的目标函数为:
Figure BDA0002535116380000033
其中,Cv为子项目v的完成时间超出截止日期的边际拖期成本;xvNt表示子项目v的虚拟尾活动Nv在时刻t的结束状况;ddv为预先设定的子项目v的完工截止日期;
定义最大化多项目调度方案总的鲁棒性函数为:
Figure BDA0002535116380000041
其中,RMproj为项目自由时差效用函数,
Figure BDA0002535116380000042
为活动自由时差效用函数;fsvi表示第i个活动在资源约束下的自由时差,权重wi表示第i个活动实际开始时刻偏离计划开始时刻的边际惩罚成本;CIWi等于第i个活动的权重wi及其直接和间接的后序活动l的权重wl之和,即
Figure BDA0002535116380000043
Succi表示第i个活动的直接和间接后序活动l的集合,Δv代表子项目v的自由时差,ciwv是子项目v实际启动时刻偏离计划启动时刻的累积不稳定权重,ciwv等于子项目v的权重Wv及其直接和间接的后序项目的权重Wu之和,即
Figure BDA0002535116380000044
其中Wv表示子项目v实际启动时刻偏离计划启动时刻的边际惩罚成本,Succv表示因资源转移关系而形成的子项目v的后序项目u的集合;;
构建模块,用于对最小化总加权拖期成本的目标函数和最大化多项目调度方案总的鲁棒性函数施加约束条件,得到以项目解鲁棒性和项目拖期成本为优化对象构建多项目调度的双目标资源分配优化模型;
计算模块,用于基于建立的双目标资源分配优化模型,采用自适应大邻域搜索算法求解得到最优分配结果;
分配模块,用于根据所述最优分配结果,对所述资源进行分配。
本发明还提供一种资源分配系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
本发明还提供一种存储介质,所述存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述所述方法。
从上面所述可以看出,本发明提供的资源分配方法、装置和设备和存储介质,通过引入活动时间不确定性因素,采用一种时差效用函数指标度量多项目调度计划的鲁棒性,进而同时考虑总加权拖期成本和鲁棒性两个目标函数,构建了一个多项目调度的双目标资源分配优化模型,并利用设计的自适应大邻域搜索算法进行求解,研究工作丰富了多项目调度问题的求解方法,同时也拓展了自适应大邻域搜索算法的应用,双目标资源分配优化模型的Pareto最优解集可以给项目经理综合考虑多项目工期和进度计划的稳定性提供定量决策依据。采用本发明的技术方案,能够在最小化总加权拖期成本对目标进行资源分配的同时,保证多项目执行过程的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的资源分配方法实施例的流程图;
图2为两个Pareto最优前沿的解集与参考点围成的区域示例图;
图3为子项目网络示意图;
图4为repair操作步骤示意图;
图5为解码得到的多项目调度计划甘特图;
图6为子项目并行执行时多项目算例参数设置示意图;
图7为子项目串执行时多项目算例参数设置示意图;
图8为本发明的资源分配装置实施例的结构示意图;
图9为本发明的电子设备硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
图1为本发明的资源分配方法实施例的流程图,如图1所示,本实施例的资源分配方法包括如下步骤:
100、定义决策变量;
具体地,将子项目v执行时获得的专享资源k的数量以及子项目v的第i个活动在时刻t的结束状况xvit作为决策变量;
其中,v∈V,k∈K;若活动在时刻t结束xvit=1,若活动在时刻t未结束xvit=0;V为多项目集合;K为专享资源集合;i=1,2,…,Nv;1为虚拟首活动编号;Nv为虚拟尾活动编号。
本实施例中,子项目v执行时获得的专享资源k既可能全部来自于企业层的资源投入(此时该项目启动时间为0),也可能是其它子项目完成之后转移到该子项目v的资源。
表1总结了本申请具体实施例中部分相关参数及含义:
表1文中用的参数及其含义
Figure BDA0002535116380000061
Figure BDA0002535116380000071
101、定义最小化总加权拖期成本的目标函数;
本实施例中,最小化总加权拖期成本的目标函数如下:
Figure BDA0002535116380000072
其中,Cv为子项目v的完成时间超出截止日期的边际拖期成本;xvNt表示子项目v的虚拟尾活动Nv在时刻t的结束状况;ddv为预先设定的子项目v的完工截止日期。
102、定义最大化多项目调度方案总的鲁棒性函数;
本实施例中,最大化多项目调度方案总的鲁棒性函数如下:
Figure BDA0002535116380000073
其中,RMproj为项目自由时差效用函数,
Figure BDA0002535116380000074
为活动自由时差效用函数;fsvi表示第i个活动在资源约束下的自由时差,权重wi表示第i个活动实际开始时刻偏离计划开始时刻的边际惩罚成本;CIWi表示第i个活动的累积不稳定权重,CIWi等于第i个活动的权重wi及其直接和间接的后序活动l的权重之和,即
Figure BDA0002535116380000075
Succi表示第i个活动的直接和间接后序活动l的集合,Δv代表子项目v的自由时差,ciwv等于子项目v的权重Wv及其直接和间接的后序项目的权重Wu之和,即
Figure BDA0002535116380000076
其中Wv表示子项目v实际启动时刻偏离计划启动时刻的边际惩罚成本,Succv表示因资源转移关系而形成的子项目v的后序项目u的集合。
103、对最小化总加权拖期成本的目标函数和最大化多项目调度方案总的鲁棒性函数施加约束条件,得到以项目解鲁棒性和项目拖期成本为优化对象构建多项目调度的双目标资源分配优化模型;
在一个具体实现过程中,该约束条件包括:
第一约束条件:
Figure BDA0002535116380000081
第二约束条件:
Figure BDA0002535116380000082
第三约束条件:
Figure BDA0002535116380000083
第四约束条件:
Figure BDA0002535116380000084
第五约束条件:
Figure BDA0002535116380000085
第六约束条件:
Figure BDA0002535116380000086
第七约束条件:
Figure BDA0002535116380000087
第八约束条件:
Figure BDA0002535116380000088
其中,第一约束条件表示任意时刻所有子项目获得的专享资源k的数量avk之和不超过企业可更新资源总的供应量Rk,AS(t)表示时刻t正在执行的子项目集合,T表示整个项目群完工日期可能的最大值;
第二约束条件表示子项目v执行时获得的专享资源k的数量avk必须不低于该子项目v的活动对专享资源k的最大需求量rvik
第三约束条件表示任意活动vi只能在一个时间点开始;
第四约束条件表示子项目内部的活动优先关系约束,即任意活动a完成之前,其紧后活动b不能开始;
第五约束条件表示子项目内部的资源需求约束,表示子项目v中任意时刻正在进行的活动对专享资源k的总消耗量不超过该子项目v所获得的专享资源k的数量avk
第六约束条件表示项目群完工期限约束;
第七约束条件和第八约束条件为决策变量的可行域。
104、基于建立的双目标资源分配优化模型,采用自适应大邻域搜索算法求解得到最优分配结果;
众所周知,大邻域搜索(Large Neighborhood Search,LNS)算法通过一种destroy-repair机制生成邻域解,destroy方法会破坏当前解的一部分,而后repair方法对被破坏的解进行重建,从而得到一系列新解的集合。对于大型复杂问题,尤其当邻域大小随着输入数据的规模呈指数增长时,采用destroy-repair方法搜索优势显著。自适应大邻域搜索(Adaptive Large Neighborhood Search,ALNS)算法是在LNS算法的基础上采用自适应机制,求解过程中根据生成的解的质量在多种destroy-repair方法中进行选择,即选择那些表现好的destroy-repair方法再次进行搜索。本实施例中,为了有效判断邻域解的质量好坏,引入一种基于非支配解集(或称Pareto最优前沿)的超体积(Hypervolume,HV)的评价体系,用来动态选择较优的destroy-repair组合,再次生成邻域进行搜索。
在多目标优化领域,HV是评价种群性能的重要指标之一,它度量了算法获得的非支配解集D与参考点围成的目标空间中区域的体积。HV值越大,说明算法得到的Pareto最优前沿具有较好的覆盖率,也即算法性能越好。
HV计算公式为:
Figure BDA0002535116380000091
对于最小化目标函数的双目标优化问题,假设f1 ub
Figure BDA0002535116380000092
分别表示相应两个目标问题的上界,则参考点为
Figure BDA0002535116380000093
图2为两个Pareto最优前沿的解集与参考点围成的区域示例图,如图2所示,第一个非支配解集D1和第二个非支配解集D2围成的区域分别表示为HV(D1)和HV(D2),由图可知HV(D1)>HV(D2),因此第一个非支配解集D1中的非支配解优于第二个非支配解集D2中的非支配解。
一般来说,个体对种群的HV值贡献越大,那么该个体的性能就越好,因此,本实施例将HV用于ALNS算法中destroy-repair邻域结构以及基础解(Base Solution)的选择,自适应大邻域搜索算法详细步骤总结如下:
s1、生成初始种群,定义M种邻域结构及M种邻域结构对应的destroy-repair机制,定义对当前解方案进行破坏的程度per_destroy,定义每次搜索时邻域解的数量Num_offspring;选择邻域结构m=1;其中,M=2+|K|+|V|,m∈M;
具体地,本实施例中的destroy-repair机制包括:
子项目的活动优先级列表邻域;每个子项目v对应一种邻域,针对子项目的活动优先级列表ALv进行destroy操作:从子项目的活动优先级列表ALv中随机提取|Jv|*per_destroy个活动组成第二列表L2,剩余活动形成第一列表L1;接着进行repair操作:依次选择第二列表L2中的一个活动,在第一列表L1中随机选择一个位置,检验位置可行性,如果检验结果表示不可行,再随机选一位置,直到找到检验结果表示可行的位置为止,将该活动放入第一列表L1中,直到第二列表L2为空,得到更新后的第一列表L1和更新后的第一列表L1对应的邻域解。
以图3所示的子项目网络为例,其中,图3为子项目网络示意图,图4为repair操作步骤示意图。假设当前多项目调度可行解中该子项目的活动优先级列表为ALv=(1,4,3,9,2,11,7,5,6,8,10,12),取per_destroy=0.3,从ALv中随机提取12*0.3=4个活动组成第二列表L2=(3,11,7,6),则剩余活动形成第一列表L1=(1,4,9,2,5,8,10,12)。该案例中repair操作的步骤为:
①对于第二列表L2中第1个活动3,第一列表L1中可供插入的位置有7个,如图4中(a)所示。随机选择位置6、5、3,均不可行(活动3是9的直接前序活动);位置1为可行位置,则将活动3插入该位置,更新后的第一列表L1=(1,3,4,9,2,5,8,10,12),如图4中(b)所示。
②对于第二列表L2中第2个活动11,第一列表L1中可供插入的位置有8个,如图4中(b)所示。随机选择位置7,为可行位置,则将活动11插入该位置,更新后的第一列表L1=(1,3,4,9,2,5,8,11,10,12),如图4中(c)所示。
③对于第二列表L2中第3个活动7,第一列表L1中可供插入的位置有9个,如图4中(c)所示。随机选择位置7,不可行;选择位置5,为可行位置,则将活动7插入该位置,更新后的第一列表L1=(1,3,4,9,2,7,5,8,11,10,12),如图4中(d)所示。
④对于第二列表L2中最后一个活动6,第一列表L1中可供插入的位置有10个,如图4中(d)所示。随机选择位置9,为可行位置,则将活动6插入该位置,更新后的第一列表L1=(1,3,4,9,2,7,5,8,11,6,10,12)。
多项目优先级列表邻域;将每个子项目看作一个活动,针对多项目优先级列表L进行destroy-repair操作,从多项目优先级列表L中随机提取|V|*per_destroy个活动组成第四列表L4,剩余活动形成第三列表L3;接着进行repair操作:依次选择第四列表L4中的一个活动,在第三列表L3中随机选择一个位置,检验位置可行性,如果检验结果表示不可行,再随机选一位置,直到找到检验结果表示可行的位置为止,将该活动放入第三列表L3中,直到第四列表L4为空,得到更新后的第三列表L3和更新后的第三列表L3对应的邻域解。
多项目缓冲列表邻域;针对多项目缓冲列表B,随机提取多项目缓冲列表B的|V|*per_destroy个元素进行destroy,将|V|*per_destroy个元素对应的缓冲大小重新repair,得到对应的邻域解。多项目缓冲列表中的时间缓冲方法提供了一种应对不确定性、构建鲁棒性项目调度计划的有效方法。因此,本实施例提出在具有资源转移关系的两个子项目之间插入缓冲,如果前一个项目在执行中发生延误,插入的时间缓冲则可以为需要前一个项目资源的后序项目提供额外保护,以更大程度地确保后序子项目能够在计划的启动时间按时执行。
多项目资源分配列表邻域;共有|K|种资源,一种资源对应一种邻域,对于任意资源k,从多项目资源分配列表Ak中随机提取|V|*per_destroy个元素进行destroy,将多项目资源分配列表Ak对应的资源需求量重新repair,得到对应的邻域解。
s2、在初始种群里通过非支配排序找出非支配解集D*;
s3、检测是否满足算法终止条件,如果是,则结束,例如算法运行180s后结束;如果否,执行步骤s4。
s4、计算非支配解集D*的超体积HV值,并计算非支配解集D*每个解的HV贡献率;选择HV贡献率最大的解进行标记,作为基础解;在所述基础解的基础上进行邻域移动;如果所述基础解曾被标记,则选贡献率次大的基础解,依此类推;
s5、计算非支配解集D*与前一代非支配解集的HV改进比例Δ%,如果HV改进比例Δ%大于预设阈值,保持该邻域结构不变继续搜索;如果HV改进比例Δ%小于或等于预设阈值,更换下一个邻域结构;按照下一个邻域结构对应的destroy-repair机制生成Num_offspring个邻域解;其中,若下一个邻域结构为最后一个邻域机构则回到第一个邻域结构,即若下一个邻域结构为M=2+|K|+|V|,则回到m=1。
s6、将s5生成的Num_offspring个邻域解与非支配解集D*合并,通过非支配排序生成合并非支配解集D*,令D*=D*';
s7、如果合并非支配解集D*中所有解都被标记,解除所有标记,转到s3,如果D*中存在未被标记的解,转到s4。
105、根据最优分配结果,对资源进行分配。
在得到最优分配结果后,可以对多项目的资源进行分配。
需要说明的是,本实施例中,也可以将最优分配结果输出,使管理人员对多项目的资源进行分配。
本实施例的资源分配方法,通过引入活动时间不确定性因素,采用一种时差效用函数指标度量多项目调度计划的鲁棒性,进而同时考虑总加权拖期成本和鲁棒性两个目标函数,构建了一个多项目调度的双目标资源分配优化模型,并利用设计的自适应大邻域搜索算法进行求解,研究工作丰富了多项目调度问题的求解方法,同时也拓展了自适应大邻域搜索算法的应用,双目标资源分配优化模型的Pareto最优解集可以给项目经理综合考虑多项目工期和进度计划的稳定性提供定量决策依据。采用本发明的技术方案,能够在最小化总加权拖期成本对目标进行资源分配的同时,保证多项目执行过程的稳定性。
进一步地,上述实施例中,还包括:
B1、编码设计,采用混合编码的方式来表示可行解的结构;所述可行解的结构为:
Figure BDA0002535116380000121
其中,L=(λ12,…λv,…,λ|V|)为多项目优先级列表,λv表示子项目v启动的先后顺序;B=(b1,b2,…,bv,…,b|V|)为多项目缓冲列表,bv表示子项目v之前插入的缓冲尺寸;Ak=(a1k,a2k,…avk,…,a|V|k)为多项目资源分配列表,avk表示每个项目实际执行时获得的资源k∈K的数量;
Figure BDA0002535116380000122
为子项目的活动优先级列表,lvi表示活动安排的先后顺序;
需要指出的是,多项目缓冲列表和多项目资源分配列采用实数编码的方式;多项目优先级列表和多项目优先级列表采用基于序列(Permutation-based)的编码方式,即列表中的每个位置代表对应的子项目或者活动编号。
表2给出了一个包含5个子项目的双目标资源分配优化模型问题编码示例,每个子项目均包含10个实际活动,假设项目群只用到一种可更新资源,该资源的总可用量为67个单位。
表2双目标资源分配优化模型问题编码示例
Figure BDA0002535116380000131
B2、解码操作,包括
B21、对于任意子项目v,根据其获得的资源avk和给定的活动优先级列表ALv,用串行调度机制生成子项目的基准调度计划
Figure BDA0002535116380000132
计算出各活动在优先关系和资源约束下的最早开始时间esvi和最早结束时间efvi,子项目的工期长度Zv也随之确定;
B22、将不同的子项目看作多项目群的活动,活动执行时间为工期Zv,活动所需资源为avk,根据企业总的资源可用量Rk和给定的多项目优先级列表L、多项目缓冲列表B,用调整的串行调度过程生成多项目基准计划,计算出子项目v的最早开始时间ESv和最早结束时间EFv
B3、判断解方案是否为可行解;判断准则为所有子项目是否都在截止期DD之前完工;如果否,确定为非法解,并对非法解采取修复策略,直到将非法解转变为可行解。
其中,修复策略包括:如果存在某子项目v的完工时间大于DD,则首先调整该子项目的活动优先级列表ALv,如果通过调整仍得不到可行解,则需要调整解方案中的多项目优先级列表L和多项目缓冲列表B,直到将非法解转变为可行解。
接下来,根据公式(1)计算双目标资源分配优化模型的总加权拖期成本
Figure BDA0002535116380000141
为了计算鲁棒性目标函数值(见公式(2)),需要获得各活动在可行调度计划
Figure BDA0002535116380000142
中的自由时差fsvi,计算方法为:针对第i个活动,首先将该活动结束时间后移至其所有后续活动的最早开始时间,然后检查是否有资源冲突,如果有资源冲突则将该活动结束时间再向前移动一个单位,直到满足资源约束为止,此时该活动的结束时间(记为lfvi)与原结束时间efvi之差即为该活动的自由时差fsvi=lfvi-efvi。各子项目的自由时差Δv计算方法与活动自由时差计算方法相同,在此不再赘述。
表3列出了表2示例编码对应的解码方案,图5为解码得到的多项目调度计划甘特图,图5中每个矩形代表一个子项目,矩形的高表示子项目的资源获得量,矩形的长表示子项目在此资源约束下的工期长度,虚箭线描述了子项目间资源转移形成的紧前关系。
表3示例编码对应的解码方案
Figure BDA0002535116380000143
下面以具体的模拟实验对本发明的技术方案进行说明:
(一)实验设置:
在一个具体实现过程中,因现有技术中不存在与本实施例中双目标资源分配优化模型问题相适应的算例库,故采用RanGen软件随机生成五组测试集,按照“多项目的数量-子项目内部活动的数量”分别表示为5-10,5-20,5-30,10-10,10-15,每组测试集均包含10个多项目算例,算例参数设置方法如图5所示,图5中每个矩形表示一个子项目,矩形的高表示子项目的资源获得量,矩形的长表示子项目在此资源约束下的工期长度。
图6为子项目并行执行时多项目算例参数设置示意图,图7为子项目串执行时多项目算例参数设置示意图。
(1)可更新资源总的供应量Rk设置
第一步,假设资源总的供应量Rk不限,所有子项目并行执行(都在时刻0启动),如图6所示,每个子项目均采用传统关键路径法求得各子项目对应的最短工期cpv,并获得各子项目对应最大资源需求量
Figure BDA0002535116380000151
在此基础上计算项目群的最早可能完工期
Figure BDA0002535116380000152
和项目群的最大资源需求量
Figure BDA0002535116380000153
第二步,定义一个资源稀缺因子(Resource Scarcity Factor,RSF),RSF≥1,表示项目群的资源总的供应量相对于项目群的最大资源需求量的稀缺程度。RSF越大则资源越稀缺,资源总的供应量取为
Figure BDA0002535116380000154
第三步,根据子项目每个活动需要的资源,计算每个子项目的最低资源需求量
Figure BDA0002535116380000155
再计算整个项目群的最低可能资源需求量
Figure BDA0002535116380000156
企业总的资源供给量不能低于A',取为Rk=max{A,A'}
(2)子项目及项目群的完工截止日期设置
第一步,假设所有子项目分别在多项目资源的可更新资源总的供应量Rk约束下串行执行,如图7所示,采用分支定界算法分别计算每个子项目的最短工期ccv,此时,项目群的总工期为
Figure BDA0002535116380000157
项目群可能的最短工期取为Dmin=max{CP*RSF,CC}。
第二步,定义一个完工宽松因子δ,表示各子项目/项目群的完工交付期相对于可能最短工期的宽松程度,据此计算各子项目的完工截止期为
Figure BDA0002535116380000158
项目群的完工截止期为
Figure BDA0002535116380000159
本实验中,资源稀缺因子取值为RSF=1.5,完工宽松因子取值为δ=0.5。活动权重wvj服从区间[1,10]上的离散三角分布,函数为:
Figure BDA00025351163800001510
考虑到项目启动时间发生偏离的边际惩罚成本通常远高于活动权重,实验中将子项目权重Wv设置为服从区间[1,100]上的离散三角分布;此外,子项目边际拖期成本Cv也设置为服从区间[1,100]上的离散三角分布。
为了保证对比研究的可信度,本文进行了一系列预实验评估,表4列出了ALNS算法、LNS算法和非支配排序遗传算法(Non-dominated Sorting Genetic Agorithm,NSGA-II)各自整体性能最优时的相关参数取值。其中,LNS算法与ALNS算法相比,二者的区别在于ALNS算法的s4和s5步骤,LNS算法中均采用随机方式选择基础解和邻域结构,在此不再详细赘述。
表4算法相关参数取值
Figure BDA0002535116380000161
(二)多目标算法绩效评价指标
在多目标优化问题中,决策者在比较不同算法的绩效时通常从收敛性和分布性两个方面进行考虑,收敛性是指算法获得的近似Pareto前沿逼近Pareto最优解集的程度,分布性是指近似Pareto前沿的分布性能(能均匀分布且应该尽可能扩展)。鉴于本实施例的双目标资源分配优化模型问题属于非确定性多项式(Non-deterministic Polynomial,NP)难问题,且算法具有随机性,因此实验中将两种算法运行10次得到各自的Pareto解集P,然后合并通过非支配排序形成近优的Pareto最优解集Ref,以此作为Pareto最优前沿。采用较为常见的四种多目标绩效评价指标,分别是Error ratio,General distance,超体积(Hypervolume),以及Spacing。
Error ratio(ER):该指标表示属于Pareto解集P但未出现在最优解集Ref的解的比例,定义为:
Figure BDA0002535116380000162
其中,|P|是Pareto解集P中Pareto解的数量,|Ref∩P|=|P|*(1-ER)表示Pareto解集P的Pareto解中属于最优解集Ref的有效解的数量,其值越大说明算法的Pareto解等级越高。ER=0表示所有属于Pareto解集P的Pareto解都属于Ref,ER=1则表示Pareto解集P中的任何一个解都不属于Ref,因此,ER值越接近0算法性能越好。
General distance(GD):该指标衡量了算法求得的Pareto解集P中的每个点到参考集Ref的平均最小距离,定义为:
Figure BDA0002535116380000171
其中,|P|是Pareto解集P中Pareto解的数量,di表示Pareto解集P中个体i与参考集Ref中最近个体之间的欧氏距离,计算公式为
Figure BDA0002535116380000172
m表示目标函数的个数。GD值越小,表示算法收敛性越好。
Hypervolume(HV):该指标度量了算法获得的非支配解集与参考点围成的目标空间中区域的体积,可同时衡量算法的收敛性和分布性,其值越大说明算法的综合性能越好。
Spacing(SP):该指标度量的是Pareto解集P中每个Pareto解到其他解的最小距离的标准差,其值越小解集分布越均匀。计算公式为
Figure BDA0002535116380000173
其中,均值
Figure BDA0002535116380000174
(三)结果分析
表5和表6分别列出了三种算法在所有测试集上的绩效指标均值及方差,其中每种指标下的最优值用黑体标出。表5中另外对比了每种算法获得的有效Pareto解的数量|Ref∩P|。
表5五组测试集绩效指标均值对比结果
Figure BDA0002535116380000175
Figure BDA0002535116380000181
通过对表5实验结果的分析,可以得出以下结论:
(1)对于小规模测试集5-10,三种算法中NSGA-II在五种绩效指标上均表现最优;对于大规模测试集5-30,三种算法中ALNS在五种绩效指标上均表现最优。对于中、小规模测试集5-10、5-20和10-10,NSGA-II算法在GD、HV和SP指标上均优于ALNS/LNS;对于大规模测试集5-30和10-15,ALNS算法在GD、HV和SP指标上均优于NSGA-II,说明随着问题规模的增大(子项目中活动数量增加或者多项目数量增加),NSGA-II的收敛性和分布性能呈下降趋势,ALNS的收敛性和分布性能逐渐增强。
(2)对于四组多项目测试集5-20、5-30、10-10和10-15,三种算法中ALNS的有效解数量远远多于NSGA-II和LNS,ALNS算法的ER值较之另外两种算法更接近0,说明最优解集中的绝大部分Pareto解都来自ALNS算法,因此ALNS算法解的多样性以及非支配性等级均优于NSGA-II/LNS。
表6五组测试集绩效指标方差对比结果
Figure BDA0002535116380000182
Figure BDA0002535116380000191
通过对表6实验结果的分析,可以得出以下结论:
(1)对于多项目测试集5-10、5-20和5-30,随着子项目中活动数量的增加,NSGA-II算法在ER指标上的求解稳定性逐渐变差,ALNS算法在ER指标上的求解稳定性逐渐增强。对于中、小规模测试集5-10、5-20和10-10,NSGA-II算法在GD指标上的求解稳定性优于大邻域搜索算法ALNS/LNS;对于大规模测试集5-30和10-15,ALNS/LNS在GD指标上的求解稳定性优于NSGA-II。对于HV指标,大邻域搜索算法ALNS/LNS针对五组测试集的综合求解性能都比NSGA-II更加稳定。对于SP指标,NSGA-II针对四组测试集的绩效稳定性均优于ALNS/LNS。
(2)对于大规模测试集5-30,三种算法中ALNS四种绩效指标值的方差均最小,说明ALNS算法在该测试集上求解效率最为稳定。
由上表5-6可知,对于小规模测试集NSGA-II的Pareto解具有明显的支配地位,而对于大规模测试集ALNS的Pareto解具有明显的支配地位。
以上结果充分表明,本文提出的自适应大邻域搜索算法ALNS可以对双目标资源分配优化模型问题进行有效求解,特别是针对大规模测试集5-30,ALNS的求解性能及稳定性均优于NSGA-II/LNS。双目标资源分配优化模型的Pareto最优解集可以给项目经理综合考虑多项目拖期成本和进度计划的稳定性提供定量决策依据。
因此,本实施例中,在步骤103“对最小化总加权拖期成本的目标函数和最大化多项目调度方案总的鲁棒性函数施加约束条件,得到以项目解鲁棒性和项目拖期成本为优化对象构建多项目调度的双目标资源分配优化模型;”之后,还可以检测测试集的规模是否大于预设规模阈值,若检测到测试集的规模大于预设规模阈值,执行步骤104,否则,利用NSGA-II算法对ALNS算法进行替代。其中,非支配排序遗传算法包括:
非支配排序遗传算法包括:
C1、令迭代次数s=0,父代种群Ps,初始化算法参数:种群规模N,交叉概率pc,变异概率pm;
C2、基于非支配排序和拥挤距离对父代种群Ps中的个体进行排序;
C3、检测是否足算法终止条件;若是,结束,若否,执行C4;
C4、通过选择操作、交叉操作和变异操作生成子代种群Qs;对于交叉和变异之后产生的非法解进行调整修复使其成为可行解;
具体地,选择操作包括采用二元锦标赛策略进行N次选择,每次随机选出两个个体进行比较,保留较优个体,最后共选出N个个体做为父代;
交叉操作包括:进行N次交叉,每次随机选择两个个体作为父代,进行交叉生成两个子代个体,最后共生成2*N个子代个体,本实施例中,由于染色体编码包括四个部分,因此,可以采用共同进化策略,即四个部分交叉操作同时进行并相互独立,发生的概率均为pm。
交叉1:针对每一个子项目的活动优先级列表ALv,均采用两点交叉,即随机生成两个交叉点将染色体分为三个部分,两个交叉点以外的部分从同一个父代个体中继承,交叉点以内的部分即交叉区域从另一个父代个体中继承,其中子代个体中已经存在的元素应该被删除,同时需满足活动前后关系约束。
交叉2:针对多项目优先级列表L采用双点交叉(操作方式同交叉1,在此不再赘述)。
交叉3:针对多项目缓冲列表B采用概率交叉,即随机生成一组|V|维0-1变量,将数值为1的位置对应的缓冲值进行互换。
交叉4:针对每一组资源分配列表Ak均采用概率交叉,即随机生成一组|V|维0-1变量,将数值为1的位置对应的资源数量进行互换。
变异操作包括在组成染色体的四个部分上同时进行变异,上述四个部分相互独立,发生的概率均为pm。
变异1:针对每一个子项目的活动优先级列表ALv,均采用插入式变异。具体为,针对子项目的活动优先级列表ALv中的第i个活动,其基因位置为posi,首先确定第i个活动的所有紧前活动集合predi中最靠后的活动j的基因位置posj,然后确定第i个活动的所有紧后活动集合Succi中最靠前的活动q的基因位置posq,活动j和q的位置即定义了变异操作第i个活动的可行位置区域[posj,posq]。接下来,在可行位置区域中随机选择一个不同于当前位置的基因位posnew,将第i个活动插入该位置:如果posnew在活动i的原位置posi之前,则将posnew和posi之间的活动依次向后移动一个位置;如果posnew在活动i的原位置posi之后,则将posi和posnew之间的活动依次向前移动一个位置。
变异2:针对多项目优先级列表L采用插入式变异(操作方式同变异1,在此不再赘述)。
变异3:针对多项目缓冲列表B中的每个元素bv,生成一个(0,1)区间上的随机数,数值小于0.5则缓冲值减小一单位(如果缓冲大小为0则值不变),否则缓冲值增加一单位。
变异4:针对每一组资源分配列表Ak中的元素avk,生成一个(0,1)区间上的随机数,数值小于0.5则资源数量减小一单位,否则资源数量增加一单位。
C5、将父代种群Ps和子代种群Qs进行组合,得到新一代混合种群Rs={Ps∪Qs};
C6、基于非支配排序和拥挤距离对混合种群Rs中的个体进行排序,形成F个非支配前沿,记为frontf(1≤f≤F);
C7、根据偏序关系<从混合种群中选择N个最优的个体,构成下一代父代种群Ps+1,并重新执行检测是否足算法终止条件。
需要说明的是,本发明实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
图8为本发明的资源分配装置实施例的结构示意图,如图8所示,本实施例的资源分配装置包括定义模块11、构建模块12、计算模块13和分配模块14。
定义模块11,用于:
定义决策变量:将子项目v执行时获得的专享资源k的数量以及子项目v的第i个活动在时刻t的结束状况xvit作为决策变量;其中,v∈V,k∈K;若活动在时刻t结束xvit=1,若活动在时刻t未结束xvit=0;V为多项目集合;K为专享资源集合;i=1,2,…,Nv;;
定义最小化总加权拖期成本的目标函数为:
Figure BDA0002535116380000221
其中,Cv为子项目v的完成时间超出截止日期的边际拖期成本;xvNt表示子项目v的虚拟尾活动Nv在时刻t的结束状况;ddv为预先设定的子项目v的完工截止日期;
定义最大化多项目调度方案总的鲁棒性函数为:
Figure BDA0002535116380000222
其中,RMproj为项目自由时差效用函数,
Figure BDA0002535116380000223
为活动自由时差效用函数;fsvi表示第i个活动在资源约束下的自由时差,权重wi表示第i个活动实际开始时刻偏离计划开始时刻的边际惩罚成本;CIWi等于第i个活动的权重wi及其直接和间接的后序活动l的权重wl之和,即
Figure BDA0002535116380000224
Succi表示第i个活动的直接和间接后序活动l的集合,Δv代表子项目v的自由时差,ciwv是子项目v实际启动时刻偏离计划启动时刻的累积不稳定权重,ciwv等于子项目v的权重Wv及其直接和间接的后序项目的权重Wu之和,即
Figure BDA0002535116380000225
其中Wv表示子项目v实际启动时刻偏离计划启动时刻的边际惩罚成本,Succv表示因资源转移关系而形成的子项目v的后序项目u的集合。
构建模块12,用于对最小化总加权拖期成本的目标函数和最大化多项目调度方案总的鲁棒性函数施加约束条件,得到以项目解鲁棒性和项目拖期成本为优化对象构建多项目调度的双目标资源分配优化模型;
计算模块13,用于基于建立的双目标资源分配优化模型,采用自适应大邻域搜索算法求解得到最优分配结果;
自适应大邻域搜索算法包括:
所述自适应大邻域搜索算法包括:
s1、生成初始种群,定义M种邻域结构及M种邻域结构对应的destroy-repair机制,定义对当前解方案进行破坏的程度per_destroy,定义每次搜索时邻域解的数量Num_offspring;选择邻域结构m=1;其中,M=2+|K|+|V|,m∈M;
s2、在初始种群里通过非支配排序找出非支配解集D*;
s3、检测是否满足算法终止条件;
s4、如果检测到满足算法终止条件,则结束;
s5、如果检测到不满足算法终止条件,计算非支配解集D*的超体积HV值,并计算非支配解集D*每个解的HV贡献率;选择HV贡献率最大的解进行标记,作为基础解;在所述基础解的基础上进行邻域移动;如果所述基础解曾被标记,则选贡献率次大的基础解,依此类推;
s6、计算非支配解集D*与前一代非支配解集的HV改进比例Δ%,如果HV改进比例Δ%大于预设阈值,保持该邻域结构不变继续搜索;如果HV改进比例Δ%小于或等于预设阈值,更换下一个邻域结构;按照下一个邻域结构对应的destroy-repair机制生成Num_offspring个邻域解;其中,若下一个邻域结构为最后一个邻域机构则回到第一个邻域结构;
s7、将生成的Num_offspring个邻域解与非支配解集D*合并,通过非支配排序生成合并非支配解集D*,令D*=D*';
s8、如果合并非支配解集D*中所有解都被标记,解除所有标记,转到s3,如果D*中存在未被标记的解,转到s4。
分配模块14,用于根据所述最优分配结果,对所述资源进行分配。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图9为本发明的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本发明还提供了一种存储介质,所述存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述实施例的方法。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种资源分配方法,其特征在于,应用于资源专享和转移视角下多项目资源分配中,所述方法包括:
定义决策变量:将子项目v执行时获得的专享资源k的数量以及子项目v的第i个活动在时刻t的结束状况xvit作为决策变量;其中,v∈V,k∈K;若活动在时刻t结束xvit=1,若活动在时刻t未结束xvit=0;V为多项目集合;K为专享资源集合;i=1,2,…,Nv;1为虚拟首活动编号,Nv为虚拟尾活动编号;
定义最小化总加权拖期成本的目标函数为:
Figure QLYQS_1
其中,Cv为子项目v的完成时间超出截止日期的边际拖期成本;xvNtt表示子项目v的虚拟尾活动Nv在时刻t的结束状况;ddv为预先设定的子项目v的完工截止日期;
定义最大化多项目调度方案总的鲁棒性函数为:
Figure QLYQS_2
其中,RMproj为项目自由时差效用函数,
Figure QLYQS_3
为活动自由时差效用函数;fSvi表示第i个活动在资源约束下的自由时差,权重wi表示第i个活动实际开始时刻偏离计划开始时刻的边际惩罚成本;CIWvi表示子项目v中第i个活动的累积不稳定权重,CIWvi等于子项目v中第i个活动的权重wvi及其直接和间接的后序活动vl的权重wvl之和,即
Figure QLYQS_4
Succvi表示子项目v中第i个活动的直接和间接后序活动vl的集合,Δv代表子项目v的自由时差,ciwv是子项目v实际启动时刻偏离计划启动时刻的累积不稳定权重,ciwv等于子项目v的权重Wv及其直接和间接的后序项目的权重Wu之和,即
Figure QLYQS_5
其中Wv表示子项目v实际启动时刻偏离计划启动时刻的边际惩罚成本,Succv表示因资源转移关系而形成的子项目v的后序项目u的集合;
对最小化总加权拖期成本的目标函数和最大化多项目调度方案总的鲁棒性函数施加约束条件,得到以项目解鲁棒性和项目拖期成本为优化对象构建多项目调度的双目标资源分配优化模型;
基于建立的双目标资源分配优化模型,采用自适应大邻域搜索算法求解得到最优分配结果;
根据所述最优分配结果,对所述资源进行分配。
2.根据权利要求1所述的资源分配方法,其特征在于,所述自适应大邻域搜索算法包括:
s1、生成初始种群,定义M种邻域结构及M种邻域结构对应的destroy-repair机制,定义对当前解方案进行破坏的程度per_destroy,定义每次搜索时邻域解的数量Num_offspring;选择邻域结构m=1;其中,M=2+|K|+|V|,m∈M;
s2、在初始种群里通过非支配排序找出非支配解集D*;
s3、检测是否满足算法终止条件;
s4、如果检测到满足算法终止条件,则结束;
s5、如果检测到不满足算法终止条件,计算非支配解集D*的超体积HV值,并计算非支配解集D*每个解的HV贡献率;选择HV贡献率最大的解进行标记,作为基础解;在所述基础解的基础上进行邻域移动;如果所述基础解曾被标记,则选贡献率次大的基础解,依此类推;
s6、计算非支配解集D*与前一代非支配解集的HV改进比例Δ%,如果HV改进比例Δ%大于预设阈值,保持该邻域结构不变继续搜索;如果HV改进比例Δ%小于或等于预设阈值,更换下一个邻域结构;按照下一个邻域结构对应的destroy-repair机制生成Num_offspring个邻域解;其中,若下一个邻域结构为最后一个邻域机构则回到第一个邻域结构;
s7、将生成的Num_offspring个邻域解与非支配解集D*合并,通过非支配排序生成合并非支配解集D*′,令D*=D*′;
s8、如果合并非支配解集D*中所有解都被标记,解除所有标记,转到s3,如果D*中存在未被标记的解,转到s4。
3.根据权利要求2所述的资源分配方法,其特征在于,所述destroy-repair机制包括:
子项目的活动优先级列表邻域;每个子项目v对应一种邻域,针对子项目的活动优先级列表ALv进行destroy操作:从子项目的活动优先级列表ALv中随机提取|Jv|*per_destroy个活动组成第二列表L2,剩余活动形成第一列表L1;接着进行repair操作:依次选择第二列表L2中的一个活动,在第一列表L1中随机选择一个位置,检验位置可行性,如果检验结果表示不可行,再随机选一位置,直到找到检验结果表示可行的位置为止,将该活动放入第一列表L1中,直到第二列表L2为空,得到更新后的第一列表L1和更新后的第一列表L1对应的邻域解;
多项目优先级列表邻域;将每个子项目看作一个活动,针对多项目优先级列表L进行destroy-repair操作,从多项目优先级列表L中随机提取|V|*per_destroy个活动组成第四列表L4,剩余活动形成第三列表L3;接着进行repair操作:依次选择第四列表L4中的一个活动,在第三列表L3中随机选择一个位置,检验位置可行性,如果检验结果表示不可行,再随机选一位置,直到找到检验结果表示可行的位置为止,将该活动放入第三列表L3中,直到第四列表L4为空,得到更新后的第三列表L3和更新后的第三列表L3对应的邻域解;
多项目缓冲列表邻域;针对多项目缓冲列表B,随机提取多项目缓冲列表B的|V|*per_destroy个元素进行destroy,将|V|*per_destroy个元素对应的缓冲大小重新repair,得到对应的邻域解;
多项目资源分配列表邻域;共有|K|种资源,一种资源对应一种邻域,对于任意资源k,从多项目资源分配列表Ak中随机提取|V|*per_destroy个元素进行destroy,将多项目资源分配列表Ak对应的资源需求量重新repair,得到对应的邻域解。
4.根据权利要求2所述的资源分配方法,其特征在于,所述生成初始种群之前,还包括:
编码设计,采用混合编码的方式来表示可行解的结构;所述可行解的结构为:
Figure QLYQS_6
其中,L=(λ12,…λv,…,λ|V|)为多项目优先级列表,λv表示子项目v启动的先后顺序;B=(b1,b2,…,bv,…,b|V|)为多项目缓冲列表,bv表示子项目v之前插入的缓冲尺寸;Ak=(a1k,a2k,…avk,…,a|V|k)为多项目资源分配列表,avk表示每个项目实际执行时获得的资源k∈K的数量;
Figure QLYQS_7
为子项目的活动优先级列表,lvi表示活动安排的先后顺序;
解码操作,其中,所述解码操作包括:对于任意子项目v,根据其获得的资源avk和给定的活动优先级列表ALv,用串行调度机制生成子项目的基准调度计划
Figure QLYQS_8
计算出各活动在优先关系和资源约束下的最早开始时间esvi和最早结束时间efvi,子项目的工期长度Zv也随之确定;将不同的子项目看作多项目群的活动,活动执行时间为工期Zv,活动所需资源为avk,根据企业总的资源可用量Rk和给定的多项目优先级列表L、多项目缓冲列表B,用调整的串行调度过程生成多项目基准计划,计算出子项目v的最早开始时间ESv和最早结束时间EFv
判断解方案是否为可行解;判断准则为所有子项目是否都在截止期DD之前完工;如果否,确定为非法解,并对非法解采取修复策略,直到将非法解转变为可行解。
5.根据权利要求4所述的资源分配方法,其特征在于,所述修复策略包括:
如果存在某子项目v的完工时间大于DD,则首先调整该子项目的活动优先级列表ALv,如果通过调整仍得不到可行解,则需要调整解方案中的多项目优先级列表L和多项目缓冲列表B,直到将非法解转变为可行解。
6.根据权利要求1所述的资源分配方法,其特征在于,所述约束条件包括:
第一约束条件:
Figure QLYQS_9
第二约束条件:
Figure QLYQS_10
第三约束条件:
Figure QLYQS_11
第四约束条件:
Figure QLYQS_12
第五约束条件:
Figure QLYQS_13
第六约束条件:
Figure QLYQS_14
第七约束条件:
Figure QLYQS_15
第八约束条件:
Figure QLYQS_16
其中,第一约束条件表示任意时刻所有子项目获得的专享资源k的数量avk之和不超过企业可更新资源总的供应量Rk,AS(t)表示时刻t正在执行的子项目集合,T表示整个项目群完工日期可能的最大值;
第二约束条件表示子项目v执行时获得的专享资源k的数量avk必须不低于该子项目v的活动对专享资源k的最大需求量rvik
第三约束条件表示任意活动vi只能在一个时间点开始;
第四约束条件表示子项目内部的活动优先关系约束,即任意活动a完成之前,其紧后活动b不能开始;
第五约束条件表示子项目内部的资源需求约束,表示子项目v中任意时刻正在进行的活动对专享资源k的总消耗量不超过该子项目v所获得的专享资源k的数量avk
第六约束条件表示项目群完工期限约束;
第七约束条件和第八约束条件为决策变量的可行域。
7.一种资源分配装置,其特征在于,应用于资源专享和转移视角下多项目资源分配中,所述装置包括:
定义模块,用于:
定义决策变量:将子项目v执行时获得的专享资源k的数量以及子项目v的第i个活动在时刻t的结束状况xvit作为决策变量;其中,v∈V,k∈K;若活动在时刻t结束xvit=1,若活动在时刻t未结束xvit=0;V为多项目集合;K为专享资源集合;i=1,2,…,Nv;1为虚拟首活动编号,Nv为虚拟尾活动编号;
定义最小化总加权拖期成本的目标函数为:
Figure QLYQS_17
其中,Cv为子项目v的完成时间超出截止日期的边际拖期成本;xvNt表示子项目v的虚拟尾活动Nv在时刻t的结束状况;ddv为预先设定的子项目v的完工截止日期;
定义最大化多项目调度方案总的鲁棒性函数为:
Figure QLYQS_18
其中,RMproj为项目自由时差效用函数,
Figure QLYQS_19
为活动自由时差效用函数;fSvi表示第i个活动在资源约束下的自由时差,权重wi表示第i个活动实际开始时刻偏离计划开始时刻的边际惩罚成本;CIWvi等于子项目v中第i个活动的权重wvi及其直接和间接的后序活动vl的权重wl之和,即
Figure QLYQS_20
Succvi表示子项目v中第i个活动的直接和间接后序活动vl的集合,Δv代表子项目v的自由时差,ciwv是子项目v实际启动时刻偏离计划启动时刻的累积不稳定权重,ciwv等于子项目v的权重Wv及其直接和间接的后序项目的权重Wu之和,即
Figure QLYQS_21
其中Wv表示子项目v实际启动时刻偏离计划启动时刻的边际惩罚成本,Succv表示因资源转移关系而形成的子项目v的后序项目u的集合;
构建模块,用于对最小化总加权拖期成本的目标函数和最大化多项目调度方案总的鲁棒性函数施加约束条件,得到以项目解鲁棒性和项目拖期成本为优化对象构建多项目调度的双目标资源分配优化模型;
计算模块,用于基于建立的双目标资源分配优化模型,采用自适应大邻域搜索算法求解得到最优分配结果;
分配模块,用于根据所述最优分配结果,对所述资源进行分配。
8.根据权利要求7所述的资源分配装置,其特征在于,所述自适应大邻域搜索算法包括:
s1、生成初始种群,定义M种邻域结构及M种邻域结构对应的destroy-repair机制,定义对当前解方案进行破坏的程度per_destroy,定义每次搜索时邻域解的数量Num_offspring;选择邻域结构m=1;其中,M=2+|K|+|V|,m∈M;
s2、在初始种群里通过非支配排序找出非支配解集D*;
s3、检测是否满足算法终止条件;
s4、如果检测到满足算法终止条件,则结束;
s5、如果检测到不满足算法终止条件,计算非支配解集D*的超体积HV值,并计算非支配解集D*每个解的HV贡献率;选择HV贡献率最大的解进行标记,作为基础解;在所述基础解的基础上进行邻域移动;如果所述基础解曾被标记,则选贡献率次大的基础解,依此类推;
s6、计算非支配解集D*与前一代非支配解集的HV改进比例Δ%,如果HV改进比例Δ%大于预设阈值,保持该邻域结构不变继续搜索;如果HV改进比例Δ%小于或等于预设阈值,更换下一个邻域结构;按照下一个邻域结构对应的destroy-repair机制生成Num_offspring个邻域解;其中,若下一个邻域结构为最后一个邻域机构则回到第一个邻域结构;
s7、将生成的Num_offspring个邻域解与非支配解集D*合并,通过非支配排序生成合并非支配解集D*′,令D*=D*′;
s8、如果合并非支配解集D*中所有解都被标记,解除所有标记,转到s3,如果D*中存在未被标记的解,转到s4。
9.一种资源分配系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任意一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至6任一所述方法。
CN202010530221.5A 2020-06-11 2020-06-11 一种资源分配方法、装置设备和存储介质 Active CN111695806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010530221.5A CN111695806B (zh) 2020-06-11 2020-06-11 一种资源分配方法、装置设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010530221.5A CN111695806B (zh) 2020-06-11 2020-06-11 一种资源分配方法、装置设备和存储介质

Publications (2)

Publication Number Publication Date
CN111695806A CN111695806A (zh) 2020-09-22
CN111695806B true CN111695806B (zh) 2023-05-12

Family

ID=72480376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010530221.5A Active CN111695806B (zh) 2020-06-11 2020-06-11 一种资源分配方法、装置设备和存储介质

Country Status (1)

Country Link
CN (1) CN111695806B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112053099B (zh) * 2020-10-14 2023-11-17 国网北京市电力公司 一种路灯建设资源调度方法、系统、存储介质和装置
CN113723867B (zh) * 2021-05-21 2024-04-26 深圳市海柔创新科技有限公司 资源分配的方法、装置、设备、存储介质及程序产品
CN113627716B (zh) * 2021-06-30 2024-08-23 上海大学 一种用于多配送中心抗干扰车辆调度方法
CN113344552B (zh) * 2021-07-08 2021-12-31 中宬建设管理有限公司 一种基于工程造价的多项目联合管理方法及系统
CN114418219B (zh) * 2022-01-20 2024-10-15 华北电力大学 应对不确定性的工程项目进度优化方法及装置
CN114896063A (zh) * 2022-05-10 2022-08-12 中国农业银行股份有限公司 一种用于作业链的资源调度方法及装置
CN117474486B (zh) * 2023-11-03 2024-08-13 北京交通大学 一种重复性建设工程工期优化方法
CN118569609A (zh) * 2024-08-01 2024-08-30 四川公路桥梁建设集团有限公司 一种大跨度桥梁施工资源调度优化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186536A (zh) * 2011-12-27 2013-07-03 中兴通讯股份有限公司 一种调度数据共享装置的方法及系统
WO2014124448A1 (en) * 2013-02-11 2014-08-14 Amazon Technologies, Inc. Cost-minimizing task scheduler
CN107025363A (zh) * 2017-05-08 2017-08-08 中国人民解放军国防科学技术大学 一种面向敏捷卫星调度的自适应大邻域搜索方法
CN108960627A (zh) * 2018-07-02 2018-12-07 王红岩 一种基于科研项目的全进度监控管理系统及方法
CN110070305A (zh) * 2019-05-05 2019-07-30 中国人民解放军国防科技大学 一种资源转移视角下的双目标鲁棒资源分配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186536A (zh) * 2011-12-27 2013-07-03 中兴通讯股份有限公司 一种调度数据共享装置的方法及系统
WO2014124448A1 (en) * 2013-02-11 2014-08-14 Amazon Technologies, Inc. Cost-minimizing task scheduler
CN107025363A (zh) * 2017-05-08 2017-08-08 中国人民解放军国防科学技术大学 一种面向敏捷卫星调度的自适应大邻域搜索方法
CN108960627A (zh) * 2018-07-02 2018-12-07 王红岩 一种基于科研项目的全进度监控管理系统及方法
CN110070305A (zh) * 2019-05-05 2019-07-30 中国人民解放军国防科技大学 一种资源转移视角下的双目标鲁棒资源分配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡雪君等.资源转移视角下的RCPSP鲁棒资源分配方法.系统工程学报.2020,第35卷(第2期),第173-187页. *

Also Published As

Publication number Publication date
CN111695806A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
CN111695806B (zh) 一种资源分配方法、装置设备和存储介质
CN111667191B (zh) 资源专享和转移视角下双目标鲁棒资源分配方法和系统
Neufeld et al. A systematic review of multi-objective hybrid flow shop scheduling
Shahvari et al. Hybrid flow shop batching and scheduling with a bi-criteria objective
Cesaret et al. A tabu search algorithm for order acceptance and scheduling
Fu Integrated scheduling and batch ordering for construction project
Figielska A genetic algorithm and a simulated annealing algorithm combined with column generation technique for solving the problem of scheduling in the hybrid flowshop with additional resources
CN113139710B (zh) 一种基于遗传算法的多资源并行任务高级计划排程方法
CN110070305A (zh) 一种资源转移视角下的双目标鲁棒资源分配方法
Wu et al. Analytics branching and selection for the capacitated multi-item lot sizing problem with nonidentical machines
Mika et al. Overview and state of the art
CN111461402B (zh) 物流排程优化方法及装置、计算机可读存储介质、终端
Kosztyán et al. Hybrid multimode resource-constrained maintenance project scheduling problem
Renna et al. Order allocation in a multiple suppliers-manufacturers environment within a dynamic cluster
CN118261376A (zh) 基于改进模拟退火算法的服装生产线动态调度方法及系统
Ananth et al. Cooperative game theoretic approach for job scheduling in cloud computing
JP4909869B2 (ja) 部材割付システム
Piri et al. Developing a new model for simultaneous scheduling of two grand projects based on game theory and solving the model with Benders decomposition
Khorramfar et al. Managing Product Transitions: A Bilevel Programming Approach
CN113268928B (zh) 一种基于随机资源受限多项目调度的遗传规划方法
CN110633784A (zh) 一种多规则人工蜂群改进算法
Lv et al. Scenario-based modeling approach and scatter search algorithm for the stochastic slab allocation problem in steel industry
Akram et al. A Pareto-optimality based black widow spider algorithm for energy efficient flexible job shop scheduling problem considering new job insertion
Wang et al. Genetic algorithm solution for multi-period two-echelon integrated competitive/uncompetitive facility location problem
Nguyen Meta-heuristic solution methods for rich vehicle routing 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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Hu Xuejun

Inventor before: Hu Xuejun

Inventor before: Wang Jianjiang

GR01 Patent grant
GR01 Patent grant