- •Содержание
- •Введение
- •Титул спецчасти
- •Порядок контроля и приёмки
- •Эскизный проект
- •Постановка задачи
- •Предварительные нир
- •Обзор средств автоматизации туристского бизнеса.
- •Программный комплекс «Мастер-Тур»
- •1С.Предприятие
- •Потребности пользователя
- •Технический проект
- •Общий алгоритм работы программы
- •Выбор платформы для проектирования и его обоснование.
- •Выбор метода решения задачи и обоснование
- •Уточнение общего алгоритма
- •Описание генетических алгоритмов
- •История появления эволюционных алгоритмов
- •Основы генетических алгоритмов
- •Возможности применения генетических алгоритмов
- •Математическая формулировка экстремальной задачи однокритериального выбора
- •Понятие “оптимальное решение”
- •Влияние параметров генетического алгоритма на эффективность поиска
- •Операторы кроссовера и мутации
- •Выбор родительской пары
- •Механизм отбора
- •Формат данных
- •Разработка алгоритма генерации критерия
- •Разработка алгоритма оптимизации
- •Разработка структуры классов
- •Разработка базы данных системы
- •Конфигурация технических средств
- •Рабочий проект
- •Разработка программы
- •Алгоритмы работы программы
- •Методика испытаний
- •Разработка программной документации
- •Установка информационной системы
- •Титул технологи Технологический раздел
- •Введение
- •Объектно-ориентированное программирование
- •Объектно-ориентированное проектирование
- •Работа с базами данных вDelphi
- •Использование компонентовAdo
- •Методика отладки и тестирования программы
- •Особенности тестирования программного обеспечения
- •Встроенные средства отладки и тестирования среды разработки
- •Основные факторы надёжности системы
- •Метод «силовой отладки»
- •Методы тестирования
- •Алгоритмическое тестирование
- •Функциональное или аналитическое тестирование
- •Содержательное тестирование
- •Виды тестов
- •Анализ рынка туруслуг
- •Постановка задачи
- •Методы сегментирования
- •Расчёт сегментации
- •Титул пэб Раздел по технике безопасности
- •Введение.
- •Рабочее место турагента
- •Источники опасности и вредностей
- •Излучения экрана монитора
- •Микроклимат помещения
- •Психофизиологические факторы
- •Нерациональное освещение.
- •Заключение
- •Список литературы
- •Приложения
Конфигурация технических средств
Программа занимает в оперативной памяти компьютера 8 MB. Поскольку база данных выполнена в видеMSAccess, память на сервер базы данных не требуется. Программа работает в семействеWindows, причем одновременно с множеством других программ. Исходя из этого, можно определить минимальные требования, предъявляемые программой:
Процессор – IntelCeleron500 (AMDK6-2 500)
Память – 64 MB
HDD– 30MBсвободных
Screen– 800x600SVGA
Принтер – любой (опционально)
Рекомендуемые требования значительно выше. Это является следствием ресурсоёмкости эвристических алгоритмов, применяемых в программе. Улучшение параметров компьютера очень сильно влияет на скорость сходимости алгоритма, и прирост производительности откликается скоростью работы программы. Поэтому рекомендуемые требования следующие:
Процессор – AMDAtlon(Duron) 1000 илиIntelPentium3 (Celeron) 1000
Память – 256 MBDDR
HDD– 30MBсвободных
Screen– 800x600SVGA
Принтер
Даже эти рекомендуемые требования не являются ничем запредельным в настоящее время, когда ведущие производители процессоров преодолели частоту 3ГГц, а память дешевеет на глазах, в SD-RAMи вовсе не выпускается. Таким образом, любой современный компьютер позволяет комфортно работать с программой. Поскольку остальные программы, применяемые в туризме уже требуют определённых ресурсов, применение моей системы не потребует от фирмы модернизации парка компьютеров.
Рабочий проект
Разработка программы
Разработка программы проводилась модульным способом. Все модули были созданы в среде BorlandDelphi. Ниже приведу описание одного из самых сложных модулей, который реализует работу генетического алгоритма.
В модуле объявлены классы TChromosomeиTGeneticAlgorithm. Это основные классы алгоритма, рассмотрим их подробнее.
Класс TChromosomeпорождён отTBitsи представляет собой хранилище информации, включающее методы обработки информации. В нём объявлены следующие переменные:
Private//Раздел частных объявлений класса
fDegree:integer; //Разрядность генов
fGeneCount:integer; //Количество генов
fGene:arrayofTGene; //Собственно, гены
Работа с объектами этого класса происходит при помощи следующих методов.
procedure SetGeneCount(Value : integer); // Установка количества генов
functionGetGeneSize:integer; //Установка размеров генов
procedureSetGeneSize(Value:integer); //Установка размера конкретного гена
function GetGene(Index:integer):LongWord; //Получение значения гена
procedure SetGene(Index:integer;Value:LongWord); //Установка значения гена
function GetGeneAsInteger(Index:integer):LongInt; //Получение значения гена
procedure SetGeneAsInteger(Index:integer;Value:LongInt); //Получение значения гена
function GetGeneAsFloat(Index:integer):double; //Получение значения гена
procedure SetGeneAsFloat(Index:integer;Value:double); //Получение значения гена
В разделе открытых объявлений содержатся поле Suitability, которое хранит текущую приспособленность хромосомы, конструктор, деструктор и следующие методы и свойства.
procedureAssign(Source:TChromosome); //Копирование информации из одной хромосомы в другую
property GeneCount : integer read fGeneCount write SetGeneCount; //Количество генов
property GeneSize : Integer read GetGeneSize write SetGeneSize; //Размер генов
property GeneValue[Index:integer] : Longword read GetGene write SetGene; //Значение гена
property GeneAsInteger[Index:integer] : LongInt read GetGeneAsInteger write SetGeneAsInteger; //Значение гена
property GeneAsFloat[Index:integer] : double read GetGeneAsFloat write SetGeneAsFloat; //Значение гена
Класс TGeneticAlgorithmдостаточно громоздкий, поэтому приведу описания лишь самых важных его свойств и методов.
Переменная fPopulationхранит набор хромосом, то есть рабочий материал для работы алгоритма.
В переменной fEpochхранится номер текущей эпохи, который может быть использован для остановки программы, если алгоритм не сходится слишком долго.
Свойство Sutabilityхранит текущую приспособленность популяции, но его значение доступно только через свойствоfSutability, описание которого находится в разделеpublic.
Функция fGetSutability– это указатель на внешнюю функцию, которая определяет фитнесс-функцию текущей хромосомы.
fBestChromosome– лучшая особь данной популяции.
fInversion,fCrossover,fMutation– вероятности инверсии, кроссовера и мутации – важных параметров алгоритма.
Процедура OneEpochпроизводит один шаг эволюции.
Кроме вышеупомянутых, класс содержит большое количество свойств и методов, предназначенных для устройства работы алгоритма. Полное описание их заняло бы недопустимо большой объём. Полный текст модулей, включая этот, содержится в приложении 1.