模拟退火算法模块的简单使用

    科技2022-07-15  131

    模拟退火算法用于求解函数最值和相应的坐标,该坐标可以是任意维度。python的sko模块可以用来进行该算法 首先安装sko模块

    pip install scikit-opt

    通过指定待解决的函数形式和初始解,便可以求解最值

    from sko.SA import SA import cmath#引入可以计算复数的函数模块 #定义待求解的函数 def func(x): x1, x2, x3 = x return x1*complex(0,1)*cmath.sin(x2)+x3#complex(0,1)为一个虚数单位 #实例化算法,并加入初始解x0=[1, 1, 1] sa = SA(func=func, x0=[1, 1, 1]) #进行拟合 x_star, y_star = sa.fit() #生成最优解x和最优值y print(x_star, y_star)
    Processed: 0.014, SQL: 8