" 30M+ Google Gemini tokens went into researching, analyzing, and understanding all 233 SIH problem statements to make them easier to explore and solve. "
From what to build to how to build it — our platform helps you understand, plan, and solve SIH 2026 problem statements with complete insights into requirements, solution approaches, technology stacks, architecture, AI/ML, and implementation roadmaps.
Search for your problem statement, and start building your solution.
| Description: | • Background Almost every optimization problem in India's refining, petrochemical, power, logistics, manufacturing and planning sectors ultimately depends on a handful of foreign mathematical optimization solvers such as IBM ILOG CPLEX, Gurobi and FICO Xpress. These engines sit behind refinery scheduling, production planning, supply chain optimization, blending, energy management and many AI-driven decision-support systems. While they are extremely capable, they come with high recurring license costs, restrictive licensing models and limited visibility into the underlying optimization algorithms. Indian developers can formulate optimization problems, but they cannot inspect, modify or tailor the solver internals to suit strategic national requirements. Open-source alternatives such as COIN-OR CBC, HiGHS, GLPK and SCIP exist and have made significant progress, but they still lag behind commercial solvers for several classes of large-scale mixed-integer optimization problems and have not been developed, validated or optimized specifically for Indian industrial use cases. The real challenge is not building the modeling interface; it is developing a numerically robust optimization engine that consistently finds high-quality solutions for large, sparse and highly constrained industrial problems within practical computation times. • Description The objective is to develop a sovereign mathematical optimization solver core rather than a complete modeling environment. The solver should support Linear Programming (LP), Mixed-Integer Linear Programming (MILP) and Quadratic Programming (QP) as the initial focus, with a modular architecture that can later be extended to Mixed-Integer Quadratic Programming (MIQP), Nonlinear Programming (NLP) and Mixed-Integer Nonlinear Programming (MINLP). Core algorithms may include revised simplex and interior-point methods for continuous optimization, together with branch-and-bound, branch-and-cut, cutting planes, presolve, heuristics and advanced node selection strategies for mixed-integer problems. The solver should exploit sparse matrix techniques, efficient numerical linear algebra and multi-core parallelization, with GPU acceleration considered where it provides measurable benefits. The emphasis is on numerical stability, scalability and reliable convergence across large industrial optimization problems rather than on graphical interfaces or modelling tools. It shall not be built upon any existing open source solver library but shall be built from scratch from mathematical foundation. The scope is to solve optimization problems arising from refinery scheduling, crude blending, process optimization, production planning, logistics, power system dispatch, transportation and supply chain management. The benchmark is that the solver should consistently deliver optimal or near-optimal solutions for industrial-scale problems involving thousands to millions of variables and constraints, including highly degenerate models, ill-conditioned matrices and difficult mixed-integer formulations where weaker implementations exhibit excessive computation times or fail to converge. • Expected Solution A robust optimization engine with a basic application programming interface (API) or command-line interface is sufficient; a polished graphical user interface is not required. The solver should successfully solve standard benchmark problems from recognised optimization libraries such as MIPLIB, Netlib or Mittelmann benchmark sets, with solution quality and computational performance compared against at least one established commercial or open-source solver. A clear demonstration of numerical robustness should be provided by solving challenging large-scale optimization problems involving degeneracy, weak LP relaxations or ill-conditioned constraint matrices, where simpler implementations struggle to achieve reliable convergence or acceptable solution times. The resulting solver should provide a transparent, extensible and sovereign foundation for future Indian optimization software across industrial, scientific and strategic applications. |
| Organization: | Mangalore Refinery and Petrochemicals Limited (MRPL) |
| Department: | Mangalore Refinery and Petrochemicals Limited (MRPL) |
| Category: | Software |
| Theme: | Smart Automationtd> |
| Youtube Link: | Not provided |
| Dataset Link: | Teams to use publicly available mathematical optimization benchmark datasets such as MIPLIB, Netlib LP, Mittelmann benchmark instances, QPLIB (for quadratic programming where applicable), along with representative refinery scheduling, crude blending, production planning and supply chain optimization case studies from open literature. Where industrial da |
| Contact info: | Not provided |
India's critical industrial and strategic sectors—including petroleum refining, petrochemicals, power grids, logistics, and defense—depend almost exclusively on foreign commercial mathematical optimization solvers such as IBM ILOG CPLEX, Gurobi, and FICO Xpress [PS, KNOWN]. These proprietary engines control high-stakes decisions like refinery crude blending, production scheduling, and supply chain allocation, creating foreign software lock-in, high recurring licensing costs, and national security vulnerabilities [PS, INFERENCE]. While open-source CPU solvers (such as COIN-OR CBC, HiGHS, and SCIP) exist, they lag on large-scale mixed-integer industrial models and lack native GPU acceleration for massive sparse linear algebra [PS, RESEARCHED]. This dossier details the architecture, technical roadmap, and implementation strategy for building an Indigenous GPU-Accelerated Optimization Solver Core from mathematical first principles [PS]. Built in modern C++20 and CUDA, the system combines a CPU-based multi-threaded Branch-and-Cut / Presolve framework with a GPU-accelerated linear algebra engine utilizing restarted Primal-Dual Hybrid Gradient (PDHG) and Interior Point Methods (IPM) [INFERENCE, RESEARCHED]. Designed to handle ill-conditioned, highly degenerate, and sparse industrial constraints from Mangalore Refinery and Petrochemicals Limited (MRPL) and benchmarked against MIPLIB 2017 and Netlib LP, this project establishes a sovereign foundation for Indian mathematical optimization software [PS, RESEARCHED].
| Attribute | Details |
|---|---|
| Problem Statement Number | SIH26119 [PS] |
| Title | Indigenous GPU-Accelerated Optimization Solver (Sovereign Alternative to Express / CEPLEX) [PS] |
| Organization | Mangalore Refinery and Petrochemicals Limited (MRPL) [PS] |
| Department | Mangalore Refinery and Petrochemicals Limited (MRPL) [PS] |
| Category | Software [PS] |
| Theme | Smart Automation [PS] |
| Deadline | 30 September 2026 [PS] |
| Ideas Counter | 0/500 [PS] |
To build a sovereign, numerically stable, C++/CUDA mathematical optimization solver core from scratch that leverages GPU acceleration to solve industrial-scale Linear Programming (LP), Mixed-Integer Linear Programming (MILP), and Quadratic Programming (QP) models with performance competitive with commercial solvers [PS, INFERENCE].
Extracting explicit and implied requirements from the source text:
Requirement 2.1 (Sovereign Engine Foundation): Build the solver core entirely from scratch using mathematical foundations, without wrapping or building upon existing open-source solver engines (e.g., COIN-OR CBC, HiGHS, GLPK, SCIP) [PS].
Requirement 2.2 (Initial Problem Class Support): Support Linear Programming (LP), Mixed-Integer Linear Programming (MILP), and Quadratic Programming (QP) [PS].
Requirement 2.3 (Extensible Architecture): Design a modular solver architecture capable of future expansion to Mixed-Integer Quadratic Programming (MIQP), Nonlinear Programming (NLP), and Mixed-Integer Nonlinear Programming (MINLP) [PS].
ProblemMatrix, RelaxationSolver, CutGenerator, and NodeSelector [INFERENCE].Requirement 2.4 (Algorithmic Rigor): Implement core algorithms including Revised Simplex and Interior-Point Methods (IPM) for continuous optimization, combined with Branch-and-Bound, Branch-and-Cut, Cutting Planes, Presolve, Primal Heuristics, and advanced Node Selection for mixed-integer models [PS].
Requirement 2.5 (GPU & Multi-Core Acceleration): Exploit sparse matrix techniques, efficient numerical linear algebra, multi-core CPU parallelization, and GPU acceleration where measurable benefits are demonstrated [PS].
SpMV, parallel primal-dual gradient iterations, parallel primal heuristics) should be offloaded to CUDA kernels [INFERENCE, RESEARCHED].Requirement 2.6 (Industrial Benchmark Standards): Demonstrate solution quality and computational performance against recognised benchmark sets including MIPLIB, Netlib LP, Mittelmann benchmark sets, and QPLIB [PS].
Requirement 2.7 (Numerical Stability & Industrial Scale): Consistently deliver optimal/near-optimal solutions for models with thousands to millions of variables/constraints, including highly degenerate models, ill-conditioned matrices, and weak LP relaxations [PS].
Requirement 2.8 (Target Industrial Use Cases): Focus application scope on refinery scheduling, crude blending, process optimization, production planning, supply chain management, and power system dispatch [PS].
Requirement 2.9 (CLI/API Priority Over GUI): Provide a robust optimization engine with a basic C++/Python API or Command-Line Interface (CLI); a polished GUI is explicitly not required [PS].
pybind11), and a standalone CLI executable accepting .mps and .lp files [INFERENCE].| Stakeholder | Goal | Current Pain | System Need |
|---|---|---|---|
| MRPL Refinery Process Engineers | Optimize crude oil blending, refinery unit scheduling, and yield planning with minimal computation time [PS, INFERENCE]. | Vendor lock-in to IBM CPLEX/Gurobi; high annual recurring per-core license fees; black-box algorithms cannot be tailored to specific refinery pooling non-linearities [PS, INFERENCE]. | Sovereign, high-performance LP/MILP/QP solver callable directly from process simulation scripts via C++/Python API [PS, INFERENCE]. |
| Indian Strategic & Public Sector Units (ISRO, DRDO, POSOCO/Grid-Controller, Indian Railways) | Execute large-scale power dispatch, logistics routing, and defense trajectory planning on air-gapped sovereign infrastructure [PS, INFERENCE]. | Export control restrictions, international licensing audit risks, and inability to run solvers on proprietary indigenous CPU/GPU hardware architectures [PS, INFERENCE]. | Fully open-source or sovereign codebase built from mathematical fundamentals without foreign proprietary dependencies [PS]. |
| Academic & Industrial Optimization Researchers in India | Inspect, modify, and research advanced GPU parallel optimization algorithms, novel cuts, and presolve rules tailored to national problems [PS, INFERENCE]. | Existing commercial solvers are closed-source black boxes; existing open-source CPU solvers lack modern GPU acceleration architectures [PS, RESEARCHED]. | Transparent, highly modular C++/CUDA solver codebase with clean algorithmic hooks for research prototyping [PS, INFERENCE]. |
| Enterprise IT / DevOps Administrators | Deploy cost-effective, scalable optimization engines across enterprise server clusters and edge node GPUs [PS, INFERENCE]. | High per-socket commercial solver costs limit scale-out deployment on cloud clusters [PS, INFERENCE]. | Permissively licensed, lightweight CLI tool deployable in headless Linux Docker containers with GPU passthrough [INFERENCE]. |
| Proposed System Feature | Justifying Requirement Number & Description |
|---|---|
| Custom C++ Sparse Matrix Data Structures (CSR/CSC) & Memory Pool | Req 2.1 & 2.5: Solver built from scratch without external solver libraries, optimized for multi-core and GPU memory layouts [PS]. |
| First-Order GPU Primal-Dual Hybrid Gradient (PDHG) Engine | Req 2.2, 2.5 & 2.7: GPU-accelerated LP solver for large-scale, million-variable sparse constraints [PS, RESEARCHED]. |
| CPU Dual Revised Simplex & Barrier IPM Solver | Req 2.2 & 2.4: Continuous optimization methods for exact optimal basic solutions and ill-conditioned relaxations [PS, INFERENCE]. |
| Parallel CPU Branch-and-Cut Manager with GPU Primal Heuristics | Req 2.4 & 2.5: MILP solving combining tree search with GPU-driven Feasibility Pump / Probing heuristics [PS, RESEARCHED]. |
| Comprehensive Preprocessing & Presolve Engine (PaPILO/Custom Rules) | Req 2.4 & 2.7: Problem reduction (bound tightening, singleton removal, clique detection) for numerically difficult models [PS, RESEARCHED]. |
| Gomory & Knapsack Cover Cut Generators | Req 2.4: Cutting planes to tighten LP relaxations in mixed-integer formulations [PS, INFERENCE]. |
| High-Precision Matrix Scaling (Ruiz / Equilibration) & Iterative Refinement | Req 2.7: Numerical stability for highly degenerate and ill-conditioned industrial constraint matrices [PS, RESEARCHED]. |
| MPS / LP File Parser & Command Line Interface (CLI) | Req 2.6 & 2.9: Parsing standard benchmark inputs and supporting CLI execution without GUI overhead [PS]. |
Python API (pybind11) & C-API Export |
Req 2.9: Lightweight programmatical interface for refinery process software integration [PS, INFERENCE]. |
| Refinery Crude Blending & Supply Chain Synthetic Benchmark Suite | Req 2.6 & 2.8: Validation against MRPL-relevant industrial case studies and MIPLIB/Netlib standard benchmarks [PS, RESEARCHED]. |
Hardware & Compute Heterogeneity:
Air-Gapped Operational Environments:
Numerical Precision & Ill-Conditioning:
f64) floating-point arithmetic is mandatory; critical basis factorizations require numerical pivoting and quadrupled precision (f128 or double-double) fallback passes [INFERENCE, RESEARCHED].Sovereignty & Open Source Intellectual Property:
GPU Acceleration Feasibility in Linear Programming:
SpMV), achieving up to 100x speedups on GPUs for large LPs [RESEARCHED].Presolve Impact on GPU Operations:
GPU Role in Mixed-Integer Programming (MILP):
Numerical Stability Strategies for Refinery LPs:
| Data Type | Purpose | Ideal Real-World Source | Hackathon Substitute | Access Method | Availability | Privacy Sensitivity | Confidence |
|---|---|---|---|---|---|---|---|
| MIPLIB 2017 Benchmark Instances | Validate MILP solver convergence, solution quality, and solve times [PS]. | Zuse Institute Berlin (ZIB) MIPLIB Repository [PS, RESEARCHED]. | MIPLIB 2017 Benchmark Set (240 MPS files) [PS, RESEARCHED]. | HTTP Direct Download / wget [RESEARCHED]. |
Public / Open Access [RESEARCHED]. | Non-sensitive [RESEARCHED]. | [PS] |
| Netlib LP Test Suite | Validate LP continuous relaxation accuracy and speed [PS]. | Netlib LP Repository (AT&T Labs / University of Florida) [PS, RESEARCHED]. | Netlib LP standard problem suite (96 MPS instances) [PS, RESEARCHED]. | Public FTP / Web Download [RESEARCHED]. | Public / Open Access [RESEARCHED]. | Non-sensitive [RESEARCHED]. | [PS] |
| Mittelmann Optimization Benchmarks | Compare LP/MILP execution times against commercial solvers [PS]. | Arizona State University (Prof. Hans Mittelmann) [PS, RESEARCHED]. | Selected Mittelmann LP/MILP hard instances [PS, RESEARCHED]. | Web Download [RESEARCHED]. | Public / Open Access [RESEARCHED]. | Non-sensitive [RESEARCHED]. | [PS] |
| QPLIB Benchmark Instances | Validate Quadratic Programming (QP) capabilities [PS]. | QPLIB Repository (University of Edinburgh) [PS, RESEARCHED]. | QPLIB convex quadratic instances [PS, RESEARCHED]. | Direct Download [RESEARCHED]. | Public / Open Access [RESEARCHED]. | Non-sensitive [RESEARCHED]. | [PS] |
| Refinery Crude Blending & Scheduling Cases | Industrial field validation for MRPL domain relevance [PS]. | Internal MRPL Refinery Operations Data [PS, INFERENCE]. | Open literature refinery LP/MILP formulations (e.g., Haverly's Pooling, Crude Blending models) [PS, RESEARCHED]. | Synthetic Generation via Python script [INFERENCE]. | Synthetically Generated [INFERENCE]. | Non-sensitive [INFERENCE]. | [INFERENCE] |
| System / Solver | Target Users | Architecture / Approach | Strengths | Weaknesses | Relevance | Remaining Gap | Source | Confidence |
|---|---|---|---|---|---|---|---|---|
| IBM ILOG CPLEX | Enterprise industrial users [PS, RESEARCHED]. | Proprietary C/C++ engine; CPU multi-threaded Simplex, IPM, Branch-and-Cut [RESEARCHED]. | Industry gold standard; exceptional numerical stability and presolve [RESEARCHED]. | High recurring cost; proprietary closed-source; no custom tailoring for Indian PSUs [PS]. | Primary commercial benchmark [PS]. | Expensive, closed-source, non-sovereign [PS]. | Official IBM Docs [RESEARCHED]. | [PS] |
| Gurobi Optimizer | Enterprise & academic users [PS, RESEARCHED]. | Proprietary C++ engine; CPU multi-threaded Dual Simplex, Barrier, Advanced MILP [RESEARCHED]. | Fastest overall CPU solver on Mittelmann benchmarks [RESEARCHED]. | Prohibitive commercial licensing; zero visibility into algorithm internals [PS]. | Benchmark target for performance comparison [PS]. | Non-sovereign, foreign dependency [PS]. | Gurobi Benchmark Manual [RESEARCHED]. | [PS] |
| HiGHS | Open-source optimization community [PS, RESEARCHED]. | C++11 open-source CPU solver; Revised Simplex, IPM, Branch-and-Cut [RESEARCHED]. | Permissive MIT license; state-of-the-art open-source CPU LP performance [RESEARCHED]. | Lacks native GPU acceleration; struggles on massive parallel LP relaxations [PS, RESEARCHED]. | State-of-the-art open-source CPU baseline [RESEARCHED]. | CPU-bound; not indigenous; no native GPU engine [PS, RESEARCHED]. | HiGHS GitHub [RESEARCHED]. | [RESEARCHED] |
| SCIP / COIN-OR CBC | Academic researchers [PS, RESEARCHED]. | C/C++ CPU constraint integer programming & branch-and-cut engines [RESEARCHED]. | Highly flexible plugin architecture; rich cutting plane library [RESEARCHED]. | Non-permissive research license (SCIP); CBC is slow on large industrial MILPs [PS, RESEARCHED]. | Reference for MILP heuristics and cut rules [RESEARCHED]. | Non-sovereign; slow on large scale; no GPU acceleration [PS, RESEARCHED]. | ZIB SCIP Docs [RESEARCHED]. | [PS] |
| NVIDIA cuOpt / cuPDLP | High-performance computing users [RESEARCHED]. | GPU-accelerated C++/CUDA solver using restarted PDHG [RESEARCHED]. | Extreme GPU speedup (100x+) on massive LP relaxations [RESEARCHED]. | Beta MILP features; proprietary/closed ecosystem components (cuOpt); foreign technology [RESEARCHED]. | Proves feasibility of GPU acceleration for LP [RESEARCHED]. | Closed components; not an indigenous Indian solver core [PS, INFERENCE]. | NVIDIA cuOpt Docs [RESEARCHED]. | [RESEARCHED] |
Existing options force Indian public sectors to choose between expensive, closed-source foreign commercial solvers (CPLEX/Gurobi) or CPU-bound open-source engines (HiGHS/CBC) that lack native GPU parallelization and strategic customization [PS, INFERENCE]. No indigenous Indian solver core exists that combines GPU-accelerated linear algebra with robust MILP branch-and-cut algorithms built from scratch [PS, INFERENCE].
cuSPARSE / custom CUDA) [RESEARCHED].SpMV) happen 100% on GPU memory [RESEARCHED].Approach 3: Heterogeneous Hybrid Solver Architecture is selected [INFERENCE].
SpMV) in first-order LP algorithms and parallel primal heuristics, while CPUs manage complex pointer-heavy Branch-and-Bound trees, cutting plane generation, and exact simplex basis factorizations [RESEARCHED, INFERENCE]. This satisfies all requirements of SIH26119 while providing a scalable, sovereign solution [PS, INFERENCE].+-----------------------------------------------------------------------------------+
| APPLICATION / USER LAYER |
| +----------------------------------+ +----------------------------------+ |
| | Command-Line Interface (CLI) | | Python API (pybind11) | |
| +----------------------------------+ +----------------------------------+ |
+-----------------------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| INGESTION & PARSING LAYER |
| +----------------------------------+ +----------------------------------+ |
| | MPS Parser (Fixed/Free) | | LP / QP Format Reader | |
| +----------------------------------+ +----------------------------------+ |
+-----------------------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| PREPROCESSING & PRESET LAYER |
| +----------------------------------+ +----------------------------------+ |
| | Matrix Scaling (Ruiz/Eq) | | Presolver (Row/Col Reductions) | |
| +----------------------------------+ +----------------------------------+ |
+-----------------------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| SOLVER CORE ORCHESTRATOR (C++) |
| +---------------------------------------------------------------------------+ |
| | Branch-and-Cut Manager (CPU Multi-threaded) | |
| | - Node Selector (Best-Bound/DFS) - Cut Generator (Gomory/Knapsack) | |
| +---------------------------------------------------------------------------+ |
+-----------------------------------------------------------------------------------+
/ \
/ \
v v
+-----------------------------------------+ +-------------------------------------+
| GPU ACCELERATED ENGINE | | CPU NUMERICAL ENGINE |
| +-----------------------------------+ | | +-------------------------------+ |
| | Restarted PDHG LP Solver | | | | Dual Revised Simplex | |
| | - Custom CUDA SpMV Kernels | | | | - LU Factorization (Markowitz) | |
| | - Parallel Step-Size Updates | | | +-------------------------------+ |
| +-----------------------------------+ | | +-------------------------------+ |
| | Parallel GPU Primal Heuristics | | | | Crossover & Exact Basis Identifier| |
| | - Parallel Feasibility Pump | | | +-------------------------------+ |
| +-----------------------------------+ | +-------------------------------------+
+-----------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| POSTSOLVING & DUAL MAPPING |
| +----------------------------------+ +----------------------------------+ |
| | Un-presolve Variable Mapper | | Optimality Certificate Check | |
| +----------------------------------+ +----------------------------------+ |
+-----------------------------------------------------------------------------------+
.mps or .lp file via CLI or Python bindings [PS, INFERENCE]. The C++ parser reads the file into an in-memory sparse matrix structure (ProblemModel) [INFERENCE]..sol output file or returned to the API caller [INFERENCE].| Layer | Selected Technology | Why Selected | Alternative Considered | Why Alternative Rejected |
|---|---|---|---|---|
| Language Core | C++20 [INFERENCE] | Maximum control over memory alignment, sparse linear algebra, cache efficiency, and zero-overhead abstractions [INFERENCE]. | Rust | Rust has excellent memory safety, but CUDA C++ integration and linear algebra ecosystem interoperability are superior in C++20 [INFERENCE]. |
| GPU Compute Architecture | NVIDIA CUDA Toolkit (v12.x) [INFERENCE] | Industry standard for GPU computing; provides high-performance cuSPARSE and cuBLAS libraries [RESEARCHED]. |
OpenCL / SYCL | Sycl/OpenCL offers multi-vendor support, but CUDA provides significantly higher performance and richer sparse linear algebra primitives [RESEARCHED]. |
| CPU Parallelism | OpenMP / C++20 std::jthread [INFERENCE] |
High-efficiency multi-threading for CPU Branch-and-Bound tree search and presolve rules [INFERENCE]. | TBB (Intel OneTBB) | OpenMP is lighter, compiler-native, and avoids extra dynamic link dependencies [INFERENCE]. |
| Matrix Primitives | Custom CSR/CSC C++ Structs + cuSPARSE [INFERENCE, RESEARCHED] | Zero-overhead custom sparse structures tailored for solver pivoting; cuSPARSE for GPU SpMV [RESEARCHED]. |
Eigen Library | Eigen is great for dense matrices, but custom solver sparse structures allow faster in-place row/col modifications during presolve [INFERENCE]. |
| Python Bindings | pybind11 [INFERENCE] |
Generates C++ Python extensions with zero runtime overhead; allows seamless integration into Python data workflows [INFERENCE]. | SWIG | SWIG generates complex, heavy boilerplate wrapper code compared to modern header-only pybind11 [INFERENCE]. |
| Build System | CMake (v3.22+) [INFERENCE] | Cross-platform build automation with native CUDA language support [INFERENCE]. | Makefiles | Harder to manage cross-platform dynamic GPU/CPU build targets [INFERENCE]. |
| Testing Harness | GoogleTest (GTest) + Python Benchmark Runner [INFERENCE] | C++ unit testing for linear algebra kernels and end-to-end regression testing on MIPLIB [INFERENCE]. | Catch2 | GTest has superior integration with CMake and Google Benchmark libraries [INFERENCE]. |
While classical mathematical optimization algorithms (Simplex, IPM, Branch-and-Bound) are deterministic and exact, Machine Learning (ML) can accelerate non-critical heuristic search decisions within the solver pipeline [RESEARCHED]. Core numerical linear algebra decisions (such as basis inversions, presolve reductions, and feasibility proofs) must NOT use AI/ML to preserve 100% mathematical rigor and guarantee solution validity [PS, INFERENCE].
| AI Component | Purpose | Model Type | Input | Output | Data Required | Why AI Preferable | Evaluation Metric | Failure Mode & Fallback | Human Oversight |
|---|---|---|---|---|---|---|---|---|---|
| ML-Guided Branching Decision Engine | Predict high-impact branching variables at Branch-and-Bound nodes to prune the tree early [RESEARCHED]. | LightGBM / Small MLP Classifier [INFERENCE]. | Node constraint statistics, pseudocosts, LP relaxation fractional values [INFERENCE]. | Ranked list of candidate branching variables [INFERENCE]. | Training data from solved MIPLIB instances [RESEARCHED]. | Replaces expensive Strong Branching calculations (which require multiple full LP solves per node) [RESEARCHED]. | Node reduction count; Solve time speedup [INFERENCE]. | Incorrect branching choice leads to larger tree size; Fallback: Standard Pseudocost Branching [INFERENCE]. | None required during automated solve run [INFERENCE]. |
| Heuristic Selection Meta-Learner | Select which primal heuristic (Feasibility Pump vs RINS vs Local Search) to run based on matrix structure [RESEARCHED]. | Decision Tree / Random Forest [INFERENCE]. | Matrix sparsity percentage, integer variable ratio, constraint type distribution [INFERENCE]. | Recommended heuristic execution policy [INFERENCE]. | Offline solver run logs on Netlib/MIPLIB [INFERENCE]. | Prevents wasting GPU/CPU compute on ineffective heuristics [INFERENCE]. | Time-to-first-feasible-solution [INFERENCE]. | Suboptimal heuristic chosen; Fallback: Run default Feasibility Pump [INFERENCE]. | None [INFERENCE]. |
The solver core represents sparse linear programs in memory using a C++ structure optimized for cache locality and CUDA transfers:
struct CompressedSparseMatrix {
int num_rows;
int num_cols;
int num_nonzeros;
std::vector<int> col_pointers; // Size: num_cols + 1
std::vector<int> row_indices; // Size: num_nonzeros
std::vector<double> values; // Size: num_nonzeros
};
struct OptimizationProblem {
std::string problem_name;
int num_vars;
int num_constraints;
std::vector<double> objective_coeffs;
std::vector<double> lower_bounds;
std::vector<double> upper_bounds;
std::vector<char> constraint_senses; // 'L' (<=), 'E' (=), 'G' (>=)
std::vector<double> rhs_values;
CompressedSparseMatrix constraint_matrix;
std::vector<char> variable_types; // 'C' (Continuous), 'B' (Binary), 'I' (Integer)
// QP Support
CompressedSparseMatrix quadratic_objective_matrix; // Q matrix for 0.5 * x^T Q x
};
indigenous_solver_cli) and a static/shared dynamic library (libindigenous_solver.so) [INFERENCE]..mps or .lp files directly from local storage; outputs .sol files containing variable assignments, objective values, and solver status certificates (OPTIMAL, INFEASIBLE, UNBOUNDED) [INFERENCE].cudaMallocManaged) or pinned host memory (cudaHostAlloc) to enable asynchronous streams, overlapping CPU branch tree processing with GPU matrix-vector computations [RESEARCHED].Refinery Intellectual Property & Proprietary Formulas:
Supply Chain & Code Sovereign Security:
Numerical Liability & False Results:
+-----------------------------------------------------------------------------------+
| HACKATHON MVP BUILD SCOPE |
+-----------------------------------------------------------------------------------+
| MUST BUILD (Core Value Proposition) |
| - C++ Parsing Engine for Standard MPS Files (Fixed & Free format). |
| - C++ Sparse Matrix Data Structures (CSC/CSR) with Ruiz Equilibration Scaling. |
| - GPU-Accelerated LP Solver using CUDA Restarted PDHG (cuPDLP style). |
| - CPU Dual Revised Simplex Solver for exact basic solutions & Crossover. |
| - Basic Presolver (Row/Column singletons, fixed variables, bound propagation). |
| - Basic CPU Branch-and-Bound Engine for Binary/Integer Variables (MILP). |
| - Standard CLI Executable accepting `.mps` and returning `.sol` output. |
| - Automated Evaluation Benchmark Harness comparing against MIPLIB / Netlib LP. |
+-----------------------------------------------------------------------------------+
| SHOULD BUILD (High Priority Enhancements) |
| - Gomory Fractional Cutting Plane Generator. |
| - GPU-Accelerated Feasibility Pump Primal Heuristic. |
| - Python API Bindings via `pybind11`. |
| - Convex Quadratic Programming (QP) support via Active Set / Barrier Method. |
+-----------------------------------------------------------------------------------+
| NICE TO HAVE (Time Permitting) |
| - Knapsack Cover Cut & Clique Cut Generators. |
| - ML-guided pseudocost branching selector. |
+-----------------------------------------------------------------------------------+
| DO NOT BUILD DURING HACKATHON (Explicitly Out of Scope) |
| - Graphical User Interface (GUI) [PS explicitly states GUI is not required]. |
| - Non-linear (NLP) or Mixed-Integer Non-linear (MINLP) Non-Convex Solvers [PS]. |
| - Distributed Multi-Node MPI Cluster Orchestrators [INFERENCE]. |
+-----------------------------------------------------------------------------------+
To convince SIH judges during the final evaluation without relying on inaccessible live refinery SCADA connections:
Benchmark Suite Execution Live:
indigenous_solver_cli live against selected official Netlib LP and MIPLIB 2017 benchmark MPS files in front of judges [PS, RESEARCHED].Refinery Crude Blending Case Study Demonstration:
GPU Acceleration vs CPU Baseline Comparison:
--use-gpu vs --cpu-only) [INFERENCE].Comparative Performance Dashboard:
Indigenous-Solver performance against HiGHS (open-source benchmark) on solution time and objective value accuracy [RESEARCHED].Phases & Milestones Target: 30 September 2026
-----------------------------------------------------------------------------------
Phase 1: Architecture & Linear Algebra Core (Months 1-2 | Oct - Nov 2025)
- Set up C++20 / CUDA CMake repository and GTest harness.
- Implement MPS/LP file parser and internal Sparse CSR/CSC matrix structures.
- Build Ruiz matrix equilibration scaling and basic Presolver module.
Phase 2: Continuous Solver Engines - LP & QP (Months 3-5 | Dec 2025 - Feb 2026)
- Develop CUDA-based Restarted PDHG solver for massive continuous LPs.
- Implement CPU Dual Revised Simplex with LU factorization for exact basis crossover.
- Build Convex Quadratic Programming (QP) solver engine.
- Validate on Netlib LP and QPLIB benchmark sets.
Phase 3: MILP Branch-and-Cut Engine (Months 6-8 | Mar - May 2026)
- Implement CPU multi-threaded Branch-and-Bound tree manager.
- Integrate Gomory fractional cut generator and knapsack cover cuts.
- Implement GPU-accelerated Feasibility Pump primal heuristic.
- Validate on MIPLIB 2017 Benchmark Instances.
Phase 4: Optimization, Refinery Case Studies & API (Months 9-10 | Jun - Jul 2026)
- Build C++/Python API (`pybind11`).
- Develop synthetic MRPL refinery crude blending and scheduling test models.
- Perform CUDA kernel tuning and memory pipeline optimizations.
Phase 5: Benchmarking, Validation & SIH Final Dossier (Months 11-12 | Aug - Sep 2026)
- Execute full Mittelmann LP/MILP benchmark evaluation suite.
- Conduct numerical stability stress testing on ill-conditioned models.
- Package standalone CLI executable, Python wheels, and documentation.
- Final SIH Demonstration readiness (30 September 2026) [PS].
Functional Correctness Testing:
SpMV kernel outputs against reference double-precision calculations [INFERENCE].Numerical Stability & Stress Testing:
PILOT series or Mittelmann hard LP instances) [RESEARCHED].Performance & Scalability Benchmarking:
False Positive / Infeasibility Testing:
BGPRTR8); verify the solver correctly flags INFEASIBLE and produces dual infeasibility certificates [RESEARCHED].| Risk | Likelihood | Impact | Severity | Mitigation Strategy |
|---|---|---|---|---|
| First-Order GPU LP Method Stalls on Ill-Conditioned Models | High | High | HIGH | Implement automatic Ruiz equilibration matrix scaling and dynamic step-size restarting in PDHG; fallback to CPU Dual Simplex when convergence slows [RESEARCHED]. |
| Numerical Instability in Branch-and-Cut Linear Algebra | Medium | High | HIGH | Incorporate Markowitz tolerance pivoting in LU factorizations and double-precision iterative refinement passes [RESEARCHED]. |
| CUDA Driver & GPU Hardware Dependency Overhead | Medium | Medium | MEDIUM | Implement dynamic runtime device detection; if no CUDA GPU is detected, seamlessly fall back to multi-threaded CPU Simplex/IPM [INFERENCE]. |
| Explosive Branch-and-Bound Tree Growth on Hard MILPs | High | Medium | HIGH | Focus on aggressive presolve reductions, strong cutting plane generation (Gomory/Cover), and GPU primal heuristics to discover early feasible upper bounds [RESEARCHED]. |
| Time Constraints for Scratch Implementation before Deadline | Medium | High | HIGH | Maintain strict modular scope prioritization; deliver a complete, highly optimized LP core first before layering MILP branch-and-cut features [INFERENCE]. |
| Evaluated Dimension | Generic Student Solution | Proposed Sovereign GPU Solver Architecture |
|---|---|---|
| Core Solver Origin | Wraps existing open-source solvers (e.g., Pyomo calling CBC or SciPy linprog) [PS, INFERENCE]. | Built strictly from scratch using modern C++20 and custom CUDA kernels from mathematical fundamentals [PS]. |
| Hardware Utilization | Standard single-threaded CPU execution [RESEARCHED]. | Heterogeneous GPU-CPU Architecture: Offloads sparse LP matrix algebra and primal heuristics to GPU while managing B&B trees on CPU [RESEARCHED]. |
| Numerical Rigor | Standard floating-point routines prone to breakdown on ill-conditioned models [RESEARCHED]. | Industrial-Grade Stability: Ruiz matrix scaling, dual presolve reductions, Markowitz pivoting, and iterative refinement [RESEARCHED]. |
| Domain Specificity | Generic textbook linear programming examples [INFERENCE]. | MRPL Refinery Domain Focus: Tested on synthetic crude oil blending, refinery pooling, and multi-period distribution models [PS, RESEARCHED]. |
[ASSUMPTION]: External low-level CUDA linear algebra primitives (cuSPARSE / cuBLAS) are permissible for matrix-vector multiplication as long as all solver algorithms (Presolve, PDHG, Simplex, Branch-and-Bound, Cuts) are written natively from scratch [PS, INFERENCE].[ASSUMPTION]: The primary development and benchmarking hardware will be x86_64 Linux workstations equipped with NVIDIA CUDA-capable GPUs (Compute Capability 7.5+) [INFERENCE].[ASSUMPTION]: Publicly available benchmark libraries (MIPLIB 2017, Netlib LP, Mittelmann, QPLIB) serve as sufficient proxy test suites for industrial refinery LPs during the hackathon phase [PS, RESEARCHED].[NEEDS VALIDATION]: Exact numerical tolerances and constraint structures of MRPL's internal, proprietary refinery LP models (to be validated with MRPL domain engineers during SIH mentoring rounds) [PS, INFERENCE].[NEEDS VALIDATION]: Performance upper bound of CUDA Restarted PDHG on highly degenerate QP models compared to interior-point barrier methods [RESEARCHED].The team should proceed with building the Indigenous GPU-Accelerated Optimization Solver Core following Approach 3 (Heterogeneous Hybrid Architecture) [INFERENCE]. By combining a CUDA-accelerated Restarted PDHG solver for continuous LP relaxations with a custom C++ multi-threaded Branch-and-Cut manager and Dual Simplex Crossover, the solution directly fulfills all explicit requirements of SIH26119, delivers proven GPU speedups on industrial models, and establishes a sovereign mathematical foundation for Indian industry [PS, RESEARCHED, INFERENCE].
pybind11 (Python) & C-API [INFERENCE]Availability of a CUDA-capable NVIDIA GPU development environment and standard MPS benchmark files (MIPLIB 2017 / Netlib LP) [RESEARCHED].
Numerical stalling or slow convergence of first-order GPU LP methods on highly ill-conditioned or degenerate industrial constraint matrices [RESEARCHED].
Implementing a numerically stable C++ Dual Revised Simplex with LU factorization and Markowitz pivoting from scratch to perform exact basis Crossover after GPU PDHG LP solves [RESEARCHED].
SpMV) kernel and test against cuSPARSE [RESEARCHED].afiro.mps [RESEARCHED].Validate that the CUDA development environment is correctly configured (nvcc --version) and verify that standard MPS parser unit tests pass against 5 sample Netlib LP instances (afiro, 25fv47, stocfor1, blend, share2b) [RESEARCHED].
88/100: Highly buildable for a 4–6 student team with strong computational mathematics, C++, and CUDA skills. The modular separation allows parallel development of parser, presolver, GPU engine, and CPU tree search [INFERENCE].
High: Supported by extensive recent research (e.g., cuPDLP, ScaleOPT) demonstrating the efficacy of GPU first-order methods for LP relaxations, backed by established mathematical solver literature [RESEARCHED].
| Source Title | URL | Source Type | Supported Claim | Reliability Assessment |
|---|---|---|---|---|
| GPU-Accelerated Primal Heuristics for Mixed Integer Programming (arXiv) | https://arxiv.org/html/2510.20499v1 [1.1] | Academic Research Paper | Demonstrates effectiveness of GPU acceleration for MIP primal heuristics and PDHG LP relaxations. | High (NVIDIA / Academic Research) [1.1] |
| NVIDIA cuOpt Decision Optimization & Mittelmann Benchmarks | https://alphasignal.ai/news/nvidia-s-cuopt-beats-every-open-source-solver-with-5000x-gpu-speedup [1.3] | Reputable Technical Media / Benchmarks | Confirms GPU first-order LP algorithms achieve state-of-the-art results on Mittelmann benchmarks. | High (Industry Standard Benchmarks) [1.3] |
| Presolving for GPU-Accelerated First-Order LP Solvers (arXiv) | https://arxiv.org/html/2604.23951 [1.9] | Academic Research Paper | Validates the critical necessity of LP presolving prior to GPU first-order solver execution. | High (Peer-reviewed arXiv preprint) [1.9] |
| cuPDLP+: Enhanced GPU-Based First-Order LP Solver | https://arxiv.org/html/2507.14051v1 [2.1] | Academic Research Paper | Proves PDHG first-order GPU methods beat traditional solvers on large-scale MIPLIB LP relaxations. | High (MIT / Univ of Chicago Research) [2.1] |
| MIPLIB 2017 Benchmark Set (Zuse Institute Berlin) | https://miplib.zib.de/ [4.1] | Official Dataset Portal | Provides benchmark set definitions, MPS instance formats, and official optimal objective values. | High (Official Benchmark Authority) [4.1] |
| Decision Tree for Optimization Software Testcases (ASU) | https://plato.asu.edu/sub/testcases.html [4.8] | Academic Benchmark Repository | Establishes standard public test sets for LP, MILP, Netlib, and QPLIB optimization models. | High (Maintained by Prof. Hans Mittelmann) [4.8] |
What we think about this platform, and how it can help people solve SIH problems.
" 30M+ Google Gemini tokens went into researching, analyzing, and understanding all 233 SIH problem statements to make them easier to explore and solve. "
" The platform makes SIH problem statements much easier to understand. Having everything from the problem details to the procedure in one place. "
" Oh, you got ads? Well, we need to make money too! But, you can use our platform to help you win SIH and take home the prize money. "
Get in touch if you need help bringing your ideas to life, or simply have an interesting idea you'd like to talk through. I'm always open to a conversation and exploring new possibilities together.