API Reference¶
Complete API documentation for lonkit.
Modules¶
lonkit is organized into the following modules:
LON Module¶
Data structures for Local Optima Networks.
LON- Local Optima Network representationCMLON- Compressed Monotonic LONLONConfig- Configuration for LON construction
Continuous Sampling Module¶
Basin-Hopping sampling for continuous LON construction.
compute_lon()- High-level convenience functionBasinHoppingSampler- Sampling classBasinHoppingSamplerConfig- ConfigurationBasinHoppingResult- Sampling result containerStepSizeEstimator- Step size estimationStepSizeEstimatorConfig- Step size estimator configuration
Discrete Module¶
Iterated Local Search sampling and built-in discrete problems.
DiscreteProblem- Abstract base for discrete problemsBitstringProblem- Base class for bitstring problemsNumberPartitioning- Number Partitioning ProblemOneMax- OneMax benchmarkILSSampler- ILS sampling classILSSamplerConfig- ILS configuration
Visualization Module¶
Plotting and animation tools.
LONVisualizer- Visualization class
Step Size Module¶
Tools for estimating optimal Basin-Hopping step sizes.
StepSizeEstimator- Step size estimationStepSizeEstimatorConfig- ConfigurationStepSizeResult- Estimation result
Quick Reference¶
Creating a LON¶
from lonkit import compute_lon, BasinHoppingSamplerConfig
# Simple usage
lon = compute_lon(
func=objective_function,
dim=2,
lower_bound=-5.0,
upper_bound=5.0,
config=BasinHoppingSamplerConfig(n_runs=20, seed=42)
)
Analyzing a LON¶
# Basic properties
print(f"Optima: {lon.n_vertices}")
print(f"Edges: {lon.n_edges}")
print(f"Best: {lon.best_fitness}")
# Compute metrics
metrics = lon.compute_metrics()
# Convert to CMLON
cmlon = lon.to_cmlon()
cmlon_metrics = cmlon.compute_metrics()