Microsoft Word - H14‰IŠv‘¬’´’–.doc

Similar documents
(DVIOUT-\227v)

Input image Initialize variables Loop for period of oscillation Update height map Make shade image Change property of image Output image Change time L

[3] M.C. Escher Escher 1 Escher Escherization Problem [5] Escherization Problem S ( 1 ) T S ( 2 ) T T [5] Escherization Problem isohedral isohe

58 10

17 Proposal of an Algorithm of Image Extraction and Research on Improvement of a Man-machine Interface of Food Intake Measuring System

三者ミーティング

1 [1, 2, 3, 4, 5, 8, 9, 10, 12, 15] The Boston Public Schools system, BPS (Deferred Acceptance system, DA) (Top Trading Cycles system, TTC) cf. [13] [

Microsoft PowerPoint - mp11-06.pptx

SOM SOM(Self-Organizing Maps) SOM SOM SOM SOM SOM SOM i

n 2 n (Dynamic Programming : DP) (Genetic Algorithm : GA) 2 i

技術開発懇談会-感性工学.ppt

従業員の融通を許した シフトスケジューリング問題

Web Web Web Web Web, i

JOURNAL OF THE JAPANESE ASSOCIATION FOR PETROLEUM TECHNOLOGY VOL. 66, NO. 6 (Nov., 2001) (Received August 10, 2001; accepted November 9, 2001) Alterna

データ構造

22 Google Trends Estimation of Stock Dealing Timing using Google Trends

job-shop.dvi

人文学部研究年報12号.indb

卒業論文2.dvi

,,.,,., II,,,.,,.,.,,,.,,,.,, II i

2017 (413812)

A Precise Calculation Method of the Gradient Operator in Numerical Computation with the MPS Tsunakiyo IRIBE and Eizo NAKAZA A highly precise numerical

23 The Study of support narrowing down goods on electronic commerce sites

kut-paper-template.dvi

スライド 1

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

soturon.dvi

Microsoft PowerPoint - pr_12_template-bs.pptx

平成 29 年度卒業研究 初心者のためのゲームプログラミング用 教材の開発 函館工業高等専門学校生産システム工学科情報コース 5 年 25 番細見政央指導教員東海林智也

Microsoft PowerPoint - ca ppt [互換モード]

子どもの自尊感情の変容と教師との関係性

InterSafe Personal_v2.3 ユーザーズガイド_初版

& Vol.5 No (Oct. 2015) TV 1,2,a) , Augmented TV TV AR Augmented Reality 3DCG TV Estimation of TV Screen Position and Ro

..,,,, , ( ) 3.,., 3.,., 500, 233.,, 3,,.,, i

ic3_cf_p1-70_1018.indd


2

Web Web ID Web 16 Web Web i

IPSJ SIG Technical Report Vol.2012-CG-148 No /8/29 3DCG 1,a) On rigid body animation taking into account the 3D computer graphics came

IPSJ SIG Technical Report PIN(Personal Identification Number) An Examination of Icon-based User Authentication Method for Mobile Terminals Fum


23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

min. z = 602.5x x 2 + 2

indd

ボルツマンマシンの高速化

スライド 1

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint SIGAL.ppt

第62巻 第1号 平成24年4月/石こうを用いた木材ペレット

When creating an interactive case scenario of a problem that may occur in the educational field, it becomes especially difficult to assume a clear obj

P2P P2P peer peer P2P peer P2P peer P2P i

Sobel Canny i

Microsoft PowerPoint - 4.pptx

Microsoft Word - NumericalComputation.docx

2. CABAC CABAC CABAC 1 1 CABAC Figure 1 Overview of CABAC 2 DCT 2 0/ /1 CABAC [3] 3. 2 値化部 コンテキスト計算部 2 値算術符号化部 CABAC CABAC

IPSJ SIG Technical Report Secret Tap Secret Tap Secret Flick 1 An Examination of Icon-based User Authentication Method Using Flick Input for

