欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

《算法設(shè)計(jì)》課程報(bào)告最小重量機(jī)器設(shè)計(jì)問題

上傳人:仙*** 文檔編號(hào):29501815 上傳時(shí)間:2021-10-07 格式:DOC 頁(yè)數(shù):11 大?。?35KB
收藏 版權(quán)申訴 舉報(bào) 下載
《算法設(shè)計(jì)》課程報(bào)告最小重量機(jī)器設(shè)計(jì)問題_第1頁(yè)
第1頁(yè) / 共11頁(yè)
《算法設(shè)計(jì)》課程報(bào)告最小重量機(jī)器設(shè)計(jì)問題_第2頁(yè)
第2頁(yè) / 共11頁(yè)
《算法設(shè)計(jì)》課程報(bào)告最小重量機(jī)器設(shè)計(jì)問題_第3頁(yè)
第3頁(yè) / 共11頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《算法設(shè)計(jì)》課程報(bào)告最小重量機(jī)器設(shè)計(jì)問題》由會(huì)員分享,可在線閱讀,更多相關(guān)《《算法設(shè)計(jì)》課程報(bào)告最小重量機(jī)器設(shè)計(jì)問題(11頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、課程名稱: 學(xué)生姓名: 學(xué)生學(xué)號(hào): 《算法設(shè)計(jì)》課程報(bào)告 課題名稱: 算法設(shè)計(jì) 課題負(fù)責(zé)人名(學(xué)號(hào)): --- 同組成員名單(角色): --- 指導(dǎo)教師: --- 評(píng)閱成績(jī): 評(píng)閱意見: 提交報(bào)告時(shí)間:2014年 6 月 17 日 最小重量機(jī)器設(shè)計(jì)問題 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè) 學(xué)生 -- 指導(dǎo)老師 --- [題目描述] 設(shè)某一機(jī)器由 n 個(gè)部件組成,每一種部件都可以從

2、 m 個(gè) 不同的供應(yīng)商處購(gòu)得。高 wij 是從供應(yīng)商 j 處購(gòu)得的部件 i 的重量, cij 是相應(yīng)的價(jià)格。 試設(shè)計(jì)一個(gè)算法,給出總價(jià)格不超過 c 的最小重量機(jī)器設(shè)計(jì)。 編程任務(wù): 對(duì)于給定的機(jī)器部件重量和機(jī)器部件價(jià)格,編程計(jì)算總價(jià) 格不超過 d 的最小重量機(jī)器設(shè)計(jì)。 數(shù)據(jù)輸入:由文件 input.txt 給出輸入數(shù)據(jù)。第一行有 3 個(gè)正整數(shù) n, m 和 d。接正業(yè)的 2n 行,每行 n 個(gè)數(shù)。前 n 行是 c,后 n 行是 w。 結(jié)果輸出: 將計(jì)算出的最小重量, 以及每個(gè)部件的供應(yīng)商輸出到文件 output.txt。 輸入文件示例 輸出文件示例

3、input.txt output.txt 3 3 4 4 1 2 3 1 3 1 3 2 1 2 2 2 1 2 3 3 2 1 2 2 2 [算法分析] 采用回溯算法和分支定界法分別實(shí)現(xiàn),對(duì)于回溯法,采用深度優(yōu)先搜索對(duì)子集樹進(jìn)行剪枝,剪枝條件是當(dāng)前的總費(fèi)用不超過總費(fèi)用;對(duì)于分支定界法,采用按照層次遍歷對(duì)子集樹進(jìn)行剪枝,并將每層的結(jié)點(diǎn)按照重量由小到大進(jìn)行排序,將相應(yīng)下標(biāo)保存在二維數(shù)組s中,以便構(gòu)造最優(yōu)解。 兩種算法是時(shí)間復(fù)雜度都是O(m^n) ,空間復(fù)雜度均為O(nm

4、),但由于分支定界法在已經(jīng)排好序的序列中查找,因此查找到的第一個(gè)解即為最優(yōu)解,理論上來(lái)說(shuō),時(shí)間效率會(huì)比回溯法高。 [程序?qū)崿F(xiàn)] 回溯法代碼 #include #include #include #include #include #include using namespace std; #define INF 999999999 #define MAXSIZE 100+1 int cur_solution[MAXSIZE]; int

