При изготовлении деталей на станке требуется выполнить N операций. Длительность i-ой операции Ti(i=1,2,...N) единиц времени. Если i-ая операция выполняется первой, то для подготовки станка к её выполнению требуется Bi(i=1,2,....N) единиц времени. Если j-ая операция выполняется непосредственно после i-ой, то для перестановки станка к i-ой операции необходимо Aij(i,j=1,2...N) единиц времени. На приведение станка в исходное состояние, если последней выполняется i-ая операция, требуется Ci(i=1,2...N) единиц времени.Требуется указать такую последовательность операций, что бы общее время изготовления детали было наименьшим. Исходные данные: N=5,B=(0;0;2;5;9);C=(5;10;7;8;10);
| 0 2 5 4 1|
| 5 0 1 0 2|
A=|2 1 0 4 6|
|1 0 9 0 2|
| 8 4 1 7 0| В принципе я решение этой задачи представляю так: моя матрица хранится в текстовом файле, которые потом записываются в StringGrid. А сама последовательность вычисляется перебором, при котором суммируется мои исходные данные( A[i,j]+B[i]+C[i])....Этот перебор должен иметь размер 5!=120(ну варинатов).Так как нужно найти наименьшее время, значит надо этот перебор минимизировать....
Помогите пожайлуста с реализацией...если есть другие варианты решения, то тоже интересны)