17 releases (8 stable)

1.2.4 Apr 29, 2024
1.2.3 Apr 22, 2024
1.2.0 Mar 14, 2024
1.1.2 Feb 23, 2024
0.1.3 Nov 14, 2023

#419 in Math

Download history 14/week @ 2024-01-23 127/week @ 2024-02-20 65/week @ 2024-02-27 2/week @ 2024-03-05 110/week @ 2024-03-12 16/week @ 2024-03-19 17/week @ 2024-03-26 56/week @ 2024-04-02 111/week @ 2024-04-16 153/week @ 2024-04-23 67/week @ 2024-04-30

331 downloads per month

MIT/Apache

1MB
629 lines

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:

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

Acknowledgements

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

Testers and Contributors

This crate utilised insta for snapshot testing.

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

Dependencies