蒙特卡洛方法也称为计算机随机模拟方法。它是基于对大量事件的统计结果来实现一些确定性问题的计算。使用蒙特卡洛的方法必须使用计算机生成相关分布的随机数Matlab给出了生成各种随机数的命令。
蒙特卡洛的运用举例:
(1)三门问题
要点:使奖品随机出现在门的后面,以及计算机随机生成所选的门,通过是否更换选项以及是否正确来判断答案;
代码见:code2.m
(2)模拟排队问题
使用蒙特卡洛随机生成客人到达时间与服务时间,计算平均等待时间。
代码见:code3.m
(3)非线性规划问题
第一步先缩小变量范围,再蒙特卡洛模拟生成多个可行解,再决定最值。
代码见:code4.m
(4)书城买书(0-1规划问题)
仅使用于小数量的此类问题,通过蒙特卡洛模拟出各个书本的购买书店,最后求出最小值。
代码见:code5.m
(5)导弹追踪
将时间t取很小,使得连续的过程转化为离散的过程,循环多次,通过x轴,y轴的坐标变换,最后求得是否相撞
代码见:code6.m
(6)tsp商旅问题
计算机仿真生成相应路径,求出最小值
代码见:code7.m