一种基于马尔科夫决策过程的动态资源优化方法与流程

文档序号:11143583阅读:543来源:国知局
一种基于马尔科夫决策过程的动态资源优化方法与制造工艺

本发明属于动态资源优化技术领域,具体涉及一种基于马尔科夫决策过程的动态资源优化方法。



背景技术:

在当前全球化制造环境下,复杂产品研制往往需要调度不同地域、不同种类、不同特点的企业资源来完成。云制造是借助于信息网络的支持,通过整合社会制造资源和能力把地理上分散的、能力互补的企业资源连接起来,实现分散制造资源的共享、集成和协同工作,合作完成复杂产品的设计、制造、装配,以及销售和服务整个生命周期,在更好的响应市场需求的同时,获取最大的利益。

在云制造环境下制造资源包含了企业完成产品整个生命周期所有生产活动的各种物理元素,存在种类繁杂、形态异构、地理分散等特点,精确调控云制造资源和制造能力,构造整体服务质量最优、集群协作能力最高的云制造资源组合,成为云制造顺利开展的关键。

云制造资源组合优选模型和求解机制的优劣将直接影响到产品研制质量以及研制过程能否得以安全、顺利的进行,而云制造的特点决定了产品研制过程中制造资源选择充满了不确定因素,当前关于制造资源优化配置的研究大多只考虑时间、成本、质量和资源评价等几方面的问题,没有充分考虑产品研制过程不确定性对云制造资源选择的影响:即产品研制存在失败的可能,这不仅使得产品研制过程充满了风险,也会对产品研制成本和研制周期产生极大的影响。

因此,如何实现产品研制过程不确定性影响下云制造资源的动态优化选择,仍是一个急需要解决的技术难题。

马尔可夫决策过程是基于马尔可夫过程理论的随机动态系统最优决策过程,它的特性是在已知目前状态的条件下,它未来的演变不依赖于它以往的演变,即在决策过程中决策者周期地或连续地观察具有马尔可夫性的随机动态系统,序贯地进行决策。目前,马尔可夫决策过程已广泛应用于自然科学与工程技术的众多领域,尤其在预测技术上得到了大量实践与推广。



技术实现要素:

(一)要解决的技术问题

本发明要解决的技术问题是:如何提供一种基于马尔科夫决策过程的动态资源优化方法,试图将云制造环境下动态资源优化配置问题看作是一种马尔科夫决策过程,利用交叉熵算法对动态资源进行优化求解。

(二)技术方案

为解决上述技术问题,本发明提供一种基于马尔科夫决策过程的动态资源优化方法,其基于动态资源优化系统来实施,该动态资源优化系统包括:复杂产品任务分解模块、研制能力网络构建模块、动态资源选择决策模块以及交叉熵求解模块;

步骤S1:根据复杂产品的性能要求、结构要求和精度要求,通过复杂产品任务分解模块对总任务F进行分解,形成n个研制子任务,即F={fi|i=1,2,…,n},其中fi表示研制过程中的第i个子任务;

步骤S2:根据各个研制子任务对云制造资源的需求,通过研制能力网络构建模块建立由跨地域企业研制能力资源组成的动态的复杂产品研制能力网络;所述研制能力网络构建模块包括:企业研制能力分解器、能力资源池构建器、能力网络构建器;

该步骤S2包括如下子步骤:

步骤S201:通过企业研制能力分解器将云制造环境下跨地域的企业制造资源进行虚拟化,将企业研制能力统一表达为企业研制能力单元cij={lov(cij),fi,j};其中,lov(cij)为针对某一子任务fi,对于企业j而言,其完成该任务的研制能力等级,其大小反映了完成研制任务的预期水平;

步骤S202:在步骤S201的基础上,针对某一子任务fi,根据跨地域的企业制造资源中企业的数量,重复若干次步骤S201,进而通过能力资源池构建器建立虚拟的企业研制能力资源池CP(i)={ci1,ci2,,…,cij},i=1~n;

步骤S203:根据相邻子任务之间的顺序关系,能力网络构建器建立企业研制能力资源池之间的顺序关系,以及分处于相邻两个企业研制能力资源池中各个企业研制能力单元之间的关联关系,从而形成动态的复杂产品研制能力网络;

步骤S3:基于复杂产品研制能力网络,动态资源选择决策模块根据马尔科夫决策方法获取动态资源分配策略;该步骤S3包括如下步骤:

步骤S301:在复杂产品研制能力网络图中,在每个子任务研制过程中,就某一个时刻t(t=0,1,2,…)设置为仅可分配一个企业研制能力单元cij满足其对应的研制需求;

