diff --git a/Userguide.md b/Userguide.md new file mode 100644 index 0000000..dc0d5d8 --- /dev/null +++ b/Userguide.md @@ -0,0 +1,82 @@ +# User Guide +## Introduction + +The Operations Research Tool is designed for solving optimization problems such as Linear Programming (LP) and Mixed Integer Programming (MIP). This guide will walk you through how to use the tool, from installation to solving problems and exporting results. +## Table of Contents +- [Introduction](#introduction) +- [Installation/Access](#installation-access) +- [Supported problem types](#after-installation) +- [Troubleshooting](#troubleshooting) +- [Issues](#issues) + + + + +## Installation/Access +### Online +You can always access the Tool without any installation on our [GitHub Pages instance](https://spaceholder-programming.github.io/Operations-Research-Tool/). +### Local +#### Install dependencies +This project relies on [NextJs](https://nextjs.org/). Please follow its [installation instructions](https://nextjs.org/docs/getting-started/installation) to get everything ready. +#### Clone the repository +Using Git: +```Bash +git clone https://github.com/Spaceholder-Programming/Operations-Research-Tool.git +``` +#### Building the site +Navigate towards the folder, where the project is located on your machine via terminal. +Afterwards, execute the following command: + +```Bash +npm build +``` +#### Run +``` +npm start +``` +#### Access the Tool using your browser: +You can access the tool via browser on your machine. The default port is 3000. + +If you can not reach the tool under [this link](http://localhost:3000), the default port is blocked and you have to check the terminal to get the correct port. + + +# After Installation +The following sections will give an in depth guide on how to use the tool. +### Select Language +You can change the language of the tool by selecting the language from the dropdown menu. +Currently supported languages are: +- English +- German + +## Input Model Data + +- _Objective_ : Define the objective function you want to maximize or minimize (e.g., 3x1 + 4x2). +- _Constraints_ : Add constraints in the format like x1 + x2 ≤ 10 or x1 ≥ 0. +- _Bounds_ : Insert your bounds. Variables have to be greater or equal to 0. +- _Variable Definitions_ : Specify whether variables are continuous or integer. + +### Solving the Problem + +- _Click Calculate_ : After entering the model, click the "Calculate" button. +- _Real-time Feedback_ : The tool will provide real-time updates on the progress. +- _View Results_ : Once the problem is solved, the optimal values of decision variables and the objective function will be displayed. + + +### Export +- _Exporting Problems_ : You can export the Problem as LP or MPS clicking the "Export as LP" or "Export as MPS" button. + +# Troubleshooting +## Error Handling + +_Input Validation Errors_ : If there is a problem with your input (e.g., incorrectly formatted constraints or missing variables), an error message will appear indicating what needs to be fixed. +_Solver Errors_ : If the solver encounters an issue (e.g., infeasibility, unbounded solution), appropriate error messages will guide you to correct your model. +## Common Issues + +_Problem Doesn't Solve_: Ensure that all constraints and the objective function are correctly formatted. +_Unrecognized Variables_: Check that all variables are consistently named across the objective function and constraints. +_Infeasible Solution_ : Review constraints to ensure that the model is solvable under the given conditions. + + + +# Issues +If you encounter further issues, refer to the Contributing section for ways to report bugs or request features. \ No newline at end of file