TCP/IP IEEE Bluetooth LAN TCP TCP BEC FEC M T M R M T 2. 2 [5] AODV [4]DSR [3] 1 MS 100m 5 /100m 2 MD 2 c 2009 Information Processing Society of

GPGPU

Microsoft PowerPoint - 5.ppt [互換モード]

Mimehand II[1] [2] 1 Suzuki [3] [3] [4] (1) (2) 1 [5] (3) 50 (4) 指文字, 3% (25 個 ) 漢字手話 + 指文字, 10% (80 個 ) 漢字手話, 43% (357 個 ) 地名 漢字手話 + 指文字, 21

川崎医会誌一般教, 32 号 : (2006) 39 非心ベキ正規分布のパラメータの推定 川崎医科大学 教材教具センター *, 情報科学教室 ** 格和勝利 * 近藤芳朗 ** ( 平成 18 年 11 月 208 受理 ) On Estimation of Parameters in

Microsoft PowerPoint - program.ppt [互換モード]

<4D F736F F F696E74202D F E738C9782C982A882AF82E9837D838B C F A282BD8


Wi-Fi Wi-Fi Wi-Fi Wi-Fi SAS SAS-2 Wi-Fi i

2 ( ) i

Microsoft PowerPoint - 05.pptx

Taro-再帰関数Ⅱ(公開版).jtd

C#の基本2 ~プログラムの制御構造~

OS Windows Vista Windows XP PowerPoint2003 Word2003 (a Test No. OS 1 Windows Vista PPT Windows Vista Word Windows XP PPT Windows XP

サポートキャラクター バトルの時のみ, 他のプレイ ヤーから 1 人だけ借りる主人公. パーティ内の主 人公 4 人は全て違うキャラクターでなければなら ないが, サポートキャラクターは他プレイヤーの 主人公であるため, セットされているヒーローは, 自キャラクターのヒーローと同じものになる可能 性

もくじ 1 ファームウェアのアップデート (Windows). 1 必要なシステム. 2 ファームウェアアップデーターの起動.. 3 プリンターが正しく接続されていない場合 ファームウェアのアップデート (Macintosh)... 8 必要なシステム. 9 ファームウェアアップデータ

「リストラ中高年」の行方

IT i

21 e-learning Development of Real-time Learner Detection System for e-learning

リソース制約下における組込みソフトウェアの性能検証および最適化方法

第5部門_05_垣本 徹.indd

untitled

*.....J.....S.q..2013B_....

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

情報処理学会研究報告 IPSJ SIG Technical Report Vol.2011-GI-25 No /3/5 数独の難易度判定アプリケーションの提案と評価 小場隆行 a 中所武司 a 数独とは, ナンバープレイスとも呼ばれるペンシルパズルの一種である. 長年, この数独に対して

DEIM Forum 2010 A Web Abstract Classification Method for Revie

目次 1. HLA Fusion 3.0 がインストール可能な環境 HLA Fusion 3.0 のインストール HLA Fusion 3.4 のインストール 初期設定用データベース接続 ( 初めての方のみ ) 既存データベースのUpg

平成16年 3月○日

(a) Picking up of six components (b) Picking up of three simultaneously. components simultaneously. Fig. 2 An example of the simultaneous pickup. 6 /

1,a) 1,b) TUBSTAP TUBSTAP Offering New Benchmark Maps for Turn Based Strategy Game Tomihiro Kimura 1,a) Kokolo Ikeda 1,b) Abstract: Tsume-shogi and Ts

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル

<8B5A8F70985F95B632936EE7B22E696E6464>

Microsoft PowerPoint - ad11-09.pptx


johnny-paper2nd.dvi

電力営業系ソリューションの電力システム改革への取組み

untitled

i

Optimal Torque Distribution Algorithm for Redundant Reaction Wheels Takehiro NISHIYAMA and Katsuhiko YAMADA*3 Advanced Technology R & D Center, Mitsub

ディスプレイと携帯端末間の通信を実現する映像媒介通信技術

