Thanks to visit codestin.com
Credit goes to github.com

Skip to content

AHMEDHAMID123/integer_programming

Repository files navigation

Nonogram Solver Project

This repository contains implementations of different approaches to solve nonogram puzzles (also known as Picross or Paint by Numbers).

Project Structure

The project is organized into the following directories:

1. Line Solver Nonogram

Contains a traditional brute force nonogram solver implementation using the line search method.

2. SCIP Solver Nonogram

Contains:

  • SCIP binary solver in ./bin directory
  • Enhanced nonogram class implementation with additional methods for:
    • Generating random instances
    • Saving puzzles in .lp format for SCIP input
  • Shell scripts for running SCIP and logging solutions

3. Analysis

Jupyter notebooks used for data analysis of the solver results using Python.

4. Documentation

  • Project report and summary
  • Presentation slides

Mathematical Background

A nonogram is a picture logic puzzle where cells in a grid must be colored or left blank according to numbers given at the side of the grid to reveal a hidden picture. In our implementation, we explore both:

  1. Traditional line-by-line solving techniques
  2. Integer Programming approach using SCIP solver

About

Applying greedy algorithm and IP solver to solve an NP hard problem.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published