Научная статья на тему 'Технология проектирования программных комплексов для задач оптимального управления'

Технология проектирования программных комплексов для задач оптимального управления Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
198
30
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Горнов Александр Юрьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Технология проектирования программных комплексов для задач оптимального управления»

ризационным ведомостям (пример интерфейса последнего компонента приведен на рис. 2);

«Сервис приема карточек», «Сервис приема ведомостей»;

ASP-сценарии раздела «Оперативные данные» Web-сайта информационной поддержки инвентаризации.

Утилиты:

«Автообновление» и «Администратор автообновления» для установки и оперативного обновления ПО на предприятиях дороги;

просмотр итогов приема карточек и ведомостей;

формирование сличительных ведомостей предприятий;

формирование сводных передаточных актов по видам деятельности;

слияние нескольких файлов данных по карточкам в один;

подсчет и просмотр статистики по посылкам

данных.

На основании всего вышеизложенного можно сделать следующие выводы. Разработка автоматизированной системы мониторинга имущества и обязательств Восточно-Сибирской железной дороги является актуальной и достаточно сложной проблемой ввиду необходимости реализации ее с использованием Internet/Intranet технологий. В статье предлагается подход к решению этой проблемы и рассматриваются результаты первого этапа разработки АСМ ВСЖД.

Библиографический список

1. Ладыженский Г.М, Системы управления базами данных -коротко о главном II СУБД. - 1995. - № 1-4.

2. Дунаев С,Б. Интранет-технологии - М.: Диалог-МИФИ, 1997. - 228 с.

3. Дунаев С,Б. Технологии Интернет-программирования. -СПб.: БХВ-Петербург, 2001. - 480 с.

4. Полехин С, Терминальный доступ - второе рождение II Компьютер-Информ, - 2002, - № 2.

(hf1p://www,ci.ru/iniorm02 02/р 17micros.htm)

5. Ананьин В, Интранет как инструмент корпоративного управления II СУБД. - 1997. - № 3. - С. 81-86.

6. Булах Е.В. Средства доступа к базам данных в Internet и свободно доступная СУБД POSTGRES'95.

(http://vww,citforum.ru/database/postgres95)

7. Мелихов С., Бочкарев 0„ Куржанский А, Методы доступа к реляционным базам данных из Internet приложений II Сети. - 1996'. - № 6. - С. 104. (http://www.osp.ru/nets/1996/06/104.htm)

8. Тэккет Р. Серверы баз данных для Web II Сети. - 1997. -№ 1, - С, 70, (http://www.osp.ru/nets/1997/01/70.htm)

9. Белайчук А,К. Мониторинг - минимально необходимые условия осмысления бизнеса II Материалы конференции «Автоматизированные Системы Управления Промышленными Предприятиями»

(http://www.bcons.ru/knowledqe/article/ran 02 2003/)

10. Глазков B.C., Сурков А.П., Каутц В.Э, и др, Железная дорога без отделений: Опыт работы Вост.-Сиб. ж.д, по переходу на безотделенческую структуру управления -Иркутск: Вост.-Сиб, ж.д., 1997.- 188 с.

А.Ю.Горнов

Технология проектировании программных комплексов для задач оптимального управления*

Введение. Практика применения программных комплексов (ПК) оптимизации динамических систем подтверждает мнение, что имеющиеся в настоящее время программные реализации, несмотря на значительные усилия большого числа специалистов, чрезмерно сложны в эксплуатации и недостаточно удобны для массового пользователя [1-3]. Основной причиной является объективная сложность и многовариантность задачи оптимального управления, препятствующая стандартизации подходов и нахождению вычислитель-

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

* Работа поддержана грантами РФФИ 03-01-00203, 04-07-90401, РФФИ-ГФЕН Китая 02-01-39006 и грантом программы интеграционных исследований СО РАН, № 2003-3.

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

Проблема проектирования программных средств рассматривалась в ряде работ (см., например [5]). Однако общие положения для рассматриваемого класса задач оптимального управления нуждаются в уточнении и коррекции с учетом специфики предметной области.

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

1. Принципиальные положения конструирования программных комплексов для задач оптимального управления (ЗОУ)

Принципиальными положениями, используемыми для проектирования программных комплексов для ЗОУ, являются следующие:

Мультиметодность. Многовариантность задачи оптимального управления и отсутствие единого метода оптимизации, способного удовлетворительно решать разнообразные задачи, приводит к необходимости иметь набор алгоритмов, обладающих существенно различными вычислительными характеристиками. Функциональная избыточность, обеспечиваемая мультиме-тодным подходом, необходима также для учета квалификации пользователя и эффективного решения вспомогательных инструментальных задач. Понятие «мультиметодность» (см., например, [4]), предлагается связать также с наличием в ПК развитых инструментальных средств исследования ЗОУ и вариантных алгоритмов решения вспомогательных задач.

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

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

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

Многоязычность. Разнохарактерные компоненты программного комплекса должны быть реализованы на языках программирования, ориентированных на создание разнотипных компонентов. Для создания вычислительных компонентов используется язык С, для реализации графических интерфейсов - специализированные языки (JAVA и т.п.). Взаимодействие компонентов программного комплекса производится через встроенную файловую систему или с помощью специальных технологий интеграции разнородных компонентов.

2. Базовые элементы вычислительной технологии для ЗОУ

Предлагается классифицировать программные компоненты, лежащие в основе программных средств оптимизации динамических систем, следующим образом: 1) алгоритмические компоненты; 2) инструментальные и сервисные компоненты; 3) метакомпоненты; 4) база тестирования.

