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.

Documentation

Downloads

Links