2024年6月19日水曜日

質問は、スクショを活用してください

 Windouws11では、スクショ編集の機能が付いているので、欲しい画面のみを編集して送ることが出来ます。

時々、意図・意味が分からないご質問を頂くことがあります。私は、聖徳太子でもなければ仙人でもありません。基本的に、今、お客さまが困っていることや、こうしたい、ああしたいという心のうちは、知らないということを前提にして頂きたいのです。

次の二つのを記述してください。

<問題箇所を明らかににする>

<望ましい動作を記述する>

プロジェクトファイル添付、スクショ添付する等で、何も知らない私に説明してください。


<問題箇所を明らかににする>

確かな方法は、プロジェクトファイルを添付することです。しかし、ただプロジェクトファイルが添付されていても、何が問題なのか、何をしたいのか、私は知ることができません。

プロジェクトファイルを添付した上で、スクショして問題箇所を明示して頂きたいのです。

良い例は、

https://schedule-nurse.blogspot.com/2024/06/blog-post_16.html

です。このご質問で、文章だけで質問の意味を想像できる方はどれ位いるでしょうか?スクショと問題箇所の指定があって初めて理解できるのではないでしょうか? 


<望ましい動作を記述する>

問題箇所の指定をしたら、欲しい仕様、望ましい動作を記述します。「本当は、こうしたいのだけれども」を書いてください。


<ポスト質問>

回答が届いたら、その回答通りにまずは、やってみてください。上手くいかない、意図通りではない、ときは、さらにご質問ください。次の事項は、避けてください。

■質問の回答に対して、結果を書かないで、別な質問をすること。

■質問の回答後、一週間以上放置、また同じ現象を質問すること。

■一日に何度もメールを送付すること。

基本的に、その後の質問がないのならクローズドとみなします。お礼を言う必要はありませんが、結果、「理解できた」「上手く行った」「理解できなかった」結果を送って頂ければ、さらならアクション(キャッチボール)が必要かどうかをこちらで判断できます。

勤務表システムは複雑な制約の塊であり、複数の要因があることが珍しくありません。一つ解決しても、また一つ別な事象が出てくる可能性があります。その場合でも、一つ一つ、ステップバイステップで、解決していけばよいのです。一つの質問と回答で一つの前進です。前進を積み重ねて行けば、解決につながります。

<キャッチボールが出来ない人がたまにいる>

必要なのは、経験・知識ではありません。日本語を理解して、それを言葉どおりに行って結果を報告し、再質問する、ループです。これをキャッチボールと呼んでいますが、キャッチボールが出来ない人がいます。

■回答の指示をそもそも読まない

■回答とは別なことをして、別な質問をする

どんなに知識がない方でも、キャッチボールさえ出来れば、前に進めることが出来ますが、それが出来ない方はたまにいらっしゃいます。回答が分からなければ、「この言葉の意味が分からない」、と言って頂くこと、それがキャッチボールの始まりです。コミュニケーションとは、お互いがお互いの事を理解しながら、問題を解決するという共通の目的のためのプロセスです。

「人の話を聞かない」「人の話を聞こうとしない」「自分の話ばかりをする」方は、その後のサポートをお断りする場合があります。


世界最高性能のソルバを提供、激安価格を維持し、その上で無料サポートを行っているという、スケジュールナース特有の稀有なサービスを実現できているのは、これまで、節度と礼節を持ってサポート資源を活用して頂いたお客さまのおかげだと思っております。一部のお客さまではありますが、こういったお客さまの割合が増えると、無料サポートを廃止せざるを得なくなる、という危機感があります。

よろしくお願いします。







2024年6月18日火曜日

入りの回数が出ない

 Q 入り回数が看護師しか出ていません。なぜでしょう?


Ans.必ず原因があります。当該制約をよく見ましょう。


この制約を日本語で言ってみましょう。

今月、看護師夜勤要員の 夜(入り)回数は、最大最小回数以内、ソフト制約レベル7であること。

はい、もう一度言ってみましょう。

今月、看護師夜勤要員の 夜(入り)回数は、最大最小回数以内、ソフト制約レベル7であること。

もう分かりましたね。看護師夜勤要員しか制約していない、ということです。その他の人は、制約していません。看護師夜勤要員は、マウスホイールボタンを押すことで上のように表示されます。ここでは、お名前を消していますが、5人の方の名前が表示されています。

マウスホイールボタンを持っていない方は、今すぐ買ってください。スケジュールナースで制約を確認するには必須です。


ということで、次のように変更しました。とりあえずグループ集合のみ変更してください。


夜勤要員に変更しました。当該集合でよいかどうか、必ずマウスホイールボタンでご確認ください。

<ハードエラー発生>

以下のように、公休数と、夜勤数でハードエラーが発生しました。


いままで、看護師以外は制約しなかったのが、今度は制約したことに起因するエラーと思われます。慌てず騒がず、赤丸をダブルクリックして当該制約箇所に行き、原因を考えましょう。

すると、上の公休数、夜勤数のソフトレベルが同じ7になっていて、夜勤数と公休数が関わっていることが伺えることが分かります。とりあえず、夜勤回数を制約することによって、公休数が影響を受けていそうなので、公休数と、夜勤数のレベルを分離します。具体的には、夜勤数のレベルを例えば6に(上図参照)してみます。

新しいレベル6にしたので、下図のように適用がチェックされていません。

