Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imd10/math329-algebraic-method

A Python project for the MATH329 Operations Research course, designed to solve Linear Programming Problems (LPP) using the algebraic method with both CLI and GUI interfaces.
https://github.com/imd10/math329-algebraic-method

algebraic-method cli gui linear-programming-problem lpp numpy python search-operation

Last synced: about 1 month ago
JSON representation

A Python project for the MATH329 Operations Research course, designed to solve Linear Programming Problems (LPP) using the algebraic method with both CLI and GUI interfaces.

Awesome Lists containing this project

README

        

# MATH329-Algebraic-Method

A Python-based tool for solving Linear Programming Problems (LPP) using the algebraic method. This project is designed to provide an efficient way to solve LPPs through both a command-line interface (CLI) and a graphical user interface (GUI). It leverages the powerful numerical computing capabilities of NumPy.

---

## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Command-Line Interface (CLI)](#command-line-interface-cli)
- [Graphical User Interface (GUI)](#graphical-user-interface-gui)
- [Dependencies](#dependencies)
- [Configuration](#configuration)
- [Troubleshooting](#troubleshooting)
- [Contributors](#contributors)

---

## Introduction

This project is a Python implementation of the algebraic method for solving Linear Programming Problems (LPP). It is aimed at helping students and professionals understand and apply LPP solutions in an intuitive and user-friendly manner.

Key aspects include:
- **CLI Tool** for users who prefer command-line operations.
- **GUI Application** for a more interactive experience.

The project is part of the MATH329 coursework and uses NumPy to handle matrix operations efficiently.

---

## Features

- Solve Linear Programming Problems using the algebraic method.
- Two user interfaces:
- Command-Line Interface (CLI)
- Graphical User Interface (GUI)
- Easy-to-understand results and outputs.
- Dependency on Python's robust `numpy` library for numerical computations.

---

## Installation

1. Clone the repository:
```bash
git clone https://github.com/iMD10/MATH329-Algebraic-Method.git
cd MATH329-Algebraic-Method
```

2. Install required dependencies:
```bash
pip install numpy
```

---

## Usage

### Command-Line Interface (CLI)

1. Navigate to the project directory.
2. Run the CLI script:
```bash
python CLIAlgebric.py
```
3. Follow the prompts to input problem constraints and objectives.

### Graphical User Interface (GUI)

1. Navigate to the project directory.
2. Run the GUI script:
```bash
python GUIAlgebric.py
```
3. Use the interactive interface to input the problem details and view the solution.

---

## Dependencies

The project depends on the following Python libraries:
- `numpy` (for matrix operations and numerical computations)

Install dependencies using:
```bash
pip install -r requirements.txt
```
(*Ensure you create a `requirements.txt` file listing the dependencies.*)

---

## Configuration

There is no additional configuration required. Ensure Python 3.x and the required dependencies are installed.

---

## Troubleshooting

- **Error:** `ModuleNotFoundError: No module named 'numpy'`
- **Solution:** Ensure NumPy is installed by running `pip install numpy`.

- **GUI not opening:**
- Ensure you have Python Tkinter installed (comes pre-installed with most Python distributions).

---

## Contributors

- **Muhannad Majed**
GitHub: [@iMD_10](https://github.com/iMD_10)

- **Mohammed Saleh**
GitHub: [@rayq-q](https://github.com/rayq-q)

- **Mohammed Mansour**
GitHub: [@MrM3ROF](https://github.com/MrM3ROF)

- **Eyad Fahad**
GitHub: [@commando-xxt](https://github.com/commando-xxt)

- **Ammer Mohammed**
GitHub: [@3wex](https://github.com/3wex)

---

Feel free to open issues or contribute to the project to make it better. Enjoy solving LPPs with ease!