Научная статья на тему 'Вычислительный сервер для решения задачи оптимального управления'

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

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

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Подкаменный Дмитрий Владимирович

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

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

К(1) = 0,111204; К(2) = 0,10012; К(3) = 0,103979; К(4) = 0,109362. Наименьшее значение оценочной функции получено для второго подразделения, которое в соответствии с (7) и является наилучшим.

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

БИБЛИОГРАФИЯ

1. Системный анализ и проблемы пожарной безопасности народного хозяйства /Под

Таблица 5

Результаты оценки оперативной деятельности для каждой временной характеристики.

Подразделение Частный показатель оценки временной характеристики

F1 F2 F3

А ! 0,096521 0,120448 0,110118

А 2 0,11077 0,092282 0,10374

А з 0,103054 0,10847 0,094139

А 4 0,118534 0,108684 0,097297

ред. Н.Н. Брушлинского. - М.: Стройиздат, 1988.- 413 с.

Подкаменный Д.В.

УДК 519.688

ВЫЧИСЛИТЕЛЬНЫЙ СЕРВЕР ДЛЯ РЕШЕНИЯ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ

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

Этот процесс наблюдается во всех областях знаний современного общества. Наиболее характерными примерами могут служить пакет Microsoft Office Project 2007, позволяющий проектной группе работать над общими проектами в рамках Web-приложения; пакет Google

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

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

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

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

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

Построению численных процедур поиска оптимальных решений в задачах оптимизации динамических систем за последние 40 лет посвящено огромное количество публикаций, среди которых важное место занимают работы Р.Беллмана, А.Брайсона, О.В.Васильева, В.В.Величенко, Р.Габасова и Ф.М.Кирилловой, Ю.Г.Евтушенко, В.И.Гурмана, В.А. Батурина, В.Ф.Демьянова и А.М.Рубинова, Ю.М.Ермольева, Н.Н.Красовского, В.Ф. Кротова, Н.Н.Моисеева, В.А.Срочко, А.И.Тятюшкина, Р.П.Федо-ренко, Ф.Л.Черноусько, Т.М.Энеева.

Большинство разработанных методов для задач оптимального управления были реализованы в виде программ, реализующих алгоритмы, но не предоставляющих удобного сервиса, и, как следствие, непригодных для широкого использования. Применение алгоритмов оптимизации на практике привело к появлению нескольких проектов программных комплексов для задач оптимального управления: система «ДИСО», разрабатываемая в ВЦ АН СССР под руководством Ю.Г.Евтушенко [3], комплекс программ «CONTROL» (Р.П.Федо-ренко, ИПМ АН СССР) [4], ППП «МАПР» и ППП «КОНУС» (А.И.Тятюшкин, Иркутский ВЦ СО АН СССР) [5], комплекс программ по решению задач оптимального управления (В.И. Гурман, В.А. Батурин, Д.Е. Урбанович, Иркутский ВЦ СО АН СССР).

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

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

дачи оптимального управления. В 1990 г. по заказу ИПС АН СССР под руководством А.Ю. Горнова, ИрВЦ СО РАН, был разработан комплекс программ «OPTCON» для IBM PC [6], который удовлетворял означенным требованиям, был использован для решения большого количества прикладных задач оптимального управления и применяется в настоящее время.

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

За рубежом интерес к применению методов оптимального управления, наоборот, растет. В электронных базах адресов организаций, развивающих тематики, связанные с оптимизацией динамических систем, зарегистрировано несколько сотен организаций - университетов и лабораторий (из России — только одна). Большой проект реализуется фирмой «Боинг»: разработан и предлагается широкому пользователю программный комплекс для задач оптимального управления - SOCS («Sparse Optimal Control Software», руководитель — J.Betts). Комплекс реализован в традиционном стиле — как пакет программ огромного объема со сложным интерфейсом. В рамках системы MATLAB реализуется проект RIOTS_95. В Германии под руководством К.Шиттковского реализуется большой пакет программ для задач оптимального управления, основанный на методах последовательного квадратичного программирования. Концептуально наиболее близким к проекту, выполненному под руководством А.Ю. Горнова, является пакет NEOS [7].

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

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

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

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

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

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

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

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

В соответствии с этим определением открытая спецификация не зависит от техноло-

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

В последнее время данная тенденция получила мощный импульс благодаря развитию Internet. Технологии CORBA, Java, XML — это открытые стандарты, и движение в этом направлении продолжается. Развитием данной тенденции стало движение Open Source Software (программное обеспечение с открытым кодом), это означает, что исходный код программы открыт, и любой желающий может вносить туда свои изменения.

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

Таким образом, появилась необходимость в стандартизации этих компонентов и механизмов их взаимодействия. Основой для этого послужили существующие стандарты сетевых протоколов [8].

