Н.А. Беляков, Б.Е. Винтайкин
8
приближений выбирается некоторое начальное значение шага β
k
= β
0
,
далее осуществляется движение в направлении, противоположном
градиенту целевой функции. Если условие монотонности (9) не
нарушено, то осуществляется переход к следующему приближению,
а если нарушено, то производится дробление шага с некоторым за-
данным коэффициентом с последующей попыткой осуществить
спуск.
Для учета ограничений (5) и (6) использована разновидность ме-
тода штрафных функций [8]. Целевая функция представлена в виде
,
;
ˆ
,
,
F
F
x x
x
x
где Ω – область допустимых значений, задаваемая ограничениями (5)
и (6). В реальной вычислительной системе вместо +∞, естественно,
использовалось максимальное значение, которое может принимать
целевая функция (вследствие аппаратных ограничений вычислитель-
ной системы).
Схема параллельных вычислений.
Исходная задача может
быть сформулирована в виде функции Φ
p
(
x
), где
x
– вектор аргу-
ментов, который в данном случае представляет собой и входной, и
выходной параметры алгоритма, выражаемого этой функцией (на
входе – начальное приближение алгоритма минимизации
x
0
, на вы-
ходе – искомая точка минимума
x ̃
= (
x ̃
(1)
,
1
)), а
p
– вектор парамет-
ров задачи (включает состав исходного сплава
x
(0)
и температуру
T
:
p
= (
x
(0)
,
T
)). Элементы вектора
x
варьируются в процессе решения
задачи, а вектор
p
остается постоянным:
const
min
.
F
p
p p
x
x
x
(10)
Причем требуется многократно решать эту задачу для разных
значений параметров
p
. Решение задачи для каждого отдельного зна-
чения
p
представляет (в данном случае) последовательный процесс
градиентной минимизации, требующий большого объема вычисле-
ний, вследствие громоздкости вида целевой функции. Но решение
задачи для одного значения
p
не зависит от решения для другого зна-
чения, т. е. решать задачу для разных значений
p
можно параллельно
в рамках SPMD-модели параллельных вычислений (Single Pro-
gram/Multiple Data), где разные программные потоки выполняют раз-
ные части одной и той же программы с разными данными [9].
Для обеспечения максимальной независимости программной
системы параллельной обработки от конкретной прикладной задачи
(а следовательно, и возможности ее повторного использования для