模拟退火算法在贷款组合优化决策中的应用_第1页
模拟退火算法在贷款组合优化决策中的应用_第2页
模拟退火算法在贷款组合优化决策中的应用_第3页
模拟退火算法在贷款组合优化决策中的应用_第4页
模拟退火算法在贷款组合优化决策中的应用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模拟退火算法在贷款组合优化决策中的应用1引言风险贷款组合配给决策,是在综合考虑贷款收益和风险的前提下,从众多的贷款对象中选择一组合适的贷款对象的过程。文献[1]中建立了基于单位风险收益最大原则的贷款组合优化决策模型。该问题的求解过程在规模较小时是简单易行的,但随着问题规模的增大,其计算量随之呈指数型增长。因此,需要设计出一种兼顾解的质量以及运行时间的较好算法。模拟退火算法是80年代初期发展起来的一种求解大规模组合优化问题的随机性方法。它以优化问题的求解与物理系统退火过程的相似性为基础,利用Metropolis算法并适当的控制温度的下降过程实现模拟退火,从而达到求解全局优化问题的目的。它具有描述简单、使用灵活、运用广泛、运行效率高和较少受初始条件限制等优点。模拟退火算法在搜索策略上与传统的随机搜索方法不同,它不仅引入了适当的随机因素,而且还引入了物理系统退火过程的自然机理。这种自然机理的引入使模拟退火算法在迭代过程中不仅接受使目标函数值变“好”的试探点,而且还能够以一定的概率接受使目标函数值变“差”的试探点,接受概率随着温度的下降逐渐减小。模拟退火算法的这种搜索策略有利于避免搜索过程因陷入局部最优解而无法自拔的弊端,有利于提高求得全局最优解的可靠性。本文提出了一种求解上述模型的改进模拟退火算法,数据结果表明该算法计算效率高,稳定性好。2模型本模型的建立基于以下三个原则:(1)单位风险收益最大原则通过计算组合投资的平均收益与组合风险之比来判断组合方案的优劣,比值大的组合方案代表其单位风险所获得的收益也大。贷款剩余资源最少原则如果仅依据单位风险收益最大原则来决策,就可能出现只有很少几个项目被选中的情况,这样会造成分配后的剩余资金过多。因此,在贷款组合优化决策中,应在每笔单项贷款可行的基础上,增加一个最低贷款额度Lb的约束条件,以使剩余资金处于银行可以接受的水平。可比性原则贷款项目的使用年限或寿命不尽相同,若采用净现值(NPV)作为评价指标,则不具有可比性。为使评价指标具有可比性,应采用总净现值进行评价。设为贷款组合的标准差,用来衡量贷款组合的总风险;山为申请贷款企业的个数;TNPVi,TNPVj分别为第i个企业和第j个企业新建项目的总净现值;Xi=1为0-1变量,Xi=0为第i个贷款企业未被选中,Xi=1为第i个贷款企业被选中;cov(TNPVi-Xi,TNPVj-Xj)为第i个项目总净现值与第j个项目总净现值的斜方差,即二者的组合风险;当Xi=0时,第i个贷款企业项目未被选中,其与第j个贷款企业项目的协方差为0。则贷款组合的总风险为=[]E栏cov(TNPVi-Xi,TNPVj•Xj)]1/2i=1j=1=[2E产XiXj•cov(TNPVi,TNPVj)]1/2i=1j=1贷款组合的总效益为TNPV=£TNPVi-Xii=1根据上述原则,设W为贷款的单位风险收益,则决策模型目标函数为maxW=TNPV/。设L为银行贷款总额,Li为i第个企业新建项目所需贷款额,La为银行中长期贷款的可用头寸,Lb为银行中长期贷款组合的最低配给额。根据上述原则,资金约束为综合上述内容,Lb^L^La,L=£LiXii=1可得到贷款风险组合优化决策模型如下:objmaxW=TNPV/s.t.£LiXi^La£LiXiNLb(I)i=1i=1其中TNPV=£TNPVi•Xii=1Z=[YYXiXj•cov(TNPVi,TNPVj)]1/2i=1j=1Xi={0,不选i企业i=1〜m1,选i企业3改进的模拟退火算法上述组合优化问题属于NP完全问题,该问题的求解需要问题规模的指数阶时间。当有m个企业申请贷款时,即问题规模为m时有2m个解(含不可行解),找出最优解需要进行2m-1次比较运算。用运算能力为1Mflops(每秒一百万次浮点运算)的计算机进行求解,在m=10时只需1ms,而当m=60时,需用366世纪!因此,需要找出兼顾解的质量以及运算时间的较好算法。模拟退火算法是一种解大规模组合优化问题,特别是NP完全问题的有效近似算法。它源于对固体退火过程的模拟;采用Metropolis接受准则;并用一种称为冷却进度表的参数控制算法进程,使算法在多项式时间里给出一个近似最优解。模拟退火算法的一般形式是:从选定的初始解开始,在借助于控制参数t递减时产生的一系列Mapkob链中,利用一个新解产生装置和接受准则,重复进行包括“产生新解一一计算目标函数差——判断是否接受新解——接受(或舍弃)新解”这四个任务的试验,不断对当前解迭代,从而达到使目标函数最优的执行过程。针对模型(I),对模拟退火过程中的关键步骤说明如下:(1)新解产生装置。在1〜m之间随机选取i和j,当前解中若第i个和第j个企业获得贷款状态相同则改变第i个企业的贷款状态;若不同则交换其状态。即{乂,=1"=乂尸X=1-X且X=1-X,若X丰Xiijjij关于初始点的调整。由于模型约束条件中上下限的限制严格,对于一个离可行域比较远的初始点(例如取X0=(0,„,0)),通过上述新解产生装置可能无法在初始点的“附近”找到可行解。因此,需进行一个快速调整的过程。即若LvLb(贷款总额未达到最低限额)则依次选取未获贷款企业,改变其贷款状况使之获得贷款,重复这一过程直到符合条件。若贷款超额则依次取消某些企业的贷款使之符合条件。接受准则。采取扩充的Metropolis接受准则判断是否接受新解。若新解可行且优于当前解则接受;否则按exp(AW/t)或0的概率接受新解。即(1,若可行且△w>0P二exp(△W/1),若可行且△W<00,若不可行停止准则。当控制参数t递减至设定值£时停止算法。根据模拟退火思想设计适合模型(I)的算法如下:步骤1产生初始解X0EQ,其中Q={(x,…,x)|x^{0,1}}为可能解1mi集合,x.代表第i个企业是否获得贷款的状态。计算相应的目标函数值W0;给出控制参数初值t0,Mapkob链长度N以及停止参数K和£。步骤2判断初始解的可行性。若不可行则快速调整,否则转步骤3。步骤3产生新解并计算新解与当前解的目标函数值之差AW。然后由接受准则计算P(AW,t),取(0,1)上服从均匀分布的随机数0,若P(AW,t)N0接受新解,否则放弃新解。步骤4累计重排次数n。若nVN转步骤3,否则转步骤5。步骤5判断停止准则是否满足。若不满足则令t=0.9t,n=0转步骤3,否则停止算法输出当前解。由于模拟退火算法的随机性,终止解可能不是整个过程所遇到的解中最优的。即使是最优的,虽然可证明算法对整体最优解的渐进收敛性,但终止解的可接受性也不能不遭到怀疑。另外,当终止解在最优解的附近时,算法本身不能迅速逼近或达到它。因此,对上述算法进行如下改进:(1)设置记忆器。设变量X*和W*分别用于记忆当前遇到的最优解及目标函数值。算法开始时令X*和W*分别等于初始解及其目标函数值;以后每接受一个新解时,就将当前解的目标函数值与W*作比较,若优于W*就用当前解替换X*和W*。最后算法结束时,将所得最优解与记忆器中的解比较,取较优的一个作为当前最优解。(2)算法最后链接一个局部搜索过程。以上步所得当前最优点为起点,用新解产生装置产生新解,仅当优于当前解时接受。重复若干次后终止算法。经过上述改进后的模拟退火算法具有较好的稳定性,可以获得更好的近似解甚至整体最优解。4实例分析某银行新建项目的贷款头寸La为300万元,贷款最低完成任务Lb为270万元。现有十个企业申请基建贷款。有关信息如表一、表二所示。现在要求确定银行的贷款组合决策,以决定对哪些企业发放贷款。表一贷款组合备选方案项目IIIIIIVHW伽IXXxn投资352839.931.55626.25632124.511.2TN47.45.25.72.22.20.96.43.43.22.PVi18224086457776014242表二总净现值TNPV的协方差矩阵cov(TNPVi,TNPVj)123456789101600.00400.001200.00500.001500.00980.001300.00700.00640.00400.009400.00266.67800.00333.331000.00653.33866.67466.67426.67266.67

212003.00800.002600.00966.673100.002100.002300.001433.331413.33746.674500.00333.33966.67422.221233.33793.331133.33577.78511.11342.22l15005.001000.003100.001233.333800.002520.003100.001766.671666.67973.33尸980.b00653.332100.00793.332520.001698.671913.331166.671138.67616.0071300.00866.672300.001133.333100.001913.333266.671466.671186.67946.67o700.800466.671433.33577.781766.671166.671466.67822.22768.89457.78c640.900426.671413.33511.111666.671138.671186.67768.89771.56391.1101400.00266.67746.67342.22973.33616.00946.67457.78391.11280.89运用MATLAB软件,可以根据上述算法编制相应程序对该问题进行求解。其中相关参数的设置为:X0=(0,0,0,0,0,0,0,0,0,0),t0=1,N=5,e=0.02。在计算机上运行后得到最优解X*=(1,1,0,1,1,0,1,1,1,1)。结合这一实例对算法的主要性能分析如下:(1)按照上述参数设置,算法运行中总共比较了不到三百个方案(包括不可行解),而对m=10的模型共有1024个方案可供选择。由此可见这一算法极大的提高了计算效率,节省了计算时间。(2)将程序连续运行10次,其中有9次获得了理想的结果(即整体最优解),因而算法的稳定性能是非常好的。进一步分析可知,有五次运行是在常规算法阶段就得到了最优解,还有两次是在记忆器中得到的最优解,另有两次是在最后的局部搜索中才得到理想结果。由此可见,对原常规算法进行改进是必要的,也是可行的,这一改进保证了算法的稳定性。5结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论