├── .gitattributes ├── GA.py ├── HHO.py ├── functions.py ├── kontrol-2019-06-08-19-41-50.csv ├── kontrol-2019-06-08-20-34-32.csv ├── optimizer.py └── solution.py /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /GA.py: -------------------------------------------------------------------------------- 1 | """ 2 | @author: Raneem 3 | """ 4 | import numpy 5 | import random 6 | import time 7 | import sys 8 | 9 | from solution import solution 10 | 11 | def crossoverPopulaton(population, scores, popSize, crossoverProbability, keep): 12 | """ 13 | The crossover of all individuals 14 | 15 | Parameters 16 | ---------- 17 | population : list 18 | The list of individuals 19 | scores : list 20 | The list of fitness values for each individual 21 | popSize: int 22 | Number of chrmosome in a population 23 | crossoverProbability: float 24 | The probability of crossing a pair of individuals 25 | keep: int 26 | Number of best individuals to keep without mutating for the next generation 27 | 28 | Returns 29 | ------- 30 | N/A 31 | """ 32 | #initialize a new population 33 | newPopulation = numpy.empty_like(population) 34 | newPopulation[0:keep] = population[0:keep] 35 | #Create pairs of parents. The number of pairs equals the number of individuals divided by 2 36 | for i in range(keep, popSize, 2): 37 | #pair of parents selection 38 | parent1, parent2 = pairSelection(population, scores, popSize) 39 | crossoverLength = min(len(parent1), len(parent2)) 40 | parentsCrossoverProbability = random.uniform(0.0, 1.0) 41 | if parentsCrossoverProbability < crossoverProbability: 42 | offspring1, offspring2 = crossover(crossoverLength, parent1, parent2) 43 | else: 44 | offspring1 = parent1.copy() 45 | offspring2 = parent2.copy() 46 | 47 | #Add offsprings to population 48 | newPopulation[i] = numpy.copy(offspring1) 49 | newPopulation[i + 1] = numpy.copy(offspring2) 50 | 51 | return newPopulation 52 | 53 | 54 | def mutatePopulaton(population, popSize, mutationProbability, keep, lb, ub): 55 | """ 56 | The mutation of all individuals 57 | 58 | Parameters 59 | ---------- 60 | population : list 61 | The list of individuals 62 | popSize: int 63 | Number of chrmosome in a population 64 | mutationProbability: float 65 | The probability of mutating an individual 66 | keep: int 67 | Number of best individuals to keep without mutating for the next generation 68 | lb: int 69 | lower bound limit 70 | ub: int 71 | Upper bound limit 72 | 73 | Returns 74 | ------- 75 | N/A 76 | """ 77 | for i in range(keep, popSize): 78 | #Mutation 79 | offspringMutationProbability = random.uniform(0.0, 1.0) 80 | if offspringMutationProbability < mutationProbability: 81 | mutation(population[i], len(population[i]), lb, ub) 82 | 83 | 84 | def elitism(population, scores, bestIndividual, bestScore): 85 | """ 86 | This melitism operator of the population 87 | 88 | Parameters 89 | ---------- 90 | population : list 91 | The list of individuals 92 | scores : list 93 | The list of fitness values for each individual 94 | bestIndividual : list 95 | An individual of the previous generation having the best fitness value 96 | bestScore : float 97 | The best fitness value of the previous generation 98 | 99 | Returns 100 | ------- 101 | N/A 102 | """ 103 | 104 | # get the worst individual 105 | worstFitnessId = selectWorstIndividual(scores) 106 | 107 | #replace worst cromosome with best one from previous generation if its fitness is less than the other 108 | if scores[worstFitnessId] > bestScore: 109 | population[worstFitnessId] = numpy.copy(bestIndividual) 110 | scores[worstFitnessId] = numpy.copy(bestScore) 111 | 112 | 113 | def selectWorstIndividual(scores): 114 | """ 115 | It is used to get the worst individual in a population based n the fitness value 116 | 117 | Parameters 118 | ---------- 119 | scores : list 120 | The list of fitness values for each individual 121 | 122 | Returns 123 | ------- 124 | int 125 | maxFitnessId: The individual id of the worst fitness value 126 | """ 127 | 128 | maxFitnessId = numpy.where(scores == numpy.max(scores)) 129 | maxFitnessId = maxFitnessId[0][0] 130 | return maxFitnessId 131 | 132 | def pairSelection(population, scores, popSize): 133 | """ 134 | This is used to select one pair of parents using roulette Wheel Selection mechanism 135 | 136 | Parameters 137 | ---------- 138 | population : list 139 | The list of individuals 140 | scores : list 141 | The list of fitness values for each individual 142 | popSize: int 143 | Number of chrmosome in a population 144 | 145 | Returns 146 | ------- 147 | list 148 | parent1: The first parent individual of the pair 149 | list 150 | parent2: The second parent individual of the pair 151 | """ 152 | parent1Id = rouletteWheelSelectionId(scores, popSize) 153 | parent1 = population[parent1Id].copy() 154 | 155 | parent2Id = rouletteWheelSelectionId(scores, popSize) 156 | parent2 = population[parent2Id].copy() 157 | 158 | return parent1, parent2 159 | 160 | def rouletteWheelSelectionId(scores, popSize): 161 | """ 162 | A roulette Wheel Selection mechanism for selecting an individual 163 | 164 | Parameters 165 | ---------- 166 | scores : list 167 | The list of fitness values for each individual 168 | popSize: int 169 | Number of chrmosome in a population 170 | 171 | Returns 172 | ------- 173 | id 174 | individualId: The id of the individual selected 175 | """ 176 | 177 | ##reverse score because minimum value should have more chance of selection 178 | reverse = max(scores) + min(scores) 179 | reverseScores = reverse - scores.copy() 180 | sumScores = sum(reverseScores) 181 | pick = random.uniform(0, sumScores) 182 | current = 0 183 | for individualId in range(popSize): 184 | current += reverseScores[individualId] 185 | if current > pick: 186 | return individualId 187 | 188 | def crossover(individualLength, parent1, parent2): 189 | """ 190 | The crossover operator of a two individuals 191 | 192 | Parameters 193 | ---------- 194 | individualLength: int 195 | The maximum index of the crossover 196 | parent1 : list 197 | The first parent individual of the pair 198 | parent2 : list 199 | The second parent individual of the pair 200 | 201 | Returns 202 | ------- 203 | list 204 | offspring1: The first updated parent individual of the pair 205 | list 206 | offspring2: The second updated parent individual of the pair 207 | """ 208 | 209 | # The point at which crossover takes place between two parents. 210 | crossover_point = random.randint(0, individualLength - 1) 211 | # The new offspring will have its first half of its genes taken from the first parent and second half of its genes taken from the second parent. 212 | offspring1 = numpy.concatenate([parent1[0:crossover_point],parent2[crossover_point:]]) 213 | # The new offspring will have its first half of its genes taken from the second parent and second half of its genes taken from the first parent. 214 | offspring2 = numpy.concatenate([parent2[0:crossover_point],parent1[crossover_point:]]) 215 | 216 | return offspring1, offspring2 217 | 218 | 219 | def mutation(offspring, individualLength, lb, ub): 220 | """ 221 | The mutation operator of a single individual 222 | 223 | Parameters 224 | ---------- 225 | offspring : list 226 | A generated individual after the crossover 227 | individualLength: int 228 | The maximum index of the crossover 229 | lb: int 230 | lower bound limit 231 | ub: int 232 | Upper bound limit 233 | 234 | Returns 235 | ------- 236 | N/A 237 | """ 238 | mutationIndex = random.randint(0, individualLength - 1) 239 | mutationValue = random.uniform(lb, ub) 240 | offspring[mutationIndex] = mutationValue 241 | 242 | 243 | def clearDups(Population, lb, ub): 244 | 245 | """ 246 | It removes individuals duplicates and replace them with random ones 247 | 248 | Parameters 249 | ---------- 250 | objf : function 251 | The objective function selected 252 | lb: int 253 | lower bound limit 254 | ub: int 255 | Upper bound limit 256 | 257 | Returns 258 | ------- 259 | list 260 | newPopulation: the updated list of individuals 261 | """ 262 | newPopulation = numpy.unique(Population, axis=0) 263 | oldLen = len(Population) 264 | newLen = len(newPopulation) 265 | if newLen < oldLen: 266 | nDuplicates = oldLen - newLen 267 | newPopulation = numpy.append(newPopulation, numpy.random.uniform(0,1,(nDuplicates,len(Population[0]))) *(ub-lb)+lb, axis=0) 268 | 269 | return newPopulation 270 | 271 | def calculateCost(objf, population, popSize, lb, ub): 272 | 273 | """ 274 | It calculates the fitness value of each individual in the population 275 | 276 | Parameters 277 | ---------- 278 | objf : function 279 | The objective function selected 280 | population : list 281 | The list of individuals 282 | popSize: int 283 | Number of chrmosomes in a population 284 | lb: int 285 | lower bound limit 286 | ub: int 287 | Upper bound limit 288 | 289 | Returns 290 | ------- 291 | list 292 | scores: fitness values of all individuals in the population 293 | """ 294 | scores = numpy.full(popSize, numpy.inf) 295 | 296 | #Loop through individuals in population 297 | for i in range(0,popSize): 298 | # Return back the search agents that go beyond the boundaries of the search space 299 | population[i,:]=numpy.clip(population[i,:], lb, ub) 300 | 301 | # Calculate objective function for each search agent 302 | scores[i] = objf(population[i,:]) 303 | 304 | return scores 305 | 306 | 307 | def sortPopulation(population, scores): 308 | """ 309 | This is used to sort the population according to the fitness values of the individuals 310 | 311 | Parameters 312 | ---------- 313 | population : list 314 | The list of individuals 315 | scores : list 316 | The list of fitness values for each individual 317 | 318 | Returns 319 | ------- 320 | list 321 | population: The new sorted list of individuals 322 | list 323 | scores: The new sorted list of fitness values of the individuals 324 | """ 325 | sortedIndices = scores.argsort() 326 | population = population[sortedIndices] 327 | scores = scores[sortedIndices] 328 | 329 | return population, scores 330 | 331 | 332 | def GA(objf,lb,ub,dim,popSize,iters): 333 | 334 | """ 335 | This is the main method which implements GA 336 | 337 | Parameters 338 | ---------- 339 | objf : function 340 | The objective function selected 341 | lb: int 342 | lower bound limit 343 | ub: int 344 | Upper bound limit 345 | dim: int 346 | The dimension of the indivisual 347 | popSize: int 348 | Number of chrmosomes in a population 349 | iters: int 350 | Number of iterations / generations of GA 351 | 352 | Returns 353 | ------- 354 | obj 355 | s: The solution obtained from running the algorithm 356 | """ 357 | 358 | cp = 1 #crossover Probability 359 | mp = 0.01 #Mutation Probability 360 | keep = 2; # elitism parameter: how many of the best individuals to keep from one generation to the next 361 | 362 | s=solution() 363 | 364 | bestIndividual=numpy.zeros(dim) 365 | scores=numpy.random.uniform(0.0, 1.0, popSize) 366 | bestScore=float("inf") 367 | 368 | ga=numpy.random.uniform(0,1,(popSize,dim)) *(ub-lb)+lb 369 | convergence_curve=numpy.zeros(iters) 370 | 371 | print("GA is optimizing \""+objf.__name__+"\"") 372 | 373 | timerStart=time.time() 374 | s.startTime=time.strftime("%Y-%m-%d-%H-%M-%S") 375 | 376 | for l in range(iters): 377 | 378 | #crossover 379 | ga = crossoverPopulaton(ga, scores, popSize, cp, keep) 380 | 381 | #mutation 382 | mutatePopulaton(ga, popSize, mp, keep, lb, ub) 383 | 384 | ga = clearDups(ga, lb, ub) 385 | 386 | scores = calculateCost(objf, ga, popSize, lb, ub) 387 | 388 | bestScore = min(scores) 389 | 390 | #Sort from best to worst 391 | ga, scores = sortPopulation(ga, scores) 392 | 393 | convergence_curve[l]=bestScore 394 | 395 | if (l%1==0): 396 | print(['At iteration '+ str(l+1)+ ' the best fitness is '+ str(bestScore)]); 397 | 398 | timerEnd=time.time() 399 | s.bestIndividual = bestIndividual 400 | s.endTime=time.strftime("%Y-%m-%d-%H-%M-%S") 401 | s.executionTime=timerEnd-timerStart 402 | s.convergence=convergence_curve 403 | s.optimizer="GA" 404 | s.objfname=objf.__name__ 405 | 406 | return s 407 | 408 | 409 | 410 | -------------------------------------------------------------------------------- /HHO.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Created on Thirsday March 21 2019 4 | 5 | @author: 6 | % _____________________________________________________ 7 | % Main paper: 8 | % Harris hawks optimization: Algorithm and applications 9 | % Ali Asghar Heidari, Seyedali Mirjalili, Hossam Faris, Ibrahim Aljarah, Majdi Mafarja, Huiling Chen 10 | % Future Generation Computer Systems, 11 | % DOI: https://doi.org/10.1016/j.future.2019.02.028 12 | % _____________________________________________________ 13 | 14 | """ 15 | import random 16 | import numpy 17 | import math 18 | from solution import solution 19 | import time 20 | 21 | def HHO(objf,lb,ub,dim,SearchAgents_no,Max_iter): 22 | 23 | #dim=30 24 | #SearchAgents_no=50 25 | #lb=-100 26 | #ub=100 27 | #Max_iter=500 28 | 29 | 30 | # initialize the location and Energy of the rabbit 31 | Rabbit_Location=numpy.zeros(dim) 32 | Rabbit_Energy=float("inf") #change this to -inf for maximization problems 33 | 34 | 35 | #Initialize the locations of Harris' hawks 36 | X=numpy.random.uniform(0,1,(SearchAgents_no,dim)) *(ub-lb)+lb 37 | 38 | #Initialize convergence 39 | convergence_curve=numpy.zeros(Max_iter) 40 | 41 | 42 | ############################ 43 | s=solution() 44 | 45 | print("HHO is now tackling \""+objf.__name__+"\"") 46 | 47 | timerStart=time.time() 48 | s.startTime=time.strftime("%Y-%m-%d-%H-%M-%S") 49 | ############################ 50 | 51 | t=0 # Loop counter 52 | 53 | # Main loop 54 | while t for maximization problem 66 | Rabbit_Energy=fitness 67 | Rabbit_Location=X[i,:].copy() 68 | 69 | E1=2*(1-(t/Max_iter)) # factor to show the decreaing energy of rabbit 70 | 71 | # Update the location of Harris' hawks 72 | for i in range(0,SearchAgents_no): 73 | 74 | E0=2*random.random()-1; # -1=1: 80 | #Harris' hawks perch randomly based on 2 strategy: 81 | q = random.random() 82 | rand_Hawk_index = math.floor(SearchAgents_no*random.random()) 83 | X_rand = X[rand_Hawk_index, :] 84 | if q<0.5: 85 | # perch based on other family members 86 | X[i,:]=X_rand-random.random()*abs(X_rand-2*random.random()*X[i,:]) 87 | 88 | elif q>=0.5: 89 | #perch on a random tall tree (random site inside group's home range) 90 | X[i,:]=(Rabbit_Location - X.mean(0))-random.random()*((ub-lb)*random.random()+lb) 91 | 92 | # -------- Exploitation phase ------------------- 93 | elif abs(Escaping_Energy)<1: 94 | #Attacking the rabbit using 4 strategies regarding the behavior of the rabbit 95 | 96 | #phase 1: ----- surprise pounce (seven kills) ---------- 97 | #surprise pounce (seven kills): multiple, short rapid dives by different hawks 98 | 99 | r=random.random() # probablity of each event 100 | 101 | if r>=0.5 and abs(Escaping_Energy)<0.5: # Hard besiege Eq. (6) in paper 102 | X[i,:]=(Rabbit_Location)-Escaping_Energy*abs(Rabbit_Location-X[i,:]) 103 | 104 | if r>=0.5 and abs(Escaping_Energy)>=0.5: # Soft besiege Eq. (4) in paper 105 | Jump_strength=2*(1- random.random()); # random jump strength of the rabbit 106 | X[i,:]=(Rabbit_Location-X[i,:])-Escaping_Energy*abs(Jump_strength*Rabbit_Location-X[i,:]) 107 | 108 | #phase 2: --------performing team rapid dives (leapfrog movements)---------- 109 | 110 | if r<0.5 and abs(Escaping_Energy)>=0.5: # Soft besiege Eq. (10) in paper 111 | #rabbit try to escape by many zigzag deceptive motions 112 | Jump_strength=2*(1-random.random()) 113 | X1=Rabbit_Location-Escaping_Energy*abs(Jump_strength*Rabbit_Location-X[i,:]); 114 | 115 | if objf(X1)< fitness: # improved move? 116 | X[i,:] = X1.copy() 117 | else: # hawks perform levy-based short rapid dives around the rabbit 118 | X2=Rabbit_Location-Escaping_Energy*abs(Jump_strength*Rabbit_Location-X[i,:])+numpy.multiply(numpy.random.randn(dim),Levy(dim)) 119 | if objf(X2)< fitness: 120 | X[i,:] = X2.copy() 121 | if r<0.5 and abs(Escaping_Energy)<0.5: # Hard besiege Eq. (11) in paper 122 | Jump_strength=2*(1-random.random()) 123 | X1=Rabbit_Location-Escaping_Energy*abs(Jump_strength*Rabbit_Location-X.mean(0)) 124 | 125 | if objf(X1)< fitness: # improved move? 126 | X[i,:] = X1.copy() 127 | else: # Perform levy-based short rapid dives around the rabbit 128 | X2=Rabbit_Location-Escaping_Energy*abs(Jump_strength*Rabbit_Location-X.mean(0))+numpy.multiply(numpy.random.randn(dim),Levy(dim)) 129 | if objf(X2)< fitness: 130 | X[i,:] = X2.copy() 131 | 132 | convergence_curve[t]=Rabbit_Energy 133 | if (t%1==0): 134 | print(['At iteration '+ str(t)+ ' the best fitness is '+ str(Rabbit_Energy)]) 135 | t=t+1 136 | 137 | timerEnd=time.time() 138 | s.endTime=time.strftime("%Y-%m-%d-%H-%M-%S") 139 | s.executionTime=timerEnd-timerStart 140 | s.convergence=convergence_curve 141 | s.optimizer="HHO" 142 | s.objfname=objf.__name__ 143 | s.best =Rabbit_Energy 144 | s.bestIndividual = Rabbit_Location 145 | 146 | return s 147 | 148 | def Levy(dim): 149 | beta=1.5 150 | sigma=(math.gamma(1+beta)*math.sin(math.pi*beta/2)/(math.gamma((1+beta)/2)*beta*2**((beta-1)/2)))**(1/beta) 151 | u= 0.01*numpy.random.randn(dim)*sigma 152 | v = numpy.random.randn(dim) 153 | zz = numpy.power(numpy.absolute(v),(1/beta)) 154 | step = numpy.divide(u,zz) 155 | return step 156 | -------------------------------------------------------------------------------- /functions.py: -------------------------------------------------------------------------------- 1 | import numpy 2 | import math 3 | 4 | # Fonksiyon Blokları 5 | def prod( it ): 6 | p= 1 7 | for n in it: 8 | p *= n 9 | return p 10 | 11 | def Ufun(x,a,k,m): 12 | y=k*((x-a)**m)*(x>a)+k*((-x-a)**m)*(x<(-a)); 13 | return y 14 | 15 | def F1(x): 16 | s=numpy.sum(x**2); 17 | return s 18 | 19 | def F2(x): 20 | o=sum(abs(x))+prod(abs(x)); 21 | return o; 22 | 23 | def F3(x): 24 | dim=len(x)+1; 25 | o=0; 26 | for i in range(1,dim): 27 | o=o+(numpy.sum(x[0:i]))**2; 28 | return o; 29 | 30 | def F4(x): 31 | o=max(abs(x)); 32 | return o; 33 | 34 | def F5(x): 35 | dim=len(x); 36 | o=numpy.sum(100*(x[1:dim]-(x[0:dim-1]**2))**2+(x[0:dim-1]-1)**2); 37 | return o; 38 | 39 | def F6(x): 40 | o=numpy.sum(abs((x+.5))**2); 41 | return o; 42 | 43 | def F7(x): 44 | dim=len(x); 45 | 46 | w=[i for i in range(len(x))] 47 | for i in range(0,dim): 48 | w[i]=i+1; 49 | o=numpy.sum(w*(x**4))+numpy.random.uniform(0,1); 50 | return o; 51 | 52 | def F8(x): 53 | o=sum(-x*(numpy.sin(numpy.sqrt(abs(x))))); 54 | return o; 55 | 56 | def F9(x): 57 | dim=len(x); 58 | o=numpy.sum(x**2-10*numpy.cos(2*math.pi*x))+10*dim; 59 | return o; 60 | 61 | 62 | def F10(x): 63 | dim=len(x); 64 | o=-20*numpy.exp(-.2*numpy.sqrt(numpy.sum(x**2)/dim))-numpy.exp(numpy.sum(numpy.cos(2*math.pi*x))/dim)+20+numpy.exp(1); 65 | return o; 66 | 67 | def F11(x): 68 | dim=len(x); 69 | w=[i for i in range(len(x))] 70 | w=[i+1 for i in w]; 71 | o=numpy.sum(x**2)/4000-prod(numpy.cos(x/numpy.sqrt(w)))+1; 72 | return o; 73 | 74 | def F12(x): 75 | dim=len(x); 76 | o=(math.pi/dim)*(10*((numpy.sin(math.pi*(1+(x[0]+1)/4)))**2)+numpy.sum((((x[1:dim-1]+1)/4)**2)*(1+10*((numpy.sin(math.pi*(1+(x[1:dim-1]+1)/4))))**2))+((x[dim-1]+1)/4)**2)+numpy.sum(Ufun(x,10,100,4)); 77 | return o; 78 | 79 | def F13(x): 80 | dim=len(x); 81 | o=.1*((numpy.sin(3*math.pi*x[1]))**2+sum((x[0:dim-2]-1)**2*(1+(numpy.sin(3*math.pi*x[1:dim-1]))**2))+ 82 | ((x[dim-1]-1)**2)*(1+(numpy.sin(2*math.pi*x[dim-1]))**2))+numpy.sum(Ufun(x,5,100,4)); 83 | return o; 84 | 85 | def F14(x): 86 | aS=[[-32,-16,0,16,32,-32,-16,0,16,32,-32,-16,0,16,32,-32,-16,0,16,32,-32,-16,0,16,32],[-32,-32,-32,-32,-32,-16,-16,-16,-16,-16,0,0,0,0,0,16,16,16,16,16,32,32,32,32,32]]; 87 | aS=numpy.asarray(aS); 88 | bS = numpy.zeros(25) 89 | v=numpy.matrix(x) 90 | for i in range(0,25): 91 | H=v-aS[:,i]; 92 | bS[i]=numpy.sum((numpy.power(H,6))); 93 | w=[i for i in range(25)] 94 | for i in range(0,24): 95 | w[i]=i+1; 96 | o=((1./500)+numpy.sum(1./(w+bS)))**(-1); 97 | return o; 98 | 99 | def F15(L): 100 | aK=[.1957,.1947,.1735,.16,.0844,.0627,.0456,.0342,.0323,.0235,.0246]; 101 | bK=[.25,.5,1,2,4,6,8,10,12,14,16]; 102 | aK=numpy.asarray(aK); 103 | bK=numpy.asarray(bK); 104 | bK = 1/bK; 105 | fit=numpy.sum((aK-((L[0]*(bK**2+L[1]*bK))/(bK**2+L[2]*bK+L[3])))**2); 106 | return fit 107 | 108 | def F16(L): 109 | o=4*(L[0]**2)-2.1*(L[0]**4)+(L[0]**6)/3+L[0]*L[1]-4*(L[1]**2)+4*(L[1]**4); 110 | return o 111 | 112 | def F17(L): 113 | o=(L[1]-(L[0]**2)*5.1/(4*(numpy.pi**2))+5/numpy.pi*L[0]-6)**2+10*(1-1/(8*numpy.pi))*numpy.cos(L[0])+10; 114 | return o 115 | 116 | def F18(L): 117 | o=(1+(L[0]+L[1]+1)**2*(19-14*L[0]+3*(L[0]**2)-14*L[1]+6*L[0]*L[1]+3*L[1]**2))*(30+(2*L[0]-3*L[1])**2*(18-32*L[0]+12*(L[0]**2)+48*L[1]-36*L[0]*L[1]+27*(L[1]**2))); 118 | return o 119 | 120 | def F19(L): 121 | aH=[[3,10,30],[.1,10,35],[3,10,30],[.1,10,35]]; 122 | aH=numpy.asarray(aH); 123 | cH=[1,1.2,3,3.2]; 124 | cH=numpy.asarray(cH); 125 | pH=[[.3689,.117,.2673],[.4699,.4387,.747],[.1091,.8732,.5547],[.03815,.5743,.8828]]; 126 | pH=numpy.asarray(pH); 127 | o=0; 128 | for i in range(0,4): 129 | o=o-cH[i]*numpy.exp(-(numpy.sum(aH[i,:]*((L-pH[i,:])**2)))); 130 | return o 131 | 132 | def F20(L): 133 | aH=[[10,3,17,3.5,1.7,8],[.05,10,17,.1,8,14],[3,3.5,1.7,10,17,8],[17,8,.05,10,.1,14]]; 134 | aH=numpy.asarray(aH); 135 | cH=[1,1.2,3,3.2]; 136 | cH=numpy.asarray(cH); 137 | pH=[[.1312,.1696,.5569,.0124,.8283,.5886],[.2329,.4135,.8307,.3736,.1004,.9991],[.2348,.1415,.3522,.2883,.3047,.6650],[.4047,.8828,.8732,.5743,.1091,.0381]]; 138 | pH=numpy.asarray(pH); 139 | o=0; 140 | for i in range(0,4): 141 | o=o-cH[i]*numpy.exp(-(numpy.sum(aH[i,:]*((L-pH[i,:])**2)))); 142 | return o 143 | 144 | def F21(L): 145 | aSH=[[4,4,4,4],[1,1,1,1],[8,8,8,8],[6,6,6,6],[3,7,3,7],[2,9,2,9],[5,5,3,3],[8,1,8,1],[6,2,6,2],[7,3.6,7,3.6]]; 146 | cSH=[.1,.2,.2,.4,.4,.6,.3,.7,.5,.5]; 147 | aSH=numpy.asarray(aSH); 148 | cSH=numpy.asarray(cSH); 149 | fit=0; 150 | for i in range(0,4): 151 | v=numpy.matrix(L-aSH[i,:]) 152 | fit=fit-((v)*(v.T)+cSH[i])**(-1); 153 | o=fit.item(0); 154 | return o 155 | 156 | def F22(L): 157 | aSH=[[4,4,4,4],[1,1,1,1],[8,8,8,8],[6,6,6,6],[3,7,3,7],[2,9,2,9],[5,5,3,3],[8,1,8,1],[6,2,6,2],[7,3.6,7,3.6]]; 158 | cSH=[.1,.2,.2,.4,.4,.6,.3,.7,.5,.5]; 159 | aSH=numpy.asarray(aSH); 160 | cSH=numpy.asarray(cSH); 161 | fit=0; 162 | for i in range(0,6): 163 | v=numpy.matrix(L-aSH[i,:]) 164 | fit=fit-((v)*(v.T)+cSH[i])**(-1); 165 | o=fit.item(0); 166 | return o 167 | 168 | def F23(L): 169 | aSH=[[4,4,4,4],[1,1,1,1],[8,8,8,8],[6,6,6,6],[3,7,3,7],[2,9,2,9],[5,5,3,3],[8,1,8,1],[6,2,6,2],[7,3.6,7,3.6]]; 170 | cSH=[.1,.2,.2,.4,.4,.6,.3,.7,.5,.5]; 171 | aSH=numpy.asarray(aSH); 172 | cSH=numpy.asarray(cSH); 173 | fit=0; 174 | for i in range(0,9): 175 | v=numpy.matrix(L-aSH[i,:]) 176 | fit=fit-((v)*(v.T)+cSH[i])**(-1); 177 | o=fit.item(0); 178 | return o 179 | 180 | def getFunctionDetails(a): 181 | # [name, lb, ub, dim] 182 | param = { 0: ["F1",-100,100,30], 183 | 1 : ["F2",-10,10,30], 184 | 2 : ["F3",-100,100,30], 185 | 3 : ["F4",-100,100,30] , 186 | 4 : ["F5",-30,30,30], 187 | 5 : ["F6",-100,100,30], 188 | 6 : ["F7",-1.28,1.28,30], 189 | 7 : ["F8",-500,500,30], 190 | 8 : ["F9",-5.12,5.12,30], 191 | 9 : ["F10",-32,32,30], 192 | 10 : ["F11",-600,600,30] , 193 | 11 : ["F12",-50,50,30], 194 | 12 : ["F13",-50,50,30], 195 | 13 : ["F14",-65.536,65.536,2], 196 | 14 : ["F15",-5,5,4], 197 | 15 : ["F16",-5,5,2], 198 | 16 : ["F17",-5,15,2], 199 | 17 : ["F18",-2,2,2] , 200 | 18 : ["F19",0,1,3], 201 | 19 : ["F20",0,1,6], 202 | 20 : ["F21",0,10,4], 203 | 21 : ["F22",0,10,4], 204 | 22 : ["F23",0,10,4], 205 | } 206 | return param.get(a, "nothing") 207 | -------------------------------------------------------------------------------- /kontrol-2019-06-08-19-41-50.csv: -------------------------------------------------------------------------------- 1 | Algoritma,Fonksiyon,Calisma Suresi,Iterasyon - 1,Iterasyon - 2,Iterasyon - 3,Iterasyon - 4,Iterasyon - 5,Iterasyon - 6,Iterasyon - 7,Iterasyon - 8,Iterasyon - 9,Iterasyon - 10,Iterasyon - 11,Iterasyon - 12,Iterasyon - 13,Iterasyon - 14,Iterasyon - 15,Iterasyon - 16,Iterasyon - 17,Iterasyon - 18,Iterasyon - 19,Iterasyon - 20,Iterasyon - 21,Iterasyon - 22,Iterasyon - 23,Iterasyon - 24,Iterasyon - 25,Iterasyon - 26,Iterasyon - 27,Iterasyon - 28,Iterasyon - 29,Iterasyon - 30,Iterasyon - 31,Iterasyon - 32,Iterasyon - 33,Iterasyon - 34,Iterasyon - 35,Iterasyon - 36,Iterasyon - 37,Iterasyon - 38,Iterasyon - 39,Iterasyon - 40,Iterasyon - 41,Iterasyon - 42,Iterasyon - 43,Iterasyon - 44,Iterasyon - 45,Iterasyon - 46,Iterasyon - 47,Iterasyon - 48,Iterasyon - 49,Iterasyon - 50 2 | HHO,F1,1.0254061222076416,46693.92200675707,6472.929570409667,157.74332897136514,58.331385203646036,2.7603843760952818,1.1530540263021687,0.2524627987626378,0.08767448347753931,0.030486101072670413,0.011050373028451448,0.00236236046762218,0.0005123379946836304,1.3606247930690116e-05,1.1637402694287198e-05,3.991447784733424e-06,8.60851389278822e-07,6.440433095760167e-07,2.396003552332802e-07,1.7278699449668146e-07,3.3272659846884296e-08,9.08069340265733e-09,9.08069340265733e-09,1.7946739329351477e-09,5.499738965967655e-10,3.119190260312325e-11,4.804076726797503e-13,4.804076726797503e-13,4.804076726797503e-13,4.804076726797503e-13,3.770768874873098e-13,6.090518910245076e-14,5.486250038615822e-14,2.9587276181783568e-15,4.1560585484463815e-16,1.2815397539165524e-16,1.2815397539165524e-16,5.622135005268981e-17,1.0532109027204198e-17,8.043639971083838e-18,7.048732770751631e-18,6.0455382305179214e-18,4.141005738242847e-18,3.402220093573451e-18,2.796859933395706e-18,2.636503886782173e-18,2.1936068884335396e-18,2.011328659535415e-18,1.969735762618221e-18,1.9224477460086678e-18,1.89855026471238e-18 3 | HHO,F2,1.3992030620574951,97199902.45241913,65.96971999838622,5.838704357146234,3.752741655303254,0.7297364031869145,0.4607618825139401,0.38661169790577365,0.08668728856968522,0.03130435735309963,0.024451905113076735,0.009171836128007276,0.003707775279042011,0.0007545425085546606,0.0007545425085546606,0.0004672308887806037,0.0004672308887806037,0.00020243687678927664,0.00011494836267027915,7.854308725211955e-05,7.854308725211955e-05,5.0251207714306696e-05,4.56909101205267e-05,6.625370013784772e-06,6.07757352629769e-06,5.055589581008965e-06,3.8736188042976504e-06,8.47611075143939e-07,6.738628518598918e-07,6.093913057757536e-08,1.1879410138654967e-08,1.1879410138654967e-08,7.0003696384508664e-09,5.5956223066464596e-09,5.297696127476506e-09,5.297696127476506e-09,1.1466220535013287e-09,1.1466220535013287e-09,6.529436577137087e-10,3.356951214950195e-10,2.4716885168967944e-10,2.0780888924792687e-10,1.7901431078840665e-10,1.694237867751648e-10,1.5248258655747815e-10,1.3817731497276672e-10,1.268183821563393e-10,1.2357147611960374e-10,1.2013322908536677e-10,1.1791454871450044e-10,1.1682329066683616e-10 4 | HHO,F3,6.290983200073242,41944.88068353028,9246.331577409484,3890.9979272593755,384.9560173781448,48.447225246247044,7.883742463439477,1.1498298705267314,0.15539783625340806,0.10024479010155112,0.04744717976987569,0.003529258355301026,0.003529258355301026,0.003529258355301026,0.003529258355301026,0.002571474034941242,0.002061071020005414,0.00012853981844491413,2.1453272890540893e-05,1.7691380565848553e-05,1.7691380565848553e-05,1.7691380565848553e-05,8.915697938129363e-07,2.786723652333053e-07,1.4307850076110764e-07,2.19757002307645e-08,2.19757002307645e-08,1.3708448803232316e-08,5.6083709161835625e-09,4.0146015109837004e-10,4.0146015109837004e-10,2.9733398929588608e-12,2.9733398929588608e-12,2.9025126426166774e-12,2.8695992105756053e-12,1.0033910108995954e-13,1.0033910108995954e-13,1.0033910108995954e-13,1.0015841622786211e-13,1.0015841622786211e-13,1.0003631892466161e-13,1.0001455696901015e-13,9.97665963780893e-14,9.949477210807292e-14,9.932712862195191e-14,9.884158344859128e-14,9.867158932634314e-14,9.855023039776729e-14,9.843827405519862e-14,9.838550115192019e-14,9.82455253412754e-14 5 | HHO,F4,1.0813767910003662,81.7381335547209,40.223566938781936,6.401869402668735,2.629295818374583,0.8582209726306518,0.21314662416030483,0.020024749332218206,0.013135379969494222,0.010746697581138734,0.0060795616857901875,0.0018452339132609893,0.0008582338153871816,0.0008582338153871816,0.000566436591632266,0.00048318391721279957,0.0002849728885459851,0.00019009415752187394,0.0001488792952065013,6.83840375377077e-05,6.525143434512821e-05,4.5115858681460494e-05,1.808273939210724e-05,9.758051441966225e-06,3.444747611954477e-06,1.479239848596308e-06,4.873619807229115e-07,1.8735914235910228e-07,1.444993126218297e-08,1.444993126218297e-08,1.3609742520637461e-08,9.995606278201785e-09,7.804548733439633e-09,6.693005916758449e-09,2.306867345101619e-09,2.306867345101619e-09,1.667595868041127e-09,1.667595868041127e-09,1.5119793083663504e-09,1.392363378172893e-09,2.726456277086436e-10,9.672780481763324e-11,6.461826103092513e-11,4.143340503311752e-11,3.998140377527053e-11,3.978729953444161e-11,3.918759691351924e-11,3.8535103214267264e-11,3.845413949600965e-11,3.842652996293041e-11,3.842374487375242e-11 6 | HHO,F5,1.379194736480713,173738132.0427019,5174122.084741873,6427.209969588355,640.6551156876927,94.94829817270336,35.18703095525291,30.166302646012763,1.8026910386350474,1.452949796924259,1.4493548728564716,1.2547673770528112,1.1913272786812499,1.1913272786812499,1.1110824864287492,0.8684294261241345,0.481297619949913,0.41413254501676816,0.011789196194251965,0.011789196194251965,0.011047031164328248,0.010773227185862213,0.010018818317284014,0.009630610965824536,0.009630610965824536,0.0091376664790146,0.006066372334810604,0.004769577414417961,0.004414632999814171,0.004386772758087415,0.004314902305235324,0.003961202182205749,0.003757203924764513,0.0035323673734752124,0.0034282795111092623,0.003024577226771659,0.0029881258101413653,0.002922069548159536,0.002898109152965473,0.0028840272894386375,0.002877152826170083,0.002869469211852978,0.0028634723279477013,0.0028469710730671563,0.0028388549288414244,0.002830444064619291,0.0028170074755743866,0.002807615897302465,0.0028018608171957835,0.0027952485864629266,0.0027920048884182225 7 | HHO,F6,1.1543257236480713,57339.238435917185,8937.401695017155,197.45222650985352,28.021122248452937,4.757145804020093,0.8610178501731589,0.6997010928018547,0.27754663662667733,0.0851864288695707,0.06306437601212055,0.06134246144904523,0.0238484294461631,0.0026146620056550197,0.0022536766372162884,0.0015427840259315871,0.001474561431047963,0.0012137128946344475,0.001203258312051044,0.0007778716906068949,0.000666183472712561,0.0005751353504630391,0.0005229377604136417,0.0003617833399091387,0.00025575501307096356,0.00022760835752647088,0.00014961764360349233,0.00011705079714734756,7.915996936555853e-05,6.0867875663034384e-05,5.9641741686675645e-05,4.54269705513282e-05,4.222061055989786e-05,3.793997650459772e-05,3.7174413100745336e-05,2.900983268716117e-05,2.7084262055743787e-05,2.5993118917412616e-05,2.167426735433424e-05,1.765985252008462e-05,1.369163823275578e-05,9.932023006463367e-06,6.2528033176002615e-06,4.656510378628903e-06,3.6028889183545007e-06,2.533965840149897e-06,1.668455404412975e-06,1.2443836341412313e-06,1.1505118583373604e-06,1.1414661734489425e-06,1.1356653655753476e-06 8 | HHO,F7,1.6380484104156494,77.09050258018384,2.47495801937102,0.02922791524275175,0.019735986150868655,0.0069137962040754985,0.00407601054121036,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0007466512647340505,0.0005029111085263144,0.0005029111085263144,0.0005029111085263144,0.0005029111085263144,0.0005029111085263144,0.0005029111085263144,0.0005029111085263144,0.0005029111085263144,0.0005029111085263144,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,4.2943427189367693e-05,2.478577856922789e-05,2.478577856922789e-05,2.478577856922789e-05,2.478577856922789e-05,2.478577856922789e-05,2.478577856922789e-05,2.478577856922789e-05,2.478577856922789e-05,2.478577856922789e-05,2.478577856922789e-05 9 | HHO,F8,1.2582762241363525,-2973.8772979437845,-3796.927514954436,-5139.261687588778,-8008.063193859009,-12044.2631780385,-12251.980298331908,-12312.060072087206,-12540.014624353069,-12540.28042264213,-12542.268632850722,-12552.038979287767,-12568.538429027845,-12568.77680674772,-12568.806047653432,-12568.808135972617,-12568.812933336334,-12568.812933336334,-12568.813704454042,-12568.860128821689,-12569.39453836099,-12569.441772798029,-12569.465636296703,-12569.466393912862,-12569.466798401983,-12569.466798401983,-12569.466830259678,-12569.466830259678,-12569.466830259678,-12569.466832819111,-12569.466832819111,-12569.466833501454,-12569.466833501454,-12569.4668344759,-12569.4668344759,-12569.466834524786,-12569.466834530676,-12569.466834538765,-12569.466834538765,-12569.466834538867,-12569.466834539015,-12569.466834539016,-12569.466834546518,-12569.466834555802,-12569.466834627225,-12569.466834649449,-12569.46683472439,-12569.466834743238,-12569.466834757586,-12569.466834786548,-12569.46683480055 10 | HHO,F9,1.1503262519836426,398.14645772137953,283.5657962877972,90.02837087891174,7.199130866089035,0.441989126945316,0.2965480988041236,0.017945602574741315,0.0005779418103770695,0.0005779418103770695,7.395204346494211e-05,5.129345288423792e-05,3.7931692475012824e-05,3.490135327410826e-06,3.39255058179333e-06,8.38100731925806e-07,6.409607067325851e-08,6.409607067325851e-08,9.762970876181498e-09,9.762970876181498e-09,3.384229785297066e-09,1.2020109352306463e-09,7.12361725163646e-10,7.12361725163646e-10,4.276330400898587e-10,1.368789526168257e-10,3.200284481863491e-11,5.4569682106375694e-12,9.663381206337363e-13,1.1368683772161603e-13,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 11 | HHO,F10,1.8309330940246582,20.468666197111762,13.813270266780162,5.594119248574451,4.07654023203429,1.293611434187444,0.24121123453086613,0.039904613870060945,0.0362632984150264,0.005343209994699283,0.0029849766629372887,0.0021804428835854317,0.0011478098612731635,0.0010731028122354935,0.0005556697822268752,0.0005556697822268752,0.00013466172331577653,1.408097651678375e-05,1.408097651678375e-05,1.408097651678375e-05,1.408097651678375e-05,2.9043119345040225e-06,1.6512912712762784e-06,6.847659688169472e-07,2.6463902758067093e-07,4.755146365553742e-08,4.755146365553742e-08,4.755146365553742e-08,3.966839345892481e-08,1.11142424152888e-08,1.0165287722685434e-08,4.565400946177078e-09,1.608861044388732e-09,5.873848074600119e-10,5.229421340402496e-10,3.676423609988433e-10,2.670614840383223e-10,2.670614840383223e-10,2.2836177393514845e-10,4.835687406057332e-12,4.835687406057332e-12,4.835687406057332e-12,4.590550162220097e-12,4.128697383976032e-12,4.100275674545628e-12,3.7343461656291765e-12,3.681055460447169e-12,3.4003910798219295e-12,2.871036741680655e-12,2.7040591987770313e-12,2.6827429167042283e-12 12 | HHO,F11,2.02785325050354,477.15694157861697,64.05552859368498,2.4746314018094155,1.2033729605633805,1.0344504045719602,0.3622047753820635,0.039556613360993476,0.005347621250534007,0.0008277658052719961,0.0001233690016632094,0.00010179613195149262,9.78374581328545e-06,5.958434828867709e-07,5.958434828867709e-07,5.468672072961311e-07,3.254698206500706e-07,1.4446645579813122e-07,3.5658348163103426e-08,5.9777822691842175e-09,5.9777822691842175e-09,3.933326220284528e-09,5.785045775752451e-10,1.7086643211428054e-10,1.705990904099508e-10,1.705990904099508e-10,9.002909528987857e-11,6.05069327974661e-11,1.7505996652289468e-12,9.390266342279574e-13,6.95221658020273e-13,5.92081939032596e-13,5.395683899678261e-14,2.3869795029440866e-14,1.021405182655144e-14,7.66053886991358e-15,4.6629367034256575e-15,7.771561172376096e-16,2.220446049250313e-16,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 13 | HHO,F12,2.9723339080810547,318469376.52761686,240951.2978698617,3.1277967806700184,0.045862546690425075,0.023816432810423217,0.012027022652817979,0.003924277339756427,0.002190894216758139,0.0020969402671107257,0.0016302691074562318,0.0014164995992241856,0.0014128580840397074,0.0013160061100877998,0.0009869288791834196,0.0008603937394834568,0.00021536671503242626,0.000208880763767495,0.00018116463477448687,8.253031057219489e-05,5.59166330183062e-05,3.306830322139133e-05,2.0369761825984862e-05,5.90963025869864e-06,5.025838970348508e-06,3.008931781068213e-06,2.401068725507355e-06,2.32525021855319e-06,2.2146233365263678e-06,2.1711932817394925e-06,2.09278995192852e-06,2.010655066483948e-06,2.002381070057525e-06,1.9978120702346333e-06,1.979434268824204e-06,1.975093761843735e-06,1.9476667399286778e-06,1.9315848570368056e-06,1.9157407326232215e-06,1.9000491006105522e-06,1.8865211041955432e-06,1.8755145053933067e-06,1.8498046637876501e-06,1.8358212341970775e-06,1.8227428131741903e-06,1.8090652684484633e-06,1.7946664736472833e-06,1.7868011998635075e-06,1.7823497985092422e-06,1.776588582941516e-06,1.7743486185744176e-06 14 | HHO,F13,2.8407998085021973,690973085.8859594,3481706.914012874,4.625940627328633,0.9981269031799794,0.596891727270339,0.14928554213493878,0.03446424230501887,0.018014569442134566,0.008381472363546269,0.0058194712912436365,0.003599266721236153,0.0009515864634039105,0.0009136408260758486,0.0007236487185854638,0.0006167831806165482,0.0005879565980947899,0.0005872962613670686,0.0005597531033741675,0.0005546877003126409,0.0005092719028678459,0.00033372063749536403,0.0002520129605023965,0.0002181060227919298,0.00017585957024320901,0.00014253575128875788,0.0001334411900240273,2.6383979780085116e-05,2.532011163743772e-05,2.2483934745577445e-05,2.129266267784886e-05,2.0158064430460488e-05,2.007912233632693e-05,1.9872386239070714e-05,1.9758759423061477e-05,1.9748974212079824e-05,1.9718373256830415e-05,1.9670237607819287e-05,1.9599061435410876e-05,1.948556361696598e-05,1.9171301068054395e-05,1.905385472325016e-05,1.8884771554354536e-05,1.871928447605865e-05,1.8618637062742708e-05,1.8465734929263734e-05,1.835831292823216e-05,1.829095060708664e-05,1.8233705238576115e-05,1.819464906680141e-05,1.816057483092289e-05 15 | HHO,F14,21.545005559921265,11.74357334061469,6.003005828540784,2.603327098920633,0.9983883549591739,0.9980541029962404,0.9980509343371933,0.998033470086973,0.9980042974868966,0.9980039634852298,0.9980038616999152,0.9980038616999152,0.9980038470906356,0.9980038468636141,0.9980038462097118,0.9980038461778736,0.9980038461778736,0.9980038461778736,0.9980038461332563,0.9980038461058522,0.9980038460943411,0.9980038460807544,0.9980038460742334,0.9980038413560067,0.9980038413341804,0.998003840750574,0.9980038407199253,0.9980038405403725,0.9980038404819014,0.998003840470791,0.9980038403819612,0.9980038403553454,0.9980038388734223,0.9980038379120648,0.9980038378320794,0.9980038378021842,0.998003837797945,0.9980038377976677,0.9980038377972126,0.9980038377971391,0.9980038377970378,0.9980038377969186,0.9980038377968989,0.9980038377968729,0.9980038377968551,0.9980038377968352,0.9980038377968268,0.9980038377968167,0.9980038377968133,0.9980038377968091,0.9980038377945148 16 | HHO,F15,1.8119401931762695,0.016738467746770718,0.002452198441005581,0.001908202475923699,0.0014910122847658388,0.0012532514666283956,0.0008842088722526879,0.0003565293269237996,0.0003263217323323043,0.0003102470428724654,0.00030941869561972333,0.00030913118479068897,0.0003088744366012086,0.0003088744366012086,0.00030882887924912704,0.000308762108064028,0.000308762108064028,0.0003087252796846006,0.0003087252796846006,0.0003087252796846006,0.0003087250016573335,0.0003087250016573335,0.00030872485596194463,0.0003087163312722603,0.0003087163312722603,0.00030871589544753485,0.0003087149863446458,0.00030871394140183497,0.00030871365299108537,0.00030871319247882634,0.00030871319247882634,0.0003087091395555545,0.00030870835177399403,0.0003082133834400945,0.0003080728056269533,0.00030803494036855174,0.0003080136630688922,0.0003079778296114618,0.0003079562738832635,0.0003078350166366613,0.0003077879777452158,0.0003077662082493081,0.00030775302257906597,0.00030773242611136214,0.0003077185947091012,0.00030769544104941983,0.00030768343042586596,0.0003076760990882815,0.0003076701720098656,0.00030766608956982346,0.00030766288440122375 17 | HHO,F16,0.7795541286468506,-0.5872147527869878,-1.0298423377143753,-1.0300595938602641,-1.030098105915819,-1.0308497978028435,-1.0313828225956896,-1.0314696684903504,-1.0314718069610358,-1.031480102939258,-1.031483927029655,-1.031484084228913,-1.0314954127437685,-1.031601873429223,-1.031607406788324,-1.0316282434199642,-1.0316282434199642,-1.0316283578401546,-1.0316283578401546,-1.0316283578401546,-1.0316283976393699,-1.0316284410463372,-1.031628446099637,-1.031628446099637,-1.031628446099637,-1.031628446099637,-1.031628446099637,-1.031628446099637,-1.0316284528711255,-1.0316284532496054,-1.0316284532496054,-1.0316284532496054,-1.0316284532496054,-1.0316284532683413,-1.0316284533093685,-1.0316284533368294,-1.0316284533449784,-1.0316284533454974,-1.0316284533545634,-1.0316284533577817,-1.0316284533583389,-1.0316284533606555,-1.0316284533785938,-1.031628453406682,-1.0316284534133373,-1.0316284534242997,-1.031628453433051,-1.0316284534365736,-1.031628453445865,-1.0316284534566116,-1.0316284534622857 18 | HHO,F17,0.9274554252624512,0.7336303000521518,0.4393802011826242,0.3979706646282235,0.3979706646282235,0.3979572464104173,0.3979572464104173,0.39795337735591296,0.39792021386274357,0.39790470125299393,0.3978979119386885,0.397891794921744,0.397891794921744,0.397891794921744,0.397891794921744,0.39788825634616565,0.39788825634616565,0.39788773780495745,0.39788769046802486,0.39788763716138753,0.39788763716138753,0.39788763716138753,0.39788763716138753,0.39788763716138753,0.3978875790731493,0.39788755061470127,0.39788747962917626,0.39788747869788743,0.39788747869788743,0.3978874774721053,0.3978874774721053,0.39788747399228974,0.39788747189733087,0.39788747189733087,0.39788747095046517,0.39788746492135907,0.39788746492135907,0.39788746492135907,0.39788746492135907,0.39788746456532387,0.39788746372378725,0.3978874631303011,0.3978874629985487,0.3978874628331326,0.39788746243770845,0.39788746206092895,0.3978874297557251,0.3978874061918152,0.39788739929694117,0.39788739389578076,0.39788739007992824 19 | HHO,F18,1.0553948879241943,3.473167988883223,3.1835433504434287,3.0593473473182646,3.0004145135962443,3.000116122398181,3.0000973518776366,3.0000813215976003,3.0000593262334,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000577510397646,3.0000567407553467,3.000038687836162,3.000038687836162,3.000038687836162,3.0000017615738175,3.0000017615738175,3.0000006964582018,3.000000630991774,3.000000630991774,3.0000006113354987,3.000000600306008,3.0000005965431593,3.0000005965431593,3.0000005965431593,3.00000059649158,3.00000059649158,3.00000059649158,3.0000005963952487,3.0000002339998404,3.0000001748153924,3.000000068634352,3.000000047653877,3.000000008925281,3.000000004388439,3.0000000018660327,3.0000000000023626,3.000000000000055,2.999999999999955,2.9999999999999427,2.9999999999999427,2.999999999999942 20 | HHO,F19,2.701305627822876,-3.827258311029804,-3.8436984461428745,-3.847400413951884,-3.853747879122946,-3.8537691224449118,-3.853818244632838,-3.8540212728091197,-3.8540256508968884,-3.8540256508968884,-3.854045329114115,-3.8540453623340625,-3.8540635210757976,-3.8541050399400154,-3.8541284787370875,-3.8541551299504677,-3.8541556323896904,-3.8543517046050835,-3.85461895091057,-3.8547028137860386,-3.854718282086453,-3.854742876611206,-3.8548523040771685,-3.8548523040771685,-3.854864891047497,-3.85486521643426,-3.8548680823926142,-3.8548816705327527,-3.8548954963400144,-3.854899939105799,-3.85490052432272,-3.8549006951918745,-3.854909050144033,-3.8549124992071424,-3.85491875182359,-3.8549272854434156,-3.854930139701038,-3.8549316889783736,-3.8549326614459734,-3.854933969596361,-3.8549349703024878,-3.8549370502306792,-3.8549373488843957,-3.854968498134062,-3.855366182784042,-3.860292139685994,-3.8612073075388738,-3.8619012766821808,-3.862353541842378,-3.862494911210409,-3.8626114386569994 21 | HHO,F20,2.817389965057373,-2.730539938386935,-2.959446705458223,-2.98587475126042,-3.0194360079961426,-3.035284261098627,-3.0375391540218315,-3.0516398825046993,-3.062815869019686,-3.063224862142626,-3.063295109522974,-3.0633047695737328,-3.0633217224532605,-3.0633889230163187,-3.0635701220134854,-3.063611048525979,-3.0636251159857855,-3.063657320172236,-3.06371479110986,-3.063856640393114,-3.063921852313272,-3.0639229748888352,-3.063935383286606,-3.0639821483830385,-3.064012355626055,-3.064107641849158,-3.064342113630092,-3.0756588688044864,-3.1575087586396573,-3.1717493087213287,-3.1729813803019686,-3.173218667962178,-3.1734294104878145,-3.1739365011467173,-3.173947866450689,-3.173969447494808,-3.174501929815954,-3.1761693499490398,-3.1774370371895757,-3.178957031148061,-3.180053419732721,-3.1817181382792543,-3.183160653127239,-3.1846921381913647,-3.186310819769863,-3.187741283533821,-3.189102521178688,-3.1901028706627077,-3.1906584640724605,-3.1909223693140922,-3.1924886798369765 22 | HHO,F21,10.026342630386353,-0.9629178244191413,-2.4148818998472357,-4.446537956070232,-4.657446072041922,-4.86213671997549,-4.99008292665167,-4.997107810282158,-5.0318389294495285,-5.036588338120369,-5.0394553350524465,-5.039784404498697,-5.039928045788536,-5.039928045788536,-5.039928045788536,-5.040041716272892,-5.040041716272892,-5.040064934811308,-5.040124505583381,-5.040189996768389,-5.040193154666611,-5.040196880190848,-5.040198689190542,-5.0401989346484655,-5.040199266431793,-5.04019944919679,-5.04019944919679,-5.040199455442165,-5.0402062795381815,-5.040209684967824,-5.040212048296251,-5.040212218643911,-5.042259309684655,-5.042679455743616,-5.0427256333763415,-5.042735941511109,-5.042737516936456,-5.042739886330814,-5.042741003979413,-5.0427418654621405,-5.042743273313033,-5.042744730510442,-5.0427461736381405,-5.0427470223776565,-5.042747762023792,-5.042748192587018,-5.042748658193589,-5.042749020268109,-5.042749279567186,-5.042749515316705,-5.042749575034207 23 | HHO,F22,12.73371934890747,-0.9408017715673671,-2.8674441920140072,-4.640344393477691,-5.733594822560658,-8.042628056853095,-9.016872859180108,-9.165329294784216,-9.819862660691054,-9.833392489177696,-9.870145685318297,-9.888768423631623,-9.904269462632735,-9.904269462632735,-9.904269462632735,-9.904296250073473,-9.986352166362835,-10.067021660721949,-10.067034839933417,-10.067049978001902,-10.067049978001902,-10.090203614570735,-10.098894155403082,-10.10267165598026,-10.107984797160798,-10.112591505112613,-10.114452046930994,-10.114646560525664,-10.115081451145413,-10.115218385920633,-10.115237334171342,-10.115240336498358,-10.115240336498358,-10.115240336498358,-10.115240345789081,-10.115240345789081,-10.125618371816213,-10.151703593078999,-10.156429149041887,-10.159009491780912,-10.161657858705619,-10.163822167524666,-10.168267221446937,-10.16924060839012,-10.169361395486233,-10.169447602487462,-10.169480099739168,-10.169494564087328,-10.16951018584146,-10.169517013330031,-10.169522228261952 24 | HHO,F23,19.04956841468811,-1.108045287744409,-1.969324021784795,-3.505102372204228,-4.10150244417531,-4.212340434772042,-4.306505461335797,-4.475923192153302,-4.553113871905912,-4.683378664829808,-5.027059958347501,-5.077908632176556,-5.107589855050508,-5.116674537946137,-5.116674537946137,-5.116674537946137,-5.116677481581321,-5.116677645154384,-5.116678369719483,-5.116678369719483,-5.116678378593003,-5.116678380940232,-5.116678380940232,-5.116678380940232,-5.116683593447214,-5.11668431582134,-5.11668431582134,-5.116684409101258,-5.116751189676987,-5.116767432511204,-5.1167745811978795,-5.116782650802467,-5.116783220189403,-5.116783605900512,-5.116783790944572,-5.1167838936427685,-5.116784906162117,-5.116785845453466,-5.11678686319909,-5.116788186780924,-5.116789249417201,-5.116790294238295,-5.116790941686538,-5.116791824586908,-5.116792413941083,-5.116793043680824,-5.116793772670177,-5.11679422903554,-5.116794525296167,-5.1167947931163695,-5.116794953748375 25 | -------------------------------------------------------------------------------- /kontrol-2019-06-08-20-34-32.csv: -------------------------------------------------------------------------------- 1 | HHO,F1,1.0723719596862793,52169.91666391959,8324.686674598317,203.6541743654122,14.035832243599053,8.803790821059653,1.1970395635032687,0.17815854368300732,0.10265596614188036,0.0062306754952229865,0.001393696941157044,0.0002376701383287208,1.9562464101544234e-05,5.185309908046454e-06,5.185309908046454e-06,1.7178309366942783e-06,7.065008016713241e-07,6.171372868097787e-07,6.839076496809431e-08,2.8617445337062074e-08,2.8617445337062074e-08,9.642689580155243e-09,3.6724667958811162e-09,2.4062552775171915e-13,2.4062552775171915e-13,2.4062552775171915e-13,2.4062552775171915e-13,2.4062552775171915e-13,2.4062552775171915e-13,2.2156007207098408e-13,4.3518507469751095e-15,3.5338334232872854e-15,3.5338334232872854e-15,3.5338334232872854e-15,4.892331288529924e-17,1.721079283313594e-17,1.0810657211950649e-17,4.6794541857312656e-18,3.557799277877276e-18,3.4011666191966885e-18,3.3320230087345846e-18,2.8101434378118578e-18,2.5211083690731848e-18,2.380912260845962e-18,2.300402913927211e-18,2.2099052847413474e-18,2.1383470509749265e-18,2.109247248323774e-18,2.0638385535273222e-18,2.0423920328828395e-18,2.029453842952497e-18 2 | HHO,F2,1.2968320846557617,30218525.96685839,41.258550682880696,8.262638534628131,4.012972355943258,1.2126347084311015,0.5301513969788583,0.5179197327238644,0.12626819284060167,0.017806681968080742,0.009842829570220259,0.002686786939277613,0.00042814545041429245,0.00042814545041429245,0.0002336495063804847,3.290482402364402e-05,3.290482402364402e-05,3.290482402364402e-05,2.631102444289937e-05,9.21686892563294e-06,7.339009690379395e-06,3.262557511401661e-07,2.1187730761746064e-07,2.1187730761746064e-07,2.1187730761746064e-07,2.1170949933744847e-07,3.425314502572755e-08,2.24890309120108e-08,1.4549093408477513e-08,2.268335616380297e-09,2.268335616380297e-09,2.268335616380297e-09,2.268335616380297e-09,1.6290198348697087e-09,1.6290198348697087e-09,5.113824204986673e-10,5.113824204986673e-10,1.1424728352909995e-10,1.0206743982027071e-10,8.212653666242664e-11,6.111045398070411e-11,5.6585824756340634e-11,4.6591113413216104e-11,3.88899090558938e-11,3.572749464519587e-11,3.158023188254727e-11,3.050555380748275e-11,2.8769060774454387e-11,2.8138091006086333e-11,2.7747869582732145e-11,2.7352480633353236e-11 3 | HHO,F3,5.9835615158081055,64033.855246426116,14679.970970500119,2460.6492127048223,1497.2398757696642,226.98892639731739,129.57626939473408,8.839121711347,8.839121711347,0.49655786572654564,0.49655786572654564,0.152929333135503,0.04766377634451777,0.021060642215466118,0.00017851727201780113,0.00017851727201780113,0.00017851727201780113,6.721085431496536e-05,6.721085431496536e-05,3.199326128343357e-05,3.199326128343357e-05,3.199326128343357e-05,1.9000733529391496e-06,1.9000733529391496e-06,1.3869397985418457e-06,1.3869397985418457e-06,9.981156835477098e-07,2.223396029219765e-07,1.2812330700469938e-07,1.1106615332304453e-07,1.1106615332304453e-07,5.483236280517432e-08,4.096755901965704e-08,2.594522339359968e-08,6.39888936624248e-09,5.663692602655102e-10,7.453690261681415e-11,6.941907710988196e-11,1.8397025668029115e-11,1.8397025668029115e-11,1.7062206382592114e-11,1.7025057630543407e-11,1.691446387258895e-11,1.6724942953603942e-11,1.6535625165262557e-11,1.644452418683357e-11,1.6250061715024126e-11,1.6100588139462168e-11,1.5994496105709716e-11,1.5929009323216928e-11,1.5917700680047204e-11 4 | HHO,F4,0.9534657001495361,76.3554333443387,33.69587348946223,5.910705029816206,2.370077820445367,0.8022423312032055,0.19700210757078196,0.013161071208756897,0.012624247780953252,0.0074285291207158355,0.004384595451142533,0.0014833785541414253,0.0008495448509017768,0.0008495448509017768,0.0008495448509017768,0.00014094815638690137,0.00012395597713759737,0.00012395597713759737,5.921198082686702e-05,2.4616741709452397e-05,2.4616741709452397e-05,1.2746961181975611e-05,1.0043440318284003e-05,3.130072849627703e-06,3.130072849627703e-06,2.9454817105643835e-06,1.427257006507346e-06,2.883001215251255e-07,2.3182055363342113e-07,1.4642338543786712e-07,5.9287476308926865e-08,5.9287476308926865e-08,2.1189264548119216e-08,9.875613693349745e-09,2.4144087118813433e-09,1.9270970272494684e-09,1.4251607051778027e-09,7.515895124776731e-10,4.775323668123418e-10,4.4161096796572316e-10,4.100149230202512e-10,3.953480565534864e-10,3.9417883253147727e-10,3.938026089262997e-10,3.935986439519886e-10,3.935986439519886e-10,3.935986439519886e-10,3.935986439519886e-10,3.9359751683246795e-10,3.9359745846156744e-10,3.9359745282872885e-10 5 | HHO,F5,1.2304790019989014,203548502.278645,12815477.842135953,26263.529446872057,1586.6925063503706,264.89541334696753,31.031540826438412,11.385521773509076,9.148099539909035,8.73041942957388,3.8871968171459805,1.168874468037525,0.9594076646244656,0.6522681895692859,0.6170830951246032,0.6083390900744681,0.433894122291003,0.2889491518121943,0.1886184851094734,0.07924018138059374,0.06763983143257607,0.06256830165331223,0.06256830165331223,0.06254741828662647,0.06254741828662647,0.06254741828662647,0.06254741828662647,0.06254741828662647,0.061089313702039225,0.06054721480183821,0.059769010588839926,0.0593480068663599,0.058697899876154765,0.05766343606097131,0.0567289693270746,0.055916521960602004,0.05542711038141563,0.0552357942342109,0.054867601003661184,0.054667148382007445,0.054462787097934444,0.05428417224767866,0.054143062198078615,0.05393231083839458,0.05379192407972289,0.05365082605338169,0.05349207669331384,0.053373018056548885,0.053237115048418784,0.05317081747234603,0.053118301100831114 6 | HHO,F6,1.003974199295044,53346.7793066747,9687.225014132182,123.06945411473889,38.98715539509522,0.7197267774471916,0.3735238605443463,0.29595672258250194,0.1645459739267019,0.08018506646295352,0.0358153267184871,0.02611480956062246,0.02357151430831368,0.01024056531960484,0.001738901346961149,0.0016881815094814102,0.0016131698274052782,0.0015902658127703634,0.0015018072903169707,0.0014835016480873628,0.001402430179318528,0.001309397098477332,0.0012754948594306174,0.0010810495497363406,0.0010037338947190542,0.00032278699021512743,6.621634324070207e-05,1.3941538436470063e-05,6.232215658585723e-06,3.8408117850436396e-06,2.658834318483948e-06,2.3084990940223578e-06,2.2953308044933025e-06,2.2783485170275374e-06,2.2645521888813997e-06,2.260387652059518e-06,2.259780501089737e-06,2.2594295766141053e-06,2.2582486694687875e-06,2.2568801973105714e-06,2.2542117317338273e-06,2.253314864800962e-06,2.2524828136429876e-06,2.2518117954220345e-06,2.2505132762496975e-06,2.2494594844602178e-06,2.2480576673836843e-06,2.2471490214976737e-06,2.2463509099973693e-06,2.245704299909486e-06,2.2453085506833275e-06 7 | HHO,F7,1.4762017726898193,75.73118631952501,3.083534837958488,0.0424119884480888,0.009794859591476905,0.009794859591476905,0.007058364305892856,0.007058364305892856,0.002576605468564977,0.002576605468564977,0.002576605468564977,0.002576605468564977,0.002576605468564977,0.002576605468564977,0.002576605468564977,0.002576605468564977,0.002576605468564977,0.002576605468564977,0.0012328663193077259,0.0012328663193077259,0.0012328663193077259,0.0012328663193077259,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,2.1546161842045557e-05,5.600172076996842e-06,5.600172076996842e-06,5.600172076996842e-06,5.600172076996842e-06,5.600172076996842e-06,5.600172076996842e-06,5.600172076996842e-06,5.600172076996842e-06,5.600172076996842e-06,5.600172076996842e-06 8 | HHO,F8,1.1424825191497803,-3137.6165759236724,-5194.910907089195,-5595.049093294623,-7092.163221096472,-8085.764982087666,-10321.22571249067,-10888.678270495868,-11887.113401170853,-12391.356304036213,-12517.499571247658,-12563.254740015458,-12567.22638151311,-12567.549930101224,-12568.88133371352,-12568.882907363368,-12568.882907363368,-12568.882907363368,-12568.89352990743,-12568.89352990743,-12568.893598051702,-12568.893598051702,-12568.893598051702,-12568.893598051702,-12568.893598051702,-12568.893598051702,-12568.893598051702,-12568.961020775994,-12569.155278873543,-12569.218069775865,-12569.21847925779,-12569.22308560945,-12569.224790155064,-12569.25957800948,-12569.279802725421,-12569.28292384894,-12569.290530823202,-12569.293985415892,-12569.300285018078,-12569.303879613744,-12569.316136399582,-12569.323896697815,-12569.3290741191,-12569.336858265575,-12569.343998404036,-12569.348260794523,-12569.352480468695,-12569.35480589864,-12569.358251622702,-12569.359494562214,-12569.360451540348 9 | HHO,F9,1.1762723922729492,368.8432729895402,276.96847589508184,107.32480398195281,45.62878769506034,8.413828854281917,3.0174769484617627,0.15241483176146176,0.02874135563689606,0.0005598876232397743,8.200590497153826e-05,3.0816864693861135e-05,2.7849964112647285e-06,2.7849964112647285e-06,6.870669722047751e-08,6.870669722047751e-08,6.870669722047751e-08,3.790773916989565e-08,3.790773916989565e-08,6.702407517877873e-10,5.547917680814862e-10,5.547917680814862e-10,1.864464138634503e-11,2.2737367544323206e-13,2.2737367544323206e-13,2.2737367544323206e-13,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 10 | HHO,F10,1.5842714309692383,20.441040450107668,15.470016841604128,3.2172136470502797,2.3595950152030487,0.36482254928495594,0.12239420447777904,0.03898031843800043,0.013121855496980306,0.00492044302889072,0.0030471050564675473,0.0015548498485888906,0.0009017160179607409,0.0005122801138068844,0.0005122801138068844,0.0003302468725618901,0.0002055382578842746,0.0001607032272521458,0.0001607032272521458,0.0001607032272521458,0.00010333179712818108,7.152533129728411e-05,5.0834765620511035e-05,1.2578330867984988e-05,8.316779375849848e-06,6.238803564873052e-06,6.238803564873052e-06,6.238803564873052e-06,2.8140918328922737e-06,1.0997285468938856e-06,7.090627041073105e-07,7.090627041073105e-07,7.090627041073105e-07,1.9564266695581978e-07,1.7824218589979068e-07,1.5558708854612746e-07,1.5558708854612746e-07,1.1873076433133178e-07,7.882636809952714e-08,3.81435580898426e-08,3.339730669793539e-08,3.171042139982205e-08,3.068183973553573e-08,2.9965747661009345e-08,2.9123907285821815e-08,2.8254394823790108e-08,2.3966173490208575e-08,2.3069369081696323e-08,2.216915406805242e-08,2.1445928144459003e-08,2.0973591308148798e-08 11 | HHO,F11,1.737015962600708,482.78760705592947,86.76073881682481,4.163523421906356,1.1720541405266207,1.0340434210193183,0.5724697792722451,0.1460307854494155,0.022609182136658412,0.016651117111031843,0.004613839905785233,0.002958586201475266,0.0005282487223180476,0.00041362779354980894,0.00012684635435999958,0.00012684635435999958,2.683406459258464e-05,2.2356401077949783e-05,1.1863940723499944e-05,5.39085774353687e-07,5.39085774353687e-07,5.39085774353687e-07,4.6631504158067827e-07,4.6631504158067827e-07,3.7018078380413044e-08,7.1064265583231645e-09,4.10465439415475e-10,4.10465439415475e-10,2.2416934974955893e-10,1.1140532940601133e-11,1.3529177778082158e-12,1.3529177778082158e-12,2.610134330893743e-13,4.807265696626928e-14,4.807265696626928e-14,2.042810365310288e-14,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 12 | HHO,F12,2.8147969245910645,315056564.7206082,673601.3756329869,3.9209501683040306,0.4004225753831976,0.006538985240774691,0.0020336879210582485,0.001574199894487414,0.0015423383947339904,0.0014784951255043023,0.0014784951255043023,0.0013349367694336343,0.0012154746204292995,0.0004779879950060314,0.0003055731141936348,0.00028771998040106917,0.00027627591421866446,0.00011912375059428427,5.305379314035812e-05,4.9465775084681924e-05,1.4808409926335335e-05,1.0966153728211265e-05,1.0301637132609631e-05,4.202815738840076e-06,2.519780490105024e-06,2.5133540304501055e-06,2.5133540304501055e-06,2.5119354559781088e-06,2.511914111978366e-06,2.480409698444887e-06,2.477555381778213e-06,2.4643631795811785e-06,2.4544889689886376e-06,2.4511085396827385e-06,2.4505122779139698e-06,2.4502687716641166e-06,2.450179231800911e-06,2.4501524801073032e-06,2.45010144394205e-06,2.4478596590778493e-06,2.4469111305444717e-06,2.445853695111078e-06,2.440605256294699e-06,2.438416855096281e-06,2.4361324120738732e-06,2.433531780464271e-06,2.4312058145313067e-06,2.4289645740329343e-06,2.4273176586490415e-06,2.425685489081728e-06,2.4251265358075223e-06 13 | HHO,F13,2.655454635620117,542366207.9336854,27022148.339736182,24.894104987923008,5.459868206639264,0.7866952247903569,0.5915117540717048,0.11859890585220366,0.08562508598951117,0.04694908348382175,0.017213906760116443,0.00592530857575666,0.004472781428819388,0.004046114444445424,0.002461311150634133,0.0022086230081106713,0.0012432631235432506,0.0010066382791865055,0.0007663956719361175,0.0006277820895606201,0.00019809492334946864,6.550736894964721e-05,6.224004479371557e-05,6.215312235047621e-05,5.9651234977915084e-05,5.8450930296190124e-05,5.8299237745193404e-05,5.316511404680753e-05,4.3966804484264245e-05,4.217845016931803e-05,3.8956880004770915e-05,3.8268214207946635e-05,3.6706179958375225e-05,3.650413925018088e-05,3.6407288788831816e-05,3.6358177443171105e-05,3.635653697637666e-05,3.634860417788008e-05,3.630427868146854e-05,3.628231860450219e-05,3.6271569402057784e-05,3.625153596279904e-05,3.622581642087233e-05,3.615933802371326e-05,3.6113914498174986e-05,3.608389158817781e-05,3.605852140453109e-05,3.603701141762584e-05,3.601418662949221e-05,3.6000506455005606e-05,3.598771120579302e-05 14 | HHO,F14,21.987853288650513,2.22529274278493,1.091632458860001,0.9980360574433386,0.9980208587150715,0.9980055985243795,0.9980055985243795,0.9980053525853112,0.9980053144108216,0.9980053116413585,0.9980039303558572,0.9980038625483042,0.9980038555490074,0.9980038548713764,0.9980038548713764,0.9980038548451016,0.9980038548451016,0.9980038543232695,0.9980038540255637,0.9980038540255637,0.9980038540255637,0.9980038540029541,0.9980038540029541,0.9980038540029541,0.9980038539829758,0.9980038539829758,0.9980038539817169,0.9980038539817169,0.9980038539817169,0.9980038539246736,0.9980038539150706,0.9980038539044068,0.9980038539044068,0.9980038539044068,0.9980038538962115,0.9980038538962115,0.9980038538962115,0.9980038538962115,0.9980038538962115,0.9980038538961938,0.9980038538961865,0.9980038538961657,0.9980038382866251,0.9980038377992824,0.9980038377981157,0.9980038377954616,0.9980038377944598,0.9980038377944553,0.9980038377944522,0.9980038377944502,0.9980038377944498 15 | HHO,F15,1.5931241512298584,0.048714155711446876,0.009642899363267707,0.002794780142737954,0.0009844698052577361,0.0009070726425604146,0.0009049448355665359,0.0007368651440582441,0.0006649327482065471,0.0006428939098399036,0.0004871539304260766,0.0004358677989982387,0.00042302710371817205,0.00042283848038445854,0.00042275114016940876,0.00042259639703599356,0.00042230682053677677,0.0004222256843759624,0.0004172354822631142,0.0004172354822631142,0.0004167836534137031,0.0004124664166439894,0.0003919208371734872,0.0003900430816702265,0.0003893555332680993,0.00038879497010627784,0.00038825839366947055,0.0003877637007224409,0.0003848504497556468,0.0003654395093490999,0.0003600744558500291,0.0003520300509867105,0.00034919991265631973,0.0003469638729712601,0.0003448741781613237,0.0003419370083059249,0.00034163520155565,0.00034138950902040546,0.00033647480769321994,0.00032977581034348495,0.00032701781413724956,0.00032615482398016296,0.0003189821976523437,0.0003178636881391639,0.0003144423529511533,0.00031431092199809283,0.000313075500563206,0.0003114709215349393,0.0003107700082846579,0.00030913519673205495,0.00030879968874698296 16 | HHO,F16,0.8075234889984131,-1.0297158293340714,-1.03140652825361,-1.0314399141020592,-1.031554180261089,-1.0316191534962904,-1.0316274016968918,-1.0316274016968918,-1.0316274016968918,-1.0316274016968918,-1.0316277272249148,-1.0316277573813253,-1.0316278289630745,-1.0316278289630745,-1.0316278289630745,-1.0316278289630745,-1.0316278289630745,-1.0316279422876506,-1.0316279422876506,-1.031627985163695,-1.0316280230317123,-1.0316280230317123,-1.0316280230317123,-1.031628072350025,-1.0316283168967617,-1.0316283879036425,-1.0316283879036425,-1.0316283953815726,-1.0316283953815726,-1.0316283953815726,-1.0316283953815726,-1.031628399501979,-1.031628414883724,-1.0316284150453794,-1.0316284150453794,-1.0316284150808035,-1.0316284150843362,-1.031628421709238,-1.0316284409534986,-1.0316284449466853,-1.0316284493400147,-1.0316284515674703,-1.031628452271834,-1.0316284528459412,-1.031628453137326,-1.031628453414698,-1.0316284534522768,-1.031628453473175,-1.0316284534826337,-1.0316284534867464,-1.0316284534890423 17 | HHO,F17,0.9660217761993408,0.7428536293668824,0.397943900491871,0.397943900491871,0.397943900491871,0.3979361465418769,0.3979083816697706,0.3979083816697706,0.3979083816697706,0.39790562953596265,0.39790519993164963,0.39790519993164963,0.39790519993164963,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979017214887257,0.3979003431554986,0.3979003431554986,0.3978984905317997,0.3978984905317997,0.3978984905317997,0.3978984905317997,0.397897849879266,0.3978973297446142,0.39789659907408215,0.39789604204744045,0.39789583450216526,0.39789583450216526,0.39789444392783224,0.3978919948418902,0.3978901476628032,0.3978896742623732,0.3978892630687998,0.3978889867312603,0.39788834666916983,0.39788815936517885,0.39788804494267715,0.3978879629158225,0.39788786690182043,0.39788781773588866,0.3978877146519313,0.3978873732002235,0.3978873600164121 18 | HHO,F18,1.1987547874450684,5.352887068449476,3.357913322538123,3.0168414962772663,3.0044335456980864,3.0041125180633212,3.00051808393689,3.000105592797513,3.000074965572203,3.000074965572203,3.000051974678666,3.000034385663922,3.000034385663922,3.000034385663922,3.000034008211692,3.000034008211692,3.000034008211692,3.000034008211692,3.000031827600723,3.000031827600723,3.0000264823488356,3.0000230152322502,3.0000216925937084,3.0000216925937084,3.0000206011519417,3.0000206011519417,3.0000206011519417,3.0000050297271263,3.0000050297271263,3.0000020374645238,3.000000173743313,3.000000001632295,3.000000001632295,3.0000000015462422,3.0000000015462422,3.0000000014740436,3.0000000014740436,3.000000000506066,3.000000000506066,3.0000000001409934,3.000000000017791,3.000000000017584,3.000000000017584,3.0000000000165863,3.000000000016282,3.000000000006451,3.000000000000912,3.0000000000001465,2.999999999999975,2.9999999999999574,2.9999999999999303 19 | HHO,F19,2.8470733165740967,-3.7489421427194842,-3.8504897045996027,-3.852790727970863,-3.853551719613245,-3.8536277826785947,-3.8538579257626804,-3.8541232131243106,-3.854125829699275,-3.854144553062169,-3.8545557914489335,-3.854752316156524,-3.85481043227281,-3.85481043227281,-3.854869861244679,-3.8548792694744263,-3.855310110144615,-3.859861680628082,-3.8600384048037633,-3.8601714703571495,-3.860403672763689,-3.86050654572087,-3.8605173482715816,-3.8605910277610276,-3.860637556633915,-3.8607041589109707,-3.8607323267621623,-3.8607816765345033,-3.8609237402853465,-3.860961456827549,-3.861040458048823,-3.8610884010167394,-3.8616610639801054,-3.861835577150492,-3.862097151494989,-3.8622899288065646,-3.8625926884974637,-3.8626925265510192,-3.862746906200749,-3.8627644932329455,-3.862776077568356,-3.86278165321243,-3.8627818875666895,-3.862781955026909,-3.8627819788665096,-3.862781998380605,-3.862782038188179,-3.862782080481221,-3.862782090836382,-3.86278209980182,-3.862782104085946 20 | HHO,F20,2.7520182132720947,-2.179272422220088,-3.006438156667204,-3.1642620330817595,-3.220020021049732,-3.2332526171941214,-3.237191491668911,-3.2452715532664294,-3.2620039964135206,-3.2635440125864754,-3.264372766787437,-3.2647231965520165,-3.2649981119589575,-3.265557018189406,-3.2656632661478677,-3.2660288439179364,-3.2667943446398024,-3.2677306509169397,-3.2677910965812655,-3.2681091052435773,-3.2704251680949876,-3.2708677733837535,-3.2717063817571486,-3.293261840549839,-3.298562738630332,-3.301087792216022,-3.302751427026452,-3.3031779645132846,-3.3038944882216628,-3.304371460801645,-3.3049820363884064,-3.3051804435533363,-3.310483888397858,-3.313328758887699,-3.313961899315604,-3.3147906392418602,-3.315697272476835,-3.3160371565725093,-3.3162329636700223,-3.31667070448512,-3.31688409197101,-3.3170660916781767,-3.3172450956728525,-3.317519960511631,-3.3177913173976066,-3.3191950446118423,-3.3195536928526064,-3.3196920163237422,-3.32037907008179,-3.321735849069731,-3.321762625449161 21 | HHO,F21,9.927632093429565,-0.9636471561547263,-4.076768654469157,-4.470126537782584,-4.601337455682387,-4.920900999249861,-4.959260061325495,-4.97285646029928,-4.996438350530272,-5.008108555980158,-5.019614610207544,-5.023125664487034,-5.02393102391711,-5.024763664251919,-5.025114102269693,-5.025412091472594,-5.026962983800269,-5.027873311245488,-5.028891443284644,-5.030161674572649,-5.031439421914896,-5.032822804006674,-5.033070588797488,-5.03353152061104,-5.033935409590015,-5.03436387911219,-5.034523469555417,-5.034584540996935,-5.034616788195832,-5.034624372394336,-5.034638348642956,-5.034647181020092,-5.034751316460983,-5.03488609862571,-5.035908988434603,-5.0371534101346604,-5.037324101287088,-5.040664229615243,-5.042098412296748,-5.042378601320329,-5.0424204053173804,-5.0425157849338245,-5.042610176638186,-5.042646510496042,-5.042674518152761,-5.042705140797641,-5.042718431770833,-5.042723553975735,-5.042736182005664,-5.042741217995333,-5.0427422855737145 22 | HHO,F22,12.181371927261353,-1.1699994914263083,-4.579304138804809,-4.941176182552692,-5.0247191029883425,-5.053647334697897,-5.056096128943639,-5.056897467444926,-5.058334234082813,-5.058472160077116,-5.058473459218441,-5.059346113893037,-5.059450789775801,-5.060822590963164,-5.060891558147639,-5.060946056294869,-5.061170269120024,-5.062015031174802,-5.062086281330116,-5.062093334460892,-5.062093334460892,-5.062093374543822,-5.062093374543822,-5.062093374543822,-5.062093374543822,-5.062093986745355,-5.062094278587354,-5.062094678778311,-5.062094678778311,-5.0620947187723555,-5.0620947187723555,-5.062096288844397,-5.06209676345467,-5.0620983239740145,-5.0620990791194025,-5.062099316992842,-5.06209951059214,-5.062099945991296,-5.062100253845594,-5.062100753653143,-5.0621009586865995,-5.062101639160649,-5.06210238375318,-5.062103356402424,-5.062105287508882,-5.062106399847578,-5.062197529949382,-5.062520025980708,-5.062582546149049,-5.062621318420651,-5.062640678983703 23 | HHO,F23,19.217041969299316,-0.99360009083936,-5.251464595859454,-7.6730593370271665,-8.31091207483283,-8.755461132526031,-9.472547228622442,-9.632927789666482,-9.77218512513934,-9.816614993760211,-9.817360410208831,-9.818198553715096,-9.90354405771189,-10.045295319880463,-10.072579317025397,-10.244937379316099,-10.4640345444584,-10.470736118353633,-10.47148082398352,-10.471501381896699,-10.471501381896699,-10.471504763483386,-10.471504763483386,-10.471504931501768,-10.471504931501768,-10.47150922436468,-10.47152026394005,-10.471523696992458,-10.471530515768189,-10.471530958422447,-10.471533453205652,-10.471533476080435,-10.471533476080435,-10.471533476080435,-10.471533476080435,-10.471533476080435,-10.471533476080435,-10.471533476080435,-10.471533476080435,-10.47153347894578,-10.471533777057122,-10.471533966111231,-10.471543166164643,-10.471559111761469,-10.471571531921146,-10.471578448652247,-10.471586702723156,-10.471637985982289,-10.477780293983392,-10.480240137091632,-10.480813378023742 24 | -------------------------------------------------------------------------------- /optimizer.py: -------------------------------------------------------------------------------- 1 | import HHO as hho 2 | import GA as ga 3 | import functions 4 | import csv 5 | import numpy 6 | import time 7 | 8 | # Fonksiyon Değerleri 9 | def selector(algo,func_details,popSize,Iterasyon): 10 | function_name=func_details[0] 11 | lb=func_details[1] 12 | ub=func_details[2] 13 | dim=func_details[3] 14 | x=hho.HHO(getattr(functions, function_name), lb, ub, dim, popSize, Iterasyon) 15 | 16 | # Algoritma listesi 17 | if(algo==0): 18 | x=hho.HHO(getattr(functions, function_name),lb,ub,dim,popSize,Iterasyon) 19 | if(algo==1): 20 | x=ga.GA(getattr(functions, function_name),lb,ub,dim,popSize,Iterasyon) 21 | return x 22 | 23 | # Çalışmasını istediğiniz algoritmaları "True" ile belirtiniz. 24 | HHO=True 25 | GA=False 26 | 27 | # Çalışmasını istediğiniz fonksiyonları "True" ile belirtiniz. 28 | F1=True 29 | F2=True 30 | F3=True 31 | F4=True 32 | F5=True 33 | F6=True 34 | F7=True 35 | F8=True 36 | F9=True 37 | F10=True 38 | F11=True 39 | F12=True 40 | F13=True 41 | F14=True 42 | F15=True 43 | F16=True 44 | F17=True 45 | F18=True 46 | F19=True 47 | F20=True 48 | F21=True 49 | F22=True 50 | F23=True 51 | 52 | algorithm=[HHO,GA] 53 | func=[F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,F21,F22,F23] 54 | 55 | # Fonksiyonun tekrar sayısını belirtiniz 56 | FuncAgain=1 57 | 58 | # Genel Parametreler 59 | PopulationSize = 500 60 | Iterations= 50 61 | 62 | # Excel formatında çıktı almak isterseniz "True" ile belirtiniz. 63 | Export=True 64 | 65 | # ExportToFile= Dosya adı ve formatı 66 | ExportToFile="kontrol-"+time.strftime("%Y-%m-%d-%H-%M-%S")+".csv" 67 | 68 | # En az bir kere çalışıp çalışmadığını kontrol eden değişken 69 | Flag=True 70 | 71 | # İterasyon isimlerinin gönderileceği değişken dizisi 72 | CnvgHeader=[] 73 | for l in range(0,Iterations): 74 | CnvgHeader.append("Iterasyon - "+str(l+1)) 75 | 76 | for i in range (0, len(algorithm)): # Algoritma dizisindeki değerleri kontrol eder 77 | for j in range (0, len(func)): # Fonksiyon dizisindeki değerleri kontrol eder 78 | if((algorithm[i]==True) and (func[j]==True)): # Değerlerin "True" olup olmadığını kontrol eder 79 | for k in range (0,FuncAgain): # Fonksiyonların kaç kez çalışacağını kontrol eder 80 | 81 | func_details=functions.getFunctionDetails(j) 82 | x=selector(i,func_details,PopulationSize,Iterations) 83 | if(Export==True): # CSV formatında çıktı alınıp alınmayacağını kontrol eder 84 | with open(ExportToFile, 'a',newline='\n') as out: 85 | writer = csv.writer(out,delimiter=',') 86 | if (Flag==False): # just one time to write the header of the CSV file 87 | # header= numpy.concatenate([["Algoritma","Fonksiyon","Baslama Zamani","Bitis Zamani","Calisma Suresi"],CnvgHeader]) 88 | header= numpy.concatenate([["Algoritma","Fonksiyon","Calisma Suresi"],CnvgHeader]) 89 | writer.writerow(header) 90 | # a=numpy.concatenate([[x.optimizer,x.objfname,x.startTime,x.endTime,x.executionTime],x.convergence]) 91 | a=numpy.concatenate([[x.optimizer,x.objfname,x.executionTime],x.convergence]) 92 | writer.writerow(a) 93 | out.close() 94 | Flag=True # at least one experiment 95 | 96 | if (Flag==False): # Faild to run at least one experiment 97 | print("No Optomizer or Cost function is selected. Check lists of available optimizers and cost functions") 98 | -------------------------------------------------------------------------------- /solution.py: -------------------------------------------------------------------------------- 1 | class solution: 2 | def __init__(self): 3 | self.best = 0 4 | self.bestIndividual=[] 5 | self.convergence = [] 6 | self.optimizer="" 7 | self.objfname="" 8 | self.startTime=0 9 | self.endTime=0 10 | self.executionTime=0 11 | self.lb=0 12 | self.ub=0 13 | self.dim=0 14 | self.popnum=0 15 | self.maxiers=0 16 | --------------------------------------------------------------------------------