全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创模拟退火算法 /* 模拟退火法求函数f(x,y) = 5sin(xy) + x2 + y2的最小值* 日期:2004-4-16* 作者:ARMYLAU*EMAIL:* 结束条件为两次最优解之差小于某小量*/using System;namespace SimulateAnnealing class Class1 / 要求最优值的目标函数 static double ObjectFunction( double x, double y ) double z = 0.0; z = 5.0 * Math.Sin(x*y) + x*x + y*y; return z; STAThread static void Main(string args) / 搜索的最大区间 const double XMAX = 4; const double YMAX = 4; / 冷却表参数 int MarkovLength = 10000; / 马可夫链长度 double DecayScale = 0.95; / 衰减参数 double StepFactor = 0.02; / 步长因子 double Temperature = 100; / 初始温度 double Tolerance = 1e-8; / 容差 double PreX,NextX; / prior and next value of x double PreY,NextY; / prior and next value of y double PreBestX, PreBestY; / 上一个最优解 double BestX,BestY; / 最终解 double AcceptPoints = 0.0; / Metropolis过程中总接受点 Random rnd = new Random(); / 随机选点 PreX = -XMAX * rnd.NextDouble() ; PreY = -YMAX * rnd.NextDouble(); PreBestX = BestX = PreX; PreBestY = BestY = PreY; / 每迭代一次退火一次(降温), 直到满足迭代条件为止 do Temperature *=DecayScale; AcceptPoints = 0.0; / 在当前温度T下迭代loop(即MARKOV链长度)次 for (int i=0;i / 1) 在此点附近随机选下一点 do NextX = PreX + StepFactor*XMAX*(rnd.NextDouble()-0.5); NextY = PreY + StepFactor*YMAX*(rnd.NextDouble()-0.5); while ( !(NextX = -XMAX & NextX = -YMAX & NextY / 2) 是否全局最优解 if (ObjectFunction(BestX,BestY) ObjectFunction(NextX,NextY) / 保留上一个最优解 PreBestX =BestX; PreBestY = BestY; / 此为新的最优解 BestX=NextX; BestY=NextY; / 3) Metropolis过程 if( ObjectFunction(PreX,PreY) - ObjectFunction(NextX,NextY) 0 ) / 接受, 此处lastPoint即下一个迭代的点以新接受的点开始 PreX=NextX; PreY=NextY; AcceptPoints+; else double change = -1 * ( ObjectFunction(NextX,NextY) - ObjectFunction(PreX,PreY) ) / Temperature ; if( Math.Exp(change) rnd.NextDouble() ) PreX=NextX; PreY=NextY; AcceptPoints+; / 不接受, 保存原解 Console.WriteLine(0,1,2,3,PreX, PreY, ObjectFunction ( PreX, PreY ), Temperature); while( Math.Abs( ObjectFunction( BestX,BestY) ObjectFunction (PreBestX, PreBestY) Tolerance ); C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 917-2026公路路线标识规则和国道编号
- T/SDJSXH 07-2024塔式起重机自动驾驶系统应用技术规程
- T/JX 001-2024喷水织机行业中水回用水质要求
- T/CCSAS 052-2025三氯氢硅还原法多晶硅生产安全技术规范
- T/CCPA 74-2025公路与市政工程预制混凝土构件智能工厂技术要求
- T/CSMT HJ005-2026产品碳足迹数据质量溯源性要求
- GB/T 48281-2026航空器操纵钢丝绳套管尺寸与载荷
- 2025~2026学年广西壮族自治区玉林市陆川县人教版六年级上册11月期中数学试卷【附答案】
- 甘肃省定西市2027届七上数学期末调研模拟试题含解析
- PHP常用复试面试题及详细答案(真实职场版)
- 阿拉善盟教师招聘真题2025
- 2026年法学商法反垄断法竞争行为试题及答案
- 湖南省长沙市2026-2027学年高一上学期期中考试语文自编卷(范围:统编版必修一1-4单元)(原卷版)
- 2026年食品标签标识规范业务考试试卷试题及答案
- GJB 151C-2024 军用设备和分系统 电磁发射和敏感度要求与测量
- ISO9001-2026质量管理体系标准培训
- 2026版公路水运工程试验检测专业技术人员职业资格考试《桥隧工程一本通》
- IPC-JEDEC J-STD-020F-2024 中文版(非气密固态表面贴装器件的潮湿 - 再流焊敏感度分级)
- 2025浙江鹿城农商银行春季招聘笔试历年典型考题及考点剖析附带答案详解
- 2026国家电投集团所属国家核电招聘(41人)笔试历年典型考点题库附带答案详解
- 降本增效实用施工措施图集
评论
0/150
提交评论