FUJITSU Cloud Service K5 認証サービス サービス仕様書

情報処理学会研究報告 IPSJ SIG Technical Report Vol.2015-GI-34 No /7/ % Selections of Discarding Mahjong Piece Using Neural Network Matsui

4.1 % 7.5 %

Transcription:

GA によるナーススケジューリング問題の一解法 * 小清水誠 ** 荒井誠 A solution of nurse scheduling problem by Genetic Algorithm Makoto KOSHIMIZU Makoto ARAI Abstract - In this paper, we propose a new algorithm to solve the scheduling problem of nurse in the medical area. This problem is the quota problem of nurse that keep load balance of work, give the high quality service for the patients. In the case of many nurse, making satisfactory schedule by human power is very difficult. And the solutions by conventional methods are problem dependent and have limited capability when the characteristics and scale of the targeted problem change. The method presented here is a new approach method to solve that using Genetic Algorithm (GA). Some simulation-basis experiments are carried out and the results show good applicability of the proposed method. Key word - Genetic Algorithm, nurse scheduling 1. はじめに ナーススケジューリング問題とは 医療機関において患者に対して質の高いサービスができるように勤務負荷のバランスを取りながら勤務シフトを決定する問題である 看護師が多い場合 満足のいく勤務表を決定するのは大変困難な作業であり パターン化が困難な上 短期間で頻繁にスケジュールの変更が必要であり 解析的な手法で解を求めることは不可能である 本研究は この問題の解決ために遺伝的アルゴリズム (Genetic Algorithm) (1)(2) を用いた新しい手法を提案する 提案する手法は 解探索で必要となる看護師の勤務パターンを GA でのとして表現し その評価 ( 適応度 ) によって解 ( 平均勤務時間割 ) を効率的に求めるものである 本研究は 提案する手法に基づいたシステムを構築し その実験結果から本手法の適応可能性を論じる * 釧路高専技術室 ** 釧路高専機械工学科 2. 遺伝的アルゴリズム (Genetic Algorithm) GA とは 生物の進化の過程をコンピューター上でシミュレートすることで確立的に近似解探索を行う最適化アルゴリズの発生ムの1つである 生物の進化とは 適応度の計算生殖によりが選択 交叉 突次世代個体の選択然変異を繰り返し与えられた環境に交叉適応した個体として生成されること突然変異である GA ではコンピュー NO ター上での進化の条件を満足過程をシミュレー YES トするために こ GA の終了れまでいくつかの方法が提案されて図 1.SGA の概念

