lp_parser_rs

Crates.iolp_parser_rs
lib.rslp_parser_rs
version1.3.2
sourcesrc
created_at2023-11-13 22:05:48.113908
updated_at2024-11-19 19:35:04.248815
descriptionA Rust parser for the LP file format.
homepage
repositoryhttps://github.com/dandxy89/lp_parser_rs
max_upload_size
id1034105
size12,260,793
Dan (dandxy89)

documentation

README

LP File Parser

Cargo Test Crates.io Documentation

Overview

Logo

A custom Rust LP file parser - this crate leverages the PEST crate for parsing LP files. It is designed and adhering to the following specifications:

Try it out using the following command line;

git clone https://github.com/dandxy89/lp_parser_rs.git &&
    cargo run -- {{PATH_TO_FILE}}

Supported LP Specifications

  • Problem Name
  • Problem Sense
  • Objectives
    • Single-Objective Case
    • Multi-Objective Case
  • Constraints
  • Bounds
  • Variable Types: Integer, Generals, Lower Bounded, Upper Bounded, Free & Upper and Lower Bounded
  • Semi-continuous
  • Special Order Sets (SOS)

Crate Features

  • serde: Adds Serde annotations to each of the model Structs and Enums.
  • diff: Adds capability to diff two Structs

Acknowledgments

Test data has been copied from other similar or related projects:

Testers and Contributors

This crate utilized insta for snapshot testing.

cargo insta test --all-features # Run all tests
cargo insta review # Review any changes to the snapshots
Commit count: 140

cargo fmt