5、 solution[MAXSIZE]; int w[MAXSIZE][MAXSIZE]; //weight int c[MAXSIZE][MAXSIZE]; //cost int minWeight; int cur_minWeight; void Backtrack(int t,int n,int m,int d){ if(t>n){ if(cur_minWeight < minWeight){//保存最優(yōu)解和最優(yōu)值 minWeight = cur_minWeight; for(int r=1;r<=n;++r){ solution[r] =

6、 cur_solution[r]; } } } else{ for(int i=1;i<=m;++i){ d -= c[t][i]; cur_solution[t] = i; cur_minWeight += w[t][i]; if(d>=0) { Backtrack(t+1,n,m,d); } cur_minWeight -= w[t][i]; //if(Constraint(t) && Bound(t)) Backtrack(t+1,n,m,d); d += c[t][i];

7、} } return; } int main(){ int n,m,d; cout<<"Please input the input file path:"<>strPath; ofstream fout(strPath); if(fin.good() && fout.g

8、ood()){ minWeight = INF; cur_minWeight = 0; fin>>n>>m>>d; int j,k; for(j=1;j<=n;++j){ for(k=1;k<=m;++k){ fin>>c[j][k]; } } for(j=1;j<=n;++j){ for(k=1;k<=m;++k){ fin>>w[j][k]; } } Backtrack(1,n,m,d); fout<

9、r(int r=1;r<=n;++r){ fout< #include

10、dlib.h> #include #include using namespace std; #define MAX_NODE 256 typedef struct _node { int weight,price; int level,th; struct _node *prev; }node; void qs(int *a,int *s,int b,int e)//快速排序 { int t,c=a[s[b]]; int l=b,r=e; while(l

11、ile(l=c)--r; t=s[r];s[r]=s[l];s[l]=t; while(l que; li

12、st::iterator it; node *pnode; /* 讀取文件 */ FILE *pf; if((pf=fopen("input.txt","r"))!=0) { fscanf(pf,"%d%d%d",&n,&m,&c); w=(int *)malloc(n*m*sizeof(int));//重量 p=(int *)malloc(n*m*sizeof(int));//價(jià)格 for(i=0;i

13、0;i

14、來(lái)記錄買了i個(gè)零件后,買完剩下的零件至少還要多少錢 minprice[n]=0; //買了n個(gè)零件之后,不需要再買了 for(i=0;i=0;--i) //計(jì)算買剩下的零件至少要多少錢 { minprice[i]=minprice[i+1]+minprice

15、[i]; } for(i=0;iweight=w[s[0][i]]; pnode->price=p[s[0][i]]; if(pnode->price+minprice[2]<=c) { pnode->th

16、=i; pnode->level=1; pnode->prev =0; que.push_back(pnode); } else delete pnode; } while(!que.empty()) //計(jì)算,直到得出結(jié)果或者隊(duì)列為空 { level =que.front()->level; price =que.front()->price; weight=que.front()->weight; if(level

17、ode=new node; pnode->weight=weight+w[level*m+s[level][i]]; pnode->price=price+p[level*m+s[level][i]]; if(pnode->price+minprice[level+1]<=c) //剪枝,如果當(dāng)前結(jié)點(diǎn)剩下的錢不夠買全所有零件,則剪掉 { pnode->th=s[level][i]; pnode->level=level+1; pnode->prev =que.front(); for(it=que.begin();it!=

18、que.end();++it) //按重量遞增構(gòu)造優(yōu)先隊(duì)列 if(pnode->weight<(*it)->weight) break; que.insert(it,pnode); if(level==n-1)break; //如果已經(jīng)找到答案,退出循環(huán) } else delete pnode; } que.pop_front(); if(ilevel!=n) { printf("can

19、not find answer!!"); getchar();    exit(0); } pf=fopen("output.txt","w"); if(pf) { fprintf(pf,"%d\n",pnode->weight); int count=n,ans[n]; while(pnode) { ans[--count]=pnode->th; pnode=pnode->prev; } for(i=0;i

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!