Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mccga.py

Machine-coded compact genetic algorithm in Python

In-short

The package implements the Machine-coded compact genetic algorithm defined in

Satman, M. H. & Akadal, E. (2020). Machine Coded Compact Genetic Algorithms for Real Parameter Optimization Problems . Alphanumeric Journal , 8 (1) , 43-58 . DOI: 10.17093/alphanumeric.576919 Link

Usage

Suppose the optimization problem is

$$ \min f(x, y) = \text{abs}(x - 3.14159265) + \text{abs}(y - \exp{1}) $$

then the MCCGA searches for the minimum using

def f(xs: list[float]) -> float:
    return abs(xs[0] - 3.14159265) + abs(xs[1] - 2.71828)

rangemin = [-100.0, -100.0]
rangemax = [100.0, 100.0]
mutrate = 0.001
maxiter = 100000
result = optimizer.mccga(f, rangemin, rangemax, mutrate, maxiter)

Other implementations

Calling mccga() from R

Thanks to the reticulate package, the Python function mccga() can be called into R. Here is the example:

# The package for R & Python integration
library(reticulate)

# Loading the mccga library
source_python("optimizer.py")

# Defining the objective function 
f <- function(xs){
    val <- (xs[1] - 3.14159265)^2 + (xs[2] - 2.71828)^2
    return(val)
}

result <- mccga(f, c(-100, -100), c(100, 100), 0.0001, 100000)

> result
[1] 3.141595 2.718276

About

Machine-coded compact genetic algorithm in Python

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages