Skip to content

Algolbarth/projet-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 NP-Complete Problem Solving with Graph Algorithms

Project Overview

This project was developed as part of a school assignment focused on NP-complete problems and graph theory algorithms.
The objective was to study different algorithmic strategies to solve a complex optimization problem and compare their behavior in terms of solution quality and execution time.

The project implements four algorithms based on graph theory concepts, each using a different strategy to solve the same NP-complete problem.


Objectives

  • Model an NP-complete problem using graph theory.
  • Implement multiple algorithmic approaches to solve it.
  • Analyze the trade-off between optimality and computational cost.
  • Compare exact and approximate methods.

Implemented Algorithms

1. Exact Algorithm

This algorithm searches for the optimal solution by exploring the complete solution space.

  • Guarantees the best possible solution
  • Computationally very expensive
  • Execution time grows rapidly with problem size

This method is mainly used as a reference to evaluate the quality of approximate algorithms.


2. Constructive Algorithm

The constructive algorithm builds a solution step by step by adding elements according to a predefined rule.

Characteristics:

  • Fast execution
  • Produces a valid solution quickly
  • Solution quality depends on the construction strategy

3. Local Search Algorithm (Heuristic)

This algorithm starts from an initial solution and iteratively improves it by exploring its neighborhood.

Characteristics:

  • Heuristic approach
  • Improves an existing solution
  • May converge to a local optimum rather than the global optimum

4. GRASP Algorithm

GRASP (Greedy Randomized Adaptive Search Procedure) is a multi-start metaheuristic combining greedy construction and local search.

Process:

  1. Generate a randomized greedy solution
  2. Improve it using local search
  3. Repeat the process multiple times and keep the best solution found

Characteristics:

  • Balances exploration and exploitation
  • Produces high-quality solutions
  • Faster than exact methods for large instances

Project Structure


Performance Comparison

Algorithm Optimal Solution Execution Time Scalability
Exact Algorithm ✅ Yes ❌ Very slow ❌ Poor
Constructive ❌ Not guaranteed ✅ Fast ✅ Good
Local Search ❌ Not guaranteed ⚡ Medium ✅ Good
GRASP ❌ Not guaranteed ⚡ Medium ✅ Very good

Key Concepts

  • NP-Complete Problems
  • Graph Theory
  • Exact Algorithms
  • Heuristic Methods
  • Local Search
  • Metaheuristics
  • GRASP (Greedy Randomized Adaptive Search Procedure)

Conclusion

This project highlights the fundamental trade-off between solution optimality and computational efficiency when solving NP-complete problems.
While exact algorithms guarantee optimal results, heuristic and metaheuristic approaches provide practical solutions for large problem instances.


Authors

School project developed as part of an algorithmics and graph theory course at ISEN Nantes.
TARIN Dorian
POIRIER Paul
GIROLT Alexandre
SOQUET Antonin

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors