⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psobaserealpopulation.java

📁 用Java实现的粒子群优化算法
💻 JAVA
字号:
// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   PSOBaseRealPopulation.java

package ci.ec.pso.real;

import ci.real.RealIndividual;
import java.io.PrintStream;

// Referenced classes of package ci.ec.pso.real:
//            PSORealIndividual

public class PSOBaseRealPopulation
{

    public PSOBaseRealPopulation()
    {
    }

    public PSOBaseRealPopulation(int i, int j)
    {
        populationSize = i;
        individualLength = j;
        realIndividual = new PSORealIndividual[i];
        for(int k = 0; k < i; k++)
            realIndividual[k] = new PSORealIndividual(j);

    }

    public PSOBaseRealPopulation(PSOBaseRealPopulation psobaserealpopulation)
    {
        populationSize = psobaserealpopulation.populationSize;
        individualLength = psobaserealpopulation.individualLength;
        realIndividual = new PSORealIndividual[populationSize];
        for(int i = 0; i < populationSize; i++)
        {
            realIndividual[i] = new PSORealIndividual(individualLength);
            realIndividual[i].copyof(psobaserealpopulation.realIndividual[i]);
        }

    }

    public static void main(String args[])
    {
        PSOBaseRealPopulation psobaserealpopulation = new PSOBaseRealPopulation(3, 4);
        psobaserealpopulation.initialization(10D);
        System.out.println("after initialization (maximum value=10):\n" + psobaserealpopulation);
        psobaserealpopulation.valueLimit(5D);
        System.out.println("after limit the value below 5:\n" + psobaserealpopulation);
        System.out.println("the 2rd elements:\n" + psobaserealpopulation.individualAt(1));
        psobaserealpopulation.individualAt(1).copyof(psobaserealpopulation.individualAt(2));
        System.out.println("replace 2rd with 3th\n" + psobaserealpopulation);
        psobaserealpopulation.multiply(0.5D);
        System.out.println("after multiply by 0.5:\n" + psobaserealpopulation);
    }

    public void valueLimit(double d)
    {
        for(int i = 0; i < populationSize; i++)
            realIndividual[i].valueLimit(d);

    }

    public void initialization(double d)
    {
        for(int i = 0; i < populationSize; i++)
            realIndividual[i].initialization(d);

    }

    public void initialization(double d, double d1)
    {
        for(int i = 0; i < populationSize; i++)
            realIndividual[i].initialization(d, d1);

    }

    public PSORealIndividual individualAt(int i)
    {
        if(i < 0 || i >= populationSize)
        {
            System.out.println("index out of bound\n");
            System.exit(0);
        }
        return realIndividual[i];
    }

    public int getPopulationSize()
    {
        return populationSize;
    }

    public int getIndividualLength()
    {
        return individualLength;
    }

    public void multiply(double d)
    {
        for(int i = 0; i < populationSize; i++)
            realIndividual[i].multiply(d);

    }

    public void add(PSOBaseRealPopulation psobaserealpopulation)
    {
        if(populationSize != psobaserealpopulation.populationSize || individualLength != psobaserealpopulation.individualLength)
        {
            System.out.println("add two different sizes of RealPopulation objects\n");
            System.exit(0);
        }
        for(int i = 0; i < populationSize; i++)
            realIndividual[i].add(psobaserealpopulation.realIndividual[i]);

    }

    public String toString()
    {
        String s = "";
        s = s + "population size : " + populationSize;
        s = s + "  individual length : " + individualLength + "\n";
        for(int i = 0; i < populationSize; i++)
            s = s + realIndividual[i].toString();

        return s;
    }

    protected int populationSize;
    protected int individualLength;
    protected PSORealIndividual realIndividual[];
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -