Výskum algoritmov pre problém obchodného cestujúceho a univerzálneho guided search jadra pre kombinatorickú optimalizáciu
Research on traveling salesman algorithms and a universal guided search core for combinatorial optimization
Problém obchodného cestujúceho (Traveling Salesman Problem - TSP) je jedným z najznámejších problémov v oblasti kombinatorickej optimalizácie. Problém spočíva v nájdení najkratšej možnej trasy, ktorá prechádza všetkými zadanými bodmi (mestami) práve raz a vracia sa do východiskového bodu.
The Traveling Salesman Problem (TSP) is one of the most famous problems in combinatorial optimization. The problem consists of finding the shortest possible route that passes through all given points (cities) exactly once and returns to the starting point.
TSP je NP-ťažký problém, čo znamená, že neexistuje známy algoritmus, ktorý by ho riešil v polynomiálnom čase. Pre praktické aplikácie sa preto používajú rôzne heuristické a aproximačné algoritmy, ktoré poskytujú dostatočne dobré riešenia v rozumnom čase.
TSP is an NP-hard problem, which means that there is no known algorithm that would solve it in polynomial time. For practical applications, various heuristic and approximation algorithms are therefore used, which provide sufficiently good solutions in a reasonable time.
TSP výskum nie je len teória. Aktuálne algoritmy sú dostupné aj v online TSP Solveri a v hlavnej desktop verzii. Implementácia Robopol metód používa NUMBA JIT, takže prvý beh môže byť pomalší pre kompiláciu, ale ďalšie výpočty sú výrazne rýchlejšie.
The TSP research is not only theoretical. The current algorithms are available in the online TSP Solver and in the main desktop version. The Robopol methods use NUMBA JIT, so the first run may be slower because of compilation, while subsequent runs are much faster.
Dva režimy Robopol Refined: Enable Edge-Guided Search = enabled je rýchlejší režim. Refined sa sústredí na aktuálnu trasu, kandidátne/hraničné/hot/redukčné hrany a preto míňa čas na sľubnejšie časti priestoru. Je výrazne rýchlejší, ale môže byť menej presný, lebo vynecháva veľa širokých fallback perturbácií. Pri hybridoch s LKH je práve tento zapnutý režim dôležitý pre rýchlosť, lebo Refined už neštartuje z nuly, ale pracuje okolo silnej LKH trasy. Disabled je pomalší, širší heavy-style režim, ktorý prehľadáva väčší priestor a môže nájsť lepšiu trasu, keď je kvalita dôležitejšia než čas výpočtu.
Two Robopol Refined modes: Enable Edge-Guided Search = enabled is the faster mode. Refined focuses on the current tour, candidate/tour/hot/reduction edges and spends time on more promising regions. It is much faster, but can be less precise because it skips many broad fallback perturbations. In LKH hybrids, this enabled mode is important for speed because Refined does not start from scratch; it works around a strong LKH route. Disabled is the slower and broader heavy-style mode that searches a larger space and can find a better route when quality matters more than runtime.
Pri porovnaní s LKH závisí rýchlosť aj kvalita od nastavenia LKH. Oproti LKH s kandidátmi typu ALPHA môže byť Robopol Fast výrazne rýchlejší; pri nastaveniach založených na Delaunay kandidátoch býva čas približne porovnateľný. Pre maximálnu kvalitu je najzaujímavejší režim LKH + Robopol Refined, pretože LKH dodá silnú trasu a Refined potom prehľadáva jej okolie aj úniky z lokálnych miním.
When comparing with LKH, both speed and quality depend on the LKH settings. Compared with LKH using ALPHA candidates, Robopol Fast can be significantly faster; with Delaunay-based candidate settings, runtime is often roughly comparable. For maximum quality, LKH + Robopol Refined is the most interesting mode, because LKH provides a strong route and Refined then explores its neighborhood and escape paths from local minima.
Robopol Refined už nie je iba algoritmus pre TSP. Je to univerzálne guided search jadro pre kombinatorickú optimalizáciu, kde jadro rieši beam/frontier search, viacnásobné behy, perturbácie, lokálne zlepšovanie, paralelizáciu a diagnostiku, zatiaľ čo konkrétny problém dodáva vlastný stav, skóre, ťahy a guidance edges.
Robopol Refined is no longer only a TSP algorithm. It is a universal guided search core for combinatorial optimization, where the core handles beam/frontier search, multiple runs, perturbation, local improvement, parallel execution and diagnostics, while each concrete problem provides its own state, score, moves and guidance edges.
Rovnaké jadro môže byť napojené na rôzne triedy úloh: TSP a routing, JSSP a scheduling, set cover, knapsack, bin packing, graph coloring, max-cut alebo assignment problémy. Dôležitá je adapter vrstva: čím lepšie problem-specific edges a lokálne ťahy adapter poskytne, tým viac sa univerzálne jadro správa ako špecializovaný solver pre danú doménu.
The same core can be connected to different problem classes: TSP and routing, JSSP and scheduling, set cover, knapsack, bin packing, graph coloring, max-cut or assignment problems. The adapter layer is essential: the better the problem-specific edges and local moves supplied by the adapter, the more the universal core behaves like a specialized solver for that domain.
V samostatnom Rust jadre refined_engine už boli skúšané rozdielne typy úloh: Max-Cut, set cover, graph coloring, knapsack, bin packing, partition, QAP, Golomb ruler, Costas array a aj matematické black-box funkcie typu Rastrigin, Ackley, Rosenbrock alebo členité rugged landscape testy. To je dôležité, lebo nejde iba o ďalší TSP trik, ale o opakovateľný spôsob, ako preniesť silné prehľadávanie medzi doménami.
The standalone Rust refined_engine core has already been tested on different task types: Max-Cut, set cover, graph coloring, knapsack, bin packing, partition, QAP, Golomb ruler, Costas array and mathematical black-box functions such as Rastrigin, Ackley, Rosenbrock and rugged landscape tests. That matters because this is not only another TSP trick, but a repeatable way to move strong search across domains.
Pri TSP môže Robopol Refined so silným edge-guided adapterom dorovnať alebo prekonať LKH na vybraných behoch. Pri JSSP sa v aktuálnych experimentoch vie držať blízko CP-SAT aj na ťažších inštanciách. Cieľom nie je tvrdiť, že jeden engine automaticky porazí každý špecializovaný solver, ale ukázať, že univerzálne jadro s kvalitným adapterom môže byť reálne konkurencieschopné.
For TSP, Robopol Refined with a strong edge-guided adapter can match or beat LKH on selected runs. For JSSP, current experiments can stay close to CP-SAT even on harder instances. The point is not to claim that one engine automatically beats every specialized solver, but to show that a universal core with a strong adapter can be genuinely competitive.
Praktické čítanie výsledkov: Refined je metaheuristika, nie exaktný dôkaz optima. Jeho hodnota je v tom, že vie zobrať všeobecné jadro, pridať malé doménové guidance edges a dostať veľmi silné riešenia bez rokov vývoja úzko špecializovaného solvera pre každú jednu úlohu.
How to read the results: Refined is a metaheuristic, not an exact proof of optimality. Its value is that it can take a general core, add small domain-specific guidance edges and produce strong solutions without years of building a narrowly specialized solver for every single task.
V roku 2026 sme rozšírili solver o plnú podporu Z-osi (výšky). Algoritmus teraz optimalizuje pohyb v 3D priestore, čo je kritické pre:
In 2026, we expanded the solver with full support for the Z-axis (height). The algorithm now optimizes movement in 3D space, which is critical for:
Teoretická vzdialenosť (vzdušnou čiarou) je v logistike nepresná. Náš solver teraz integruje reálne cestné dáta:
Theoretical distance (as the crow flies) is inaccurate in logistics. Our solver now integrates real road data:
Benchmark tu beriem ako praktické odporúčanie podľa typu úlohy, nie ako jednu univerzálnu tabuľku víťazov. Pri TSP je dôležité rozlišovať rýchly praktický výpočet od režimu, kde sa ide po maximálnej kvalite trasy.
This benchmark is presented as a practical recommendation by problem type, not as a single universal winner table. For TSP, it is important to separate fast practical computation from the mode focused on maximum route quality.
Nový paper opisuje Robopol Refined ako univerzálny guided search engine pre kombinatorickú optimalizáciu. Verejne vysvetľuje architektúru, adapter model a guidance edge koncept, ale zámerne nezverejňuje kompletné interné know-how ako presné ranking vzorce, tuning pravidlá alebo benchmark-specific konfigurácie.
The new paper presents Robopol Refined as a universal guided search engine for combinatorial optimization. It publicly explains the architecture, adapter model and guidance-edge concept, while intentionally not disclosing the full internal know-how such as exact ranking formulas, tuning rules or benchmark-specific configurations.
Robopol Refined: A Universal Guided Search Engine for Combinatorial Optimization (Zenodo)Starší TSP paper ponechávam ako doplnkový zdroj, pretože podrobnejšie ukazuje, ako sa Robopol Refined správa priamo na probléme obchodného cestujúceho:
The older TSP paper is kept as a supplementary source, because it shows in more detail how Robopol Refined behaves directly on the traveling salesperson problem:
The Robopol Refined Algorithm for the Traveling Salesperson Problem (PDF)Praktické TSP algoritmy sú dostupné v online aplikácii TSP Solver. Kratší blogový článok k univerzálnemu jadru je tu: Robopol Refined Engine.
The practical TSP algorithms are available in the online TSP Solver. A shorter blog article about the universal core is here: Robopol Refined Engine.
Robopol Refined už nie je iba výskum pre TSP. Je to univerzálne guided search jadro, ktoré sa dá napojiť na rôzne kombinatorické problémy cez problem-specific adapter. Adapter dodá stav úlohy, skóre, povolené ťahy a guidance edges, zatiaľ čo jadro rieši samotné prehľadávanie, viacnásobné behy, lokálne zlepšovanie a paralelizáciu.
Robopol Refined is no longer only TSP research. It is a universal guided search core that can be connected to different combinatorial problems through a problem-specific adapter. The adapter provides the task state, score, allowed moves and guidance edges, while the core handles the search itself, multiple runs, local improvement and parallel execution.
TSP algoritmy sú prakticky dostupné v programe TSP Solver. Univerzálny Robopol Refined ide ďalej: cieľom je použiť rovnaké prehľadávacie jadro aj mimo TSP všade tam, kde problém vie poskytnúť dobrý adapter a doménové guidance edges.
The TSP algorithms are available in the TSP Solver application. Universal Robopol Refined goes further: the goal is to use the same search core beyond TSP wherever a problem can provide a good adapter and domain-specific guidance edges.