114
Редакционная коллегия Тикменов Василий Николаевич главный редактор, доктор технических наук, генеральный директор АО «НТЦ ЭЛИНС» Кобзарь Александр Иванович заместитель главного редактора, профессор, доктор технических наук, советник генерального директора АО «НТЦ ЭЛИНС» Горячев Александр Васильевич профессор, доктор технических наук, генеральный директор ЗАО «ЦКБ информационно-управляющих систем» Исаченко Александр Николаевич доцент , кандидат физико-математических наук, доцент кафедры информационных систем управления БГУ (Республика Беларусь) Кожухов Игорь Борисович профессор, доктор физико-математических наук, профессор кафедры высшей математики 1 НИУ МИЭТ Купцов Сергей Владимирович старший научный сотрудник, кандидат технических наук, начальник отделения АО «НТЦ ЭЛИНС» Лисов Олег Иванович профессор, доктор технических наук, профессор кафедры информатики и программного обеспечения вычислительных систем НИУ МИЭТ Овчаров Александр Тимофеевич профессор, доктор технических наук, профессор кафедры архитектурного проектирования ТГАСУ Селищев Сергей Васильевич профессор, доктор физико-математических наук, заведующий кафедрой биомедицинских систем НИУ МИЭТ Терещенко Сергей Андреевич профессор, доктор физико-математических наук, профессор кафедры биомедицинских систем НИУ МИЭТ Тимошенков Сергей Петрович профессор, доктор технических наук, заведующий кафедрой микроэлектроники НИУ МИЭТ Щагин Анатолий Васильевич профессор, доктор технических наук, заведующий кафедрой систем автоматического управления и контроля НИУ МИЭТ Научный журнал Учредитель АО «НТЦ ЭЛИНС» Издаётся с июня 2014 года Выходит один раз в три месяца Свидетельство о регистрации средства массовой информации ПИ ФС77-56811 от 29 января 2014 года ISSN 2312-9719 Журнал включён в систему Российского индекса научного цитирования Адрес редакции 124460, Москва, Зеленоград, Панфиловский просп., д. 10 Тел. редакции 8 (495) 651 08 86, доб. 4144 E-mail [email protected] www.elins-journal.ru Подписной индекс в каталоге «Почта России» 12793 Редакционно- издательская группа Т . В. Мягченкова ведущий редактор М. В. Ляукина ответственный секретарь При перепечатке материалов ссылка на журнал «Электронные информационные системы» обязательна © АО «НТЦ ЭЛИНС» Электронные информационные системы

