2017年9月12日火曜日

ユーザ事例

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

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

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

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










2017年9月3日日曜日

RAMPシンポジウム

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

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



2017年8月9日水曜日

商標出願

というものを初めてやってみました。スケジュールナースの新しく実装した機能を、説明をしようと思ったのですが、名前がないと説明しずらいことに気づいて名前をつけてみることにしました。スマート・AI・インテリ..等の組み合わせ語になるのですが、殆ど、先願があって没になりました。
(弁理士さんによれば、特許とは違い、実際にその商標を使用することが条件だそうです。一杯商標を取っている会社?があるようですが、本当に使っているのか疑問です。
ー>後で分かったのですが、参考記事 の通りのようです。

自分でも調査したのですが、やはり、弁理士さんにやってもらったほうが確実です。実際、自分では見つけられない指摘を頂きました。また単に英語を日本語にすることによって避けても観念が同じでNGだそうです。(有名な例は、午後の紅茶) ということで、この点でも弁理士さんに相談した方がよいでしょう。

2017年7月28日金曜日

RAMP講演

10月12日筑波大学にてA SAT approach to Nurse Scheduling Problemというテーマで、講演します。予稿を今執筆中ですが、正直面白くないと思います。
その頃には、MaxSAT Competition2017の結果も出ているだろうし、参加したソルバー(maxroster)と他のStateOfArtソルバーも結果が出ていると思います。もし可能ならば、そういったお話しもスライドでは行いたいと思います。楽しみにしていてください。

2017年7月27日木曜日

特許出願手続き

出願、出願審査請求書、早期審査に関する事情説明書をオンラインで提出しました。

出願については、簡単願書作成で初稿は書いたのですが、弁理士さんが手直しする関係でWORDに移行しました。WORDだと変更履歴管理が完全です。

その後、数回やりとりして役一ヶ月で完成しました。
最後にDOCUMENTの検査を行って、コメントやら変更履歴をDeleteします。その後、フィルタ付きHTML化を行って、出願ソフトへD&Dを行い、チェックします。OKなら、オンラインタブで送信して終了です。送信時に、出願xxxというNOが取得されるので、そのNoを出願審査請求その他の文書作成で使用しその日のうちにこれも送信しました。

明細書は、素人(その分野では玄人ですが、特許については素人です。)でも何とか書けますが、クレームについては、素人では絶対無理だと思います。その分野に精通した弁理士さんに見てもらいましょう。(仙台でソフトウェア関係でしたら紹介できます。)

あせったのは、前は、オンラインで出願するのに、前は住民基本カードだったのが、マイナンバーになっていて、慌てて登録したのですが、どんなに早くても一ヶ月はかかるようで、お役所に文句を言ったら少しだけ早くなり間に合いました。


2017年7月14日金曜日

特許料4年目以降の支払いメモ

2025年の君へ

1)電子現金納付制度を利用して納付書NOを取得してそのままONLINEで銀行から振りこみする
2)4年目以降の減免申請をWORDで作成 特許庁に郵送する
3)納付書をオンラインで送る。フォーマットは、雛形(特許料納付書(年金)がHTMLであるのでそれを手修正する。送信ファイルにD&Dするとチェックが始まる。しかし、特許権者 を追加、出願人。。を削除しないと入力チェックでエラーになった。エラーを取ったらオンラインのタグがEnableされるのでオンラインで送信。ひとつづつ送信される。受領を確認して終了。

2018-9/18から4年目
2019 -5
2020 -6
2021 -7
2022 -8
2023 -9
2024 -10
2025 -11      この年から毎年支払う。とりあえず、10年まで2017-4/1-2027 3・31 より、
        2027年までは、8月中に払う必要あり。毎年1)3)を行う。

2017年6月8日木曜日

MSE2017 Testing

主催者が用意してくれたベンチマークがWeightedとUnweightedで各50個あり、SolverをUploadして、StarExeClusterにジョブを投げます。Permissionの問題がありましたが、主催者が対処してくれました。(ということは、他に未だ誰もテストしていない??? )

1)Archiveの仕方
まず躓いたのは、UploadでWrapperFolderを含めてはいけないことでした。普通にzipでやってしまうと含まれてしまうので、CurrentDirに入って、

tar cvf aaa.tar ./*

とやってtar FILEをつくり"upload solver"を実行します。

それから、TESTフォルダに入って"create_job"でソルバと動かしたいベンチマークのペアを指定します

2)staticに注意

基本的に実行ファイルは、-static でビルドされている必要があります。いきなり即終了したので変だなあと思ってログを見ると、*.soが見つからないというエラーで実行されていませんでした。StarExecは、古いLinuxらしいです。failureとして報告されないので、要注意です。ログは見るようにしましょう。

3)sigterm

InComplete部門は、SigTermが来たらSolutionをプリントすることになっていますが、どうも来ない疑いがあります。そこで、本来のTIMEOUT直前5秒前に発生させて実行しました。(90sec/300sec各トラック用にScriptを用意)

timout  85     ./EXE $1
timeout 295   ./EXE $1

これで一応いけることを確認しました。

その後、事務局より、現在、SIGTERMの後に数秒してSIGKILLするようにStarExecの管理者に依頼中とのことで、来週には改善されるだろうとのことです。

SIGTERMのDebug用として、runsolverを紹介されました。これ上で走らせれば、SIGTERMとSIGKILLを自由なタイミングで操作可能とのことでしたが、local machineで、fileに出力させながらやってみると、強制終了が、いくつかでていました。特にTIMEOUTのところで出ている訳ではないので不思議です。とりあえず、上記方策を、事務局に提案しておきました。

=>
その後、予想通り、SIGTERMとSIGKILLのDelayは、User責任になったようです。最終的には、以下のスクリプトで提出しました。displayの処理時間は、User責任なので、最後のflush(stdout)するのを忘れないようにしましょう。

#!/bin/sh
delay=5
wl=`expr $STAREXEC_WALLCLOCK_LIMIT - $delay`
#echo $STAREXEC_WALLCLOCK_LIMIT $wl
timeout $wl ./maxroster $1

最大インスタンス(d4.wcnfで、約1400万変数)でも殆ど時間がかかっていなかったので5秒も取る必要はなかったのかもしれません。

4)テストの確認
主催者が50インスタンスづつ用意してくれているので、それでcreate_jobで確認します。
なぜか、他の人のソルバーもテストすることも可能でした。

create_jobが終ると、job_informationで、CSVファイルをダウンロードします。
こんな感じです。
pair id benchmark benchmark id solver solver id configuration configuration id status cpu time wallclock time memory usage result optimum_solution hard_clauses optimum checker_solution checker given_solution
290700075 Weighted/1401.wcsp.dir.wcnf 4414170 maxroster 11897 default.sh 219868 complete 85 85.01 250044 -- 459106 satisfied FALSE 459111 ok 459111
290700076 Weighted/1401.wcsp.log.wcnf 4414171 maxroster 11897 default.sh 219868 complete 84.99 85.01 256424 -- -1 satisfied FALSE 467103 ok 467103
290700077 Weighted/1403.wcsp.dir.wcnf 4414172 maxroster 11897 default.sh 219868 complete 85.01 85.01 248172 -- 459246 satisfied FALSE 459274 ok 459274

chekerの計算した値<=自分のソルバーが計算した値になっていることを確認します。

5)所感
締め切りの2日前になってもカテゴリーやらスクリプトが変わりました。オーガナイザが変わったので致し方ない面があるかと思います。来年からは、今年の経験を元に改善されることでしょう。

=>
締め切り日が変更され2週間遅れます。

結果は、SAT2017で発表されるそうです。