实验内容:多机调度问题

问题描述:

实验内容:多机调度问题
设有n 项独立的作业{1,2,…,n},由m 台相同的机器加工处理.所需要的处理时间为ti.约定:任何一项作业可在任何一台机器上处理,但未完工前不准中断处理;任何作业不能拆分成更小的子作业.多机调度问题要求给出一种调度方案,使所给的n 个作业在尽可能短的时间内由m 台机器处理完.利用贪心策略,设计贪心算法解决多机调度问题,并计算其时间复杂度.
多机调度问题的一个实例:
例如设有7 项独立的作业{1,2,3,4,5,6,7},要由三台机器M1,M2 ,M3 处理.各个作业所需要的处理时间分别为{2,14,4,16,6,5,3}.利用你设计的贪心算法,安排作业的处理顺序使得机器处理作业的时间最短.

#include
#define M 100
void main()
{
int i,j,k,temp,m,n;
int t[M]={2,14,4,16,6,5,3},p[M]={1,2,3,4,5,6,7},s[M],d[M]={0};
m=3;n=7;
for(i=0;i