• 大小: 541KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: 粒子群  TSP  

资源简介

粒子群优化算法解决旅行商(TSP)问题,求解全国31个省会城市的一次历遍的最短距离。代码可运行

资源截图

代码片段和文件信息

package pso;
import java.awt.*;
import java.awt.event.*;
import java.io.ByteArrayInputStream;
import java.io.InputStream;

import javax.swing.*;
import javax.swing.event.*;
public class Pso extends frame implements Runnable
{
    private static int particleNumber;  //粒子的数量
    private static int iterations;      //迭代的次数
    private static int k=1;             //记录迭代的次数
    final private static float C1=2;    //学习因子
    final private static float C2=2;
    final private static float WMIN=-200;
    final private static float WMAX=200;
    final private static float VMAX=200;
    private static float r1;           //随机数0-1之间
    private static float r2;
    private static float x[][];
    private static float v[][];
    private static float xpbest[][];
    private static float pbest[];      
    private static float gbest=0;
    private static float xgbest[];
    private static float w;           //惯性因子
    private static float s;
    private static float h;
    private static float fit[];
    public Sounds sound;
    
    //粒子群的迭代函数
public void lzqjs()
{
  
w=(float)(0.9-k*(0.9-0.4)/iterations);
        for(int i=0;i        {
                   fit[i]= (float)(1/(Math.pow(x[i][0]2)+Math.pow(x[i][1]2))); //求适值函数最大值
                   System.out.print(“粒子“+i+“本次适应值函数f为:“ + fit[i]);
                   System.out.println();
                   if(fit[i]>pbest[i])
                   {
                    pbest[i]=fit[i];
                    xpbest[i][0]=x[i][0];
                    xpbest[i][1]=x[i][1];
                   }
                   if(pbest[i]>gbest)
                   {
                    gbest=pbest[i];
                    xgbest[0]=xpbest[i][0];
                    xgbest[1]=xpbest[i][1];
                   }
         }
         for(int i=0;i         {
                   for(int j=0;j<2;j++)
                   {
                    //粒子速度和位置迭代方程:
                    v[i][j]=(float)(w*v[i][j]+C1*Math.random()*(xpbest[i][j]-x[i][j])+C2*Math.random()*(xgbest[j]-x[i][j]));
                   
                    x[i][j]=(float)(x[i][j]+v[i][j]);
                   
                   }
                System.out.print(“粒子“+i+“本次X1的速度变化幅度:“+v[i][0]+“;本次X2的速度变化幅度:“+v[i][1]);
                System.out.println();
             System.out.print(“粒子“+i+“本次X1为:“+x[i][0]+“;本次X2为:“+x[i][1]);
                System.out.println();
         }
}
public static void main(String[] args)
{

particleNumber=Integer.parseInt(JOptionPane.showInputDialog(“请输入粒子个数1-500)“));
iterations=Integer.parseInt(JOptionPane.showInputDialog(“请输入迭代次数“));
x=new float [particleNumber][2];
v=new float [particleNumber][2];
fit=new float [particleNumber];    //存储适值函数值
pbest=new float [particleNumber];  //存储整个粒子群的最有位置
xpbest=new float [particleNumber][2];
xgbest=new float [2];
for(int i=0;i {

//对数组的初始化操作

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        301  2013-12-23 17:04  粒子群算法\代码\PSO\.classpath

     文件        379  2013-12-23 17:04  粒子群算法\代码\PSO\.project

     文件        629  2013-12-23 17:04  粒子群算法\代码\PSO\.settings\org.eclipse.jdt.core.prefs

     文件     525316  2013-12-24 19:55  粒子群算法\代码\PSO\033_new.wav

     文件     507552  2013-12-24 20:20  粒子群算法\代码\PSO\050.WAV

     文件        521  2016-11-15 21:24  粒子群算法\代码\PSO\bin\pso\Pso$gbck.class

     文件       4987  2016-11-15 21:24  粒子群算法\代码\PSO\bin\pso\Pso.class

     文件       3477  2016-11-15 21:24  粒子群算法\代码\PSO\bin\pso\Sounds.class

     文件       5188  2016-11-14 22:05  粒子群算法\代码\PSO\src\pso\Pso.java

     文件       2872  2013-12-24 19:59  粒子群算法\代码\PSO\src\pso\Sounds.java

     文件        258  2010-07-18 16:19  粒子群算法\代码\TSP代码实现\liwei\Arrange.m

     文件        624  2010-07-18 16:19  粒子群算法\代码\TSP代码实现\liwei\GenerateChangeNums.m

     文件        159  2010-07-18 16:19  粒子群算法\代码\TSP代码实现\liwei\HoldByOdds.m

     文件        297  2010-07-18 16:20  粒子群算法\代码\TSP代码实现\liwei\PathDistance.m

     文件        418  2010-07-18 16:20  粒子群算法\代码\TSP代码实现\liwei\PathExchange.m

     文件        238  2013-12-25 15:41  粒子群算法\代码\TSP代码实现\liwei\PathPlot.m

     文件       3348  2013-12-25 18:38  粒子群算法\代码\TSP代码实现\liwei\pso_tsp.m

     目录          0  2016-11-15 21:24  粒子群算法\代码\PSO\bin\pso

     目录          0  2015-10-04 21:58  粒子群算法\代码\PSO\src\pso

     目录          0  2015-10-04 21:58  粒子群算法\代码\PSO\.settings

     目录          0  2016-11-15 21:24  粒子群算法\代码\PSO\bin

     目录          0  2015-10-04 21:58  粒子群算法\代码\PSO\src

     目录          0  2015-10-04 21:58  粒子群算法\代码\TSP代码实现\liwei

     目录          0  2015-10-04 21:58  粒子群算法\代码\PSO

     目录          0  2015-10-04 21:58  粒子群算法\代码\TSP代码实现

     目录          0  2015-10-04 21:58  粒子群算法\代码

     目录          0  2018-01-25 21:21  粒子群算法

----------- ---------  ---------- -----  ----

              1056564                    27



............此处省略0个文件信息

评论

共有 条评论