步骤S302:将时刻t所对应的当前子任务研制阶段作为时刻t对应的任务状态,则总任务F的任务状态空间可表示为S={St,t≥0}={f1,f2,…,fn};

步骤S303:针对某一时刻t,其对应的子任务为子任务fi,则其任务状态为St=fi,定义该时刻t对应的企业研制能力单元以θij概率成功完成研制子任务fi,则下一时刻t+1进入下一子任务fi+1的企业研制能力单元分配阶段,时刻t+1的任务状态为St+1=fi+1

以1-θij表示未完成研制任务fi的概率,即任务研制失败,则下一时刻t+1的任务状态与时刻t的状态相同,即St+1=St=fi;其中,概率θij与研制能力等级lov(cij)的关系式为:θij=lov(cij)/10;

步骤S304:对于某一子任务fi在时刻t所分配的企业研制能力单元而言,无论是否完成研制任务均会发生大小为的研制费用;

步骤S305:设定St=fn为目标状态,亦即是最终状态;

步骤S306:从任务起始时刻0到任务完成时刻t为止,企业研制能力单元分配过程可由马尔科夫过程的一个历史来描述:

步骤S307:根据步骤S306的历史描述Ht,获取在历史Ht条件下分配企业研制能力单元的概率集即动态资源分配策略;

步骤S308:设定γ为从需求状态S0=f1首次到达最终状态St=fn时分配的企业研制能力单元的研制次数,将从时刻0到时刻γ所分配的全部企业研制能力单元定义为一个研制能力序列

步骤S309:云制造环境下动态资源调度优化配置问题可以描述为寻求一个最优选择策略使得研制期望费用Z(X)最小;其中,Eπ表示相对于概率密度π求期望;

步骤S4:采用交叉熵求解模块对动态资源分配策略进行优化输出;该步骤S4包括如下步骤:

步骤S401:针对动态资源分配策略π,进行初始化操作,使动态资源分配策略π中每一个企业研制能力单元被分配的概率相同,即初始化后,企业研制能力单元被分配的过程是随机过程,从而将动态资源分配策略π表征为所有元素数值相同且每一列元素数值之和为1的初始转移矩阵P;

步骤S402:在总任务F对应的复杂产品研制能力网络中随机选取一个企业研制能力单元作为起点,鉴于子任务数量为n,则基于初始转移矩阵P经过n步不同的状态随机转移可生成一条路径X1,X2,…,Xn,由于状态转移过程是随机的,由此可获取N条路径,计算每条路径Xi的费用Z(Xi);

步骤S403:将研制费用Z(Xi)由小到大进行排序:

Z(Xi)(1)≤Z(Xi)(2)≤…≤Z(Xi)(N),则它的分位值ρ为

步骤S404:根据获取的分位值利用拉格朗日乘子法计算得到第一概率转移矩阵P',其中,第一概率转移矩阵P'中的元素pij'表示为:

其中,pij'表示研制子任务i时,分配的能力研制单元为j的概率;

表示在N条路径中,对于研制费用不高于γ的路径,在研制子任务i时,分配能力研制单元的次数;

表示对于N条路径中,对于研制费用不高于γ的路径,在研制子任务i时,分配能力研制单元为j的次数;

步骤S405:根据第一概率转移矩阵P'及初始转移矩阵P,采用平滑技术修正,得到第二概率转移矩阵P″=α·P'+(1-α)·P,其中α为平滑参数;

步骤S406:对初始转移矩阵P进行重新赋值,将第二概率转移矩阵P″赋值给初始转移矩阵P;

步骤S407:重复步骤S402到步骤S406,直到对于某个给定的迭代次数d,出现对于不同的初始转移矩阵P,均使得从需求状态S0=f1首次到达最终状态St=fn时,研制费用Z(Xi)的分位值为止;

步骤S408:当步骤S407的条件出现时,视为最优选择策略出现,将当前的初始转移矩阵P作为最优选择策略输出,即可得到复杂产品云制造环境下动态资源最优资源组合。

(三)有益效果

与现有技术相比较,本发明提供一种基于马尔科夫决策过程的动态资源优化方法,打破了传统的制造资源选择方法,将云制造环境下多个研制任务精确调控云制造资源问题抽象为一个马尔科夫决策选择过程,实现了研制过程不确定性对资源选择的数学建模;以研制期望费用为目标函数,采用交叉熵方法进行计算,将组合优化问题转换为关联随机优化问题,得到云制造资源最优选择概率,实现复杂产品协同研制工作中制造资源的合理调度和高效利用,有效的降低了产品研制风险和制造成本。

附图说明

图1为复杂产品研制能力网络。

图2为马尔科夫决策过程的动态资源选择决策示意图。

