資源簡介
個人搜集的解決帶約束問題的優化算法。其中等式約束問題最難解決,本人也在這些基礎上研究解決自己問題的方法。
代碼片段和文件信息
/*************************************************/
#include?“stdio.h“
#include?“math.h“
#include?“stdlib.h“
#include?“time.h“
/**************************************************/
#define POPUNUM 30
#define?Pm??????0.03
#define?Pc??????0.85
#define?MAXTASK?12
#define?MAXTEAM?3
#define?MAXGEN?500
#define?EPSL?0.001
/**************************************************/
int?popu[2*POPUNUM][3][MAXTASK];
int?fit[2*POPUNUM];
double?ave_fit;
int?handle_time[MAXTASK]={242436361212};
static?int?MM[12][12]={000000000000
???????????????????????000000000000
???000000000000
???000000000000
???100000000000
???010000000000
???001000000000
???000100000000
???000010000000
???000001000000
???000000100000
???????????????????????000000010000};
int?gen;
/**************************************************/
void?ini();
void?repare();
void?cross();
void?mutation();
void?select();
void?cacu_fit();
main()
{
int?ij;
double?prev_ave_fit=0.0;
ini();
gen=0;
while(1/*gen {
ave_fit=0.0;
cross();
mutation();
repare();
cacu_fit();
printf(“GEN=%d;\tave_fit=%f\n“genave_fit);
if(fabs(prev_ave_fit-ave_fit) {
select();
break;
}
prev_ave_fit=ave_fit;
select();
gen++;
}
printf(“TOTAL_GEN=%d;\n“gen);
for(i=0;i {
switch(i)
{
case?0:
printf(“task_array=%d;\n“i);
break;
case?1:
printf(“team_number=%d;\n“i);
break;
case?2:
printf(“task_team=%d;\n“i);
break;
default:
break;
}
for(j=0;j {
printf(“%d\t%d\t%d\t%d\n“popu[0][i][j]popu[0][i][j+1]popu[0][i][j+2]popu[0][i][j+3]);
}
}
}
void?ini()
{
int?tempijm;
srand(?(unsigned)time(?NULL?)?);
/* srand(1);*/
/*------------------------------
初始化任務串 popu[][0][]
-------------------------------*/
for(m=0;m {
for(i=0;i {
// printf(“i:%d\t“i);
?temp?=?(int)floor(1.*rand()/RAND_MAX*(MAXTASK-1));
if(i!=0)
{
for(j=0;j {
if(popu[m][0][j]==temp)
{
// printf(“!!!!\t%d\t%d\t%d\n“popu[m][0][j]jtemp);
temp?=?(temp+1)?%?MAXTASK;
j=-1;
}
}
}
popu[m][0][i]=temp;
// printf(“%d\n“popu[m][0][i]);
}
}
/*------------------------------
初始化任務分配串?popu[][1][]
-------------------------------*/
/* for(m=0;m {
for(i=0;i {
temp?=?(int)floor(1.*rand()/RAND_MAX*(MAXTEAM));
popu[m][1][i]=temp;
// printf(“%d\n“popu[m][1][i]);
}
}
*/
/*------------------------------
初始化任務組別?popu[][2][]
-------------------------------*/
for(m=0;m {
for(i=0;i {
if(popu[m][0][i]<4?&&?popu[m][0][i]>=0)
p
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5123??2013-08-20?10:49??69491720optimization-method\懲罰函數算法.txt
?????文件???????1206??2002-08-07?02:34??109991moga2\moga2\moga2\aleatorio.h
?????文件???????1153??2002-08-07?08:31??109991moga2\moga2\moga2\Makefile
?????文件????????934??2004-12-04?18:43??109991moga2\moga2\moga2\Makefile.win
?????文件???????7963??2002-08-07?08:25??109991moga2\moga2\moga2\malla-adaptativa.cpp
?????文件?????149871??2004-12-04?17:28??109991moga2\moga2\moga2\malla-adaptativa.o
?????文件??????14104??2004-12-04?18:05??109991moga2\moga2\moga2\moga2.cpp
?????文件???????3389??2004-12-26?17:00??109991moga2\moga2\moga2\moga2.dsp
?????文件????????533??2004-12-26?17:01??109991moga2\moga2\moga2\moga2.dsw
?????文件???????3470??2002-08-07?02:34??109991moga2\moga2\moga2\moga2.h
?????文件??????41984??2016-10-13?17:07??109991moga2\moga2\moga2\moga2.ncb
?????文件??????16524??2004-12-04?18:05??109991moga2\moga2\moga2\moga2.o
?????文件??????48640??2016-10-13?17:07??109991moga2\moga2\moga2\moga2.opt
?????文件???????1270??2004-12-26?17:00??109991moga2\moga2\moga2\moga2.plg
?????文件???????1255??2004-12-04?16:20??109991moga2\moga2\moga2\Project1.dev
?????文件?????589195??2004-12-04?18:05??109991moga2\moga2\moga2\Project1.exe
?????文件????????348??2004-12-04?18:44??109991moga2\moga2\moga2\Project1.layout
?????文件???????1881??2002-04-26?14:18??547833遺傳算法源代碼\源代碼\ChildFrm.cpp
?????文件???????1451??2002-04-26?14:18??547833遺傳算法源代碼\源代碼\ChildFrm.h
?????文件???????4635??2002-05-01?12:37??547833遺傳算法源代碼\源代碼\Faction.cpp
?????文件???????5536??2002-05-01?23:18??547833遺傳算法源代碼\源代碼\Faction.dsp
?????文件????????537??2002-04-26?14:18??547833遺傳算法源代碼\源代碼\Faction.dsw
?????文件?????376832??2002-05-21?15:27??547833遺傳算法源代碼\源代碼\Faction.exe
?????文件???????1367??2002-04-26?14:18??547833遺傳算法源代碼\源代碼\Faction.h
?????文件?????132096??2004-07-08?15:04??547833遺傳算法源代碼\源代碼\Faction.ncb
?????文件??????58880??2004-07-08?15:04??547833遺傳算法源代碼\源代碼\Faction.opt
?????文件???????3167??2004-07-08?15:03??547833遺傳算法源代碼\源代碼\Faction.plg
?????文件??????26204??2002-05-02?07:07??547833遺傳算法源代碼\源代碼\Faction.rc
?????文件???????1841??2002-05-01?11:54??547833遺傳算法源代碼\源代碼\FactionDoc.cpp
?????文件???????1547??2002-05-01?11:55??547833遺傳算法源代碼\源代碼\FactionDoc.h
............此處省略600個文件信息
評論
共有 條評論