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を記録。「技術者として最高の親孝行」「うちの息子になってほしい」「日本の未来は明るい」などといった、好意的な反応が寄せられた。 大阪の長居公園の中の自然史博物館には駅を降り公園に入って1㎞ほど、この炎天下に心臓疾患児の4歳はそう歩けないし上の子に酸素ボンベをもたせて私が17㎏を背負った訳ですが木陰のベンチの大阪のじいちゃんばあちゃんらに
「おかあちゃん、がんばりー!」
という声援をいただきました、まかせろ。 大先生のプログラミングは
hello worldで終わりだから うん
自動作成プログラム作ってあげて親孝行だね
出来上がったシフト表の検証は?
お母様はPython分からないよね
ブラックボックスだよね
どうするのよ? そんな簡単にできるもんなの?
何曜日は何人とかこの日はこのイベントのために前日に人がいるとかあるよね
その程度ならいいけど
かならず時間帯責任者いれないとなぁとか、この人はこれできないからなぁとか、この日はこの仕事で一人全部取られちゃうしなぁとか
めちゃくちゃ条件ありそうだけど、そんな簡単にできるの? シフト作りで1番大変なのは出勤者希望者がいない日をどうやって穴埋めするかだから "意味が分からないくらい条件が複雑"な組み合わせ最適化プログラムを3時間で作れるとか神か? >>11
生贄フラグとか強制出勤順位を付加するの? 誰がメンテするんだよ 親が感謝したのはおそらく一生面倒見てくれると思ったからじゃないか? 大先生がvbaで作れるもんを無理矢理パイソン使うのはなぜなん? 意味わからないくらい条件が複雑なのをまず理解するだけで3時間以上かかるわ >>17
いやぁo(〃>ω<)o
実際、どうなんすか? ¥5000受け取るなよ
受け取るならすぐ飯にでも連れてけ こ~れ業界特有の
持ち帰り仕事です
糞ブラックなのを追求したほうがいい とにかく他人が作ったものにケチをつけるのに必死なチョンモメンであった >ITリテラシー皆無な母親
自分を上げたいために母親を貶すクズ >>16
VBAのみでやることはあまりない
何かしらのシステムから出力することはよくあるので
pythonでの勉強も兼ねてやるのは悪くはない メンテナンスを考えればVBAにするしかないし第一に環境にPythonを入れなあかんやないの? >>16
Pythonの方が今っぽくてカッコいいから
vbaは過去の遺物 シフト表作成ツールって買い切りで売ってるやつ少ないから俺も欲しい Javascriptでもできそう
phpでwebからアクセスできるようにしてやらうか?
c#でデスクトップアプリにもできるぞ
怖いか? 実行環境やランタイムを付加しないで済むのがええやん 単純に割り振るのは簡単だけど、盆正月とか連休を平等にしないと不満がでる >>14
望まないシフトだと不満ポイント貯まるようにして、それが各人均等になるように振り分ければいい コード101行で済むレベルで意味わからないくらい条件複雑とかいってるの草 >>13
おかんの言い分を聞き取って落としこめば出来上がる
可能性はある
おかんの欲しい仕様はおかんの頭の中にあるからね
コード化したことよって女の面倒くさい説明から
わかりやすい状態になった 俺も前組もうとしたが、うまく組めなかった。これらの問題はナースシフト問題っていってアルゴリズムかなり複雑 アプリでシフト表作ったら
そこから調整するんじゃないの?
突発的なイベントもあるだろうし この程度ならありそうだけど
niftyロンダされたキャリコネだからどうかな この手の条件てキツキツにするほどメンテが面倒になったりするから
固定的なもの放りこんだらあとは自由入力が一番やろ >>40
そんな話じゃなくて
30人の組み合わせ最適化なんて結構な大事で
これだけでビジネス案件になるくらい大変なプログラミングなんだが クソスレ立ててる僕だけど
本当は天才プログラマー
そうだったらいいのにな
そうだったらいいのにな >>8
受け取る側のお客が検収作業をする際に
pythonかどうかを気にすると思うか? どうせ適当なライブラリ引っ張ってきてエクセルに出力するところだけ自分で書いたとかじゃね? >>46
30人がてんでんばらばらな希望出してくるなら大変かもね
それを平均化するために可視化してるとかならオレも組むイメージはわく
もしくは希望はしてないけど「入れてもいい」があったときに自動化してるのかも >>46
だからそれが仕様だろって
おかんの頭の中には実現したい要素があって
今は手動でエクセル?にポチポチやってるんだし
アウトプットが出来あがる以上は仕様はあるんだよ
コード化されてないだけで
仰々しくシステムとか言わなくてもポトペタに等しいUIなどは
エクセルが担うんだしあとはそこに流し込むかにすぎない
どうせこのレベルだと印刷して終わりだろうし
もしくはPCでシート開いて見る程度 月の途中でシフト変更とかあるでしょ
コロナ禍の今はザラにある
その度にプログラムを組み直すんだろか >>46
過去データをちゃんと保持してやれば行けるな
組み合わせ不可メンバーとか組み合わせ推進メンバーとか過去実績から変っていくように組む設定とかスキル情報とかつけてグループのスキルが充足されるようにすればええんやろ
VBAでええやん >>46
最適化じゃなくて制約違反してないパターンを1つ見つけたらいいだけでしょ ネタツイだろ
丸一日かかるシフト表ってなんだよ
まずそこおかしいだろ まあIT分からんし人の家の事情になんも言えんけどいうほどハッピーエンドかこれ
>「母からはすでに2度、追加で依頼が来ています。『この条件を言い忘れていたから、付け加えて』と。
>1度目はすぐ対応したけど、2度目はまだです。職員さんが入れ替わったら、またメンテの依頼が来るんでしょうね」
>morioさんの「エンジニア流・親孝行」は、まだまだ続くことになりそうだ。 そもそもオカンがエクセルちゃんと使えるのか?
シフトが永久固定って訳でもないからメンテも考えてるのか?
とか総合して嘘松案件と判断致します これはプライベートだから許されるんだよな
仕事じゃ勝手にツール作って早く終わらせる訳にはいかんからね 動的計画法のナーススケジューリング問題よくわからん 要は人力データをエクセル上で体裁整えるだけのことでしょ 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とか知らん これで母親の仕事無くなって職場の存在意義無くなりそう ■ このスレッドは過去ログ倉庫に格納されています