2017年11月16日木曜日

ロバストな勤務表

勤務表を自動作成して最も困難なのは、月々の予想できない仕様変更に対処することです。

つまり、月々の仕様変更という外乱に、打ち勝つ耐性が必要なのですが、これを私的には、ロバスト性を有する自動勤務表作成と呼んでおります。 自動勤務表作成は、制約によって記述されますから、ロバスト性を有する勤務表は、ロバストな制約で記述されている必要があります。これは、結構難しいことなのですが、長い経験によりこんな風に作成したらよい、という経験則が少し見えてくました。そこで、この辺のノウハウをまとめています。サンプルと一緒に公開予定です。




2017年11月4日土曜日

オペレーションズ・リサーチ的アプローチとAI的アプローチ

Wekipediaによると
さまざまな計画に際して最も効率的になるよう決定する科学的技法である。
とありますが、学会での定義を見ると、「ORは問題の分野を選ばないという横糸的性格を持っています」 さらに、「人間社会で使われることのないORは意味がありません.みなさん,ORは実学です.」とも述べられてています。

私は、大学でORを勉強した事はありません。今にして、ORを勉強していればよかったなあ、と思いますが、その当時のMIPソルバーの性能比も数百万倍になっているわけで、その後の内点法(吉瀬先生)などのアルゴリズムの進化は、勉強していたとしても予想だにしなかったでしょう。ちなみに、大学で教わった言語は、Fortranのみで、しかもパンチカードという時代だったし、私の現在の主力言語C++は勿論存在していません。会社に入ってようやく、Cという言語でUNIXは書かれているらしい....、という時代でした。回路設計も、2000ゲートを回路図で数ヶ月というと超速レベル、その後、論理合成に基づくHDL設計という時代の後、合成も進化していきます。私のHDLシミュレータ(Veritak)も一定の貢献をしたと思いますが、アサーションのFeasibility Studyをしたところで、SATソルバーの存在を知り、当時看護師長だった妻の勤務表作成に応用することを思いつきました。(数年、妻の勤務表をモデルに改良を重ね、現在に至ります。妻は偉くなってしまい、現在は、Advanced Usersさんを中心に助言を頂いています。)

してみると、技術の進歩というのは、私達常人には予想できないことかもしれません。
ナーススケジューリングという、NP困難な組み合わせ最適化という、一つの分野にここ数年取り組んでみて分かった事は、「最適化」 Optimizationというキーワードは、OR的手法のみならず、AI的手法においても共通しているということです。同じ事を目指しているのに、全く違う手法なのです。

一方、先端のMIPソルバーは、AI的手法の肝である学習節を持っているらしいし、SCIPにおいても制約伝播的なアプローチが取られているようです。この先どのようなイノベーションが待ち受けているかは、分かりませんが、OR(数理計画)とAI(人工知能)の融合というのが、一つのテーマではないか、と思います。










2017年10月17日火曜日

勤務表から最適化された患者サービスが始まる

希望休が多い職場は良い職場か?

この辺は、病院ない労使の決まりごと、あるいは、看護師長の裁量によるところが多いのですが、

A 全く自由に(無制限に)出せるところ
B 5日まで
C 3日まで
D 2日まで

という区分に分類されます。

看護学会に出席した妻の話では、勤務表のセクションは、立ち見が出るほど盛況なようです。Aの職場も多いようですが、皆様の悩みは尽きないようです。

ところで、

希望休が多い職場が良い職場とは実は言えないのです。


一般的に、希望休を出せば出すほど、より好ましくない勤務パターンをスタッフに強いる関係があります。


なぜならば、日本の勤務環境では、縦方向の制約、その日に必要な夜勤や、遅番、早番、残り番の数は、きっちり決まっておりソフト制約とすることは殆どありません。(増員日のソフト制約はあっても、最低限その日必要なスタッフ数をソフト制約とするところはありません。)つまり、解を得るためには、横方向の制約、看護師のシフトパターンで無理を強いる方向に作用させることで解を得ています。
謙虚なスタッフは、必要最低限の希望休みしか入れませんが、「出さなきゃ損」 みたいな感覚で出してくるスタッフも中にはいると思います。そうしたスタッフには、上の知見を理解して必要最低限を心がけて欲しい としか言えないのでしょうか? 謙虚なスタッフと傲慢なスタッフがいたとして、勤務表は、限られた解空間で選ばないといけないので、結果として、そして全体として、より好ましくない勤務パターンを強いるとすれば、謙虚なスタッフは2重に不利益を被ることになるのではないでしょうか? 「勤務表から最適化された患者サービスが始まる」というのは、スタッフ間の公平がまず最初にあるべきと思います。