Алгоритмические компоненты состоят из: набора алгоритмов оптимизации; набора алгоритмов решения задач Коши; набора алгоритмов решения вспомогательных задач одномерного поиска; набора алгоритмов учета терминальных и фазовых ограничений (прямые ограничения на управления учитываются в алгоритмах оптимизации конструктивно);

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

средства построения субоптимальной сетки дискретизации;

алгоритмы оценки погрешностей интегрирования и дискретизации;

критерии оценки сходимости последовательности улучшаемых управлений;

средства декомпозиции множества управляющих переменных;

алгоритмы разностной оценки производных; средства учета доступных аналитических формул для градиентов;

средства верификации аналитических формул для производных;

средства создания контрольных точек вычислительного процесса;

графические и табличные средства визуализации результатов расчетов;

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

средства автоматизации и контроля постановки задачи;

алгоритмы планирования и автоматизации расчетов;

алгоритмы принятия решений о ходе вычислительного процесса;

средства конструирования и фиксации новых вычислительных схем;

средства поиска адекватного стартового состояния и глобализации решения; механизмы настройки алгоритмических параметров;

средства информирования и консультирования пользователя;

алгоритмы обработки нештатных ситуаций (аво-стов).

База тестирования включает: библиотеку тестовых задач с известными решениями;

набор методик тестирования алгоритмов поиска оптимального управления.

3. Информационная база принятия решений

Предлагается использовать для управленческих решений, принимаемых управляющими компонентами программного комплекса, следующие типы информации: 1) экспертные знания; 2) вычисляемые оценки;

3) характеристики итерационного процесса;

4) результаты тестирования.

Экспертные знания основываются, в основном, на теоретически исследованных фактах и наблюдениях за поведением алгоритмов при решении конкретных задач. Этот тип информации является наименее формализованным из рассматриваемых и может потребовать для удовлетворительной обработки решения большого числа проблем, связанных с конструированием и изу-

чением адаптивных механизмов управления вычислительным процессом,

Характеристики итерационного процесса (последовательности значений целевого функционала и ограничений, последовательности оценок нарушения критериев остановки и др.) для развитых многошаговых методов оптимизации, к сожалению, не носят регулярного характера и не могут быть обработаны с привлечением классических методов ускорения сходимости («дельта-квадрат» метод Эйткена, «эпсилон-метод» и т.п.). Не найдено пока также возможностей эффективного применения современных методов анализа временных рядов. Предполагается применение относительно простых подходов, направленных на предварительную обработку информации и основанных на процедурах фильтрации и усреднения.

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

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

4. Режимы функционирования программного комплекса для решения ЗОУ

Полная инкапсуляция вычислительного ядра программного комплекса при решении сложных прикладных задач может оказаться невозможной. Кроме того, потенциальные пользователи программного комплекса могут иметь различную квалификацию и степень информированности в вопросах вычислительных алгоритмов. При этом неизбежно возникает проблема поиска компромисса между гибкостью вычислительной технологии и удобством доступа к ней. При создании программного комплекса применяется реализация трех режимов функционирования, специализированных на различные типы пользователей: 1) режим фиксированной вычислительной схемы; 2) режим ручного управления; 3) автоматизированный режим.

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

может быть использован для достижения регулярности при проведении серийных расчетов.

Режим ручного управления является традиционным способом эксплуатации программных средств оптимизации. Пользователю предоставляется возможность управлять ходом вычислительного процесса, используя диалоговую систему или подобные интерфейсные средства, при этом он должен иметь достаточную квалификацию для принятия всех управленческих решений и вся ответственность за их качество лежит на нем. Для реализации этого режима не требуется применения никаких новых технологий - по существу это достигнутый к настоящему времени уровень автоматизации пользовательских интерфейсов.

