Описание математической задачи, решаемой с помощью ИС. Постановка задачи, Математическая модель, Метод решения возникающей математической задачи, Алгоритм, реализующий метод решения - Система бронирования гостевого дома и модулей управления гостиницей
Полная версия

Главная arrow Информатика arrow Система бронирования гостевого дома и модулей управления гостиницей

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Описание математической задачи, решаемой с помощью ИС. Постановка задачи

Пользователь подает заявку на бронирование гостиницы, заявки накапливаются, у каждой заявки есть период начала, и период окончания периода проживания в гостинице, стоимость номера в день. Необходимо разместить заявки, так чтобы гостиница получила максимальную прибыль. Если у двух заявок пересекаются период проживания, то выбирается та заявка, которая обеспечит большую прибыль гостевому дому.

Математическая модель

Пусть количество периодов, и - начало периода дней в периоде, - конец период проживания, - стоимость периода проживания, , необходимо выбрать такие непересекающиеся периоды проживания, чтобы прибыль гостиницы была максимальной.

Пусть период проживания гостя в гостинице.

?, где , ,

Целевая функция - максимальная прибыль от выбранных периодов проживания.

Метод решения возникающей математической задачи

Для решения поставленной задачи будет применяться метод полного перебора, всех вариантов расположения заявок. В полной мере модификации этого метода описаны в [5]. После завершения генерации всех возможных вариантов, оценка комбинации заявок будет равна , где номер заявки, а - количество заявок в очереди.

После вычисления оценок всех комбинаций, выбираем комбинацию с максимальным значением оценки.

Алгоритм, реализующий метод решения

Составляем список заявок, в котором будет указана дата заезда и дата выезда и стоимость проживания.

Выбираем период проживания с минимальным числом заезда, далее берем следующий период начало, которого будет ближе всего к завершению предыдущего периода, и так далее пока не будет достигнут конец периода планирования либо не закончатся заявки. Заносим в массив значение полученного периода и те заявки, которые были учтены.

На следующем шаге удираем последнюю заявку и запускаем алгоритм с того шага когда была выбрана последняя заявка, и снова производим оценку последовательности.

И так дальше пока не будут перебраны все варианты последовательности, после этого убираем заявку, которая была выбрана на предпоследнем шаге, и запускаем алгоритм снова. И так далее пока не будет достигнут первый период последовательности, тогда убираем его из списка заявок и продолжаем алгоритм.

 
Перейти к загрузке файла
<<   СОДЕРЖАНИЕ   >>