美文网首页
回溯最小重量机器设计问题

回溯最小重量机器设计问题

作者: Super_邓帅 | 来源:发表于2017-01-02 16:47 被阅读0次


设某一机器由n个部件组成,每一种价格都可以从m个不同的供应商处购得。设wij是从供应商j处购得的部件i的重量,cij是相应的价格。 试设计一个算法,给出总价格不超过d的最小重量机器设计。

分析:

供应商为m,这是一个m叉树,逻辑倒不是很难,就是记录部件从哪个厂商购得时,注意一下即可。

代码:

#include<stdio.h>
#define n 3    //部件数
#define m 3    //供应商
#define d 4    //总价格不超过d
int w[n][n]={1,2,3,3,2,1,2,2,2},c[n][n]={1,2,3,3,2,1,2,2,2}; 
int a[n]={0},final[n]={0}; //final记录部件的最终供应商,a记录过程中的供应商 
int minweight=1000000;      //最终的最小质量
int weight=0,value=0;     //两个过程值
void traceback(int t){
    if(t==3&&value<=d){
        if(weight<minweight){
            minweight=weight;
            for(int k=0;k<n;k++){
                final[k]=a[k];
            }
        } 
        return;
    }
    if(value<=d){
        for(int i=0;i<m;i++){  //遍历的是供应商 
            a[t]=i; //记录一下当前的这个部件是从哪个供应商购得
            weight+=w[t][i];    
            value+=c[t][i];
            traceback(t+1);
            value-=c[t][i];
            weight-=w[t][i];
            a[t]=0;
        }
    }
} 

int main(){
    traceback(0);           //t代表部件 
    printf("最小重量是%d\n",minweight); 
    for(int i=0;i<n;i++)
        printf("%3d",final[i]+1);
    printf("\n");   
    return 0;
} 
运行截图

相关文章

  • 回溯最小重量机器设计问题

    设某一机器由n个部件组成,每一种价格都可以从m个不同的供应商处购得。设wij是从供应商j处购得的部件i的重量,ci...

  • 小朋友学算法(18):交换机器的最小代价

    一、问题描述 有N台机器重量各不相等,现在要求把这些机器按照重量排序,重量从左到右依次递增。移动机器只能做交换操作...

  • 五大常用算法一(回溯,随机化,动态规划)

    回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...

  • 剑指Offer(二)

    题目汇总11.旋转数组的最小数字(简单),本题考查查找和排序12.矩阵中的路径—回溯问题(中等),本题考查回溯法1...

  • 2018-08-21

    回溯法求子集,有个问题没有解决硬币问题动态规划:趴楼梯的最小代价https://blog.csdn.net/hap...

  • 回溯法求0/1背包问题

    回溯法求0/1背包问题 给定n件物品和一个容量为c的背包,物品的重量为Wi,其价值为Vi,0/1背包问题是如何选择...

  • N皇后

    回溯法核心代码: n皇后问题回溯法

  • 2021-01-03《原则》

    《原则》中有个机器地概念,而机器由人和设计组成。当发现问题地时候,可以直观地分类,是设计出了问题,还是人的能力出了...

  • 算法理论 | 分支限界法

    分支限界法 分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树 分支限界法与回溯法的区别 ...

  • 八皇后问题

    问题的类别是回溯(backtrace). 回溯通常用递归实现。回溯中注意边界问题,避免越界。同时,剪枝可以减少ca...

网友评论

      本文标题:回溯最小重量机器设计问题

      本文链接:https://www.haomeiwen.com/subject/ioiwvttx.html