Window-Based Multi-Objective Optimization for Dynamic Patient Scheduling with Problem-Specific Operators
Abstract
:1. Introduction
2. Contribution
3. Literature Survey
3.1. Patient Admission Scheduling
3.2. Multi-Objective Optimisation for Scheduling
4. Background
4.1. Non-Dominated Sorting Genetic Algorithm NSGA-II
Algorithm 1. Pseudocode of non-dominated sorting genetic algorithm. |
Input |
Size of population |
maximum generation |
Output |
Pareto front |
Start |
1—Initialize population |
2—Evaluate the individual fitness |
3—Select ranked individuals |
4— while maximum generation is not reached |
5— while non-offspring reached |
6— Select parents |
7— Crossover or mutation |
8— Evaluate offspring |
9— end |
10— Select new generation using ranking and CA |
11— end |
12—Output = Pareto front |
End. |
4.2. Non-Dominated Sorting Genetic Algorithm III (NSGA-III)
Algorithm 2. Pseudocode of the process of selecting non-dominated solutions based on the process of NSGA-III. |
Input: |
H structured reference points Zs or supplied aspiration |
points Za, |
parent population Pt |
Output: |
P(t + 1) |
Start |
1—St = Ø, I = 1 |
2—Qt = Recombination + Mutation (Pt) |
3—Rt = Pt ∪ Qt |
4—(F1, F2, …) = Non-dominated-sort (Rt) |
5—repeat |
6— (St = St ∪ Fi and i = i + 1 |
7—until |St| ≥ N) |
8—Last front to be included: Fl = Fi |
9— if |St| = N then |
10— P(t + 1) = St, break; |
11—else |
12— P = all previous fronts |
13— Points to be chosen from Fl: K = N − |Pt + 1| |
14— Normalize objectives and create reference set Zr: |
Normalize(fn, St, Zr, Zs, Za) |
15— Associate each member s of St with a reference point: |
[π(s), d(s)] = Associate(St, Zr) % π(s): closest |
reference point, d: distance between s and π(s) |
16— Compute niche count of reference point |
17— Choose K members one at a time from Fl to construct |
P(t + 1): Niching(K, ρj, π, d, Zr, Fl, P(t + 1)) |
18—end if |
End. |
4.3. Multi-Objective Particle Swarm Optimization MOPSO and MOPSO with Objective DeComposition (ODMOPSO)
Algorithm 3. Pseudocode of multi-objective particle swarm optimization. |
Input |
Max //maximum number of particles |
definition of objective functions |
repository size |
granularity of hyper-cube |
Output |
pareto front |
Start |
1—generate the first swarm |
2—initiate the speed of the particles |
3—evaluate each of the particles |
4—store non-dominated particles in the repository |
5—generate hyper-cube using the granularity of hyper-cube |
6—initialize the memory of each particle |
7— while the maximum number of iterations is not reached |
8— move the particle using selected solution from the repository as best global |
9— maintain solutions that exceed the boundary so they lie in the valid region of space |
10— evaluate the solutions using the objective functions |
11— update the repository |
12— end |
End. |
5. Methodology
5.1. Problem Formulation
- 1—maximum respect of the patient’s room choice (single, twin or ward);
- 2—maximum support from the department to the patient’s disease;
- 3—maximum support from the room to the patient’s disease;
- 4—minimum unplanned transfer of patients.
5.2. General Block Diagram
5.2.1. Initialization Algorithm
Algorithm 4. The generation of the initial solution. |
Input: |
// previous solution |
//includes rooms and patients and Room-Patient-Suitability |
// the current window of performing the new optimization |
Output: |
// initial solution for current window |
Start: |
1—for patient in List of patients from solution |
2— Room ← −1 //initialization |
3— if the patient is delayed (not new) |
4— if initial room still has space AND this room is suited for this patient |
5— Room ← previous day solution room |
6— end if |
7— end if |
8— while not (Room is suited and has space) AND there is more Rooms |
9— Room ← random (Rooms) |
10— end while |
11— if Room not equal to −1 |
12— Assign patient to Room. |
13— Set his delay value to zero. |
14— else //the case the room is still −1 |
15— Assign patient to Room // if it’s delayed, we can use a not suited room. |
16— Set his delay value to one. |
17— end if |
18— end for |
End. |
5.2.2. Crossover
Algorithm 5. The crossover operation for the genetic design. |
Input: |
current generation, |
IN |
Output: |
new generation |
Start: |
1—Choose a random portion of the generation to apply crossover to. |
2—for counter IN portion size |
3— Choose two parents from the current generation |
4— DeltaRooms ← random portion of patients to change their rooms from solution x to solution y. |
5— DeltaDelay ← random portion of patients to change their delay from solution x to solution y. |
6— Child 1 = change (parent1, parent2, DeltaRooms, DeltaDelay) |
7— Child 2 = change (parent2, parent1, DeltaRooms, DeltaDelay) |
8— Add child 1 and child 2 to new the generation |
9—end for. |
End. |
5.2.3. Mutation
Algorithm 6. The mutation operation for the genetic design. |
Input: |
Solution |
Mutation rate: how many patients in the individual to change. |
ap: acceptance rate |
Output: |
new Solution with mutated individuals |
Start: |
1—select random neighborhood |
2—new-Solution ← neighborhood (Solution, Mutation rate) |
3—if new-Solution Dominates the current Solution |
4— current Solution ← new-Solution |
5—else |
6— Generate a probability to allow bad Solutions |
7— if generated probability > ap |
8— current Solution ← new-Solution |
9— end |
End. |
Algorithm 7. Pseudocode of neighborhood 1 operator used in the mutation. |
Input: |
Mutation rate |
Current Solution |
Output: |
new Solution after the change |
Start |
1—while Mutation rate |
2— patient ← random (current Solution patients) |
3— new-room ← random (current Solution rooms) |
4— if the new-room is suited for this patient |
5— set the patients room to the new-room. |
6— end if |
7—end while |
End |
Algorithm 8. Pseudocode of neighborhood 2 operator used in the mutation. |
Input: |
Mutation rate |
Current Solution |
Window |
Output: |
new Solution after the change |
Start: |
1—while Mutation rate |
2— patient ← random (current individual patients) |
3— new-delay ← random (1 ← 0) |
4— if the new-delay + day is in the patients staying range |
5— set the patients delay to the new-delay. |
6— end if |
7—end while |
End. |
5.2.4. Evaluation Metrics
- (1)
- Set coverage:
- (2)
- The HV-metric is widely used for evolutionary multi-objective optimization to evaluate algorithm search performance. It computes the volume of the dominated portion of the objective space relative to the least desirable solution (reference point); this region is the union of the hypercube whose diagonal is the distance between the reference point and a solution x from the Pareto set PS. Higher values of this measure indicate more desirable solutions. HV is expressed in Equation (3).
6. Experimental Works and Evaluation
- (1)
- Simulated Annealing (SA): the solutions move with their neighborhood area
- (2)
- Particle Swarm Optimization (PSO): the particles (solutions) simultaneously move towards the global and local best particles.
- (1)
- MOPSO: the particles simultaneously move towards the best local and the Leader (particle selected from the repository);
- (2)
- ODPSO: it enables objective decomposition when exploration begins;
- (3)
- NSGA II: is a genetic algorithm that selects non-dominated solutions based on crowding distance;
- (4)
- NSGA III: it is similar to NSGA II but differs concerning the selection stage depending on reference points.
7. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Patrick, J.; Montazeri, A.; Michalowski, W.; Banerjee, D. Automated pathologist scheduling at the Ottawa hospital. INFORMS J. Appl. Anal. 2019, 49, 93–103. [Google Scholar] [CrossRef]
- Bastos, L.S.; Marchesi, J.F.; Hamacher, S.; Fleck, J.L. A mixed integer programming approach to the patient admission scheduling problem. Eur. J. Oper. Res. 2019, 273, 831–840. [Google Scholar] [CrossRef]
- Bolaji, A.L.A.; Bamigbola, A.F.; Shola, P.B. Late acceptance hill climbing algorithm for solving patient admission scheduling problem. Knowl. Based Syst. 2018, 145, 197–206. [Google Scholar] [CrossRef]
- Elsisi, M.; Tran, M.-Q.; Hasanien, H.M.; Turky, R.A.; Albalawi, F.; Ghoneim, S.S. Robust Model Predictive Control Paradigm for Automatic Voltage Regulators against Uncertainty Based on Optimization Algorithms. Mathematics 2021, 9, 2885. [Google Scholar] [CrossRef]
- Tran, M.-Q.; Liu, M.-K.; Elsisi, M. Effective multi-sensor data fusion for chatter detection in milling process. ISA Trans. 2021, 19, 4. [Google Scholar] [CrossRef]
- Demeester, P.; Souffriau, W.; De Causmaecker, P.; Berghe, G.V. A hybrid tabu search algorithm for automatically assigning patients to beds. Artif. Intell. Med. 2010, 48, 61–70. [Google Scholar] [CrossRef]
- Mazyavkina, N.; Sviridov, S.; Ivanov, S.; Burnaev, E. Reinforcement learning for combinatorial optimization: A survey. Comput. Oper. Res. 2021, 134, 105400. [Google Scholar] [CrossRef]
- Turhan, A.M.; Bilgen, B. Mixed integer programming based heuristics for the Patient Admission Scheduling problem. Comput. Oper. Res. 2017, 80, 38–49. [Google Scholar] [CrossRef]
- Deb, K.; Sundar, J. Reference point based multi-objective optimization using evolutionary algorithms. In Proceedings of the 8th annual Conference on Genetic and Evolutionary Computation, New York, NY, USA, 8–12 July 2006; pp. 635–642. [Google Scholar]
- Ceschia, S.; Schaerf, A. Dynamic patient admission scheduling with operating room constraints, flexible horizons, and patient delays. J. Sched. 2016, 19, 377–389. [Google Scholar] [CrossRef]
- Bilgin, B.; Demeester, P.; Misir, M.; Vancroonenburg, W.; Berghe, G.V. One hyper-heuristic approach to two timetabling problems in health care. J. Heuristics 2012, 18, 401–434. [Google Scholar] [CrossRef]
- Kifah, S.; Abdullah, S. An adaptive non-linear great deluge algorithm for the patient-admission problem. Inf. Sci. 2015, 295, 573–585. [Google Scholar] [CrossRef]
- Zhu, Y.-H.; Toffolo, T.A.; Vancroonenburg, W.; Berghe, G.V. Compatibility of short and long term objectives for dynamic patient admission scheduling. Comput. Oper. Res. 2019, 104, 98–112. [Google Scholar] [CrossRef]
- Rezaeiahari, M.; Khasawneh, M.T. Simulation optimization approach for patient scheduling at destination medical centers. Expert Syst. Appl. 2020, 140, 112881. [Google Scholar] [CrossRef]
- Abera, A.K.; O’Reilly, M.M.; Fackrell, M.; Holland, B.R.; Heydar, M. On the decision support model for the patient admission scheduling problem with random arrivals and departures: A solution approach. Stoch. Models 2020, 36, 312–336. [Google Scholar] [CrossRef]
- Ghasemi, P.; Khalili-Damghani, K.; Hafezalkotob, A.; Raissi, S. Uncertain multi-objective multi-commodity multi-period multi-vehicle location-allocation model for earthquake evacuation planning. Appl. Math. Comput. 2019, 350, 105–132. [Google Scholar] [CrossRef]
- Adhikari, M.; Srirama, S.N. Multi-objective accelerated particle swarm optimization with a container-based scheduling for Internet-of-Things in cloud environment. J. Netw. Comput. Appl. 2019, 137, 35–61. [Google Scholar] [CrossRef]
- Yang, X.-S.; Deb, S.; Fong, S. Accelerated particle swarm optimization and support vector machine for business optimization and applications. In Proceedings of the International Conference on Networked Digital Technologies, Macau, China, 11–13 July 2011; pp. 53–66. [Google Scholar]
- Fang, R.; Popole, Z. Multi-objective optimized scheduling model for hydropower reservoir based on improved particle swarm optimization algorithm. Environ. Sci. Pollut. Res. 2020, 27, 12842–12850. [Google Scholar] [CrossRef] [PubMed]
- Tang, B.; Zhu, Z.; Shin, H.-S.; Tsourdos, A.; Luo, J. A framework for multi-objective optimisation based on a new self-adaptive particle swarm optimisation algorithm. Inf. Sci. 2017, 420, 364–385. [Google Scholar] [CrossRef] [Green Version]
- Seren, C. A hybrid jumping particle swarm optimization method for high dimensional unconstrained discrete problems. In Proceedings of the 2011 IEEE Congress of Evolutionary Computation (CEC), New Orleans, LA, USA, 5–8 June 2011; pp. 1649–1656. [Google Scholar]
- Lu, Q.; Zhu, X.; Wei, D.; Bai, K.; Gao, J.; Zhang, R. Multi-phase and integrated multi-objective cyclic operating room scheduling based on an improved NSGA-II approach. Symmetry 2019, 11, 599. [Google Scholar] [CrossRef] [Green Version]
- Arram, A.; Ayob, M. A novel multi-parent order crossover in genetic algorithm for combinatorial optimization problems. Comput. Ind. Eng. 2019, 133, 267–274. [Google Scholar] [CrossRef]
- Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 2002, 6, 182–197. [Google Scholar] [CrossRef] [Green Version]
- Mkaouer, W.; Kessentini, M.; Shaout, A.; Koligheu, P.; Bechikh, S.; Deb, K.; Ouni, A. Many-objective software remodularization using NSGA-III. ACM Trans. Softw. Eng. Methodol. 2015, 24, 1–45. [Google Scholar] [CrossRef]
- Deb, K.; Jain, H. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: Solving problems with box constraints. IEEE Trans. Evol. Comput. 2013, 18, 577–601. [Google Scholar] [CrossRef]
- Figueiredo, E.M.; Ludermir, T.B.; Bastos-Filho, C.J. Many objective particle swarm optimization. Inf. Sci. 2016, 374, 115–134. [Google Scholar] [CrossRef]
Soft Constraints | Corresponding Weight |
---|---|
Gender constraint | 5.0 |
Mandatory Room suitability | 5.0 |
Age constraint | 10.0 |
Preferred Room suitability | 2.0 |
Room category matching | 0.8 |
The number of transfers | 11.0 |
Methods | C1 | C2 | nRep | nCrossover | nMutation | Mutation Rate |
---|---|---|---|---|---|---|
PSO | 10 | 5 | - | - | - | - |
MOPSO/ODPSO | 10 | 5 | 100 | - | - | - |
NSGA II | - | - | - | All generation | All generation | 1% |
NSGA III | - | - | - | All generation | All generation | 1% |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Mahmed, A.N.; Kahar, M.N.M. Window-Based Multi-Objective Optimization for Dynamic Patient Scheduling with Problem-Specific Operators. Computers 2022, 11, 63. https://doi.org/10.3390/computers11050063
Mahmed AN, Kahar MNM. Window-Based Multi-Objective Optimization for Dynamic Patient Scheduling with Problem-Specific Operators. Computers. 2022; 11(5):63. https://doi.org/10.3390/computers11050063
Chicago/Turabian StyleMahmed, Ali Nader, and M. N. M. Kahar. 2022. "Window-Based Multi-Objective Optimization for Dynamic Patient Scheduling with Problem-Specific Operators" Computers 11, no. 5: 63. https://doi.org/10.3390/computers11050063
APA StyleMahmed, A. N., & Kahar, M. N. M. (2022). Window-Based Multi-Objective Optimization for Dynamic Patient Scheduling with Problem-Specific Operators. Computers, 11(5), 63. https://doi.org/10.3390/computers11050063