Giter Club home page Giter Club logo

optjava's Introduction

OptJava

Homeworks from the Solving Optimization Problems Using Evolutionary Computation Algorithms in Java course.

Homework 1 - Iterative Algorithms

Solving the Tri SAT problem by using 3 different approaches:

  • Checking all the solutions
  • Greedy iterative algorithm that tries to change the solution in just one bit. After trying out all the changes, the algorithm will continue with one of the solutions that were better than the previous one.
  • Greedy iterative algorithm that changes one bit, but uses a fitness function that will generate the fitness bases on how many times a clause is true. This will result in giving the clauses that are true almost all the time a lower priority.

Homework 2 - Numeric Optimization

Minimizing and maximizing different functions using:

  • Gradient descent
  • Newton's method

Homework 3 - Simulated Annealing

Minimizing a function using simulated annealing with various solution representations and temperature schedules.

Homework 4 - Genetic Algorithms

  • Minimizing a function using an elitist genetic algorithm.
  • Solving the "Box Packing Problem" using a steady-state genetic algorithm.

Homework 5 - Genetic Algorithms

  • Maximizing a function that has a large contant area using RAPGA (Relevant Alleles Preserving Genetic Algorithm). Tested different parameters and selection methods for the algorithm.
  • Solving the quadratic assignment problem using SASEGASA (Self Adaptive Segregative Genetic Algorithm with Simulated Annealing aspects).

Homework 6 - Ant Algorithms

Solving the travelling salesman problem using Max-Min Ant System Algorithm.

Homework 7 - PSO and ClonAlg

Created an Feedforward artificial neural network to classify different species of Iris. The neural network is trained using different approaches:

  • Particle Swarm Optimization algorithm using global neigborhood
  • Particle Swarm Optimization algorithm using local neigborhood
  • Clonal Selection Artificial Immune Systems Algorithm

Homework 8 - Differential Evolution

Created two artificial neural networks: a Time Delay Neural Network and an Elman Neural Network, in order to predict the next value from the given series of data. Both neural networks are trained using a Differential Evolution algorithm.

Homework 9 - NSGA

Solved two multiple objective optimization problems using the NSGA algorithm (Non-dominated Sorting Genetic Algorithm).

Homework 10 - NSGA II

Solved two multiple objective optimization problems using the NSGA II algorithm (Non-dominated Sorting Genetic Algorithm II).

Homework 11 - Parallelization

Created a thread safe random number generator that uses the default Java Random class from java.util. Created two versions of a genetic algorithm that takes a grayscale image and tries to create it using only a given number of rectangles. In the first version, only the evaluation is done multithreaded. In the second solution the job of creating a new child is done multithreaded (parent selection, crossover, mutation and evaluation), while the main thread is used just to create the tasks and new population.

Homework 12 - Genetic Programming

Solved a problem of finding the best path for an ant to get the maximum food on a given map using genetic programming. Created GUI using Swing to simulate the movements.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.