
- •Министерство образования и науки Российской Федерации Московский государственный институт электронной техники (технический университет) Факультет мп и тк
- •«Программный комплекс многокритериальной оптимизации систем на основе мультихромосомных моделей и генетических алгоритмов»
- •Содержание
- •Перечень сокращений
- •Введение
- •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. Ошибки во время поиска решения
4.2.5. Правила записи выражений
Все функциональные зависимости подчиняются правилам записи обычных математических выражений с соблюдением приоритетов операций, и могут представлять собой числа, арифметические выражения, либо выражения, содержащие имена переменных
Имена переменных, соответствующих подсистемам модели, начинаются с символа ‘#’, а имена переменных, относящихся к компонентам (или критериям оптимизации), – с символа ‘$’. Кроме того, имена различных функций, которые могут использоваться в выражениях (например, sin, log), начинаются с символа ‘%’.
Правила записи имён переменных и функций следующие: имя переменной или функции должно начинаться с символа латинского алфавита, или символа подчёркивания (‘_’) и может содержать любое число латинских букв, цифр и символов подчёркивания. При этом регистр букв имеет значение, т.е., например, имена $var1 и $vAr1 будут соответствовать разным компонентам системы.
Поддерживаемые операции: +, -, *, /
Поддерживаемые функции: %sin (синус), %cos (косинус), %exp (экспонента), %log (натуральный логарифм), %fabs (модуль), %acos (арккосинус), %asin (арксинус), %atan (арктангенс), %cosh (гиперболический косинус), %sinh (гиперболический синус), %tan (тангенс), %tanh (гиперболический тангенс), %sqrt (квадратный корень)
Пример выражения: #sub1 + #sub3 * (%sqrt(%fabs($comp1 - $comp2))) / #sub2
4.2.6. Выполнение функции задания параметров генетических алгоритмов
Доступ к данной функции осуществляется последовательным выбором меню Настройки – ГА. В результате на экране появляется диалог с настройками модуля поиска решения (рис П.3.4.11)
Рис П.3.4.11 Форма с настройками модуля ГА
В данной версии программы можно задать значения следующим параметрам:
2 критерия остановки процесса поиска решения. Первый («Отношение функции приспособленности двух популяций») – разница между полученными результатами на двух последовательных итерациях. Второй («Число популяций») – предельное число итераций. Если решение так и не было найдено, то модуль завершает поиск, когда число итераций достигает этого значения;
способ передачи информации от одной итерации к другой («Способ формирования родительских пар»). Рекомендуется «Лучшие с худшими» (значение по умолчанию);
направление оптимизации – максимум или минимум;
число точек кроссовера;
вероятности мутации и кроссовера. Эти параметры оказывают существенное влияние на работу программы. При больших значениях получается лучший результат, однако увеличивается время работы.
число особей в популяции. При большем значении точность найденного решения возрастает, однако увеличивается объём требуемой оперативной памяти.
4.2.7. Выполнение функции поиска решения
Осуществляется
нажатием на кнопку
на панели инструментов. Перед началом
поиска решения осуществляется проверка
корректности созданной модели. При этом
возможны два варианта:
Модель корректна. Происходит запуск процесса поиска решения, по завершении которого предоставляются результаты работы программы;
Модель некорректна. В этом случае выводится сообщение об ошибке и предоставляется возможность её исправления.
4.2.8. Выполнение функций формирования и сохранения отчётов
После окончания поиска решения формируется отчёт, в котором отображается найденное наилучшее значение функции системы и соответствующие ему значения критериев, а также некоторая служебная информация – настройки модуля ГА, время начала/окончания поиска решения. Отчёт автоматически сохраняется в текстовый файл с именем, соответствующим имени текущего файла, и расширением txt. Затем сформированный отчёт выводится на экран (рис П.3.4.12)
Рис П.3.4.12 Пример отчёта
4.3. Завершение работы программы
Завершение работы программы обеспечиваются стандартными средствами операционной системы.
5. Сообщения оператору
5.1. Ошибка сохранения файла
При попытке сохранения файла с именем уже существующего файла на рабочем столе программы будет отображено сообщение об ошибке (рис. П.3.5.1).
Рис П.3.5.1
Для сохранения файла с именем уже существующего файла следует нажать кнопку Да.
Для сохранения файла с именем, отличным от имени существующего файла, следует нажать кнопку Нет и выбрать другое имя файла.
5.2. Ошибки при загрузке файла
При попытке загрузить файл с неверной внутренней структурой будет выведено сообщение об ошибке, причём возможны следующие сообщения:
«Формат файла не поддерживается». Сообщение выводится в случае повреждённого заголовка файла;
«Файл был создан программой более поздней версии». Сообщение выводится в случае создания файла более поздней версией программы;
«Файл повреждён». Сообщение выводится в случае корректного заголовка файла, но неверной внутренней структуры.
Необходимо нажать кнопку «ОК» и выбрать другой файл для загрузки