-
Notifications
You must be signed in to change notification settings - Fork 97
Closed
Labels
Milestone
Description
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
endIf 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.
gdalle