啊???
查看原帖
啊???
552688
clx201022楼主2023/11/26 11:56
void SA()
{
      for (register double zzz = 0, t = T_MAX; t >= T_MIN; t *= T_STEP, zzz = 0) {
    for (register int i = 1; i <= n + 1; i++) {
      dis[i] = distance_clac(wer, p[i]);
      zzz += dis[i];
    }
    zzz /= n + 1;  // 平均距离
    if(zzz == 0)
      continue;
    for (int i = 1; i <= n; i++)
      delta[i] = 0;  // 初始化
    for (int i = 1; i <= n + 1; i++)
      for (int j = 1; j <= n; j++)
        delta[j] += (dis[i] - zzz) / zzz * -(wer[j] - p[i][j]);
        /*差的占比,差占多了就多挪点*/
    // 理想情况:差:平均距离=维度需要挪动的距离:维度差
    for (int i = 1; i <= n; i++)
      wer[i] += delta[i] /**t*// 2;
  }//???
}
2023/11/26 11:56
加载中...