最小重量機器設計問題

2021-07-25 18:25:18 字數 1035 閱讀 4030

問題描述:

設某一機器由n個部件組成,每一種**都可以從m個不同的**商處購得。設wij是從**商j處購得的部件i的重量,cij是相應的**。 試設計乙個演算法,給出總**不超過d的最小重量機器設計。

題目型別:回溯演算法

**如下:

/*

該題traceback(num)中num代表的是第幾個部件

*/#include

int n,m,d;

int value[100][100],weight[100][100];

int best[100]=;//最佳選擇方案

int min=1000000;//最小重量

int b[100]=;//當前的選擇方案

int cur_weight=0;//當前總重量

int cur_value=0;//當前總價值

void traceback(int num)

return ;

}for(i=0;i//有m個**商可供選擇

b[num]=i;

cur_weight+=weight[num][i];

cur_value+=value[num][i];

if(cur_weight//等號必須加

traceback(num+1);

cur_weight-=weight[num][i];

cur_value-=value[num][i];

b[num]=0;

}}int main()

}for(i=0;ifor(j=0;jscanf("%d",&weight[i][j]);}}

traceback(0);

printf("the min weight is %d\n",min);

for(i=0;iprintf("%d ",best[i]);

}printf("\n");

return

0;}

最小重量機器設計問題

最小重量機器設計問題 設某一機器由 n個部件組成,每一種 都可以從 m個不同的 商處購得。設 wij是從 商 j處購得的部件 i的重量,cij是相應的 試設計乙個演算法,給出總 不超過 d的最小重量機器設計。樣例輸入 3 3 4 1 2 3 3 2 1 2 2 2 1 2 3 3 2 1 2 2 2...

最小重量機器設計問題

設某一機器由n個部件組成,每種部件都可以從m個不同的 商處購得。設wij是從 商j處購得的部件的重量,cij是相應的 設計乙個優先佇列式分支定界法,給出總 不超過d的最小重量機器設計。資料輸入 第一行有3個整數n m和d。接下來的2n行,每行n個數。前n行是c,後n行是w。結果輸出 第一行輸出計算的...

最小重量機器設計問題

問題描述 設某一機器由n個部件組成,每一種部件都可以從m個不同的 商處購得。設wij是從 商j處夠來的部件i的重量,cij是相應的 試設計乙個演算法,給出總 不超過c的最小重量機器設計。演算法設計 對於給定的機器部件重量和機器部件 計算總價值不超過d的最小重量機器設計。資料輸入 第一行由3個正整數n...