資源簡介
北理工2018最優化方法大作業90.zip

代碼片段和文件信息
#include
#include
#include
#include
#include?
double?rw;
double?valuevalue1;
double?T=50000.0;
int?xy;
int?random(int?n)//隨機數產生函數?
{
????double?r?=?((double)rand())/(RAND_MAX+1.0);
????int?pos1?=?(int)(n*r);?
????return?pos1;
????
}
int?main()
{
int?nm;//n為工件數,m為機器數?
int?ij;
int?ttemp;
int?a[50][50]time[50][50]c[50][50];?//c數組用于復制a中的值,time數組用于記錄時間?
scanf(“%d?%d“&n&m);
for(i=0;i {
for(j=0;j {
scanf(“%d?“&t);
scanf(“%d“&a[i][j]);//a[i][j]儲存每個工件在每個機器上加工用時?
}
}
while(T>1e-8)//當前溫度大于限界溫度時循環進行?
{
for(int?k=0;k<1000;k++)//每個溫度下迭代次數為1000
{
//random(n)產生隨機數?
x=random(n);
y=random(n);
for(i=0;i for(j=0;j c[i][j]=a[i][j];
?//交換隨機數指定的兩個工件位置
? for(i=0;i ? {
? temp=a[x][i];
? a[x][i]=a[y][i];
? a[y][i]=temp;
? }
time[0][0]=a[0][0];
memset(time0sizeof(time));//初始化時間數組?
for(j=1;j {
????time[j][0]+=a[j][0]+time[j-1][0];
} ???
for(j=1;j {
time[0][j]+=a[0][j]+time[0][j-1];
}
//計算用時?
for(i=1;i for(j=1;j {
if(time[i][j-1]>=time[i-1][j])
{
time[i][j]=time[i][j-1]+a[i][j];
}
else
{
time[i][j]=time[i-1][j]+a[i][j];
}
}
value=time[n-1][m-1];//更新后時間?
memset(time0sizeof(time));//初始化時間數組?
????time[0][0]=c[0][0];
for(j=1;j {
??time[j][0]+=c[j][0]+time[j-1][0];
?} ???
for(j=1;j {
?time[0][j]+=c[0][j]+time[0][j-1];
?}
?//計算用時?
for(i=1;i for(j=1;j {
if(time[i][j-1]>=time[i-1][j])
{
time[i][j]=time[i][j-1]+c[i][j];
}
else
{
time[i][j]=time[i-1][j]+c[i][j];
}
}
value1=time[n-1][m-1];//更新前總用時?
w=value-value1;
if(w<0)//w<0保留更新?
?value1=value;
?????else?//更新后的延遲時間更大則進入判斷?
?????{
??????r=((double)rand())/(RAND_MAX);//產生隨機數r
????
?????if(exp(-w/T)<=r)
?????{
?????for(i=0;i ?for(j=0;j ?a[i][j]=c[i][j];
?}
?????}
}
???????????T*=0.99;//退火?
}
printf(“%.f\n“value1);
return?0;
?}?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-26?14:27??北理工2018最優化方法大作業90+\
?????目錄???????????0??2018-12-26?14:27??北理工2018最優化方法大作業90+\Flowshop問題\
?????目錄???????????0??2018-12-26?14:28??北理工2018最優化方法大作業90+\Flowshop問題\元啟發式算法\
?????文件??????105993??2018-12-26?14:28??北理工2018最優化方法大作業90+\Flowshop問題\元啟發式算法\Flowshop實驗報告.docx
?????文件????????2367??2018-06-30?01:52??北理工2018最優化方法大作業90+\Flowshop問題\元啟發式算法\元啟發方法之模擬退火.cpp
?????目錄???????????0??2018-12-26?14:29??北理工2018最優化方法大作業90+\Flowshop問題\超啟發式算法\
?????文件???????27690??2018-12-26?14:29??北理工2018最優化方法大作業90+\Flowshop問題\超啟發式算法\Flowshop超啟發式算法實驗報告.docx
?????目錄???????????0??2018-12-26?14:30??北理工2018最優化方法大作業90+\單機調度問題\
?????目錄???????????0??2018-12-26?14:27??北理工2018最優化方法大作業90+\單機調度問題\local?search\
?????文件????????2345??2018-06-30?01:34??北理工2018最優化方法大作業90+\單機調度問題\local?search\模擬退火單機調度.cpp
?????文件???????50256??2018-12-26?14:30??北理工2018最優化方法大作業90+\單機調度問題\單機調度實驗報告.docx
?????目錄???????????0??2018-12-26?14:27??北理工2018最優化方法大作業90+\單機調度問題\貪心算法\
?????文件????????1684??2018-06-28?16:53??北理工2018最優化方法大作業90+\單機調度問題\貪心算法\單機調度貪心1.cpp
?????文件????????1687??2018-06-28?16:54??北理工2018最優化方法大作業90+\單機調度問題\貪心算法\單機調度貪心2.cpp
?????文件????????1687??2018-06-30?02:01??北理工2018最優化方法大作業90+\單機調度問題\貪心算法\單機調度貪心3.cpp
- 上一篇:大連理工大學網絡安全課件
- 下一篇:全國計算機等級考試三級網絡技術知識點
評論
共有 條評論