RepositoryC++
optframe

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

92stars
12forks
3issues
1views

🧠 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

Similar Projects

Discover other similar projects and AI models.

RepositoryC++
avaneev/biteopt

Derivative-Free Global Optimization Algorithm (C++, Python binding) - Continuous, Discrete, TSP, NLS, MINLP

178
Oct 13, 2026
RepositoryPython
afourmy/pyTSP

A 2D/3D visualization of the Traveling Salesman Problem main heuristics

170
Apr 30, 2026
RepositoryPython
dungtran209/Modelling-and-Analysis-of-a-Vehicle-Routing-Problem-with-Time-Windows-in-Freight-Delivery

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)

156
Oct 19, 2019
RepositoryC++
esa/pagmo2

A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.

938
Sep 29, 2026
RepositoryJava
apache/incubator-kie-optaplanner

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.

3.5k
Jul 14, 2026
RepositoryPython
anyoptimization/pymoo

NSGA2, NSGA3, R-NSGA3, MOEAD, Genetic Algorithms (GA), Differential Evolution (DE), CMAES, PSO

3.0k
Jul 7, 2026
RepositoryPython
ahmedfgad/GeneticAlgorithmPython

Source code of PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).

2.2k
Oct 23, 2026
RepositoryJava
jenetics/jenetics

Jenetics - Genetic Algorithm, Genetic Programming, Grammatical Evolution, Evolutionary Algorithm, and Multi-objective Optimization

910
Oct 20, 2026
RepositoryLinear Programming
coin-or/python-mip

Python-MIP: collection of Python tools for the modeling and solution of Mixed-Integer Linear programs

605
Sep 25, 2026