分支限界法求解最小重量机器问题

本文详细介绍了如何运用分支限界法来求解最小重量机器分配问题,探讨了算法的核心思想及其实现步骤,通过实例解析展示了算法的运行过程,为理解和应用该算法提供了清晰的指导。
摘要由CSDN通过智能技术生成
#include<iostream>
#include<queue>
#define INF 65535
#define MAXNUM 100
using namespace std;
class Shop{  //商店类
public:
    double *w;   //该商店每个物品的的质量
    double *v;   //该商店每个物品的价格
};
class Node{
public:
    double tempv;  //当前价格
    double tempw;  //当前质量
    double lval;   //价格下界
    double val;    //价格上界即优先级
    int answer[MAXNUM];  //该节点的解
    int depth;  //该节点的深度
    friend  bool operator < (Node a,Node b){
        return a.val > b.val;
    }
};
class Machine{
public:
    priority_queue<Node> q;  //优先队列小根堆
    Shop *shop;  //商店指针
    int num;  //商店个数
    int parts;  //零件个数
    double c;  //价格上界
    double minsum;  //最小下届和
    double bestw;  //最优解
    int *bestanswer;  //最优解路径
    double *minestw_each;  //每个零件的最小质量
public:
    /* 初始化函数 */
    void Initial(){
        cout<<"please input the number of the shops and the number of the parts and the max cost: "<<endl;
        cin>>num>>parts>>c;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值