## 2 Optimization Methods
### Global Optimization Method  
The global optimization method applied in this study involves the application of the genetic algorithm (GA) for a single objective function case and non-dominated sorting genetic algorithm 2 (NSGA II) for the multi-objective joint optimization approach. The GA is a special case of evolutionary algorithm that simulates the process of biological evolution, and it is adapted to solve an optimization problem [41; 42; 43]. The process of the genetic algorithm starts from population initialization, which creates chromosomes (potential solutions with respect to the objective function) using the binary coding scheme. The binary coding scheme is conceptualized in a way that it constitutes a solution to the objective function of the inverse problem [43]. The binary coding system has a bit string or chromosome that describes each element or individual in the population. Each bit in the bit string represents a gene that can be assigned values of 0 or 1, also known as an allele [43]. Two individuals or parents are paired or selected from the initial population to produce two offspring. The higher the fitness value of an individual in the population, the higher the chance of being selected and the better its performance in the evolution loop. Among other selection methods, we apply the tournament selection because it practically depicts natural competition for mating rights among individuals in a population. Crossover involves exchanging information (genetic properties) between two paired models (parents) to create two new models (offspring). Three types of crossover options are available in the code used in this study: single point, two points, and scattered crossover. The final evolution operator used in the genetic algorithm is the mutation. This is the random alteration of genes in a chromosome to introduce diversity in the entire population of the genetic algorithm. This process is usually conducted using a probability index that is appropriately chosen based on the degree of randomness to be allowed and computation cost. The process described above is generally referred to as a single objective genetic algorithm; it is suitable for the inverse problem having one objective function (i.e., applied in the individual inversion of DCR or SR). All these GA evolution operators (i.e., selection, crossover, and mutation) are used to modify the solution parameters. As mentioned above, the non-dominated sorting genetic algorithm 2 (NSGA II) is a variant of the GA commonly used to solve multi-objective optimization problems. The NSGA II procedures involve the creation of an offspring population (\(Q_{t}\)) that has an equal size to the initial population (\(P_{t}\)) using the selection, crossover, and mutation processes as shown in Figure 1. After that, (\(Q_{t}\)) and (\(P_{t}\)) are combined to produce (\(R_{t}\)), which is double the size of (\(P_{t}\)). Then, the non-domination (i.e., the optimum set of solutions in all the objective functions) sorting of the entire population (\(R_{t}\)) is performed, and the best non-dominated solutions are selected, which are indicated as \(F_{1},\ F_{2},\ \textit{and}\ F_{3}\) (levels of non-domination) in Figure 1. The topmost non-dominated solutions are accepted until the initial population size is reached; thereafter, the rest of the non-dominated solutions are rejected because the process cannot accept more than the initial population size. Sometimes only \(F_{1}\) can satisfy the initial population size requirement, and that will be enough for the next generation (\(P_{t+1}\)); then, the rest are rejected (Figure 1). Consequently, the NSGA-II emphasizes both the non-dominated and less crowded points. One of the major challenges in applying the genetic algorithm to the inverse problems that require the simultaneous optimization of more than one objective function is preventing the domination of one objective function to another.