资源简介
代码是通过设定不同的参数来进行求解混合流水车间的调度问题
代码片段和文件信息
#include
#include
#include
#include
#include
#include
using namespace std;
ofstream outfile;
#define machinenumber 6 //机器的总数(等于每道工序的并行机个数×工序数)
#define parallel 2 //每道工序的并行机个数
#define ordernumber 3 //工序数
#define workpiecesnumber 6 //工件总数
#define populationnumber 200 //每一代种群的个体数
double crossoverrate=0.6; //交叉概率
double mutationrate=0.05; //变异概率
int G=100; //循环代数100
int usetime[workpiecesnumber][ordernumber]; //第几个工件第几道工序的加工用时;
int machinetime[ordernumber][parallel]= {0}; //第几道工序的第几台并行机器的统计时间;
int starttime[workpiecesnumber][ordernumber][parallel];//第几个工件第几道工序在第几台并行机上开始加工的时间;
int finishtime [workpiecesnumber][ordernumber][parallel];//第几个工件第几道工序在第几台并行机上完成加工的时间;
int ttime[populationnumber]; //个体的makespan; ???????????????????????
int a [populationnumber][workpiecesnumber];//第几代的染色体顺序,即工件加工顺序;
int times[100]; //用来存储已知用时的数组;
int makespan; //总的流程加工时间;
int flg7; //暂时存储流程加工时间;
double fits[populationnumber] ;//存储每一代种群每一个个体的适应度,便于进行选择操作;
//????????????????
int initialization() //初始化种群;
{
for(int i=0; i for(int j=0; j {
a[i][j]=j+1;
}
for(int i=0; i for(int j=0; j {
int flg1=rand()%workpiecesnumber;
int flg2=rand()%workpiecesnumber;
int flg3=a[i][flg1];
a[i][flg1]=a[i][flg2];
a[i][flg2]=flg3;
}
for(int i=0; i {
for(int j=0; j {
cout< }
cout< }
return 0;
}
int fitness(int c) //计算适应度函数,c代表某个体;
{
int totaltime; //总的加工流程时间(makespan);
int temp1[workpiecesnumber]= {0};
int temp2[workpiecesnumber]= {0};
int temp3[workpiecesnumber]= {0};
for(int j=0; j {
temp1[j]=a[c][j];
}
for(int i=0; i {
for(int j=0; j {
int m=machinetime[i][0]; //先记录第i道工序的第一台并行机器的当前工作时间;
int n=0;
for (int p=0; p {
if (m>machinetime[i][p])
{
m=machinetime[i][p];
n=p;
}
}
int q=temp1[j]; //按顺序提取temp1中的工件号,对工件进行加工;
starttime[q-1][i][n]=max(machinetime[i][n]temp3[j]); //开
- 上一篇:数据结构课程设计学生成绩管理系统
- 下一篇:GUIBuilder_V530.rar
相关资源
- C语言环境下的AES加密算法,支持128位
- ADS1210读写函数C语言
- C语言 3DES、AES、RC6、TEA、RSA、MD5、S
- 类C语言的脚本解析执行(使用C++语言
- VS2012+MFC串口通信
- mfc学生管理系统112034
- ADS1220驱动参考程序
- PBKDF2_HMac_SHA1哈希算法
- 用c++ 定义一个车(Vehicle)基类,有
- VS2012 MFC小程序 简易网络聊天室
- gh0st3.6_vs2012
- AES128 C语言实现源码及应用例程
- BCH3121编码译码解码程序源代码——
- AD电压采样 及LCD12864显示.rar
- Raize Components 6.1.12 for C++builder XE10的安
- 基于DSP2812的SVPWM算法C语言编程
- Opencv2.4.12 SVM手写数字识别
- 在VS2012上基于opencv的C++人眼识别与眨
- codeblocks-17.12mingw-setup网盘
- CMAC(AES128)Verilog实现
- 模数转换器ADS1252 程序适用于c51系列的
- libnfc 1.6 所有工具Windows编译 NFCTools
- VS2012-C++编写、调用DLL库教程
- C++程序设计语言A视频教程 全12讲 地址
- 基于51单片机的12864液晶显示C语言源程
- bch127编码
- C++利用ADO连接数据库 (菜鸟必学
- 大漠插件 最后免费版本3.1233 去除升
- 绝对经典的液晶12864显示汉字+字母数
- Microsoft Visual C++ 2013 Redistributable Pack
评论
共有 条评论