Возникла на работе очередная задача: распределить отпуска. Начальник по-дружески объяснил ситуацию и спросил мнение. Пораскинул мозгами — и подумал: задача справделивого распределения отпусков вообще довольно сложная, и на многих предприятиях, в каждом отделе ее решают по-своему. А ведь это вполне математическая проблема. Но вот как формализовать…
Требуется: справедливость в распределении месяцев отпуска. Считаем, что справедливая система — это та, которая учитывает взгляды большинства, работает объективно, и способна учесть форс-мажорные ситуации (ну нужно человеку срочно подготовить к зиме неожиданно купленный дом).
Поскольку мы живем в России, то мы очень зависим от смены времен года. И, как правило, самые желанные месяца для отпуска — с мая по сентябрь. Следовательно, максимальная конкуренция развивается именно за эти месяцы, а особый накал — за июнь-август.
Правда, теперь многие стали ездить в теплые страны, и ранее непривлекательные ноябри-марты стали вполне интересными. Вобщем, составить таблицу весомостей месяцев оказалось очень непросто. Неплохо бы опросить людей… Но выборка нужна довольно объемистая. На примере 11 человек на участке выяснилось, что далеко не все считают самым лучшим месяцем июль, и далеко не все считают самым худшим для отпуска месяцем декабрь.
Подумав еще, я понял, что не столько важен вес месяца, сколько количество конкурирующих за каждый конкретный месяц. Грубо говоря, вот конкретно в этот год, допустим, так вышло, что в июне никто в отпуск не собирается. У всех планы — кому в Египет, кому в Турцию, кому зимой на горнолыжку, кому к родственникам… А вот, допустим, за сентябрь разгорелась нешуточная борьба. И тут-то уже учитывается пусть некий рейтинг человека: допустим, в прошлом году ты выбрал совсем неконкурентный месяц (состязаться ни с кем не пришлось) — твои изначальные баллы не менялись, теперь их у тебя четыре. А сейчас ты конкурируешь с тремя человеками, у которых баллы от 2 до 3. То есть ты побеждаешь в состязании, но баллов у тебя становится не 4 а 1.
Неплохо бы учесть, что за ноябрь конкурируют реже, чем за август, и баллов снимать нужно также разное количество — в зависимости от веса месяца и в зависимости от отсеянных конкурентов.
Поскольку кокуренты отсеялись, их нужно также распределять: один хочет допустим в мае, но там состязаются только два человека, значит, один бал товарищу прибавляем (ушел с позиции для трех конкурентов на позицию с двумя конкурентами). Уф… Есть ли предел этого ряда? Что-то уж больно сложная конструкция получилась…
Ваши предложения?
Требуется: справедливость в распределении месяцев отпуска. Считаем, что справедливая система — это та, которая учитывает взгляды большинства, работает объективно, и способна учесть форс-мажорные ситуации (ну нужно человеку срочно подготовить к зиме неожиданно купленный дом).
Поскольку мы живем в России, то мы очень зависим от смены времен года. И, как правило, самые желанные месяца для отпуска — с мая по сентябрь. Следовательно, максимальная конкуренция развивается именно за эти месяцы, а особый накал — за июнь-август.
Правда, теперь многие стали ездить в теплые страны, и ранее непривлекательные ноябри-марты стали вполне интересными. Вобщем, составить таблицу весомостей месяцев оказалось очень непросто. Неплохо бы опросить людей… Но выборка нужна довольно объемистая. На примере 11 человек на участке выяснилось, что далеко не все считают самым лучшим месяцем июль, и далеко не все считают самым худшим для отпуска месяцем декабрь.
Подумав еще, я понял, что не столько важен вес месяца, сколько количество конкурирующих за каждый конкретный месяц. Грубо говоря, вот конкретно в этот год, допустим, так вышло, что в июне никто в отпуск не собирается. У всех планы — кому в Египет, кому в Турцию, кому зимой на горнолыжку, кому к родственникам… А вот, допустим, за сентябрь разгорелась нешуточная борьба. И тут-то уже учитывается пусть некий рейтинг человека: допустим, в прошлом году ты выбрал совсем неконкурентный месяц (состязаться ни с кем не пришлось) — твои изначальные баллы не менялись, теперь их у тебя четыре. А сейчас ты конкурируешь с тремя человеками, у которых баллы от 2 до 3. То есть ты побеждаешь в состязании, но баллов у тебя становится не 4 а 1.
Неплохо бы учесть, что за ноябрь конкурируют реже, чем за август, и баллов снимать нужно также разное количество — в зависимости от веса месяца и в зависимости от отсеянных конкурентов.
Поскольку кокуренты отсеялись, их нужно также распределять: один хочет допустим в мае, но там состязаются только два человека, значит, один бал товарищу прибавляем (ушел с позиции для трех конкурентов на позицию с двумя конкурентами). Уф… Есть ли предел этого ряда? Что-то уж больно сложная конструкция получилась…
Ваши предложения?