xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 16KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-02
  • 語言: C/C++
  • 標(biāo)簽: 12??

資源簡(jiǎn)介

代碼是通過設(shè)定不同的參數(shù)來進(jìn)行求解混合流水車間的調(diào)度問題

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
ofstream?outfile;
#define?machinenumber?6??//機(jī)器的總數(shù)(等于每道工序的并行機(jī)個(gè)數(shù)×工序數(shù))
#define?parallel?2???????//每道工序的并行機(jī)個(gè)數(shù)
#define?ordernumber?3?????//工序數(shù)
#define?workpiecesnumber?6??//工件總數(shù)
#define?populationnumber?200??//每一代種群的個(gè)體數(shù)

double?crossoverrate=0.6;????????????//交叉概率
double?mutationrate=0.05;?????????????//變異概率
int?G=100;????????????????????????//循環(huán)代數(shù)100
int?usetime[workpiecesnumber][ordernumber];??//第幾個(gè)工件第幾道工序的加工用時(shí);
int?machinetime[ordernumber][parallel]=?{0};?//第幾道工序的第幾臺(tái)并行機(jī)器的統(tǒng)計(jì)時(shí)間;
int?starttime[workpiecesnumber][ordernumber][parallel];//第幾個(gè)工件第幾道工序在第幾臺(tái)并行機(jī)上開始加工的時(shí)間;
int?finishtime?[workpiecesnumber][ordernumber][parallel];//第幾個(gè)工件第幾道工序在第幾臺(tái)并行機(jī)上完成加工的時(shí)間;
int?ttime[populationnumber];??????//個(gè)體的makespan;???????????????????????????????????????????????????????????????????????????
int?a?[populationnumber][workpiecesnumber];//第幾代的染色體順序,即工件加工順序;
int?times[100];??//用來存儲(chǔ)已知用時(shí)的數(shù)組;
int?makespan;????//總的流程加工時(shí)間;
int?flg7;???//暫時(shí)存儲(chǔ)流程加工時(shí)間;
double?fits[populationnumber]?;//存儲(chǔ)每一代種群每一個(gè)個(gè)體的適應(yīng)度,便于進(jìn)行選擇操作;
???????????????????????????????????????????????????????????????????????????????????????//????????????????
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)???//計(jì)算適應(yīng)度函數(shù),c代表某個(gè)體;
{
????int?totaltime;??????//總的加工流程時(shí)間(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道工序的第一臺(tái)并行機(jī)器的當(dāng)前工作時(shí)間;
????????????int?n=0;
????????????for?(int?p=0;?p????????????{
????????????????if?(m>machinetime[i][p])
????????????????{
????????????????????m=machinetime[i][p];
????????????????????n=p;
????????????????}
????????????}
????????????int?q=temp1[j];?????????????????//按順序提取temp1中的工件號(hào),對(duì)工件進(jìn)行加工;
????????????starttime[q-1][i][n]=max(machinetime[i][n]temp3[j]);??//開

評(píng)論

共有 條評(píng)論