2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Составление графика вахтования
Сообщение10.03.2008, 17:29 
Заслуженный участник
Аватара пользователя


01/08/06
3055
Уфа
У одного из моих знакомых жизненная задача всплыла:

Нужно составить годовой график вахтования сотрудников. Нам дают места в самолете, который летает с определённой периодичностью в 4 города, туда и обратно (каждый сотрудник, разумеется, летает в свой город), и нужно людей рассадить так, чтобы:
1) Вахты были примерно месяц на месяц.
2) Люди были на каждом объекте, т.е. чтоб не было так что на каком-то объекте нет людей (каждый привязан к какому-то объекту).
3) Чтоб в общаге мест хватало (т.к. некоторые живут в общаге на одних и тех же местах).

Я затруднился отнести эту задачу к какому-то известному мне классу. Конечно, это похоже на составление расписаний в учебных заведениях, но и своя специфика, безусловно имеется.
Задача мне показалась очень сложной, полный перебор не проходит никак. К тому же осложняется нечёткостью. Если решения не существует в формальной постановке, желательно получить "меньшее из зол", т.е. решение, формально не удовлетворяющее условиям, но оставляющее минимальные негативные последствия.

Не знаком ли кто-нибудь с такой (или похожей) постановкой задачи, методами решения либо с программными продуктами для её решения?

 Профиль  
                  
 
 
Сообщение11.03.2008, 04:04 
Модератор
Аватара пользователя


11/01/06
5660
Похоже, что задачу можно легко формализовать в терминах целочисленного (а точнее даже булева) программирования, если ввести (как обычно в подобных задачах) булевы переменные $x_{ij}=0$ или $1$ в зависимости от присутствия человека номер $i$ на вахте номер $j$ (под "вахтой" я понимаю пару: объект и период времени).
Тогда постоянное присутствие кого-то на определенном объекте в определенный период будет задаваться требованием неравенства нулю суммы $x_{ij}$ по всем $i$ для каждого фиксированного $j$. Впрочем и достаточность мест в общаге будет задаваться похожим условием, разве что вместо $x_{ij}$ возможно надо будет суммировать $(1-x_{ij})$ и т.д. и т.п.

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

 Профиль  
                  
 
 
Сообщение11.03.2008, 13:41 
Заслуженный участник
Аватара пользователя


01/08/06
3055
Уфа
Спасибо! Будем думать.
Похоже, класс подобных задач называется Transportation Timetabling и для решения задач этого класса существуют специальные группы, проводятся конференции, выпускаются книги и пишется масса статей и программ, но, к сожалению, практически всё это за рубежом.

 Профиль  
                  
 
 
Сообщение12.03.2008, 11:44 


16/08/05
1146
Вот здесь ставят такие задачи и пытаются решать

 Профиль  
                  
 
 
Сообщение12.03.2008, 13:08 
Заслуженный участник
Аватара пользователя


01/08/06
3055
Уфа
dmd, спасибо! Это близко к тому, что мы ищем, на русском языке, да ещё к тому же координаты разработчиков есть.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group