Giter Club home page Giter Club logo

knapsack_problem's Introduction

0/1 Knapsack Problem

In this repository, the files are organised as follows:

  • .ipynb file is the Jypyter notebook containing the source code in Python.
  • .csv file is the input data of the 0/1 knapsack problem.
  • Asessment Brief.pdf contains the requirement of the problem.
  • report.pdf is the formal report detailing my implementation of the algorithms (Simulated Annealing and Tabu Search), the results of the testing with analysis, and a formal conclusion.

Simulated Annealing and Tabu Search are selected to solve the 0-1 knapsack problem because they are metaheuristics that can either avoid or escape the local optima. There are many of real-life applications of the knapsack problem.

For the chosen parameters, Simulated Annealing achieved an average total value of packing in 10 runs of 4413.6, while Tabu Search achieved that of 4378.0. In terms of the mentioned metric, Simulated Annealing is slightly better than Tabu Search.

However, Simulated Annealing is a stochastic algorithm and Tabu Search is, on the other hand, a deterministic algorithm. The performance (total value of packing in each run) of Tabu Search is more stable than that of Simulated Annealing.

In the future, further tuning and trials of parameters can be performed for the current Simulated Annealing and Tabu Search Algorithms.

Parallelised Simulated Annealing algorithm and Quantum Inspired Tabu Search can be applied and implemented on 0-1 knapsack problem.

knapsack_problem's People

Contributors

urbanclimatefr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

jsadet

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.