Составление расписаний - C#
Формулировка задачи:
Всем привет.
Есть следующая задача, которую я не понимаю как решать:
Необходимо найти минимальное время завершения выполнения операций и составить таблицу времени выполнения операций для оптимальной последовательности заданий
Дана матрица времен выполнения заданий(в часах)
По X - станки, по Y - задания
20 30 0
12 19 12
3 9 8
Сказали решить на С# и сдать в среду, прошу помочь.
Решать должно для любой размерности матрицы - это я реализовал, а вот как сам алгоритм не знаю.
Решение задачи: «Составление расписаний»
textual
Листинг программы
int[,] mas = new int[,]
{{20, 30, 0},
{12, 19, 12},
{3, 9, 8}};
int[] mash1 = new int[3];
int[] mash2 = new int[3];
int[] mash3 = new int[3];
for (int y = 0; y < 3; y++)
{
for (int x = 0; x < 3; x++)
{
switch (y)
{
case 0: mash1[x] = mas[x, y]; break;
case 1: mash2[x] = mas[x, y]; break;
case 2: mash3[x] = mas[x, y]; break;
}
}
}
Array.Sort(mash1);
Array.Sort(mash2);
Array.Sort(mash3);
Console.WriteLine("Минимальное время : " + mash1[0] + " "+ mash2[0] + " " + mash3[0] + " ");
Console.WriteLine("Оптимальная последовательность заданий");
for (int x = 0; x < 3; x++) Console.WriteLine(string.Join(" ", mash1[x] + " " + mash2[x] + " " + mash3[x] + " "));
Console.ReadKey();