Skip to content

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 representation
  • CMLON - Compressed Monotonic LON
  • LONConfig - Configuration for LON construction

Continuous Sampling Module

Basin-Hopping sampling for continuous LON construction.

Discrete Module

Iterated Local Search sampling and built-in discrete problems.

Visualization Module

Plotting and animation tools.

Step Size Module

Tools for estimating optimal Basin-Hopping step sizes.

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()

Visualizing a LON

from lonkit import LONVisualizer

viz = LONVisualizer()

# 2D plot
viz.plot_2d(lon, output_path="lon.png")

# 3D plot
viz.plot_3d(lon, output_path="lon_3d.png")

# Animation
viz.create_rotation_gif(lon, output_path="lon.gif")

# All visualizations
viz.visualize_all(lon, output_folder="./output")