StructDualDynProg.jl icon indicating copy to clipboard operation
StructDualDynProg.jl copied to clipboard

[RFC] Cut interface

Open blegat opened this issue 8 years ago • 3 comments

An AbstractNode must implements getoptimalitycut and getfeasibilitycut.

  • getoptimalitycut must returns a MinFunCut (do you prefer UBFunCut ?) (θ ≦ ⟨a, x⟩ + β) or a MaxFunCut (do you prefer LBFunCut ?) (θ ≧ ⟨a, x⟩ + β).
  • getfeasibilitycut must returns a LBCut (⟨a, x⟩ ≧ β) or a UBCut (⟨a, x⟩ ≦ β). The 4 cut types will be defined in CutPruners. What do you think ?

blegat avatar Jun 24 '17 12:06 blegat

Why not parameterise the cuts by :lb or :ub?

odow avatar Jun 25 '17 07:06 odow

We could have something like that too but having different types can be helpful when we want to do multiple dispatch. We could also have Cut{Fun, LB} where Fun and LB are boolean

blegat avatar Jun 25 '17 08:06 blegat

I think these notations make already sense with those used in CutPruners.jl: https://github.com/JuliaPolyhedra/CutPruners.jl/blob/master/src/abstract.jl#L17

frapac avatar Jun 26 '17 08:06 frapac