TRƯỜNG ĐẠI HỌC NÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN
TRÍ TUỆ NHÂN TẠO
Đề tài: “Tìm hiểu bài toán phân công công việc và demo”.
Giáo viên hướng dẫn
: TS.Nguyễn Thị Thủy
Nhóm sinh viên thực hiện: Kiều Văn Hải
Vương Minh Huế
Mùa Thị May
Hà Sơn Tùng
Lớp
: THA- K52
Hà Nội 2011
I, Bài toán phân công công việc
1, Nội dung bài toán
Một đề án gồm n công việc và các việc sẽ được thực hiên bởi m máy như nhau.
Giả sử biết thời gian để 1 máy thực hiện viêc thứ j là tj
Yêu cầu: Tìm phương án phân công sao cho thời gian hoàn thành toàn
bộ công việc là thấp nhất.
Mẫu số liệu : n=10, m=3
tj = 4 9 5 2 7 6 10 8 7 5
2, Giải thuật: được viết dưới dạng thủ tục tương tự như thuật toán nhưng
không đòi hỏi các tiêu chuẩn như thuật toán.
#include<iostream.h>
#include<conio.h>
#define MAX 20
typedef
{
int
int
int
}MAY;
struct
bot;//bien dem chi phan tu tiep theo cua array
sum; //tong thoi gian may da lam
array[MAX]; //mang cac cong viec may da lam
void NhapMang(int a[], int n)
{
for(int i=0; i>a[i];
}
}
void XuatMang(int a[], int n)
{
for(int i=0; i
a[i]=0;
}
}
//
Tim ra may co tg lam tong cong viec it nhat
int MinDong(MAY may[], int m)
{
int minwhere=0;
for(int i=1; i
cin>>n;
cout