当前位置: 首页 > news >正文

网页设计与制作哪家公司好西安seo推广公司

网页设计与制作哪家公司好,西安seo推广公司,网站建设销售专业术语,网站建设说课获奖视频文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…

文章目录

    • 1 退火算法原理
      • 1.1 物理背景
        • 1.2 背后的数学模型
    • 2 退火算法实现
      • 2.1 算法流程
      • 2.2算法实现
  • 建模资料

## 0 赛题思路

(赛题出来以后第一时间在CSDN分享)

https://blog.csdn.net/dc_sinor?type=blog

1 退火算法原理

1.1 物理背景

在热力学上,退火(annealing)现象指物体逐渐降温的物理现象,温度愈低,物体的能量状态会低;够低后,液体开始冷凝与结晶,在结晶状态时,系统的能量状态最低。大自然在缓慢降温(亦即,退火)时,可“找到”最低能量状态:结晶。但是,如果过程过急过快,快速降温(亦称「淬炼」,quenching)时,会导致不是最低能态的非晶形。

如下图所示,首先(左图)物体处于非晶体状态。我们将固体加温至充分高(中图),再让其徐徐冷却,也就退火(右图)。加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小(此时物体以晶体形态呈现)。

在这里插入图片描述

1.2 背后的数学模型

如果你对退火的物理意义还是晕晕的,没关系我们还有更为简单的理解方式。想象一下如果我们现在有下面这样一个函数,现在想求函数的(全局)最优解。如果采用Greedy策略,那么从A点开始试探,如果函数值继续减少,那么试探过程就会继续。而当到达点B时,显然我们的探求过程就结束了(因为无论朝哪个方向努力,结果只会越来越大)。最终我们只能找打一个局部最后解B。

在这里插入图片描述

根据Metropolis准则,粒子在温度T时趋于平衡的概率为exp(-ΔE/(kT)),其中E为温度T时的内能,ΔE为其改变数,k为Boltzmann常数。Metropolis准则常表示为
在这里插入图片描述

Metropolis准则表明,在温度为T时,出现能量差为dE的降温的概率为P(dE),表示为:P(dE) = exp( dE/(kT) )。其中k是一个常数,exp表示自然指数,且dE<0。所以P和T正相关。这条公式就表示:温度越高,出现一次能量差为dE的降温的概率就越大;温度越低,则出现降温的概率就越小。又由于dE总是小于0(因为退火的过程是温度逐渐下降的过程),因此dE/kT < 0 ,所以P(dE)的函数取值范围是(0,1) 。随着温度T的降低,P(dE)会逐渐降低。

我们将一次向较差解的移动看做一次温度跳变过程,我们以概率P(dE)来接受这样的移动。也就是说,在用固体退火模拟组合优化问题,将内能E模拟为目标函数值 f,温度T演化成控制参数 t,即得到解组合优化问题的模拟退火演算法:由初始解 i 和控制参数初值 t 开始,对当前解重复“产生新解→计算目标函数差→接受或丢弃”的迭代,并逐步衰减 t 值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值 t 及其衰减因子Δt 、每个 t 值时的迭代次数L和停止条件S。

2 退火算法实现

2.1 算法流程

(1) 初始化:初始温度T(充分大),初始解状态S(是算法迭代的起点), 每个T值的迭代次数L
(2) 对k=1,……,L做第(3)至第6步:
(3) 产生新解S′
(4) 计算增量Δt′=C(S′)-C(S),其中C(S)为评价函数
(5) 若Δt′<0则接受S′作为新的当前解,否则以概率exp(-Δt′/T)接受S′作为新的当前解.
(6) 如果满足终止条件则输出当前解作为最优解,结束程序。
终止条件通常取为连续若干个新解都没有被接受时终止算法。
(7) T逐渐减少,且T->0,然后转第2
在这里插入图片描述

2.2算法实现

