资源简介
人工蜂群算法解决柔性作业车间调度问题,用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.xm
文件 97 2019-08-05 15:45 蜂群算法\ABC\.idea\desc
文件 196 2019-08-05 15:46 蜂群算法\ABC\.idea\encodings.xm
文件 409 2019-08-05 15:46 蜂群算法\ABC\.idea\misc.xm
文件 253 2019-08-05 15:46 蜂群算法\ABC\.idea\modules.xm
文件 8915 2019-08-09 10:29 蜂群算法\ABC\.idea\uiDesigner.xm
文件 173 2019-08-05 15:45 蜂群算法\ABC\.idea\vcs.xm
文件 4047 2019-08-20 14:47 蜂群算法\ABC\.idea\workspace.xm
文件 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个文件信息
- 上一篇:JAVA图形化界面实现学生成绩的录入与管理
- 下一篇:java源代码 各种都有
评论
共有 条评论