Программный комплекс (ПК) Web-Optcon представляет собой Web-приложение в трехзвенной архитектуре «клиент-сервер» и реализует шаблон Thin Web Client (тонкий Web-клиент).

Первый уровень — это уровень интерфейса пользователя, он отвечает за представление информации пользователю и отображает действия пользователя в вызовы функций. Фактически соответствует компоненту "Вид" в архитектуре "Модель/Вид/Контроллер".

Второй уровень — это уровень логики предметной области, реализующий основную функциональность приложения, фактически соответствует компонентам "Контроллер" и

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

"Модель" в архитектуре "Модель/Вид/Контроллер". Данный уровень выполняет функции сервера для интерфейса пользователя и клиента для уровня ресурсов.

Третий уровень — это уровень ресурсов. Обычно на этом уровне функционирует SQL сервер, либо расположено какое-либо хранилище данных. В данном случае данные моделей хранятся в файлах формата ПК Опткон, а служебная информация представлена в виде XML-хранилища.

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

За отделение расчетной части от бизнес-логики отвечает со стороны расчетной части RMI-сервер вычислительного сервера, который предоставляет RMI-интерфейс к ППП Optcon, а со стороны бизнес-логики — прокси-класс вычислительного сервера.

Общий вид архитектуры Web-приложе-ния представлен на рис. 1.

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

Основными требованиями, выдвинутыми к RMI-серверу для достижения поставленного назначения, являются:

1) работа с исполняемыми модулями ППП Optcon;

2) работа с данными ППП Optcon;

3) предоставление программного интерфейса (ПИ) для 1) и 2).

Фактически RMI-сервер представляет собой полноценный сервер приложений (СП), который можно использовать как в различных программных комплексах, так и в качестве компонента SOA.

Для централизации всех запросов к RMI-серверу ПК Optcon и для введения дополнительного уровня абстракции с целью увеличить интероперабельность, переносимость и надежность ПК был введен компонент RMI-прокси.

Рис.1. Архитектура вычислительного сервера

RMI-прокси отделяет запросы классов состояний и сервлетов от RMI-сервера. Интерфейс RMI-прокси повторяет интерфейс RMI-сервера, за исключением того, что все его методы являются локальными. Это позволяет, во-первых, централизовано контролировать «не надежный» канал связи с RMI-сервером, а во-вторых, не заботится о деталях реализации протокола взаимодействия ПК Ор1еоп с сервером вычислений. В дальнейшем можно без труда добавить возможность использования вместо удаленного RMI-сервера, локального вычислителя либо реализовать сервер вычислений с использованием, например web-служб, CORBA или любой другой необходимой технологии.

Недостатком использования RMI-прокси является возросшая трудоемкость реализации ПК.

Реализацией конкретных действий со стороны интерфейса пользователя являются сер-влеты действий. Сервлет действий ПК Ор1еоп представляет собой ^уа-сервлет, выполняющийся в контексте сессии или в контексте запроса и вызывающий определенный метод RMI-сервера ПК Ор1еоп, используя RMI-про-кси ПК Ор1еоп. Иными словами, сервлеты действий являются фасадами действий для реальных прецедентов.

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

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

построения графиков, сервлет запрашивает текущие данные от RMI-сервера.

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

JSP (Java Server Pages) — технология, позволяющая формировать HTML содержимое на стороне web-сервера с помощью языка Java. В ПК Optcon интерфейс пользователя, объект вид паттерна «модель-вид-контроллер» реализуется с помощью набора JSP-страниц. На JSP-страницы возлагается функции отображения текстовой, табличной и иной информации, создания форм для ввода данных.

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

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

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

БИБЛИОГРАФИЯ

1. Болдырев Е.А. Вычислительная инфраструктура научных исследований и подход к

Рис.2. Общий вид интерфейса вычислительного сервера

ее реализации// Информационные и математические технологии в науке, технике и образовании. — 2005. — ч.1. — С. 65 — 72.

2. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. I. Foster, C. Kesselman, S. Tuecke. International J. Supercomputer Applications, 15(3), 2001. pp. 32-41.

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

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

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

6. Горнов А.Ю., Диваков А.О. Комплекс программ «OPTCON» для численного решения задач оптимального управления. Руководство пользователя // Отчет по х/д № 32/90. Иркутск, 1990.- 47 с.

7. Michael C. Ferris, Michael P. Mesnier and Jorge J. Morn NEOS and Condor: solving optimization problems over the Internet ACM Transactions on Mathematical Software // Volume 26 , No. 1 (Mar. 2000), pp. 1 - 18.

8. Батурин В.А., Горнов А.Ю., Массель Л.В. Internet-технология математического моделирования и вычислительного эксперимента для решения задач оптимального управления // Вычислительные технологии", т.7, ч.1. — Новосибирск, 2002.- С. 339-346.

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