lpsymphony
lpsymphony provides an R interface to the SYMPHONY mixed-integer linear programming (MILP) solver for formulation and solution of MILPs using branch-and-cut and branch-and-price algorithms.
Key Features:
- R interface: Exposes SYMPHONY solver functionality to R for formulation, solution, and inspection of MILP problems.
- Algorithms: Implements branch-and-cut and branch-and-price methods for solving MILPs.
- Parameter customization: Offers extensive solver parameter customizations to adjust solver behavior.
- User-defined callbacks: Supports user-defined callback hooks for custom control during the solve process.
- Compile-time configuration: Provides compile-time configuration options for solver build and behavior.
- Parallel execution support: Supports execution on single-processor, shared-memory, and distributed-memory parallel architectures.
- Operating system compatibility: Runs across major operating systems including Linux, Unix, and Windows.
- Bicriteria optimization: Includes capabilities for bicriteria MILP optimization.
- Warm-start and resume: Supports warm-starting and resuming computations after modifying problem data or solver parameters.
- Persistent cut-pool management: Provides persistent management of cut pools across solver runs.
- Sensitivity analysis: Includes basic MILP sensitivity analysis capabilities.
- Bundled solver source: Contains the complete SYMPHONY solver source code (version 5.6) bundled within the package.
Scientific Applications:
- Bioinformatics optimization: Solving integer and mixed-integer optimization problems arising in bioinformatics workflows.
- Combinatorial search: Addressing combinatorial search problems that require branch-and-bound or branch-and-price strategies.
- Constrained statistical modeling: Enabling constrained statistical modeling and parameter selection that require MILP formulations.
- Domain-specific optimization workflows: Supporting deeply specialized, domain-specific optimization workflows through customizable solver behavior and callbacks.
Methodology:
Uses branch-and-cut and branch-and-price algorithms; supports user-defined callback hooks, extensive parameter and compile-time configuration, parallel execution on single-processor, shared-memory, and distributed-memory architectures, warm-starting and resuming, persistent cut-pool management, and basic MILP sensitivity analysis.
Topics
Collections
Details
- License:
- EPL-1.0
- Tool Type:
- command-line tool, library
- Operating Systems:
- Linux, Windows, Mac
- Programming Languages:
- R, C++
- Added:
- 1/17/2017
- Last Updated:
- 12/10/2018
Operations
Data Inputs & Outputs
Publications
Ralphs TK, Güzelsoy M. The Symphony Callable Library for Mixed Integer Programming. Operations Research/Computer Science Interfaces Series. None. doi:10.1007/0-387-23529-9_5.