Skip to content

Tuple function for epigraph formulations #1624

@matbesancon

Description

@matbesancon

Problem

MOI favoured conic formulations for many constraints, lots of which are of the form:

(t,x) in K <==> t >= f(x)

Some solvers support compact constraints instead of conic ones, L2-norm ball instead of SOC, bound on the sum of absolute values instead of L1-norm constraint, etc. FrankWolfe.jl falls in that category, there might be others I'm not aware of.

Proposal

struct TupleFunction{TT <: Union{AbstractScalarFunction, Real}, TX <: AbstractVectorFunction} <: AbstractVectorFunction
    t::TT
    x::TX
end

If TT is a VariableIndex or scalar affine term, this is equivalent to what we currently do with VectorAffineFunction. This can be bridged easily from the type of the TupleFunction.
If TT is a Real and x is a vector of variables or vector affine function, then we create a compact set instead of a cone.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions