metropolis算法(eda计算方法)

伏羲号

1. Monte Carlo方法

metropolis算法(eda计算方法)

1946年,在洛斯阿拉莫斯科学实验室工作的John von Neumann,Stan Ulam和Nick Metropolis编制了Metropolis算法,也称为Monte Carlo方法。 Metropolis算法旨在通过模仿随机过程,来得到具有难以控制的大量的自由度的数值问题和具有阶乘规模的组合问题的近似解法。数字计算机是确定性问题的计算的强有力工具,但是对于随机性(不确定性)问题如何当时并不知晓。通过monte Carlo方法,可以在有效的时间内近似得到最优解。

在EDA领域,Monte Carlo算法在电路仿真等多个领域有应用。

2. 线性规划的单纯形方法

1947年,兰德公司的Grorge Dantzig创造了线性规划的单纯形方法。就其广泛的应用而言,Dantzig算法一直是最成功的算法之一。线性规划对于那些要想在经济上站住脚,同时又有赖于是否具有在预算和其他约束条件下达到最优化的能力的工业界,有着决定性的影响(当然,工业中的“实际”问题往往是非线性的;使用线性规划有时候是由于估计的预算,从而简化了模型而促成的)。单纯形法是一种能达到最优解的精细的方法。尽管从理论上可以证明它是指数级而非线性的,但在实践中该算法是高度有效的——它本身说明了有关计算的本质的一些有趣的事情:理论和实践不一定完全一致。

在EDA领域,布局布线工具经常需要用到线性规划或者二次规划求解。

3. Krylov子空间迭代法

模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。

根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。

直接法 不难看出,若函数 可以表示成初等函数,随机变量 服从 区间上的均匀分布时,变换后的随机变量 满足某指定分布,则可以使用直接法生成随机变量 。

间接法 舍选法:(无法通过直接变换生成随机变量) 算法改进 观察发现,上面的算法中并没有用到区域 , 条件 的重要性: Metropolis 算法: 随机样本生成的发生。

生成的随机变量 有以下的累积分布函数 注意; 如果定义随机变量 则 服从参数为 的几何分布,且 。 在上例中我们也可以用以下方法生成贝塔随机变量: 1)生成 区间上服从均匀分布的随机变量 和独 立随机变量 ; 2)如果 ,则令 ,否则返回 步骤1)。 设 ,其中 有相同的支撑集。 1)生成 ,令 :对 2)生成 区间上服从。

20世纪40年代,在冯·诺伊曼,斯塔尼斯拉夫·乌拉姆和尼古拉斯·梅特罗波利斯在洛斯阿拉莫斯国家实验室为核武器计划工作时,发明了蒙特卡罗方法。因为乌拉姆的叔叔经常在摩纳哥的蒙特卡洛赌场输钱得名,而蒙特卡罗方法正是以概率为基础的方法。

与它对应的是确定性算法。

蒙特卡罗方法在金融工程学、宏观经济学、生物医学、计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)机器学习等领域应用广泛。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,94人围观)

还没有评论,来说两句吧...