Command Line Interface

This page documents the Optienv CLI. The main workflow is:

  1. Prepare a JSON configuration and a model wrapper (CSV contract)

  2. Run an evolutionary search

  3. Analyze results with front and hypervolume

front

optienv front extracts a global Pareto front across all seeds and generations.

optienv front
# → results/pareto_front_all.csv

Options:

  • --epsilon EPS: optional ε‑box thinning (e.g., 0.01)

Notes:

  • Objective sense is auto‑detected from your objective declaration (if available).

  • The output includes a seed column.

hypervolume

optienv hypervolume computes normalized hypervolume per generation for each seed and writes a wide CSV (one HV column per seed).

optienv hypervolume
# → results/hypervolume.csv

Notes:

  • Normalization reads all histories, converts to minimization, and scales to [0,1] before using the reference point r = (1,1,...,1).

  • For ≥ 3 objectives, install pymoo to enable the HV indicator.

Options:

  • --epsilon EPS: thin each generation’s front before HV (speeds up; smooths curves)

version

optienv version

Prints the current package version.

Tips & best practices

  • Keep a separate results folder per experiment (or vary --seed) to avoid mixing runs.

  • For NSGA‑III, it is common to set population size ≈ number of reference directions.

  • Use checkpoints for long runs and resume if the job is preempted.

    –algo nsga2 -j 4 –seed 7 –label-columns –no-save-final-csvs

NSGA‑III with reference directions

# Das–Dennis with 4 partitions
optienv search \
  -c path/to/run_sim.json \