Skip to content

Sneha-1011/Integer-Programming

Repository files navigation

Integer Programming Problem Solver (IPPS)

A user-friendly, Streamlit-based calculator for solving Integer Programming problems using optimization algorithms like Branch & Bound, Cutting Planes, and Heuristics.


Abstract

Integer Programming is a mathematical technique aimed at finding optimal solutions with variables constrained to integer values. The Integer Programming Problem Solver (IPPS) offers a clean interface to define and solve a wide range of integer programming problems including:

  • Linear Integer Programming
  • Mixed-Integer Programming
  • Binary Integer Programming

By utilizing advanced optimization methodologies, the tool ensures accurate, efficient solutions tailored for decision-makers in logistics, finance, engineering, and more.


Features

  • State-of-the-art optimization algorithms
  • 👥 User authentication
  • ✍️ Intuitive formulation input
  • 📊 Solver and result analyzer
  • 📦 Built with Streamlit and PuLP
  • 📐 Supports both Maximization and Minimization objectives

Algorithm Workflow

  1. Import libraries: streamlit, pulp, PIL
  2. Define UI alignment methods (left_align, right_align)
  3. Build solver logic using PuLP
  4. Implement login functionality
  5. Design UI with sidebar navigation:
    • Homepage: Overview and applications
    • Formulation: Mathematical model input
    • Calculator: Interactive solver (post-login)
  6. Accept input for:
    • Number of variables and constraints
    • Objective function coefficients
    • Constraint equations and RHS
    • Variable bounds and types
  7. Solve using solve_integer_programming()
  8. Display optimal result or infeasibility notice

Live Interface Structure

Page Description
Homepage Overview and real-life use cases
Formulation Mathematical model formulation
Calculator Solver interface with problem inputs and results (requires login)

Real-Life Applications

  • 📦 Supply chain optimization
  • 🏗️ Project scheduling
  • 💰 Portfolio selection
  • 🏭 Production planning
  • 🚛 Logistics & transportation

Tech Stack

  • Frontend/UI: Streamlit
  • Solver: PuLP
  • Image Handling: PIL (Pillow)

How to Run Locally

# Clone the repository
git clone https://github.com/your-username/IPPS.git
cd IPPS

# Install dependencies
pip install streamlit pulp Pillow

# Run the app
streamlit run app.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages