多机调度问题

本文探讨了多机调度问题,其中n个独立作业需在m台相同机器上进行处理,目标是最小化总完成时间。举例说明了3台机器处理7个作业的最短完成时间情况,并指出最长处理时间作业优先的贪心策略能确保得到最优解。通过C++代码展示了如何实现该策略。
摘要由CSDN通过智能技术生成

有n个独立的作业由m台相同的机器进行加工处理,作业i所需的处理时间为ti(1≤i≤n),每个作业均可在任何一台机器上加工处理,但不可间断、拆分。多机调度问题要求给出一种作业调度方案,使所给出的n个作业在尽可能短的时间内由m台机器加工处理完成。
例如,7个独立的作业由3台机器加工处理,各作业的处理时间为 {2,14,4,6,16,5,3}。最短完成时间为17,3台机器的作业调度分别为:
机器1:{16};机器2:{14,3};机器3:{6,5,4,2}。
实验原理
对多机调度问题,可以设计多种贪心策略,如:
最长处理时间作业优先的贪心策略。
最短处理时间作业优先的贪心策略。
作业到达时间优先的贪心策略。
不难证明,采用最长处理时间作业优先的贪心策略,可以得到此问题的最优解。

// suanfa.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。
//
//#include"pch.h"
//#include"iostream"
//#include"cstdio"
//#include"cmath"
//#include"cstring"
//#include"algorithm"
//using namespace std;
//int a[105], b[105], c, d, i, j, m, n, p, q;
//bool fun(const int &x, const int &y

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值