На этой странице на примере задачи о назначениях мы рассмотрим, каким образом можно
применить методы оптимизации к созданию лучшей команды, сделать тот или иной отбор,
исходя из различных требований. Мы отберем оптимальные пары, применив стандартный
инструмент MS Excel Поиск решения.
Вы научитесь:
- составлять команды наилучшим в данных условиях образом.
- учитывать различные ограничения при построении команды.
- понимать, как можно собрать команду для решения тех или иных задач.
Мини-кейс: Формирование команд.
Фирма, занимающаяся продажей оборудования для компьютерных сетей, наняла 10 новых специалистов по продажам и 11 новых техников-программистов, которых необходимо объединить в пары (техник + менеджер по продажам) — команды по продаже оборудования, соответствующего нуждам конкретного клиента.
Менеджер по работе с персоналом провел среди них тест Майер-Бриггс и определил индекс взаимной совместимости для каждой возможной пары техник - продавец. Индекс может принимать значения в интервале от 1 до 16. Значение индекса 1 показывает, что команда обладает наилучшей совместимостью. Индекс, равный 16, свидетельствует о практической невозможности какого бы то ни было сотрудничества. Результаты тестов представлены в таблице.
Необходимо провести формальный Team-building, т.е. по результатам тестирования наилучшим образом составить команды «техник + продавец» для работы с потенциальными клиентами.
- Сформулируйте целевую функцию для данной проблемы. Определите переменные задачи и организуйте данные для вычислений.
Поставьте задачу для «Поиска решения» и получите оптимальное решение не вводя ограничений целочисленности или бинарности.
- Есть ли среди созданных команд пара сомнительного качества? Введите дополнительное ограничение, чтобы все команды имели бы индекс не хуже, чем 10.
Каково минимальное возможное значение индекса худшей команды?
- Специалисты по HR утверждают, что нехорошо объединять в команды друзей. Попробуйте добавить ограничение, что индекс команд должен быть не лучше 2 или 3.
Математическая модель и решение задачи в MS Excel.
Применим метод решения транспортных задач к решению задачи о назначениях.
- Перенесем данные задачи на лист MS Excel.
- Будем искать решение в виде таблицы, в которой в случае создания пары "техник + менеджер по продажам" в соответствующей ячейке поставим 1. Назовем искомую таблицу таблицей назначений.
- В таблице назначений выделим желтым цветом область переменных.
Алгоритм наших действий показан ниже (анимация):
Очевидно, что вы можете назначить команды и расставить 1 интуитивно, однако это не продуктивно и не даст вам уверенности, что команды назначены наилучшим образом.
Какой параметр в данном случае математически описывает тот факт, что мы получим оптимальный набор команд в результате нашего отбора?
-
Поскольку у каждой команды есть собственный индекс совместимости, то сложив эти индексы мы получим суммарный индекс нашего отбора.
- Тогда, чем меньше значение полученного суммарного индекса, тем лучше наше решение.
- Следовательно, целевая функция данной задачи - сумма индексов совместимости каждой назначенной пары " техник + менеджер по продажам". Чем меньше значение этой величины, тем больше совместимых команд мы собрали, или тем меньше малосовместимых команд у нас получилось.
- Цель оптимизации - подобрать команды так, чтобы суммарный индекс совместимости всех команд был бы минимальным.
Впишем необходимые формулы в таблицы (анимация).
Теперь рассмотрим ограничения задачи.
- В нашей таблице техники записаны в столбцах.
Поскольку техников одиннадцать, а менеджеров по продажам десять, то один техник останется лишним и в команду не войдет.
- Значит, в итоговом решении в каждом столбце таблице назначений должна стоять только одна единица и один столбец должен остаться пустым.
- Если сложить все значения в каждом столбце, то полученная сумма будет равна 1 или 0. Это первое ограничение в этой задаче.
- Менеджеры по продажам записаны в строках таблицы назначений. Каждый менеджер обязательно войдет в команду, но только в одну. Следовательно, в каждой строке таблицы решения будет стоять только одна единица.
- Если мы сложим все значения ячеек в строке, то полученная сумма будет равна 1. Это второе ограничение.
Внесем данные в таблицу "Параметры поиска решения" (анимация).
После запуска Поиска решения получим следующий результат:
- Суммарный индекс команд - 38.
- Из десяти команд три имеют индекс совместимости 1, еще 3 команды имеют индекс совместимости 2. Очень хороший результат.
- Однако, одна команда имеет индекс совместимости 12. Это тревожно. В этой команде возможны частые конфликты. Продуктивная работа такой команды вряд ли возможна.
Анализ полученного решения.
Итак, мы получили решение, но нас не устраивает команда с индексом совместимости 12. Поэтому введем в задаче дополнительное ограничение:
индекс совместимости команд не может быть больше 10.
Математически это ограничение может быть записано так:
Запустим поиск решения и получим новый результат.
Решение, исключающее команды с индексом совместимости не хуже 10.
Одного взгляда на результат достаточно, чтобы понять, что мы получили не то, на что рассчитывали. Как можно назначить в команду 0.4 человека?
-
Причина проста: алгоритм нахождения оптимального решения ничего не знает о деталях задачи, он работает с цифрами и получает оптимальный, с точки зрения математики, результат.
- Задача менеджера проанализировать полученный результат и внести коррективы в модель в случае необходимости.
- В нашем случае для получения корректного решения нужно явно добавить требование: переменны должны быть бинарными, т.е. равны 1 или 0.
Введем это ограничение в поиск решения.
Получим новый результат. Хотя суммарный индекс совместимости наших команд стал 39, зато у нас больше нет потенциально конфликтных команд с тяжелым микроклиматом.
Я надеюсь, что на третий вопрос задачи вы легко сможете ответить самостоятельно, добавив в "Параметры поиска решения" еще одно ограничение:
значение индекса совместимости отдельно команды должно быть не меньше 2.
Этот метод отбора можно использовать и при назначении конкретного работника на выполнение определенной работы.
Для того, чтобы применить метод оптимизации к решению задачи о назначении или отборе, необходимо:
- Создать таблицу эффективности. Это может быть таблица совместимости для отбора пар. Это может быть таблица скорости выполнения работ для задачи о назначении работника на выполнение определенной работы.
- Подготовить таблицу назначений.
- Подумать, что может стать целевой функцией в задаче. Это может быть минимальный суммарный индекс совместимости всех команд. Это может быть наименьшее время выполнения всех работ.
- Проанализировать данные:
- все ли работники будут востребованы?
- все ли работы могут быть выполнены?
- Установить ограничения.
- Внести данные в "Параметры поиска решения".
- Получить и проанализировать результат.