新入社員の配属先割り当ての工数削減

難易度:★★★★☆

  • 業種
  • 全業種共通
  • テーブル
  • 最適化

組み合わせ最適化の中でも実世界において頻出する2部マッチングに注目し、関連する問題が解けるようになることを目指します。ここでは大企業の人事になったつもりで、新卒採用により大人数の新入社員の配属先を決定する業務をこれから行うことを想定します。従来、新入社員の配属先を決める際は、本人の希望や適正、配属先の受け入れ容量などを考慮して人が手作業で割り当てを行っているとします。人数が多ければ多いほどこの作業は工数がかかります。そこでこの問題を最適化問題としてとらえ、最適化を行うことで、作業を自動化して工数の大幅削減を目指します。実際に業務を行うことを想定して、どのようなことを考慮して定式化などを行い、最適化問題を解くのかを学びます。

修了証明書

  • 3 時間
  • 2,000 Exp
  • 0 Videos
  • 2 Slides
  • 3 Missions
  • 9 Tasks
  • 28 Operations

Introduction 50 Exp

あなたは大企業S社の人事として働いていて、毎年大量にやってくる新入社員を適切な部署に割り当てる作業を担当しており、手作業では時間がとてもかかり、頭を悩ませています。この作業を早く終わらせる何か良い方法はないか色々調べていくうちにあなたは組み合わせ最適化の存在を知りました。何かと何かを紐づけるマッチングアルゴリズムが使えるのではないかと考えたあなたは早速作業にとりかかりました。

Slideを見る

Mission 1

データの前分析

ここではデータ構造としてのグラフについて学びます。与えられたデータに対してデータ構造としてのグラフを作成し、分析を行ったり、可視化する方法を学びます。データの規模感や基本的な性質を明らかにするのが主な目的です。

Task 1
グラフの作成
200 Exp

Task 1

グラフの作成

  • 20 分
  • 4 Operations
  • 200 Exp

ここではデータ構造としてのグラフについて学び、networkxやpandasというPythonのライブラリを用いてグラフを作成する方法を学びます。

Task 2
グラフの分析
150 Exp

Task 2

グラフの分析

  • 15 分
  • 3 Operations
  • 150 Exp

ここではデータ構造としてのグラフに対する分析の仕方や可視化の方法について学びます。

Task 3
まとめ
200 Exp

Task 3

まとめ

  • 20 分
  • 4 Operations
  • 200 Exp

このTaskではこのMissionで学んだことをまとめます。

Mission 2

2部グラフにおける最適化

ここでは作成したグラフを用いて、実際に最適化を行う方法や結果を可視化して解釈する方法を学びます。このMissionでは、新入社員10人を10個の部署に割り当てる問題を考えます。この問題を2部マッチングにおける典型的な問題である最大重みマッチングとして扱います。2部グラフを考えることでどのような問題が解けるかを実感して、そもそも最適化とは何か、また最適化後どのような結果が出るかを見ることが主な目的です。

Task 1
2部グラフの扱い
100 Exp

Task 1

2部グラフの扱い

  • 10 分
  • 2 Operations
  • 100 Exp

ここでは2部グラフの性質や扱い方について学びます。

Task 2
最大重みマッチング
100 Exp

Task 2

最大重みマッチング

  • 10 分
  • 2 Operations
  • 100 Exp

ここではグラフを用いた最適化アルゴリズムの一つである最大重みマッチングについて学びます。

Task 3
まとめ
200 Exp

Task 3

まとめ

  • 20 分
  • 4 Operations
  • 200 Exp

このTaskではこのMissionで学んだことをまとめます。

Mission 3

数理最適化

ここでは制約条件を考慮して最適化を行いたい時の方法として数理最適化を学びます。このMissionでは新入社員100人を10個の部署に割り当てる問題を考えます。さらに、例えば特定の人たちの配属先は全員異なるように設定するなどの制約を加えた問題を扱います。前回のMissionよりも変数が多く、制約条件も複雑となります。数理最適化ライブラリのPuLPを用いて、目的関数と制約条件の数式による表現方法を学び、特にグラフにおける最適化と比べてその適用範囲の広さを実感してもらうことが主な目的です。

Task 1
定式化
150 Exp

Task 1

定式化

  • 15 分
  • 3 Operations
  • 150 Exp

ここでは数理最適化アルゴリズムを利用するときのモデル式の定式化について学びます。

Task 2
求解
100 Exp

Task 2

求解

  • 10 分
  • 2 Operations
  • 100 Exp

ここでは前回のTaskで作成したモデル式に対して最適化を実行し、結果の分析の仕方などを学びます。

Task 3
まとめ
200 Exp

Task 3

まとめ

  • 20 分
  • 4 Operations
  • 200 Exp

このTaskではこのMissionで学んだことをまとめます。

Conclusion 50 Exp

本クエストのまとめです。今まで学んだことを振り返りましょう。

Slideを見る

Challenge Mission

新入社員の配属先割り当てを最適化せよ 500 Exp

Challenge Missionでは、新入社員の配属先割り当ての最適化にゼロからチャレンジしていただきます。ここで扱うデータは、Questで使ったデータと全く同じデータではなく、特徴に違いがあり、様々なパターンの目的関数や制約条件を考慮した最適化を行っていただきます。

Challenge Missionに挑戦する
PAGE
TOP