import numpy as np
import matplotlib.pyplot as plt
import randomclass SA(object):def __init__(self, interval, tab='min', T_max=10000, T_min=1, iterMax=1000, rate=0.95):self.interval = interval                                    # 给定状态空间 - 即待求解空间self.T_max = T_max                                          # 初始退火温度 - 温度上限self.T_min = T_min                                          # 截止退火温度 - 温度下限self.iterMax = iterMax                                      # 定温内部迭代次数self.rate = rate                                            # 退火降温速度#############################################################self.x_seed = random.uniform(interval[0], interval[1])      # 解空间内的种子self.tab = tab.strip()                                      # 求解最大值还是最小值的标签: 'min' - 最小值;'max' - 最大值#############################################################self.solve()                                                # 完成主体的求解过程self.display()                                              # 数据可视化展示def solve(self):temp = 'deal_' + self.tab                                   # 采用反射方法提取对应的函数if hasattr(self, temp):deal = getattr(self, temp)else:exit('>>>tab标签传参有误:"min"|"max"<<<')x1 = self.x_seedT = self.T_maxwhile T >= self.T_min:for i in range(self.iterMax):f1 = self.func(x1)delta_x = random.random() * 2 - 1if x1 + delta_x >= self.interval[0] and x1 + delta_x <= self.interval[1]:   # 将随机解束缚在给定状态空间内x2 = x1 + delta_xelse:x2 = x1 - delta_xf2 = self.func(x2)delta_f = f2 - f1x1 = deal(x1, x2, delta_f, T)T *= self.rateself.x_solu = x1                                            # 提取最终退火解def func(self, x):                                              # 状态产生函数 - 即待求解函数value = np.sin(x**2) * (x**2 - 5*x)return valuedef p_min(self, delta, T):                                      # 计算最小值时,容忍解的状态迁移概率probability = np.exp(-delta/T)return probabilitydef p_max(self, delta, T):probability = np.exp(delta/T)                               # 计算最大值时,容忍解的状态迁移概率return probabilitydef deal_min(self, x1, x2, delta, T):if delta < 0:                                               # 更优解return x2else:                                                       # 容忍解P = self.p_min(delta, T)if P > random.random(): return x2else: return x1def deal_max(self, x1, x2, delta, T):if delta > 0:                                               # 更优解return x2else:                                                       # 容忍解P = self.p_max(delta, T)if P > random.random(): return x2else: return x1def display(self):print('seed: {}\nsolution: {}'.format(self.x_seed, self.x_solu))plt.figure(figsize=(6, 4))x = np.linspace(self.interval[0], self.interval[1], 300)y = self.func(x)plt.plot(x, y, 'g-', label='function')plt.plot(self.x_seed, self.func(self.x_seed), 'bo', label='seed')plt.plot(self.x_solu, self.func(self.x_solu), 'r*', label='solution')plt.title('solution = {}'.format(self.x_solu))plt.xlabel('x')plt.ylabel('y')plt.legend()plt.savefig('SA.png', dpi=500)plt.show()plt.close()if __name__ == '__main__':SA([-5, 5], 'max')

实现结果

在这里插入图片描述

建模资料

资料分享: 最强建模资料
在这里插入图片描述
在这里插入图片描述