いるが その中でも最も多く使われているのが Goldberg (3) によって提案された Simple GA(SGA) である 図 1 に SGA の概念を示す 本研究での解析探索手法も SGA を基本としている 3. 問題解決の手法 3.1 勤務パターンの表現 GA で最も重要なことは 問題因子を GA での形として表現することである ここで 勤務表との関係について説明する 最も基本的な勤務表は人数 (m 人 ) と日数 (n 日 ) によって 2 次元的に作成される それを GA に適応させるために勤務表を図 2 のように 総数 m n 個をもつとして表現することとした いかを比較し 等しければに対して 1 ポイントを与える 横 ( 行 ) 方向は まず各々の勤務パターンの平均勤務数 (AVEi) を式 (2) により計算する AVEi=[ 割り当て人数 n m] int ±2 (2) (i=0,1,...,p-1) ここで [ ] int は整数化処理を表すものとする ±2 は収束のための自由度として加えている 式 (2) により求められた値と表の勤務数を比較し等しければ さらにこのに 1 ポイント加える 人数 m 人 日数 n 日 計算されたそれそれの平均勤務数と比較する 勤務表 人数 m 人 A 11 A 12 A 13 A 21 A 22 A 23 A m1 A m2 A m3 日数 n 日 A 11 A 12 A 1n A 21 図 2. 勤務表との関係 初期の発生方法は 要素数が m n 個のとして 勤務パターン数を P とすると式 (1) により生成できる A MN =rand()%p (1) (M=1,2,3,...,m N=1,2,3,...,n) ここで rand() は整数型の乱数を生成するジェネレーターを示し % は剰余の計算を表すものとする すなわち A には 0 ~ P-1 までの整数のいずれかが入る1 次元配列として表現し このを進化過程における1 個体とする この個体を複数作成し 初期列とした 3.2 適応度の算出選択されたの評価のために問題に対する適応性を適応度として算出する すなわち 図 3 に示すように縦 ( 列 ) 方向は その日の勤務割り当て人数と等し A 1n A 2n A mn A mn その日の勤務の割り当て人数と等しいか比較する 図 3. に対するポイントの与え方 最終的に このポイント数が m + n ポイントになった場合は最適解が計算されたことになる すべてののいずれかで最適解が求められなかった場合は それぞれののポイント数 POINTi (i=1,2,3,...,ind) より適応度を計算する 適応度をGi とすると 本研究では式 (3) により計算した POINTi-min Gi = max-min (3) (i=1,2,3,...,ind) ここで max は POINTi の最大値 min は最小値 IND は生成した個体数とする 式 (3) により Gi は 0.0 ~ 1.0 までの実数値をとり ポイント数が一番高いの適応度は 1.0 になる 3.3 選択処理次は 次世代個体の選択処理である 選択の方法には GA において代表的なルーレット方式を採用した ルーレット方式とは 図 4 に示すように次世代の個体を選択する際 乱数により選択する方法である しかし これだけでは適応度の高いが選択されない可能性がある そこで しきい値を設定し 適応度がそのしきい値より高いはすべて選択し 不足分を乱数によるルーレット方式で選択するようにした

前世代 Gi = 1.0 Gi = 0.2 Gi = 0.0 Gi = 0.8 Gi = 0.6 選択された 整数型の乱数によって新しい値と入れ替える 以上の操作を SGA のフローチャートに従い いずれかのでポイント数 (POINTi) が m + n ポイントになるまで繰り返す この一連の作業により処理が終了した場合は 最適解が求められている ルーレット処理しきい地 =0.5 突然変異させる位置 次世代 図 4. の選択 3.4 交叉処理次は 交叉処理である 交叉は最も基本的な交叉である一点交叉を採用した 一点交叉では交叉の起こる確率 ( 交叉率 ) を設定する その後 すべてのに対し 0.0 ~ 1.0 の実数型の乱数を発生させ それが交叉率より低ければ交叉する 交叉するには さらに 1 ~ m n の整数型の乱数を生成し交叉点を決定 その交差点を基準にそれ以降を次のと入れ替える それにより次世代に新しいが生成されることになる A B A B 交叉点 乱数により選択 4. 制約条件 図 6. 突然変異 本研究では 看護師の勤務表を作成することを目的にしているため 制約条件を設定する 夜勤の翌日は必ず休みにすることにする これにより初期計算時には夜勤の人数 休みの人数を満足しなければならない 5. 実験装置 以上までのアルゴリズムに基づいてシステムを構 築した 今回の実験で使用した実験装置は以下である PC ノート型パソコン (A4) CPU Intel Pentium Processor Ⅲ (800MHz) メモリ 256MB OS Microsoft Windows Me 開発環境 Microsoft VC++ 6.0 図 5. 一点交叉 3.5 突然変異処理次は 突然変異処理である 突然変異は局所解に陥るのを防ぐために使用する 突然変異の場合も一点交叉の場合と同様に 突然変異の起こる確率 ( 突然変異率 ) を設定する それぞれのに対し 0.0 ~ 1.0 の実乱数を発生させ それが突然変異率より低ければ突然変異させる さらに 突然変異の対象となるには 1 ~ m n の整数乱数を生成し中で突然変異させる位置を決定する その後 0 ~ P-1 の 6. 実験構築したシステムの適用可能性を検証するためにいくつかの実験を行った 6.1 実験 (1) 解を計算する上で最適な交叉率と突然変異率との関係を調べた 生成したの個体数 (IND) を 20 とし しきい値 0.5 に固定 交叉率を 0.1 ~ 0.9 突然変異率を 0.2 ~ 0.9 まで変化させた 表 1 に それぞれ計算 20 回での最適解が求まるまでの世代交代数の平均値を示す