Автоматизированный режим предполагает практически полное устранение пользователя от принятия решений по управлению вычислительным процессом и оставляет ему функцию наблюдателя. Все решения обеспечиваются внутренними алгоритмами управления, за общим ходом вычислений следит супервайзер, который должен обеспечить достижение требуемых целей и на котором в конечном итоге лежит ответственность за качество решения. Пользователь может также отключить выдачу промежуточных результатов расчетов и воспринимать ПК как «черный ящик», на входе которого - постановка задачи, а на выходе - ее решение. Такой режим, конечно, является неоптимальным по затратам процессорного времени, но может быть единственно возможным способом эксплуатации ПК для неспециалиста в области программирования или при проведении серийных расчетов.

5. Функциональные подсистемы программной технологии

Программная технология реализации программного комплекса для решения ЗОУ должна включать следующие функциональные подсистемы: 1) ревизор программной постановки задачи; 2) конструктор стартового состояния; 3) настройщик дискретизации;

4) резидент обработки нештатных ситуаций;

5) конструктор вычислительных схем; 6) менеджер настройки управляющих параметров; 7} менеджер постоптимизационного анализа; 8) супервайзер вычислительного процесса.

Ревизор программной постановки задачи. Программная постановка ЗОУ, задаваемая на языке программирования, является трансляцией технологической постановки задачи в вид, согласованный с входными форматами программного комплекса. При создании программной постановки пользователем вполне возможны ошибки, в том числе фатальные.

К нефатальным ошибкам относятся: а) превышение нижней границы параллелепипедных ограничений над верхней; б) выход начального приближения управляющих воздействий за параллелепи-

педные ограничения; в) выход алгоритмических параметров за границы интервалов их определения.

К фатальным ошибкам относятся: а) выход размерностей задачи за границы их допустимых интервалов; б) отсутствие формул для компонентов векторов правых частей системы и ограничений; в) ошибки открытия рабочих файлов программного комплекса; г) превышение полномочий пользователя по размерностям задачи.

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

Функции, выполняемые ревизором программной постановки задачи:

а) нахождение ошибок в программной постановке задачи;

б) классификация ошибок на фатальные и нефатальные;

в) исправление нефатальных ошибок;

г) прекращение работы программного комплекса при обнаружении фатальных ошибок;

д) информирование пользователя о принятых решениях.

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

Функции, выполняемые конструктором стартового состояния:

а) диагностика неудовлетворительного стартового состояния;

б) построение приемлемого начального приближения.

Настройщик дискретизации. От адекватной настройки взаимосвязанных алгоритмов дискретизации и интегрирования системы дифференциальных уравнений самым существенным образом зависит скорость работы программного комплекса (около 99% процессорного времени тратится на решение задач Коши).

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

Функции, выполняемые настройщиком дискретизации:

а) построение субоптимальной сетки дискретизации;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

б) оценка точностей интегрирования прямой и сопряженной систем;

в) динамическая подстройка параметров дискретизации;

г) проверка точности приближений, подозрительных на оптимальность.

Резидент обработки нештатных ситуаций. Работа с широким классом задач оптимального управления приводит к регулярному появлению задач, имеющих различные особенности (нефизичности, жесткие системы дифференциальных уравнений и др.) или вообще не имеющих решений при некоторых управлениях. В таких ситуациях программный комплекс должен быть защищен от «авостов» и фатальных ошибок, влекущих принудительное прекращение вычислений, а пользователь получать информацию, необходимую для коррекции задачи. Обработка «авостов» производится с использованием техники флагов и основана на декомпозиции всех алгоритмов на содержательно трактуемые составные части. «Авосты» могут происходить при интегрировании прямой и сопряженной систем, вычислении правых частей и функций ограничений, вычислении производных функций в постановке задачи или их разностных оценок. Набор действий по преодолению ситуации включает возврат в ближайшую точку фиксации вычислительного процесса и применение параметризации по времени или параллелепипеду прямых ограничений или ограничение размера вариаций управления. К «авостам» могут приводить также динамические ошибки в процедурах программной постановки задачи, не отслеживаемые ревизором программной постановки, исправление которых без участия пользователя пока представляется проблематичным.

Функции, выполняемые резидентом обработки нештатных ситуаций:

а) перехват управления после «авоста»;

б) диагностика вычислительной подзадачи, приведшей к прерыванию расчета;

в) информирование пользователя о месте «авоста»;

г) принятие решения о дальнейшем ходе вычислительного процесса.

