i

j

lj

d

cj(s0)

Fj(s0)

Ri(s0)

∆i(s0)

Qi(s0)

1

6

5

15

5

0

1

9

8

15

13

0

2

1

12

10

15

10

8

8

1

2

7

6

15

6

0

2

8

8

15

14

0

1

2

10

9

15

23

8

8

1

3

1

2

15

2

0

3

2

2

15

4

0

3

3

3

15

7

0

3

4

3

15

10

0

3

5

4

15

14

0

1

3

11

10

15

24

9

9

1

­

Алгоритм А2 построен на основе исследований эффективности алгоритма А1. Определены наиболее часто выполняющиеся перестановки при реализации полиномиальной составляющей алгоритма. Разработан более эффективный алгоритм построения начального расписания. Это позволило существенно уменьшить трудоемкость алгоритма.

Алгоритм А20. Построение начального расписания s0 Î YP.

1. Перенумеруем задания множества J по неубыванию длительностей их выполнения.

2. Полагаем времена освобождения приборов Ti = 0, i = .

3. Полагаем j = 1, i = 1.

4. Назначаем задание j на прибор i с минимальным временем освобождения Ti.

5. Полагаем Ti = Ti + lj.

6. Переходим к следующему заданию: j = j + 1. Если j > n, конец алгоритма А20. В противном случае переходим к п. 4.

Алгоритм A2

Этап I. Построение начального расписания s0 Î YP.

1. По алгоритму А20 строим расписание sΠYP.

2. Определяем WS(s0). Если WS(s0) = 0, то расписание s0 оптимально, конец алгоритма. В противном случае переходим к пункту 3.

НЕ нашли? Не то? Что вы ищете?

3. Если RS(s³ DS(s), выполняем пункт 4. Иначе полагаем s = s0, переходим к п. 9.

Этап II. Построение равномерного расписания s Î Y(sP) с числом запаздывающих заданий на каждом приборе i, равном L(s) = L(s0) – 1.

4. Полагаем s = s0, h = 1, f = f(s), где f – количество приборов с большим числом запаздывающих заданий.

5. Если для прибора h возможна перестановка 1P-0P-, то выполняем ее. Получаем расписание s¢. Переходим к п. 6, в случае отсутствия перестановки переходим к п. 7.

6. Полагаем h = h + 1. Если £ f, переходим к п. 5, иначе к п. 8.

7. Если для прибора h возможна перестановка 1P-0P-R, то выполняем ее. Переходим к п. 6.

8. Если WS(s) = 0, то реализовалась полиномиальная составляющая алгоритма, расписание s оптимально. Определяем значение оптимизируемого функционала. Иначе определяем значение оценки W отклонения функционала от оптимального, конец алгоритма.

Этап III. Построение равномерного расписания s Î Y(sP) с числом запаздывающих заданий на каждом приборе i, равном L(s) = L(s0).

9. Полагаем r = f(s) + 1.

10. Если для прибора r возможна перестановка 1P-0P-R∆, выполняем ее. Получаем расписание s¢, переходим к п. 11. В противном случае переходим к п. 12.

11. Полагаем r = r + 1. Если r £ m, идем на п. 10, иначе на п. 13.

12. Если для прибора r возможна перестановка 1P-0P-R, выполняем ее, получаем расписание s¢. Переходим к п. 11.

13. Если WS(s) = 0, то реализовалась полиномиальная составляющая алгоритма, расписание s оптимально. Определяем значение оптимизируемого функционала. Иначе определяем значение оценки W отклонения функционала от оптимального, конец алгоритма.

Трудоемкость алгоритма А2 определяется полиномом О(mn log n).

Пример 2 (к алгоритму А2). На пяти приборах необходимо выполнить множество заданий J. Исходные данные представлены в табл. 3.4 (d = 370); начальное расписание – в таблице 3.5.

Таблица 3.4 – исходные данные для примера 2

j

1

2

3

4

5

6

7

8

9

10

lj

1

1

1

1

2

3

4

4

4

5

j

11

12

13

14

15

16

17

18

19

20

lj

5

5

5

6

6

7

7

8

8

8

j

21

22

23

24

25

26

27

28

29

30

lj

8

8

8

9

9

10

10

11

11

12

j

31

32

33

34

35

36

37

38

39

40

lj

12

13

13

14

14

14

14

15

16

20

j

41

42

43

44

45

46

47

48

49

50

lj

21

22

22

24

24

25

25

26

27

27

j

51

52

53

54

55

56

57

58

59

60

lj

28

29

29

31

31

32

34

38

38

39

j

61

62

63

64

65

66

67

68

69

70

lj

39

40

40

41

42

42

43

43

46

46

j

71

72

73

74

75

76

77

78

79

80

lj

46

47

48

48

50

51

52

52

52

52

j

81

82

83

84

85

86

87

88

89

90

lj

52

52

53

54

54

55

55

55

55

56

j

91

92

93

94

95

96

97

98

99

100

lj

56

57

57

58

58

58

59

59

60

61

j

101

102

103

104

105

106

107

108

109

110

lj

62

62

63

64

65

67

68

68

71

71

j

111

112

113

114

115

116

117

118

119

120

lj

71

72

72

72

72

73

73

73

74

76

j

121

122

123

124

125

126

127

128

129

130

lj

77

78

78

80

80

81

81

82

84

84

j

131

132

133

134

135

136

137

138

139

140

lj

85

85

86

86

89

89

90

91

93

95

j

141

142

143

144

145

146

147

148

149

150

lj

95

95

96

96

96

97

97

99

100

100

Расписание s0 (таблица 3.5) имеет следующие характеристики. S(s0) = 4(s0) + 5(s0) = 6 + 17 = 23. RS(s0) = R1(s0) + R2(s0) + R3(s0) = 26 + 16 + 7 = 49. W(s0) = 23. C(s0) = 34341.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18