How peddrinn/cassotis_optimization works
Cassotis is a mineral-pile optimization project. Its implemented mono-objective workflow loads a CSV instance, constructs a truck-slot solution, searches it with GVNS, and reports cost or quality objectives subject to feasibility rules. The README also describes multiobjective optimization, multicriteria decision support, and a Streamlit app as pending deliverables; their directories are represented as capabilities, not inferred runtime pipelines. Edges for the experiment runner follow README documentation; unsampled implementation details are omitted.
Main entry points: gvns.py GVNS and VND · run_mono_experiments.py Mono experiments · evaluator.py Solution evaluator · io.py Instance loader
Components 19
Problem instance
- Example CSV data
data/example_instance - Instance loader
src/cassotis_optimization/io.py - Problem model
src/cassotis_optimization/domain.py - Instance validation
src/cassotis_optimization/validation.py
Optimization search
- Mono experiments
scripts/run_mono_experiments.py - Truck-slot solution
src/cassotis_optimization/solution.py - Initial construction
src/cassotis_optimization/algorithms/constructive.py - GVNS and VND
src/cassotis_optimization/algorithms/gvns.py - Neighborhood moves
src/cassotis_optimization/algorithms/vizinhancas.py - Search perturbations
src/cassotis_optimization/algorithms/perturbacoes.py
Evaluation
- Solution evaluator
src/cassotis_optimization/evaluator.py - Objective selection
src/cassotis_optimization/objectives.py - Feasibility rule
src/cassotis_optimization/feasibility.py - Result plots
src/cassotis_optimization/visualization.py - Experiment outputs
results
Decision support
- Multiobjective methods
src/cassotis_optimization/multiobjective - Multicriteria decisions
src/cassotis_optimization/mcda - Streamlit application
app
Other components
- Engineer
Connections 18
- Engineer → Mono experiments: runs
- Mono experiments → Instance loader: loads
- Example CSV data → Instance loader: provides CSV
- Instance loader → Problem model: creates
- Mono experiments → Instance validation: validates
- Mono experiments → GVNS and VND: runs search
- GVNS and VND → Initial construction: initializes with
- Initial construction → Truck-slot solution: builds
- GVNS and VND → Neighborhood moves: searches with
- GVNS and VND → Search perturbations: perturbs with
- GVNS and VND → Solution evaluator: evaluates candidates
- Solution evaluator → Problem model: reads instance
- Solution evaluator → Truck-slot solution: scores
- GVNS and VND → Objective selection: selects objective
- GVNS and VND → Feasibility rule: ranks feasibility
- Mono experiments → Result plots: plots results
- Result plots → Solution evaluator: evaluates solution
- Mono experiments → Experiment outputs: writes reports