This helper function does the heavy lifting for optimize_effect_2.
For a given casual query, it computes either a lower or an upper bound on the corresponding causal effect.
Arguments
- opt
A string. Either
"min"or"max"for a lower or an upper bound, respectively.- obj
An object as returned by the function
analyze_graph. Contains the casual query to be estimated.- redundant
If TRUE, removed redundant constraints as a preprocessing step. Can speed things up.
Value
An object of class optbound; a list with the following named components:
expris the main output; an expression of the bound as a print-friendly string,typeis either"lower"or"upper"according to the type of the bound,dual_verticesis a numeric matrix whose rows are the vertices of the convex polytope of the dual LP,dual_vrepis a V-representation of the dual convex polytope, including some extra data.