Planification des Interventions d`un Bloc
Transcription
Planification des Interventions d`un Bloc
>< 1 Planification des Interventions d’un Bloc Opératoire par une Procédure « Branch-and-Price » H.Fei1,2, M.Meskens 1, C.Chu2 and A.Artiba3 Résumé—Dans cet article, nous cherchons à résoudre un problème de planification des interventions dans un bloc opératoire sur une semaine, avec comme objectif de minimiser le coût total d’opération. Nous présentons, dans un premier temps, le modèle mathématique pour le problème concerné. Ensuite, une procédure de Branch-and-Price est développée pour trouver la solution optimale. Des expérimentations numériques ont été effectuées sur des données générées aléatoirement. Nous terminerons notre article par les perspectives de notre travail. Mots clefs— Planification des interventions, bloc opératoire, la procédure « Branch-and-Price », « open scheduling » I. INTRODUCTION L e bloc opératoire, consistant en salles d’opération et en salles de réveil (appelées aussi SSPIs, salles de soins postinterventionnelles), est un lieu hautement stratégique dans un établissement hospitalier. Selon Clergue[6] et Macario et al.[13], ce secteur chirurgical constitue à lui seul près de 10% à 15% du budget prévu du fonctionnement de l’hôpital du fait qu’il implique différentes ressources humaines et matérielles coûteuses et rares telles que les chirurgiens, les équipements chirurgicaux, etc. A cause des budgets limités, les gestionnaires d’hôpitaux ont la nécessité de rendre leur établissement plus productif. Par conséquence, de plus en plus de chercheurs tentent d’améliorer le fonctionnement de blocs opératoires [14], [15], [12], [11], [7], [2], [3] , [10], [16]. Afin de permettre une meilleure utilisation des ressources en milieu hospitalier, nous allons, dans ce papier, nous focaliser sur le problème de la planification des interventions dans un bloc opératoire sur une semaine sans tenir compte ici des contraintes liées aux salles de réveil. Pour cela nous avons développé une procédure de Branch-and-Price, basée sur l’idée de Dantzig et Wolfe [8] pour la solution exacte. Cet article se divise en quatre parties : tout d’abord, nous 15 Mars 2005. Cette recherche est financée par le programme “Pôles d’attraction interuniversitaires- Etat belge- services fédéraux des affaires scientifiques techniques et culturelles”. 1. Facultés Universitaires Catholiques de Mons (FUCaM), Chaussée de Binche 151, 7000 Mons Belgique.([email protected], [email protected]) 2. Université de Technologie de Troyes (UTT), ISTIT – OSI, 12 Rue Marie Curie BP 2060, 10010 Troyes CEDEX, France. [email protected] 3. Ecole de Technologie Supérieure (E.T.S), Montréal, (Québec) Canada, [email protected] décrivons le problème concerné et construisons les modèles mathématiques pour le résoudre. Ensuite, les détails sur la stratégie de sélection d’un nœud et de la variable de ramification seront donnés. Dans l’avant-dernière partie, les résultats numériques des expérimentations menées sont montrés. Et enfin, nous exposerons les conclusions et les perspectives de notre recherche. II. MODELES MATHEMATIQUES Du fait de la complexité du problème, nous simplifions le modèle concerné en posant les hypothèses suivantes: • toutes les salles d’opérations sont multifonctionnelles, c’est-à-dire que chaque intervention peut être effectuée dans n’importe quelle salle d’opération ; • Les ressources humaines et matérielles sont disponibles en nombre suffisant pour les interventions assignées durant la semaine de planification ; • Les lits dans les SSPIs sont toujours disponibles pour les patients qui viennent d’être opérés dans les salles d’opération ; • Ni urgence et ni préemption. De part les hypothèses, notre problème de planification, consistant à planifier un ensemble d’interventions programmées pour une semaine dans un bloc opératoire, peut être assimilé à un modèle difforme d’ordonnancement sur machines parallèles avec pénalités d’avance et de retard [3]. Or, pour résoudre ces problèmes, de nombreuses études ont déjà été effectuées. Citons notamment Chen et Powell ([4],[5]) qui utilisent la méthode de génération de colonnes pour effectuer un ordonnancement sur machines parallèles avec comme objectif la minimisation des temps d’accomplissement et la minimisation des délais. De plus, dans [4], ils ont appliqué un algorithme exact basé sur la procédure de la génération de colonnes. Leurs résultats numériques nous ont motivés à appliquer une méthode similaire pour résoudre de manière exacte notre problème. Les notations utilisées sont les suivantes : N : le nombre des interventions prévues dans la semaine dans le bloc opératoire; >< 2 Ω : l’ensemble des interventions de la semaine, Ω = {1,…,N}; p i : la durée opératoire de l’intervention i; Di : la date limite de l’intervention i (transformée en jour de semaine); S : la période de planification exprimée en nombre de jours (normalement, S=5 jours dans une semaine); M d : le nombre de salles d’opération disponibles le jour d; C kd : le coût opératoire de la salle d’opération k le jour d. TORkd : le nombre d’heures normales disponibles pendant le jour d de la salle k; TS kd : le nombre maximal d’heures supplémentaires possibles pour la salle k le jour d; β : le rapport entre le coût d’une heure supplémentaire et celui de sous-utilisation ; Les variables de décision sont représentées par : z d ik = 1 si l’intervention i est planifiée dans la salle k le jour d ; 0 sinon d’opération Notre problème consiste donc à affecter un ensemble d’interventions (au moins toutes celles dont la date limite est inférieure à la période de planification) à une journée, une salle d’opération et ce dans la période de planification tout en minimisant le coût total (coût des heures supplémentaires ou coût de sous-utilisation des salles). Ce problème peut s’écrire sous la forme du programme linéaire en nombre entiers (PGNE) suivant : Md S min ∑∑ C d =1 k =1 d k ⎧(TOR − ∑ p i z ), ⎫ ⎪ ⎪ i∈Ω C kd = max ⎨ d d ⎬ ⎪ β (∑ pi z ik − TORk ) ⎪ (0) ⎩ i∈Ω ⎭ , d ∈ [1,..,S ], k ∈ [1,...,M d ] Md ∑∑ z d =1 k =1 S d ik Md ∑∑ z d =1 k =1 ∑pz i∈Ω d i ik d ik i ∈ Ω,d ∈ [1,...,S ] ,k ∈ [1,...,M d ] La fonction objectif vise à la minimisation du coût total des salles d’opération sur une semaine. Le coût d’une salle d’opération pour une journée représente soit le coût du nombre d’heures supplémentaires soit le coût de sousutilisation de la salle ce jour-là, représenté par la formule (0). La contrainte (1) impose que toute intervention dont la date limite est inférieure ou égale à S, soit prise en compte exactement une fois. La contrainte (2) impose que toute intervention dont la date limite est supérieure à S peut être prise en compte au plus une fois. La contrainte (3) implique que le temps opératoire d’une salle d’opération ne peut pas excéder le nombre d’heures normales + le nombre d’heures supplémentaires possibles pour une journée pour cette salle. En outre, nous pouvons procéder autrement en travaillant en générant des plannings réalisables c’est à dire des ensembles d’interventions planifiées pour une salle d’opération pour une journée. Nous pouvons alors représenter notre problème par un autre programme en nombres entiers où une variable de décision binaire va indiquer si un planning est retenu ou non. Considérons la notation suivante : Un planning : l’ensemble des interventions planifiées pour une salle d’opération pour une journée ; a ij = 1 si l’intervention i est planifiée dans le planning j ; 0 sinon b = 1 si le planning j est retenu le jour d ; d ik Sous les contraintes: S (4) d j d k où z ikd ∈ {0,1} 0 sinon = 1 si la salle d’opération ekj k est utilisée par le planning j 0 sinon : le nombre de plannings possibles; P Ω dk : l’ensemble des interventions prévues à planifier dans la salle k le jour d. ΩP : l’ensemble de tous les plannings réalisables possibles pendant la période de planification; : le coût du planning j (= coût des heures Cj =1 i ∈ Ω et Di ≤ S (1) supplémentaires ou coût de la sous-utilisation de la salle opératoire). ≤1 i ∈ Ω et Di > S (2) Les variables de décision sont notées par ≤ TOR + TS d k d k k ∈ [1,..., M d ] et d ∈ [1,..., S ] x j = 1 si le planning j ∈ Ω P est retenu; (3) 0 sinon Notre problème s’écrit maintenant sous la forme du >< 3 programme général (GP) suivant : ∑C min j xj j∈Ω P où ⎧ S Md d ⎫ d ⎪(∑∑ b j ekj TORk − ∑ aij pi ), ⎪ ⎪ d =1 k =1 ⎪ i∈Ω C j = max ⎨ ⎬ S Md d d ⎪ ⎪β ( a p − b j ekj TORk ) ∑∑ ij i ⎪⎩ ∑ ⎪⎭ i∈Ω d =1 k =1 , j ∈ ΩP (11) Md S ∑∑ b (avec d =1 k =1 d j ekj = 1 ) Sous les contraintes: ∑a ij x j = 1 i ∈ Ω, Di ≤ S j∈Ω P (6) ∑a ij ∑b d j x j ≤ 1 i ∈ Ω, Di > S j∈Ω P (7) j∈Ω P ∑a i∈Ω ekj x j = 1 d ∈ [1,L, S ], k ∈ [1,L, M d ] (8) Md S ij pi ≤ ∑∑ (TORkd + TS kd )b dj ekj d =1 k =1 x j ∈ {0,1}, j ∈ Ω j ∈ ΩP (9) P (10) Remarquons que les contraintes (6), (7) et (8) du GP correspondent aux contraintes (1)(2) du PGNE. La contrainte (9) correspond à la contrainte (3). Et la formule (11), correspondant à la formule (5), représente la formulation de définition du coût d’un planning. De plus, la relation entre les variables de décision du PGNE et celles du GP peut être représentée par la formulation suivante : z ikd = ∑a b ij j∈Ω P d j ekj x j (13) Notons que puisque le PGNE et le GP sont deux modèles mathématiques équivalents représentant le même problème concerné, leurs solutions optimales seront elles aussi équivalentes. Dans les parties suivantes, nous allons présenter la procédure de Branch-and-Price développée pour trouver la solution exacte du problème concerné. Afin de simplifier le problème général, nous allons appliquer les idées de Dantzig et Wolfe [8] et le décomposer en deux parties : le problème principal MP qui reprend le problème GP mais sans les contraintes relatives aux nombres d’heures normales et supplémentaires disponibles et des sousproblèmes SPd qui intègrent ces contraintes. Afin de travailler sans contrainte d’intégrité, nous allons relâcher la contrainte (10) dans MP et obtenir alors le problème LMP (problème principal linéaire). Dans une recherche antérieure [9], une procédure basée sur la génération de colonnes avait été utilisée pour résoudre le problème considéré. Cette approche ne nous permettant pas d’obtenir une solution exacte, nous avons ici utilisé une procédure de Branch-and-Price dont la structure est la suivante : Étape 0: (Initialisation) Liste des noeuds = vide ; le premier nœud actuel représente le problème GP. Etape 1 : (résoudre le nœud actuel ) Résoudre le LMP du nœud actuel par la procédure de génération de colonnes présentée dans l’article [9]. (1.1) Si le LMP actuel est irréalisable ou si sa solution optimale est supérieure ou égale à la borne supérieure actuelle (UB), aller à l’étape 2. (1.2) Mettre la solution de LMP du nœud actuel comme sa borne inférieure (LB). Si ce nœud actuel est la premier nœud exploré, une procédure heuristique PHBGC, développée dans [9], est appliquée pour obtenir une solution réalisable qui constituera la première borne supérieure (UB) de cette procédure Branch-and-Price. Étape 2 : (évaluation) (2.1) Si le noeud actuel est le premier exploré et si son LMP est irréalisable, cette procédure de Branch-and-Price se termine. On ne peut pas trouver la solution réalisable pour ce problème. (2.2) Si la borne inférieure (LB) du nœud actuel est supérieure ou égale à la borne supérieure actuelle (UB) et si la liste actuelle des noeuds candidats est vide, la procédure s’arrête. Dans ce cas-ci, la UB actuelle est la solution optimale. Si la liste actuelle des noeuds candidats n’est pas vide, aller à l’étape 2.4. (2.3) Si la LB du nœud actuel est une solution réalisable (en nombres entiers), on remplace UB actuelle par cette LB; sinon, aller à l’étape 3. (2.4) Remplacer le nœud actuel par le premier nœud de la liste des noeuds candidats dont la LB est la plus petite et enlever le nœud choisi de la liste en même temps. Ensuite, aller à l’étape 1. Étape 3: (ramification) calculer et choisir une variable de ramification selon les critères présentés dans la section 4, puis ramifier le nœud actuel en deux nœuds fils. Etape 4 : (étendre la liste actuelle de nœuds) Mettre le nœud fils gauche comme le nœud actuel à explorer et, en même temps, ajouter le nœud fils droit dans la liste actuelle des noeuds candidats où tous les nœuds sont triés par ordre croissant de leurs LBs, ensuite, aller à l’étape 1. Dans la partie suivante, nous allons présenter les points les plus importants de la procédure de Branch-and-Price : les stratégies de la sélection du nœud et de la variable de ramification. >< 4 Ω dk 0 = Ω dk 0 \ {i0 }, k ∈ [1,..., M d0 ] . Pour les noeuds où III. STRATEGIE DE LA SELECTION DU NŒUD ET DE LA VARIABLE DE RAMIFICATION La stratégie de la sélection du nœud vise à choisir un nœud actuel dans la liste de noeuds candidats et la stratégie de la sélection de la variable de ramification vise à choisir une variable non entière pour effectuer la ramification. A. La stratégie de la sélection du nœud La stratégie de la sélection du nœud appliquée ici est la même que celle de l’article [4]. Elle est la combinaison de la règle de « Depth-first-search » et celle de « Best-lowerbound », c’est-à-dire que si le nœud actuel ne peut pas être élagué, la règle de depth-first-search est appliquée et donc un de ses nœuds fils (dans cet article, on prend son nœud fils gauche) est choisi comme prochain nœud pour être traité. En outre, si le nœud actuel est élagué, la règle Best-lower-bound est appliquée et un nœud dans la liste de noeuds candidats, dont la borne inférieure est le minimum, est choisi pour être exploré. B. La stratégie de la sélection de la variable de ramification Comme dit dans l’article [4] concernant la résolution du problème GP, se ramifier traditionnellement sur la x-variable ( une variable de décision du GP) peut causer un problème sur une branche où sa variable de décision est déjà mise zéro. Ainsi, on préfère se ramifier sur les variables de décision du PGNE. Cette stratégie de la sélection de la variable de ramification a été prouvée avec succès dans les autres articles, par exemple [1] et [4]. Par conséquent, nous allons aussi faire la ramification sur les variables de décision de PGNE. Tout à bord, nous définissons les q-variables comme suivantes : Md qid = ∑ z ikd i ∈ Ω, d ∈ [1,L, S ] k =1 (14) qid0 0 est mise à 1, toutes les z ikd 0 d 0 . De plus, nous mettons jour qid0 0 est à 0, on met z id0 0k = 0 pour tous les k∈[1,…, M d 0 ], où 4 le Critère 1: q d0 i0 q d0 i0 est fractionnaire et le plus proche à 0.5, i.e. = arg min { q − 0.5 ,0 < q < l, i ∈ Ω, d ∈ [1, L, S ]} d qi d i d i d ≠ d0 = Ω dk d ≠d0 \ {i0 } . z id0k0 0 =0 et Ω dk00 = Ω dk00 \ {i0 } . Son RMP initial se compose de toutes les colonnes de son nœud père sauf celles où l’intervention planifiée à la salle d’opération droit correspond au i0 est k 0 le jour d 0 ; le nœud fils z id0k0 0 =1, son RMP initial se compose de toutes les colonnes de son noeud père sauf celles où l’intervention i0 est planifiée aux salles d’opération autres que la salle d’opération k 0 le jour d 0 et celles correspondant à la salle d’opération k 0 le jour d 0 mais où il n’y a pas l’intervention i0 dedans. On met Ω dk = Ω dk \ {i0 } pour tous les {d ∈ [1,..., s ] \ {d 0 }, k ∈ [1,..., M d ]} et {d = d 0 , k ∈ [1,..., M d ] \ {k 0 }} . IV. RESULTATS NUMERIQUES A. Outil utilisé • Ordinateur : IBM ThinkPad T23 (CPU: PIII 1.0 GHz, Mémoire: 128 M) Logiciel : Microsoft VC++ 6.0 L’outil utilisé pour la résolution de la programmation linéaire: COIN (http://www124.ibm.com/developerworks/opensourc e/coin/faqs.html) • • B. Les données • d 0 . En même temps, on met jour Ω dk créés. Pour le nœud fils gauche, on met et le RMP initial de ce nœud se compose de toutes les colonnes de son nœud père sauf celles où l’intervention i 0 est planifiée sont mises à le critère 2 5 . Comme la première étape, deux nœuds fils sont d qid0 0 =0 et celui de droit correspond à q i 0 0 =1. Pour le cas d ≠d0 Deuxième étape: Si toutes les q-variables sont entières, nous vérifions encore s’il y a des valeurs de z-variables fractionnaires. S’il y en a, nous allons ramifier selon les valeurs de z-variables comme suit : choisir (i0 , d 0 , k 0 ) selon d à et z i0 k 0 pour tous les k possibles et dans ce cas-là, son RMP initial se compose de toutes les colonnes de son nœud père sauf celles où l’intervention i0 est planifiée les jours autres que le Chaque variable q i indique si une intervention i peut être planifiée au jour d ou pas. La stratégie de la sélection de la variable de ramification se compose de deux étapes : Premier étape : ramifier le noeud actuel selon la valeur de q-variable. S’il y a plusieurs q-variables fractionnaires, on choisit une paire de (i0, d0) selon le critère 1 4. Puis, deux nœuds fils sont construits où le noeud fils gauche correspond d i ≠ i0 5 • La durée de planification : S = 5 (jours), c’est donc une planification pour une semaine ; Le nombre des salles d’opération disponibles : M d = U[1,4] ; • Le nombre d’interventions : N = 10, 20, 30, 40 Critère 2: z id0 k0 0 est fractionnaire et le plus proche à 0.5, i.e. z id0 0k0 = arg min { z ikd − 0.5 , 0 < z id0 0k0 < 1, i ∈ Ω, d ∈ [1, L , S ]} d zik >< 5 • 50 ; Le nombre d’heures normales disponibles pendant une journée d’une salle d’opération : TOR • d k = U[0,96]. Unité: 5minutes ; Le nombre maximal d’heures supplémentaires possibles pour une salle d’opération pendant une journée : TS d k = 0 si TOR d k ==0 ; U[0, 72], • sinon. Unité : 5 minutes ; Le temps opératoire des interventions : • U[3,96]. Unité : 5 minutes. Les dates de limite des interventions TABLEAU I LA PROPORTION DE DISTRIBUTION DES RÉSULTATS (IP-LP)/IP 0% ]0% 5%] ]5% 10%] Proportion 68.0% 20.0% 11.0% 1.0% 0% Proportion cumulée 68.0% 88.0% 99.0% 100% 100% LE pi = Di = U[1,20]. Unité : jour. • Le rapport entre le coût de l’heure normale et de l’heure supplémentaire β = 1.5. Nous avons généré 20 exemples de chaque cas de N. Nous avons donc effectué 100 exemples. C. Résultats numériques Nous avons effectué une comparaison entre la solution exacte trouvée par la procédure de Branch-and-Price et la borne inférieure trouvée par la procédure de génération de colonnes proposée dans [9]. Le temps de calcul et le nombre des noeuds explorés sont montrés ici. Tous les résultats numériques sont fournis dans les tableaux I, II et III dont les paramètres de comparaison sont représentés ci-dessous (tous les résultats dans tableaux II et III sont les résultats moyens des 20 exemples pour chaque cas de N) : IP : la solution exacte de la procédure de Branch-andPrice ; LP : la borne inférieure obtenue par la procédure de génération de colonnes présentée en [9]. (IP-LP)/IP : le taux de distance de IP à LP. Nb résolus : le nombre de problèmes résolus à leur nœud initiale (nœud de racine), c’est-à-dire, sans l’action de ramification, parmi 20 exemples de chaque cas . Nb nœuds explorés : le nombre total des nœuds explorés dans la procédure de Branch-and-Price (au moins un nœud ). Nb colonnes générées : le nombre total de colonnes générées dans la procédure de Branch-and-Price ; CPU : Temps moyen de calcul par la procédure de Branchand-Price ( unité : secondes) N ]10% 15%] ]15% 100%] TABLEAU II TAUX DE DISTANCE LP IP (IP-LP)/IP % 10 504 504 0 20 164,02083 164,325 0,00346114 30 60,099325 60,825 0,01603308 40 94,939235 95,575 0,0193652 50 140 507915 141 3 0 02073467 TABLEAU III RÉSULTAT S NUMÉRIQUES Nb noeuds explorés Nb résolus 20 Nb colonnes générées 1 129,7 CPU (secondes) 63,043 17 13,6 1109,85 231,507 12 861,2 58339,2 10877,032 12 630,1 67107,3 12252,631 11 225,65 26666,1 5564,437 Parmi les 100 exemples, on trouve que : • dans 99% des exemples, l’écart entre la solution exacte et la borne inférieure du GP est inférieur ou égal à 10%. De plus, pour 68% des cas, l’écart est égal à zéro. Cela implique que la solution obtenue par la procédure de génération de colonnes est très proche de la solution optimale. • la plupart des problèmes (72 parmi 100) sont résolus sans l’action de ramification, c’est-à-dire, résolu par la procédure heuristique PHBGC. • tous les problèmes peuvent être résolus en un temps réalisable (au moins que quatre heures en moyenne). V. CONCLUSION ET PERSPECTIVES Dans cet article, nous avons développé une procédure de Branch-and-Price pour trouver une solution exacte à un problème de planification des interventions dans un bloc opératoire sur une semaine. Les expérimentations numériques ont été exécutées pour différents nombres d’interventions prévues de 10 à 50. Les solutions obtenues sont de bonne qualité. >< 6 Du fait que beaucoup des hypothèses sont émises dans le modèle construit dans cet article, cette recherche ne peut être actuellement utilisée concrètement au sein d’un centre hospitalier. Nous allons donc relâcher les hypothèses énoncées ici, prendre en compte les salles de réveil et aussi prendre en considération des contraintes supplémentaires de ressources dans nos travaux de recherche ultérieures. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] Barnhart C., Johnson E.L., Nemhauser G.L., Savelsbergh M.W.P., Vance P.H., Branch-and-Price: Column generation for solving huge integer programs, Operations Research, 46, 316-329, 1998. Blake J.T., and Donald J., Mount Sinai hospital uses integer programming to allocate operating room time, INFORMS, 32 (2), 63-73, 2002. Chaabane S., Guinet A., Smolski N., Guiraud M., Luquet B., Marcon E., Viale J.P., The industrial management and the management of surgical units, Annales Françaises d’Anethésie et de Réanimation, 22, 904-908, 2003. Chen Z.L., Powell W.B., Solving Parallel Machine Scheduling Problems by Column Generation, INFORMS: Journal of Computing, 11(1), 78-94, 1999. Chen Z.L., and Powell W.B., A column generation based decomposition algorithm for a parallel machine just-in-time scheduling problem, European Journal of Operation Research, 116, 220-232, 1999. Clergue F., Gestion du bloc opératoire : Pourquoi une telle préoccupation? Informations cliniques en Anesthésie-Réanimation, 9395, 1999. Dexter F., Macario A. and Traub R.D., Which algorithm for scheduling add-on Elective cases maximizes operating room utilizations? Anesthesiology, 91, 1491–1500, 1999. Dantzig G.B., and Wolfe P., Decomposition principle for linear programs. Operations Research, 8, 101-111, 1960. Fei H., Chu C., Artiba A., Meskens N., Planification des interventions sur une semaine dans un bloc opératoire, ROADEF’05, 6ème congrès de la Société Française de Recherche Opérationnelle et d’Aide à la Décision, coordonné par Billaut J-C., Carl Esswein C., 359-374, 2005 Guinet A., and Chaabane S., Operating theatre planning, International Journal of Production Economics, 85, 69-81, 2003. Jebali, A., Hadjalouane, A.B., Ladet, P., Operating room scheduling, Proceeding of International Conference Industrial Engineering and Production Management, IEPM’03, Porto, Portugal, May, 26-28, 2003. Lovejoy W.S., and Li Y., Hospital operating room capacity expansion, Management Science, 48(11), 1369-1387, 2002. Macario A., Vitez T.S., Dunn B., Mcdonaled T., Where are the cost in perioperactive care? Anethesiology, 83(6), 1138-1144, 1995. Ozkarahan I., Allocation of surgical procedures to operating rooms, Journal of Medical systems, 19, 333-352, 1995. Vissers, J., Patient flow-based allocation of inpatient resources: A case study, European Journal of Operation Research, 105, 356-370, 1998. Weinbroum A.A., Ekstein P., Ezri T., Efficiency of the operating room suite, The American Journal of Surgery 185, 244- 250, 2003.