GithubHelp home page GithubHelp logo

abishekdevendran / ring-star-problem-study Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.78 MB

A Final Year report on Ring Star problem and possible optimizations

Jupyter Notebook 64.60% HTML 34.63% Python 0.77%

ring-star-problem-study's Introduction

Ring Star Problem

Possible QA

What is Heuristics?

A heuristic is a "good guess" function used as a building block of a larger algorithm, often in search or optimization problems. It’s a problem-dependent technique that exploits specific information about the problem to find a "good enough" solution. Heuristics are usually designed to solve a specific problem or a narrow class of problems.

What is Metaheuristics?

A metaheuristic is a high-level, problem-independent algorithmic framework that provides guidelines or strategies to develop heuristic optimization algorithms. It’s a "good guess" system that keeps refining its guesses. Metaheuristics are designed to be applicable to a broad range of problems, treating functions as black boxes. They often implement stochastic optimization, which means the solution found is dependent on the set of random variables generated.

What is GA?

Genetic Algorithm (GA) is a metaheuristic inspired by the process of natural selection. It’s a population-based optimization algorithm that uses the principles of evolution to evolve a population of solutions over generations. GA is a global search algorithm that can find optimal or near-optimal solutions to optimization and search problems.

What is SA?

Simulated Annealing (SA) is a metaheuristic inspired by the annealing process in metallurgy. It’s a probabilistic optimization algorithm that mimics the physical process of heating and cooling a material to find the minimum energy state. SA is a local search algorithm that can find optimal or near-optimal solutions to combinatorial optimization problems.

Difference between GA and SA?

  • Search strategy: SA uses a temperature schedule to control the exploration of the search space, while GA uses a population of solutions and selection, crossover, and mutation operators to search for better solutions.

  • Convergence: SA is known for its ability to converge to a good solution quickly, while GA can take longer to converge, but often finds better solutions.

  • Parameter tuning: SA requires tuning of the temperature schedule, while GA requires tuning of population size, selection pressure, crossover rate, and mutation rate.

  • Computational complexity: SA can be computationally expensive, especially for large problem instances, while GA can be more efficient in terms of computational resources.

GA Terminology

  1. Gene: A gene is the basic unit of genetic information in a chromosome. It represents a single characteristic or feature of an individual. In Genetic Algorithms, genes are typically represented as binary strings (0s and 1s) or real-valued numbers.

  2. Genome: A genome is the complete set of genes in an individual’s chromosome. It represents the entire genetic makeup of an individual.

  3. Chromosome: A chromosome is a single solution or individual in a population. It consists of a set of genes that represent a potential solution to the optimization problem.

  4. Population: A population is a set of chromosomes or individuals that are used to evolve better solutions through the Genetic Algorithm process. The population size is a critical parameter in Genetic Algorithms.

  5. Fitness Function: A fitness function is a mathematical function that evaluates the quality or fitness of a chromosome or individual. It determines how well a solution satisfies the optimization problem’s objectives.

  6. Selection: Selection is the process of choosing chromosomes or individuals from the population to reproduce and form the next generation. Common selection methods include Roulette Wheel Selection, Tournament Selection, and Steady State Selection (which you’re using).

  7. Crossover (Recombination): Crossover is the process of combining the genetic information of two parent chromosomes to create a new offspring chromosome. You’re using single point crossover, but there are other types, such as multi-point crossover, uniform crossover, and edge recombination crossover.

  8. Mutation: Mutation is the process of randomly changing the genetic information of a chromosome to introduce new genetic variations. This helps maintain diversity in the population and prevents convergence to a single solution.

  9. Generation: A generation is a single iteration of the Genetic Algorithm process, where the population is evolved through selection, crossover, and mutation.

  10. Termination Condition: A termination condition is a criterion that determines when to stop the Genetic Algorithm process. Common termination conditions include a maximum number of generations, a satisfactory fitness level, or a convergence threshold.

GA specs

Single Point Crossover:

  • Single point crossover is a simple and efficient method that can be effective for problems with a small number of local optima, like the Ring Star problem.

  • In the Ring Star problem, the solution space is relatively simple, and single point crossover can help explore the search space efficiently.

  • Single point crossover can also help maintain diversity in the population, which is important for avoiding convergence to a single solution.

Steady-State Selection:

  • Steady State selection is a suitable choice for the Ring Star problem because it allows for a more gradual replacement of the population, which can help maintain diversity and avoid convergence to a single solution.

  • Steady State selection can also help reduce the computational cost of the algorithm by only replacing a subset of the population in each generation.

  • In the Ring Star problem, Steady State selection can help balance exploration and exploitation, which is important for finding the global optimum.

Random Mutation:

  • In the Ring Star problem, random mutation can help escape local optima and explore the search space more thoroughly.

  • Random mutation can also help adapt to changing fitness landscapes, which is important in dynamic optimization problems.

The heuristics to be compared

  1. Genetic Algorithm

  2. Simulated Annealing

  3. Ant Colony Optimization

ring-star-problem-study's People

Contributors

abishekdevendran avatar abishek-rw avatar

Stargazers

krishna harshith avatar

Watchers

 avatar

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.