Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем

.pdf
Скачиваний:
15
Добавлен:
25.10.2023
Размер:
14.65 Mб
Скачать

не экстремальное решение, а приемлемое. В области же приемлемых решений целевые функции, как правило, получают незначительные приращения при изменении параметров; большинство оптимизируемых параметров — это параметры надежности, для которых не имеет смыс­ ла получать приемлемые значения с высокой точностью.

В рассматриваемых задачах выпуклого программиро­ вания на каждом этапе число оптимизируемых парамет­ ров, а также число соответствующих ограничений срав­ нительно невелико. Для решения таких задач наиболее эффективными оказываются прямые градиентные методы и их модификации. Суть их заключается в том, что экстремальное (приемлемое) значение целевой функции определяется путем последовательных шагов из началь­ ной точки, принадлежащей области Гх, по направлению градиента или в некоторых случаях по одному из на­ правлений, имеющих максимальное значение частной производной целевой функции. Прямые градиентные ме­ тоды в данном случае удобны тем, что не требуются аналитические выражения для целевой 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 = r2\

Хі

= Т„ Т. ,А'

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

Соседние файлы в папке книги из ГПНТБ