見出し画像

従業員の勤務地配置をサポートする機能をリリースしました!


はじめに

こんにちは、花見小路です。
ナビタイムジャパンのソリューション事業で法人向けサービスの開発を担当しています。

今回は、2023年8月18日にリリースした『NAVITIME Tools』の新機能、『通勤コストシミュレーション』と『従業員配置サポーター』について、ご紹介します。これらの機能がどのような課題を解決したのか、みなさまの課題を解決する一助となれば幸いです。

NAVITIME Toolsとは

『NAVITIME Tools』は、2021年11月に提供を開始した法人向けのWebサービスです。

当サービスでは、サイト上にCSVファイルをアップロードするだけで、社員全員の交通費の一括算出や、住所データのメンテナンスができるなど、人事や総務などの業務をサポートする機能を提供しています。

システムの開発や申し込みなどは不要で、使いたい時に1回からご利用いただけます。例えば、営業部の一部門だけで利用したい、外部委託や新しいシステムを導入するほどの規模ではないが、すぐにでも経理部門での交通費確認の手間を削減したい、といったケースにおいても、手間やコストの削減、DX化をサポートできるようになります。

詳しくは当サービスの紹介ページをご覧ください。

新機能開発のきっかけ

開発のきっかけは、ある企業から当社に寄せられた1通の問い合わせメールでした。その企業では、次のような課題を抱えていました。

  • 従業員宅から各勤務地間の所要時間を一括で調べたい

  • 企業として従業員の通勤費(または、通勤時間)を最小になるよう、従業員を配置したい

現状の『NAVITIME Tools』の機能では、そのような課題を解決することはできませんでした。そこで、この課題を解決するために、新機能『通勤コストシミュレーション』と『従業員配置サポーター』を開発することになりました。
それぞれの機能の概要は次のとおりです。

通勤コストシミュレーション
すべての従業員が各勤務地に通勤する場合の通勤時間や通勤費を算出し、比較検討できます。

従業員配置サポーター
企業全体の通勤費または通勤時間が最適になるよう、自動的に従業員を勤務地へ配置します。

開発中に生じた課題

「最適な配置」ってどうすれば…?

『通勤コストシミュレーション』の開発は順調に進んでいたのですが、『従業員配置サポーター』の開発は進捗が遅れていました。というのも、課題となっている「企業として従業員の通勤費(または、通勤時間)を最小になるよう、従業員を配置」するベストな手法が見つかりませんでした。

例えば、以下のようなケースの場合、各支店へ通勤時間が企業として一番短くなるよう配属させるのは難しい問題です。
個人単位でみれば、BさんとCさんを横浜支店へ配属させたいですが、果たして企業として最適な配置となっているのか?と考えると配属先を決めていく作業は難しいことが感じられるかと思います。

そうだ!この手法を使おう!

自ら検討したアルゴリズムに限界を感じ、一から調査を行いました。その中で注目したのは「線形計画法」です。ご存知の方であれば、真っ先に浮かんだ手法かと思いますが、当時は考えもしなかった手法でした。

線形計画法とは
数学的な手法を使って複雑な問題を解く方法です。複数の要因や条件を考慮しながら、特定の目的を達成するための最適化(最大化あるいは最小化)する方法を見つけるのに使われます。

『NAVITIME Tools』のバックエンドにはPythonを利用しています。Pythonでは、線形計画問題を解決するための無料ライブラリが提供されており、その中でも『PuLP』というライブラリを使いました。

このライブラリは、次の実装手順により、簡単かつ高速に、最適な配属先の割当を行うことができます。

【PuLP 実装手順】
1. 問題の作成
 どのような最適化を行いたいのかを明確にする
2. 変数の定義
 問題を解く上で大切な要素を定義する
 例:「従業員」「勤務地」「通勤時間」
3. 目的関数の定義
 何を最大化または最小化したいかを定義する
 例:「通勤時間を最小化すること」
4. 制約条件の定義
 問題を解く際にどのような条件があるかを定義する
 例:「勤務地の配属人数を超えてはいけない」
5. 問題の解決(実行)
 
ソルバーを用いて、与えられた問題の条件に基づき最適な値を求める

具体的な実装方法につきましては、ここでは省略させていただきますが、結果として、以下の表のような配置を行うことができ、企業として通勤時間が最小になっていることを確認することができました。(この例では、企業としての最小の通勤時間は105分となります。)

このように、一見難しいと思える処理も、自ら処理を組み立てるのではなく、時には、既存のライブラリを利用することで、課題解決の近道になるということは良い学びとなりました。

今後について

今回のリリースにおいて、新たな機能である『通勤コストシミュレーション』と『従業員配置サポーター』を提供しました。
これらの機能は、主に人材マネジメントに従事されている方々を対象として開発しています。
企業内での規制やガイドラインは多岐にわたり、異なる課題がそれぞれ存在しています。そのため、今後も引き続き、企業が抱える個々の課題に対して調査を行い、改善や機能の拡充を検討していく予定です。

おわりに

ご紹介した新機能のほかにも、交通費を一括算出できる『交通費まとめて検索』や、住所リストを最新の住所データに更新して表記ゆれを修正する『住所クレンジング』など、業務の課題を解決する機能をご用意しております。
1回から気軽にご利用いただけますので、『NAVITIME Tools』に少しでも興味をもたれましたら、ぜひ、当サービスをお試しください。

最後までお読みいただきありがとうございました。