Skip to content

[Constraint Programming] Switch to the Cbc binary instead of linking the library #710

@Jiahui17

Description

@Jiahui17

The Cbc library requires many compiler flags that are explicitly disabled by llvm, for instance:

  • RTTI
  • Exceptions

Although it is possible to enable them (e.g., through LLVM_ENABLE_RTTI, etc), they are probably less tested in the upstream llvm project. So, Dynamatic should not link Cbc

To avoid linking to the Cbc library, we should let our LPSolver class write the LP formulation as a .lp format, use the Cbc binary to solve it, and parse the generated *.sol back.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions