一种新的优化算法,用于优化ANFIS以进行软件开发工作量 ...
原文引自Samareh Moosavi, Seyyed Hamid , and V. Khatibi Bardsiri . "Satin bowerbird optimizer: A new optimization algorithm to optimize ANFIS for software development effort estimation."Engineering Applications of Artificial Intelligence 60(2017):1-15.
本文仅供自学和交流使用,未经允许请勿转载~谢谢
ABSTRACT
准确的软件开发工作量估算对于软件项目的有效规划至关重要。由于软件项目的复杂性,开发工作量估算已成为一个具有挑战性的问题,必须在项目的早期阶段予以认真考虑。信息不足和要求不确定是该领域不可靠估计背后的主要原因。尽管在过去十年中已经提出了许多努力估计模型,但准确度水平还不够令人满意。本文提出了一种基于自适应神经模糊推理系统(ANFIS)和缎蓝园丁鸟优化算法(SBO)相结合的新模型,以达到更准确的软件开发工作量估算。 SBO是一种新颖的优化算法,用于通过对变量进行小而合理的变化来调整ANFIS的组件。所提出的混合模型是基于神经模糊的优化估计模型,其能够在广泛的软件项目中产生准确的估计。使用包括单峰和多峰函数的13种标准测试函数,将所提出的优化算法与其他生物启发的优化算法进行比较。此外,使用三个实际数据集评估所提出的混合模型。结果表明,该模型可以显着提高性能指标。
1. Introduction
软件开发工作量估算一直是软件工程社区面临的挑战。准确可靠的软件工作量估算对于在软件项目规划期间分配资源和创建合理的计划非常重要。项目规划是软件项目中的一项重要活动,它会显着影响项目的成败。项目规划最重要的一个方面是准确估算完成项目所需的工作量。低估软件项目工作会导致延迟和成本超支,这可能导致项目失败。相反,过高估计也可能对项目资源的有效利用产生不利影响。因此,在过去十年中,已经使用不同的理论概念(Jorgensen和Shepperd,2007)并结合现有的估计方法(MacDonell和Shepperd,2003a; Mittas和Angelis,2008)开发了许多软件工作量估计方法。
Jorgensen和Shepperd进行了系统评价,其中从304份选定的期刊论文中确定了11种估算方法(Jorgensen和Shepperd,2007)。这些方法分为两大类:参数模型,它们来源于历史项目数据的统计和/或数值分析,以及机器学习模型,它们基于一套人工智能技术,如人工神经网络,遗传算法,基于类比或基于案例的推理,决策树和遗传编程。机器学习技术引起了软件工作量估算研究人员的注意,因为他们可以模拟工作和软件属性之间的复杂关系,特别是当这种关系不是线性的并且似乎没有任何预定的形式时。准确的努力估计的重要性导致该领域的广泛研究工作。目前的方法可分为以下几类(Boehm等,2000):
1。参数模型:COCOMO(Huang等,2007),SLIM(Putnam和Myers,1992)和SEER-SEM(Jensen,1983) )。 2.专家判断:Delphi技术和基于工作分解结构的方法(Jorgensen,2004)。 3.面向学习的技术:机器学习方法(Oliveira,2006)和基于类比的估计(Shepperd和Schofield,1997)。 4.基于回归的方法:普通最小二乘回归和稳健回归(Costagliola等,2005)。 5.基于动力学的模型(Madachy,1994)。 6.复合方法(Chulani等,1999; MacDonell和Shepperd,2003b)。
然而,先前的模型在努力估计方面取得了改进,正在尝试产生更准确和可靠的模型。由于努力估计问题的复杂性和属性关系分析的难度,优化过程在该领域起着至关重要的作用。优化可以直接应用于努力估计过程,如基于类比估计的属性加权,或间接应用于机器学习方法,如ANN和ANFIS。
神经模糊系统最常见的应用之一是为复杂和不确定的问题制定规则(Pan et al。,2014,2013; Li et al。,2015; Pratama et al。,2013)。另一方面,软件项目本质上是不确定和复杂的,因此在项目的早期阶段可用的信息是不够的,并且努力估计的问题是完全模糊的。在这种情况下,模糊和神经模糊模型可以处理不确定性并提高估计精度(Trendowicz和Jeffery,2014)。此外,最近报道了应用于软件工作量估算领域的基于模糊的模型的有希望的结果(Idri等,2016; Satapathy等,2016a)。因此,本文提出的模型是使用一种新的优化算法优化的神经模糊系统构建的。
近年来,已经提出了不同的优化算法,例如灰狼优化(GWO)(Mirjalili等,2014),人工蜜蜂殖民地(ABC)(Karaboga和Basturk,2007),杜鹃搜索(CS)(杨和Deb) ,2009年,2010年),海豚回声定位(DE)(Kaveh和Farhoudi,2013; Kaveh,2014),射线优化(RO)(Kaveh等,2013; Kaveh和Khayatazad,2013),磷虾群(KH)(Hossein)和Hossein-Alavi,2012),基于生物地理学的优化(BBO)(Simon,2008),引力搜索算法(GSA)(Rashedi等,2009),人工化学反应优化算法(ACROA)(Alatas,2012),珊瑚礁优化(CRO)算法(Salcedo-Sanz等,2013),带电系统搜索(CSS)算法(Kaveh和Talatahari,2010),中心力优化(CFO)(Formato,2008),共生生物搜索(SOS) (Cheng和Prayogo,2014),火飞优化算法(FA)(Yang,2010a,2010b)。尽管提出了如此多的优化算法,但由于算法的适应性和优化能力完全不同,因此正在尝试提出新算法。本文提出了一种新的优化算法来解决软件项目中的工作量估算问题。所提出的算法被组织成使得它是诸如属性加权,ANN调整(权重和偏差),ANFIS调整和需要变量位置的微小变化的问题的适当选择。此外,变量数量的增加不会影响所提算法的性能。
实际上,本文旨在将软件开发工作量估算问题,ANFIS和SBO联系起来。由于软件开发工作量估算的不确定性,复杂性和缺乏信息,ANFIS可能是处理问题的合适选择。另一方面,可以使用优化算法来优化ANFIS的结构。所提出的SBO算法是用于此目的的合适选择。结合SBO和ANFIS的原因是SBO能够避免局部最优的陷阱以及应用于解决方案的适度变化,这使得SBO能够调整ANFIS。
本文分为8个部分。相关工作在第2节中介绍。在第3节中,详细描述了satin bowerbird优化算法。在第4节中,使用数学函数对所提出的算法进行评估。第5节介绍了ANFIS结构。第6节介绍了软件开发工作量估算的SBO。实验结果见第7节。最后,总结论见第8节。
2. Related work
在过去十年中,软件开发工作量估算的复杂性引起了研究人员的注意,因此在该领域中已经采用了广泛的机器学习方法。该领域中的大多数现有估计模型受益于监督学习方法,因为存在各种实际数据集,其包括与过去完成的软件项目相关的信息。优化算法,神经网络和模糊方法已广泛用于软件开发工作量估计领域。优化算法的应用主要集中在调整工作量估算器的参数,如ABE(a,2013; Azzeh等,2015; Khatibi和Khatibi Bardsiri,2015),COCOMO(Agrawal等,2016)和UCP( Kumari和Ishdeep,2015; Satapathy等,2016b)。结合工作量估算器和优化算法报告的结果表明估计精度的显着提高。
另一方面,已广泛采用不同类型的神经网络来估计软件项目的工作量(Nassif等,2016)。由于努力估计问题的复杂性和不确定性水平,在先前的研究中已经考虑了神经网络的性能增强(Rijwani和Jain,2016; Hota等,2015; Azzeh和Nassif,2016)。偏差和重量调整以及结构配置是所提出的估计模型中考虑的主要改进。
对软件开发工作量估算领域的文献研究表明,模糊和神经模糊系统在提高准确性方面起着至关重要的作用。以前基于这些系统的研究可分为三大类。第一组试图通过模糊其成本驱动因素来提高COCOMO模型的准确性(Ziauddin等,2013; Vishal和Kumar Verma,2010; Abeer,2012; Sheenu等,2014; Kumar和Chopra,2013; Xua)和Khoshgoftaar,2004年)。第二组研究集中在软件项目的分类上,以解决不一致问题,并通过为每类项目分配模糊规则来促进估算过程(Agrawal和Shrivastava,2015; Cuauhtemoc Lopez-Martin,2010)。 ABE的相似性函数通过第三组研究中提出的模糊模型得到改善(Idri等,2016; Azzeh等,2009,2011)。必须注意的是,相似性测量是基于类比的努力估计中最重要的步骤之一,并且其通过模糊模型的改进显着影响最终结果。
关于COCOMO改进,引入了基于模糊逻辑的估计模型以提高软件工作量估计的准确性。本研究的主要思想是对COCOMO II模型的输入参数进行模糊化,并对结果进行去模糊化以获得最终的努力。三角模糊数用于表示COCOMO II模型中的语言术语。将该模型的结果与COCOMO II和Alaa Sheta模型进行比较。所提出的模型在MMRE,PRED(n)和方差(VAF)方面产生更好的结果。 VAF用于统计模型,其主要目的是根据其他相关信息预测未来结果(Ziauddin等,2013)。提出了类似的模糊框架来估计工作量(Vishal和Kumar Verma,2010)。主要区别在于通过元启发式算法优化了所提出的框架。通过对COCOMO公共数据库的实际项目数据进行的实证验证,证明了拟议框架的性能。结果表明,所提出的框架可以部署在COCOMO II环境中,由专家提供信息,用于开发模糊集和适当的规则库(Vishal和Kumar Verma,2010)。增强COCOMO的敏感性是该领域研究人员遵循的另一个理念(Abeer,2012)。在这方面,中间COCOMO 81的准确性和灵敏度通过成本驱动因素的模糊化而得到增强。该数据集来自六个NASA组织,涵盖了广泛的软件领域,开发过程,语言和复杂性,以及各中心之间文化和商业实践的根本差异。结果表明,所提模糊模型的灵敏度优于中间COCOMO81(Abeer,2012)。
基于神经模糊的模型也已用于该领域。例如,ANFIS经验丰富,可以根据COCOMO模型估算工作量(Sheenu et al。,2014)。在本研究中,基于ANFIS的模型的效率由COCOMO81数据集评估。将获得的结果与Boehm开发的人工神经网络和中间COCOCMO模型进行了比较。使用相对误差幅度(MRE)和均方根误差(RMSE)分析比较。据观察,ANFIS比ANN和COCOMO模型提供了更好的结果(Sheenu等,2014)。在先前的研究中,在努力估计准确度方面已经在神经网络和模糊逻辑之间进行了比较(Kumar和Chopra,2013)。 NASA数据集被用作两个框架的输入。使用MMRE和PRED的参数验证这些框架。结果表明,与神经网络框架相比,基于模糊逻辑的框架工作得更好(Kumar和Chopra,2013)。处理COCOMO的语言成本驱动因素是研究中考虑的一个具有挑战性的问题(Xua和Khoshgoftaar,2004)。自动生成模糊隶属函数是主要目标,并且提出的基于模糊的模型优于COCOMO 81的原始有机,基本和详细版本(Xua和Khoshgoftaar,2004)。
通过机器学习技术已经广泛地研究和改进了基于类比的努力估计。模糊方法也被用于开发一种新的相似性度量,它基于模糊集理论和灰色关联分析的集成,用于基于类比的估计(Azzeh等,2009)。拟议的措施具有处理数字和分类属性的能力,从而定义了两个级别的相似性度量:局部和全局度量。获得的结果表明,与其他公知的估计技术(如ABE,逐步回归和人工神经网络)相比,所提出的模型产生了良好的准确性(Azzeh等,2009)。在ABE改进领域,最近已经进行了基于经典和模糊类比的努力估计集合(Idri等,2016)。评估表明,模糊类比集合比传统的类比集合获得更好的性能。在先前的研究中,还评估了基于类比的估计和模糊数的组合(Azzeh等,2011)。通过所提出的组合实现了新的相似性函数和自适应技术,结果表明该组合与ABE和逐步回归相比具有优越性。
在软件项目分类和规则定义方面,开发了基于神经模糊的模型(Agrawal和Shrivastava,2015)。在本研究中,将为三个隶属函数创建的神经模糊模型的估计时间与现有的神经网络模型进行比较。将高斯,三角和梯形隶属函数的神经模糊模型与神经网络模型进行比较。对于该实验,Lopez Martin数据集与41个模块一起使用。最后,从比较中可以看出,使用梯形隶属函数的神经模糊模型比其他所有模型都能得到更好的结果。还观察到梯形MF对所有五个参数都给出了更好的结果(Agrawal和Shrivastava,2015)。此外,该技术已被用于估计特别是在小程序中的努力。来自74个程序员开发的小程序的新的,改变的和重用的代码被用作模糊模型的输入。使用比较标准平均值误差相对于估计值(Cuauhtemoc Lopez-Martin,2010)将输出的准确性与统计回归模型的准确性进行比较。
总的来说,软件开发工作量估算领域的先前研究已广泛利用智能方法来改进估计。这是因为软件项目特征之间的复杂关系使得估计非常困难。由于模糊和神经模糊系统的分析能力和灵活性,它们可以成为该领域的合适解决方案。然而,在以前的研究中,这些系统的应用大多局限于COCOMO模型。 COCOMO是一种参数估计模型,有几种标准数据集,包括具有COCOMO格式的软件项目。因此,在该模型中简单地执行模糊规则定义。为了拓宽模糊系统在软件开发工作量估算领域的应用,本文对神经模糊系统进行了优化。使用新颖的优化算法执行优化过程,使得所提出的模型可以用于广泛的软件项目数据集中。
3. Satin bower bird optimization algorithm
在交配的情况下复杂和多面的展示是常见的,特别是在一夫多妻的物种和鸟类中(Mller和Pomiankowski,1993)。这些显示可以涉及听觉,化学,视觉或触觉成分,并且可以为女性提供各种类型的信息,包括物种,性别,个体身份,相关性或质量(Boogert等,2008)。
园丁鸟是天堂鸟的近亲。 Satin bowerbirds是澳大利亚东部的中型森林和热带雨林中的水果和昆虫食用雀形目鸟类。主要发生在森林中,他们一生都生活在一个特定的地区。在秋冬季节,缎面园丁鸟离开森林栖息地,进入开阔的林地,寻找水果和昆虫。然而,随着春季繁殖季节的到来,他们聚集在一起,居住在他们年复一年占据的地区。
男性缎面园丁鸟建立专门的棍子结构,称为bowers,在那里求爱和交配。 Bowers用鲜花,羽毛,浆果等装饰。这些装饰在女性选择和男性交配成功中很重要(Coleman等,2004)。男性通过偷窃其他男性的装饰来竞争,并将摧毁邻居的鞠躬(Borgia,1985)。男性求爱行为包括呈现装饰和伴随大声发声的舞蹈表演,女性更喜欢以高强度展示的男性。强烈的性竞争的另一个迹象是,并非所有成年雄性都能成功地建造,维持和保卫大便,因此,雄性交配成功存在相当大的差异。简单来说,雄性园丁鸟通过建造凉亭,用棍棒和树枝建造的结构以及装饰周围区域来吸引配偶。在选择交配伙伴并返回他的凉亭之前,女性会访问几个传球。
在SBO算法中,成年雄性在交配季节开始在其土地上建造不同材料的凉亭。他们利用各种材料,如鲜花,水果,闪闪发光的物体,树枝以及戏剧性的手势,这些都是吸引女性的变量的一部分。由于凉亭的美丽和男性的戏剧性姿势,女性正在吸引凉亭。值得注意的是,雄性鸟类利用其天生的本能和模仿其他雄性来建造凉亭。根据染色球鸟类生命的原理,SBO算法分为以下几个阶段。</p>3.1. Generating a set of random bower
与其他元启发式算法类似,SBO算法从随机创建初始种群开始。事实上,初始人口包括一组保龄球的位置。每个位置都被定义为必须优化的参数的n维向量。随机初始化这些值,以便在下限和上限参数之间考虑均匀分布。实际上,每个凉亭的参数与优化问题中的变量相同。参数的组合决定了凉亭的吸引力。
3.2. Calculating the probability of each population member
概率是凉亭的吸引力。一只雌性缎面凉亭鸟根据它的概率选择一个凉亭(建造)。同样,男性通过根据分配给它的概率选择凉亭来模仿凉亭建筑物。该概率由方程式计算。 (1)。在这个等式中,是第i个解的适应度,NB是凉亭的数量。在这个等式中,的值由等式1实现。 (2)。
在这个等式中,f(xi)是第i个位置或第i个凉亭中的成本函数的值。成本函数是应该优化的函数。
式(2)有两部分。第一部分计算最大适应度,其中值大于或等于零,而第二部分计算小于零的值的适应度。这个等式有两个主要特征:
1.对于f(xi)= 0,该等式的两个部分的适应值均为1。
2.适应度值总是一个正值实数。
3.3. Elitism/精英
精英主义是进化算法的重要特征之一。
精英主义允许在优化过程的每个阶段保留最佳解决方案(解决方案)。所有的鸟类通常都会利用自然的本能来筑巢。雄性缎面凉亭鸟在交配季节喜欢所有其他鸟类,并利用他的天生本能建造他的凉亭并装饰它。这意味着所有男性都使用材料来装饰他们的凉亭。然而,吸引更多关注特定男性凉亭的重要因素是经验。这种体验在戏剧性手势和建筑凉亭方面都有很大帮助。这意味着年龄较大的雄性可以吸引其他人更多地关注他们的凉亭。换句话说,经验丰富的男性会建立一个更好的凉亭,因此这些宝宝比其他宝贝更健康。在这项工作中,鸟类建造的最佳凉亭的位置(最佳位置)旨在作为迭代的精英。由于精英的位置具有最高的适应性,它应该能够影响其他位置。
3.4. Determining new changes in any position
在算法的每个循环中,根据等式1计算任何凉亭的新变化得式(3)。
在该等式中,是第i个凉亭或解向量,是该向量的第k个成员。被确定为当前迭代中所有解决方案中的目标解决方案。在Eq(3)中,值j基于从位置导出的概率计算。事实上,值j是通过轮盘赌程序计算的,这意味着具有较大概率的解决方案将有更多机会被选为。 https://www.zhihu.com/equation?tex=x_%7Belite%7D 表示精英的位置,它在算法的每个循环中保存。事实上,精英的位置是凉亭的位置,其适应性在当前迭代中是最高的。
参数 https://www.zhihu.com/equation?tex=%CE%BB_k 确定目标凉亭中的吸引力。 λk确定为每个变量计算的步数。该参数由方程式4确定。
在公式(4)中,α是最大步长, https://www.zhihu.com/equation?tex=p_j 是通过等式1获得的概率。 使用目标凉亭。由于获得的概率值在0和1之间,因此该等式的分母被收集1以避免在等式1的分母中为0,从方程式4中可以明显看出。 方程4中步长与目标位置的概率成反比。换句话说,当目标位置的概率较大时(由于常数α),更仔细地进行到该位置的移动。当目标位置的概率为0而步长为α时,出现最高步长。另一方面,当目标位置的概率为1并且步长为α/ 2时,出现最小步长。
3.5. Mutation
当男性忙于在地面上建造凉亭时,他们可能会受到其他动物的攻击或完全被忽视。在许多情况下,较强壮的雄性会从较弱的雄性中偷取材料,甚至会破坏它们的凉亭。因此,在算法的每个周期结束时,以一定概率应用随机变化。在此步骤中,随机变化以一定概率应用于。这里,对于突变过程,采用正态分布(N),平均和 https://www.zhihu.com/equation?tex=x_%7Bik%7D%5E%7B+old%7D 方差 https://www.zhihu.com/equation?tex=%CF%83%5E2 ,如公式5所示。
在公式(6),σ的值是空间宽度的比例,如式7所示中计算所得:
在等式(7)中, https://www.zhihu.com/equation?tex=var_%7Bmax%7D 和 https://www.zhihu.com/equation?tex=var_%7Bmin%7D 分别是分配给变量的上限和下限。 Z参数是可变上限和下限之差的百分比。
3.6. Combining old population and the population obtained from changes
在这个阶段,在每个周期结束时,评估旧人口和从变化中获得的人口。在评估之后,将这两个群体组合并分类(基于从成本函数获得的值),并且根据先前定义的数量创建新群体,而删除其他群体。在该算法中,如果不满足终止条件,则继续执行步骤3.2至3.5。 SBO算法的伪码设计如下:
4. Evaluating the performance of SBO with mathematical functions
在本节中,使用13个众所周知的数学函数来评估所提算法的性能。这些函数被广泛用于评估优化算法(Yao等,1999; Digalakis和Margaritis,2001)。功能分为两类:单峰和多峰。单峰函数具有全局最优并且没有局部最优。实际上,这种类型的函数适用于算法的开发能力。这些功能如表1所示。多模函数具有大量的局部最优。这种类型的函数对于评估算法的探索和局部最优避免能力是有用的。这些功能如表2所示。
为了评估SBO算法的性能,将该算法获得的结果与粒子群优化算法(PSO)(基于群算法的最佳算法之一)(Kennedy和Eberhart,1995)和遗传算法(GA)进行了比较(进化算法中最好的之一)(Holland,1992; Holland和Reitman,1977)。此外,SBO算法与几个最近的算法比较,如蚂蚁狮子优化器(ALO)(Mirjalili,2015),FA和ABC。事实上,SBO算法与众所周知的算法的最新版本进行了比较。每个算法在测试函数上执行30次。每次测试功能都通过1000次迭代的30个解决方案来解决。每种算法的参数设置描述如下:
1.SBO:α和z的参数值分别被认为是0.94和0.02。突变概率为0.05。最大迭代次数= 1000,初始种群= 50。
2. PSO(Kennedy和Eberhart,1995):C1 = 2,C2 = 2,W = 1。最大迭代次数= 1000,初始种群= 50。
3. ABC(Karaboga和Basturk,2007年):极限= 100。最大迭代次数= 1000,初始种群= 50。
4. ALO(Mirjalili,2015):最大迭代次数= 1000,初始人口= 50。
5. FA(Yang,2010a; Yang,2010b):β0= 1,αε,γ= 1。最大迭代次数= 1000,初始种群= 50。
6. GA(Holland,1992; Holland和Reitman,1977):轮盘选择,单点交叉,交叉概率为0.9,突变概率为0.01。最大迭代次数= 1000,初始种群= 50。
平均值和标准偏差计算为30次运行结束时SBO的最终结果。需要进行统计检验以确定SBO整体性能的平均值和标准差。统计检验有助于确认不同算法所取得的结果之间差异的显着性。在本文中,采用称为Wilcoxon检验秩和的非参数统计检验(Derrac等,2011)。统计测试具有称为p值的输出参数,通过该参数确定两个算法的显着性水平。在本文中,当且仅当其p值的结果小于0.05时,算法在统计上是不同的。
4.1. The results on unimodal test functions
在表3中,显示了7个单峰测试函数的优化算法的结果。结果表明,在大多数情况下,SBO算法优于其他算法。换句话说,SBO算法在F3,F4,F5和F7的四个测试函数中具有最准确的结果。 PSO算法从其他三个测试函数中获得了最佳结果。 SBO在功能F3中取得了非常有竞争力的结果。从P的参数获得的值显示在表4中。观察到在大多数情况下p值小于0.05,这表明与其他算法相比SBO具有统计学上的优越性。在图1中,算法的收敛过程显示在几个单峰测试函数上。如图所示,利用SBO(根据测试函数的结果)使收敛过程比其他算法更快。
4.2. The results on multi-modal test functions
从5个多模态测试函数的优化算法得到的结果如表5所示。从结果可以清楚地看出,与其他算法相比,SBO算法能够获得F8,F9和F11函数的最佳结果。在表6中,显示了从P的参数获得的结果。根据结果,可以得出结论,与其他算法相比,SBO算法在统计上是优越的。在图2中,算法的收敛过程显示在几个多模态测试函数上。观察到与其他算法相比,SBO以较少的迭代次数收敛。由于SBO具有较高的探测水平,该算法可以避免局部最优并在多模态测试函数中移动到整体最优。
根据13个测试函数的算法得到的总体结果,可以得出结论,SBO算法能够在7个函数中获得最佳结果。通过评估从SBO和其他5种算法的比较获得的P值,可以理解65个P值中只有6个高于0.05。这些结果显示了SBO相对于其他算法的统计优势。另一方面,从算法的收敛图中可以看出,SBO比其他算法更快。
5. ANFIS
模糊推理系统由Gang(Jang,1993)于1993年开发。该模型将模糊逻辑与人工神经网络相结合,以简化学习和适应过程。事实上,在神经模糊模型中,自适应网络用于解决模糊推理系统参数的识别问题。
自适应网络是前馈和多层结构,其整体行为输出由一组可修改的参数确定。通过使用自适应神经网络,解决了模糊推理系统的主要问题(获得模糊规则和优化参数)。 ANFIS架构如图3所示。
ANFIS网络由五层组成。每个层包含由节点功能描述的若干节点。令 https://www.zhihu.com/equation?tex=O_i%5Ej 表示层j中的第i个节点的输出。 ANFIS模型的层已在以下部分中描述。
5.1. Layer1
每个节点i都适应节点函数。方程(8)和(9)显示了节点函数。
其中x(或y)是第i个节点的输入,而Ai(或Bi_2)是与该节点相关的语言标签;因此, https://www.zhihu.com/equation?tex=o_i+%5E1 是模糊集A(= A1,A2,B1或B2)的隶属度。第一层的主要任务是模糊化。
5.2. Layer2
在第二层,输入之间的所有潜在规则通过应用模糊交叉(AND)来制定。因此,每个输出节点表示规则的发射强度。方程(10)显示了这个问题。
5.3. Layer3
在该层中,使用等式(11)对从第二层获得的权重进行归一化。
5.4. Layer4
每个节点计算第i个规则对总输出的贡献。等式(12)执行该计算。
其中 https://www.zhihu.com/equation?tex=%5Cbar%7Bw%7D_i 是第3层的输出,{ https://www.zhihu.com/equation?tex=a_i%EF%BC%8Cb_i%EF%BC%8Cc_i }是参数集。该层的参数称为后续参数。
5.5. Layer5
最后一层使用公式(13)计算总输出,作为来自第4层的所有输入信号的总和。
针对ANFIS训练提出了不同的方法。最常见的方法是梯度下降,以最小化输出误差。
6. SBO for software development effort estimation
尽管ANFIS是一种强大而快速的估算方法,但软件项目数据集的非正态性使得估算过程具有挑战性和复杂性。要解决这个问题,一种方法是调整ANFIS的准确参数。本文的主要目的是使用元启发式算法调整ANFIS的准确参数。在本文中,SBO用于调整参数。实际上,该模型侧重于提高ANFIS的性能。 SBO的主要作用是找到ANFIS的最佳参数,以达到最准确的估算。优化参数是输入和输出成员函数使用的参数。在本文中,高斯和线性函数分别用于输入和输出。平均值和标准差是输入函数的参数,而属性系数和常数是输出函数的参数。
由于性能指标在所提出的模型中起着至关重要的作用,因此在解释所提出的模型之前对它们进行如下解释。估计模型的性能通过若干度量来评估,包括相对误差(RE),相对误差幅度(MRE)和相对误差平均幅度(MMRE),其计算如下:
用于评估性能的另一个参数是预测百分比(PRED),确定为:
其中,A是MRE小于或等于X的项目数,而N是所考虑项目的数量。通常,软件成本估算方法中X的可接受水平为0.25,并且基于该水平比较各种方法(Khatibi Bardsiri等,2013a,2013b; Azzeh等,2014)。 MMRE的减少和PRED的增加是软件开发工作量估计领域中使用的所有估计技术的主要目标。所提出的模型包括以下部分中描述的两个阶段。
6.1. Obtain the optimal parameters for ANFIS by SBO
在本文中,所提出的模型使用SBO来调整ANFIS的参数。换句话说,通过对众多结构的研究,找到了ANFIS的最佳结构。实际上,神经模糊系统的训练表示为优化问题。为了获得准确的结果,经典的训练算法和网络被优化过程所取代。在所提出的模型中,使用Tagaky-Sugeno模糊系统。最优神经模糊系统的第一阶段描述如下:
1.获取训练和测试数据
2.创建基础模糊系统
3.基于误差函数通过SBO调整模糊系统的参数
4.返回最佳值作为最终结果
在所提出的模型的第一阶段中设计的优化的神经模糊系统如图4所示。
在本文中,Albrecht,Kemerer和ISBSG数据集用于软件开发工作量估算。首先,ANFIS输入数据在0和1之间归一化。然后,使用三倍交叉验证将该数据随机分成三个相等的组(几乎相同的大小)。在每个步骤中,其中一个类别用于测试,而使用其他两个类别进行培训。在所提出的模型中,genfis2用作基础模糊系统。 Genfis2使用减法聚类产生Sugeno型FIS结构。该系统分别需要两组输入和输出。首先,提取方法规则使用子流函数来确定规则数和先行隶属函数,然后使用最小线性平方估计来确定每个规则的后续方程。调整模糊系统的参数是ANFIS优化设计的最重要阶段。该过程描述如下:
1.读取基础模糊系统的参数:包括读取输入和输出隶属函数的参数。读取这些参数后,它们应按顺序存储在矢量中。
2.通过SBO改变基础模糊系统的参数:为此,我们假设最优参数值是主要参数系数。换句话说,如果我们假设是参数i的最佳值并且 https://www.zhihu.com/equation?tex=p_i+%5E0 是参数i的初始值并且是这种情况下的系数,则的值从等式(18)获得:
在该等式中,由SBO确定。关于有两个观点:
I.不改变标志,只改变尺寸。 https://www.zhihu.com/equation?tex=x_i+%5Cin+%5B10%5E%7B-%CE%B1%7D%EF%BC%8C10%5E%CE%B1%5D 和α的最佳值可以小于或等于1。
II。通过改变标志和大小。 https://www.zhihu.com/equation?tex=x_i+%5Cin+%5B-M%EF%BC%8C%2B+M%5D 其中M的值可以是10或更小。
3.将优化算法获得的新参数插入模糊系统,并计算系统误差度量(MMRE和PRED(0.25))。
在此阶段,SBO获得的最佳参数将保存用于下一步。这些参数是根据MMRE和PRED(0.25)的指标获得的。实际上,SBO计算这些参数以使MMRE-PRED(0.25)最小化。通常,所有软件工作量估算技术的主要目标是减少MMRE并增加PRED(0.25)。
6.2. Using the optimized parameters in ANFIS
该阶段的主要目标是评估所提出模型的准确性。实际上,该阶段的输出是MMRE和PRED(0.25)的值。与前一阶段类似,归一化训练和测试数据应用于基础模糊系统genfis2,但不同之处在于使用从前一阶段获得的优化参数而不是默认系统参数。插入最佳参数后,计算MMRE和PRED(0.25)的最终值。在所提出的模型的第二阶段中对优化的神经模糊系统的评估如图5所示。在所提出的模型中,最优参数帮助ANFIS具有更准确的估计。在每次迭代中,SBO可以生成不同的参数,以便在最终模型中使用最佳参数.
7. Experimental results
在本文中,Albrecht,Kemerer和ISBSG数据集用于软件开发工作量估算。首先,ANFIS输入数据在0和1之间归一化。然后,使用三倍交叉验证将该数据随机分成三个相等的组(几乎相同的大小)。在测试阶段之后,执行努力估计,然后在最后阶段,针对每个类别的数据计算MMRE和PRED(0.25)。有几种方法可以标准化数据。在这些方法中,转换数据以便提供所需的条件。最重要的方法之一是将数据转换为新的集合,其中所有值都介于0和1之间。方程(19)显示了这种标准化。
在该等式中, https://www.zhihu.com/equation?tex=z_i 是归一化数据,是主要数据的值, https://www.zhihu.com/equation?tex=x_%7Bmin%7D 和 https://www.zhihu.com/equation?tex=x_%7Bmax%7D 分别是最小和最大数据量。
归一化数据随机分为三组(几乎相同的大小)。首先,考虑两组(例如 https://www.zhihu.com/equation?tex=s_2%EF%BC%8Cs_3 )进行训练。然后,使用另一组(例如,)进行测试。换句话说,当数据集被分成三组,和时,选择其中一组(例如,)进行测试,而将另外两组(和)分别用于训练。此过程一直持续到所有集合都用于测试。最后,三个获得的准确度的平均值被认为是最终结果.
7.1. Data sets
ISBSG(国际软件基准标准组织)根据已证明对改进软件开发过程非常有用的指标(ISBSG国际软件基准和标准组,2007),在十年内开发并完善了其数据收集。该数据集的当前版本是ISBSG R11数据存储库(ISBSG),其中包括来自24个国家的5052个项目。选定的功能包括:{输入计数(Inpcont),输出计数(Outcont),查询计数(EnqCont),文件计数(FileCont),接口计数(Intcont),调整功能点(AFP)和标准化工时(小时)(NorEffort) }。
Albrecht是一个受欢迎的数据集,包括由第三代语言开发的24个项目。有五个独立的功能:“Inpcout”,“Outcount”,“Quecount”,“Filcount”和“SLOC”以及两个相关功能:此数据集中的“Fp”和“Effort”。以1000个小时记录的努力是目标特征。
Kemerer数据集包含从15个大型已完成的业务数据处理项目中收集的数据。每个项目有七个输入功能:(1)编程语言,(2)硬件,(3)持续时间,(4)KSLOC,(5)AdjFP(调整功能点)
7.2. Initial settings of parameters
在本文中,genfis2用作基础模糊系统。在该系统中,必须精确调整变量以达到最佳结果。表7中显示了用于这些变量的值。由于ANFIS不使用本文中的默认训练函数,因此准确调整SBO参数会对最终结果产生重大影响。 SBO参数值如表8所示。这些值是通过详尽的试错过程获得的。
7.3. Comparing the proposed model with other models
与其他模型相比,Albrecht数据集的结果显示在表9中。将所提出的模型的结果与基于回归的模型(包括CART,逐步回归(SWR)和多元回归(MLR))进行比较。这些模型参与比较过程,因为它们已被广泛用于其他研究(Khatibi Bardsiri等,2013; Mittas和Angelis,2010; Hsu和Huang,2011)。人工神经网络(ANN)也与所提出的方法进行了比较。此外,将从所提出的模型获得的结果与最近两项研究中报告的结果进行比较(Azzeh等人,2014; Li等人,2009)。在图6中,将从Albrecht数据集上的PRED(0.25)和MMRE获得的值与其他模型进行比较。结果表明,与其他模型相比,所提出的模型能够生成更准确的估计。所提出的模型可以显着改善MMRE和PRED(0.25)。
将所提出的模型应用于ISBSG数据集与其他流行模型的结果显示在表10中。将所提出的模型的结果与基于回归的估计方法的模型进行比较,包括CART,逐步回归(SWR),多元回归(MLR)和ANN。此外,将从所提出的模型获得的结果与最近的论文(Khatibi Bardsiri等,2013a)中报道的结果进行比较。在图7中,将从MMBS和PRED(0.25)获得的关于ISBSG数据集的值与其他模型进行比较。在所有模型中,所提出的模型可以进行显着的改进。
将所提出的模型应用于Kemerer数据集与其他流行模型的结果如表11所示。将所提出的模型的结果与基于回归的估计方法的模型进行比较,包括CART,逐步回归(SWR),多元回归(MLR)和ANN。此外,将从所提出的模型获得的结果与最近的论文(Azzeh等人,2014)中报道的结果进行比较。在图8中,将从MMRE和PRED(0.25)获得的关于Kemerer数据集的值与其他模型进行比较。在所有模型中,所提出的模型达到了最佳结果。
7.4. Improvement analysis
在表12中,MMRE和PRED(0.25)证明了通过将所提出的方法应用于Albrecht数据集而获得的改进百分比。如表12所示,MLR的最大改善率为329%,而MLR的改善率最低,为70%,与OABE有关。与MMRE类似,PRED(0.25)也得到了改进。最低的改善百分比(42%)与OABE有关,而SWR的最大改善率为(0.25),增加了400%。
图9显示了在Albrecht数据集上实现的MRE值绘制的箱形图。最低中位数和四分位数间距与拟议模型有关。表13显示了通过Wilcoxon测试对不同模型的MRE结果实现的p值。所有p值均小于0.05,这在统计学上证实了所提出模型的优越性。
在表14中,针对MMRE和PRED(0.25)的度量给出了通过将所提出的方法应用于ISBSG数据集而获得的改进百分比。如表14所示,所提出的模型可以显着地为PRED(0.25)的度量提供比其他模型更多的改进。 PRED(0.25)的最低改善与ABE-PSO模型有关,为24%,而最高与CART模型有关,为281%。很明显,PRED(0.25)获得的改善百分比高于MMRE,但所提出的模型仍然比其他模型更强。
MMRE的最高改进与CART模型有关,为126%,最低与ABE-PSO模型有关,为30%。观察到所提出的模型与最佳模型(ABEPSO)相比可以将MMRE和PRED(0.25)的值分别提高至30%和24%。图10显示了在ISBSG上实现的MRE值绘制的箱形图。最低中位数与拟议模型有关,但四分位数间距与SWR模型有关。表15显示了Wilcoxon测试对不同模型的MRE结果所获得的p值。所有六个p值均小于0.05。
在表16中,MMRE和PRED(0.25)证明了通过将所提出的方法应用于Kemerer数据集而获得的改进百分比。如表16所示,MLR的最大改善(164%)发生在MLR,而最低改善百分比(47%)与OABE有关。与MMRE类似,PRED(0.25)也得到了改进。最低的改善百分比(12%)与OABE有关,并且SWR,CART和MLR的PRED(0.25)最大改善率为200%。
图11显示了在Kemerer数据集上实现的MRE值绘制的箱形图。最低中位数与建议的模型有关,但四分位数范围与CART模型有关。表17显示了通过Wilcoxon测试对不同模型的MRE结果实现的p值。三个p值小于0.05,这在统计上证实了所提出模型的优越性。
最后,通过检查获得的结果,观察到所提出的模型与其他模型相比在三个数据集中获得了更准确的结果。
8. Conclusion
对项目经理来说,准确可靠的软件开发工作估算是一个非常重要的问题。由于软件项目的不确定性,应选择一种方法,不仅要处理这种不确定性,还要提供对开发工作的准确估计。 ANFIS可以通过正确选择隶属函数和训练算法来处理软件项目的不确定性。尽管ANFIS是一种众所周知的估计模型,并且广泛用于软件开发工作量估算,但该模型仍然无法在许多情况下产生准确的估计。作为该问题的解决方案,可以使用现代元启发式算法代替ANFIS中的经典训练算法。
本文重点研究了SBO结合ANFIS作为一种新型训练算法的应用。 SBO专注于最佳解决方案,同时也保证了人口的多样性。 SBO的这一特性使其适用于属性加权,ANN权重和偏差调整以及ANFIS参数调整领域。此外,根据第4节中的基准,变量数量的增加对SBO的绩效没有显着影响。根据从SBO获得的结果(具有单模和多模函数),该算法可用于实现开发(第4.1节),探索(第4.2节)和高收敛速度。将SBO算法与五种众所周知的近期算法(ALO,PSO,FA,GA和ABC)进行了比较。结果表明,在许多测试函数中,SBO算法比其他算法得更好的答案。从统计检验获得的结果显示,与其他算法相比,SBO算法在统计学上更优越(表4,6)。
所提出的混合估计模型包括两个阶段,其中构建和评估模型。 SBO在所提出的模型中的作用是生成ANFIS的优化参数。实际上,通过选择SBO生成的最佳参数,ANFIS性能得到显着提高。为了评估所提出的混合方法的性能,使用Albrecht,ISBSG和Kemerer数据集以及MMRE和PRED的性能指标(0.25)。将获得的结果与流行模型报告的结果进行比较。基于7.3节中得到的结果,最低MMRE和最高PRED(0.25)与三个数据集中提出的模型相关。实际上,SBO和ANFIS的组合能够在现有模型中具有最佳性能。最后,结果的统计分析支持了所提出的模型相对于其他模型的优越性(表13,15,17)。根据总体结果,可以得出结论,SBO算法可以是用于解决软件开发工作量估计问题的适当补充算法。特别是,ANFIS-SBO的混合模型能够在该领域中产生准确的估计。作为未来的工作,可以采用新的优化算法和特征选择技术来提高软件开发工作量估计的准确性。
References
Abeer, Hamdy, 2012. Fuzzy logic for enhancing the sensitivity of COCOMO cost model. J. Emerg. Trends Comput. Inf. Sci. 3 (9), 1292–1297.
Agrawal, A., Jain, V., Sheikh, M., 2016. Quantitative Estimation of Cost Drivers for Intermediate COCOMO towards Traditional and Cloud Based Software Development, In: Proceedings of the 9th Annual ACM India Conference. ACM: Gandhinagar, India. pp. 85–95.
Agrawal, V., Shrivastava, V., 2015. Performance evaluation of software development effort estimation using neuro-fuzzy model. Int. J. Emerg. Res. Manag. Technol. 4 (7), 193–199.
Alatas, B., 2012. A novel chemistry based meta heuristic optimization method for mining of classification rules. Expert Syst. Appl. 39, 11080–11088.
Azzeh, M., Nassif, A.B., 2016. A hybrid model for estimating software project effort from use case points. Appl. Soft Comput. 49, 981–989.
Azzeh, M., Neagu, D., Cowling, P., 2009. Fuzzy grey relational analysis for software effort estimation. J. Empir. Softw. Eng. 15 (1), 60–90.
Azzeh, M., Neagu, D., Cowling, P.I., 2011. Analogy-based software effort estimation using Fuzzy numbers. J. Syst. Softw. 84 (2), 270–284.
Azzeh, M., Yousef, E., Marwan, A., 2014. An optimized analogy-based project effort estimation. Int. J. Adv. Comput. Sci. Appl. 5, 6–11.
Azzeh, M., Nassif, A.B., Minku, L.L., 2015. An empirical evaluation of ensemble adjustment methods for analogy-based effort estimation. J. Syst. Softw. 103, 36–52.
Boehm, B., Abts, C., Chulani, S., 2000. Software development cost estimation approaches – a survey. Ann. Softw. Eng. 10 (1), 177–205.
Boogert, N.J., Giraldeau, L.-A., Lefebvre, L., 2008. Song complexity correlates with learning ability in zebra finch males. Anim. Behav. 76 (5), 1735–1741.
Borgia, G., 1985. Bower destruction and sexual competition in the satin bowerbird (Ptilonorhynchus violaceus). Behav. Ecol. Sociobiol. 18, 91–100.
Cheng, M.-Y., Prayogo, D., 2014. Symbiotic organisms search: a new metaheuristic optimization algorithm. Comput. Struct. 139, 98–112.
Chulani, S., Boehm, B., Steece, B., 1999. Bayesian analysis of empirical software engineering cost models. IEEE Trans. Softw. Eng. 25 (4), 573–583.
Coleman, S.W., Patricelli, G.L., Borgia, G., 2004. Variable female preferences drive complex male displays. Nature 428, 742–745.
Costagliola, G., Ferrucci, F., Tortora, G., Vitiello, G., 2005. Class point: an approach for the size estimation of object-oriented systems. IEEE Trans. Softw. Eng. 31 (1), 52–74.
Cuauhtemoc Lopez-Martin, 2010. A fuzzy logic model for predicting the development effort of short scale programs based upon two independent variables. Appl. Soft Comput. 11 (1), 724–732.
Derrac, J., Garca, S., Molina, D., Herrera, F., 2011. A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm Evol. Comput. 1, 3–18.
Digalakis, J., Margaritis, K., 2001. On benchmarking functions for genetic algorithms. Int. J. Comput. Math. 77, 481–506.
Formato, R.A., 2008. (ed)Central force optimization: a new nature inspired computational framework for multidimensional search and optimization. In Nature Inspired Cooperative Strategies for Optimization (NICSO 2007) 129. Springer, 221–238.
Holland, J.H., 1992. Genetic algorithms. Sci. Am. 267, 66–72.
Holland, J.H., Reitman, J.S., 1977. Cognitive systems based on adaptive algorithms. ACM SIGART Bull., (49–49).
Hossein, A., Hossein-Alavi, 2012. A: krill herd: a 000000000new bio-inspired optimization algorithm. Commun. Nonlinear Sci. Numer. Simul. 17, 4831–4845.
Hota, H.S., Shukla, R., Singhai, S., 2015. Predicting Software Development Effort Using Tuned Artificial Neural Network, In: Jain, L.C. et al. (Eds.), Computational Intelligence in Data Mining – Proceedings of the International Conference on CIDM, 20–21 December 2014. Springer India: New Delhi. 3, pp. 195–203.
Hsu, C.-J., Huang, C.-Y., 2011. Comparison of weighted grey relational analysis for software effort estimation. Softw. Qual. J. 19 (1), 165–200.
Huang, X.S., Ho, D., Ren, J., Capretz, L.F., 2007. Improving the COCOMO model using a neuro-fuzzy approach. Appl. Soft Comput. J. 7 (1), 29–40.
Idri, A., Hosni, M., Abran, A., 2016. Improved estimation of software development effort using Classical and Fuzzy Analogy ensembles. Appl. Soft Comput. 49, 990–1019.
ISBSG International software benchmark and standard group, 2007. Data CDRelease 10, http://www.isbsg.org. Jang, J.-S.R., 1993. ANFIS: adaptive network based fuzzy inference system. IEEE Trans. Syst. Man Cybern. 23 (3), 665–668.
Jensen, R., 1983. An improved macrolevel software development resource estimation model. In: Proceedings of the 5th Conference of International S Parametric Analysts, pp. 88–92.
Jorgensen, M., 2004. Top-down and bottom-up expert estimation of software development effort. Inf. Softw. Technol. 46 (1), 3–16.
Jorgensen, M., Shepperd, M.J., 2007. A systematic review of software development cost estimation studies. IEEE Trans. Softw. Eng. 33 (1), 33–53.
Karaboga, D., Basturk, B., 2007. A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J. Glob. Optim. 39, 459–471.
Kaveh, A., 2014. Dolphin echolocation optimization. In: Advances in Metaheuristic Algorithms for Optimal Design of Structures. Springer, 157–193.
Kaveh, A., Talatahari, S., 2010. A novel heuristic optimization method: charged system search. Acta Mech. 213, 267–289.
Kaveh, A., Khayatazad, M., 2013. Ray optimization for size and shape optimization of truss structures. Comput Struct. 117, 82–94.
Kaveh, A., Farhoudi, N., 2013. A new optimization method: dolphin echolocation. Adv. Eng. Softw. 59, 53–70.
Kaveh, A., Ghazaan, M.I., Bakhshpoori, T., 2013. An improved ray optimization algorithm for design of truss structures. Civ. Eng. 57, 97–112.
Kemerer, F.C., 1987. An empirical validation of software cost estimation models. Commun. ACM 30 (5), 416–429.
Kennedy J., Eberhart R., 1995. Particle swarm optimization. In: Proceedings IEEE International Conference on Neural Networks, vol. 6, pp. 1942–1948.
Khatibi, E., Khatibi Bardsiri, V., 2015. Model to estimate the software development effort based on in-depth analysis of project attributes. Softw., IET 9 (4), 109–118.
Khatibi Bardsiri, V., et al., 2013. A flexible method to esimate the software development effort based on the classification of projects and localization of comparisons. Empir. Softw. Eng. 19 (4), 857–884.
Khatibi Bardsiri, V., Dayang Norhayati, Abang Jawawi, Siti Zaiton, Mohd Hashim, Khatibi, E., 2013a. A PSO-based model to increase the accuracy of software development effort estimation. Softw. Qual. 21 (3), 501–526.
Khatibi Bardsiri, V., Khatibi, A., Khatibi, E., 2013b. An optimization-based method to increase the accuracy of software development effort estimation. J. Basic. Appl. Sci. Res. 3 (2), 159–166.
Kumar, Shiyna, Chopra, Vinay, 2013. Neural network and fuzzy logic based framework for software development effort estimation. Int. J. Adv. Res. Comput. Sci. Softw. Eng. 3 (5), 19–24.
Kumari, Poonam, Ishdeep, Singla, 2015. Tuning of use case point (UCP) analysis Parameter using PSO. Commun. Appl. Electron. 1 (5), 25–28.
Li, X., Lu, W.F., Zhai, L., Er, M.J., Pan, Y., 2015. Remaining life prediction of cores based on data-driven and physical modeling methods. In: Nee, A.Y.C. (Ed.), Handbook of Manufacturing Engineering andTechnology. Springer London, London, 3239–3264.
Li, Y.F., Xie, M., Goh, T.N., 2009. A study of the non-linear adjustment for analogy based software cost estimation. Empir. Softw. Eng. 14 (6), 603–643.
MacDonell, S.G., Shepperd, M.J., 2003a. Combining techniques to optimize effort predictions in software project management. J. Syst. Softw. 66 (2), 91–98.
MacDonell, S.G., Shepperd, M.J., 2003b. Combining techniques to optimize effort predictions in software project management. J. Syst. Softw. 66, 91–98.
Madachy, R., 1994. A Software Project Dynamics Model for Process Cost, Schedule and Risk Assessment (Ph.D. dissertation). University of Southern California.
Mirjalili, S., 2015. The Ant Lion Optimizer. Adv. Eng. Softw. 83, 80–98.
Mirjalili, S., Mirjalili, S.M., Lewis, A., 2014. Grey wolf optimizer. Adv. Eng. Softw. 69, 46–61.
Mittas, N. Angelis, L., 2008. Combining regression and estimation by analogy in a semiparametric model for software cost estimation, In: Proceedings of the Second ACMIEEE International Symposium on Empirical Software Engineering and Measurement (ESEM ’08), pp. 70–79.
Mittas, N., Angelis, L., 2010. LSEbA: least squares regression and estimation by analogy in a semi parametric model for software cost estimation. Empir. Softw. Eng. 15 (5), 523–555.
Mller, A.P., Pomiankowski, 1993. A. Why have birds got multiple sexual ornaments? Behav. Ecol. Sociobiol. 32 (3), 167–176.
Nassif, A.B., Azzeh, M., Capretz, L.F., Ho, D., 2016. Neural network models for software development effort estimation: a comparative study. Neural Comput. Appl. 27 (8), 2369–2381.
Oliveira, A.L.I., 2006. Estimation of software project effort with support vector regression. Neurocomputing 69 (13–15), 1749–1753.
Pan, Y., Hu, X., Er, M.J., Li, X., Gouriveau, R., 2013. Bearing condition prediction using enhanced online learning fuzzy neural networks, In: Nee, A.Y.C., Song, B., Ong, S.-K. (Eds.), Re-engineering Manufacturing for Sustainability, Proceedings of the 20th CIRP International Conference on Life Cycle Engineering, Singapore 17–19 April 2013, Springer Singapore, Singapore. pp. 175–182.
Pan, Y., Er, M.J., Li, X., Yu, H., Gouriveau, R., 2014. Machine health condition prediction via online dynamic fuzzy neural networks. Eng. Appl. Artif. Intell. 35, 105–113.
Pratama, M., et al., 2013. Data driven modeling based on dynamic parsimonious fuzzy S.H. Samareh Moosavi, V. Khatibi Bardsiri Engineering Applications of Artificial Intelligence 60 (2017) 1–15 14 neural network. Neurocomputing 110, 18–28.
Putnam, L., Myers, W., 1992. Measures for Excellence. Yourdon Press Computing Series. Rashedi, E., Pour, H.N., Saryazdi, S., 2009. GSA: a gravitational search algorithm. Inf. Sci. 179, 2232–2248.
Rijwani, P., Jain, S., 2016. Enhanced software effort estimation using multi layered feed forward artificial neural network technique. Procedia Comput. Sci. 89, 307–312.
Salcedo-Sanz, S., Pastor-Snachez, A., Gallo-Marazuela, D., Portilla-Figueras, 2013. A. novel coral reefs optimization algorithm for multi-objective problems. Intell. Data Eng. Autom. Learn. – IDEAL 8206, 326–333.
Satapathy, S.M., Kumar, M., Rath, S.K., 2016a. Optimized class point approach for software effort estimation using adaptive neuro-fuzzy inference system model. Int. J. Comput. Appl. Technol. 54 (4), 323–333.
Satapathy, S.M., Acharya, B.P., Rath, S.K., 2016b. Early stage software effort estimation using random forest technique based on use case points. IET Softw. 10 (1), 10–17.
Sheenu, Rizvi, Abbas, S.Q., Rizwan, Beg, 2014. A hybrid fuzzy-Ann approach For software effort estimation. Int. J. Found. Comput. Sci. Technol. (IJFCST) 4 (5), 45–56.
Shepperd, M., Schofield, C., 1997. Estimating software project effort using analogies. IEEE Trans. Softw. Eng. 23 (12), 733–743.
Simon, D., 2008. Biogeography-based optimization. IEEE Trans. Evolut. Comput. 12, 702–713.
Trendowicz, A., Jeffery, R., 2014. Software Project Effort Estimation. Foundations and Best Practice Guidelines for Success. Springer.
Vishal, Sharma, Kumar Verma, Harsh, 2010. Optimized fuzzy logic based framework for effort estimation in software development. Int. J. Comput. Sci. Issues (IJCSI) 7 (2), 30–38.
Xua, Z., Khoshgoftaar, T.M., 2004. Identification of fuzzy models of software cost estimation. Fuzzy Sets Syst. 145 (1), 141–163.
Yang, X.-S., 2010a. Firefly algorithm, Levy flights and global optimization. In: Research and Development in Intelligent Systems XXVI. Springer, 209–218.
Yang, X.-S., 2010b. Firefly algorithm, stochastic test functions and design optimizationJ Bio-Inspired Comput, 78–84.
Yang, X.-S., Deb, S., 2009. Cuckoo search via Lévy flights. In: World Congress On Nature & Biologically Inspired Computing. NaBIC, 210–214.
Yang, X.-S., Deb, S., 2010. Engineering optimisation by cuckoo search. Int J. Math. Model Numer Optim. 1, 330–343.
Yao, X., Liu, Y., Lin, G., 1999. Evolutionary programming made faster. IEEE Trans. Evol. Comput. 3, 82–102.
Ziauddin, Shahid Kamal, khan, Shafiullah, Abdul Nasir, Jamal, 2013. A fuzzy logic based software cost estimation model. Int. J. Softw. Eng. Appl. (IJSEIA) 7 (2), 7–18. 求[大哭][大哭][大哭][大哭]珊瑚礁算法程序代码
页:
[1]