• 大小: 40KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: Java
  • 标签: 蜂群  FJSP  

资源简介

人工蜂群算法解决柔性作业车间调度问题,用Java写的。参考论文:陈少, 吉卫喜, 仇永涛, et al. 改进人工蜂群算法求解柔性作业车间调度问题[J]. 组合机床与自动化加工技术, 2018, No.531(05):166-169.

资源截图

代码片段和文件信息

import org.apache.poi.ss.formula.functions.T;
import util.Pro;

import java.util.ArrayList;

public class ABC {
    int POPSIZE=100;
    int FoodNum=POPSIZE/2;
    int limit=100;
    int maxCycle=2500;
    int [][] Time;
    Food[] food;
    int bestnum;

    int best_time;
    double r=0.5;//保留比


    ABC(int p int m int w ArrayListpronumint [][] time)
    {
        food=new Food[FoodNum];
        Time=time;
        for(int i=0;i    }

    public void Init()
    {
        int min_time=Integer.MAX_VALUE;
        for(int i=0;i        {
            food[i].Init(Time);
            food[i].CalTime(Time);
            if(food[i].getTime()            {
                bestnum=i;
                min_time=food[i].getTime();
            }
        }
        best_time=food[bestnum].getTime();
    }

    public void EmployedBees()
    {
        Order();

        //先进
        for (int i = 0; i             Food temp=food[i].clone();
            food[i].Swap();
            food[i].Insert();
            food[i].CalTime(Time);
            if(temp.getTime()        }

        //后进
        for (int i = FoodNum/2; i < FoodNum; i++) {
            Food temp=food[i].clone();
            Cross(food[i]food[bestnum].clone());
            food[i].Reserse();
            food[i].CalTime(Time);
            if(temp.getTime()        }



        /*Food best=food[bestnum].clone();
        for (int i = 0; i < FoodNum; i++) {
            Food temp=food[i].clone();
            Cross(food[i]best.clone());
            food[i].CalTime(Time);
            if(temp.getTime()        }

        for (int i = 0; i < FoodNum; i++) {
            Food temp=food[i].clone();
            food[i].NewIndividual(Time);
            food[i].CalTime(Time);
            if(temp.getTime()        }
        FindBest();*/
    }

    public void OnlookerBees()
    {
        //锦标赛选择一个食物源
        int ijkmin;
        do{
            i=(int)(Math.random()*1000) % FoodNum;
            j=(int)(Math.random()*1000) % FoodNum;
            k=(int)(Math.random()*1000) % FoodNum;
        }while (i!=j&&i!=k&&j!=k);
        min=food[i].getTime()        min=food[k].getTime()
        //随机选一个个体交叉
        do{
            i=(int)(Math.random()*1000) % FoodNum;
        }while (i!=min);
        Food temp_i=food[i].clone();
        Food temp_min=food[min].clone();
        Cross(temp_itemp_min);
        temp_i.CalTime(Time);
        temp_min.CalTime(Time);
        if(temp_i.getTime()        if(temp_min.getTime()
        FindBest();
    }

    //POX方

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-08-20 14:53  蜂群算法\
     目录           0  2019-08-20 14:52  蜂群算法\ABC\
     目录           0  2019-08-20 14:52  蜂群算法\ABC\.idea\
     文件         734  2019-08-05 15:45  蜂群算法\ABC\.idea\compiler.xml
     文件          97  2019-08-05 15:45  蜂群算法\ABC\.idea\description.html
     文件         196  2019-08-05 15:46  蜂群算法\ABC\.idea\encodings.xml
     文件         409  2019-08-05 15:46  蜂群算法\ABC\.idea\misc.xml
     文件         253  2019-08-05 15:46  蜂群算法\ABC\.idea\modules.xml
     文件        8915  2019-08-09 10:29  蜂群算法\ABC\.idea\uiDesigner.xml
     文件         173  2019-08-05 15:45  蜂群算法\ABC\.idea\vcs.xml
     文件        4047  2019-08-20 14:47  蜂群算法\ABC\.idea\workspace.xml
     文件         437  2019-08-05 15:45  蜂群算法\ABC\ABC.iml
     目录           0  2019-08-20 14:52  蜂群算法\ABC\out\
     目录           0  2019-08-20 14:52  蜂群算法\ABC\out\production\
     目录           0  2019-08-20 14:52  蜂群算法\ABC\out\production\ABC\
     文件        4609  2019-08-20 14:22  蜂群算法\ABC\out\production\ABC\ABC.class
     文件        4450  2019-08-11 15:17  蜂群算法\ABC\out\production\ABC\FileRead.class
     文件        6325  2019-08-11 15:17  蜂群算法\ABC\out\production\ABC\Food.class
     目录           0  2019-08-11 15:17  蜂群算法\ABC\out\production\ABC\learn\
     文件        4938  2019-08-11 15:17  蜂群算法\ABC\out\production\ABC\learn\beeColony.class
     文件        1624  2019-08-20 11:02  蜂群算法\ABC\out\production\ABC\Main.class
     目录           0  2019-08-20 14:52  蜂群算法\ABC\out\production\ABC\util\
     文件         281  2019-08-11 15:17  蜂群算法\ABC\out\production\ABC\util\Mtime.class
     文件         278  2019-08-11 15:17  蜂群算法\ABC\out\production\ABC\util\Pro.class
     目录           0  2019-08-20 14:52  蜂群算法\ABC\src\
     文件        6564  2019-08-20 14:22  蜂群算法\ABC\src\ABC.java
     文件        3998  2019-08-06 17:07  蜂群算法\ABC\src\FileRead.java
     文件        7644  2019-08-11 10:15  蜂群算法\ABC\src\Food.java
     目录           0  2019-08-11 15:17  蜂群算法\ABC\src\learn\
     文件       13986  2019-08-11 15:17  蜂群算法\ABC\src\learn\beeColony.java
     文件         769  2019-08-20 11:02  蜂群算法\ABC\src\Main.java
............此处省略25个文件信息

评论

共有 条评论