• 大小: 0.17M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: 其他  

资源简介

北理工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

评论

共有 条评论