Skip to content

Repository files navigation

Python Optimization Exercises

English

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.

Contents

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.

Technologies

  • Python
  • NumPy
  • NetworkX
  • SciPy
  • Random module

How to run

Install dependencies:

pip install -r requirements.txt

Run selected script:

python nearest_neighbor_tsp.py

or:

python genetic_function_optimization.py

or:

python genetic_knapsack.py

Requirements

Create a requirements.txt file with:

numpy
networkx
scipy

What I learned

  • 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

Project status

Archived educational exercises.
The code is functional as a learning example, but it is not intended as a production-ready optimization library.


Ćwiczenia optymalizacyjne w Pythonie

Polski

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.

Zawartość

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.

Technologie

  • Python
  • NumPy
  • NetworkX
  • SciPy
  • Moduł Random

Jak uruchomić

Zainstaluj zależności:

pip install -r requirements.txt

Uruchom wybrany skrypt:

python nearest_neighbor_tsp.py

albo:

python genetic_function_optimization.py

albo:

python genetic_knapsack.py

Requirements

Utwórz plik requirements.txt z zawartością:

numpy
networkx
scipy

Czego się nauczyłem

  • 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

Status projektu

Archiwalne ćwiczenia edukacyjne.
Kod działa jako przykład nauki algorytmów, ale nie jest biblioteką optymalizacyjną gotową do użycia produkcyjnego.

About

Educational Python scripts focused on optimization algorithms, heuristics and genetic algorithms.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages