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

📄 psorealindividual.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:   PSORealIndividual.java

package ci.ec.pso.real;

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

public class PSORealIndividual extends ECRealIndividual
{

    public PSORealIndividual()
    {
    }

    public PSORealIndividual(int i)
    {
        super(i);
    }

    public PSORealIndividual(double ad[])
    {
        super(ad);
    }

    public static void main(String args[])
    {
        PSORealIndividual psorealindividual = new PSORealIndividual(3);
        System.out.println("firt real individual before initialization \n" + psorealindividual);
        psorealindividual.initialization(5D);
        System.out.println("first real individual after initialization \n" + psorealindividual);
        PSORealIndividual psorealindividual1 = new PSORealIndividual(3);
        System.out.println("second real individual before copy \n" + psorealindividual1);
        psorealindividual1.copyof(psorealindividual);
        System.out.println("second real individual after copy \n" + psorealindividual1);
        System.out.println("first real individual after copy \n" + psorealindividual);
        PSORealIndividual psorealindividual2 = new PSORealIndividual(3);
        psorealindividual2.addTwo(psorealindividual, psorealindividual1);
        System.out.println("third real individual \n" + psorealindividual2);
        psorealindividual2.multiply(2D);
        System.out.println("third real individual multiplied by 2\n" + psorealindividual2);
        psorealindividual2.divide(2D);
        System.out.println("third real individual divided by 2 \n" + psorealindividual2);
        psorealindividual2.add(psorealindividual1);
        System.out.println("third real individual add with second \n" + psorealindividual2);
        PSORealIndividual psorealindividual3 = new PSORealIndividual(3);
        psorealindividual3.substractTwo(psorealindividual2, psorealindividual1);
        System.out.println("fourth equals = third  - second \n" + psorealindividual3);
        psorealindividual2.substract(psorealindividual1);
        System.out.println("third equals = third -second \n" + psorealindividual2);
        psorealindividual3 = psorealindividual2.velocityUpdateStep(psorealindividual, psorealindividual1);
        System.out.println("ri4=2*rand()(ri3-ri1)) + 2*rand()(ri3-ri2))  " + psorealindividual3);
        System.out.println("the length of ri4 = " + psorealindividual3.getLength() + "\n");
        double ad[] = psorealindividual3.getElements();
        System.out.println("the elements of ri4 is :\n" + ad[2]);
        PSORealIndividual psorealindividual4 = new PSORealIndividual(ad);
        System.out.println("ri5: \n" + psorealindividual4);
    }

    public PSORealIndividual velocityUpdateStep(PSORealIndividual psorealindividual, PSORealIndividual psorealindividual1)
    {
        PSORealIndividual psorealindividual2 = new PSORealIndividual(length);
        if(length != ((RealIndividual) (psorealindividual)).length || length != ((RealIndividual) (psorealindividual1)).length)
        {
            System.out.println("try to calculate velocity update step from PSORealIndividuals with different lengths\n");
            System.exit(0);
        } else
        {
            psorealindividual2.substractTwo(psorealindividual, this);
            psorealindividual2.multiply(2D * Math.random());
            PSORealIndividual psorealindividual3 = new PSORealIndividual(length);
            psorealindividual3.substractTwo(psorealindividual1, this);
            psorealindividual3.multiply(2D * Math.random());
            psorealindividual2.add(psorealindividual3);
        }
        return psorealindividual2;
    }
}

⌨️ 快捷键说明

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