Оптимизация назначений на основе многих переменных - PullRequest
1 голос
/ 18 февраля 2011

Я недавно разговаривал с кем-то в Resource Management, и мы обсуждали проблему назначения разработчиков для проектов, когда нужно учитывать много переменных (возможно разного веса), например:

  1. Навыки разработчика& технология / область проекта
  2. Предпочтения разработчика в сфере путешествий и местоположение проекта
  3. Интересы разработчика и характер проекта

Основная проблема, с которой сотруднику РМ приходилось сталкиваться на регулярной основе, заключалась в следующем: учитывая, что X-разработчики, где каждый разработчик имеет уникальный набор атрибутов / предпочтений, назначают их Y-проектам, где каждый проект имеет свой собственный набор уникальныхатрибуты / требования.

Мне кажется, что это очень математическая проблема;это напоминает мне старые проблемы оптимизации из алгебры и / или исчисления (я не помню, какие) еще в старшей школе: вы знаете, найдите оптимальные размеры для контейнера, чтобы вместить максимальный объем, учитывая это количествоматериала - такого рода вещи.

Мой вопрос не о математике, а скорее о том, существуют ли какие-либо программные проекты / библиотеки, предназначенные для решения этой проблемы.Кто-нибудь знает что-нибудь?

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

Мой вопрос не о математике, а о том, существуют ли какие-либо программные проекты / библиотеки, предназначенные для решения такого рода проблем. Кто-нибудь знает что-нибудь?

По моему скромному мнению, я думаю, что это ставит телегу перед лошадью. Сначала нужно выяснить, какую проблему вы хотите решить. Затем вы можете искать решения.

Например, если вы формулируете проблему, назначая какой-либо числовой показатель совместимости каждой паре разработчик / проект с целью максимизации общей суммы показателей совместимости, то у вас есть проблема сопоставления максимального веса, которую можно решить с венгерским алгоритмом . Удобно, что этот алгоритм реализован как часть или библиотеки инструментов Google .

.

С другой стороны, предположим, что вы считаете, что оценка совместимости компьютеров невозможна или необоснованна. Вместо этого предположим, что каждый разработчик ранжирует все проекты от лучших к худшим (например, с точки зрения предпочтений), и, аналогично, каждый проект оценивает каждого разработчика от лучших к худшим (например, с точки зрения соответствия проекту). В этом случае у вас есть экземпляр проблемы Stable Marriage , которая решается алгоритмом Гейла-Шепли. У меня нет указателя на установленную библиотеку для G-S, но это достаточно просто, и кажется, что многие люди просто пишут свои собственные.

0 голосов
/ 18 февраля 2011

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

The fitness value is equal to the subject skill parameter multiplied by the square root of the reliability index.

и больше никогда не беспокоиться о них.Одни и те же правила могут применяться к разным разработчикам, разным предметам, разным масштабам проектов (с коэффициентом масштабирования SLOC, скажем, 1,5).Никакого понимания или реального лидерства не требуется, уравнения делают все точным и «уверенным».Лучшее в этом подходе состоит в том, что когда ресурсы не работают так, как говорят ваши уравнения, вы можете просто уменьшить их показатели производительности, чтобы привести их в соответствие.И если кто-то уже написал инструмент, то вам даже не нужно беспокоиться о математике.

(Интересно отметить, что люди из отдела управления ресурсами, кажется, всегда навязывают такие показатели другим в организации -- тем самым облегчая свою работу - а не на себя ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...