Skip to content

Command-Line Interface (CLI)

1. Install

Install max-div as a local tool, e.g:

uv tool install max-div

This will then install the system-wide command max-div.

2. Usage

2.1. Help

To see the available commands and options, run:

max-div --help

2.2. Benchmarking

There are two categories of benchmarks: solver and internal.

max-div benchmark solver <sub_command>
max-div benchmark internal <method>

2.2.1. Solver benchmarks

The following commands support running test problems to evaluate solver performance:

max-div benchmark solver list_problems
max-div benchmark solver strategies <options>
max-div benchmark solver presets <options>

The strategies sub-command tests both individual initialization & optimization strategies & supports the following flags & options:

--turbo       Run a much faster (but less reliable/complete) benchmark; equivalent with --speed=1.0; overrides --speed if both are provided.
--speed       Value between 0.0 (default) and 1.0 (fastest) to speed up the benchmark at the cost of accuracy/completeness.
--markdown    Output results in Markdown format
--file        Output results to a file in current directory instead of stdout
--problem     Either the name of a specific test problem (see `list_problems`) or `all` to run all test problems (default: `all`)

The presets sub-command tests predefined solver presets (=predefined initialization + optimization strategies) & supports similar flags & options as the strategies sub-command.

For results, see here.

2.2.2. Internal benchmarks

There are various benchmarking commands available for internal functionality:

max-div benchmark internal all

max-div benchmark internal randint
max-div benchmark internal randint_constrained
max-div benchmark internal diversity_metrics
max-div benchmark internal modify_p_selectivity

All benchmarking commands support the following shared flags & options:

--turbo       Run a much faster (but less reliable/complete) benchmark; equivalent with --speed=1.0; overrides --speed if both are provided.
--speed       Value between 0.0 (default) and 1.0 (fastest) to speed up the benchmark at the cost of accuracy/completeness.
--markdown    Output results in Markdown format
--file        Output results to a file in current directory instead of stdout

For results, see here.

2.3. Numba status

max-div numba-status

Results in the following:

Numba version    : 0.62.1
llvmlite version : 0.45.1

Numba Configuration:
--------------------------------------------------
SVML enabled       : False
Threading layer    : default
Number of threads  : 16
Debug mode         : 0
Optimization level : _OptLevel(3)
Disable JIT        : 0
--------------------------------------------------