A small collection of Python exercises focused on optimization algorithms and heuristic problem solving.
The repository contains three educational scripts created while learning algorithmic problem solving, graph-based optimization and genetic algorithms. The code is kept as part of my programming learning history and as a reference for future improvements.
| File | Description |
|---|---|
nearest_neighbor_tsp.py |
Approximation of a Travelling Salesman Problem-style route using the nearest neighbour heuristic. |
genetic_function_optimization.py |
Genetic algorithm for maximizing a cubic function of the form ax³ + bx² + cx + d. |
genetic_knapsack.py |
Genetic algorithm for solving a basic 0/1 knapsack problem. |
- Python
- NumPy
- NetworkX
- SciPy
- Random module
Install dependencies:
pip install -r requirements.txtRun selected script:
python nearest_neighbor_tsp.pyor:
python genetic_function_optimization.pyor:
python genetic_knapsack.pyCreate a requirements.txt file with:
numpy
networkx
scipy- Basic use of Python for algorithmic tasks
- Working with graphs and distances
- Using the nearest neighbour heuristic
- Representing solutions as chromosomes
- Implementing fitness functions
- Basic roulette selection
- Crossover and mutation in genetic algorithms
- Applying optimization logic to different problem types
Archived educational exercises.
The code is functional as a learning example, but it is not intended as a production-ready optimization library.
Mały zestaw ćwiczeń w Pythonie dotyczących algorytmów optymalizacyjnych i heurystycznego rozwiązywania problemów.
Repozytorium zawiera trzy edukacyjne skrypty przygotowane podczas nauki rozwiązywania problemów algorytmicznych, optymalizacji grafowej oraz algorytmów genetycznych. Kod zostaje zachowany jako część mojej historii nauki programowania oraz jako punkt odniesienia do przyszłych poprawek.
| Plik | Opis |
|---|---|
nearest_neighbor_tsp.py |
Przybliżone rozwiązanie problemu podobnego do problemu komiwojażera z użyciem heurystyki najbliższego sąsiada. |
genetic_function_optimization.py |
Algorytm genetyczny do maksymalizacji funkcji sześciennej postaci ax³ + bx² + cx + d. |
genetic_knapsack.py |
Algorytm genetyczny do rozwiązania podstawowego problemu plecakowego 0/1. |
- Python
- NumPy
- NetworkX
- SciPy
- Moduł Random
Zainstaluj zależności:
pip install -r requirements.txtUruchom wybrany skrypt:
python nearest_neighbor_tsp.pyalbo:
python genetic_function_optimization.pyalbo:
python genetic_knapsack.pyUtwórz plik requirements.txt z zawartością:
numpy
networkx
scipy- Podstaw używania Pythona do zadań algorytmicznych
- Pracy z grafami i odległościami
- Zastosowania heurystyki najbliższego sąsiada
- Reprezentowania rozwiązań jako chromosomów
- Implementacji funkcji przystosowania
- Podstaw selekcji ruletkowej
- Krzyżowania i mutacji w algorytmach genetycznych
- Stosowania logiki optymalizacyjnej do różnych typów problemów
Archiwalne ćwiczenia edukacyjne.
Kod działa jako przykład nauki algorytmów, ale nie jest biblioteką optymalizacyjną gotową do użycia produkcyjnego.