ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

人間中心の勤務表スケジューリング(ナーススケジューリング)作成-池上式(1)

2013-02-08 10:28:35 | そのほか
ナーススケジューリングで有名な池上敦子先生のお話を聞いてきた。
池上先生のナーススケジューリングは、他のスケジューリングと違う。

他のスケジューリング手法では、
あ~、この日が都合付かないから、あんた変わって!
とスケジュール優先(スケジュールの制約がハード制約)で、
人間は犠牲になる。

これだと、人間の都合は無視される。

池上先生の方法だと、人間の都合が優先される。
そして、ベストエフォートの解を提示する。
もし、それでうまく行かない場合、
人々で相談して、どうするかを決める余地がある。

その点で、池上先生の手法は変わっているし、
今の人間中心の世界にあっている。

なお、この手法は、ナーススケジューリング以外でも、
勤務表作成
スケジュールきめ(授業の時間割、発表者の順番きめ)
などでも使える。




■手法の概要(手順)

わたしは、こう理解した。

(1)条件(制約)をあげる。このとき2種類の制約を挙げる
  (A)1つは、人(ナース)に関わる制約=スケジュール表を横に見ての制約
   つまり、Aさんは、何日と何日は、やすみ。会社として土日は休みなどなど・・・

  (B)もう1つは、日(シフト)に関わる制約=スケジュール表を縦に見たときの制約
   つまり、毎日5人のナースが日勤、土日は夜勤3人、平日は夜勤4人など・・
   (テキトーに例を書いているので、土日の人数の割合は気にしないでくれ)

  以降、説明上、Aの制約をナース制約、Bの制約をシフト制約と呼ぶ
  (池上先生は、そう呼んでいるそうだ)

(2)Subproblem-Centric-Approach(SCA)により解をもとめる
  制約条件がでたら、SCAによって解をもとめる
  この方法はアプローチの仕方であり、具体的なアルゴリズムは入れ替え可能。
  (どこが入れ替え可能かは、以降の説明で明示)

 (2-1)
   まず、ナース制約によって、ある人が勤務可能な日のセット(=解集合)を
   求める。これを、人(ナース)全員に対して行う
  ・この解集合の求めかたは、アルゴリズム入れ替え可能。
   一番単純なのは、勤務可能な日を全てもとめる
     →ヒューリスティックな手法で限定する手もある
   
 (2-2)
   シフト制約を評価する方法を決め(目的変数を定めて)
    まずはじめに、全ての人の全ての勤務可能な日のセット(解集合)
    に対してシフト制約を評価、一番評価の高かった人の
    勤務日パターン(解)を選ぶ。
     ・同じ評価点の解がいくつもあったら、どれか1個適当に
      えらぶ。適当でよい。(2-5)で最適解を見つける

 (2-3)
   2-2で、選んだ人は、固定して、残りの人で、2-2が決まった
   条件の下、再度評価しなおし、その中で、一番評価が高かった解を
   選び、その勤務日パターン(解)を採用する

 (2-4)
   (2-2)、(2-3)が決まった条件の下、残りの人で、再度
   評価、その中で一番評価が高かった解を選び・・・
   という処理を、全ナース数繰り返す。
    こうすると、全てのナースが全部勤務表に一応埋まる

 (2-5)
   (2-4)で作った勤務表に対し、もう一度、(2-2)を行い、
   どれかを入れ替えたら、今の勤務表よりも評価が高くなるか確認する
   評価が高くなったら、入れ替える。これを繰り返す。

   どれを入れ替えたとしても、評価点がこれ以上高くならないか、
   シフト制約を全て満たした解が見つかれば、そこで終了




こんなかんじ。具体的な例は、長くなったので、今度示す。
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 原口一博 「Google Earthを見... | トップ | 富士通、5000人削減・4... »
最新の画像もっと見る

そのほか」カテゴリの最新記事