此案例来自清华大学1990年1月第二版的《运筹学》。以后我所引用的案例如无特别说明都会出自这里。
某人打算在今后五年内考虑给以下的项目投资,这些项目的情况如下:
项目A,从第一年到第四年每年年初需要投资,并于次年年末回收本利115%。
项目B,第三年年初需要投资,到第五年末能回收本利125%,投资额不能超过4万
项目C,第二年初需要投资,到第五年末回收本利140%,投资额不能超过3万元
项目D,五年内每年初可购买公债,于当年末规还,并加利息6%
这个人有10万元,问怎样投资,到第五年手头的资金最大?
叉开话题,我不知道各位是如何考虑这个问题的,是不是先看哪个投资回报最大,然后资金尽量往高的那投,好,那可以算一下。A:7.24%. B:7.72% C:8.77% D:6% 。于是,我的策略是,先满足C,然后是B,其次A,最后是D。然后发现A,B,C都是有限制的,D相对没什么限制,流动性最强,则资金闲余时,主要投D.基本上可以断定的是,我会为了尽量大地满足最高回报而失去整体的盈利最大化。所以在这里,人类理性的局限性也就体现出来了,不排除有特别聪明的人想出最好的点子,但是这个点子和后面单纯形法得出的结论,以及单纯形法所用的时间来看,显然单纯形法会完胜。这个案例或许不能证明,但当年数足够多,产品足够丰富的时候,找到一个好方法是相当关键的。
回到正题,先做分析。建立变量。以XiA,XiB,XiC,XiD(其中i=1,2,3,4,5)分别表示第i年初给项目A,B,C,D的投资额。则根据项目的限制条件,可以得到以下的X布局图
横轴是年份,竖轴是项目
1 2 3 4 5
A X1A X2A X3A X4A
B X3B
C X2C
D X1D X2D X3D X4D X5D
根据此图,给出每年的可能投资组合:
第一年:X1A+X1D=100000 (1)
第二年:X2A+X2C+X2D=1.06X1D (2)
第三年:X3A+X3B+X3D=1.15X1A+1.06X2D (3)
第四年:X4A+X4D=1.15X2A+1.06X3D (4)
第五年:X5D=1.15X3A+1.06X4D (5)
同时还有两个限制条件:X3B<=40000(6);X2C<=30000(7)
目标是第五年末手头的资金最多则:
Max z=1.15X4A+1.4X2C+1.25X3B+1.06X5D (8)
利用这些8个代数关系建模。并求解,过程略。
结论是:
第一年 A:34783 D:65217
第二年 A:39130 C:30000
第三年 B:40000
第四年 A:45000
从结论来看,基本和我之前的想法吻合,所以得出两个案例外的结论:先做灵敏度分析(为什么不是单纯的看价值系数大小,这里不作分析)可能会更快找到最优解。比如X2C=30000,X3B=40000,这两个点位如果是确定的,可以少走很多弯路。单纯形法的作用一定要在足够复杂的系统中才能显现出威力。