突然変異率 突然変異率 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.3 0.4 0.5 0.6 0.7 0.1 24444 7476 15940 108495 0.4 362587 53707 175284 交 叉 0.2 33930 13966 7551 9333 0.3 132733 15888 6026 6623 11953 0.4 56309 28959 8266 6483 7660 0.5 29663 8366 5143 4755 5565 交 叉 率 0.5 86459 65833 0.6 133646 55895 256377 0.7 141129 47623 70577 0.8 209261 70657 44203 率 0.6 13596 12268 5836 4142 4803 67062 0.9 117947 47410 170560 0.7 11822 7615 3558 3667 4798 22145 しきい値 0.5 勤務日数 31 日夜 2 人休 3 人昼 4 人朝 3 人 0.8 13067 9722 3583 3922 4694 9389 表 3. 交叉率と突然変異率の関係 (2) 0.9 26994 4935 5436 3531 3431 7135 しきい値 0.5 勤務日数 20 日夜 2 人休 3 人昼 4 人 表 1. 交叉率と突然変異率の関係 (1) その他のパラメーターは 日数 20 日 夜 2 人 休 3 人 昼 4 人である 交叉率が 0.7 ~ 0.9 突然変異率が 0.6 ~ 0.7 の場合は比較的少ない世代交代数で解が得られることがわかった 次に 交叉率 突然変異率と選択処理のしきい値の関係を調べるために平均世代交代数が 3000 世代で最適解が求められた 6 箇所の値を使用し しきい値を 0.3 ~ 0.8 まで変化させ その関係を調べた 表 2 にそれぞれ 20 回計算させた時の平均値を示す 実験 (1) 結果と同様に 交叉率 突然変異率としきい値の関係を調べるために 平均世代交代数が 40000 世代で最適解が求められた 3 箇所の値を使用し しきい値を 0.4 ~ 0.8 まで変化させ その関係を調べた その結果を表 4 に示す しきい値 交叉率 0.8 0.7 0.9 突然変異率 0.6 0.5 0.6 0.4 158547 100747 0.5 44204 47623 47410 0.6 50187 81955 53657 0.7 49620 45987 0.8 47561 39917 勤務日数 31 日夜 2 人休 3 人昼 4 人朝 3 人表 4. 交叉率 突然変異率としきい値の関係 (2) 交叉率 0.7 0.7 0.8 0.8 0.9 0.9 突然変異率 0.6 0.7 0.6 0.7 0.7 0.8 し き い 値 0.3 4341 23855 4014 13162 5334 42526 0.4 3948 5898 3641 4665 3753 6129 0.5 3558 3667 3583 3922 3531 3431 0.6 4847 3560 4446 3533 3044 2723 0.7 8544 4805 6649 4276 4948 3333 0.8 9395 4013 9669 3160 5285 3083 勤務日数 20 日夜 2 人休 3 人昼 4 人表 2. 交叉率 突然変異率としきい値の関係 (1) 6.2 実験 (2) さらに もう少し実用的なパラメーターとして日数 31 日 夜 2 人 休 3 人 昼 4 人 朝 3 人で計算を行った しきい値を 0.5 に固定し 交叉率を 0.4 ~ 0.9 まで 突然変異率を 0.3 ~ 0.7 まで変化させた その結果を表 3 に示す 以上の結果から 交叉率 0.8 突然変異率 0.6 しきい値 0.5 の場合が比較的少ない世代交代数で解が得られることがわかった 6.3 実験 (3) 次に 勤務パターン数と収束の関係を調べるために勤務人数の合計を 11 人としてパターン数を 2 ~ 5 まで変化させて計算する その他のパラメーターは勤務日数 20 日 交叉率 0.8 突然変異率 0.6 しきい値 0.5 とした その結果を表 5 に示す パタ ン 夜 4( 人 ) 3 2 2 休み 7 5 3 3 昼 0 3 3 2 朝 0 0 3 2 夕 0 0 0 2 平均世代交代数 738( 世代 ) 2091 9335 58790 勤務日数 20 日 交叉率 0.8 突然変異率 0.6 しきい値 0.5 表 5. 勤務パターン数と収束の関係

