Giter VIP home page Giter VIP logo

stepping_stone_algorithm's Introduction

Stepping Stone Algorithm

forthebadge forthebadge forthebadge

Stepping Stone Logo

This project visualizes the stepping stone algorithm to determine the most cost-effective path for distributing products based on a quantity and cost tables. The algorithm optimizes the distribution process by iteratively evaluating possible paths and adjusting the quantities to minimize costs.



Program Screenshot

Getting Started

To run the project, ensure you have Python installed on your system. Additionally, you need to have Pygame installed.

Installation

  1. Clone the repository:

    git clone https://github.com/sm-alejandr0/stepping_stone_algorithm
  2. Install Pygame:

    pip install -r requirements.txt

Usage

  1. Run the main.py file to launch the application.
  2. The interface will display two tables: one for quantities and one for costs. (you can edit these values in constants.py)
  3. Left-click on a cell in the quantities table to edit its value.

Auto

  1. Press a to start the algorithm. It will calculate every possible path and the associated costs. Then it will update the table using the cheapest path until the minimum costs are reached.

Manual

  1. Right-click on a cell in the quantities table to mark it as the starting point for calculation. The algorithm will find the possible paths from this cell.
  2. The cost will be displayed in the console. If the costs are negative, the current path is cheaper.
  3. Press u to update the table. The new cost will be displayed on the console.

Algorithm Details

The stepping stone algorithm works by iteratively evaluating possible paths through the quantity table while considering the associated costs. It identifies the most cost-effective path by exploring all potential routes and adjusting quantities to minimize costs.

Contributing

Contributions are welcome! Feel free to submit bug reports, feature requests, or pull requests to help improve the project.

License

This project is licensed under the MIT License.

Acknowledgments

The stepping stone algorithm was invented by Abraham Charnes and William W. Cooper.

stepping_stone_algorithm's People

Contributors

sm-alejandro avatar

Stargazers

 avatar Clayton Kehoe avatar  avatar

Watchers

 avatar

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.