作業者自動割り当てツール完成
前々回の記事で書いた作業者の自動割り当てツールがひとまず完成しました。
ダウンロードはこちらから。
入力は3つのCSVファイル
1つ目が縦軸作業者名、横軸工程名の技能表
2つ目が縦軸時間、横軸工程名の工程時間ごとの必要人数表
3つ目が縦軸時間、横軸作業者名の休憩時間表
この3つの情報から最適な人員割り当てを行い、結果を出力します。
出力結果
技能の合計点が最も高くなるように人員パターンが各時間毎に割り振られます。
休憩時間を設定するとそこに仕事を割り振らないようにしています。
人数が足りなければ人数不足と表示されます。
サンプルデータは私が実際に行っている仕事のもので、去年の9月5日の作業になっています。(工程名と人名を変えてあります。)
技能表
命名が適当でファイル名はtekisei.csvとなってます。
各工程ごとの熟練度や優先度が数値で表示されてます。
チェックのON・OFFで作業者の有無を変更できるようになってます。
全ての表はCSVエディタになっていて、左の大きな表から行を選んで、右の縦長の表から列を選ぶ、下のエディットコントロールで値を書き換えといった感じ。(少々手間ですね)
作業タイムライン
ファイル名はtimeline.csv
各工程の時間ごとの必要人数をまとめた表です。
人数不足と出た場合は、同じ時間に仕事が重なっているので、ここで仕事を前後させて調整させます。
私はエクセルでタイムラインを出力するマクロを作っているのですが、これを手打ちするのは大変かもしれませんね
(タイムライン作成機能を作ったほうが良さげ)
休憩時間表
前回の課題だった休憩時間表も作りました。
これがないと、適正者に休憩無しで仕事が割り振られてしまうため、必要な情報でした。
ただ、この休み時間は、作業の合間を見て割り当てるものなので、最後に調整することになると思います。
昼休みとありますが、内容は何でも良いです。(午前休みとか、休憩とかでも)
空白以外だったら休み時間として判定しています。
終わりに
製作日数は約3日、時間を忘れてプログラミングを楽しみました。
10代、20代の頃は難しさと格闘しながらプログラミングをしてましたが、
ほとんどプログラミングをしなくなってから10年、30代後半になった今、難しいと思っていたことがすいすい頭の中に入ってきます。
知識は寝かせることで、新たな知識を得るための土台になるのかも知れませんね。
もっと人の役に立つものを作りたいです。
1日2,3件しかアクセスのないブログだけど、見てますよって方がいたら良いねマーク押してね↓😉
最近のコメント