# A New \"Doctor and Patient\" Optimization Algorithm: An Application to Energy Commitment Problem
## 3 Doctor and Patient Optimization (DPO)
### Implementation of DPO
\[E_{1}=\ [EC_{1}\ EC_{2}\ldots EC_{i}\ldots\ EC_{N}]^{T}. \tag{12}\]0

where \(P\) is the domestic production of energy carriers, and \(E_{6}\) is import and/or export of energy carriers. In \(E_{6}\), a negative sign denotes an export, while a positive sign means the import of energy carriers. ## 5 Simulation Study and Discussion

### Case Study A: Benchmark Test Functions

In this section, the performance of DPO is evaluated on a standard set of benchmark test functions which have been used by the researchers in various earlier studies [55; 56]. These benchmark functions includes twenty-three test functions that are categorized into Unimodal [57; 58], Multimodal [58; 59], and Fixed-dimension Multimodal [58] functions. The description of these test functions is found in Appendix A and in Tables A1-A3. #### 5.1.1 Experimental Setup

The performance of the DPO is compared with the following eight optimization algorithms: Genetic Algorithm (GA) [60], Particle Swarm Optimization (PSO) [61], Gravitational Search Algorithm (GSA) [14], Teaching Learning Based Optimization (TLBO) [62], Grey Wolf Optimizer (GWO) [7], Grasshopper Optimization Algorithm (GOA) [22], Whale Optimization Algorithm (WOA) [27], and Marine Predators Algorithm (MPA) [23]. The proposed algorithm is implemented 30 times for each benchmark test function to obtain the average (_avg_), standard deviation (_std_), best, and worst values. In each run, the number of maximum iterations performed is fixed at 1000 for all the twenty-three benchmark test functions. The population size (\(N\)) is fixed at 50. The algorithm is implemented in MATLAB R2017b version using a 64-bit Core i7 processor with 3.20 GHz and 16 GB main memory. #### 5.1.2 Benchmarking Results of Unimodal Test Function

This group of functions is used to evaluate the exploitation ability of algorithms. The results of the implementation of the DPO and other mentioned algorithms on these test functions are presented in \[E_{1}=\ [EC_{1}\ EC_{2}\ldots EC_{i}\ldots\ EC_{N}]^{T}. \tag{12}\]1 DPO is clearly superior to all other compared algorithms in all F\({}_{1}\) to F\({}_{7}\) test functions. ### Case Study B: EC Problem

In this section, after implementing the DPO on benchmark test function and showing its strong ability in solving optimization problems, the proposed optimization algorithm is applied to the EC problem to determine the appropriate pattern of use of energy carriers. The EC is implemented on an energy network with 26 power plants for a 24-h study period. The energy network included residential, commercial, public, industrial, transportation, and agriculture sectors and is supplied by various energy carriers. The energy demand in this network is shown for different sections in \[E_{1}=\ [EC_{1}\ EC_{2}\ldots EC_{i}\ldots\ EC_{N}]^{T}. \tag{12}\]2 The profile of this energy demand is displayed intuitively in \[E_{1}=\ [EC_{1}\ EC_{2}\ldots EC_{i}\ldots\ EC_{N}]^{T}. \tag{12}\]3 All the other information surrounding the energy network is supplied in Appendix B and in Tables A8-A10. The MBOE (millions of barrels of oil equivalent) unit is applied as the energy unit in this paper. #### 5.2.1 Objective Function and Constraints

In the present study, the objective function for solving the EC problem is considered to reduce the cost of supplying energy demand. This objective function for 24-h study period is expressed by Equation (22). Additionally, to optimize the EC's objective function, the constraints related to the start-up cost of power plants and their authorized production range, specified in Equations (23)-(25), must be considered. \[E_{1}=\ [EC_{1}\ EC_{2}\ldots EC_{i}\ldots\ EC_{N}]^{T}. \tag{12}\]4

\[SC_{i}^{t}=\left\{ \begin{array}{c}SC_{i},\ u_{i}^{t}>u_{i}^{t-1}\\ 0,\ else\end{array} \right., \tag{23}\]

\[P_{gi}^{min}\leq P_{gi}\leq P_{gi}^{max}, \tag{24}\]

\[\sum_{i=1}^{N_{g}}P_{gi}^{t}=load^{t}. \tag{25}\]