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

книги из ГПНТБ / Общее математическое обеспечение для решения задач экономики, статистики и управления на ЭВМ Минск-32 тезисы докладов и сообщений

..pdf
Скачиваний:
12
Добавлен:
19.10.2023
Размер:
6.91 Mб
Скачать

подблоки, число ошибок в которых превышает некоторое наперед заданное число).

4.Расчет вероятностей различных сочетаний ошибок в блок заданной длины.

Ксреднему уровню относятся модули, состоящие из одного или нескольких модулей низшего уровня, объединенных в опре­ деленной последовательности с дополнительной переработкой полученных результатов.

Кмодулям среднего уровня относятся:

1.Расчет финальных вероятностей марковских цепей.

2.Вычисление произведения матриц 2-х типов, поставленное

всоответствие с заданной логической шкалой.

3.Формирование линейного пространства строк матрицы, записанной в битовом виде.

Книзшему уровню относятся модули, реализующие процедуры матричной алгебры, ввода и вывода информации и т. д.

Кмодулям низшего уровня относятся:

1.Умножение матриц.

2.Сложение матриц.

3.Вычитание матриц.

4.Транспонирование матриц.

5.Формирование единичной матрицы.

6.Ввод прямоугольной матрицы в МОЗУ.

7.Ввод диагональной матрицы в МОЗУ.

8.Ввод числовой последовательности заданной в битовом

виде.

9.Печать прямоугольной матрицы.

10.Печать числовой последовательности в битовом виде.

Все модули, входящие в предлагаемый комплекс, находятся в полном соответствии с требованиями, предъявляемыми к СМО

«Минск-32».

Г. П. Свирид

СИСТЕМЫ АВТОМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ В ИНЖЕНЕРНЫХ РАСЧЕТАХ

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

120

где приходится использовать итерационные и градиентные мето­ ды решения, важным становится вопрос скорости вычислений. Как правило, инженерные задачи довольно хорошо расписы­ ваются на современных алгоритмических языках, что намного ускоряет процесс их реализации на ЭВМ. В настоящее время имеется несколько систем автоматического программирования, входными языками большинства которых являются алгоритми­ ческие языки типа АЛГОЛ. Некоторые из них ориентированы на получение оптимальных рабочих программ, другие — на быструю трансляцию с языка программирования. Поэтому при решении определенного класса инженерных задач возникает не­ обходимость правильного выбора системы программирования. Подобное исследование было проведено для задач теории плас­ тичности, решаемых методом конечного элемента в вариационной постановке. На 20-ти задачах исследовались временные характе­ ристики трансляторов TAM-22, ТАМ-22Т и сравнивались с уже известными характеристиками трансляторов МЭИ-3, МАЛГОЛ, АЛГЭМ.

Анализ исходных программ и счета по рабочим программам показал высокую эффективность транслятора ТАМ-22Т. Времен­ ные характеристики рабочих программ, составленных ТАМ-22Т, по сравнению с временем счета по рабочим программам, полу­ чаемым с помощью ТАМ-22, превосходят в 5—6 раз. Высокое качество программирования достигается за счет методов опти­ мизации при программировании циклов, адресации переменных с индексами. Структурный анализ исходных и рабочих программ показал, что при 16% переменных с индексами в программе уве­ личение длины рабочей программы, полученной с помощью ТАМ-22Т, по сравнению с рабочей программой, полученной с помощью ТАМ-22, составляет 1%, а уменьшение времени счета в 5 раз. Соответственно, при 90% переменных с индексами, удли­ нение рабочей программы составляет 40%, а скорость счета уменьшается в 6 раз. В обоих случаях время трансляции удлиня­ лось незначительно (15%). Число процедур в программах состав­ ляло от 10 до 12 с высокой частотой обращения к ним. Примерная длина рабочих программ равнялась 5000 командам. Трансляция исходных программ и счет по рабочим программам проводились на ЭВМ «Минск-22М», «Минск-32».

