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帐户

如何删除Sql Server中的sa帐户    众所周知,在Ms Sql Server中有个绝对是网络安全中的隐患的帐号sa,系统管理员 (sa),默认情况下,它指派给固定服务器角色 sysadmin...
  • sclw0488
  • sclw0488
  • 2007年12月09日 23:33
  • 3071

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

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

SQL Server中sa帐号改名和删除的好方法

众所周知,在SQL中有个绝对是网络安全中的隐患的帐号sa,系统管理员 (sa),默认情况下,它指派给固定服务器角色 sysadmin,并不能进行更改。这个sa一般情况下是既不可以更改名称,也不可以删除...
  • szsbell
  • szsbell
  • 2008年04月08日 16:50
  • 620

SQL_server 2008添加Sa登录名

如何更改SQL Server 2008 登陆验证方式   下面的文章来源于网络,讲的是怎样配置SQL Server 2005登陆验证方式,但是内容同样适用于SQL Serve...
  • liuyixin01
  • liuyixin01
  • 2013年04月10日 17:08
  • 3251

SQLServer初次设置sa权限步骤

1、打开sql server2005,使用windows身份验证方式进行登陆。 2、点击安全性->登录名,双击“sa”选择属性,设置密码。 3、属性页下的“状态”属性,设置“授权”和“启用”。 ...
  • hao18945923290
  • hao18945923290
  • 2017年05月23日 08:13
  • 1263

IKE SA和IPSec SA的区别

http://blog.csdn.net/jiangwlee/article/details/7395903
  • bytxl
  • bytxl
  • 2014年06月30日 17:37
  • 1867

后缀数组(SA)模版

#include #include #include #include #include #include #define fo(i,a,b) for(i=a;i=b;i--) using names...
  • hzj1054689699
  • hzj1054689699
  • 2016年05月13日 20:45
  • 292

高级Linux SA需要会做的事情

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

SA权限的入侵及小议SA提权

本篇讲解一次SA权限的入侵并小议SA提权。 试在NB里面恢复CMDSHELL、OACREAT都没有成功,所以开启SQLSERVERAGENT ;exec master.dbo.xp_s...
  • heizistudio
  • heizistudio
  • 2012年11月28日 13:44
  • 530

SQL Serversa用户的启用及用户添加

1 打开Management Studio,在安全性下找到sa,右键选择属性在状态选项下,可以启用或禁用sa用户 在用户名右击新建用户 之后在数据库的安全性,用户名下新建用户,填写一个用户名,登录...
  • yinnan0422
  • yinnan0422
  • 2016年06月22日 10:26
  • 326
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SA
举报原因:
原因补充:

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