Skip to content

API Reference

Complete API documentation for lonpy.

Modules

lonpy is organized into three main modules:

LON Module

Data structures for Local Optima Networks.

  • LON - Local Optima Network representation
  • CMLON - Compressed Monotonic LON

Sampling Module

Basin-Hopping sampling for LON construction.

Visualization Module

Plotting and animation tools.

Quick Reference

Creating a LON

from lonpy import compute_lon

# Simple usage
lon = compute_lon(
    func=objective_function,
    dim=2,
    lower_bound=-5.0,
    upper_bound=5.0,
    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 lonpy 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")

Dependencies

lonpy depends on:

  • numpy - Numerical computations
  • scipy - Optimization
  • pandas - Data handling
  • igraph - Graph operations
  • matplotlib - 2D plotting
  • plotly - 3D plotting
  • imageio - GIF creation
  • kaleido - Static image export