Projects from the "Bio-Inspired Computing" course at the University of Tehran (Spring 2024).
Bio-inspired computing refers to computational algorithms modeled after natural processes to solve complex optimization problems. This repository contains implementations and projects exploring such methods, prepared for the course at the University of Tehran.
An evolutionary technique based on biological natural selection—combining selection, crossover, and mutation to evolve solutions over generations.
A probabilistic technique inspired by ants foraging behavior, where pheromone trails guide the search for optimal paths.
A probabilistic approach that mimics the annealing process in metallurgy, exploring solution spaces and gradually reducing randomness to converge on minima.
An algorithm modeled on bird flocking/swarming where individuals share information to converge toward optimal solutions.
Projects also span:
- Quadratic Assignment Problem (QAP)
- Set Covering Problem
- Travelling Salesman Problem (TSP)
- Memetic Algorithms
Organized by algorithm, each folder or notebook typically includes:
- Implementation (via Jupyter notebooks)
- Example cases and results
- Visualizations, where applicable
-
Clone the repository:
git clone https://github.com/omidnaeej/Bio-Inspired-Computing.git cd Bio-Inspired-Computing
-
Install required dependencies: If a
requirements.txt
exists, run:pip install -r requirements.txt
Otherwise, typical dependencies include:
numpy matplotlib scipy jupyter
-
Run a project:
jupyter notebook
Then select any algorithm folder or notebook and follow instructions inside.