Конструктор вычислительных схем. Вычислительные схемы, положенные в основу программного комплекса, могут быть классифицированы по четырем независимым конструкционным критериям («координатным осям»): а) метод оптимизации; б) способ дискретизации; в) способ декомпозиции вариабельного множества; г) метод параметризации элементов постановки задачи. Таким образом, можно рассмотреть пространство алгоритмов оптимизации, охватывающее все варианты конструирования алгоритмов для ЗОУ, которые возможно сконструировать на основе имеющейся технологической базы. Каждая точка (элемент) из множества в рассматриваемом дискретном четырехмерном пространстве соответствует конкретному вычислительному алгоритму. Свойства рассматриваемого множества алгоритмов изучены пока довольно слабо. В программном комплексе имеется набор фиксированных схем (точек в рассматриваемом множестве), проверенных на практике и предлагаемых пользователю на выбор. Для решения сложных задач этого набора может оказаться недостаточно, поэтому целесообразно также реализовать диалоговые средства, позволяющие квалифицированному пользователю после проведения пробных расчетов в режиме ручного управления подобрать уникальную схему, наиболее эффективную для конкретной задачи.

Функции, выполняемые конструктором вычислительных схем:

а) выбор алгоритма (или последовательности) алгоритмов оптимизации;

б) выбор стратегии уточнения дискретизации задачи;

в) выбор последовательности процедур декомпозиции;

г) выбор параметризуемых элементов ЗОУ и стратегии метода продолжения по параметру;

д) выбор способов принятия решений в каждом узле «дерева расчетов»,

Менеджер настройки управляющих параметров. Настройка алгоритмических параметров является не самым важным, но все-таки существенным параметром повышения эффективности алгоритмов, Одна из популярных в настоящее время концепций предполагает повышение внутреннего уровня автоматизации оптимизационных модулей и, в идеале, приведение интерфейсов к одному единственному, масштабированному в отрезок (0,1) параметру, означающему «грубо-точно». Такой подход вряд ли позволит повысить скорость расчетов более, чем на проценты, но сильно

усложнит понимание логики его функционирования и понизит возможности управления его работой. В программном комплексе для решения ЗОУ предлагается сохранение компромиссных значений параметров «по умолчанию» и разработка адаптивных механизмов подстройки параметров к конкретной ситуации,

Функции, выполняемые менеджером настройки управляющих параметров:

а) настройка алгоритмических параметров;

б) информирование пользователя о принятых решениях.

Менеджер постоптимизационного анализа.

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

Проблему оценки качества полученного оптимального управления можно разбить на два основных вопроса: а) качество аппроксимации исходной непрерывной задачи аппроксимирующей дискретной; б) качество решения дискретной задачи оптимального управления. Качество дискретизации задачи оценивается по правилу Рунге: выбирается более густая сетка дискретизации и система интегрируется более точным методом с уменьшенной локальной точностью. Сравнение масштабированных значений текущего и уточненного интегрирования дает оценку погрешности интегрирования и дискретизации одновременно.

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

Функции, выполняемые менеджером постоптимизационного анализа:

а) оценка качества дискретизации по правилу Рунге;

б) оценка точности интегрирования;

в) верификация решения с помощью поисковых методов;

г) оценка результатов дополнительных расчетов;

д) принятие решения о приближенной оптимальности текущего управления или о продолжении итеративного процесса.

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

Функции, выполняемые супервайзером вычислительного процесса:

а) контроль зацикливания;

б) проверка корректности входных и выходных данных всех компонентов;

в) диагностика нетиповых ситуаций, не предусмотренных другими подсистемами программного комплекса;

г) информирование пользователя о наличии проблем, преодоление которых невозможно без его вмешательства,

Заключение. Предлагаемая технология позволяет эффективно учесть специфику предметной области -задач оптимизации динамических систем. Рассматриваемая технология проектирования программных комплексов использована при реализации ПК OPTCON (MS DOS), ПК OPTCON-2 (MS Windows) и вычислительного сервера OPTCON, позволяющего решать задачи оптимального управления через Интернет.

Библиографический список

1. Федоренко Р.П. Приближенное решение задач оптимального управления. - М.: Наука, 1978. - 488 с.

2. Евтушенко Ю.Г, Методы решения экстремальных задач и их применение в системах оптимизации. - М.: Наука, 1982, - 432 с.

3. Тятюшкин А.И, Численные методы и программные средства оптимизации управляемых систем, - Новосибирск: Наука, 1992. - 193 с.

4. Горнов А.Ю., Тятюшкин А.И,, Программная реализация мультиметодной технологии для задач оптимального управления II Сб. трудов 3-й Международной конференции «Проблемы управления и моделирования в сложных системах». - Самара, 2001. - С, 301-307.

5. Лэгоньков В,И. О построении программного обеспечения вычислительного эксперимента // Алгоритмы и алгоритмические языки, Пакеты прикладных программ, Вычислительный эксперимент, - М,: Наука, 1983. - С, 86-101.

i Надоели баннеры? Вы всегда можете отключить рекламу.