チェックされていないと、制約は無かったことのように振舞います。


これで求解して解をあることを確認しましょう。




チェックして求解してみましょう。あれ、今度は解があります。何故でしょう?

違いは、許容エラー数です。ハードエラー発生時の許容エラーは、レベル7で2になっていました。しかし、今回は、Default設定の3になっています。つまり、設定値±2だったのが、今回は、±3まで許容されていたために解が合ったということです。試しにレベル6の許容エラーを元の2にして解がないことを確認してください。ハードエラー発生が再現するはずです。


なので、夜勤回数設定がまずかったということになります。許容エラー数を調整するか、設定を調整するか、どちらかが必要ですが、これから先はお任せします。


<公休数が赤>

レベル7のエラーは、赤くなります。試しにレベル7の許容エラー数を0としてみてください。解がないはずです。エラー数1では下のように解があります。つまり、公休数が設定より+1になることが物理的必然になっている、ということが分かります。


予定をみると、例えば、茶色枠で囲んだ部分に休みがないと6連勤となってハード制約違反となってしまいます。それ故この期間に必ず休みが入ります。それは、予定休み数+1を結果するということです。


以上のように、結果には必ず原因があります。

既に何回もやっていますが、時間が経つとまた忘れます。復讐ではなく復習してくださいね




2024年6月17日月曜日

RSCPPの改善計画

実務と並行して行っているアカデミック分野でのお話です。 

数理ソルバで鍵となるのる部品の一つは、RSCPPです。Resource Constraint Shortest Path Problem、(制約付き最短パス問題)です。数理ソルバでは、必須の部品になりますが、こちらの改善に手をつけることにしました。Shortest Pathについては、ダイカストラのアルゴリズムが有名ですが、NSPの場合は、一般にこれにリソース制約が加わることになります。カーナビで言えば、単なる最短距離に、コストや、時間といったリソースに制約のある問題ということになります。

これによりINRC2での記録更新を狙います。数か月レベルの作業となります。

関連する作業としては、

1)改善RSCPPの定式化 6月

2)Branching 改善 7-8月

3)整数化改善 9月

です。ペアに纏わる部分は、Branchingによるしかないだろうと思っていますが、もしかしたら何か手はあるかもしれません。数理ソルバは、この部分がネックであることが分かっていて、再度トライしてみます。整数化では、今回開発したAL5を使用予定です。

当初より、大幅に遅れ記録更新は、10月を予定しています。

INRC2のTargetは、SchedulingBenchmarksのInstance23に挑みます。

COPTのアカデミックライセンスを1年間得て、バリアソルバにより記録更新を狙います。インスタンス23に関しては、恐らく行けると見ていますが、インスタンス24はメモリがネックになる可能性が大で及ばないかもしれません。


2024年6月16日日曜日

黄色い枠のありとなしの違いは何?

Q. 黄色の枠ありのグレーの「その他:1」と黄色の枠なしのグレーの「その他:1」の違いはなんでしょうか。また、他のセルでも黄色の枠ありや黄色の枠無しがありますが、違いがわかりません。教えてください。

黄色の枠は、ロックしたセルです。ロックした部分は、クリアされません。ロックしていないセルはクリアされます。ロックは、不用意な書き込みを防止する意図で使用します。予定が決まっていて変更することがない場合に使用します。

全クリアすれば、いつでも人力入力前に戻れる、ということであります。

マニュアルは、

https://www.nurse-scheduling-software.com/japanese/manuals/user_manuals/chapter8/


ロック機能をご参照ください。


2024年6月15日土曜日

*X職員は、妊婦であり夜勤は深夜より準夜回数を多くする。深夜と準夜の回数の差は2回程度とする

 実装方法としては、2種類ありますが、後者の方法をお勧めします。

1)同数カウント制約を用いる方法

深夜(A)と準夜(C)の回数をA==C+2で指定します


夜勤回数(深準回数)を規定し、深夜回数指定はブランクにする

確かに深夜回数は、準夜回数+2になっています。


2)深夜回数を指定する方法

同数カウント制約を用いずに夜勤回数と深夜回数を指定します。



解説

1)で夜勤回数6を指定していることから

 6=A+C

一方、同数カウント制約で

 A=C+2

上記連立方程式の解は、A=4,C=2、と一意に決まります。従い、2)の方法と等価になります。制約論理的には同じです。

しかし、実装的には、

■妊婦という条件が加わり、同数制約管理が必要 メンテナンスが手間

■同数カウント制約の実装が重い

という二つのデメリットが1)にはあります。

同じ結果をもたらすならば、メンテナンスし易い2)をお勧めします。


2024年6月14日金曜日

新人であり7月は夜勤しない の実装

 スタッフプロパティシート夜勤回数(深準回数)の最大を0とすればOKです。



行制約で、スタッフプロパティシートのベクトルを参照します。

2024年6月13日木曜日

Q 解をCSVで出力するには?

マニュアルは、次のExcel出力方法その1 です。

https://www.nurse-scheduling-software.com/japanese/manuals/user_manuals/chapter13/


その他に、CSVを簡易的に出力する方法があります。



すると、プロジェクト名_shift.csvが、プロジェクトフォルダに生成されます。

タスク画面でも同様に、

プロジェクト名_task.csvが、プロジェクトフォルダに生成されます。

ハイブリッド画面でも

プロジェクト名_task.csvが、プロジェクトフォルダに生成されます。