J( 'ー`)し「シフト表を作るのが大変」(ヽ´ん`)「まかせろ」Pythonで自動化。さすがパソコンの大先生 [443844816]
■ このスレッドは過去ログ倉庫に格納されています
「Pythonで親孝行」に称賛
https://news.nifty.com/article/economy/business/12117-1795077/
「母親が丸一日かけて作っていた30人分のシフト表を、プログラムで自動化した」という、とある人物のツイートが大反響を呼んだ。
母親が毎月ヒーヒー言いながらから丸一日かけて作成してた(意味わからないくらい条件が複雑な)シフト表(30人分)を、Pythonで自動作成するプログラム書いてあげた
日曜の3時間生贄になったけど、ITリテラシー皆無な母親は魔法みたいと言って5千円くれたし、PythonでExcel操作する勉強になったから○
このツイートは3.6万いいね、3000回以上の RTを記録。「技術者として最高の親孝行」「うちの息子になってほしい」「日本の未来は明るい」などといった、好意的な反応が寄せられた。 動的計画法のナーススケジューリング問題よくわからん 要は人力データをエクセル上で体裁整えるだけのことでしょ 3時間で出来てバグないんだったらすごいやん
よく分からんけど 夜勤明け休みとかリーダークラス2名とか条件入れてくと複雑なのに更にメンバー間で不仲で組み合わせ不可とかあるからね この手のシフトって仮組で掲示してしまって
あと個人の都合は個人間で調整させるだけだから
仮組だけならそんなに複雑ではない 扶養のやつだと年間所得こえないようにしてくれとかもある >>60
元記事読むとかあちゃんはパソコン使えなくて手書きでやってたぽいから一日かかるかも まじかよお前ら凄いな
うちの保育園用にも作って欲しいわ
休み希望バラバラだし当日の赤ちゃんの人数によって保育士の数変わるし
有資格者の絶対数がギリギリで毎月きついんよ まず個々人が絶対に守りたい制約の表記を決めてパーサを書きます 色んな方から突っ込みが入っていますが
建築設計(私の仕事)でも何でも、何かの出力に際して最適化の作業というのは大変です
それを自動化して、カーチャンJ( 'ー`)し、はい楽になったでせう?
美談だけど成果物の検証は必要と思うの
記事全文を読んだけど、お金が絡むことだから、その辺大丈夫なのかな?
私はプログラミングが出来ないから見当違いのことを言っているのだと思っていますが >>13
Aさんはxx曜日だけとかBさんはxx曜日で次何日までだけとか
そんなレベルの組み合わせなんじゃないの 妻が同じように困ってたけど結局excel関数で検証用の項目増やしただけだわ
イレギュラー多いから作り込んでも運用できんよ 前のシフトと大して変わらんみたいなヒューリスティックが成り立つなら単純な近傍探索だけでもどうにでもなりそう この話がホントか嘘かはしらんけど
30人分のシフト作れって言われたら俺ならツール作るわ
最適化できないって理由で手書きでやる人は偉いなって思う 30人雇うくらいならちゃんと会社に発注しろ
その複雑な条件も刻々と変わっていくだろうしメンテナンスないと使いものにならないんじゃ? >>61
ダメじゃんこれ
将来条件が変わったときにまた1日近くかけてシフト表作ることになるぞ
で今までは30分で出来てたよねとか詰められることになる サーバーサイドでいくらこねても使用感に直結するのはフロントだな
ajaxとかやりだすと時間かかる J( 'A`)し「クビになった!アンタのせい!ギャオオオオオオオオオオン!!!」 >>79
> 保育園には年齢別のクラスがある。そのクラスごとに、遅番・早番・普通番の保育士が必要だ。さらに、保育士の勤務体系は10〜15 ほどあり、それぞれの勤務日数には上限が設定されている。さらに、遅番を担当した保育士には次の日の早番が割り振れないなどの制限もあった
こんな条件らしい >>83
エクセルでダメな条件になると赤くなるセル用意するだけでかなり楽になりそう >>58
それを組み合わせ最適化問題と言います
真の最適解が求まるまで長時間探索するか、途中で妥協するかの違いでしかない (ヽ´ん`)「できない。」J( 'ー`)し「大変なんだよ。 シフトってモチベーションに直結するからね
各個人で横チェックとか全員の連休数揃えてあげたり時間かければかけるほど綺麗になる
前日深夜
(よしシフトできたわ)
翌日バイト
「次の日曜に急用入っちゃってサーセン」
(……) ナーススケジューリングって動的計画法じゃなかったか 名前やら勤務条件やらをコードの中に直接書き込んでるから
毎回毎回メンテナンスせんとアカンぞこれ おそらくWindowsだからC#が1番作りやすいと思うわ
PythonのGUIとか知らん これで母親の仕事無くなって職場の存在意義無くなりそう 人が変われば条件も変わるからずっとメンテが必要になる奴 >>92
そう思う
大枠だけ作って細かいのは手作業で修正するのが1番楽そう 便利になって良かったね、で済む話なのになんでお前らそんなに重箱の隅をつつくみたいにグチグチ粗探ししてまで叩いてんの? >>102
息子は最後まで面倒見るつもりないだろうね
2度目の条件変更に対応してないみたいだし >>99
えぇ
エクセルやろ
シート上のテーブルでええやん >>55,58
一理あるがこの手の問題は>>66が指摘してるように、ナーススケジューリング問題って言って、かんたんに言えば「合理的な方法で有効時間内に問題を解くのが難しい」のよ
だから最適化といって「合ってるか分からないけどとりあえず有効時間内に解く」という最適化で解決するんだけどこれが曲者で、単純に最適化も難しいんだけど、
過労死とかの労務関係(特に医療とか今回みたいな保育とか)の問題も出てきた際に責任の所在が問題になる。
これが人がやってればこの人が悪いってなるんだけど、プログラムの場合だとさらに曖昧になるから最適化は難しい >>105
ほんとこれ
今後使ってて問題起きたら対応すればいいだけの話
最初から完璧求めるやつはアホ シフト作成のツール作ったことあるけどさすがに3時間じゃできないと思う つか保育士の労務負担減らすためにこういうツールは国が提供しろよ >>66
>>108
ご教示ありがとうございます<(_ _)>
ちょっと掘ってみます なおその5000円で永久に保守運営係として束縛されバグが見つかれば罵倒されるのであった >>8
要件は母親から出てきてるんだからトライアル期間でアウトプットの答え合わせしてもらえば良いだけだと思うが? 3時間だけ入れってアホですか
どうせならここ連休にして
なんでなんで私ばっかり週末休みないんですか
x日はお客さん多いから人数厚めにしないと
xさんの条件便利だからって1日8時間25日出ることになってますけど そもそもな話フロントエンジニアだと
windowsマシンでダブルクリックで動かすpython環境作るだけで軽く数時間飛んでいくと思うけど 別に複雑なことはやらんでいいでしょ
シフト表なんてものは休みが出たりして日々変わっていくものだから
当然後から変更できるように作る
とりあえず大雑把に全体を作って細かい部分の修正は手でやればいいのよ
この大雑把な部分をプログラムに任せることで作業が簡単になるし
プログラム組む側も細かい仕様に気を配らなくていいからすぐ出来上がる
それが事務仕事とプログラムの一番バランスいい付き合い方よ 単純に過去のシフトパターンの名前部を記号にしていくつか用意し個別のは調整するようにすればええんやないの?
それに休出も勤務時間も平均化にするんやろ >>105
古臭い企業で行われている能率の悪いExcel作業を
俺がマクロ組んだら一瞬で~系嘘松のバリエーションだから VBAおじさんに聞きたいんだけど
ツールの構成管理・バージョン管理ってどうやってるの?
Git使えないよね? 大変なのは表を作ることじゃなくて埋めていくことだろ
特にバイト主体とかだとそれぞれの都合なんかをすり合わせて不満が出ないようにするのが大変 市の保育士やってる母ちゃんが勝手に業務を身内にアウトソーシングしちゃっていいのか >>8
検証はユーザー、つまり母親がする
検証が終わったら母親の仕事は終了して解雇 >>115
これよなあ
急にシフトが変更になった場合や、人が辞めたり入った時、
新しい時間枠が増えた時や行事などでのイレギュラーなシフトなどのメンテを頼まれるなあと思ってやめたな
それに、「どうしても人が足りないけど気合で乗り切る時」とかも「この時間帯は二人・・」みたいな設定が狂うからきつい
おかんがExcelやアプリに慣れてるならいいけど、そういう要請にこたえるのは面倒やで なんでエクセルなのにわざわざPython?
普通VBAでマクロ組むだろ
そのほうがエクセルさえあればどこでも実行できるし >>128
ダウンリストとかで個別の手修整をした際に禁則に引っかかったら赤くするとかでええやろ AさんはBさんと同じ時間帯は嫌だとか色々あるんや! >>133
マクロ禁止のところあるし
pythonならエクセルデータをいじれるぽい >>133
ライブラリとネットに転がってるサンプルコード使いまわしたんじゃね? >>135
あるなあ
あと、この人は〇連勤までしか無理とか
この人は病み上がりなので午前中だけだが、給与は必要だから優先して入れたいとか 個人の能力
とか不仲とかそういう名のも考えないと
人辞めてくからな
そこまで数値かして3時間だから作った奴は天才 >>133
Python使えるけどVBAは使えないっぽい この前の更新でマクロファイル編集できんくなったんだけど
おまえらどうしてん? >>105
重箱つーかそんな簡単にできるんだって驚きよ
職種によるんだろうけどね
コンビニとかならみんなが同じ仕事できてとかで簡単そうだけど、技術職とかだとできるできないあるし毎回やることが同じでもないし条件めちゃくちゃありそうだなぁって
最初に埋めるような何でもできて責任者にもなれてみたいな人を自動で埋めるだけでも楽そうだけど
シフト作ったことあると結構面倒だなぁってなるんだよね 作らなくてもフリーソフトなりアプリなり既にありそうだけどないのかな🤔 >>131
カーチャンJ( 'ー`)しクビにする成果物作って、そのカーチャンから5000円ももらうなんて鬼や(T-T)
おかあさん、時間が空いたから美味しいものでも食べましょうというのが筋でしょうに(´;ω;`) バイトなら条件ひとりひとり変わるだろうけど正社員契約社員の条件なんていちいち変えてらんねえだろ
シフト作成に1日も掛けてられる保育所ってその時点で無駄多すぎるわ 日毎に考えるのもいいけど月のベーススケジュールにメンバー自動割り当てしてその後調整してくのが楽やろ
結局はシフト間隔の問題があるから >>147
日本はこういうブルシットジョブだらけなのだ 改造するたびに条件フラグテーブルの列数がヤバイことになっていきそうな予感
とか思ったけど担当者とか条件とかコード直書きなのか……また追々直せばええか 常識で考えれば適切なクラウドサービスを提案する案件だよね
人が変われば勤務条件も変わるのは当たり前だし
それともこの子どもがずっとメンテし続けるのか? この先誰か一人やめるたびに保守しなければいけないというね >>148
IBMの統計機械の実物を見たことあります
不動品と聞いたけど、すげーっすよ >>152
そのうち汎用化するんじゃないの?
試作品もいいところだろうし だれ嫌これ嫌でシフト配慮してもらえるとかホワイトいいな〜 というかこんなのは何十年前に手出す話なのかと
エクセルではなくて表計算とかNECが国民機で
ブイブイ言わせてた時代からあるぞ 経済成長しないとか言うのはウソ
生産性を上げる余地はいくらでもある >>149
パートや派遣主体ならこっちから出したのをベースでイケるけど
バイト主体だとそうも行かないからなぁ…
やっぱり予定とか聞きながら調整していく必要がある >>105
ケンモメンは否定レスしないと死ぬ病気にかかってるから なんでわざわざPythonを叩かせるのか
VBAでええやん >>136
マクロ禁止の環境で勝手にpythonいれられるかよw
家に持ち帰りだとしたら情報漏洩だろ >>153
片手間にできるなら続けるでいいんじゃない?
母親がやってる体裁さえ崩れなければメンテナンス期間は母親が仕事やめるまでだろうし >>156
設計からある程度固めないとグダつくパターンになるよ
何度手間にもなるからそのうち知らんわーってなるやろ 出来るけどメンテナンスや仕様追加が無限に続くから絶対に無料では引き受けない事にしてる ■ このスレッドは過去ログ倉庫に格納されています