Разработка алгоритма генерации критерия
После получения данных от пользователя программа должна сформировать критерий, по которому будут оцениваться туры на предмет приемлемости для клиента. Очевидно, что этот критерий будет многопараметрическим (практически каждый атрибут тура является параметром) и характер его заранее предсказать невозможно. При формировании модели тур был представлен набором конечных параметров. При этом часть параметров выражается количественно (то есть имеет числовую оценку), часть качественно (то есть их можно перевести в числовую форму). Также есть набор параметров, которые характеризуются двумя состояниями (присутствует/отсутствует). Для уравнивания влияния параметров на критерий проводится нормализация значений. Для хранения информации были выбраны 3 битные гены, которые обеспечивают достаточный диапазон для любых данных, в том числе и тех, которые пока не хранятся и могут потребоваться при доработке программы в дальнейшем. Признаки, которые определяются одним битом вынесены в отдельные гены (в настоящей версии программы их 2, но при необходимости возможно расширение).
Кроме данных, относящимся к туру, есть данные, полученные от пользователя. Эти данные могут свидетельствовать о следующем:
вид отдыха – должен влиять на значимость различных параметров, например, то, что важно для пляжного отдыха, совершенно не нужно в активном;
наличие или отсутствие каких либо услуг – должно увеличивать рейтинг туров, где условие выполнено;
качество тех или иных услуг – должно поднимать оценку туров, у которых эти качества близки к требуемым.
После нормировки признаков имеем ряд характеристик, которые нужно изменять в соответствии с данными пользователя. Логично ввести коэффициент значимости, который бы отображал влияние конкретного параметра на результирующее значение оценки. Эти параметры частично определяются видом отдыха, частично самим пользователем, который может вручную увеличить или уменьшить значимость того или иного атрибута в соответствии со своими нуждами. Не все параметры нужно устремлять к нулю или бесконечности (на самом деле все числа лежат в определённом диапазоне и бесконечность представляет собой просто нереально большое для данного атрибута значение). Есть также ряд свойств, которые должны по возможности принимать строго заданное значение. В этом случае естественно рассматривать разницу между необходимым значением и реальным, пытаясь свести её у нулю. Для простоты сведём ситуацию к рассмотрению разницы, принимая необходимое значение за нуль либо за бесконечность в зависимости от того, нужно ли максимизировать признак или минимизировать.
Отдельно следует рассмотреть битовую строку, содержащую информацию о дополнительных услугах, на каждую из которых выделен 1 бит. Оценка производится следующим образом: производится подсчёт признаков, удовлетворяющих требованиям пользователя (то есть наличия или отсутствия некоторых услуг) и подсчёт признаков, относительно которых не высказано пожеланий. Параметры, которые пользователь запросил (или запретил) имеют больший приоритет по сравнению с теми, про которые не упомянул клиент. Это не позволит турам с большим набором ненужных услуг возобладать над турами, у которых услуг меньше, но они именно те, что нужны туристу.
Для формирования окончательного критерия необходимо сложить следующие числа:
разницы «идеальных» параметров (к которым нужно стремиться) и реальных, которые есть в данном туре, помноженные на коэффициенты, сформированные программой и скорректированные (по необходимости) пользователем;
оценку битовой строки, содержащей информацию о наличии (отсутствии) дополнительных услуг.
Полученная функция выражает насколько тур подходит пользователю. Структура программы позволяет легко заменить функцию оценки при необходимости, например, в случае появления новых услуг, изменения структуры данных или выявления лучшего способа оценки.
- Содержание
- Введение
- Титул спецчасти
- Порядок контроля и приёмки
- Эскизный проект
- Постановка задачи
- Предварительные нир
- Обзор средств автоматизации туристского бизнеса.
- Программный комплекс «Мастер-Тур»
- 1С.Предприятие
- Потребности пользователя
- Технический проект
- Общий алгоритм работы программы
- Выбор платформы для проектирования и его обоснование.
- Выбор метода решения задачи и обоснование
- Уточнение общего алгоритма
- Описание генетических алгоритмов
- История появления эволюционных алгоритмов
- Основы генетических алгоритмов
- Возможности применения генетических алгоритмов
- Математическая формулировка экстремальной задачи однокритериального выбора
- Понятие “оптимальное решение”
- Влияние параметров генетического алгоритма на эффективность поиска
- Операторы кроссовера и мутации
- Выбор родительской пары
- Механизм отбора
- Формат данных
- Разработка алгоритма генерации критерия
- Разработка алгоритма оптимизации
- Разработка структуры классов
- Разработка базы данных системы
- Конфигурация технических средств
- Рабочий проект
- Разработка программы
- Алгоритмы работы программы
- Методика испытаний
- Разработка программной документации
- Установка информационной системы
- Титул технологи Технологический раздел
- Введение
- Объектно-ориентированное программирование
- Объектно-ориентированное проектирование
- Работа с базами данных вDelphi
- Использование компонентовAdo
- Методика отладки и тестирования программы
- Особенности тестирования программного обеспечения
- Встроенные средства отладки и тестирования среды разработки
- Основные факторы надёжности системы
- Метод «силовой отладки»
- Методы тестирования
- Алгоритмическое тестирование
- Функциональное или аналитическое тестирование
- Содержательное тестирование
- Виды тестов
- Анализ рынка туруслуг
- Постановка задачи
- Методы сегментирования
- Расчёт сегментации
- Титул пэб Раздел по технике безопасности
- Введение.
- Рабочее место турагента
- Источники опасности и вредностей
- Излучения экрана монитора
- Микроклимат помещения
- Психофизиологические факторы
- Нерациональное освещение.
- Заключение
- Список литературы
- Приложения