Skip to main content

data4co provides convenient dataset generators for the combinatorial optimization problem

Project description

Data4CO

PyPi version PyPI pyversions Downloads GitHub stars

A data generator tool for Combinatorial Optimization (CO) problems, enabling customizable, diverse, and scalable datasets for benchmarking optimization algorithms.

Current support

solver

Problem Base Impl. First Impl. Second Impl. Third Impl. Fourth Impl.
TSP TSPSolver LKH Concorde NAR 📆 AR 📆
MIS MISSolver KaMIS Gurobi -- -- -- --

generator

Problem Type1 Impl. Type2 Impl. Type3 Impl. Type4 Impl.
TSP uniform gaussian cluster 📆 -- --
MIS ER BA HK WS

✔: Supported; 📆: Planned for future versions (contributions welcomed!).

How to Install

Github Clone with the url https://github.com/heatingma/Data4CO.git , and the following packages are required, and shall be automatically installed by pip:

Python >= 3.8
numpy>=1.24.4
networkx==2.8.8
lkh>=1.1.1
tsplib95==0.7.1
tqdm>=4.66.1
pulp>=2.8.0, 
pandas>=2.0.0,
scipy>=1.10.1

PyPI It is very convenient to directly use the following commands

pip install data4co

How to Use Solver (TSPLKHSolver as example)

from data4co.solver import TSPLKHSolver

tsp_lkh_solver = TSPLKHSolver(lkh_max_trials=500)
tsp_lkh_solver.from_txt("path/to/read/file.txt")
tsp_lkh_solver.solve()
tsp_lkh_solver.evaluate()
tsp_lkh_solver.to_txt("path/to/write/file.txt")

How to Use Generator (TSPDataGenerator as example)

from data4co import TSPDataGenerator

tsp_data_lkh = TSPDataGenerator(
    num_threads=8,
    nodes_num=50,
    data_type="uniform",
    solver="lkh",
    train_samples_num=16,
    val_samples_num=16,
    test_samples_num=16,
    save_path="path/to/save/"
)

tsp_data_lkh.generate()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

data4co-0.0.1a10.tar.gz (3.2 MB view hashes)

Uploaded Source

Built Distributions

data4co-0.0.1a10-cp310-cp310-manylinux2014_x86_64.whl (13.6 MB view hashes)

Uploaded CPython 3.10

data4co-0.0.1a10-cp39-cp39-manylinux2014_x86_64.whl (13.7 MB view hashes)

Uploaded CPython 3.9

data4co-0.0.1a10-cp38-cp38-manylinux2014_x86_64.whl (13.7 MB view hashes)

Uploaded CPython 3.8

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page