optframe/optframe
OptFrame - C++17/C++20/C++23 Optimization Framework in Single or Multi-Objective. Supports classic metaheuristics and hyperheuristics: Genetic Algorithm, Simulated Annealing, Tabu Search, Iterated Local Search, Variable Neighborhood Search, NSGA-II, Genetic Programming etc. Examples for Traveling Salesman, Vehicle Routing, Knapsack Problem, etMu
🧠 OptFrame - Framework tối ưu hóa metaheuristics mạnh mẽ bằng C++ hiện đại
OptFrame là một framework tối ưu hóa cho các bài toán metaheuristics, được viết bằng C++ hiện đại và hỗ trợ đa ngôn ngữ.
OptFrame là một framework đa ngôn ngữ dành cho các bài toán tối ưu hóa combinatorial sử dụng metaheuristics, được viết bằng C++ hiện đại. Dự án hỗ trợ cả tối ưu hóa đơn mục tiêu và đa mục tiêu, kèm theo các ví dụ thực tế như Traveling Salesman, Vehicle Routing, Knapsack Problem. Phiên bản hiện tại đang phát triển là v6 pre-release, trong khi v5.1.0 đã được phát hành ổn định.
✨ Điểm nổi bật
- Hỗ trợ đa thuật toán metaheuristics: Genetic Algorithm, Simulated Annealing, Tabu Search, Iterated Local Search, Variable Neighborhood Search, NSGA-II, Genetic Programming.
- Đa ngôn ngữ: C++ chính thức, đồng thời có phiên bản Python (pip install optframe), Rust (đang xây dựng) và Java (JOptFrame).
- Tích hợp testing và benchmarking: Sử dụng Catch2 cho unit testing và Google Benchmark cho benchmarking.
- Hỗ trợ C++17, C++20, C++23: Tận dụng các tính năng hiện đại như C++20 Concepts, C++23 Modules.
- FCore (Functional Core): Phiên bản hẹ và hiện đại hơn dựa trên tiêu chuẩn C++20.
- C library: Cung cấp thư viện C cho Windows, Linux và macOS.
- Dự án mẫu đa dạng: Bao gồm các demo như SimpleBuild, Quickstart TSP, VNS, BRKGA, v.v.
- Quản lý phiên bản chuẩn: Sử dụng semantic versioning và công cụ bumpver để cập nhật.
💡 Vì sao đáng chú ý
OptFrame khác biệt từ các framework khác bằng sự kết hợp giữa tính hiện đại của C++ và khả năng mở rộng đa ngôn ngữ. Framework cung cấp một kiến trúc linh hoạt cho phép người dùng dễ dàng định nghĩa các thành phần mới như heuristic, local search, hoặc cả đối tượng bài toán. Điều này giúp giảm đáng kể thời gian phát triển cho các nhà nghiên cứu và kỹ sư làm việc với các bài toán tối ưu hóa phức tạp.
#Metaheuristics #Optimization #CPlusPlus #GeneticAlgorithm #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
Derivative-Free Global Optimization Algorithm (C++, Python binding) - Continuous, Discrete, TSP, NLS, MINLP
A 2D/3D visualization of the Traveling Salesman Problem main heuristics
A MSc's Dissertation Project which focuses on Vehicle Routing Problem with Time Windows (VRPTW), using both exact method and heuristic approach (General Variable Neighbourhood Search)
A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
OplaPlanner has moved to https://github.com/apache/incubator-kie-drools. This repository is archived. OptaPlanner is an AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.
NSGA2, NSGA3, R-NSGA3, MOEAD, Genetic Algorithms (GA), Differential Evolution (DE), CMAES, PSO
Source code of PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).
Jenetics - Genetic Algorithm, Genetic Programming, Grammatical Evolution, Evolutionary Algorithm, and Multi-objective Optimization
Python-MIP: collection of Python tools for the modeling and solution of Mixed-Integer Linear programs