Game
Robot Unlock
14 years ago

Global Optimization to the max!


<div class=”separator” style=”clear:both;text-align:center;”>

</div>GOAT, or Global Optimization AT is a framework/sandbox for testing of global optimization algorithms. I’ve started tinkering with optimization algorithms back in feb 2011 and this whole thing ended up becoming my bachelor’s thesis. Now I think the project is mature (ok, it still needs some tidying up) and modular enough so that others can build on it too. That’s why I have released it under the GNU GPL on GitHub. https://github.com/madflame991/gloptat

Thus far its main components are:

  1. A function plotter to see how objective functions look like and why they’re so much of a challenge. It also points out where candidate solutions are at every iteration in the search space

  2. Basic benchmarking features - so that one can compare the performance of different algorithms

  3. An implementation of Genetic Algorithms and many variations

  • [Standard stuff]
    Tournament and Roulette wheel selection
    Singlepoint, 2-point and uniform crossover
    Uniform mutation

  • [Not so standard stuff]
    Population reduction
    Random immigrants
    Iversion

  • *[Unique as far as I know]**
    Biased crossover (inheriting the significant part of a chromosome from the better parent)
    Non-uniform mutation with dynamic parameters
    Growth (a hillclimbing step each generation)
    Some methods to adjust selection pressure at runtime (“Damping functions”)

*I haven’t found any mention of the last 4 variations. As far as I know they’re my original contributions, but I’m sure someone else interested in the field has thought of them already and documented these…

An inplementation of the Particle Swarm Optimization algorithm and variations.Here are some features implemented for PSO:Nighbour networksPopulation reductionRandom immigrants- - - - - -

…and here’s a list of things I’m planning to implement:

  1. Split the application in 2 parts: one entitled “demo mode” - this should be used to see how the simulation progresses with fancy 3D graphics and one entitled “benchmark mode” for well… benchmarking. It will probably run simultaneous jobs to minimize the time it takes to benchmark

  2. Add more objective functions

  3. Add more optimization algorithms



0 comments

Loading...

Next up

Bandana Dee the Dream Friend

Been working lately on lots of 'behind-the-scenes' boring stuff that no one really cares about, so here’s a guy playing the sax for some reason.

#screenshotsaturday

Fan art for Foolish I'm feeling kinda better so I drew this

Here's a peaceful little forest scene for this #screenshotsaturday, from the beginning of the game.

We made a lot of improvements on the Freezing Plains visual. Things like pine trees, tiny bushes, some rocks, and others game props!

#IndieGame | #IndieDev | #GameDev | #PixelArt | #WaifuQuest | #WifeQuest | #screenshotsaturday

"Our work is never over" they said.

The Darkside Detective: A Fumble in the Dark is out TODAY! 🖱️Advanced pointing, clicking action 🖨️Very funny words! Loads of them! 👻6 sarcastic, spectral cases to solve

Hi everyone! I started to create some environment props for my new video game, here is a cozy house in the forest. I'm planning to switch from Unity to Unreal... Let's see what new challenges I have to face. Made in Blender and Substance Painter.

Rockin the Guitar, an Axe like Guitar I made for my Uni project

Call it 'wrong turn'!🚫 The feeling of running into a house with only one exit🚪, and being doomed to die. #pixelart #pixelartist #pixelartwork #art #pixel #indiegame #IndieGameDev #indieartist