#python #pandas #mathematical-optimization #driving-distance
Вопрос:
с помощью API Google Distance Matrix я могу вычислить все время движения в секундах между адресами каждого из моих сотрудников и каждого из моих клиентов (поддельные данные в этом примере). Я поместил это в сводный фрейм данных после его вычисления. Итак, теперь у меня по оси x все клиенты, по оси y-весь мой персонал, в то время как время в пути в секундах-это значения в ячейках (данные, конечно, также доступны без рекламы с клиентами и персоналом в столбце каждый, а время в пути в другом столбце).
Теперь я хочу рассчитать оптимальное распределение моего персонала среди клиентов, тем самым сведя к минимуму секунды времени в пути. Важное требование: Некоторым клиентам требуется 2, другим клиентам требуется 3 назначенных сотрудника. 1 Персонал может быть выделен только 1 клиенту (это указано в столбце «Versorgung»).
Я уверен, что для этого есть математическое решение, но я просто не могу понять, как его решить. Заранее спасибо.
Поворотный кадр данных с секундами времени в пути в качестве значений
Комментарии:
1. Лучшее, что можно сделать (ИМХО), — это сначала записать математическую модель проблемы. Это более точно, чем фрагмент текста. После этого реализация и выбор подходящего решателя не составит большого труда. С первого взгляда. мне это кажется проблемой с заданием.
2. Спасибо @ErwinKalvelagen! Я записал это как математическую задачу и решил ее с помощью PULP на Python.