本文研究了多模安排付款项目,其目的是最大化净现值(NPV)决定一个项目的支付和活动的开始时间。问题是制定数学的角度选择项目的承包商。在提出的模型中,奖励和惩罚结构被认为是,项目的活动可以通过不同的执行模式。开发模型的另一个有趣的特性是执行的模式之间轻松切换的可能性在每个活动的实现,它可以增加NPV。由于该模型的计算复杂度,两个metaheuristic算法开发来解决潜在的问题。为了评估开发算法的性能,解决一组108个测试实例,计算结果证明了该方法的适用性的解决方法。
净现值(NPV)是标准方法来评估项目的经济方面。有效管理金融电流有一个关键的角色在改善任何决定气质的好处包括项目管理。平衡的决策在多模情况下基于资源受限的项目调度有影响力的重要的NPV的目标。在这个版本的项目调度问题,每个活动都有几个场景实现不同持续时间、成本和资源来完成。在这种情况下,当一个活动需要提前完成,应该花更多的钱和资源。相比之下,如果可以推迟一个活动项目的最后期限之前,可以减少实施成本通过减少消费资源。这种灵活性的选择执行模式可以被利用来达到最大的NPV。
一项调查项目调度问题的文献表明,尽管大量的关注最小化最大完工时间的项目,项目的NPV最大化工作很少。如何安排一个项目来最大化NPV已经在研究自1970年以来,在罗素试图项目管理最大化的财务维度建模项目的金融电流。在这个模型中,问题是非线性规划在制定activity-on-arc (AOA)网络。Grinold寻求交易的现值最大化。发现支付调度问题可以转化为一个线性规划(
有许多的文学作品为执行活动项目调度考虑多个模式。许和金姆开发优先规则的启发式算法对多模资源投资问题[
阿兹米等人研究了多模式资源受限项目调度的净现值最大化和最小化最大完工时间的同时。为了解决这个问题,他们使用一个名为多目标粒子群优化的进化算法(MOPSO) [
多通道所使用的遗传算法(MMGAs)佩雷斯等人来优化资源受限的多项目调度问题(RCMPSP)作为另一种方法,而不是基于优先规则的启发式算法。这种方法使经理能够使用这个算法的能力选择次优的解决方案之间(
审查项目调度的文献,我们发现许多工作项目调度问题的可能性抢占的活动。Chiu-Chi比较和评估的好处和缺点传统项目管理和,约束理论(TOC)的项目管理。他们还介绍了增广资源受限的TOC项目调度框架(
正如前面提到的,在过去的几十年中,有许多研究在不同的管理问题。从活动的角度来看,项目管理有几个离散模式基于先决条件关系,单一或多模活动,执行条件和活动中断的可能性,从目标函数的角度,可以组成不同的目标问题优化的目标。在目前的研究中,它是决定项目的执行期间模式更改的可能性。
这里,我们假设每个活动可以分裂故意为解决资源的冲突。此外,项目经理可以利用multimodeness的活动。更具体地说,规划者可以放松执行模式的独特性,它允许一个活动后重新启动比最初的模式抢占有不同的模式。这可能会导致一个更好的解决方案比经典的模型,因为它放松一些约束,进而扩大解决方案空间。抢占的活动,它需要强调,虽然分裂活动可能达到顶点最大完工时间较长的项目,它可以提高项目的NPV,目标函数被认为是在这个研究。
本文的其余部分的结构如下。部分
从承包商的角度来看,该项目付款调度问题多模执行结构最大化NPV的发生在固定的时间间隔。项目活动管理与一个特定到期日时发生的概率考虑中断的活动和改变模式。
我们假设活动从1到编号<我t一个lic> 我我t一个lic>。每个活动都有不同的执行模式(1、2、…<我t一个lic> 我我t一个lic>)。项目显示为一个怡安网络节点集表示的活动和电弧集代表finish开始先决条件的限制之间的活动。在每一次瞬间,每个活动都是根据自己的执行模式之一。有限制每个资源/时间单位(天),这将导致延迟如果超过其用法;换句话说,抢占资源短缺。如果一个活动中断,活动的执行模式可以改变来解决资源的平衡。每个时间段结束时,提到的每个执行活动的完成百分比计算,然后付款额使得通过成本、效益,支付比例。
付款是在常规时间和存在一个支付的奖励和惩罚制度有一个为每个活动到期日期。如果活动是提前完成的,有一个奖励活动完成后的日子早于计划,当然,是一个很好的对任何延迟。总成本可以通过计算雇主支付给承包商,也每个日常活动的效益和成本。在净现值计算,计算总成本和支付项目的第一天相比,一天接一天的钱失去价值;这就是为什么利率是用来找出最终价值的现金流。
项目网络是一个怡安是一个有向图与多个为每个活动执行模式。
定期支付完成最后付款应该做而完成的项目。
项目应在截止日期之前完成的。
合同支出包括承包商的总开支和他的好处。
如果有抢占活动,可以执行模式的改变。
每天的每个活动的项目可以通过执行一个模式执行模式。
所有的参数在每个问题是决定性的。
有一个为每个活动到期日期。
有一定的工作要完成每个活动。
有一个完成每个活动奖励和惩罚制度。
所有的资源是可再生的。
模型:
基于上述配方,优化模型的马克斯NPV奖金惩罚结构可以由承包商的角度。在这个模型中,目标函数代表承包商的项目的NPV。NPV是减法与该项目相关的所有贴现费用从雇主的贴现支付给承包商,同时考虑活动的奖励和惩罚结构。总成本包括使用资源的成本项目。同样,如果一个活动是提前完成的,有奖金,如果完成后,有一个点球。计算净现值的承包商,处罚是减去从雇主的支付的奖金被添加到。
方程(
遗传算法(GA)经常解决调度问题由于其有效性和效率探索解空间的复杂问题。GA可以工作在一组可行的解决方案在任何给定的时间。这就是为什么它可以在更短的时间内通过一个更大的空间。
算法从一组解决方案(由染色体)称为人口。解决方案从一个人口被用来形成一个新的人口(代)。这是出于希望新的人口将比旧的人口由父母继承好的特性。选择解决方案,形成新的解决方案(后代)根据他们选择了更适合他们,他们必须繁殖的机会也就越多。
模拟退火是一个找到一个好的方法(不一定是完美的)解决方案的优化问题。如果你在一个情景,在这个情景中你想最大化或最小化一个函数,你的问题可能可以解决模拟退火。这个算法是其中最强大的算法面临的组合优化问题,这就是为什么它被选中来解决我们的模型。
项目活动显示的数量<我t一个lic> 我我t一个lic>向量长度的染色体被认为是2<我t一个lic> 我我t一个lic>。每个染色体长度分为两个部门<我t一个lic> 我我t一个lic>的成员的第一部分染色体代表成员的活动和第二部分显示执行模式的数量。
随机产生初始种群的染色体或代开始执行算法。
考虑矩阵<我t一个lic>
我我t一个lic>。“我”显示活动的数量。活动显示在考虑他们的前提关系矩阵。如果“我”的先决条件<我t一个lic>
j我t一个lic>,将矩阵空间。现在,我们作为以下选择的主要序列活动。
步骤1:
所有的活动都应该放在一个列表称为活动列表。
步骤2:
考虑集合称为列出包括活动可以执行基于优先关系。这个集合是空的最初的算法。
步骤3:
我们考虑另一个集合命名等,其中包括所有的活动都可以在任何阶段,可以执行。
最后,我们调用安排一系列的活动列表。然后,活动发出活动列表,同时考虑到先决条件的关系,在那之后,他们被添加到等。通过产生一个随机数,活动等方式发出,然后把序列列表中。在这种方法中,活动的顺序,我们可以有一个合适的序列,因此,染色体。详细的描绘了提出算法的数据结构
概念由GA优化过程的流程图。
通过SA概念性流程的优化过程。
在此我们评估人口中的每个染色体的健身价值。使用适应度函数的值,我们可以计算每个染色体的概率和其累积概率找到最好的染色体。生产后一代的初始种群,是时候有交叉和变异的遗传算子。在交叉和变异算子,是染色体上执行进化操作。首先,染色体是放在一个升序排序基于健身价值。新一代人口的百分之一由上一代最好的染色体组成。有安排染色体,最好的染色体直接转移到新一代基于健身价值。染色体转移通过进化基于定义的传输概率(<我nline-formula>
创建一个新的人口通过重复以下步骤直到完成新的人口。
从人口根据他们选择两个父染色体健身(更好的健身,更大的机会被选中)。选择父染色体的交叉与轮盘赌。我们计算每个染色体的累积函数概率值,0和1之间的随机数轮盘赌。生成的随机数是适应的累积概率选择染色体然后我们选择父染色体适应随机数交叉算子。另一个父染色体应该选择以同样的方式,。应该补充说,如果选择改编号把两个累积概率之间通过轮盘赌,选择累积概率就越高。父母被称为<我nline-formula>
在上面的算法中,染色体包含两个部分。第一部分是活动的序列和第二部分显示了执行模式。交叉算子应用于第一部分的染色体和变异算子应用于第二部分,他们都生产孩子的新答案。
首先,为了避免不当的生产孩子,父母的第一部分染色体,点1到切割点,复制在孩子的染色体。现在,我们搜索所有的复制活动前两个家长在第二父母和省略第二父母。然后,其余活动第二父母被复制的第一个孩子在一连串类似的第二父母减少点<我t一个lic> 我我t一个lic>。
新的后代在新的人口。每次算法产生新一代的答案,然后达到新的答案通过应用交叉和变异的精英主义运营商。
用新生成的人口进一步运行算法。新的人口将比旧的好,这是为进一步选择算法的运行。
如果满足结束条件,停止并返回当前种群中最好的解决方案。所需的条件结束遗传算法在上面的问题被认为是一代又一代的数量。每一代相比有更好的答案前一个因为每次最好是转移到下一代或者我们可以通过结合产生一个孩子最好的染色体的父母。结束算法的条件得到满足时,最佳答案是实现最好的一系列活动执行模式在项目的开始有最高数量的NPV为承包商和解决管理问题。
如果条件不满足,3.1.5去一步。
选择染色体在这个方法类似于GA算法。项目活动等<我t一个lic>
我我t一个lic>向量长度的染色体是2<我t一个lic>
我我t一个lic>。每个染色体分为<我t一个lic>
我我t一个lic>部分。第一部分是活动的成员和第二部分的成员显示的数量为每个活动执行模式。首先,我们进入的主要参数,然后执行它们时考虑停止算法的条件中描述的步骤。
SA算法参数
起始温度(<我nline-formula>
在每个温度(迭代<我nline-formula>
预定的冷却速率(0 <<我t一个lic> 一个我t一个lic>< 1)
SA算法停止条件
我们定义了算法停止条件(<我nline-formula>
SA算法操作步骤如下。
步骤1:
主温度(<我nline-formula>
步骤2:
现在我们确定目前的温度(<我nline-formula>
步骤3:
现在我们确定当前的温度<我nline-formula>
步骤4:
我们生产一个社区的初始染色体和染色体计算<我nline-formula>
步骤5:
如果<我nline-formula>
如果<我nline-formula>
步骤6:
打印Shomar如果Shomar <<我nline-formula>
第七步:
现在<我t一个lic>
R我t一个lic>=<我t一个lic>
R我t一个lic>+ 1。如果<我nline-formula>
第八步:
步骤9:
打印Shomar和呈现结果和提供最好的答案的NPV。
在频繁和定义重复是温度的函数,如果没有更好的条件是实现对NPV,我们停止算法,然后给出了最好的答案为最佳答案。
染色体的状态正确的是另一个重要的考虑因素。如果一个活动是下一个活动的先决条件,它不能被一个合适的候选人产生新邻居的,因为如果它是由每个交换的下一个活动不是先决条件,它将在它的下一个被称为不当第一个活动由于先决条件。
优化过程的流程图SA和GA算法数据所示
函数的两个metaheuristic算法(GA和SA)进行比较和研究通过不同的测试。做这样的测试,我们需要定义一些适当的问题。显然,设置算法参数与其效率有直接关系;这就是为什么田口方法用于调节参数。
在这个算法中,初始种群是随机产生和流行的大小一样大。随机移动和交叉作为操作符。算法停止后一定重复(代)。因此,算法有四个参数称为概率交叉,变异概率,人口规模(流行大小),和一代号码(代)。在表中
田口正交数组的矩阵(GA)。
| 运行 |
|
|
|
|---|---|---|---|
| 1 |
|
|
|
| 2 |
|
|
|
| 3 |
|
|
|
| 4 |
|
|
|
| 5 |
|
|
|
| 6 |
|
|
|
| 7 |
|
|
|
| 8 |
|
|
|
| 9 |
|
|
|
运营商、参数和水平(GA)。
| 因素 | 象征 | 水平 | 类型 |
|---|---|---|---|
| 临时 |
|
小问题 |
|
| 介质的问题 |
|
||
| 大问题 |
|
||
|
|
|||
| 重复 |
|
小问题 |
|
| 介质的问题 |
|
||
| 大问题 |
|
||
|
|
|||
|
|
|
小问题 |
|
| 介质的问题 |
|
||
| 大问题 |
|
||
在小尺寸情况下最优水平的遗传算法参数。
| 因素 | 象征 | 最优水平 |
|---|---|---|
| 流行的大小 |
|
|
| (Pc) |
|
|
|
|
|
|
遗传算法参数的最佳水平在中等大小的实例。
| 因素 | 象征 | 最优水平 |
|---|---|---|
| 流行的大小 |
|
|
| (Pc) |
|
|
|
|
|
|
在大尺寸情况下最优水平的遗传算法参数。
| 因素 | 象征 | 最优水平 |
|---|---|---|
| 流行的大小 |
|
|
| (Pc) |
|
|
|
|
|
|
在该算法中,我们考虑一个基于以前的研究假设值温度(初始TEMP = 200000)。该算法后停止某些重复(<我t一个lic>
T我t一个lic>/ 1000),它有三个参数称为初始温度(临时),重复在每个温度(重复),和温度降低系数(<我t一个lic>
α我t一个lic>)。在表中
田口正交阵列矩阵(SA)。
| 运行 |
|
|
|
|---|---|---|---|
| 1 |
|
|
|
| 2 |
|
|
|
| 3 |
|
|
|
| 4 |
|
|
|
| 5 |
|
|
|
| 6 |
|
|
|
| 7 |
|
|
|
| 8 |
|
|
|
| 9 |
|
|
|
运营商、参数和水平(SA)。
| 水平 | 因素 | 象征 | 类型 |
|---|---|---|---|
| 小 |
|
|
|
|
|
|
||
|
|
|
||
|
|
|||
| 媒介 |
|
|
|
|
|
|
||
|
|
|
||
|
|
|||
| 大 |
|
|
|
|
|
|
||
|
|
|
||
在小尺寸情况下最佳的SA水平参数。
| 因素 | 象征 | 最优水平 |
|---|---|---|
| 临时 |
|
|
| 重复 |
|
|
|
|
|
|
SA参数的最佳水平在中等大小的实例。
| 因素 | 象征 | 最优水平 |
|---|---|---|
| 临时 |
|
|
| 重复 |
|
|
|
|
|
|
在大尺寸情况下最佳的SA水平参数。
| 因素 | 象征 | 最优水平 |
|---|---|---|
| 临时 |
|
|
| 重复 |
|
|
|
|
|
|
在这项研究中,该方法的性能由两个指标,评估NPV和解决时间。比较的结果对解决方案做测试算法,表和图形显示的平均函数评价GA和SA算法在三组小,中型和大型的群体,(每个问题是执行了5次)。
比较两个算法,提出108年样本问题产生和每一个提到的问题是使用遗传和模拟退火算法来解决。样品问题给出了三组称为小,中型和大型。实现结果如图
比较图获得的净现值GA和SA算法在小的问题。
比较图GA和SA算法获得的净现值介质问题。
比较图GA和SA算法获得的净现值在很大的问题。
比较的结果之间的小尺寸的算法运行时间GA和SA算法。
比较的结果之间的中等大小的算法运行时间GA和SA算法。
比较的结果之间的大尺寸的算法运行时间GA和SA算法。
可以看到,遗传算法取得了更好的答案与模拟退火算法相比,在100%的情况下。进一步解决问题所需的时间的SA算法很接近GA算法在大多数问题,甚至在一些问题,解决他们的SA算法更耗时,并通过遗传算法实现的答案似乎更好,最后导致承包商得到更高的净现值。一般来说,它可以得出的结论是,遗传算法具有更好的答案比SA在同一时间来解决问题。
表明GA算法质量比SA算法在所有问题,2-sample<我t一个lic>
t我t一个lic>以及与确定性的% 95 (<我t一个lic>
一个我t一个lic>= 0.05)比较NPV。样本的方差被认为是平等的和获得答案的质量在所有三个组,小,中,大,GA算法与SA相比,似乎更好,因为<我nline-formula>
在项目调度问题,与时间和财务目标一直是建模为平衡措施。在本文中,我们试图调查过程,模式切换可能会增加项目的盈利能力。
本文提出使用metaheuristic算法来解决项目调度问题活动抢占的可能性和变化模式与奖金惩罚结构。问题复杂性的计算时间,换句话说,它是属于np难问题。在这个研究中,遗传metaheuristic算法和模拟退火算法用于优化调度。为了比较两个算法,提出108年样本问题进行了研究。程序的性能测试在一个可用的测试集,显示比模拟退火遗传算法更有效。为进一步研究,建议研究其他metaheuristic算法可以考虑开发所需的模型。此外,应该有一个模型来讨论这个问题从承包商和雇主的观点。这只是多目标模型,可以专注于最大化NPV,资源限制和减少项目的时间。
使用的数据来支持本研究的发现可以从相应的作者。值得一提的是,使用的数据都是基于假设的值考虑不同的实际项目。
作者宣称没有利益冲突。