この結果より 合計勤務人数が同じでもパターン数が増えるにつれ より多くの世代交代が必要なことがわかる 6.4 実験 (4) 次に 解への収束までの世代交代数と最大ポイント数の関係を示す 図 7 は 勤務日数 20 日 交叉率 0.8 突然変異率 0.6 しきい値 0.5 夜 2 人 休 3 人 昼 4 人での結果である 図 8 は 勤務日数 31 日 交叉率 0.8 突然変異率 0.6 しきい値 0.5 夜 2 人 休 3 人 昼 4 人 朝 3 人での結果である いずれの場合も同様に比較的早い回数で 80% 以上のポイント数を獲得する これは 選択により優秀なが優先的に選ばれるために 80% 近くまでは早く収束する しかし その後は同じ性質のが残るために選択と交叉の影響が少なくなり突然変異への依存が大きくなる その結果 80% を越えたあたりからポイントの獲得率が悪くなる ポイント数 ( 最大値 ) ポイント数 ( 最大値 ) 30 20 10 0 0 1000 2000 3000 4000 世代交代数 40 30 20 10 勤務日数 20 日交叉率 0.8 突然変異率 0.6 しきい値 0.5 夜 2 人休 3 人昼 4 人図 7. 世代交代数とポイント数 (1) 0 0 10000 20000 30000 世代交代数 勤務日数 31 日交叉率 0.8 突然変異率 0.6 しきい値 0.5 夜 2 人休 3 人昼 4 人朝 3 人図 8. 世代交代回数とポイント数 (2) 7. まとめ ナーススケジューリング問題の解決のため GA を用いた新しい手法を提案し その有用性を検証するために いくつかの数値実験を行った その結果から 以下の点が判明した 1) 日数 31 日 勤務総人数 15 人以下では世代交代数が 100 万世代までに解が得られることがわかった 2) 勤務総人数が 15 人を超えると 100 万世代目でも解が収束しない場合がある 3) のポイントの獲得率が 80% を超えたところから収束させるには突然変異に依存する そのために 選択 交叉 突然変異の処理において以下のように さらにポイントを獲得する工夫が必要である 1) ポイントの獲得できなかった行 ( 列 ) のみを突然変異させる 2) 積極的に突然変異させるとポイントを獲得した行 ( 列 ) を壊してしまう場合があるので 各パラメーターと突然変異率のバランスを求める などの検証が必要である 今後 実用的な勤務表に近づけるために氏名の入力や個人の都合による勤務の固定 変更などの要素が組み込まれるアルゴリズムの検討を行う予定である 最後に開発したアプリケーションでの勤務表の出力例を図 9 図 10 に示す 8. 参考文献 (1) 米澤保雄 :" 遺伝的アルゴリズム進化理論の情報科学 ", 森北出版株式会社 (2) Lawrence Davis:" 遺伝的アルゴリズムハンドブック ", 森北出版株式会社 (3) David E.Goldberg:"Genetic Algorithms in Search Optimization & Machine Learning,",Addison-Wesley Publishing Company (4) 林晴比古 :" 新 VC++5.0 入門ビギナー編 ", ソフトバンク株式会社 (5) 林晴比古 :" 新 VC++5.0 入門シニア編 ", ソフトバンク株式会社

図 9. アプリケーションの表示画面 勤務日数 31 日交叉率 0.8 突然変異率 0.6 しきい値 0.5 夜 3 人休 6 人昼 6 人朝 5 人図 10. 勤務表の出力例