最小重量机器设计问题 5_1 6_4 2011-05-21 14:57:54 测试数据 1 3 3 4 1 2 3 3 2 1 2 2 2 1 2 3 3 2 1 2 2 2 回溯法 //Author:王子硕 Date: //Description: #include <iostream> #include <fstream> #include <algorithm> #include <functional> using namespace std; //t递归深度 //m供货商数量 //n部件数量 //tp总价格 //np当前价格 //nw当前重量 //mw最小重量 //*c价格矩阵 //*w重量矩阵 //*x当前解 //*best最优解 void minMacWei(int t, int m, int n, int tp, int np , int nw, int mw, int *c, int *w ,int *x, int *bestx){ if (t >= n)//递归到叶子节点,说明当前价格np < tp产生了一组解 { if(nw < mw){//如果当前重量小于最优重量 mw = nw; for(int j = 0; j < n; ++j){ bestx[j] = x[j];//记录这一组解 } } } else{ for (int i = 0; i < m; ++i)//检测每一个供货商 { if (np + c[m*t + i] <= tp)// { x[t] = i;//对于第n个部件选择第i个供货商