Metadata-Version: 2.1
Name: miplib-benchmark
Version: 0.1.0
Summary: 
Author: laroccacharly
Author-email: larocca.charly@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: highspy (>=1.8.1,<2.0.0)
Requires-Dist: pandas (>=2.2.3,<3.0.0)
Requires-Dist: prisma (>=0.15.0,<0.16.0)
Requires-Dist: requests (>=2.32.3,<3.0.0)
Requires-Dist: tqdm (>=4.67.0,<5.0.0)
Description-Content-Type: text/markdown

# Miplib Benchmark
This repository contains code to benchmark the MIPLIB (Mixed Integer Programming Library) using HiGHS solver.

## Features

- Downloads MIPLIB benchmark instances automatically (link: https://miplib.zib.de/)
- Solves MIP instances using HiGHS solver
- Stores results in SQLite database using Prisma ORM
- Includes Modal.com deployment support for cloud execution

## Installation

1. Install Poetry (Python package manager)
2. Clone this repository
3. Install dependencies:

    poetry install

4. Set up environment variables and aliases:

    source env.sh

5. Initialize database:

    prisma_generate

    prisma_migrate

## Download Benchmark Instances

    poetry run python examples/download.py

## Solve First Instance

    poetry run python examples/solve.py

# Deploy 
Using Modal for cloud execution (https://modal.com/): 

    pip install modal 
    modal setup 
    modal run deploy.py
