{"id":23468200,"url":"https://github.com/dantesc03/ruby-splitting-optimization","last_synced_at":"2025-04-12T20:58:28.426Z","repository":{"id":269227448,"uuid":"906784080","full_name":"DanteSc03/ruby-splitting-optimization","owner":"DanteSc03","description":"This repository contains implementations of various optimization algorithms in R, applied to benchmark problems.","archived":false,"fork":false,"pushed_at":"2024-12-21T22:31:41.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T20:58:25.060Z","etag":null,"topics":["learn","local-search-algorithm","monte-carlo-simulation","optimization","r","search-algorithms"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DanteSc03.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-21T22:25:16.000Z","updated_at":"2024-12-21T22:32:43.000Z","dependencies_parsed_at":"2024-12-21T23:31:11.982Z","dependency_job_id":null,"html_url":"https://github.com/DanteSc03/ruby-splitting-optimization","commit_stats":null,"previous_names":["dantesc03/ruby-splitting-optimization"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanteSc03%2Fruby-splitting-optimization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanteSc03%2Fruby-splitting-optimization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanteSc03%2Fruby-splitting-optimization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanteSc03%2Fruby-splitting-optimization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanteSc03","download_url":"https://codeload.github.com/DanteSc03/ruby-splitting-optimization/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631703,"owners_count":21136561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["learn","local-search-algorithm","monte-carlo-simulation","optimization","r","search-algorithms"],"created_at":"2024-12-24T13:38:55.537Z","updated_at":"2025-04-12T20:58:28.404Z","avatar_url":"https://github.com/DanteSc03.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Advanced Optimization Problems with R\n\nThis repository contains a comprehensive collection of optimization algorithms implemented in R, designed to solve both basic and advanced optimization problems. The focus is on practical applications and performance comparison across various methods. The repository is divided into two key scripts:\n\n1. **Script.R** - This script tackles basic optimization challenges by comparing several widely used algorithms. It provides insights into their efficiency and effectiveness in finding optimal solutions for constrained and unconstrained problems. 🛠️\n\n2. **Script_Advanced.R** - This script delves into advanced optimization techniques, showcasing the implementation of Ant Colony Optimization (ACO) combined with grid search refinement. It explores optimization in multidimensional spaces with a detailed 3D visualization of objective functions and their optima. 🐜\n\n---\n\n## Table of Contents\n- [Features](#features) ✨\n- [Dependencies](#dependencies) 📦\n- [Getting Started](#getting-started) 🚀\n- [Optimization Algorithms](#optimization-algorithms) 📊\n- [Plots and Visualizations](#plots-and-visualizations) 🖼️\n- [Acknowledgments](#acknowledgments) 🙏\n\n---\n\n## Features\n\n### **Script.R**\n- Compares multiple algorithms:\n  - Monte Carlo 🎲\n  - Hill Climbing 🧗\n  - Simulated Annealing (SANN) ❄️\n  - Tabu Search 🚫\n- Benchmark problem: Maximization of the `rubies` function with a penalty for constraint violations. 💎\n- Visualizations include:\n  - Algorithm performance comparison 📈\n  - Convergence plots 🔄\n\n### **Script_Advanced.R**\n- **Ant Colony Optimization (ACO):** Implements ACO for a multidimensional problem with grid search refinement. 🐜\n- **Recursive Grid Search:** Refines the ACO results for better precision. 🔍\n- 3D visualization of the objective function with annotated optima. 🖥️\n\n---\n\n## Dependencies\n\nThe scripts require the following R packages:\n- `rminer`: For average computations. 🧮\n- `plotly`: For 3D visualizations. 📊\n- `ggplot2`: For comparative analysis plots. 🖼️\n- `tabuSearch`: For implementing Tabu Search. 🚫\n- `genalg`, `DEoptim`, `pso`: For population-based algorithms. 🧬\n\nInstall missing packages using:\n```R\ninstall.packages(c(\"rminer\", \"plotly\", \"ggplot2\", \"tabuSearch\", \"genalg\", \"DEoptim\", \"pso\"))\n```\n\n---\n\n## Getting Started\n\n### Clone the Repository\n```bash\ngit clone https://github.com/DanteSc03/ruby-splitting-optimization.git\ncd your-repo-name\n```\n\n### Run the Scripts\n- Open the scripts in RStudio or your preferred R environment.\n- Set the working directory to the folder containing the scripts:\n  ```R\n  setwd(\"\u003cpath-to-scripts\u003e\")\n  ```\n- Source the scripts and run them to see results. 🎉\n\n---\n\n## Optimization Algorithms\n\n### Implemented Algorithms:\n1. **Monte Carlo** 🎲\n2. **Hill Climbing** 🧗\n3. **Simulated Annealing** ❄️\n4. **Tabu Search** 🚫\n5. **Ant Colony Optimization (ACO)** 🐜\n6. **Recursive Grid Search Refinement** 🔍\n7. **Population-Based Methods:** 🧬\n   - Evolutionary Algorithm (EA)\n   - Differential Evolution (DE)\n   - Particle Swarm Optimization (PSO)\n\n### Benchmark Function: `rubies`\n- A quadratic function with sinusoidal components and penalties for constraint violations. 💎\n\n---\n\n## Plots and Visualizations\n- **Convergence Plots:** Track algorithm performance over iterations. 📈\n- **3D Surface Plots:** Visualize the optimization landscape and optima. 🌄\n- **Comparative Bar Charts:** Display best values achieved by each algorithm. 📊\n\n---\n\n## Acknowledgments\n\nThis project is inspired by advanced optimization techniques and demonstrates practical applications in R. Special thanks to the contributors and the R community for their excellent libraries and support. 🙏\n\n---\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. 📜\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdantesc03%2Fruby-splitting-optimization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdantesc03%2Fruby-splitting-optimization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdantesc03%2Fruby-splitting-optimization/lists"}