Наряду с хорошими качественными и организационными характеристиками транслятора ТАМ-22Т, следует отметить неко­ торые недостатки, в частности, организацию процедур вводавывода. Большой набор программ процедур ввода-вывода поз­ воляет выполнить достаточно разнообразные действия при

121

вводе и выводе информации. Однако нельзя считать нормальным тот факт, что при обычном выводе результатов счета на БПМ для процедур ввода-вывода резервируется 3000 ячеек памяти. Использование же программы расфиксации (СП-300) для эконо­ мии памяти при выводе является по многим причинам не удоб­ ным, а в некоторых случаях невозможным. Использование про­ цедур с телом LIBRARY (<строка>) является достаточно мощ­ ным средством использования библиотечных программ. Однако, возможность прямого включения в исходную программу опера­ торов языков низшего уровня, во многих случаях дала бы боль­ ший эффект.

Из проведенного анализа можно сделать вывод, что для ЭВМ «Минск-22М» и в режиме совместности «Минск-32» наиболее эффективной системой программирования является система ТАМ-22Т.

В. М. Школьников

ОБРАБОТКА МЕТЕОРОЛОГИЧЕСКИХ ДАННЫХ

ВРЕАЛЬНОМ МАСШТАБЕ ВРЕМЕНИ

Впроцессе автоматизации обработки метеорологической ин­ формации решается задача быстрейшего донесения до потреби­ теля готовой продукции. Задача наиболее остро стоит в части первичной обработки данных, поскольку эту стадию проходит абсолютно вся информация. Существующие схемы усвоения дан­ ных предполагают накопление поступающей в центр по линиям связи информации в течение времени, сравнимого с длитель­ ностью (3 часа) метеорологического срока наблюдения, а затем интенсивную обработку. Частота приостановки накопления оп­ ределяет задержку усвоения. Отсюда понятно стремление повы­

сить указанную частоту. В этой связи определенный прогресс представляет собой концепция, принятая в типовом программно­ аппаратном комплексе первичной обработки данных на базе ЭВМ «Минск-32», разработанном в Гидрометцентре СССР. Данные здесь воспринимаются, точнее опознаются, по отдельным сообщениям. Задержка усвоения представляет собой время пос­ тупления сообщения, поскольку длительность опознавания не­ сравнимо меньше. В этом смысле и понимается реальный мас­ штаб времени обработки. Несмотря на незначительную «глубину проникновения» опознавания, на этом примере отчетливопро­

122

сматриваются многие проблемы организации обработки в ре­ альном масштабе времени.

Исходные данные для опознавания поступают в центр по 30 телеграфным каналам связи. Процесс усвоения данных разби­ вается на три стадии: прием поступающей информации, опозна­ вание сообщений и распределение результатов. На первой ста­ дии основными проблемами являются размещение данных и своевременная передача их для обработки. На второй стадии главным является построение схемы опознавания, ориентирован­ ной на одновременное хранение малого объема данных по каж­ дому каналу, учитывая значительное количество последних. Наконец, на третьей стадии важно обеспечить информацией каждого потребителя в его собственном темпе усвоения и притом так, чтобы ограничения на объем размещаемой информации не были заметны.

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

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

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

123

работку. Объем макета сравним с величиной сообщения, однако ограничения по памяти и разброс размеров сообщений вынуж­ дают представлять некоторые из них в виде совокупности маке­ тов, которые сменяют друг друга в памяти по мере опознавания.

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

Рассмотренная схема опознавания в настоящее время реали­ зована и функционирует в составе программно-аппаратного комплекса. Объем программного обеспечения — около 12000 команд.

А. А. Кузьмина

РЕАЛИЗАЦИЯ МУЛЬТИПЛИКАТИВНОГО СИМПЛЕКСНОГО АЛГОРИТМА

Для машины «Минск-32» на ЯСК составлена программа решения общей задачи линейного программирования с двусто­ ронними ограничениями на неизвестные.

Формулировка задачи.

Требуется найти вектор х15.. ., х„ максимизирующий линей-

П

ную форму f(x) = £ CjXj и удовлетворяющей системе ограни-

чений

i=i

 

 

 

п

OijXj = b,

при I =

1, ., .. , т

