Skip to content

Support standard conic form in FileFormats.SDPA #1796

@kocvara

Description

@kocvara

Hello,

I was re-directed here from

jump-dev/Dualization.jl#134

The point is that when read_from_file reads an SDPA input file, it converts the SDP problem into a "dual" version with additional variables and linear qualities. This makes some solvers (Mosek) very inefficient for the generated model, while the original problem, as stored in the SDPA file would be much easier to solve. Example:

model = read_from_file("sdplib/theta1.dat-s")
set_optimizer(model, Mosek.Optimizer)

generates a model with

  Constraints            : 1275                     
  Scalar variables       : 104   
  Matrix variables       : 1     

while the original formulation would just have

  Constraints            : 104             
  Scalar variables       : 0               
  Matrix variables       : 1     

This is contrary to Matlab/Yalmip treatment of SDPA files:

model = read_from_file("sdplib/thetaG11.dat-s")

gives the problem in format A and

dual_model = dualize(model)

in format B, while Matlab/Yalmip

>> [con, obj] = loadsdpafile('../../../sdplib/thetaG11.dat-s');

gives format B and

[cond,objd,X,free] = dualize(con,obj)

gives format A.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions