## 6 Observability of the graph
### Binary-Integer Programming Model Considering an Unlimited Number of Channel Capacities
The flowchart is given in Figure 1.  
```
1 Set \(k:=0\); starting from the population \(P(0)\);
2 Estimate \(P(k)\);
3 If the stopping criterion is completed, then end up the iterations;
4 Choose \(M(k)\) from \(P(k)\);
5 Evolve \(M(k)\) to create \(P(k+1)\);
6 Set \(k:=k+1\), go to step 2. ```  
**Algorithm 2**Steps of GA implementation  
Particle swarm optimization (PSO) does not utilize mutation and crossover parameters [25; 26; 39; 48; 51]. PSO is easily implemented without using encoding or decoding of the parameters into binary strings, such as those in genetic algorithms which can also utilize real-number strings [25; 26; 39; 48; 51]. PSO searches the feasible regions by utilizing trajectories of particles in a quasi-stochastic manner. A deterministic strategy and a heuristic strategy are implemented for the PSO [25; 26; 39; 48; 51]. Each particle is attracted toward the position of the current global best and its own best location in history, while it has a tendency to move accidentally at the same time. When a particle detects a location that is better than any previously found locations, then it updates it as the new current best for the particle \(i\)[25; 26; 39; 48; 51]. There is a current best for all \(n\) particles at any time \(t\) during the iterative scheme. The target is to detect the global best among all the current best solutions so that the objective will no longer improve after a number of iterations [25; 26; 39; 48; 51]. Figure 1: Flowchart of genetic algorithm. An inertial weight parameter is used to properly tune the optimization mechanism between the local and global best of the particles at each trial estimated point. This optimization factor is used to give an accurate solution within specific tolerances criteria. The inertia weight is utilized to balance the global exploration and local exploitation [51]. We use the linear decreasing inertia weight in Equation (12) [25; 26; 27; 51]. \[W=W_{max}-(\frac{(W_{max}-W_{min})\times i}{maxiter}) \tag{12}\]  
Although PSO was proposed to optimize unconstrained optimization problems, it can also solve constraint optimization problems. The PSO is proposed to locate the optimality handling the constraint function in an appropriate way. A mechanism is utilized when the particle's best position and the swarm global optimal position are updated [21]. To explore the feasible region, a feasibility restriction is utilized to evaluate the constraint violation and deliver a feasible and optimal solution [25; 27; 39; 47; 48; 51]. The PSO code is depicted in Algorithm 3 and the flowchart is given in Figure 2[25; 26]. ```
Objective function \(f\left(\overrightarrow{y}\right)\), \(\overrightarrow{y}=[y_{1},y_{2},\ldots,y_{n}]\). Initialize locations \(y_{i}\) and velocity \(v_{i}\) of \(p\) particles. Determine \(G\)best from \(min\{f(y_{1}),\ldots,f(y_{p})\}\) at (\(m=0\)). while (criterion) \(t=t+1\) (Iteration counter) For loop over all \(p\) particles and all \(n\) dimensions Produce new velocity \(V^{t+1}=W^{t}\times V^{t}_{i}+C_{1}\times r_{1}\times\left(P^{t}_{i}-X^{t}_{i} \right)+C_{2}\times r_{2}\times\left(G^{t}-X^{t}_{i}\right)\) Compare new locations \(X^{t+1}_{i}=X^{t}_{i}+V^{t+1}_{i}\) Assess objective functions at new locations \(X^{t+1}_{i}\) Deliver the current best for each particle \(P\)best end \(\varepsilon\) Deliver the current global best \(G\)est end while output the final results \(P\)best and \(G\)best
```  
**Algorithm 3** Steps of PSO implementation