进度管理是建设项目管理的重要组成部分。在实际的管理事务中,许多不确定性可能导致潜在的项目延迟,使进度风险。量化风险,概率关键路径方法(PCPM)用于计算逾期概率。调查显示它可以帮助项目经理更好地理解时间表。然而,有限的应用”两个关键因素:计算效率和及时性。为了解决这些限制,我们结合子集模拟和统计学习建立一个计算效率和动态仿真系统。数值实验表明,该方法可以有效地提高计算效率,而不会损失任何精度,优于其他方法使用相同的假设。此外,我们提出了一个基于机器学习的方法来估计任务持续时间分布自动”。它收集实时数据通过用户交互和学习进步最好的PERT-Beta参数基于这些历史数据。我们的估计提供了仿真系统能够处理动态评估没有人类艰苦的工作。 These improvements reduce the limitations of PCPM, making the application of PCPM in practical management affairs possible.
一个b年代tr一个ct>进度管理是建设项目管理的重要组成部分。逾期项目将给项目带来潜在的经济损失。但是,另一方面,根据周期减少必然会给项目带来的风险。所以,应用科学管理方法尤为重要,评估项目进度和控制延迟的风险。
关键路径方法(CPM)是一个被广泛接受并充分利用工具规划、控制和调度建设项目。它可以帮助项目经理识别关键路径在计划和确定项目持续时间确定当所有任务的持续时间(
“最关键路径”的方法是首先提出Soroush 1994年(
不像传统的CPM,模糊CPM (FCPM)代表一个活动持续时间与模糊数代替一个实数,并使用模糊操作计算模糊关键路径和模糊项目持续时间。通过结合不同类型的模糊数和模糊操作,研究人员提出了许多建设性的和有用的方法。这些贡献解决一些关键缺陷FCPM,如负时间和无效的模糊减法,并提供了一个有效的方法来解决模糊网络关键路径问题项目。如今,许多研究人员仍然在它的变体,在实践中验证其有效性和实用性
类似于模糊CPM,概率CPM (PCPM)代表一个活动持续时间由一个随机变量。这使得完成时间也是一个随机变量。”的终极目标是找出完成时间的概率高于给定的期限和识别关键路径的概率上下文。研究表明,由于其简单的概率解释,这种方法可以很容易地理解项目经理和帮助他们更好地管理项目以及最小化延迟风险(
值得注意的是,虽然制定了一个简单的方法,”实际上是很难解决,仍在研究。四个关键因素可能解释这样的困难。首先,”是一个高维概率密度函数的积分定义的故障域隐式极限状态函数。第二,这个极限状态函数是由几个mutual-referenced和嵌套计算块,使它像一个黑盒子系统。第三,因为有很多非线性逻辑操作数,最大和最小,在嵌套的街区,也是高度非线性极限状态函数。这个事实让一些流行的委托模型,像一阶可靠性方法和响应面近似目标函数。第四,直接蒙特卡洛模拟(后腰)耗时达成公正的数值估计,这可能是在实践中似乎没有希望的。
考虑上述所有的困难,我们建议采用一种精心设计的黑箱系统可靠性算法,可以解决可靠性评估问题不关心我们的目标系统的细节。仿真是一个子集的算法。它是一个数值方法广泛应用于结构工程(
除了计算效率问题,还有一个重要的问题来解决。上面提到的大多数研究没有考虑评价的及时性。随着一个项目,任务持续时间估计的时间表将会改变。一个可行的解决方案是重新估计他们手动,但它会带来大量的额外的工作负载,可以避免。实现自动实时可靠性评估,我们引入统计学习”。该方法可以处理动态评估建设生命周期没有太多额外的工作。基于历史进程收集的数据管理软件,可以估计任务的持续时间分布自动使用机器学习。这个特性在实际管理事务”会更有用。
在这项研究中,我们将提供一个新方法,结合子集模拟和统计学习有效地解决项目延迟问题和动态。三个主要的研究目标是描述如下:
介绍基于仿真的子集”和展示其工作过程以及实现细节
说明如何插入PCPM统计学习,提出这个学习系统的成本函数,推导出任务持续时间分布的公式给收集的数据
验证了该方法的有效性并与其他方法进行比较
总结了本文的其余部分组织如下。部分
在本节中,我们将首先制定计划我们想解决可靠性问题。然后,我们将介绍一个设计良好的算法,解决了关键路径问题。该算法将工作作为一个隐含的子表达式的船期的可靠性问题。基础网络关键路径法和计划是省略的简洁性。
<年代ec我d="sec2.1">一个时间表并不总是作为项目经理的期望。有时它可能会失败。换句话说,一个项目的实际完成时间将超过期限的合同。这是一个灾难性的事情我们需要避免的。量化风险延迟,我们假设一个项目的完成时间是一个随机变量。给定一个最后期限,延误概率可以制定如下:
求解方程(
MDA使用Activity-On-Node (AoN)表示和图形代表一个时间表<我nline-formula>
MDA提高了经典的迪杰斯特拉算法通过添加拓扑排序(
给出了MDA的伪代码如下所示,请注意,MDA是预分类的节点拓扑秩序,满足两个索引约束<我nline-formula>
自<我nline-formula>
然而,直接蒙特卡洛模拟(后腰)是计算效率低下。获得一个稳定的估计,需要大量的样本,使计算过程耗时。求解方程(
子集模拟首次提出了s . k .盟估计小结构体系的失效概率高维度。因为它的效率,这种方法被广泛应用于结构工程和土壤工程。
子集模拟的基本思想表达是一个小概率作为一个产品的一系列更大的条件概率通过引入中间失败事件。因为中间失败事件更容易解决,这种分解可以减少不必要的采样和加速计算。这个过程可以在概念上表示如下:
如何选择中间失败事件吗<我nline-formula>
如何生成样本<我nline-formula>
在接下来的部分,这些问题将由非盟的标准回答子集模拟算法。我们将说明如何解决船期的可靠性问题。
年代ec><年代ec id="sec3.2">为简单起见,我们的研究使用s . k . Au的标准算法。在该算法中,样本在每个迭代中生成通过马尔可夫链蒙特卡罗(密度)使用种子,以及迭代中间时间限制和种子样本选择的一个固定阈值的百分比(
只有两个参数用于标准算法:批量大小<我nline-formula>
假设一批样品<我nline-formula>
最简单的采样策略pmmh采样,基于对称的建议<我nline-formula>
<我nline-formula>
标准算法的伪代码如下所示(算法
生成初始样本:<我nline-formula>
计算<我nline-formula>
计算<我nline-formula>
选择种子和中间失败事件<我nline-formula>
生成下一批样品<我nline-formula>
这个过程如图
插图的子集模拟过程。(一)迭代1:直接蒙特卡洛抽样。(b)迭代1:选种。(c)迭代2:获得使用种子。(d)迭代2:选种。
在本节中,一个历史性的基于数据的持续时间分布估计方法提出了。该方法使用PERT-Beta分布作为概率模型。和需要三假设使问题更容易解决。最后,它使用梯度下降,一种广泛使用的机器学习优化工具,估计观测时间分布。
<年代ec我d="sec4.1">”工作,每个任务的持续时间应该正确地模仿。一个经验分布通常是在缺乏观测数据时使用。一些调查显示β分布是一个合适的(
PERT-Beta分布的密度函数是由方程(
典型PERT-beta分布的密度函数。
然而,估计不是一个静态的事情。与项目,时间分布应该纠正,重新估计根据现状。项目经理可以做这些工作,但会让很多的努力。节省时间的,如果我们能估计自动分配。
年代ec><年代ec id="sec4.2">统计学习可以应用在我们的工作估计自动分配。然而,建立这样一个学习系统,我们需要一些基本假设构建该系统的成本函数。在我们的研究中,我们让三个假设任务进度和时间分布。
这些假设是如图
在我们的两步估计的假设。(一)第一步:工作速度估计。(2)第二步:最终的分布估计。
基于之前的假设,我们可以推导出我们学习系统的成本函数。根据方程(
自<我nline-formula>
因此,我们的目的是优化损失函数<我nline-formula>
使用梯度下降时,我们可以有数值最适条件<我nline-formula>
在确定<我nline-formula>
与所有三个工作率<我nline-formula>
我们的系统的详细设计和主要类图中描述类之间的关系图
类应用是条目类,处理所有来自用户的交互:我们可以使用类配置仿真设置。设置类定义了时间限制<我nline-formula>
类RecordManager是经理类,需要记录的输入并将它们存储。除此之外,它还提供了一个任务使用的函数来估计分布历史数据。节将描述这一过程
类SubsetSimulation条目类我们模拟发生的地方。这类计算失效概率和分别设置任务的平均总浮动。我们描述了这一过程彻底节
类图是一个辅助类,代表一个时间表网络使用邻接表。它包含调度网络的拓扑结构和可以用来找到继任者或前任的任何任务。单独的结构存储在数据库,使用类任务和依赖。这两个类对应于两个表,分别使用对象关系映射(ORM)。
仿真系统的UML类图。
这些类将产生三种类型的数据:
持久不变的:这些数据是不能更改的,持久地存储在内存中,就像图结构和历史记录
用户定义的变量:这些数据是由用户交互,比如配置参数的模拟
中间变量:这些数据是由程序生成的,只能使用一次,如β分布参数和样本
数据流图解释数据之间传递类图所示
我们的系统的数据流图。
以下过程描述的所有步骤在我们的仿真系统,包括创建进度网络分布估计,对于失效概率的估计。
有三个实用的功能在我们提出仿真系统:
所有这三个特性是通过两个网页,实现一个用于收集进度数据,一个用于观察和分析项目进展;参见图
我们的仿真系统截图。(一)任务看板:这个页面用于显示并提交当前工作进展;项目经理可以拖动滑块更新任务的进展。(b)计划的评估:该页面用于可视化当前工作进展和评估计划的可靠性。项目经理可能会发现危险的任务,从分析一个圆圈中有一个红色的感叹。
尽管有一些实用的功能在我们的方法中,仍有一些局限性,我们正在努力解决。首先,阈值可能不是一个合适的方式找到关键活动。因为有可能一个不恰当的阈值可以选择全部或没有任务,这样一个阈值将是无益的。这个事实可能会使阈值选择一个潜在的问题。此外,总浮动阈值只捕捉一个任务的平均行为。它可以帮助减少计划的风险,同时减少任务持续时间也会工作的方差。目前,没有指标的方差之间的关系描述的任务持续时间和进度的风险的方法。
年代ec>年代ec>本节将验证我们提出的方法的性能和比较后腰,Soroush的润滑油
在本部分中,我们将使用一个说明性的例子从Soroush的工作。这个假设的测试用例包括如图21日活动
假设计划网络。
对于每个方法,我们重复模拟得到均值估计的20倍<我nline-formula>
计算结果如表所示
安排网络故障评估比较(期限= 85天)。
通过完成期限和失效概率之间的关系图
失效概率曲线。
另一个重要指标,总浮动,也是计算。精确估计的浮动将帮助项目经理识别重要的任务和分配资源。图
平均总浮动比较。
为了验证算法的性能在现实实践中,从一个真正的项目进度网络包含173活动和195年工作使用依赖关系。这个项目是一个多功能的建筑,包括三个部分:主塔的办公室使用,辅助建筑业务,和地下室为停车场。建设工作被分解以以下方式:地下室分为24个人工作段每层和辅助建筑分为3个人工作段每层。每一部分是建造的楼,创建工作依赖关系。我们的项目分工和进度网络图中所示
一个时间表的一个真正的网络项目。(a)工作段的说明:每一部分由几个工作包和构造的地板,地板上。(b)的说明工作依赖关系:有三个特殊的节点是一个起点,一个终点,中途检查点。他们的时间分配与0天。
每个工作段的活动时间在表
安排网络故障评估比较。
这个实验的硬件和软件环境是一致的。我们可以看到在桌子上
安排网络故障评估比较(期限= 690天)。
通过完成期限和失效概率之间的关系图
失效概率曲线。
从上面的实验中,我们可以看到,虽然这一次通过的算法可以快速得到结果,由于算法设计的固有缺陷,会有系统误差。例如,润滑油失败当失效概率相对较高。这可能是容易被一个非常简单的例子来解释。假设有一个包含项目<我nline-formula>
因此,润滑油失效概率的估计总是低于整个进度。这种差异尤其明显的期限相对较紧。在这种情况下,每条路径的失效概率将会增加。为<我nline-formula>
这些观察告诉我们处理进度网络时,它将是更好的治疗计划作为一个整体,而不是一群单一路径。虽然我们不得不承认sampling-based PCPM采样期间需要时间,它仍然值得去做它,因为它可以提供一个更准确的估计。从上面的实验中,我们可以发现子集模拟可以大大加速抽样过程,使PCPM可接受的运行时间。
年代ec>年代ec>”这篇论文提出了一种新的基于数据驱动的子集模拟解决进度网络故障问题在一个动态的方式。这种方法可以有效地计算失效概率和有效而不损失任何结果准确性和优于其他方法使用相同的假设。此外,我们的研究的另一个重要贡献是基于数据的任务持续时间分布估计插入”。这个发现提供了一种更客观的方法来估计任务持续时间分布,减少方差项目经理的经验和提高团队之间的知识共享。这些关键功能”为应用提供一个良好的基础在实际管理事务。
年代ec>使用的数据来支持本研究的结果包括在本文中。
年代ec><年代ec sec-type="COI-statement">作者宣称他们没有利益冲突有关这项研究的出版物。
年代ec>