資源簡介
用c++寫的遺傳算法解決柔性作業車間調度問題,主要參考論文 張國輝, 高亮, 李培根, et al. 改進遺傳算法求解柔性作業車間調度問題[J]. 機械工程學報, 2009, 45(7):145-151.

代碼片段和文件信息
//?1210第一版.cpp?:?此文件包含?“main“?函數。程序執行將在此處開始并結束。
//
#include?“head.h“
#include?
#include
#include?
#include
using?namespace?std;
Answer?Pop[POPSIZE];//種群
vector>ProTime;
int?**Time;//各工序加工時間
vectorPronum;
int?main()
{
time_t?T_begin?=?clock();
srand(time(NULL));
Creat();
InitPop(Pop);
CalTime(Pop);
//Print(Pop);
for?(int?o?=?0;?o? {
Select(Pop);
Cross(Pop);
Variation2(Pop);
CalTime(Pop);
//cout?< Print(Pop);
}
Print(Pop);
time_t?T_end?=?clock();
float?RunningTime?=?float(T_end?-?T_begin)?/?CLOCKS_PER_SEC;
cout?<“\n時間=?“?< return?0;
}
void?Creat()//讀文件
{
ifstream?in;
in.open(“G:\\Data\\FJSP\\mk01.txt“);
assert(in.is_open());
in?>>?WorkpieceNum?>>?MachineNum;
//換行讀取思路,讀字符,遇到\n停止
int?pm;
ProcessNum?=?0;
for?(int?i?=?0;?i? {
Pro?pro;
pro.star?=?ProcessNum;
in?>>?p;
ProcessNum?+=?p;
pro.num?=?p;
Pronum.push_back(pro);
for?(int?j?=?0;?j? {
in?>>?m;
vectorprotime;
for?(int?k?=?0;?k? {
mtime?a;
in?>>?a.m?>>?a.time;
protime.push_back(a);
}
ProTime.push_back(protime);
}
}
Time?=?new?int*[ProcessNum];
for?(int?i?=?0;?i? {
Time[i]?=?new?int[MachineNum];
for?(int?j?=?0;?j? for?(int?j?=?0;?j? {
Time[i][ProTime[i][j].m-1]?=?ProTime[i][j].time;
}
}
/*for?(int?i?=?0;?i? {
for?(int?j?=?0;?j? cout?< }*/
}
void?Print()
{
cout?< for?(int?i?=?0;?i? {
cout?<
for?(int?j?=?0;?j? {
int?pronum?=?Pronum[i].star?+?j;
cout?<
for?(int?k?=?0;?k? {
cout?< }
}
cout?< }
}
void?InitPop(Answer?*pop)//種群初始化
{
for?(int?i?=?0;?i? {
float?s?=?(rand()?%?RAND_MAX)?/?(float)RAND_MAX;
if(s else?if(s>1-LS) LS0(pop[i]);
else GS0(pop[i]);
//RD0(pop[i]);
//GS0(pop[i]);
//LS0(pop[i]);
}
}
void?Select(Answer?*pop)?//選擇:錦標賽
{
Answer?newpop[POPSIZE];
Answer?bestpop?=?pop[0];
for?(int?i?=?0;?i? {
int?index;//三選一最佳個體下標
int?mintime;
int?a?b?c;
a?=?rand()?%?POPSIZE;
b?=?rand()?%?POPSIZE;
c?=?rand()?%?POPSIZE;
index?=?a;
mintime?=?pop[index].time;
if?(pop[b].time? {
index?=?b;
mintime?=?pop[index].time;
}
if?(pop[c].time? {
index?=?c;
mintime?=?pop[index].time;
}
newpop[i]?=?pop[index];
if?(pop[i].time? {
bestpop?=?pop
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\.vs\
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\v15\
?????文件???????38400??2019-08-18?17:19??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\v15\.suo
?????文件?????5541888??2019-08-18?17:19??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\v15\Browse.VC.db
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\v15\ipch\
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\v15\ipch\AutoPCH\
?????目錄???????????0??2019-08-18?16:14??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\v15\ipch\AutoPCH\7809e8a1f4bae114\
?????文件????34603008??2019-08-18?16:15??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\v15\ipch\AutoPCH\7809e8a1f4bae114\數據格式轉換版本.ipch
?????文件??????327680??2019-06-01?09:07??C++遺傳算法解決柔性作業車間調度\代碼\.vs\數據格式轉換版本\v15\ipch\ec5dd6b31f3c3218.ipch
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\Debug\
?????文件??????208384??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\Debug\數據格式轉換版本.exe
?????文件??????865708??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\Debug\數據格式轉換版本.ilk
?????文件??????847872??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\Debug\數據格式轉換版本.pdb
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\
?????文件????????1485??2019-06-01?09:07??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本.sln
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\
?????文件??????158720??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\vc141.idb
?????文件??????446464??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\vc141.pdb
?????文件????????1617??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.Build.CppClean.log
?????文件????????1685??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.log
?????文件??????756093??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.obj
?????目錄???????????0??2019-08-21?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.tlog\
?????文件?????????738??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.tlog\CL.command.1.tlog
?????文件???????19800??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.tlog\CL.read.1.tlog
?????文件?????????452??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.tlog\CL.write.1.tlog
?????文件????????1144??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.tlog\li
?????文件????????3622??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.tlog\li
?????文件?????????422??2019-06-02?16:01??C++遺傳算法解決柔性作業車間調度\代碼\數據格式轉換版本\Debug\數據格式轉換版本.tlog\li
............此處省略28個文件信息
評論
共有 條評論