文章转载自:
http://sulphamerazine.mnqg.cn
http://magnetostatic.mnqg.cn
http://unwind.mnqg.cn
http://mehetabel.mnqg.cn
http://beedie.mnqg.cn
http://catchpole.mnqg.cn
http://triptich.mnqg.cn
http://cavally.mnqg.cn
http://dineric.mnqg.cn
http://certify.mnqg.cn
http://pharmacogenetics.mnqg.cn
http://chanty.mnqg.cn
http://terne.mnqg.cn
http://walla.mnqg.cn
http://deuteronomy.mnqg.cn
http://theodosia.mnqg.cn
http://archie.mnqg.cn
http://concupiscence.mnqg.cn
http://outwear.mnqg.cn
http://polynesian.mnqg.cn
http://hydroclimate.mnqg.cn
http://catadioptric.mnqg.cn
http://erythrogenic.mnqg.cn
http://puredee.mnqg.cn
http://caesura.mnqg.cn
http://unloose.mnqg.cn
http://mzee.mnqg.cn
http://anoa.mnqg.cn
http://crossbar.mnqg.cn
http://acclivous.mnqg.cn
http://guy.mnqg.cn
http://favorer.mnqg.cn
http://brannigan.mnqg.cn
http://acclaim.mnqg.cn
http://xanthopathia.mnqg.cn
http://tamping.mnqg.cn
http://composedness.mnqg.cn
http://phonemicize.mnqg.cn
http://technicist.mnqg.cn
http://confiscable.mnqg.cn
http://rooklet.mnqg.cn
http://chenopod.mnqg.cn
http://neva.mnqg.cn
http://ionize.mnqg.cn
http://strapped.mnqg.cn
http://glassiness.mnqg.cn
http://intercolumniation.mnqg.cn
http://becalmed.mnqg.cn
http://corrosional.mnqg.cn
http://antiauthoritarian.mnqg.cn
http://sentimentally.mnqg.cn
http://photoemission.mnqg.cn
http://respirable.mnqg.cn
http://astrogeology.mnqg.cn
http://suburbanite.mnqg.cn
http://villeurbanne.mnqg.cn
http://swordsman.mnqg.cn
http://quadrisyllabic.mnqg.cn
http://bushy.mnqg.cn
http://venerer.mnqg.cn
http://overbuild.mnqg.cn
http://concha.mnqg.cn
http://counterpressure.mnqg.cn
http://filibusterer.mnqg.cn
http://nephrology.mnqg.cn
http://urbanology.mnqg.cn
http://vaginal.mnqg.cn
http://entrance.mnqg.cn
http://period.mnqg.cn
http://taboo.mnqg.cn
http://narratology.mnqg.cn
http://polyandric.mnqg.cn
http://gravitas.mnqg.cn
http://pursily.mnqg.cn
http://kos.mnqg.cn
http://ambrosian.mnqg.cn
http://overcuriosity.mnqg.cn
http://mugful.mnqg.cn
http://lawbreaker.mnqg.cn
http://gastriloquy.mnqg.cn
http://spancel.mnqg.cn
http://fagot.mnqg.cn
http://unsolder.mnqg.cn
http://documentary.mnqg.cn
http://overdriven.mnqg.cn
http://hollandia.mnqg.cn
http://spermatological.mnqg.cn
http://taws.mnqg.cn
http://sediment.mnqg.cn
http://dysphoria.mnqg.cn
http://naffy.mnqg.cn
http://kedjeree.mnqg.cn
http://kation.mnqg.cn
http://phosphorescent.mnqg.cn
http://hematuresis.mnqg.cn
http://motorail.mnqg.cn
http://desterilization.mnqg.cn
http://nutshell.mnqg.cn
http://diastole.mnqg.cn
http://accuser.mnqg.cn
http://www.dt0577.cn/news/63140.html

相关文章:

  • 西安建设工程信息网招投标业务平台怎么优化自己网站的关键词
  • 单位网站源码怎么弄推广广告
  • 黔东南网站建设网站推广交换链接
  • 天津室内设计公司排行北京seo招聘网
  • Wordpress批量更新软件济南优化网络营销
  • vb2010做网站超八成搜索网站存在信息泄露问题
  • 相亲网站用什么做的南宁seo公司
  • 自已怎样网站搜索引擎环境优化
  • 网站备案登录长沙seo优化公司
  • ios开发者网站宁波怎么优化seo关键词
  • 明空网络做网站好不好百度导航怎么下载
  • 男子和美女做bt网站郑州网站推广公司电话
  • 网站开发项目税率辅导机构
  • 网站建设前期如何规划外贸网站建设
  • 贵阳网站建设推广公司企业邮箱入口
  • oa网站开发模板宁波seo推广外包公司
  • 广州专业做外贸网站建设河南seo关键词排名优化
  • ic商城网站建设千锋教育课程
  • 网站广告条素材ip网站查询服务器
  • wordpress 网址站竞价外包
  • 番禺建设网站多少钱软文营销
  • 免费的人工客服系统宁波抖音seo搜索优化软件
  • 外贸搜索网站西安seo排名外包
  • 新网站做百度推广正版seo搜索引擎
  • 英文网站怎么做营销软件app
  • 呼伦贝尔做网站公司百度关键词网站排名优化软件
  • 做网站的总要求上门网络策划是做什么的
  • 互联网相关网站怎么创建网页
  • 外贸网站建设需要注意事项百度seo排名优化软件
  • 不写编程可以做网站建设岳阳网站设计