亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

裝載問(wèn)題

時(shí)間:2023-05-01 12:42:27 資料 我要投稿
  • 相關(guān)推薦

裝載問(wèn)題

實(shí)驗(yàn)七:回溯法裝載問(wèn)題

一、實(shí)驗(yàn)?zāi)康呐c要求

1、掌握裝載問(wèn)題的算法;

2、初步掌握回溯算法

二、實(shí)驗(yàn)題:

問(wèn)題描述:

有兩艘船,它們的可裝載的貨物重量分別為c1,c2,給定一批貨物,其重量保存在數(shù)組w[i]中了,問(wèn)這批貨物能否用此兩艘船送出。\

#include

using namespace std;

class Loading

{friend float MaxLoading

(float[],float,int);

public:

void Backtrack(int i);

int n;

int *x,*bestx;

float *w,c,cw,bestw,r;

};

float Maxloading(float w1[],float c1,

float c2,int n1,int bestx1[])

{ Loading k;

int j;

float MAXLoad;

k.x= new int [n1+1];

k.bestx=bestx1;

k.w = w1;

k.c = c1;

k.n = n1;

k.cw = 0;

k.bestw = 0;

k.r = 0;

for(int i=1;i<=n1;i++)

k.r+=w1[i];

k.Backtrack(1);

delete [] k.x;

cout<<"船1最優(yōu)裝載:"<<k.bestw<<endl;

MAXLoad=k.bestw;

for( j=1;j<=n1;j++)

{if(k.bestx[j]==0)

{ MAXLoad+=w1[j];

c2-=w1[j];

if(c2<0)

{cout<<"找不到合理裝載方案!"<<endl;

return -1;

}

}

}

cout<<"船1中的箱子:";

for( j=1;j<=n1;j++)

if(k.bestx[j]==1)

cout<<j<<" ";

cout<<endl;

cout<<"船2中的箱子:";

for( j=1;j<=n1;j++)

if(k.bestx[j]==0)

cout<<j<<" ";

cout<<endl;

return MAXLoad;

}

void Loading::Backtrack(int i)

{ if(i>n)

{if(cw>bestw)

{for(int j=1;j<=n;j++)

bestx[j]=x[j];

bestw = cw;

}

return;

}

r裝載問(wèn)題-=w[i];

if(cw+w[i]<=c)

{x[i]=1;

cw+=w[i];

Backtrack(i+1);

cw-=w[i];

}

if(cw+r>bestw)

{x[i] = 0;

Backtrack(i+1);}

r+=w[i];

}

int main()

{float w[20];

float c1,c2,k;

int n,bestx[20];

cout<<"輸入箱子數(shù):";

cin>>n;

cout<<"輸入箱子重量:";

for(int i=1;i<=n;i++)

cin>>w[i];

cout<<"輸入容量船1,船2:";

cin>>c1>>c2;

k=Maxloading(w,c1,c2,n,bestx);

if(k!=-1)cout<<"總體最優(yōu)裝載:"<<k<<endl; return 1;

}

【裝載問(wèn)題】相關(guān)文章:

鐵路貨物裝載加固中存在的問(wèn)題及對(duì)策淺析04-28

并行計(jì)算解決部隊(duì)鐵路梯隊(duì)裝載NP問(wèn)題應(yīng)用研究04-27

心身問(wèn)題的問(wèn)題式04-29

裝載機(jī)管理制度05-31

用問(wèn)題來(lái)扼殺問(wèn)題04-30

大學(xué)問(wèn)題與問(wèn)題大學(xué)05-02

從歸納問(wèn)題到演繹問(wèn)題04-28

問(wèn)題04-30

問(wèn)題05-01

重型裝備鐵路裝載橫向移位裝置研究04-27