图3为优化选择策略和随机选择策略研制成本比较示意图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

为解决上述技术问题,本发明提供一种基于马尔科夫决策过程的动态资源优化方法,如图1-图3所示,其基于动态资源优化系统来实施,该动态资源优化系统包括:复杂产品任务分解模块、研制能力网络构建模块、动态资源选择决策模块以及交叉熵求解模块;

步骤S1:根据复杂产品的性能要求、结构要求和精度要求,通过复杂产品任务分解模块对总任务F进行分解,形成n个研制子任务,即F={fi|i=1,2,…,n},其中fi表示研制过程中的第i个子任务;

步骤S2:根据各个研制子任务对云制造资源的需求,通过研制能力网络构建模块建立由跨地域企业研制能力资源组成的动态的复杂产品研制能力网络;所述研制能力网络构建模块包括:企业研制能力分解器、能力资源池构建器、能力网络构建器;

该步骤S2包括如下子步骤:

步骤S201:通过企业研制能力分解器将云制造环境下跨地域的企业制造资源进行虚拟化,将企业研制能力统一表达为企业研制能力单元cij={lov(cij),fi,j};其中,lov(cij)为针对某一子任务fi,对于企业j而言,其完成该任务的研制能力等级,其大小反映了完成研制任务的预期水平;

步骤S202:在步骤S201的基础上,针对某一子任务fi,根据跨地域的企业制造资源中企业的数量,重复若干次步骤S201,进而通过能力资源池构建器建立虚拟的企业研制能力资源池CP(i)={ci1,ci2,,…,cij},i=1~n;

步骤S203:根据相邻子任务之间的顺序关系,能力网络构建器建立企业研制能力资源池之间的顺序关系,以及分处于相邻两个企业研制能力资源池中各个企业研制能力单元之间的关联关系(即,某一企业研制能力资源池中某一企业研制能力单元与相邻企业研制能力资源池中任一企业研制能力单元的关联关系),从而形成动态的复杂产品研制能力网络;

步骤S3:基于复杂产品研制能力网络,动态资源选择决策模块根据马尔科夫决策方法获取动态资源分配策略;该步骤S3包括如下步骤:

步骤S301:在复杂产品研制能力网络图中,在每个子任务研制过程中,就某一个时刻t(t=0,1,2,…)设置为仅可分配一个企业研制能力单元cij满足其对应的研制需求;

步骤S302:将时刻t所对应的当前子任务研制阶段作为时刻t对应的任务状态,则总任务F的任务状态空间可表示为S={St,t≥0}={f1,f2,…,fn};

步骤S303:针对某一时刻t,其对应的子任务为子任务fi,则其任务状态为St=fi,定义该时刻t对应的企业研制能力单元以θij概率成功完成研制子任务fi,则下一时刻t+1进入下一子任务fi+1的企业研制能力单元分配阶段,时刻t+1的任务状态为St+1=fi+1

以1-θij表示未完成研制任务fi的概率,即任务研制失败,则下一时刻t+1的任务状态与时刻t的状态相同,即St+1=St=fi;其中,概率θij与研制能力等级lov(cij)的关系式为:θij=lov(cij)/10;

步骤S304:对于某一子任务fi在时刻t所分配的企业研制能力单元而言,无论是否完成研制任务均会发生大小为的研制费用;

步骤S305:设定St=fn为目标状态,亦即是最终状态;

步骤S306:从任务起始时刻0到任务完成时刻t为止,企业研制能力单元分配过程可由马尔科夫过程的一个历史来描述:

步骤S307:根据步骤S306的历史描述Ht,获取在历史Ht条件下分配企业研制能力单元的概率集即动态资源分配策略;

步骤S308:设定γ为从需求状态S0=f1首次到达最终状态St=fn时分配的企业研制能力单元的研制次数,将从时刻0到时刻γ所分配的全部企业研制能力单元定义为一个研制能力序列

步骤S309:云制造环境下动态资源调度优化配置问题可以描述为寻求一个最优选择策略使得研制期望费用Z(X)最小;其中,Eπ表示相对于概率密度π求期望;

步骤S4:采用交叉熵求解模块对动态资源分配策略进行优化输出;该步骤S4包括如下步骤:

步骤S401:针对动态资源分配策略π,进行初始化操作,使动态资源分配策略π中每一个企业研制能力单元被分配的概率相同,即初始化后,企业研制能力单元被分配的过程是随机过程,从而将动态资源分配策略π表征为所有元素数值相同且每一列元素数值之和为1的初始转移矩阵P;