スケジュールナースは、これらの計算とシミュレーションで得られた知見から、より良いルールに向けての指針を提案しています。





2017年10月14日土曜日

RAMP講演しました。

講演資料(pptx)です。筑波大の春日講堂です。(Noteに話す内容が書いています。)


実装方法の詳細については、2017RAMP予稿集の方をご覧ください。(こちらは、希少で大学の図書館にもおいていない所が多いと思います。)


午前中のセッションは、機械学習で、数式のオンパレードです。先生方は、数式の世界に生きているのではないかと思いました。

午後のセッションは、スケジューリング関係で、成蹊大学 池上先生、神戸大学 番原先生、筑波大学 繁野先生、法政大学 野々部先生です。事前に東北大学の工学部図書館で、先生方の著作については、調べていたのですが、研究は常に進歩しているのですね。

大変に先生方の発表が素晴らしく、勉強になりました。

先生方に大変御世話になり恐縮でした。

大学の先生というと、卒研のときに指導頂いた位のと、会社員時代、IBM大和研究所(お客さまでした)での打ち合わせで散々叱られた苦い経験しか思い出せないので、縁のない雲の上の方々と思っていました。ところが、先生方のプレゼンが素晴らしく、昔の大学教授というのが、過去のステレオタイプだったと考えを改めました。また、お茶目な先生や、企業の研究者の方ともお話しをすることが出来、楽しい時間を過ごすが出来ました。なにより、新たな発想のヒントが得られたのが最大の収穫です。

大変ありがとうございました。
長女が講演時の法政大、野々部先生の写真を見て、「授業を受ける!」と騒いで
いましたが、本人の妄想です。(福祉大の学生です。)






2017年9月29日金曜日

プレスリリースしました。

プレスリリースしました。

MaxSATについては、ここ1-2年進歩があまり無いのですが、MaxSATcommunityにささやかながら少し貢献できたのかもしれません。そもそも、NP-困難なところの最適化に(いかにSATソルバーが強力とはいえども)booleanで何とかしようというのは、多分誰が考えても無理があるような気がするのですが、意外に行ける分野があるんですね。スケジュールナースでは、この技術を応用してさらに高い最適化を極めたいと思っております。

2017年9月12日火曜日

ユーザ事例

ユーザ様が全日本病院学会で発表されたスライドを掲載する許可を得ました。(なお、スタッフ名は、実名ではありません。)経営的な観点からも、示唆に富んだ内容で素晴らしいです。

新しいパラダイムに挑戦して、効率化とスタッフのQOL向上を成し遂げるられています。スケジュールナースを全くサポートなしに機能を使いこなしておられる方が、私の知る限り数人おられますが、この方もそのうちのひとりです。

この方も指摘しておられますが、ナーススケジューリングの場合、制約が月毎に変わります。このことがハードルを一段も二段も高くしておりサポートが必要な理由になっています。 

アルゴリズム研究者とフィールドエンジニアそして実際にお使いになられるお客様、よりよいシステムにするためには、各々どうしたらよいか? その事を日々考えている今日この頃です。










2017年9月3日日曜日

RAMPシンポジウム

プログラムのタイトルが決定したようです。
    RAMPシンポジウムは、日本オペレーションズ・リサーチ学会の数理計画研究部会 (
    RAMP: Research Association of Mathematical Programming) によって年一度開催
    される、最適化、数理計画に関するシンポジウムです。 
著名な先生方の講演があります。機械学習や最適化、スケジューリング最適化等、現在の日本で最も先端のお話しが聞けます。

私は、実務的な観点でナーススケジューリングの現場での問題、そして、MaxSAT Competition結果とその応用においての得意・不得意等、予稿に入れてないものを中心にお話ししたいと思います。是非いらしてください。