Multi-objective concrete mix optimization using GNN, ANN, XGBoost, and NSGA-II with IS Code compliance Winner — TECH TONIC Software Hackathon, NIT Puducherry
MixXperts is a full-stack web application that combines machine learning with Indian Standard (IS) code calculations to design and optimize concrete mix proportions. It targets three objectives simultaneously: compressive strength, cost, and CO₂ emissions.
- Reduces trial batches by up to 60%
- Generates IS 456:2000 and IS 10262:2009 compliant mix designs
- Produces downloadable PDF reports for site engineers
A custom message-passing GNN built with PyTorch Geometric that models concrete components as graph nodes with inter-material interactions:
Encoder→ProcessorBlock(×6 MetaLayer passes) →Decoder- Edge, Node, and Global update models with residual connections
- Captures non-linear relationships between cement, SCMs, aggregates, and water
- PyTorch feedforward network trained on standardized concrete datasets
- StandardScaler preprocessing, ReduceLROnPlateau scheduler
- Validated with R² score on held-out test set
- Separate XGBoost models for Strength, CO₂, and Cost prediction
- Random Forest models as secondary baselines
- Pre-trained
.pklmodel files included
- Platypus framework for Pareto-optimal mix design
- 10 decision variables: Cement, Clinker, Slag, Fly Ash, Limestone, Gypsum, Water, Superplasticizer, Coarse Aggregate, Fine Aggregate
- 3 objectives: Minimize strength deviation, CO₂ emissions, and cost
- Constraint: Predicted strength ≥ desired strength
Implements concrete mix design calculations per Indian Standards:
- IS 456:2000 — Exposure-based minimum cement content & max w/c ratio
- IS 10262:2009 — Target strength, water content, aggregate volume calculations
- Fly ash substitution calculations included
Interactive Flask dashboard with 4 modules:
- Strength Prediction — Input mix proportions → predict compressive strength
- IS Code Mix Design — Generate compliant mix proportions from grade & exposure
- Multi-Objective Optimization — NSGA-II Pareto front with interactive Plotly 3D scatter
- PDF Report Generation — Downloadable mix design reports
MixXperts/
├── app.py # Flask web server (533 lines)
├── model.py # ConcreteGNN (PyTorch Geometric)
├── trainann.py # ConcreteANN definition
├── trainannModel.py # ANN training pipeline
├── train.py # GNN training pipeline
├── train_xgb.py # XGBoost training
├── predict.py # Prediction utilities
├── optimize.py # NSGA-II optimizer (Platypus)
├── concMixIS.py # IS 456/10262 code calculations
├── pdfMaker.py # PDF report generator
├── concrete.csv # Training dataset
├── OptData.csv # Optimization dataset
├── ann_model.pth # Trained ANN weights
├── Mod/ # Pre-trained XGBoost & RF models
├── templates/ # Flask HTML templates
├── static/ # CSS, JS, assets
└── requirements.txt
pip install -r requirements.txt
python app.py
# Open http://localhost:5000