› EIS12.pdf · Редакционная коллегия Тикменов Василий Николаевич — главный редактор, доктор технических

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Редакционная коллегияТикменов Василий Николаевич — главный редактор,

    доктор технических наук, генеральный директор АО «НТЦ ЭЛИНС»

    Кобзарь Александр Иванович — заместитель главного редактора, профессор, доктор технических наук, советник генерального директора АО «НТЦ ЭЛИНС»

    Горячев Александр Васильевич профессор, доктор технических наук, генеральный директор ЗАО «ЦКБ информационно-управляющих систем»

    Исаченко Александр Николаевич доцент, кандидат физико-математических наук, доцент кафедры информационных систем управления БГУ (Республика Беларусь)

    Кожухов Игорь Борисович профессор, доктор физико-математических наук, профессор кафедры высшей математики №1 НИУ МИЭТ

    Купцов Сергей Владимирович старший научный сотрудник, кандидат технических наук, начальник отделения АО «НТЦ ЭЛИНС»

    Лисов Олег Иванович профессор, доктор технических наук, профессор кафедры информатики и программного обеспе чения вычислительных систем НИУ МИЭТ

    Овчаров Александр Тимофеевич профессор, доктор технических наук, профессор кафедры архитектурного проектирования ТГАСУ

    Селищев Сергей Васильевич профессор, доктор физико-математических наук, заведующий кафедрой биомедицинских систем НИУ МИЭТ

    Терещенко Сергей Андреевич профессор, доктор физико-математических наук, профессор кафедры биомедицинских систем НИУ МИЭТ

    Тимошенков Сергей Петрович профессор, доктор технических наук, заведующий кафедрой микроэлектроники НИУ МИЭТ

    Щагин Анатолий Васильевич профессор, доктор технических наук, заведующий кафедрой систем автоматического управления и контроля НИУ МИЭТ

    Научный журнал Учредитель

    АО «НТЦ ЭЛИНС» Издаётся

    с июня 2014 года Выходит

    один раз в три месяца Свидетельство о регистрации

    средства массовой информации

    ПИ № ФС77-56811 от 29 января 2014 года

    ISSN 2312-9719Журнал включён в систему Российского индекса научного цитирования

    Адрес редакции 124460, Москва, Зеленоград,

    Панфиловский просп., д. 10Тел. редакции

    8 (495) 651 08 86, доб. 4144E-mail

    [email protected]Подписной индекс

    в каталоге «Почта России»12793

    Редакционно-издательская группаТ. В. Мягченкова —ведущий редакторМ. В. Ляукина —ответственный секретарь

    При перепечатке материалов

    ссылка на журнал «Электронные

    информационные системы» обязательна

    © АО «НТЦ ЭЛИНС»

    Электронные информационные

    системы

  • Editorial Team

    Vasilij N. Tikmenov — Editor-in-chief,Doctor of Engineering, Director General at JSC «STC ELINS»

    Alexander I. Kobzar — Deputy Editor-in-chief,professor, Doctor of Engineering, Adviser Director General at JSC «STC ELINS»

    Alexander V. Goryachev professor, Doctor of Engineering, Director General at JSC «CCB ICS»

    Alexander N. Isachenko associate professor, Candidate of Physics and Mathematics, senior lecturer of Department of information management systems BSU (Belarus)

    Igor B. Kozhukhov professor, Doctor of Science in Physics and Mathematics, Professor of Higher Mathematics Department № 1 at MIET

    Sergey V. Kuptsov senior researcher, Candidate of Engineering, head at JSC «STC ELINS»

    Oleg I. Lisov professor, Doctor of Engineering, Professor of Information Technology and Computing System Software Department at MIET

    Alexander T. Ovcharov professor, Doctor of Engineering, professor of Architectural Design Department at Tomsk State University of Architecture and Building

    Sergey V. Selishchev professor, Doctor of Physics and Mathematics, head of Biomedical Systems Department at MIET

    Sergey A. Tereshchenko professor, Doctor of Physics and Mathematics, professor of Biomedical Systems Department at MIET

    Sergey P. Timoshenkov professor, Doctor of Engineering, head of Microelectronics Department at MIET

    Anatolii V. Schagin professor, Doctor of Engineering, head of Automated Control Systems Department at MIET

    Academic Periodical

    Founders of JSC «STC ELINS»

    Issued from June 2014

    Issued once per three months

    Certifi cate of mass medium

    registration ПИ № ФС77-56811

    as of January 29, 2014

    ISSN 2312-9719

    The journal is included in the system of Russian list of journals indexed

    Address of Editorial Offi ce

    10 Panfi lovskiy pr., Zelenograd,

    Moscow, 124460

    Phone of Editorial Offi ce

    8 (495) 651 08 86, ext. 4144E-mail

    [email protected]

    www.elins-journal.ru

    Subscription index in the catalogue

    of «Russian Post» 12793

    Editorial-and-Publishing Group

    T. V. Myagchenkova —Managing Editor

    M. V. Lyaukina — Executive Secretary

    In case of reprinting a reference to

    «Electronic Information Systems» magazine

    is mandatory© JSC «STC ELINS»

    ElectronicInformationSystems

  • 3

    СодержаниеЭИС № 1 (12) 2017

    Информационные технологии и программное обеспечение . . . . . . . . . . . . . . . . . 5

    Лисов О. И. Генетические алгоритмы решения переборных задач оптимизации автоматизированных информационных систем . . . . . . . . . . . . . . . 5

    Листопадова Ю. И., Николаев В. Т., Сапожникова Л. Б. Разработка приложения для проектирования маломощных силовых трансформаторов. 3. Структура проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    Проектирование и моделирование электронных устройств и систем управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Балабанов А. А., Бирюлина Р. М., Орлова Д. А., Устинов Ю. А. Импедансный метод исследования электронных функциональных узлов . . . . . . . . . . . . . . . . . . . . . . 31

    Мичурин Р. А. Моделирование системы управления двигателем постоянного тока с линейно-квадратичным регулятором . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Николаев В. Т. Разработка алгоритма расчёта силовых трансформаторов малой мощности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    Математика и математическое моделирование . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Терещенко А. М., Ревякин А. М. Моделирование технологических процессов в чистых производственных помещениях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Милая А. С., Савкова Е. О. Формализация задачи принятия решения об оптимизации работы по обслуживанию клиентов в условиях неопределённости . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

    Дяченко О. Н., Дяченко В. О. Альтернативный метод укорачивания циклических кодов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    Новости науки и техники . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    Перов Ю. В. Обзор научных публикаций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    Сведения об авторах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    Список статей, опубликованных в научном журнале «Электронные информационные системы» в 2016 году . . . . . . . . . . . . . . . . . . . . 108

    Требования к оформлению рукописей для опубликования в научном журнале «Электронные информационные системы» . . . . . . . . . . . 112

  • 4

    ContentsEIS № 1 (12) 2017

    Information Technologies and Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Lisov O. I. Genetic algorithms for solving search problems in optimization of automated information systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Listopadova Y. I., Nikolaev V. T., Sapozhnikova L. B. Development of application for low-power transformer designing. 3. Project structure . . . . . . . . . . . . . . . . . . . . 20

    Design and Modeling of Electronic Devices and Control Systems . . . . . . . . . . . . . . . . 31

    Balabanov A. A., Biryulina R. M., Orlova D. A., Ustinov J. A. Impedance method for examination of electronic functional units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Michurin R. A. Simulation of DC motor control system with linear-quadratic regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Nikolaev V. T. Development of small power transformers design algorithm . . . . . . 59

    Mathematics and Mathematic Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Tereshchenko A. M., Revyakin A. M. Simulation of clean room production processe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    Milaya A. S., Savkova E. O. Formalization of a problem of making decision on optimization of customer service in uncertainty conditions . . . . . . . . . . . . . . . . 82

    Dyachenko O. N., Dyachenko V. O. Alternative method for shortening cyclic codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    Scientifi c and Technical News . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    Perov Y. V. Overview of scientifi c publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    Information about the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    List of Papers Published in the Academic Periodical «Electronic Information Systems» in 2016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    Requirements to Manuscript Execution for Publishing in the Academic Periodical «Electronic Information Systems» . . . . . . . . . . . . . . . . 112

  • 5

    Информационные технологии и программное обеспечение

    Information Technologies and Software

    УДК 004.8О. И. Лисов Генетические алгоритмы решения переборных задач оптимизации автоматизированных информационных систем

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

    O. I. Lisov Genetic algorithms for solving search problems in optimization of automated information systems

    Genetic algorithms for solving search problems in optimization of large systems have been examined in comparison with known classical methods. The basic concept of bioinspired evolutionary methods of optimization of automated in-formation systems, as well as advantages and disadvantages of resulting genetic computational algorithms are described.Key words: optimization problem, genetic algorithm, evolutionary algorithms, population, chromosome, locus, genotype, alleles, automated information system.

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

    – оптимизации подлежит только часть системы, имеющая отношение к обработке информации;

  • 6

    Электронные информационные системы № 1 (12) 2017

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

    – порядок реализации процедур определён и не подлежит изменению и оптимизации;

    – природа системы допускает декомпозицию по видам обеспечения про-цессов обработки информации;

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

    – компоненты подсистем — видов обеспечения — однотипны и частич-но взаимозаменяемы (для обеспечения возможности выбора);

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

    – рассматриваемые системы включают в себя большое количество ком-понентов.

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

    Постановка задачи оптимизации физического представления о назначе-нии и степени полезности объекта преобразуется в математическую форму-лировку экстремальной задачи, предполагающую формулировку цели и по-нятия оптимизации. Цели оптимизации формулируются в терминах критерия оптимальности — правиле предпочтения сравниваемых вариантов системы. Математическая модель цели оптимизации — целевая функция Q(x), аргу-ментами которой являются управляемые параметры с вектором x.

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

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

  • 7

    Информационные технологии и программное обеспечение

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

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

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

    Метод Гаусса—Зейделя [1] (наискорейшего покоординатного спуска). Точка экстремума функции многих переменных достигается поочерёдным изменением переменных вдоль каждой координатной оси.

    Метод градиента [2]. Последовательность точек оптимизации опреде-ляется уменьшением значения функции Q(x).

    Метод наискорейшего спуска [3] является градиентным методом с пе-ременным шагом. На каждой итерации величина шага выбирается из усло-вия минимума функции Q(x). Это означает, что движение вдоль антиградиен-та происходит до тех пор, пока значение функции Q(x) убывает.

    Метод «тяжёлого шарика» [4]. Метод решения задачи минимизации функции Q(x) на евклидовом пространстве, основанный на решении систе-мы дифференциальных уравнений, описывающей движение материальной точки в поле тяжести при условии, что точка не может оторваться от по-верхности и трение пропорционально скорости движения. Особенность метода — введение «инерции», учитывающей предысторию движения, что придаёт алгоритму качественно новые особенности. Движение про-исходит по направлению, являющемуся линейной комбинацией градиен-та в текущей точке и предыдущего направления движения. Данный метод, по сравнению с методом градиента, позволяет «проскакивать» локальные экстремумы.

  • 8

    Электронные информационные системы № 1 (12) 2017

    Метод Ньютона [5] базируется на квадратичной аппроксимации функ-ции Q(x) в окрестности точки xrи выборе следующей точки, доставляющей минимум квадратичного приближения. Для аппроксимации использует-ся разложение в ряд Тейлора. Отличительная черта метода — отсутствие проб лемы выбора шага, что увеличивает скорость сходимости алгоритма.

    Метод многошаговой редукции размерности [6]. Используется све-дение исходной задачи к последовательности «вложенных одна в другую» одно мерных задач глобальной минимизации.

    Метод конечно-разностной аппроксимации [7]. Используется конеч-но-разностная аппроксимация градиента по модели:

    Рассмотренные методы поиска экстремума целевой функции наряду с преимуществами обладают и рядом существенных недостатков:

    – все методы предполагают априорное знание базовых характерис тик целевой функции (унимодальность, непрерывность, дифференцируе-мость и т. д.);

    – градиентные алгоритмы используют производные от функции Q(x), а квазиньютоновские методы оперируют матрицами производных вто-рого порядка, расчёт которых сложен;

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

    – почти все методы не задействуют информацию предыдущих итераций; – использование рассмотренных методов требует чёткого представления о составе оптимизируемого вектора x целевой функции Q(x).

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

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

    Итак, о генетических алгоритмах . Первые работы по аппаратной симу-ляции эволюции датируются 1954 г. Они послужили основой для классиче-ских работ по компьютерной симуляции эволюционных процессов Фрэзера [9] и Кросби [10]. Симуляции Фрэзера содержали в себе все важнейшие элемен-ты современных генетических алгоритмов. В середине 80-х годов прошлого столетия состоялась первая международная конференция по генетическим

  • 9

    Информационные технологии и программное обеспечение

    алгоритмам в Питтсбурге (штат Пенсильвания, США). В конце 80-х компа-ния General Electric начала продажу первого в мире набора промышленных вычислительных средств, работавшего на основе генетического алгоритма. В 1989 г. компания Axcelis Inc. первая в мире начала выпуск коммерческого продукта Evolver на генетическом алгоритме для настольных компьютеров.

    Генетический алгоритм — это эвристический алгоритм поиска экстремума в задачах оптимизации сложных систем, использующий механизмы, аналогич-ные естественному природному отбору и естественной эволюции [11] (насле-дование, мутация, отбор и кроссинговер — взаимный обмен участками парных хромосом, происходящий в результате разрыва и соединения в новом порядке их нитей — хроматид) [12; 13; 14]. Эволюционно-генетический подход [15] по-зволяет строить алгоритмы поиска оптимальных решений (генетические алго-ритмы) на основе моделирования биологических механизмов популяционной генетики. Поиск оптимального решения осуществляется посредством прямого случайного манипулирования совокупностью допустимых решений (образую-щих популяцию), каждое из которых представлено двоичным кодом.

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

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

    Основные свойства генетических алгоритмов: – независимость от характера целевой функции Q(x); – некритичность к количеству компонентов вектора допустимого ре-шения;

    – отсутствие необходимости расчёта производных от Q(x), так как гене-тические алгоритмы — это алгоритмы нулевого порядка;

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

    – набор допустимых решений на каждой итерации определяется с учё-том информации о всех предыдущих допустимых решениях;

    – алгоритм пригоден для решения многокритериальных задач.

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

    Далее рассмотрим основные этапы построения генетических алго-ритмов.

  • 10

    Электронные информационные системы № 1 (12) 2017

    Представление допустимых решений экстремальной задачи бинар-ными строками. Пусть x — n-мерный вектор допустимого решения. Для задач переборного типа имеется конечное множество допустимых решений, каждая компонента которых кодируется целым неотрицательным числом i-й управляемой переменной в области поиска D, что позволяет поставить во взаимно-однозначное соответствие вектору x D вектор с целочислен-ными компонентами (x1, ..., xn) ↔ (1, ..., n), где для каждой компоненты i, i = 1, ..., n, областью возможных значений являются целые числа от 0 до Ki.

    Далее введём алфавит В2, содержащий только два символа — 0 и 1: В2 = {0, 1}. Чтобы представить вектор В2, необходимо определить макси-мальное число двоичных символов, достаточное для представления в двоич-ном коде любого значения i из области его допустимых значений.

    Запись произвольного неотрицательного числа i = (0 ≤ i < 2θ) с помо-

    щью соотношения

    где αi — двоичное число (0 или 1) — длина двоичного слова, кодирующего целое число. Тогда символьная запись целочисленного кода i для фиксиро-ванного значения управляемой переменной xi в обычном двоичном коде за-пишется бинарной комбинацией eθ(i):

    Здесь αi — двоичные символы (0 или 1), i = 1, ..., θ.Для представления допустимого решения x D экстремальной задачи

    в алфавите В2 объединим символьные записи eθ(i), описывающие все n ком-

    понент вектора x, в виде линейной последовательности бинарных комбина-ций E(x) = (eθ(i1), ..., eθ(in)), которой соответствует (n × θ) — битовая стро-ка из двоичных символов (0,1):

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

  • 11

    Информационные технологии и программное обеспечение

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

    Пусть αtk — наименьшая неделимая эволюционирующая единица биологи-ческого вида (k — номер особи, t — момент времени эволюционного процес-са). Аналогом αtk в экстремальной задаче однокритериального выбора служит произвольное допустимое решение x D, так как неделимая единица — век-тор управляемых переменных (x1, ..., xn) — является

    характеристикой внутрен-них параметров на каждом i-м шаге поиска оптимального решения, меняющих свои значения в процессе минимизации критерия оптимальности Q(x). Каче-ственные признаки особи αtk определяются из символьной модели экстремаль-ной задачи как бинарная строка E(x) и составляющие её бинарные комбинации eθ(1), ..., eθ(n) как соответствующая точке x с именем α

    tk.

    Интерпретация этих признаков осуществляется в терминах хромосом-ной теории наследственности. В качестве единицы наследственного мате-риала — гена, ответственного за формирование альтернативных признаков особи, принимается бинарная комбинация eθ(i), определяющая фиксирован-ное значение целочисленного кода i управляемой переменной xi в обычном двоичном коде. Одна особь αtk характеризуется n генами, каждый из которых отвечает за формирование целочисленного кода соответствующей управляе-мой переменной. Структура бинарной строки E(x) интерпретируется в этом случае хромосомой, состоящей из n сцепленных между собой генов, располо-женных в линейной последовательности слева — направо.

    В соответствии с хромосомной теорией наследственности передача каче-ственных признаков eθ(i), i = 1, ..., n, закодированных в генах, осуществля-ется через хромосомы от «родителей» к «потомкам».

    Месторасположение отдельного гена в хромосоме называется локусом, а альтернативные формы одного и того же гена, расположенные в одинако-вых локусах, — аллелями (аллелеформами) E(x):

    Здесь eθ(i) — аллель i-го гена в локусе i.

    Хромосома, содержащая в своих локусах конкретные значения алле-лей, называется генотипом (генетическим кодом) E(αtk), хранящим всю на следственную генетическую информацию об особи αtk, получаемую от «предков», передаваемую впоследствии «потомкам». Конечное множе-ство всех до пус тимых генотипов образует генофонд.

  • 12

    Электронные информационные системы № 1 (12) 2017

    При взаимодействии особи αtk с внешней средой её генотип E(αtk) по-рождает совокупность внешне наблюдаемых количественных признаков (характеристик φi), включающих степень приспособленности μ(αtk) особи αtk к внешней среде и её фенотип φ(αtk). Воздействие внешней среды учитыва-ется в виде критерия оптимальности Q(x). Степень приспособленности μ(αtk) каждой особи αtk оценивается значением функции Q(x), вычисленным для допустимого решения x D с именем αtk. В общем случае степень приспо-собленности μ(αtk) ≥ 0 задаётся следующим выражением:

    из которого следует, что чем больше численное значение приспособленности μ ( αtk ), тем лучше особь αtk приспособлена к внешней среде.

    Фенотипом особи φ(αtk) в терминах экстремальной задачи являются чис-ленные значения вектора управляемых переменных x D и соответствую-щих ему характеристик

    Популяция. Рассмотрим область поиска D в качестве ареала — области, только в пределах которой могут встречаться особи — участники эволюци-онного процесса. Совокупность особей (αt1, ..., α

    tν), принадлежащих ареалу,

    образует популяцию P t. Число , характеризующее количество особей αtk, об-разующих популяцию, называется численностью популяции. В общем случае экстремальной задачи популяция P t = (αt1, ..., α

    tν) соответствует совокупности

    допустимых решений x D, Во времени популяции P t состоят из дискретных, не перекрывающихся

    между собой групп особей — поколений, одинаково отдалённых в родствен-ном отношении от общих предков, т. е. каждое последующее поколение P t + 1 является совокупностью из особей предыдущего поколения t. Номер поко-ления (верхний индекс t в обозначении особи αtk и популяции P

    t с моментом времени t = 0, 1, 2, …, Т, где Т — жизненный цикл популяции, определяет период её эволюции.

    В дальнейшем эволюция популяции P t отождествляется с чередованием поколений, в процессе которого особи меняют свои вариабельные признаки таким образом, чтобы каждая следующая популяция демонстрировала луч-шую степень приспособляемости к внешней среде, обеспечивая наибольшее значение средней по популяции P t степени приспособляемости:

    Совокупность генотипов всех особей αtk, составляющих популяцию P t, об-

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

  • 13

    Информационные технологии и программное обеспечение

    Для оценки разнообразия генотипов популяции P t введём функцию ди-аллельного разнообразия по каждому биту хромосомного набора:

    где νi — число нулей в i-м бите хромосомного набора популяции P t; ν — чис-

    ленность популяции P t. Побитное разнообразие популяции P t определяется средним значением

    диаллельных разнообразий по всем (n × θ) битам хромосомного набора:

    При Db(t) = 1 разнообразие генотипов в популяции максимально, при Db(t) = 0 все генотипы в хромосомном наборе совпадают между собой.

    Обобщением побитового разнообразия экстремальной задачи служит ге-нетическое разнообразие популяции P t по всем локусам:

    где

    функция аллельного разнообразия в i-м локусе; частота

    аллельной формы eθ(k) в i-м локусе; νi — число генотипов в хромосомном наборе популяции P t, в которых i-й локус содержит аллельную форму eθ(k); mi — число слоёв аллелей в i-м локусе, 1 ≤ mi ≤ v.

    Генетический код P t = (αt1, ..., αtv) является репродукционной группой,

    представляющей собой совокупность особей, любых две из которых αtk, αtl P

    t, k ≠ l, могут размножаться, выступая в роли «родителей» (αtk — «мать», αtl — «отец»). Здесь под размножением понимается свойство особей αtk, P

    t воспроизводить одного или нескольких себе подобных непосредственных «потомков» («детей») btk, i ≥ 1, обеспечивая непрерыв-ность и наследственную преемственность качественных признаков «ро-дителей».

    Таким образом, эволюционное развитие популяции обеспечивает по-лучение новой генетической информации, содержащей различные комби-нации аллельных форм генов «родительских» генотипов. В терминах экс-тремальной задачи однокритериального выбора «воспроизводство себе подобных» может быть интерпретировано как возможность построения по за-данным допустимым решениям xk, xl D, нового допустимого решения xi D, а «непрерывность и наследственная преемственность» — как возмож-ность использования аллельных форм в виде бинарных комбинаций eθ(βi),

  • 14

    Электронные информационные системы № 1 (12) 2017

    содержащихся в генотипах «родителей» E(xk ) и E(xl ), для формирования ге-нотипа E(xi ) «потомка», тем самым обеспечивая передачу наследственных признаков особей от поколения к поколению на уровне обмена генами.

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

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

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

    Между терминами теории множеств и терминологией генетических ал-горитмов существует следующее соответствие: особь → исходный кортеж; популяция → множество исходных кортежей координат; локус → имя (номер) оси координат; ген → составляющая имени узла; аллель → конкретное значе-ние составляющей имени узла; хромосома → имя узла; генотип → конкрет-ное значение имени узла; родитель → двухэлементное подмножество ис-ходных кортежей; зигота → двухэлементное подмножество исходных имён; генотип потомка → имя, каждая составляющая которого сформирована ве-роятностным методом с использованием составляющих (по той же оси) двух исходных имён; генотип мутанта → имя, некоторое подмножество состав-ляющих которого сформировано ненаправленным вероятностным методом, причём для формирования i-й составляющей могут использоваться j-я и k-я составляющие двух исходных имён при (i ≠ j) (i ≠ k).

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

    Для критериев оптимизации Q(x) не всегда можно точно определить состав компонентов вектора внутренних параметров x = (x1, ..., xn). И даже если состав вектора внутренних параметров определён, каждый внутренний параметр может, в свою очередь, быть сложной системой, а уровень её слож-ности определяется исходными данными. Таким образом, компонент вектора допустимого решения может вообще не иметь числового значения, что про-тиворечит принципу представления допустимого решения генетического ал-горитма.

  • 15

    Информационные технологии и программное обеспечение

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

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

    – связи реализации процедур обработки информации — одновременная или поочерёдная активность компонентов тех или иных видов обеспе-чения;

    – связи хранения информации — связность компьютера (как места хра-нения) с блоком данных или программным комплексом (как объектом хранения);

    – связи передачи информации — физическая связность между различ-ными компьютерами (автоматизированными рабочими местами).

    Для учёта всех имеющихся в системе связей производится предвари-тельная декомпозиция по видам обеспечения процесса обработки инфор-мации, что даёт полное представление о структуре оптимизируемой систе-мы процесса обработки информации в подсистеме более высокого уровня, составными частями которой они являются. В процессе декомпозиции выделяются подсистемы видов обеспечения, причём компоненты под-систем более низкого уровня осуществляют полное обеспечение процес-са обработки информации в подсистеме более высокого уровня. В итоге компоненты базовой подсистемы обеспечиваются компонентами образую-щих подсистем. Пусть i — базовая подсистема, а j1, ..., jk — образующие подсистемы, представленные видами обеспечения обработки информации в подсистеме i.

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

    Предварительно все рассматриваемые связи компонентов объединяются в несколько групп, отражающих связи подсистем. Связность подсистем вы-ражается функцией связи f i, где i — номер комбинации связанных систем,

  • 16

    Электронные информационные системы № 1 (12) 2017

    с областью определения, формируемой декартовым произведением номеров компонентов связанных подсистем, и областью допустимых значений — множеством, состоящим из двух элементов {0, 1}. Значение f i = 0 указывает на несвязность компонентов системы с данными номерами, а f i = 1 — на их связь. График функции f i, характерный для комбинации двух связанных под-систем, представлен на рис. 1.

    Рис. 1. Комбинация двух связанных подсистем

    На рис. 1 по координатным осям α j, αk отложены номера компоненты j-й и k -й подсистем.

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

    Таким образом, общее число связей реализации процедур обработки ин-формации составляет:

    где N — число выделенных групп образующих подсистем; Ni — число под-систем в i-й группе образующих; — число сочетаний из Ni по j.

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

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

  • 17

    Информационные технологии и программное обеспечение

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

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

    где γ ij — j-й набор аргументов, на котором функция связи подсистем f i при-

    нимает значение 1; ni — количество таких наборов аргументов. Множество допустимых решений D выражается формулой

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

    Для перехода от модели связей к генеральной модели производится кодирование каждого набора аргументов γ ij, проводимое с учётом номе-ров связанных компонентов. Такой способ кодирования должен обеспе-чивать взаимно однозначное соответствие между номерами компонентов и числовым представлением этой связи. В итоге генерируются числовые строки:

    E(f 1) β11 β12 … β1n1

    E(f 2) β21 β22 … β2n2

    … … … … …E(f s) βs1 β

    s2 … βsns

    Здесь βij — представление набора аргументов γ ij.

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

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

  • 18

    Электронные информационные системы № 1 (12) 2017

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

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

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

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

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

    Возникает естественный вопрос о существования некоего алгоритма, всегда дающего лучшие результаты при решении любых проблем. Можно ли выбрать генетические операторы и их параметры так, чтобы генетический алгоритм давал лучшие результаты независимо от решаемой проблемы. Из-вестная NFL-теорема (No Free Lunch — «Бесплатных завтраков не бывает»), доказанная в 1997 г., даёт однозначный ответ — таких эволюционных алго-ритмов для решения любых проблем нет [16].

  • 19

    Информационные технологии и программное обеспечение

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

    Литература1. Джесси Рассел. Метод Гаусса—Зейделя. М.: Мир, 1985. 509 с.2. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. М.: Мир, 1985.

    510 с.3. Максимов Ю. А., Филипповская Е. А. Алгоритмы решения задач нели-

    нейного программирования. М.: МИФИ, 1982. 52 с.4. Евтушенко Ю. Г. Методы решения экстремальных задач и их примене-

    ние в системах оптимизации. М.: Наука, 1982. 432 с.5. Волков Е. А. Численные методы. М.: Физматлит, 2003. 248 с.6. Диго Г. Г., Диго Н. Б. Анализ пространства поиска экстремума на осно-

    ве развёрток Пеано // Многопроцессорные и вычислительные системы. 2005. № 1 (9). С. 107—113.

    7. Соловейчик Ю. Г., Рояк М. Э., Персова М. Г. Метод конечных элементов для скалярных и векторных задач. Новосибирск: НГТУ, 2007. 896 с.

    8. Гладков Л. А., Курейчик В. В., Курейчик В. М. Генетические алгоритмы. М.: Физматлит, 2006. 320 с.

    9. Fraser A., Burnell D. Computer models in genetics. New York: McGraw-Hill, 1970. 206 p.

    10. Crosby J. L. Computer simulation in genetics. London: John Wiley & Sons, 1973.

    11. Биоинспирированные методы в оптимизации / Л. А. Гладков, В. В. Ку-рейчик, В. М. Курейчик, П. В. Сороколетов. М.: Физматлит, 2009. 384 c.

    12. Курейчик В. М. Генетические алгоритмы и их применение. Таганрог: Изд-во ТРТУ, 2002. 242 с.

    13. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, гене-тические алгоритмы и нечёткие системы. М.: Горячая линия-Телеком, 2008. 452 с.

    14. Бурков М. В. Генетический алгоритм: теория и практика. СПб.: ГУАП, 2008. 164 с.

    15. Емельянов В. В., Курейчик В. В., Курейчик В. М. Теория и практика эво-люционного моделирования. М.: Физматлит, 2003. 432 с.

    16. Wolpert D. H., Macready W. G. No free lunch theorems for optimization // IEEE Transactions on Evolutionary Computation. 1997. V. 1. № 1. Р. 67—82.

  • 20

    Электронные информационные системы № 1 (12) 2017

    УДК 621.3.049Ю. И. Листопадова, В. Т. Николаев, Л. Б. Сапожникова Разработка приложения для проектирования маломощных силовых трансформаторов

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

    Y. I. Listopadova, V. T. Nikolaev, L. B. SapozhnikovaDevelopment of application for low-power transformer designing

    3. Project structureA process of creation of software for design of small power transformers has been examined. A structure of the application for the design of small power transformers created using object-oriented programming and visual design technology has been developed. It is noted that object composition of the application is refl ected by structures created by programming environment.Key words: project structure, integrated development environment, objects, events, event handlers, visual and non-visual components.

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

    ных данных и результатов расчёта. Приложение — это набор инструкций, управляющих работой вычислительной машины, для обеспечения решения поставленной задачи. Структура приложения — это состав и правила взаи-модействия инструкций. Алгоритм работы программы, отображаемый в виде схемы программы [1], определяет правила взаимодействия инструкций и по-рядок их выполнения.

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

  • 21

    Информационные технологии и программное обеспечение

    и C++ Builder. Интегрированная среда разработки (Integrated Development Environment — IDE) CodeGear RAD Studio, объединившая эти два язы-ка в одну систему, позволяет писать программы на любом из этих языков. Поскольку язык C++ Builder создан на базе библиотеки визуальных компо-нентов Visual Component Library (VCL) языка Delphi, то, по крайней мере, внешне система программирования C++ Builder похожа на систему програм-мирования Delphi. Визуальные объекты, созданные в системе программиро-вания Delphi, можно без проблем переносить в проекты на языке C++ Builder и, соответственно, наоборот [2].

    Современные интегрированные системы для разработки приложений, такие как Visual Basic, Delphi, С++ Builder, CodeGear RAD Studio, основаны на парадигме событийно-ориентированного программирования.

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

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

    При наступлении некоторого события формы и элементы управления могут реагировать определённым образом в соответствии с программным ко-дом, реализованным разработчиком программы для каждого объекта.

    Включать объекты в свою программу разработчик может вручную, ис-пользуя соответствующие операторы, или путём визуального программиро-вания, используя библиотечные заготовки — визуальные компоненты.

    Интегрированные среды программирования используют для быстрого создания приложений в среде операционной системы Windows. В прило-жении, создаваемом в среде визуального программирования, должно быть представлено как минимум одно окно. В терминах интегрированной среды программирования окно является формой, служащей для отображения эле-ментов пользовательского интерфейса. Элементы пользовательского интер-фейса используют для отображения информации, ввода данных и управле-ния ходом выполнения приложения. Любое приложение в интегрированной среде программирования организовано как Проект (project), информация о котором хранится в специальных файлах.

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

  • 22

    Электронные информационные системы № 1 (12) 2017

    Структура проекта Delphi представляет собой набор программных еди-ниц — модулей проекта Delphi. В Delphi существуют файлы проекта и файл проекта, и это разные понятия. Файл проекта — главный файл проекта, име-ющий расширение Dpr. Файлы проекта — набор всех файлов, входящих в проект. Файл проекта содержит инструкции, с которых начинается выпол-нение программы. Главный модуль проекта полностью формируется про-граммной средой Delphi. Чтобы увидеть код головного файла проекта, необ-ходимо выполнить в среде разработки команду Project View Source . Имя главного модуля совпадает с именем проекта, а имя проекта Delphi задаётся в момент сохранения проекта, и оно определяет имя создаваемого компиля-тором исполняемого файла программы. Проекту для расчёта трансформатора присваиваем имя Tr7.

    Главный модуль, он же файл проекта, создаётся предельно простым и ко-ротким. Начинается он словом Program, за которым следует имя програм-мы, совпадающее с именем проекта. Далее за служебным словом Uses идут имена используемых модулей проекта: библиотечного модуля Vcl.Forms, модуля главной формы UnTr7 и модулей форм, созданных в проекте (