SA

转载 2004年07月09日 02:50:00

退火概念是80年代初期研究组合优化问题时提出的,该方法解决优化问题
的出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似
性。在对固体物质进行退火处理时,通常是先将它加温熔化,使其中的粒子
可以自由运动,然后降温,粒子就逐渐形成低能态的晶体。如果凝结点附近
温度下降足够慢,那么固体物质一定能够形成最低能量的状态。模拟退火就
是模拟了这一过程,从而求得组合优化问题的全局(近似)最优解。

设E[{xi}]表示某系统在微观状态{xi}({xi}为一组状态变量,如速度、
位置等)下的内能,对于给定温度T,如果系统处于热平衡状态,那么
E[{xi}]将服从Boltzmann分布,分布函数为:

f = C(T)e^(-E[{xi}]/kT)
C(T)-1/(e^(-E[{x1}]/kT)+e^(-E[{x2}]/kT)+...+e^(-E[{xn}]/kT))

其中k是Boltzmann常数。

T下降将导致内能E下降,如果T下降速度足够慢,那么系统就可以保持热
平衡,使其内能在该温度下达到最低值。当T=0(开氏温度)时,内能将达到
最小值。这样的降温过程就是退火过程。


在退火过程中经常要用Metropolis抽样,它可以用来模拟温度T下系统的
热平衡。

随机选一初始状态{xi}, 然后随机地给系统加一个扰动{delta xi},则
内能增量为:

delta E = E[{xi+delta xi}] - E[{xi}]

如果delta E<0,那么这个扰动就将被接受,否则该扰动将按概率
e^(-delta E/kT) 被接受。如果扰动被接受,那么就用{xi+delta xi}代替
原来的{xi};否则就产生一个新的扰动......

如此反复,则{xi}将逐渐满足前述Boltzmann分布。

如果让T从一个足够大的值逐渐下降,对于每个T都用Metropolis抽样使
系统热平衡,那么到T=0时,就实现了模拟退火,E[{xi}]达到最小值。


计算机实现模拟退火的思想是:将每种可能的组合状态作为{xi},E作为
目标函数,T作为控制参数,令T逐渐减小为0,从而得到目标函数最优值。

基本步骤为:

初始化:对初始状态{xi},取初始值T(0),计算目标函数E[{xi}];
1. 产生随机扰动,计算delta E = E[{xi+delta xi}] - E[{xi}]
2. 若delta E<0, goto 4,否则产生[0,1]上的一个均匀分布随机数y;
3. 若e^(-E/T)<=y,goto 1 ;
4. 用{xi+delta xi}代替{xi},E+delta E代替E;
5. 检验Metropolis抽样是否稳定,若不稳定,goto 1;
6. T减小;
7. 是否满足目标,是则结束,否则goto 1。


模拟退火是否能达到E的最小值决定于T(0)是否足够大,和T是否下降得
足够慢,以及对于每个T,Metropolis抽样是否稳定。

模拟退火的典型特征是除了接受目标函数的改进外,还接受一个衰减极限,
当T较大时,接受较大的衰减,当T逐渐减小时,接受较小的衰减,当T为0
时,就不再接受衰减。这一特征意味着模拟退火与局部搜索相反,它能避开
局部极小,并且还保持了局部搜索的通用性和简单性。

值得注意的是,当T为0时,模拟退火就成为局部搜索的一个特例。

SQL Server:轻松解决令你头疼的sa登录

相信用过SQLServer的朋友,很多人都用sa登录,但是很多时候都遇到问题,比如新装的SQLServer,等等!今天小编就和大家一起分享下如何解决这些令人头疼的问题。...
  • u012829124
  • u012829124
  • 2016年01月03日 22:08
  • 2399

Linux 信号应用之黑匣子程序设计

1. 何为黑匣子程序及其必要性 飞机上面的黑匣子用于飞机失事后对事故的时候调查,同理,程序的黑匣子用于程序崩溃后对崩溃原因进程定位。其实Linux提供的core dump机制就是一种黑匣子(core...
  • andylauren
  • andylauren
  • 2017年04月05日 21:58
  • 220

IPSec SA安全联盟

 IPSec SA安全联盟 目前IMS中在UE与P-CSCF之间唯一的安全机制为IPSecSA,由于IPSecSA的建立是基于AKA鉴权获取的密钥,每次重新认证过程都需要建立新的SA,...
  • liujianfeng1984
  • liujianfeng1984
  • 2014年06月27日 13:23
  • 5268

高级Linux SA需要会做的事情

高级Linux SA需要会做的事情: linux---------系统安装(光盘或自动化安装) linux---------系统常用工具安装(sudo,ntp,yum,rsync,lrz...
  • qq_36891418
  • qq_36891418
  • 2016年12月10日 00:18
  • 193

Linux系统故障排除

Linux系统故障排除 话说软件项目的一般流程是:设计、编码、调优、上线。调优过程中经常遇到系统性能不够的时候,但是话说回来性能不好也正常,如果随便写点代码性能就牛X的一塌糊涂,可能也就不需要那么多的...
  • figo_cui
  • figo_cui
  • 2015年08月10日 09:46
  • 2051

SQL_Server_2012修改sa密码的方法

转载自:http://lichunlong2008.blog.163.com/blog/static/310725492012102532530995/   1、 先用Window身份验证方式登陆...
  • sinat_29581293
  • sinat_29581293
  • 2016年05月11日 18:45
  • 10053

安全关联及基本问题

安全关联-SA创建步骤 1、通过像IKE这样的密钥管理协议在通信对等方之间协商而生成 2、当一个SA协商完成后,两个对等方都在其安全关联数据库(SAD)中存储该SA参数 3、SA具有一定的生存期...
  • wsyzxpz
  • wsyzxpz
  • 2015年11月21日 18:45
  • 694

IPsec SA 创建步骤——IKE协议

http://hi.baidu.com/wjjuseezugdgkre/item/08e82ce8dade97226dabb80e IPsec SA creation steps There ar...
  • bytxl
  • bytxl
  • 2013年09月16日 09:00
  • 2537

添加修改sa用户(数据库授权总结)

1、更改登录方式为混合验证方式 操作步骤为:   1. 打开企业管理器,依次展开服务器组,用右键单击软件使用的服务器。   2. 在弹出的快捷菜单,执行“属性”命令,出现“SQL S...
  • nzzl54
  • nzzl54
  • 2015年06月27日 22:50
  • 2099

SA(模拟退火)优化算法MATLAB源码详细中文注解

以优化SVM算法的参数c和g为例,对SA(模拟退火)算法MATLAB源码进行了逐行中文注解。...
  • u013337691
  • u013337691
  • 2016年09月30日 16:24
  • 831
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SA
举报原因:
原因补充:

(最多只允许输入30个字)