
книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем
.pdfне экстремальное решение, а приемлемое. В области же приемлемых решений целевые функции, как правило, получают незначительные приращения при изменении параметров; большинство оптимизируемых параметров — это параметры надежности, для которых не имеет смыс ла получать приемлемые значения с высокой точностью.
В рассматриваемых задачах выпуклого программиро вания на каждом этапе число оптимизируемых парамет ров, а также число соответствующих ограничений срав нительно невелико. Для решения таких задач наиболее эффективными оказываются прямые градиентные методы и их модификации. Суть их заключается в том, что экстремальное (приемлемое) значение целевой функции определяется путем последовательных шагов из началь ной точки, принадлежащей области Гх, по направлению градиента или в некоторых случаях по одному из на правлений, имеющих максимальное значение частной производной целевой функции. Прямые градиентные ме тоды в данном случае удобны тем, что не требуются аналитические выражения для целевой Q и ограничи вающих Wi функций. Достаточно лишь знать их значе ния, а также значения первых частных производных этих функций по оптимизируемым параметрам на каждом очередном шаге движения к экстремуму. Вместо частных
производных берутся |
приращения функции, отнесенные |
к Ах,-: |
|
д0_ |
Q(xf)-Q(xt) |
Значения приращений^ (л;™) — Q (xî) определяются при реализации алгоритмов [оценки работоспособности и эф фективности ВС.
В рассматриваемых задачах оптимизации при исполь зовании прямых градиентных методов движение изобра жающей точки в области Гх осуществляется в направле нии градиента
grad U=q grad Q + w grad W.
где q и w — коэффициенты, характеризующие изменение шага параметров.
280
Значения параметров на очередном, k+1-м шаге оптимизации вычисляются по формуле
|
<'-<+'4q^+îw>^\ |
|
|
<б-2) |
|||
причем |
|
Г т3 |
|
|
|
|
|
|
|
|
|
|
|
||
|
4 |
= |
|
дхі |
|
|
|
|
|
|
|
|
|
|
|
|
|
W} = |
RSÔ |
|
|
|
|
|
|
|
m, |
dWj_ |
|
|
|
|
|
/ |
|
|
|
|
|
|
|
m% |
/ m, |
|
|
|
|
|
|
i=\ |
7=1 |
|
|
|
|
где nii — число |
ограничивающих |
функций; m2 |
— число |
||||
оптимизируемых |
параметров. |
|
|
|
|
||
Процесс оптимизации заканчивается, если имеет место |
|||||||
{Qk+1(xk+]) |
•Q*(**)* |
V |
[Wk+1 |
|
{xk+]) |
I V |
|
V |
( А ^.k+2 = < ) V [ | Q f c + 1 ( ^ + 1 |
) |
Qa|<S 8 ], |
(6-3) |
|||
или иначе |
|
|
|
|
|
|
|
|
V K + 2 |
< < ) V [ i - Q f t + |
I |
K + ' ) < y . |
(6-4) |
(/ = 1, теа),
где Q3 — заданное значение целевой функции; es — при ращение целевой функции, которое еще имеет смысл принимать во внимание и, следовательно, продолжать оптимизацию; Ее — допустимое отклонение ограничиваю щей функции от значения WR (WK — допустимое значе ние ограничивающей функции); — минимальное при ращение і-го оптимизируемого параметра, имеющее практическое значение; ее — допустимое отклонение це левой функции от заданного значения.
2 81
Если оптимизация заканчивается вследствие того, что
V [ | Q k + 1 ( ^ + ' ) - Q 3 | < e 8 ] ,
то в качестве приемлемых принимаются значения пара метров, полученные на текущем, k+1-м шаге оптимиза ции. Если же процесс оптимизации завершен из-за не выполнения условия
11і7*+- - IT„ I < e „ (i = \7~mZ),
в качестве приемлемых принимаются те значения пара метров, которые были получены на предыдущем, k-м ша ге оптимизации.
Для решения задачи оптимизации необходимо знать границы области допустимых значений параметров, по скольку значения параметров, удовлетворяющие усло вию
\Q—Q*\<îi,
находятся именно в этой области. Поэтому в качестве предварительного этапа решения задачи оптимизации следует рассматривать задачу поиска границ области Гх на каждом этапе оптимизации.
В инженерной практике при решении задачи оптими зации параметров ВС допустимые значения оптимизи руемых параметров могут определяться не в результате решения задачи поиска границ области Гх, а на основа нии соображений практического характера. Например, максимальные и минимальные допустимые значения па раметров могут устанавливаться исходя из возможно стей, обусловленных уровнем развития промышленности (это касается прежде всего параметров надежности эле ментов ВС). Ограничения могут устанавливаться также лимитом материальных ресурсов, отпущенных на разра ботку и создание ВС.
В общем виде задача поиска границ области Гх мо жет быть сформулирована следующим образом: найти границы допустимых значений оптимизируемых парамет ров системы и ее элементов, принадлежащих множест вам Le, L g , при которых целевая функция Q системы, обслуживающей потоки требований с параметрами, при-
2 8 2
1 Выбор Q.H
от 23
1 JE
( г | і а - а 3 к & ; )
•к ZU
I
^ &і макс ила
r"è.x.*
l \ OL
Определение
HZ
о
Определение
àÛ„(fKC
Л
г п :
от2-~ 1 Г
Фиксация
границ области Гх
|
= 3 |
N |
Л |
|
Определение |
при- |
|
|
надлежности |
àQMaKCJ |
|
|
X, хг |
|
|
|
X] • — Xj |
|
|
12 |
3?2 • ~ |
|
|
|
a--=Q(x-2) |
|
|
13 |
а • =Q(Xmi) |
|
|
|
Определение |
|
|
(JS\ la"-Q3l^£J)
w xp-.-xfiaXi
т"'< г*j макс^
или ni> *
Х( -f-XlMuH/
X
Определение
20 Q. (Xj,х^Xfjjg
X
21 4 а я '=іа"т -оп і
I
(гз| ла"'< £2 )
Рис. 6-1. Алгоритм решения задачи поиска границ области Гх,
Надлежащими L n , в условиях, характеризуемых пара метрами множества L y , удовлетворяет требованию
I Q - Q a K E l .
На рис. 6-1 в обобщенном виде приведена схема мо делирующего алгоритма поиска границ области Гх. Идея построения алгоритма заключается в том, что вначале определяется начальное значение целевой функции Qa при таких значениях параметров, которые обеспечивают получение Q M S K C или Q M H H - Подобрать такие значения па раметров нетрудно, так как характер функций
Q |
/і (Xi)*,=const (1=2, 3, |
|
|
) |
|
|
і |
|
|
|
|
|
x.=.const (('=1, 3, 4 |
ma)> |
|
(6-5) |
|
Q |
fma ( X m 2 |
=const (i=l, |
2 |
ma -l)' |
) |
становится известным в результате реализации модели рующих алгоритмов оценки работоспособности и эффек тивности ВС. Далее осуществляется изменение всех па раметров на величину АХІ, т. е. определяется значение параметра на следующем шаге
х^ = Xi —L_ АХІ,
причем выбор знака для каждого параметра заранее из вестен, поскольку известны зависимости (6-5). Попутно осуществляется проверка выполнения условия
|
Л 4 л |
гмако |
или |
условия |
|
|
л^~~~л |
гмин» |
где |
х*гмиш л*імакс — предельно возможные максимальное |
и минимальное значения параметра ХІ, устанавливае мые по тем или иным соображениям.
После |
изменения |
каждого |
[параметра на АХІ опреде |
||
ляется новое значение целевой функции Q(xt, х2,..., |
Х І _ % , |
||||
> Х І + І , |
. . . , |
или Q(x"), |
и затем вычисляется |
при |
|
ращение |
|
|
|
|
|
|
|
àQ(xut) |
= |
Q{xni)-Q{xi). |
|
284
Движение к границе области, в которой выполняется условие оператора 2, осуществляется по принципу, ана логичному методу наискорейшего спуска. Каждый рабо чий шаг выполняется по тому параметру, который обес печивает получение АС?мако^^2, где £2 — минимальное изменение целевой функции, при котором еще целесооб разно продолжать изменение параметров.
Если изменение только одного параметра не приво дит к существенному изменению целевой функции, дви жение к границе области Гх производится путем одно временного изменения всех параметров (операторы 14—
23на рис. 6-1).
Врезультате реализации алгоритма поиска границ области Гх определяются граничные значения парамет ров (принадлежащие этой области), которые в модели рующем алгоритме оптимизации используются в качест
ве допустимых значений |
X я |
или хл |
J |
гмакс |
і м а н |
Конкретизируем алгоритм оптимизации и условия за вершения процесса оптимизации для каждого этапа.
Первый этап. Перемещение изображающей точки осу ществляется в направлении градиента
grad [/, = qx grad Кж + wx grad 8^ |
(6-6) |
Определение параметров на очередном шаге оптими зации производится по формуле
jc*+ I = ;c* + ft
где
Y ( д Т І ) + \ д Т а ) + ( d 7 , " a
0\ =
Ô8_ l,fd**u*.
\дТв
, Xi — T , Tc, Ts
285

Завершение процесса оптимизации производится при выполнении одного из условий
1) |
\Кж{**+1)-1к |
\<ви |
или К (xK + l) - K s , ; |
|
|
|
ѵ |
/.А |
|
3) 1 _ |
S |
<s,; |
|
|
' |
ч МИН |
1' |
|
|
4) А ^ + 2 < е 7 г , (АХі |
= АГ , Д Г С , Д Г В . С ) . |
Второй этап. Направление перемещения изображаю
щей точки |
|
grad U2= Яг grad KT + w2 grad/(B . |
(6-8) |
Определение параметров на очередном шаге оптими зации осуществляется по формуле
2 ÖXt у |
(6-9) |
|
где
tiy2 = r.ß2\
Хі |
= Т„ Т. ,А' |
Z1 пф' ^\ пф> -^Ф-к- |
|
Завершение |
процесса |
оптимизации |
осуществляется |
при выполнении одного из условий |
|
||
О | # г С * * + |
1 ) - К г . д | < е , , или 1 - К г |
( * й + І ) < е |
2)/ С г ( ^ + , ) - / С г ( л ф |
3)l - K B ( x * + 1 ) < s 4 ;
4) Д ^ + 2 < з ; , ( Д х г = Д Г л , АТвА, д х т п ф , д г т п ф , Д Г ф к ) .
Структурная схема моделирующего алгоритма опти мизации параметров ВС приведена на рис. 6-2. Схема представлена в общем виде безотносительно к какому-
286
либо этапу оптимизации. В качестве начальных значений целевой QH и ограничивающей Wu функций могут быть любые значения, соответствующие значениям парамет ров, принадлежащим области Гх.
|
|
|
|
|
1 |
|
|
|
выбор |
aH,wH |
|
|
|
|
|
|
1 |
•от 19 |
|
|
I |
|
|
|
|
|
/2' |
Определение |
|
||
|
|
|
|
|
|
|
|
|
I |
0 1 |
|
|
|
r c z _ _ |
|
|
Определение |
|
|
|
|
|
|
|
Q(xf); |
W(x") |
|
|
|
|
|
(s |
Ш")-йк(ф>0^ |
|
|
|
|
|
|
|
|
IL |
|
|
|
T T |
|
|
x"-=xi-&xi |
|
|
|
|
|
|
|
|
17 |
|
|
|
|
|
|
Определение |
|
|
|
|
3 |
|
|
Q(x"; |
W(x"j |
|
|
|
|
|
|
|
£ |
кг |
|
<5 |
ТЕ |
|
|
|
|
|
1 |
оптимальных |
||
|
|
20 |
Фиксация |
||||
|
JT |
параметроб |
по |
к-у |
|||
|
|
&агу |
оптимизации |
||||
|
dxf |
&X; |
|
|
Г |
|
|
|
Фиксация |
оптимальных |
|||||
|
|
2/ |
параметров |
по (к-И)-у |
|||
|
|
ÙXi |
шагу |
оптимизации |
|||
|
|
|
|
|
|
|
|
|
Рис. |
6-2. Алгоритм оптимизации параметров |
ВС. |
287
Группа операторов 2—9 производит пробные шаги по оптимизируемым параметрам. При каждом изменении параметра на А Х І осуществляется проверка выполнения условия
или условия
хп>хя ,
гі м и н
где Xя: , |
хА |
— допустимые |
значения величин л:г -м а к ( ., |
гмакс |
гмин |
" |
імаксі |
Xjumv
Проверка условия
< Э С < ) - < 2 * ( л ф > 0
необходима для установления направления изменения параметра х*.
Операторы 16 — 19 обеспечивают формирование при ращения hxk.+2 для каждого параметра во время следую щего, (/г+ 2)-го шага оптимизации.
6-4. ВОПРОСЫ ОПТИМИЗАЦИИ ОСНОВНОЙ ОПЕРАТИВНОЙ ПАМЯТИ
При проектировании основной оперативной памяти (ОПП) решаются вопросы организации ее структуры и функционирования.
При решении первого вопроса важным является опре деление емкости (количества ячеек) ОПП.
В тех случаях, когда ООП проектируется для хране ния известной информации (программ и данных), опре деление емкости целесообразно производить после ее предварительного распределения потому, что в процессе распределения можно минимизировать емкость.
Распределение ООП производится совместными уси лиями программистов, составителей компиляторов и разработчиков ВС, в частности разработчиков операци онных систем (ОС). Каждая группа распределяет от дельную область ООП.
Программисты распределяют область, предназначен ную для хранения переменных, задаваемых и вычисляе мых в отдельных программах, написанных на языках высокого уровня. Данные языки сконструированы так, что позволяют производить распределение ООП под кон тролем пользователя.
288
Составители компиляторов распределяют область, отводимую для хранения промежуточных переменных, вырабатываемых и используемых во время компиляции. Эти переменные не описаны в языке, поэтому компилятор определяет, сколько и какой памяти потребуется для их хранения.
Для минимизации емкостей перечисленных областей используются соответствующие методы распределения [Л. 50, 51].
Разработчики ОС распределяют область, предназна ченную для хранения массивов переменных, вырабаты ваемых и используемых во время выполнения всего ком плекса программ. Такие массивы состоят из результатов промежуточных вычислений, информации о состоянии процессора в момент прерывания программ и условий выполнения прерванных программ.
Минимизация емкости данной области при распреде лении обеспечивается присвоением элементам различных массивов одинаковых адресов. Такая возможность име ется благодаря тому, что каждый массив существует не
все время, пока выполняются все программы |
комплекса, |
||
а только во время активности соответствующей програм |
|||
мы, т. е. во время ее выполнения |
или ожидания выпол |
||
нения или прерывании. |
|
|
|
Следовательно, |
для хранения |
элементов |
такого мас |
сива нужны ячейки |
ООП только |
на время |
существова |
ния данного массива. В остальное время эти ячейки сво
бодны и могут использоваться для хранения |
элементов |
||||||||||||||
других |
массивов. |
|
|
|
|
|
|
|
|
П2 ... |
|||||
Рассмотрим |
заданный |
комплекс программ |
Я ь |
||||||||||||
..., Пт. |
При выполнении данных |
программ |
вырабатыва |
||||||||||||
ются |
соответствующие |
массивы |
Ми |
М%, ..., |
Мт. |
|
|
||||||||
Предположим, |
что |
путем |
моделирования |
или |
экспери |
||||||||||
ментально |
для |
каждого |
массива М{ определен |
его |
раз |
||||||||||
мер |
(количество |
элементов) |
—U. |
Обозначим |
|
через |
С ц , |
||||||||
элемент |
массива |
Міу |
/ — порядковый номер |
|
элемента |
||||||||||
в массиве |
M г- |
|
Тогда |
массивы |
Mit |
М2,..., |
|
Мт |
можно |
||||||
записать |
в |
виде |
сп, |
с12,..., |
си |
\ с21, |
с22 |
спу..\ |
|
сті, |
Ста' - 'c«'«"
Пусть для хранения одного элемента |
достаточно |
одной ячейки ООП. Тогда для хранения U элементов |
|
каждого массива М{ требуется участок |
размером в h |
ячеек. |
|
19—1514 |
289 |