(1.1)

£

2= 1

 

 

 

0 <

Xj < fij

при j =

1,.. .,п

(1.2)

Матрица А = (atj) коэффициентов при неизвестных в ограниче­ ниях (1.1) предполагается заполненной на 15—30%.

Программа составлена для машины в неполном комплекте (с оперативным запоминающим устройством объемом 16384 ячейки). Этим определяются некоторые особенности составленной программы. Составлены вспомогательные программы, работаю-

124

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

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

Матрица вводится в оперативную память и обрабатывается по частям, каждая часть содержит целое число столбцов. Выпол­ нение программы начинается с вызова в оперативную память и выполнения первой части программы, которая осуществляет процедуру «повторения», т. е. нахождения такого мультиплика­ тивного представления обратной базисной матрицы, которое содержит ровно т элементарных матриц Е, «Повторение» произ­

водится в соответсгвии со списком базисных столбцов, заданным в исходной информации.

По окончании работы этой части программы мы будем иметь обратную матрицу базиса В~1 в мультипликативном представле­ нии и базисное решение В~ 1Ъ. Может оказаться, что часть переменных не удовлетворяет ограничениям (1.2). В этом случае формируется столбец невязок и вводится в базис с большой отрицательной ценой.

Затем вводится и выполняется часть программы, осущест­ вляющая основные операции симплексного мультипликативного алгоритма. Выбирается минимальное Aj в рассматриваемой

части матрицы,

 

 

min Aj = Ак

 

 

с„В~lAj Cj,

если Xj = О

Cj саВ

1Aj,

если Xj = flj

Пусть j = К

номер, на котором достигается минимум Aj

данной части и хк = 0 (хк = fik).

125

Для выбора вектора выводимого из базиса ищется

в = min-l пи

{

 

aik > 0

aikik< О

(aik < 0)

(aik > 0)

Jx — множество номеров базисных столбцов. Если в = fi, то базис не изменяется, изменяется лишь решение.

Преобразование решения производится по формулам

Если отрицательных Aj в рассматриваемой части исходной матрицы нет, то вызывается следующая часть матрицы и т. д., пока не исследуем все части матрицы. Если ни в одной из частей матрицы отрицательных Дj нет, то в оперативную память вызы­ вается та часть программы, которая осуществляет процедуру «повторения».

«Повторение» необходимо для избавления от возможного накопления ошибок.

При повторном обнаружении ситуации: все Д; 3> 0 — решение считается найденным. Тогда в оперативную память вызывается часть программы, производящая выдачу результатов. Печатается оптимальное решение, значение целевой функции, число итера­ ций, объективно обусловленные оценки, пределы изменения коэффициентов функционала, в которых оптимальное решение не меняется, пределы изменения правых частей ограничений (1,1), в которых объективно обусловленные оценки остаются неизмен­ ными. Печатается также результат подстановки решения в систе­ му ограничений (1,1), равный

тп

£

hi— £

аих >

I = 1

; -

1

Допустимый объем решаемых задач т < 127, п s$ 1000.

126

Е. В. Кузнецова, В. Г. Сырцов

ПРОГРАММА «СИМПЛЕКС-32»

Для решения задач линейного программирования больших размеров составлена программа, реализующая модифицирован­ ный симплекс-метод с мультипликативным представлением об­ ратной матрицы на ЭВМ «Минск-32» с использованием магнит­ ных лент.

Размеры канонической матрицы ограничений практически не имеют. Матрица ограничений и элементарные матрицы под­ готавливаются и обрабатываются в «безнулевом», «уплотненном» виде, т. е. только ненулевые элементы с координатами по строке, причем, координата совмещена с мантиссой.

Предусмотрена возможность повторения счета с любой пор­ ции итераций.

Предусмотрен сброс итераций, который состоит в том, что через некоторое число итераций счет повторяется, но ввод пере­ менной в базис определяется ее наличием в последнем перед сбросом плане.

Ведется анализ: если вектор вводился, то по возможности он в базис не вводится.

Программа «Симплекс-32» снабжена комплексом обслужи­ вающих программ:

подготовка канонической матрицы ограничений на магнит­ ной ленте;

вывод на печать промежуточных, опорных и оптимальных планов в упорядоченном виде;

дублирование магнитных лент.

Я. Г. Новрузбеков, Н. С. Матвеева

ПРОГРАММЫ ДЛЯ ОТЫСКАНИЯ ЛОКАЛЬНОГО МИНИМУМА ФУНКЦИЙ МНОГИХ ПЕРЕМЕННЫХ НА ОСНОВЕ МЕТОДОВ РОЗЕНБРОКА, СОПРЯЖЕННЫХ ГРАДИЕНТОВ И ПОКООРДИНАТНОГО СПУСКА. СРАВНЕНИЕ ЛОКАЛЬНЫХ МЕТОДОВ

Описание метода Розенброка

На минимизирующую функцию сильных ограничений не накладывается. Знания аналитического выражения самой функции

127

и ее производных не требуется достаточно знать значение функции в любой точке. Поиск минимума происходит по ортогональным изменяющимся направлениям. Начальной системой ортогональ­ ных направлений S?, 5 °,.. . S ° являются координатные оси. Движение к минимуму производится по каждому из направлений

S k ( k = 1,л):

х п+1= X'1-{•• ik Sk

Сначала производится шаг произвольной длины i k. Шаг счи­ тается удачным, если,

/(* " +!) < /(*")

в противном случае шаг неудачный, В случае удачи длина шага увеличивается в а раз. В случае неудачи делается отход на вели­ чину —fi, причем движение осуществляется по направлению (— Sk). Если по каждому из ортогональных направлений S k будет сделано, по крайней мере, по одному успешному и неуспешному шагу, то производится смена ортогональных направлений.

Новые направления определятся следующим образом. При движении по каждому из направлений S k запоминается алгебра­ ическая сумма всех успешных шагов d k

Определяется следующая

система векторов

A t

= d

X

+

d 2S°2 +

. . . . + d X

Л2 =

 

 

d2S2 +

. . . . 4- d X

A„

=

 

 

 

d X

Новые ортогональные направления S}, S 2, . . . ., S„ находятся

