Introduction
Qubots is a comprehensive optimization framework designed to simplify the development, testing, and deployment of optimization algorithms. It provides a unified interface for working with various types of optimization problems and algorithms, while enabling seamless integration with the Rastion platform for collaboration and competition.
What is Qubots?
Qubots is a modular optimization framework that brings together the power of optimization algorithms with the flexibility of modular design. The name “Qubots” combines two key concepts:
- QUBO (Quadratic Unconstrained Binary Optimization) - a famous class of optimization problems that inspired the framework’s design
- Bot - representing modularity and composability, like building blocks or Lego pieces
While the name originates from QUBO problems, the framework is general-purpose and supports all types of optimization problems, not just quadratic binary optimization.
Key Terminology
Understanding these core concepts will help you navigate the Qubots ecosystem:
Qubots (Optimization Tools)
Modular optimization components that use the Qubots framework. These can be:
- Optimization Problems: Modular problem definitions that can be easily shared and reused
- Optimization Algorithms: Modular solver implementations that can be applied to different problems
Optimization Workflow
A complete optimization setup that combines:
- An optimization algorithm (the solver)
- An optimization problem (the problem definition)
- Together, they form a workflow that solves the specific optimization challenge
Framework Architecture
The Qubots framework is organized into several key modules:
Core Components
Base Classes
Foundation classes that define the optimization problem and algorithm interfaces
Auto-Loading System
Dynamic loading of problems and optimizers from Git repositories
Specialized Classes
Domain-specific extensions for different types of optimization problems
Benchmarking System
Comprehensive benchmarking and performance evaluation system
Key Features
Repository-Based Components
Load optimization problems and algorithms directly from Git repositories, enabling easy sharing and collaboration within the optimization community.
Unified Interface
All optimization problems and algorithms follow consistent interfaces, making it easy to swap components and compare different approaches.
Comprehensive Benchmarking
Built-in benchmarking system for comparing algorithm performance across different problems and metrics.
Platform Integration
Seamless integration with the Rastion platform for cloud-based optimization, leaderboards, and collaborative development.
Extensible Architecture
Modular design allows for easy extension with new problem types, optimization algorithms, and platform integrations.