查看完整代码请点击http://www.daimapi.com/algorithm3_2/
代码利用Python3实现。
# -*- coding: utf-8 -*-
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
import math # 定义目标函数
def aimFunction(x):
y = x**3-60*x**2-4*x+6
return y
x = [i/10 for i in range(1000)]
y = [0 for i in range(1000)]
for i in range(1000):
y[i] = aimFunction(x[i])
plt.plot(x, y)
T = 1000 # 初始化温度
Tmin = 10 # 温度最小值
x = np.random.uniform(low=0, high=100) # 初始化x
k = 50 # 内循环次数
y = 0 # 初始化结果
t = 0 # 迭代次数
本文通过一个具体的Python实例,展示了如何使用模拟退火算法来寻找一个三次多项式函数的最小值。该算法从一个初始解开始,在一系列迭代过程中,通过接受劣解的概率逐渐减小的方式,最终逼近全局最优解。
3885

被折叠的 条评论
为什么被折叠?