так:

 

 

 

 

 

 

Si = B J 1^1

 

 

=

A 2

 

( A 2 • Sj) • S}

 

Si =

B 2! \B2\

 

 

B„ =

A n

£ (A„ Sj) • Sj

 

S i = B J

 

y -1

 

 

\Bn\

 

! 2-S

Характеристика программы

Программа составлена на языке АЛГАМС. Начальное зна­ чение шага выбирается в пределах 0,05 -г 0,2.

Через каждые 20 шагов запоминается минимальное значение f(x ) и сравнивается с текущим минимумом, это позволяет уло­ вить момент зацикливания в окрестности точки локального ми­ нимума. Под «зацикливанием» понимаем возврат траектории поиска в исходную точку после некоторого количества смен ортогональных направлений. Зацикливание происходит в том случае, когда в окрестности минимума величина шага оказы­ вается большой. В этом случае уменьшается в 10 раз, и так до следующего зацикливания. Найденная точка считается точкой

минимума,

если

удовлетворяются

условия: lk <

и

| F3 — F2|

< е2,

где F2 — минимальное значение

/(*)> полу­

ченное за

предыдущие 20 шагов,

F3 — минимальное значение

f(x ) за последующие 20 шагов.

Вычисление значения функции входит в программу как про­ цедура-функция.

Описание метода сопряженных градиентов

Поиск минимума f(x), где х е Е„, производится по меняю­ щимся ортогональным направлениям. Для того, чтобы построить новое направление, необходимо знать градиент функции в пре­ дыдущем шаге поиска. Новые сопряженные направления опре­ деляются по формулам:

S( + i = — di+i + fii$i

(gj+i> gj+i) i = 0, 1, 2 .. . n— i,

(9t, 9i)

(S0 = — go, go = 9rad f (x0)). Следующее приближение находим так

JC"+1 = x"+ djs„

При этом необходимо выполнение

/(* "+1) < Я**).

129

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