プロジェクトファイルは、制約の設計書でありソースコード

プロジェクトファイルは、制約設計書であり、ソースコードでもあります。スケジュールナースの全てのサンプルは、GitHub上にあり、誰でも中身をコピーして改変することは自由です。

GitHubは、人類の共有財産

https://www.gizmodo.jp/2020/07/217148.html

モデリングの難しさは、近い例があれば回避できる

Corvid19関連でのプロジェクト開発の例で、医師当直表があります。最初の動くプロジェクトを作るのに、一か月以上かかりました。シフトからタスクに拡張する機能は既に備えていたので、技術的には問題ありませんでしたが、 システム開発の常で、設計は、紆余曲折がありました。現在アップしているのは、そのスナップショット版になります。同じような医師当直表があったら、そこから出発する方が遥かに効率的だと感じます。私にして然りで、皆さんも同じだと思います。


仕様から制約は、一意ではありません。より良い記述は、使っていくうちに出てきます。成熟したプロジェクトがあれば、それを共有して活用した方がよいのではないでしょうか?

アップデート予定機能 MPS/LPファイル 

現在、MPS/LPファイル生成機能を有していますが、公開はしていません。Algorithm2に関して若干の改善を実装する予定で、そのときにMPS/LPファイルの自動生成を予定しています。これにより、他のMIPソルバで、どうなるのか?比較検証が出来るようになります。

スケジュールナースユーザのプロジェクトファイルを利用する

ユーザのご厚意によりプロジェクトファイルを公開しているユーザがいらっしゃいます。実際に業務で使用しているプロジェクトベースなので実践的です。 次のようにして、直ぐにダウンロード、走らせることが出来ます。

スケジュールナースを立ち上げ、「Githubプロジェクトを開く」をクリックします。


最初は、スケジュールナースのサンプル群のレポジトリが開きます。 Nextをクリックします。ここからユーザレポジトリが始まります。 今、看護師2交代のサンプルを探しているとしましょう。概要欄を見ます。






SUGOIYAさんのレポジトリのプロジェクトファイルをダウンロードします。ダブルクリックします。


中身の記述を眺めて、探していたものと近いかどうかを見ます。


良さそうです。名前を付けて保存します。

走らせて具合を見ましょう。


およそ3秒で解がでました。


素晴らしい。これをベースにスタッフ名等を編集していけば、早く自分用のプロジェクトファイルが出来そうです!

GitHub開設は、誰でも出来る

個人で無料開設できます。

https://codelikes.com/github-account-register/

条件を満たしたプロジェクトをGitHubで公開して申請するとずっと無料に!

プロジェクト要件
    1. プロジェクトは、オリジナルであること
    2. 12か月以上の本稼働実績があること。簡素化するのは可。
    3. プロジェクトは最新版で公開すること
    4. 個人情報、組織名等は、匿名化すること

です。オリジナルであることは、2の要件を満たせば、自動的にオリジナルになります。単に公開されているサンプル(kindle本含む)をコピペしただけではダメです。
ナーススケジューリング問題は、毎月モデリングしているようなもので、月々に何らかの変更が入るのが常です。
成熟したプロジェクトは、月々の外乱に耐えたロバスト性を有していると考えられます。そして、そのようなプロジェクトは、良質のソースである確率が高くなると考えられます。


申請手順

■ サンプルプロジェクト例に倣って、プロジェクトをGitHubに公開します
■ サポートに公開プロジェクトのURLを添えて無料化申請のタイトルでサポート に連絡します
■ 菅原システムズは、プロジェクト要件を満たすかどうかを審査し、合否判定を折り返し連絡します。
■ 合格した申請者には、無料化するマイクロソフトアカウント名が求められるので、連絡します。
■ 合格した申請者には、ストア買い切り版 が無料でプレセントされます。無料ライセンスが有効になるのは、1週間から1か月程度かかります。


サンプルプロジェクト

こちらが、サンプルプロジェクト 塾講師割り当て問題 です。


必須なのは、README.md ,ライセンスファイル,Japaneseフォルダ下にプロジェクトファイル(.nurse3の拡張子)です。サンプルでは、英語版も付いていますが、不要です。 README.mdの内容は、自由です。他の利用者が、参考となる情報を書くのがよいでしょう。


README.md

日本語でよいです。UTF-8 エンコードにしてください。(Shift-JISではなく)


プロジェクトファイル

プロジェクトファイルは、nurse3 の拡張子を持ったファイルです。(jsonではありません。)
Japanese下に置いてください。プロジェクトファイルは、空白を含まないようにしてください。


About

GitHubでの検索を容易にする目的で、次のように設定しましょう。

nurse-scheduling-problem
schedule-nurse



マイクロソフトアカウント名

サブスクリプションとは異なる版になりますが、無料版は、マイクロソフトアカウントと紐づく関係でマイクロソフトアカウント名が必要になります。 菅原システムズは、お知らせ頂いたアカウント名を、マイクロソフトサーバへの登録にしか使用しません。
アカウント名は、何でもよいのですが、既存のアカウント名よりも、この無料版専用のアカウント名を用意されることをお勧めしています。


ライセンス確認

サブスクリプションライセンスを所有していることを確認させて頂くことがあります。


レポジトリ作成例

筆者の場合は、GitHubサイトでレポジトリを作成しています。

後は、GitHub Desktopで、ローカルレポジトリを作成しています。

ローカルレポジトリ上で編集し、コミット、PUSHという手順でメンテナンスを行っています。