作者:川川菜鸟

数学建模学习(89):交叉熵优化算法(CEM)对多元函数寻优

一、算法简介

交叉熵方法是一种通用的启发式工具,用于解决复杂的估计和优化问题,基于Kullback-Leibler(或交叉熵)最小化。作为一种优化方法,它结合了许多现有的基于种群的优化启发式方法。假设解服从某个正态分布, 根据目标函数不断优化解,使其逐渐接近真实解的分布。

交叉熵解决单目标问题的流程:

  1. step1 : 初始化:生成大小为 N的随机样本 X1,X2,X3…计算U0.Q0
  2. step2 : 设置迭代次数t=1 ;
  3. step3 : 当 t<max_iter,进入循环:
    1)计算:求解的适应度,并按照适应度大小进行排序;
    2)选择:将适应度较大的个体选择放入精英解集合Neite
    p为精英集合采样率;
    3)更新:选取精英中的所有个体计算新的Ui和Qi
lock