步骤S402:在总任务F对应的复杂产品研制能力网络中随机选取一个企业研制能力单元作为起点,鉴于子任务数量为n,则基于初始转移矩阵P经过n步不同的状态随机转移可生成一条路径X1,X2,…,Xn,由于状态转移过程是随机的,由此可获取N条路径,计算每条路径Xi的费用Z(Xi);

步骤S403:将研制费用Z(Xi)由小到大进行排序:

Z(Xi)(1)≤Z(Xi)(2)≤…≤Z(Xi)(N),则它的分位值ρ为

步骤S404:根据获取的分位值利用拉格朗日乘子法计算得到第一概率转移矩阵P',其中,第一概率转移矩阵P'中的元素pij'表示为:

其中,pij'表示研制子任务i时,分配的能力研制单元为j的概率;

表示在N条路径中,对于研制费用不高于γ的路径,在研制子任务i时,分配能力研制单元的次数;

表示对于N条路径中,对于研制费用不高于γ的路径,在研制子任务i时,分配能力研制单元为j的次数;

步骤S405:根据第一概率转移矩阵P'及初始转移矩阵P,采用平滑技术修正,得到第二概率转移矩阵P″=α·P'+(1-α)·P,其中α为平滑参数;

步骤S406:对初始转移矩阵P进行重新赋值,将第二概率转移矩阵P″赋值给初始转移矩阵P;

步骤S407:重复步骤S402到步骤S406,直到对于某个给定的迭代次数d,出现对于不同的初始转移矩阵P,均使得从需求状态S0=f1首次到达最终状态St=fn时,研制费用Z(Xi)的分位值为止;

步骤S408:当步骤S407的条件出现时,视为最优选择策略出现,将当前的初始转移矩阵P作为最优选择策略输出,即可得到复杂产品云制造环境下动态资源最优资源组合。

实施例

本实施例根据复杂产品任务分解模型对任务F进行任务分解,形成的任务集合:F={fi|i=1,2,…,8}。

将云制造环境下跨地域的企业制造资源进行虚拟化和服务化,企业研制能力单元表达为cij={lov(cij),fi,j},其中j=1,2,…5。

建立虚拟的企业研制能力资源池:CP(1)={c11,c12,c13,c14,c15},CP(2)={c21,c22,c23,c24,c25},CP(3)={c31,c32,c33,c34,c35},CP(4)={c41,c42,c43,c44,c45},CP(5)={c51,c52,c53,c54,c55},CP(6)={c61,c62,c63,c64,c65},CP(7)={c71,c72,c73,c74,c75},CP(8)={c81,c82,c83,c84,c85}

为了便于描述,将云制造环境下所有企业研制能力单元cij对应的研制能力单元等级lov(cij)和研制成本采用集合进行表示,表1为研制能力单元等级集合LOV={lov(cij)|i=8,j=5},表2为研制成本集合CS={Cs(cij)|i=8,j=5},其中,lov(cij)和CS(cij)由预设的值给出。

表1研制能力单元等级集合LOV为:

表2研制成本集合CS为:

为每一个子任务分配一个候选研制能力资源池,形成复杂产品研制能力网络,如图1所示。

基于马尔科夫决策过程的动态资源选择决策示意图如图2所示,其中θij表示研制能力单元cij成功完成研制任务fi的概率;1-θij表示未完成研制任务fi的概率,即当前阶段产品研制失败。其中概率θ与研制能力等级lov(cij)的关系式为:θij=lov(cij)/10。表3为任务f1~f8研制成功概率θij的集合,即θ={θij|i=8,j=5}。

表3研制任务成功概率θij的集合为:

在本实施例中,采用交叉熵算法对动态资源选择决策模型进行优化。

生成初始转移矩阵P,使转移矩阵每个研制能力单元被选择的概率相等,即

令N=5000,ρ=0.16,α=0.5,d=10时,用交叉熵方法对基于马尔科夫决策过程动态资源选择策略进行优化。经迭代计算46次后得到最低研制成本2132,其中最优选择概率为

因此,本实例中研制子任务f1~f8基于马尔科夫决策过程的动态资源优化选择策略为c14,c22,c33,c44,c53,c64,c71,c85

将优化选择策略和随机选择策略分别进行模拟运算,运行10次后两种选择策略的研制成本如图3所示,10次模拟中优化选择策略平均研制成本为3113,随机选择策略平均研制成本为3610.9。模拟结果表明,采用优化选择策略平均研制成本低于随机选择策略的平均成本。但需要说明的是,模拟过程中并不能保证模拟过程中每次研制成本都比随机选择策略小,因为每一次研制能力单元能否完成任务都具有随机性,这种随机性对研制成本有很大影响,因此,通过比较平均研制成本减小了这种随机性的影响。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1