ОДНОВРЕМЕННЫЕ РАБОТЫ И ДОПУСТИМЫЕ НАЗНАЧЕНИЯ
Назначить несколько работ: почему подходящего человека нужно искать для всего набора
Для отдельной задачи легко выбрать первого свободного подходящего специалиста. Но это назначение может оставить другую задачу без единственного допустимого исполнителя. Когда работы должны начаться одновременно, проверяйте весь набор назначений до подтверждения, а не только каждую пару по очереди.
Определите, какое обещание проверяется
Рассмотрим обычные коммерческие сервисные задания. Нужно понять, можно ли выполнить все выбранные работы в одном заданном интервале имеющейся командой. Это проверка выполнимости, а не кадровый отбор или оценка личных качеств сотрудников.
Для каждой работы заранее известны длительность и список допустимых исполнителей. Допустимость опирается на проверенные рабочие условия: доступность, необходимый навык, согласованный формат и ограничения конкретного заказа. Статья не устанавливает юридические допуски к регулируемым работам и не относится к медицинской или экстренной диспетчеризации.
Выделите уже подтверждённые назначения. Их нельзя молча переставлять ради улучшения нового плана. Свободные возможности определяются после учёта действующих обязательств, а рассматриваемый набор содержит только работы, решение по которым ещё можно принять.
Список кандидатов не равен назначению
Матрица допустимости показывает, какие пары «работа — исполнитель» разрешены. Само присутствие человека в двух списках не создаёт для него двух одновременных мест. После выбора одной работы его соответствующая ёмкость становится недоступной другой.
У полного назначения два условия: каждая работа получает допустимого исполнителя, а один исполнитель не используется сверх разрешённой ёмкости. В рассматриваемой модели каждому человеку разрешена только одна работа в общем интервале.
Google OR-Tools описывает задачу назначения с ограничениями «каждому работнику не более одной задачи» и «каждой задаче ровно один работник». Google: Assignment problem. Списки допустимых пар ниже являются дополнительными условиями нашего учебного примера, а не автоматически известными системе сведениями.
Учебный пример: три человека и три неделимых часа
Все данные вымышлены. Работы X, Y и Z должны выполняться с 10:00 до 11:00 одного дня. Каждая занимает ровно час целиком, не делится между людьми и не переносится внутри примера. Исполнители A, B и C свободны весь этот час; каждый может выполнить одну работу.
Допустимость задана так:
- X может выполнить A или B;
- Y может выполнить только A;
- Z может выполнить B или C.
Дополнительные ресурсы, время перемещения и подготовка в примере не требуются. Если они нужны реальной услуге, их следует добавить к проверке. Три свободных человека не означают три доступных выезда при неучтённой дороге или одном общем приборе.
Попробуем назначать работы в порядке X, Y, Z, каждый раз выбирая первого свободного по алфавиту. X получает A. Для Y свободного допустимого исполнителя уже нет. Z получает B. В итоге назначены две работы, C свободен, а Y остаётся без решения.
Все сделанные назначения по отдельности допустимы. Ошибка заключается в выводе, будто выполнить третью работу невозможно. Ранний выбор A для гибкой X занял единственного кандидата для Y.
Полное решение существует
Назначим Y исполнителю A, X исполнителю B, Z исполнителю C. Каждая работа получила человека из своего допустимого списка; никто не занят дважды. Все три задания выполняются одновременно с 10:00 до 11:00.
Это не добавление мощности: людей осталось трое и доступных человеко-часов тоже три. Изменилось сочетание назначений. Именно поэтому увеличение штата не должно быть первым выводом из неудачной последовательной раздачи.
Для трёх людей и трёх работ существует шесть взаимно однозначных перестановок. Проверка всех шести по спискам допустимости оставляет ровно одну: X → B, Y → A, Z → C. Такой перебор даёт проверяемое доказательство для маленького примера.
Правило «сначала самые ограниченные задачи» здесь помогает найти решение. Но не следует обещать, что одна эвристика всегда решит любую большую задачу с несколькими ресурсами, разной длительностью и дополнительными зависимостями. Для сложного набора нужен соответствующий метод проверки, а результат должен объясняться ограничениями.
Отдельный пример настоящей невозможности
Теперь изменим только одно условие: X может выполнить исключительно A. Списки стали X → A, Y → A, Z → B/C. Три человека всё ещё свободны, суммарная потребность по-прежнему три часа.
Но две одновременные неделимые работы X и Y требуют одного и того же человека. Ни B, ни C не заменяют его по заданным условиям. Полного назначения нет: проверка шести перестановок не оставляет ни одной допустимой.
Здесь сообщение «не удалось назначить всё» должно указывать конкретную причину: у пары X/Y только один доступный кандидат на общий интервал. Возможные дальнейшие решения — согласованный перенос, привлечение допустимого исполнителя или изменение объёма. Просто расширить список кандидатов без подтверждённого основания нельзя.
Если бизнес решает выполнить только часть работ, критерий выбора задаётся отдельно. Невыполнимость всех трёх не определяет автоматически, какого клиента отложить. Диспетчер сохраняет открытое обязательство и согласованный следующий шаг.
Не смешивайте задачу с круговой очередью
Круговое распределение лидов отвечает, кому передать очередное подходящее обращение с учётом нагрузки. Его цель и исходные условия отличаются от проверки полного одновременного набора неделимых работ.
Круговая очередь может быть корректной для потока независимых обращений. Но её локальный выбор не доказывает, что после него сохраняется назначаемость всех остальных задач в фиксированный час. При пакетном планировании сначала проверяют допустимый полный набор, затем при необходимости применяют согласованные предпочтения между несколькими решениями.
Стоимость, равномерность нагрузки и пожелания клиентов могут помочь выбрать среди выполнимых вариантов. Они не должны делать допустимой запрещённую пару. Не скрывайте жёсткое ограничение внутри общего балла привлекательности назначения.
Отложенное назначение на пул требует отдельной проверки
Запись на группу без немедленного выбора человека удобна, если позднее удастся распределить все обещанные работы. Один общий счётчик свободных мест может не заметить конфликт допустимости из второго примера.
Microsoft Field Service описывает пулы для отложенного назначения. При этом schedule assistant может считать час доступным за счёт двух участников по тридцать минут. Документация также указывает, что пулы не возвращаются для onsite requirements. Microsoft: Resource pools.
Это конкретное поведение продукта и режима. Оно не подтверждает выполнимость нашего часа одним непрерывным исполнителем и не является универсальной моделью выездной команды. До принятия обещания проверьте делимость работы и смысл ёмкости выбранной конфигурации.
Сохраняйте снимок и фиксируйте согласованный результат
Нужны список работ, общий интервал, длительности, делимость, допустимые пары и причины исключения. Для ресурсов сохраняйте доступность и уже занятые места. У результата должны быть время расчёта, выбранные пары и объяснение оставшихся неназначенных работ.
Между предварительной проверкой и фиксацией A может получить другое назначение. Поэтому перед подтверждением пересмотрите затронутую доступность. Технический способ согласованной фиксации зависит от системы; бизнес проверяет отсутствие двух обещаний на один исключительный ресурс.
При частичном результате сохраните, какие назначения действительно закреплены, а какие ещё нет. Не запускайте весь набор повторно вслепую. Если требуется отменить уже принятое назначение ради нового сочетания, применяйте предусмотренный порядок изменения, сохраняя ответственность за обе работы.
Приёмочный чек-лист
- У всех трёх учебных работ одинаковый интервал и неделимая длительность один час.
- Greedy X → A, Z → B не объявляется доказательством невозможности полного набора.
- X → B, Y → A, Z → C проходит все ограничения.
- Один человек не получает две работы в общем интервале.
- Вариант X/Y → A признаётся невыполнимым целиком.
- Уже подтверждённые назначения не переставляются без предусмотренного решения.
- Изменение доступности после предварительного расчёта вызывает повторную проверку.
- Пул с суммой двух получасов не подменяет непрерывный час одного человека.
Для SABSUS проверьте сценарии через календарь сотрудников, роли и задачи. Полный поиск назначений и согласованную фиксацию набора необходимо подтвердить отдельно; встроенный оптимизатор не предполагается.
Частые вопросы
Трёх свободных людей достаточно для трёх работ?
Только если существует допустимое сочетание назначений и выполнены остальные ограничения. Общего количества недостаточно.
Если первая попытка оставила задачу без исполнителя, нужно больше людей?
Не обязательно. Сначала проверьте другие допустимые сочетания. В первом примере перестановка решает проблему без дополнительной мощности.
Можно делить час между двумя сотрудниками?
Только если это разрешено для конкретной работы. В учебном примере деление запрещено и меняло бы саму постановку.
Источники
Проверено 9 октября 2026 года. Работы, исполнители и списки допустимости учебные.