- •Министерство образования и науки Российской Федерации Московский государственный институт электронной техники (технический университет) Факультет мп и тк
- •«Программный комплекс многокритериальной оптимизации систем на основе мультихромосомных моделей и генетических алгоритмов»
- •Содержание
- •Перечень сокращений
- •Введение
- •1. Специальный раздел
- •1.1. Исследовательская часть
- •1.1.1. Обзор существующих программ для оптимизации
- •1.1.3. Информационные потребности пользователя
- •1.2. Конструкторская часть
- •1.2.1. Требования, предъявляемые к системе
- •1.2.2. Структура входных и выходных данных
- •1.2.3. Конфигурация технических средств
- •1.2.4. Модули комплекса
- •1.2.5. Общий алгоритм работы программы
- •1.2.6. Иерархия классов
- •1.2.7. Переменные в выражениях и их использование в программе
- •1.2.8. Основные алгоритмы и особенности программной реализации
- •1.2.9. Проверка отказоустойчивости программы
- •1.2.10. Проверка работы комплекса на контрольных примерах
- •1.3. Выводы
- •2. Технологический раздел
- •2.1. Использование стандартных библиотек
- •2.1.1. Библиотека stl
- •2.1.2. Библиотека mfc
- •2.1.3. Применение библиотек stl и mfc в программе
- •2.1.4. Средство ClassWizard
- •2.2.2. Встроенные средства языка для отладки программ
- •2.2.3. Отладка программного кода, содержащего stl и mfc
- •2.4. Приёмы объектно-ориентированного проектирования
- •2.4.1. Применение паттернов проектирования в программе
- •2.5. Выводы
- •3. Организационно-экономический раздел
- •3.1. Метод анализа иерархий
- •3.2. Метод парных сравнений.
- •3.2.1. Определение собственных векторов
- •3.3. Применение метода для выбора среды программировани
- •3.3.1. Характеристики сред программирования
- •3.3.2. Таблица сравнений важности критериев
- •3.3.3. Таблицы попарного сравнения сред разработки по каждому критерию
- •3.4. Результаты применения метода
- •3.5. Выводы
- •4. Производственная и экологическая безопасность
- •4.1. Опасные и вредные факторы, воздействующие на программиста
- •4.1.1. Микроклимат рабочей зоны программиста
- •4.1.2. Воздействие шума на программиста. Защита от шума
- •4.1.3. Уровень напряжённости электромагнитного поля
- •4.1.4. Электробезопасность. Статическое электричество
- •4.1.5. Освещенность рабочего места
- •4.2. Заключение
- •Заключение
- •Список литературы
- •Исходный текст программы
- •Результаты испытаний
- •Руководство оператора
- •Аннотация
- •2. Условия выполнения программы
- •2.1. Климатические условия эксплуатации
- •2.2. Состав аппаратных и программных средств
- •3. Требования к персоналу (пользователю)
- •4.2.2. Выполнение функции сохранения модели в файл
- •4.2.3. Выполнение функции ввода информации о системе
- •4.2.4. Выполнение функции задания различных параметров системы
- •4.2.5. Правила записи выражений
- •4.2.6. Выполнение функции задания параметров генетических алгоритмов
- •4.2.7. Выполнение функции поиска решения
- •5.3. Ошибки при проверке модели
- •5.4. Ошибки во время поиска решения
1.2.3. Конфигурация технических средств
При запуске комплекса он занимает в оперативной памяти компьютера приблизительно 4 мегабайта. Этот объём соответствует «пустому» проекту, т.е. проекту, не содержащему ни одного элемента модели. При работе с комплексом объём требуемой ему оперативной памяти увеличивается в прямой зависимости от количества элементов модели и может составлять 7 и более Мб. При выполнении поиска комплексу требуется дополнительно около 1-2 Мб оперативной памяти. Учитывая требования ТЗ к программной совместимости, можно установить следующую минимальную и рекомендуемую конфигурации технических средств:
Минимальные требования к составу технических средств:
Процессор – Pentium II с частотой 300 МГц
Оперативная память – 128 Мб
10 Мб доступного пространства на жёстком диске
Монитор – 15’’ Color VGA
Рекомендуемый состав технических средств:
Процессор – Pentium IV с частотой 1,5 ГГц
Оперативная память – 256 или 512 Мб
20 Мб доступного пространства на жёстком диске
Монитор – 17’’ Color SVGA с минимальным разрешением 1024х768
Кроме того, исходя из требований ТЗ, на компьютере, на котором предполагается работа комплекса, должна быть установлена операционная система Windows 2000 или Windows XP. Дополнительных программных продуктов не требуется, т.к. все необходимые комплексу средства встроены в операционную систему.
1.2.4. Модули комплекса
На рис. 1.7 представлена общая структурная схема взаимодействия модулей комплекса.
Рассмотрим подробнее запросы и команды, которые передаются от одного модуля другому.
Центральным модулем или элементом системы является интерфейс. Именно через него осуществляется взаимодействие комплекса с пользователем. Конечно, эта часть не является самой главной, т.к. основная работа комплекса происходит без участия интерфейса. Последний же является лишь промежуточным звеном и служит для удобства работы пользователя. Периодически интерфейсу приходят системные сообщения операционной системы для перерисовки форм. Модуль интерфейса посылает команду блоку прорисовки модели для перерисовки. Этот блок, в свою очередь, запрашивает у хранилища элементов модели данные о редактируемой модели (количество элементов различного типа, их графическое изображение, координаты) и по этим сведениям рисует на экране модель. Когда пользователь добавляет новый элемент системы (компонент, подсистему, связь), удаляет существующий, либо перемещает графическое изображение, интерфейс посылает хранилищу элементов модели информацию о происшедших изменениях. Эта информация фиксируется в хранилище, а затем блоку прорисовки посылается команда на перерисовку графического представления модели с учётом произошедших изменений. В результате такого взаимодействия модулей графическое представление модели всегда соответствует внутреннему состоянию (т.е. состоянию в памяти компьютера) модели.
Рис 1.7 Схема взаимодействия модулей комплекса
Если пользователь сохраняет модель, то интерфейс посылает команду модулю работы с файлами, который запрашивает у хранилища элементов модели состояние объектов. Затем сведения о состоянии объектов сохраняются в файл. В случае команды на загрузку файла модуль работы с файлами посылает хранилищу команду на сброс текущей модели (т.е. удаление всех объектов), а затем последовательно создаёт новые объекты и помещает их в хранилище.
При выборе пользователем пункта меню «Рассчитать» от интерфейса посылается команда модулю ГА начать расчёт. Получив такую команду, модуль ГА обращается к хранилищу за данными о модели. При этом сначала происходит проверка корректности модели. Для этого хранилище элементов модели вызывает модуль проверки корректности дерева модели, передавая ему сведения об объектах. Модуль проверки активно пользуется блоком обработки математических выражений, одной из задач которого является проверка правильности этих выражений. Встретив в каком-либо месте модели формулу, блок проверки передаёт её блоку обработки математических выражений и получает ответ о её правильности. Если проверка дерева не удалась по причине ошибок в ней, выдаётся сообщение и выставляется глобальный флаг, по которому модуль ГА прекращает свою работу. Если ошибок нет, модуль ГА начинает претворять в жизнь алгоритм, периодически обращаясь к хранилищу элементов модели за данными. При этом опять используется блок обработки математических выражений, но уже с другой стороны – как средство для вычисления значения выражения в зависимости от конкретного значения переменных.
По окончании работы модуль ГА посылает генератору отчётов результаты обработки. Генератор отчётов формирует отчёт и выводит его на экран монитора. Одновременно с этим посылается команда интерфейсу на запись отчёта в файл, который перенаправляет её в модуль работы с файлами.
Работа модуля ГА может быть прервана по желанию пользователя. В этом случае модуль интерфейса посылает команду модулю ГА, тот прекращает вычисления и передаёт генератору отчётов наилучший результат на этот момент.