
- •Министерство образования и науки Российской Федерации Московский государственный институт электронной техники (технический университет) Факультет мп и тк
- •«Программный комплекс многокритериальной оптимизации систем на основе мультихромосомных моделей и генетических алгоритмов»
- •Содержание
- •Перечень сокращений
- •Введение
- •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. Ошибки во время поиска решения
Какую работу нужно написать?
3.2.1. Определение собственных векторов
Относительная сила, величина или вероятность каждого отдельного объекта в иерархии определяется оценкой соответствующего ему элемента собственного вектора матрицы приоритетов, нормализованного к единице. Процедура определения собственных векторов матриц поддается приближению с помощью вычисления геометрической средней.
Пусть A1...An - множество из n элементов. Тогда оценка компонент вектора приоритетов производится по схеме, показанной на рис. 3.2
|
A1 |
... |
An |
|
|
A1 |
1 |
... |
W1/Wn |
X1=(1*(W1/W2)*...*(W1/Wn))1/n |
BEC(A1)=X1/СУММА(Xi) |
... |
... |
1 |
An |
... |
... |
An |
Wn/W1 |
... |
1 |
Xn=((Wn/W1)*...*(Wn/Wn-1)*1)1/n |
BEC(An)=Xn/СУММА(Xi) |
|
СУММА(Xi) |
|
Рис 3.2 Схема оценки компонент вектора приоритетов
Приоритеты синтезируются, начиная со второго уровня вниз. Локальные приоритеты перемножаются на приоритет соответствующего критерия на вышестоящем уровне и суммируются по каждому элементу в соответствии с критериями, на которые воздействует элемент.
Весьма полезным побочным продуктом теории является так называемый индекс согласованности (ИС), который дает информацию о степени нарушения согласованности. Вместе с матрицей парных сравнений есть мера оценки степени отклонения от согласованности. Если такие отклонения превышают установленные пределы, то тому, кто проводит суждения, следует перепроверить их в матрице.
ИС = ( max - n)/(n - 1) |
(3.1) |
Теперь сравним эту величину с той, которая получилась бы при случайном выборе количественных суждений из нашей шкалы, и образовании обратно симметричной матрицы. Ниже даны средние согласованности для случайных матриц разного порядка [18].
Таблица 3.2
Размер матрицы |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Случайная согласованность |
0 |
0.58 |
0.9 |
1.12 |
1.24 |
1.32 |
1.41 |
1.45 |
1.49 |
Если разделить ИС на число, соответствующее случайной согласованности матрицы того же порядка, получим отношение согласованности (ОС). Величина ОС должна быть порядка 10% или менее, чтобы быть приемлемой. В некоторых случаях допускается ОС до 20%, но не более, иначе надо проверить свои суждения.
3.3. Применение метода для выбора среды программировани
3.3.1. Характеристики сред программирования
Среди большого разнообразия сред разработки выделю следующие:
Microsoft Visual Studio C++ 6.0
Microsoft Visual C++ .NET
Borland C++ Builder 6.0
Borland Delphi 7.0
Borland JBuilder 8.0
Microsoft Visual Basic .NET
Критерии, по которым будет осуществляться сравнение данных сред разработки приложений, следующие:
стоимость среды разработки;
минимальные системные требования, необходимые для функционирования среды;
удобство использования среды разработки и, как следствие, скорость написания в ней программ;
возможность переноса откомпилированной в среде программы на другую платформу (кроссплатформенность);
«качество» компилятора, т.е. время, необходимое на компиляцию исходного кода, размер и скорость работы откомпилированной программы, степень оптимизации компилятором исходного кода;
немаловажный параметр – знание языка и среды разработки.
Теперь распишем значение этих критериев для каждой среды разработки.
MicrosoftVisualStudioC++ 6.0
средняя цена – 30$
Процессор PPentium 120 MHz, 64 Мб оперативной памяти, операционная система – Microsoft Windows NT 4.0 (Service Pack 3), 350 Мб пространства на жёстком диске
Плюсы: автоматическое перечисление членов, информации о параметрах, комментариев к коду и завершение написания конструкций, что устраняет необходимость в запоминании сложных правил синтаксиса, параметров, свойств и методов объектов. Динамическое обновление отображения классов облегчает навигацию по коду (добавленные переменные, члены или методы немедленно отображаются в ClassView, без необходимости перекомпоновки). Visual C++ имеет наибольшее из всех рассматриваемых сред количество вспомогательных средств. Среда Visual C++ более стабильна, чем среда Delphi и, тем более, C++ Builder. Редактор кода в Visual C++ лучше, чем в Delphi. Экономия времени за счет использования многочисленных мастеров для MFC, ATL и др.
Минусы: VC не поддерживает собственных визуальных компонентов — вместо этого можно использовать стандартные элементы интерфейса Windows (они универсальны, но невзрачны, а дополнение стандартных элементов новыми свойствами — тяжелая работа)
Никакой кроссплатформенности
Высокая скорость компиляция проектов в отладочном варианте и проектов без отладочной информации. Эффективная оптимизация работы компилятора с использованием ключевых слов. Ускорение работы приложений за счет задержки загрузки DLL-модулей до момента, когда это необходимо для продолжения работы программы. С помощью лучшего по производительности и оптимизации компилятора можно создавать самые быстродействующие и компактные выполняемые модули.
Хорошее знание языка, хорошее знание среды разработки
Microsoft Visual C++ .NET
Средняя цена – 56$
Процессор Pentium II 450 МГц, 128 Мб оперативной памяти, операционная система –Microsoft Windows 2000 Professional (требуется Service Pack 3), 2 Гб дискового пространства
Встроенные функциональные возможности Microsoft .NET Framework включают в себя средства сборки мусора, формы Windows и функции поточной обработки данных. Для вызова неконтролируемого кода используется высокопроизводительная интероперабельная технология C++. Visual C++ .NET 2003 предлагает множество библиотек, содержащих разнообразные типы данных и программные шаблоны (в том числе библиотеку шаблонов STL, соответствующую стандартам ISO, ведущую в отрасли библиотеку шаблонных классов ATL , а также библиотеку базовых классов MFC, сервер ATL Server и среду .NET Framework).
Кроссплатформенность отсутствует
Мощный отладчик и ведущие в отрасли компиляторы предоставляют расширенные возможности генерирования кода на 32- и 64-разрядных платформах. Размер откомпилированных программ и скорость их работы почти такая же, как у Microsoft Visual C++ 6.0
Хорошее знание языка, посредственное знание среды разработки
Borland C++ Builder 6.0
Средняя цена – 25$
Процессор Intel Pentium II 400 МГц, 128 МБ оперативной памяти, операционная система Microsoft Windows 98/2000/XP, 750 МБ пространства на жёстком диске
Среда обладает богатым и разнообразным набором детально проработанных компонентов типа DBGrid, Query, DCOMConnection, ClientResultSet и многих других. Благодаря этому С++ Builder больше подходит для создания внутрикорпоративных систем автоматизации и заказных систем. Эта среда обеспечивает истинно визуальную разработку на C++, высокоэффективный доступ к данным. Поддерживается Oracle 8, MS SQL Server 7, IB DataBase 5.5, организована простая и удобная работа с базами данных. Полностью поддерживается ANSI/ISO C++ стандарт, включая новые возможности шаблонов (templates) и динамические массивы. Удобная особенность – возможность перемещения по исходным текстам с помощью гиперссылок (чего очень недостаёт в средах от Microsoft).
Программисты смогут создавать межплатформные решения с помощью Borland CLX – библиотеки компонентов для межплатформной разработки.
Довольно большие размеры откомпилированных программ; приемлемая скорость работы получаемых приложений; довольно хорошая оптимизация
Хорошее знание языка, неплохое знание среды разработки
Borland Delphi 7.0
Средняя цена – 41$
Процессор Intel Pentium II 450 МГц, 192 МБ оперативной памяти, операционная система Microsoft Windows 98/2000/XP, 800 МБ пространства на жёстком диске
Так же, как и Borland C++ Builder 6.0, обладает разнообразным набором визуальных компонентов. Когда надежность не является столь критичной, а на первом месте стоит минимизация времени, потраченного на разработку приложений, среда Delphi получает очевидные преимущества. В состав Delphi теперь включены IntraWeb от AToZed Software, что позволяет разрабатывать Web-серверные приложения, используя стандартный редактор форм. IntraWeb можно также использовать для разработки страниц для Borland WebBroker и WebSnap приложений. Среда обеспечивает высокопродуктивную разработку приложений для Интернета.
Существует возможность создания кроссплатформенных приложений с помощью дополнительных инструментов
Компилятор немногим превосходит компилятор Borland C++ Builder 6.0
Неплохое знание языка, неплохое знание среды разработки
Borland JBuilder 8.0
Средняя цена – 269$
Процессор Intel Pentium II 233 МГц, 256 МБ оперативной памяти, 700 МБ пространства на жёстком диске.
Среда содержит более 100 компонент JavaBeans с исходными текстами для визуального создания приложений. Среда разработки JBuilder RAD Workbench объединяет в единое целое профессиональный редактор исходных текстов, средства навигации по проекту, его отдельным модулям, классам, интерфейсам и пакетам (packages) - AppBrowser, визуальный дизайнер форм, Object Inspector, браузер HTML и т.п. Концепция создания приложений в JBuilder основывается на компонентной модели JavaBeans, что позволяет получать многоплатформенные Pure Java системы с помощью единого визуального инструментария. Технология Two-Way-Tools, базирующаяся на анализе исходных текстов, обеспечивает полную двунаправленную синхронизацию кода и визуального представления проектов. При этом, использование механизма drag'n'drop распространяется и на невизуальные компоненты, включая те из них, которые предназначены для работы с базами данных. Многочисленные визуальные инструменты и программы-мастера позволяют быстро создавать переносимые и масштабируемые корпоративные Java-приложения, в том числе с использованием интерфейсов J2EE.
Истинная кроссплатформенность
Очень быстрая работа компилятора. Откомпилированные исходные тексты представляют собой промежуточный код для виртуальной Java-машины, следовательно достаточно медленные и большие
Плохое знание языка, совершенное незнание среды разработки
Microsoft Visual Basic .NET
Средняя цена – 69$
Процессор Intel Pentium II 400 МГц, 192 МБ оперативной памяти, операционная система Microsoft Windows NT4.0/2000, 2500 МБ на жёстком диске
Удобные средства визуального проектирования Windows- и web-форм предоставляют единую модель для создания разнообразных программ для настольных компьютеров и широкодоступных качественных web-приложений. Механизм автоматического развертывания позволяет избежать конфликта между версиями общих библиотек DLL, благодаря чему установка приложений Windows проходит также легко, как и внедрение web-приложений. Благодаря поддержке объектов ADO.NET, разработчики могут использовать мощные классы и компоненты для создания гибких сценариев, встраиваемых в приложения. С помощью конструктора страниц Dynamic HTML (Dynamic HTML Page Designer) можно создавать высокоинтерактивные Web-страницы так же легко, как формы Visual Basic
Никакой кроссплатформенности
Производительность откомпилированной программы наименьшая из всех рассмотренных компиляторов
Посредственное знание языка, незнание среды разработки