Skip to content

Commit 61fbf17

Browse files
Adding frontend to simulate optimization algorithms
1 parent 11fe70c commit 61fbf17

21 files changed

+25401
-0
lines changed

frontend/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules/

frontend/README.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
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

Comments
 (0)