几何尺寸与公差论坛

 找回密码
 注册
查看: 2656|回复: 0

【转帖】模拟退火算法在连续极小化问题中的应用之matlab程序

[复制链接]
发表于 2008-11-18 00:34:45 | 显示全部楼层 |阅读模式
本程序实际上是把模拟退火过程引入单纯形法来求多元函数的极值,和用模拟退火算法求旅行熵问题有许多不同。获得本程序后,需要自行编制程序调低温度temper,重置iter,以满足个人的不同应用需要。~..~
amebsa为主程序;ran1为随机数产生程序。
程序简介如下:
    用模拟退火与Nelder和Mead的下降单纯形法相结合的方法求多元函数funk(x)的极小值,其中x(1...ndim)为一个ndim维向量。作为输入参数矩阵p(1...ndim+1,1...ndim)共有ndim+1行,每行均为一个ndim维向量,分别代表初始单纯形的各个顶点。amebsa的输入项还包括矢量y(1...ndim+1)、浮点数ftol和temptr,其中y的各个元素应当被初始化为函数funk在p的ndim+1个顶点的值;ftol为函数值所要达到的相对收敛容许限,一旦满足要求,程序将尽早返回;iter和temptr的意义分别是函数值的计算次数和温度。程序在某退火温度temptr处进行iter次函数值计算后返回。接下来的工作是根据退火进程调低温度temptr,重置iter并再次调用该程序(每次调用时其他参数保持不变)。如果iter以正值返回,则说明程序正常收敛。如果第一次调用时yb被初始化为一个很大的数,则yb和pb(1...dim)将依次返回已遇到的最佳函数值和最佳点。
http://www.5iai.com/cms/view.php?tid=1291&cid=15
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-4-26 09:06 , Processed in 0.033903 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表