之前我们介绍的大部分方法都是一个目标函数,但是在我们的实际生活中往往很多问题都是有多个目标的问题,要么我们通过加权平均形成一个综合的目标函数,要么就是将问题抽象成一个多目标优化的问题,本章将会介绍这个方法,目标规划。
银行投资问题
每个投资者在决定如何分配可用的资本的时候需要权衡收益和风险。一般来讲能承诺最高回报的投资机会总是伴随着极大的风险。
商业银行在平衡收益和风险尤其谨慎。因为法律和伦理道德要求它们必须规避不可撤销的冒险行为,然而,商业机构的目标是追求利润最大化。这一两难的困境就很自然的产生了多目标的优化问题,需要同时优化利润和风险指标。
我们的资本投资例子将利用多目标方法帮助一家银行进行投资决策。该银行拥有20百万美金的资本,其拥有活期存款150百万美金,定期存款80百万美金。
下表列出银行分配资本和存款的投资方式。
投资分类j |
收益率% |
流动性% |
所需资本% |
是否有风险 |
现金 |
0 |
100 |
0 |
无 |
短期 |
4 |
99.5 |
0.5 |
无 |
1-5年政府债券 |
4.5 |
96 |
4.0 |
无 |
5-10年政府债券 |
5.5 |
90 |
5.0 |
无 |
10年以上政府债券 |
7 |
85 |
7.5 |
无 |
分期贷款 |
10.5 |
0 |
10 |
有 |
按揭贷款 |
8.5 |
0 |
10 |
有 |
商业贷款 |
9.2 |
0 |
10 |
有 |
xj表示分类j的投资数量,j=1,2,3,..8
银行投资的目标
max 0.04x2+0.045x4+0.07x5+0.105x6+0.085x7+0.092x8
投资风险量化就不是特别明显了。我们使用两种常见的比率度量法。
一种是资本充足率,就是银行偿还能力所需的资本与实际资本的比值,比值越小风险越小,那么第二个目标就是
min 201(0.005x2+0.04x3+0.05x4+0.075x5+0.1x6+0.1x7+0.1x3)
另一种度量方式是流动性弱的风险性资本。风险性资产与总资产的比值小说明财务安全性高。
min 201(x6+x7+x8)
现在我们来考虑约束
- 投资总额不能超过可用资本和存款资金
- 现金储备不能少于14%的活期存款加上4%的定期存款
- 流动性投资不能少于活期存款的47%加上定期存款的36%
- 为了投资的多样性,每种投资方式的投资金额不能少于5%
- 为了保证银行的社会地位,商业贷款不能少于总资产的30%
x1+..+x8=20+150+80x1>0.14∗150+0.04∗80x1+0.995x2+0.96x3+0.9x4+0.85x5>0.46∗150+0.36∗80xj>0.05(20+150+80)x8>0.3(20+150+80)xj>0
有效点和有效边界
当模型有一个以上的目标函数的时候,最优解的概念就会有些不好用啦。本节就介绍有效点和有效的边界的概念也被称为帕累托最优点和非直配点。
有效点
如果不存在其他可行解能够至少使得一个目标函数值严格更好且其他目标函数值不劣于当前可行解的目标值,那么该可行解是这个多目标优化模型的有效点。可以用图像法找到问题的有效点。
多目标优化模型的有效边界就是所有的有效点集合。
抢占式优化和加权目标
多目标优化的时候,有效集合会非常大,我们必须将多目标优化降维成单一目标进行优化。比较直接的方式就是抢占式优化和加权目标
抢占式优化
虽然一个问题可能是多目标的,但是每个目标的重要程度是不同的,抢占式就是按照次序进行优化。
抢占式优化解决多目标问题的时候,一次只优化一个目标函数,优化最主要的目标,保证第一目标达到最优值的时候进一步优化第二个目标。
抢占式的优化银行问题
假设我们认为风险资产率是唯一的重要目标,抢占式优化会先把最小化风险资产率作为唯一的目标进行优化。
min 201(x6+x7+x8)s.t.x1+..+x8=20+150+80x1>0.14∗150+0.04∗80x1+0.995x2+0.96x3+0.9x4+0.85x5>0.46∗150+0.36∗80xj>0.05(20+150+80)x8>0.3(20+150+80)xj>0
获取的最优解是
x1=100x2=12.5x3=12.5x4=12.5x5=12.5x6=12.5x7=12.5x8=75
对应的风险资产率为5.0,利润为11.9百万美元,资本充足率是0.606.
下一步,我们将资产率5.0作为约束,优化第二个目标。
max 0.04x2+0.045x4+0.07x5+0.105x6+0.085x7+0.092x8s.t.201(x6+x7+x8)<5.0x1+..+x8=20+150+80x1>0.14∗150+0.04∗80x1+0.995x2+0.96x3+0.9x4+0.85x5>0.46∗150+0.36∗80xj>0.05(20+150+80)x8>0.3(20+150+80)xj>0
后面以此类推优化资本充足率的目标。
如果抢占优化每一阶段都能产生单一目标最优解,则最终解是整个多目标模型的一个有效点。
加权目标
处理目标的重要性较为均衡的多目标模型时,常见的方式是按照权重组合多个目标函数,这类方式比较简单,选好权重以后就是一个单目标优化过程,这个就十分简单啦。