|
| 1 | +# Rao Optimization Algorithms Visualizer |
| 2 | + |
| 3 | +An interactive web application for visualizing and exploring optimization algorithms developed by Prof. R.V. Rao. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +This frontend application provides a comprehensive visualization platform for understanding and comparing various optimization algorithms: |
| 8 | + |
| 9 | +- **BMR (Best-Mean-Random) Algorithm** |
| 10 | +- **BWR (Best-Worst-Random) Algorithm** |
| 11 | +- **Jaya Algorithm** |
| 12 | +- **Rao Algorithms (Rao-1, Rao-2, Rao-3)** |
| 13 | +- **TLBO (Teaching-Learning-Based Optimization) Algorithm** |
| 14 | +- **QOJAYA (Quasi-Oppositional Jaya) Algorithm** |
| 15 | +- **GOTLBO (Generalized Oppositional TLBO) Algorithm** |
| 16 | +- **ITLBO (Improved TLBO) Algorithm** |
| 17 | +- **Multi-objective TLBO Algorithm** |
| 18 | + |
| 19 | +## Features |
| 20 | + |
| 21 | +- **Algorithm Exploration**: Detailed information about each algorithm, including pseudocode, paper references, and applications |
| 22 | +- **Interactive Visualizations**: 2D contour plots, 3D surface plots, and optimization path visualizations |
| 23 | +- **Algorithm Comparison**: Compare multiple algorithms on the same objective function |
| 24 | +- **Step-by-Step Simulation**: Educational walkthrough of how each algorithm works |
| 25 | +- **Research Papers**: Access to original research papers and proper citations |
| 26 | + |
| 27 | +## Project Structure |
| 28 | + |
| 29 | +``` |
| 30 | +frontend/ |
| 31 | +├── public/ # Public assets |
| 32 | +├── src/ |
| 33 | +│ ├── components/ # Reusable UI components |
| 34 | +│ ├── pages/ # Main application pages |
| 35 | +│ ├── utils/ # Utility functions and data |
| 36 | +│ ├── algorithms/ # Algorithm implementations |
| 37 | +│ ├── assets/ # Static assets (images, etc.) |
| 38 | +│ ├── App.js # Main application component |
| 39 | +│ └── index.js # Application entry point |
| 40 | +└── package.json # Project dependencies |
| 41 | +``` |
| 42 | + |
| 43 | +## Getting Started |
| 44 | + |
| 45 | +### Prerequisites |
| 46 | + |
| 47 | +- Node.js (v14 or later) |
| 48 | +- npm or yarn |
| 49 | + |
| 50 | +### Installation |
| 51 | + |
| 52 | +1. Clone the repository: |
| 53 | + ```bash |
| 54 | + git clone https://github.com/VaidhyaMegha/optimization_algorithms.git |
| 55 | + cd optimization_algorithms/frontend |
| 56 | + ``` |
| 57 | + |
| 58 | +2. Install dependencies: |
| 59 | + ```bash |
| 60 | + npm install |
| 61 | + # or |
| 62 | + yarn install |
| 63 | + ``` |
| 64 | + |
| 65 | +3. Start the development server: |
| 66 | + ```bash |
| 67 | + npm start |
| 68 | + # or |
| 69 | + yarn start |
| 70 | + ``` |
| 71 | + |
| 72 | +4. Open [http://localhost:3000](http://localhost:3000) to view the application in your browser. |
| 73 | + |
| 74 | +## Usage |
| 75 | + |
| 76 | +- **Home Page**: Overview of all available algorithms |
| 77 | +- **Algorithm Page**: Detailed information and visualizations for a specific algorithm |
| 78 | +- **Comparison Page**: Compare multiple algorithms on the same objective function |
| 79 | +- **Papers Page**: Browse research papers related to the algorithms |
| 80 | +- **About Page**: Information about the project and Prof. R.V. Rao's work |
| 81 | + |
| 82 | +## Technologies Used |
| 83 | + |
| 84 | +- React.js |
| 85 | +- React Router |
| 86 | +- React Bootstrap |
| 87 | +- Chart.js |
| 88 | +- Plotly.js |
| 89 | +- MathJS |
| 90 | +- KaTeX |
| 91 | +- Three.js |
| 92 | +- D3.js |
| 93 | + |
| 94 | +## References |
| 95 | + |
| 96 | +The algorithms implemented in this visualizer are based on the research work of Prof. R.V. Rao and his colleagues. For detailed information about each algorithm, please refer to the original research papers cited in the application. |
| 97 | + |
| 98 | +## License |
| 99 | + |
| 100 | +This project is licensed under the MIT License - see the LICENSE file for details. |
0 commit comments