Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unexpected behavior switching between Mosek and SCS solvers -- different optimal values #269

Closed
samhopkins opened this issue Jan 5, 2023 · 9 comments

Comments

@samhopkins
Copy link

samhopkins commented Jan 5, 2023

I am working on a problem involving optimizing a polynomial over an ideal. I've put together an SoS-style SDP for this, using SumOfSquares.jl. I'll give a full example replicating this behavior below, but the flavor of the thing is:

model = SoSModel(...)
x = PolyVar{true}("x")
y = PolyVar{true}("y")
z = PolyVar{true}("z")

p = (some polynomial of x,y,z)
obj = (some polynomial of x,y,z)

mons = monomials([x,y,z], 0:2)

@variable(model, multiplier_coeffs[1:length(mons)])

q = (multiplier_coeffs' * mons) * p

@variable(model, t)
@objective(model, Min, t)
@constraint(model, t - obj - q >= 0)

JuMP.optimize!(model)

The weird thing is: I get different optimal values if i use SoSModel(SCS.Optimizer) versus SoSModel(Mosek.Optimizer). Unless I am misreading the outputs of Mosek and SCS, the difference in optimal values is well outside the error tolerance/duality gaps. I would love some help diagnosing this issue -- is this a bug in SoSTools? JuMP? My code?

Here's the smallest counterexample I have so far:

using SumOfSquares
using DynamicPolynomials
using MosekTools
using LinearAlgebra
using SCS
using JuMP

X = [0.5459627556242905,
    1.7288950489507429,
    0.7167681447476535]

Y = [ -54.06002080721971,
    173.77393714162503,
    71.48154370522498]

model = SOSModel(SCS.Optimizer)

n = 3

W = [PolyVar{true}("w" * string(i)) for i=1:n]
alpha = PolyVar{true}("alpha")
beta = PolyVar{true}("beta")

d = 2

ab_mons = monomials([alpha,beta], 0:d)

# build boolean ideal
@variable(model, p_coeff[1:n,1:length(ab_mons)])
p = sum([(p_coeff[i,:]' * ab_mons) * (W[i] - W[i]^2) for i in 1:n])

# build objective function
@variable(model, t)
obj = sum(W)

# one more ideal generator
r1_gen = sum([W[i] * X[i] * ( beta * X[i] + alpha - Y[i]) for i in 1:n])

# multiplier for the ideal
@variable(model, r1_coeff[1:length(ab_mons)])
r1 = (r1_coeff' * ab_mons) * r1_gen 

@constraint(model, t - obj - p - r1>= 0)
@objective(model, Min, t)

@show objective_value(model)

On my machine, using SCS I get objective value 2.039893, while using Mosek I get objective value 2.9999121506536075 (i.e., 3, up to numerical error).

Please let me know if there's anything else I can provide. In the meantime I'll start looking for a smaller counterexample.

@samhopkins
Copy link
Author

For reference, here's the full output when run with Mosek:

Problem
  Name                   :                 
  Objective sense        : minimize        
  Type                   : CONIC (conic optimization problem)
  Constraints            : 67              
  Affine conic cons.     : 0               
  Disjunctive cons.      : 0               
  Cones                  : 0               
  Scalar variables       : 25              
  Matrix variables       : 1               
  Integer variables      : 0               

Optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Freed constraints in eliminator : 9
Eliminator terminated.
Eliminator started.
Freed constraints in eliminator : 0
Eliminator terminated.
Eliminator - tries                  : 2                 time                   : 0.00            
Lin. dep.  - tries                  : 1                 time                   : 0.00            
Lin. dep.  - number                 : 0               
Presolve terminated. Time: 0.00    
Problem
  Name                   :                 
  Objective sense        : minimize        
  Type                   : CONIC (conic optimization problem)
  Constraints            : 67              
  Affine conic cons.     : 0               
  Disjunctive cons.      : 0               
  Cones                  : 0               
  Scalar variables       : 25              
  Matrix variables       : 1               
  Integer variables      : 0               

Optimizer  - threads                : 8               
Optimizer  - solved problem         : the primal      
Optimizer  - Constraints            : 46
Optimizer  - Cones                  : 1
Optimizer  - Scalar variables       : 14                conic                  : 14              
Optimizer  - Semi-definite variables: 1                 scalarized             : 55              
Factor     - setup time             : 0.00              dense det. time        : 0.00            
Factor     - ML order time          : 0.00              GP order time          : 0.00            
Factor     - nonzeros before factor : 1081              after factor           : 1081            
Factor     - dense dim.             : 0                 flops                  : 4.44e+04        
ITE PFEAS    DFEAS    GFEAS    PRSTATUS   POBJ              DOBJ              MU       TIME  
0   1.0e+00  1.0e+00  1.0e+00  0.00e+00   0.000000000e+00   0.000000000e+00   1.0e+00  0.00  
1   2.7e-01  2.7e-01  3.0e-01  -6.58e-03  8.306264924e-01   1.494043574e+00   2.7e-01  0.00  
2   2.4e-02  2.4e-02  4.9e-03  6.92e-01   1.753264970e+00   1.743134319e+00   2.4e-02  0.00  
3   5.4e-03  5.4e-03  7.8e-04  7.45e-01   1.683748734e+00   1.689436447e+00   5.4e-03  0.00  
4   1.1e-03  1.1e-03  9.0e-05  6.32e-01   1.611692762e+00   1.614206562e+00   1.1e-03  0.00  
5   3.1e-04  3.1e-04  3.3e-05  3.07e-01   1.658378874e+00   1.666942976e+00   3.1e-04  0.00  
6   8.7e-05  8.7e-05  7.6e-06  3.28e-01   1.689764442e+00   1.696514310e+00   8.7e-05  0.00  
7   1.9e-05  1.9e-05  2.9e-06  -1.67e-01  1.804147181e+00   1.826683476e+00   1.9e-05  0.00  
8   4.7e-06  4.7e-06  5.6e-07  2.64e-01   1.912918054e+00   1.927301381e+00   4.7e-06  0.00  
9   1.2e-06  1.2e-06  1.4e-07  1.61e-01   1.987100031e+00   2.000923905e+00   1.2e-06  0.00  
10  2.3e-07  2.3e-07  3.9e-08  -5.19e-02  2.085190584e+00   2.115464744e+00   2.3e-07  0.00  
11  7.2e-08  5.2e-08  1.4e-08  -4.82e-01  2.357908276e+00   2.428966265e+00   5.4e-08  0.00  
12  2.6e-08  1.5e-08  3.3e-09  4.36e-02   2.723577891e+00   2.772203720e+00   1.5e-08  0.00  
13  9.3e-09  4.3e-09  4.5e-10  7.51e-01   2.917392397e+00   2.928514207e+00   4.2e-09  0.00  
14  5.6e-09  9.5e-10  4.9e-11  8.92e-01   2.988493611e+00   2.991112942e+00   9.5e-10  0.00  
15  1.1e-09  1.5e-10  3.4e-12  9.91e-01   2.997348779e+00   2.997820897e+00   1.6e-10  0.01  
16  8.0e-10  4.8e-12  1.8e-14  9.98e-01   2.999912136e+00   2.999926599e+00   4.8e-12  0.01  
17  8.0e-10  4.8e-12  1.8e-14  9.98e-01   2.999912136e+00   2.999926599e+00   4.8e-12  0.01  
18  8.0e-10  4.8e-12  1.8e-14  9.98e-01   2.999912136e+00   2.999926599e+00   4.8e-12  0.01  
19  7.9e-10  6.4e-12  1.8e-14  1.00e+00   2.999912151e+00   2.999926611e+00   4.8e-12  0.01  
20  7.9e-10  5.5e-12  1.8e-14  1.00e+00   2.999912151e+00   2.999926611e+00   4.8e-12  0.01  
Optimizer terminated. Time: 0.01    

  0.012575 seconds (9.42 k allocations: 723.805 KiB)
objective_value(model) = 2.9999121506536075

and with SCS:

------------------------------------------------------------------
	       SCS v3.2.1 - Splitting Conic Solver
	(c) Brendan O'Donoghue, Stanford University, 2012
------------------------------------------------------------------
problem:  variables n: 80, constraints m: 122
cones: 	  z: primal zero / dual free vars: 67
	  s: psd vars: 55, ssize: 1
settings: eps_abs: 1.0e-04, eps_rel: 1.0e-04, eps_infeas: 1.0e-07
	  alpha: 1.50, scale: 1.00e-01, adaptive_scale: 1
	  max_iters: 100000, normalize: 1, rho_x: 1.00e-06
	  acceleration_lookback: 10, acceleration_interval: 10
lin-sys:  sparse-direct-amd-qdldl
	  nnz(A): 201, nnz(P): 0
------------------------------------------------------------------
 iter | pri res | dua res |   gap   |   obj   |  scale  | time (s)
------------------------------------------------------------------
     0| 2.21e+01  1.00e+00  2.23e+01 -1.10e+01  1.00e-01  5.67e-03 
   250| 3.77e-03  2.10e-04  1.23e-03  1.58e+00  1.00e-01  1.28e-02 
   500| 3.44e-03  2.86e-05  9.75e-04  1.58e+00  1.00e-01  2.27e-02 
   750| 3.13e-03  4.89e-05  1.18e-03  1.58e+00  1.00e-01  3.40e-02 
  1000| 3.14e+01  3.50e+00  8.30e-03  1.56e+00  1.00e-01  3.90e-02 
  1250| 2.43e-03  6.64e-05  1.55e-03  1.59e+00  1.00e-01  4.48e-02 
  1500| 2.64e-03  7.25e-05  1.69e-03  1.59e+00  1.00e-01  5.35e-02 
  1750| 2.81e-03  7.75e-05  1.79e-03  1.59e+00  1.00e-01  5.97e-02 
  2000| 2.93e-03  8.12e-05  1.87e-03  1.60e+00  1.00e-01  6.53e-02 
  2250| 9.41e-03  1.35e-04  5.99e-03  1.62e+00  1.00e-01  7.44e-02 
  2500| 1.11e-02  5.50e-04  7.20e-03  1.64e+00  1.00e-01  8.14e-02 
  2750| 2.59e-03  7.58e-05  1.64e-03  1.64e+00  1.00e-01  9.09e-02 
  3000| 2.66e-03  7.32e-05  1.62e-03  1.64e+00  1.00e-01  1.06e-01 
  3250| 2.74e-03  7.14e-05  1.59e-03  1.65e+00  1.00e-01  1.23e-01 
  3500| 2.81e-03  6.98e-05  1.55e-03  1.65e+00  1.00e-01  1.38e-01 
  3750| 2.88e-03  6.84e-05  1.52e-03  1.65e+00  1.00e-01  1.46e-01 
  4000| 2.94e-03  6.70e-05  1.49e-03  1.65e+00  1.00e-01  1.50e-01 
  4250| 3.01e-03  6.56e-05  1.46e-03  1.66e+00  1.00e-01  1.58e-01 
  4500| 3.06e-03  6.42e-05  1.43e-03  1.66e+00  1.00e-01  1.66e-01 
  4750| 7.29e+00  6.59e-01  3.81e-04  1.85e+00  1.00e-01  1.71e-01 
  5000| 3.16e-03  6.14e-05  1.37e-03  1.66e+00  1.00e-01  1.79e-01 
  5250| 3.20e-03  6.01e-05  1.34e-03  1.67e+00  1.00e-01  1.95e-01 
  5500| 3.25e-03  5.89e-05  1.31e-03  1.67e+00  1.00e-01  2.04e-01 
  5750| 3.28e-03  5.77e-05  1.29e-03  1.67e+00  1.00e-01  2.14e-01 
  6000| 3.32e-03  5.66e-05  1.26e-03  1.67e+00  1.00e-01  2.20e-01 
  6250| 3.35e-03  5.55e-05  1.24e-03  1.68e+00  1.00e-01  2.26e-01 
  6500| 3.38e-03  5.44e-05  1.21e-03  1.68e+00  1.00e-01  2.36e-01 
  6750| 3.41e-03  5.33e-05  1.19e-03  1.68e+00  1.00e-01  2.43e-01 
  7000| 3.44e-03  5.23e-05  1.17e-03  1.68e+00  1.00e-01  2.59e-01 
  7250| 3.46e-03  5.13e-05  1.14e-03  1.69e+00  1.00e-01  2.77e-01 
  7500| 4.53e+01  5.79e+00  2.39e-04  3.05e+00  1.00e-01  2.92e-01 
  7750| 3.51e-03  4.94e-05  1.10e-03  1.69e+00  1.00e-01  3.10e-01 
  8000| 3.53e-03  4.86e-05  1.08e-03  1.69e+00  1.00e-01  3.21e-01 
  8250| 3.54e-03  4.77e-05  1.06e-03  1.70e+00  1.00e-01  3.40e-01 
  8500| 3.56e-03  4.68e-05  1.04e-03  1.70e+00  1.00e-01  3.54e-01 
  8750| 3.58e-03  4.60e-05  1.02e-03  1.70e+00  1.00e-01  3.65e-01 
  9000| 3.59e-03  4.52e-05  1.00e-03  1.71e+00  1.00e-01  3.79e-01 
  9250| 3.61e-03  4.45e-05  9.85e-04  1.71e+00  1.00e-01  4.20e-01 
  9500| 3.62e-03  4.37e-05  9.68e-04  1.71e+00  1.00e-01  4.72e-01 
  9750| 3.63e-03  4.30e-05  9.51e-04  1.71e+00  1.00e-01  4.84e-01 
 10000| 3.64e-03  4.23e-05  9.35e-04  1.72e+00  1.00e-01  4.96e-01 
 10250| 1.53e+02  1.95e+01  1.20e-03  6.36e+00  1.00e-01  5.09e-01 
 10500| 3.66e-03  4.10e-05  9.04e-04  1.72e+00  1.00e-01  5.20e-01 
 10750| 3.67e-03  4.04e-05  8.89e-04  1.72e+00  1.00e-01  5.26e-01 
 11000| 3.68e-03  3.98e-05  8.74e-04  1.73e+00  1.00e-01  5.42e-01 
 11250| 3.68e-03  3.92e-05  8.60e-04  1.73e+00  1.00e-01  5.46e-01 
 11500| 3.69e-03  3.86e-05  8.46e-04  1.73e+00  1.00e-01  5.61e-01 
 11750| 3.70e-03  3.81e-05  8.32e-04  1.73e+00  1.00e-01  5.71e-01 
 12000| 3.70e-03  3.75e-05  8.19e-04  1.74e+00  1.00e-01  5.90e-01 
 12250| 3.71e-03  3.70e-05  8.07e-04  1.74e+00  1.00e-01  6.04e-01 
 12500| 3.71e-03  3.65e-05  7.94e-04  1.74e+00  1.00e-01  6.18e-01 
 12750| 3.71e-03  3.60e-05  7.82e-04  1.74e+00  1.00e-01  6.27e-01 
 13000| 1.19e+02  1.52e+01  2.74e-03  5.50e+00  1.00e-01  6.42e-01 
 13250| 3.52e-03  3.46e-04  2.26e-03  1.75e+00  3.16e-01  6.47e-01 
 13500| 3.57e-03  3.25e-04  2.17e-03  1.76e+00  3.16e-01  6.53e-01 
 13750| 3.58e-03  3.13e-04  2.08e-03  1.76e+00  3.16e-01  6.66e-01 
 14000| 1.79e+01  6.80e+00  7.37e+00 -3.81e+00  3.16e-01  6.69e-01 
 14250| 3.60e-03  2.92e-04  1.93e-03  1.78e+00  3.16e-01  6.77e-01 
 14500| 3.61e-03  2.82e-04  1.86e-03  1.79e+00  3.16e-01  6.82e-01 
 14750| 3.61e-03  2.73e-04  1.79e-03  1.80e+00  3.16e-01  7.04e-01 
 15000| 3.61e-03  2.65e-04  1.73e-03  1.80e+00  3.16e-01  7.20e-01 
 15250| 3.60e-03  2.57e-04  1.67e-03  1.81e+00  3.16e-01  7.35e-01 
 15500| 3.60e-03  2.50e-04  1.61e-03  1.82e+00  3.16e-01  7.40e-01 
 15750| 3.60e-03  2.43e-04  1.55e-03  1.83e+00  3.16e-01  7.47e-01 
 16000| 3.59e-03  2.36e-04  1.50e-03  1.83e+00  3.16e-01  7.61e-01 
 16250| 3.58e-03  2.29e-04  1.45e-03  1.84e+00  3.16e-01  7.65e-01 
 16500| 3.57e-03  2.23e-04  1.41e-03  1.85e+00  3.16e-01  7.85e-01 
 16750| 1.34e+01  5.43e+00  4.48e-04  3.17e+00  3.16e-01  7.93e-01 
 17000| 3.55e-03  2.12e-04  1.32e-03  1.86e+00  3.16e-01  8.02e-01 
 17250| 3.53e-03  2.07e-04  1.28e-03  1.87e+00  3.16e-01  8.09e-01 
 17500| 3.52e-03  2.01e-04  1.24e-03  1.88e+00  3.16e-01  8.17e-01 
 17750| 3.50e-03  1.96e-04  1.20e-03  1.88e+00  3.16e-01  8.24e-01 
 18000| 3.49e-03  1.92e-04  1.17e-03  1.89e+00  3.16e-01  8.29e-01 
 18250| 3.47e-03  1.87e-04  1.14e-03  1.90e+00  3.16e-01  8.37e-01 
 18500| 3.45e-03  1.83e-04  1.10e-03  1.90e+00  3.16e-01  8.47e-01 
 18750| 3.43e-03  1.78e-04  1.07e-03  1.91e+00  3.16e-01  8.63e-01 
 19000| 3.41e-03  1.74e-04  1.04e-03  1.92e+00  3.16e-01  8.74e-01 
 19250| 3.39e-03  1.70e-04  1.01e-03  1.92e+00  3.16e-01  8.88e-01 
 19500| 1.70e+02  6.70e+01  7.49e+00 -1.12e+01  3.16e-01  9.00e-01 
 19750| 3.34e-03  1.62e-04  9.59e-04  1.94e+00  3.16e-01  9.20e-01 
 20000| 3.31e-03  1.59e-04  9.33e-04  1.94e+00  3.16e-01  9.46e-01 
 20250| 3.28e-03  1.56e-04  9.08e-04  1.95e+00  3.16e-01  9.52e-01 
 20500| 3.24e-03  1.54e-04  8.82e-04  1.96e+00  3.16e-01  9.55e-01 
 20750| 3.19e-03  1.55e-04  8.56e-04  1.96e+00  3.16e-01  9.63e-01 
 21000| 3.13e-03  1.62e-04  8.28e-04  1.97e+00  3.16e-01  9.71e-01 
 21250| 3.06e-03  1.81e-04  7.95e-04  1.97e+00  3.16e-01  9.77e-01 
 21500| 2.95e-03  2.21e-04  7.55e-04  1.98e+00  3.16e-01  9.87e-01 
 21750| 2.80e-03  2.87e-04  7.07e-04  1.98e+00  3.16e-01  9.92e-01 
 22000| 2.57e-03  3.77e-04  6.50e-04  1.99e+00  3.16e-01  9.96e-01 
 22250| 1.02e+01  2.92e+00  5.53e-05  2.01e+00  3.16e-01  1.01e+00 
 22500| 1.86e-03  5.90e-04  5.24e-04  1.99e+00  3.16e-01  1.01e+00 
 22750| 1.47e-03  6.66e-04  4.62e-04  1.99e+00  3.16e-01  1.02e+00 
 23000| 1.23e-03  6.97e-04  4.02e-04  1.99e+00  3.16e-01  1.02e+00 
 23250| 1.07e-03  6.80e-04  3.45e-04  2.00e+00  3.16e-01  1.03e+00 
 23500| 9.12e-04  6.20e-04  2.91e-04  2.00e+00  3.16e-01  1.04e+00 
 23750| 7.67e-04  5.23e-04  2.43e-04  2.00e+00  3.16e-01  1.06e+00 
 24000| 6.41e-04  4.03e-04  2.02e-04  2.00e+00  3.16e-01  1.07e+00 
 24250| 5.57e-04  2.80e-04  1.71e-04  2.00e+00  3.16e-01  1.07e+00 
 24500| 5.26e-04  1.79e-04  1.49e-04  2.00e+00  3.16e-01  1.08e+00 
 24750| 5.05e-04  1.12e-04  1.34e-04  2.00e+00  3.16e-01  1.09e+00 
 25000| 1.07e+00  3.68e-01  5.65e-03  2.00e+00  3.16e-01  1.10e+00 
 25250| 4.79e-04  5.68e-05  1.19e-04  2.00e+00  3.16e-01  1.11e+00 
 25500| 4.71e-04  4.47e-05  1.15e-04  2.00e+00  3.16e-01  1.12e+00 
 25750| 4.64e-04  3.78e-05  1.13e-04  2.00e+00  3.16e-01  1.13e+00 
 26000| 4.58e-04  3.34e-05  1.10e-04  2.00e+00  3.16e-01  1.14e+00 
 26250| 4.53e-04  3.01e-05  1.08e-04  2.00e+00  3.16e-01  1.15e+00 
 26500| 4.48e-04  2.73e-05  1.06e-04  2.00e+00  3.16e-01  1.15e+00 
 26750| 4.43e-04  2.50e-05  1.04e-04  2.00e+00  3.16e-01  1.16e+00 
 27000| 4.39e-04  2.30e-05  1.03e-04  2.00e+00  3.16e-01  1.16e+00 
 27250| 4.35e-04  2.13e-05  1.01e-04  2.00e+00  3.16e-01  1.17e+00 
 27500| 4.32e-04  1.97e-05  9.99e-05  2.00e+00  3.16e-01  1.18e+00 
 27750| 6.91e-01  1.98e-01  1.08e-04  2.04e+00  3.16e-01  1.18e+00 
 28000| 4.25e-04  1.72e-05  9.74e-05  2.00e+00  3.16e-01  1.19e+00 
 28250| 4.22e-04  1.61e-05  9.62e-05  2.00e+00  3.16e-01  1.21e+00 
 28500| 4.19e-04  1.52e-05  9.51e-05  2.00e+00  3.16e-01  1.22e+00 
 28750| 4.16e-04  1.43e-05  9.41e-05  2.00e+00  3.16e-01  1.23e+00 
 29000| 4.13e-04  1.35e-05  9.31e-05  2.00e+00  3.16e-01  1.24e+00 
 29250| 4.11e-04  1.28e-05  9.21e-05  2.00e+00  3.16e-01  1.24e+00 
 29500| 4.10e-04  1.21e-05  9.12e-05  2.00e+00  3.16e-01  1.25e+00 
 29750| 4.13e-04  1.15e-05  9.03e-05  2.00e+00  3.16e-01  1.26e+00 
 30000| 4.15e-04  1.10e-05  8.95e-05  2.01e+00  3.16e-01  1.26e+00 
 30250| 4.17e-04  1.05e-05  8.87e-05  2.01e+00  3.16e-01  1.27e+00 
 30500| 4.95e-01  1.75e-01  2.36e-05  2.05e+00  3.16e-01  1.28e+00 
 30750| 4.21e-04  9.54e-06  8.71e-05  2.01e+00  3.16e-01  1.29e+00 
 31000| 4.23e-04  9.13e-06  8.64e-05  2.01e+00  3.16e-01  1.29e+00 
 31250| 4.24e-04  8.75e-06  8.57e-05  2.01e+00  3.16e-01  1.31e+00 
 31500| 4.26e-04  8.39e-06  8.50e-05  2.01e+00  3.16e-01  1.31e+00 
 31750| 4.27e-04  8.06e-06  8.43e-05  2.01e+00  3.16e-01  1.32e+00 
 32000| 4.29e-04  7.75e-06  8.37e-05  2.01e+00  3.16e-01  1.34e+00 
 32250| 4.30e-04  7.45e-06  8.30e-05  2.01e+00  3.16e-01  1.35e+00 
 32500| 4.31e-04  7.18e-06  8.24e-05  2.01e+00  3.16e-01  1.36e+00 
 32750| 4.32e-04  6.91e-06  8.18e-05  2.01e+00  3.16e-01  1.36e+00 
 33000| 4.33e-04  6.67e-06  8.12e-05  2.01e+00  3.16e-01  1.36e+00 
 33250| 5.88e-01  2.38e-01  1.66e-04  2.06e+00  3.16e-01  1.38e+00 
 33500| 4.35e-04  6.29e-06  8.01e-05  2.01e+00  3.16e-01  1.39e+00 
 33750| 4.36e-04  6.22e-06  7.95e-05  2.01e+00  3.16e-01  1.39e+00 
 34000| 4.36e-04  6.16e-06  7.90e-05  2.01e+00  3.16e-01  1.39e+00 
 34250| 4.37e-04  6.09e-06  7.84e-05  2.01e+00  3.16e-01  1.41e+00 
 34500| 4.38e-04  6.03e-06  7.79e-05  2.01e+00  3.16e-01  1.42e+00 
 34750| 4.38e-04  5.97e-06  7.74e-05  2.01e+00  3.16e-01  1.44e+00 
 35000| 4.39e-04  5.91e-06  7.69e-05  2.01e+00  3.16e-01  1.44e+00 
 35250| 4.39e-04  5.86e-06  7.64e-05  2.01e+00  3.16e-01  1.44e+00 
 35500| 4.39e-04  5.80e-06  7.59e-05  2.01e+00  3.16e-01  1.46e+00 
 35750| 4.40e-04  5.75e-06  7.54e-05  2.01e+00  3.16e-01  1.47e+00 
 36000| 7.88e-01  3.19e-01  1.83e-05  2.07e+00  3.16e-01  1.48e+00 
 36250| 4.40e-04  5.65e-06  7.45e-05  2.01e+00  3.16e-01  1.49e+00 
 36500| 4.41e-04  5.60e-06  7.40e-05  2.01e+00  3.16e-01  1.50e+00 
 36750| 4.41e-04  5.55e-06  7.36e-05  2.01e+00  3.16e-01  1.50e+00 
 37000| 4.41e-04  5.50e-06  7.31e-05  2.01e+00  3.16e-01  1.51e+00 
 37250| 4.41e-04  5.46e-06  7.27e-05  2.01e+00  3.16e-01  1.52e+00 
 37500| 4.41e-04  5.41e-06  7.23e-05  2.01e+00  3.16e-01  1.52e+00 
 37750| 4.41e-04  5.37e-06  7.18e-05  2.01e+00  3.16e-01  1.53e+00 
 38000| 4.41e-04  5.33e-06  7.14e-05  2.01e+00  3.16e-01  1.53e+00 
 38250| 4.41e-04  5.29e-06  7.10e-05  2.01e+00  3.16e-01  1.54e+00 
 38500| 4.41e-04  5.25e-06  7.06e-05  2.01e+00  3.16e-01  1.55e+00 
 38750| 9.94e-01  4.02e-01  2.48e-05  2.09e+00  3.16e-01  1.55e+00 
 39000| 4.41e-04  5.17e-06  6.98e-05  2.01e+00  3.16e-01  1.56e+00 
 39250| 4.42e-04  5.13e-06  6.94e-05  2.01e+00  3.16e-01  1.57e+00 
 39500| 4.42e-04  5.09e-06  6.90e-05  2.01e+00  3.16e-01  1.58e+00 
 39750| 4.41e-04  5.06e-06  6.86e-05  2.01e+00  3.16e-01  1.59e+00 
 40000| 4.41e-04  5.02e-06  6.82e-05  2.01e+00  3.16e-01  1.60e+00 
 40250| 4.41e-04  4.98e-06  6.79e-05  2.01e+00  3.16e-01  1.61e+00 
 40500| 4.41e-04  4.95e-06  6.75e-05  2.01e+00  3.16e-01  1.61e+00 
 40750| 4.41e-04  4.91e-06  6.71e-05  2.01e+00  3.16e-01  1.62e+00 
 41000| 4.41e-04  4.88e-06  6.67e-05  2.01e+00  3.16e-01  1.63e+00 
 41250| 4.41e-04  4.85e-06  6.64e-05  2.01e+00  3.16e-01  1.63e+00 
 41500| 1.29e+00  5.22e-01  1.46e-04  2.11e+00  3.16e-01  1.64e+00 
 41750| 4.40e-04  4.78e-06  6.57e-05  2.01e+00  3.16e-01  1.65e+00 
 42000| 4.40e-04  4.75e-06  6.53e-05  2.01e+00  3.16e-01  1.66e+00 
 42250| 4.40e-04  4.72e-06  6.50e-05  2.01e+00  3.16e-01  1.66e+00 
 42500| 4.40e-04  4.69e-06  6.46e-05  2.01e+00  3.16e-01  1.67e+00 
 42750| 4.39e-04  4.66e-06  6.43e-05  2.01e+00  3.16e-01  1.68e+00 
 43000| 4.39e-04  4.63e-06  6.39e-05  2.01e+00  3.16e-01  1.69e+00 
 43250| 4.39e-04  4.60e-06  6.36e-05  2.01e+00  3.16e-01  1.69e+00 
 43500| 4.38e-04  4.57e-06  6.33e-05  2.01e+00  3.16e-01  1.70e+00 
 43750| 4.38e-04  4.54e-06  6.29e-05  2.01e+00  3.16e-01  1.71e+00 
 44000| 4.38e-04  4.51e-06  6.26e-05  2.01e+00  3.16e-01  1.71e+00 
 44250| 1.64e+00  6.62e-01  2.46e-04  2.13e+00  3.16e-01  1.72e+00 
 44500| 4.37e-04  4.46e-06  6.20e-05  2.01e+00  3.16e-01  1.73e+00 
 44750| 4.36e-04  4.43e-06  6.16e-05  2.01e+00  3.16e-01  1.74e+00 
 45000| 4.36e-04  4.41e-06  6.13e-05  2.01e+00  3.16e-01  1.75e+00 
 45250| 4.36e-04  4.38e-06  6.10e-05  2.01e+00  3.16e-01  1.75e+00 
 45500| 4.35e-04  4.35e-06  6.07e-05  2.01e+00  3.16e-01  1.76e+00 
 45750| 4.35e-04  4.33e-06  6.04e-05  2.01e+00  3.16e-01  1.77e+00 
 46000| 4.34e-04  4.30e-06  6.01e-05  2.01e+00  3.16e-01  1.78e+00 
 46250| 4.34e-04  4.28e-06  5.98e-05  2.01e+00  3.16e-01  1.78e+00 
 46500| 4.33e-04  4.25e-06  5.95e-05  2.01e+00  3.16e-01  1.79e+00 
 46750| 4.33e-04  4.23e-06  5.92e-05  2.01e+00  3.16e-01  1.80e+00 
 47000| 2.01e+00  8.12e-01  4.58e-04  2.15e+00  3.16e-01  1.82e+00 
 47250| 4.32e-04  4.18e-06  5.86e-05  2.02e+00  3.16e-01  1.83e+00 
 47500| 4.31e-04  4.15e-06  5.83e-05  2.02e+00  3.16e-01  1.84e+00 
 47750| 4.31e-04  4.13e-06  5.80e-05  2.02e+00  3.16e-01  1.85e+00 
 48000| 4.30e-04  4.11e-06  5.77e-05  2.02e+00  3.16e-01  1.86e+00 
 48250| 4.30e-04  4.08e-06  5.74e-05  2.02e+00  3.16e-01  1.86e+00 
 48500| 4.29e-04  4.06e-06  5.71e-05  2.02e+00  3.16e-01  1.87e+00 
 48750| 4.27e-04  3.71e-05  1.78e-04  2.02e+00  1.00e+00  1.87e+00 
 49000| 4.25e-04  3.90e-05  1.74e-04  2.02e+00  1.00e+00  1.88e+00 
 49250| 4.23e-04  3.84e-05  1.71e-04  2.02e+00  1.00e+00  1.89e+00 
 49500| 4.21e-04  3.78e-05  1.69e-04  2.02e+00  1.00e+00  1.89e+00 
 49750| 4.20e-04  3.72e-05  1.67e-04  2.02e+00  1.00e+00  1.90e+00 
 50000| 4.18e-04  3.66e-05  1.64e-04  2.02e+00  1.00e+00  1.91e+00 
 50250| 1.28e+00  1.64e+00  1.30e-03  2.27e+00  1.00e+00  1.91e+00 
 50500| 4.14e-04  3.55e-05  1.59e-04  2.02e+00  1.00e+00  1.92e+00 
 50750| 4.13e-04  3.49e-05  1.57e-04  2.02e+00  1.00e+00  1.93e+00 
 51000| 4.11e-04  3.44e-05  1.55e-04  2.02e+00  1.00e+00  1.93e+00 
 51250| 4.09e-04  3.39e-05  1.53e-04  2.02e+00  1.00e+00  1.93e+00 
 51500| 4.08e-04  3.34e-05  1.51e-04  2.02e+00  1.00e+00  1.94e+00 
 51750| 4.06e-04  3.29e-05  1.48e-04  2.02e+00  1.00e+00  1.95e+00 
 52000| 4.04e-04  3.24e-05  1.46e-04  2.02e+00  1.00e+00  1.95e+00 
 52250| 4.02e-04  3.19e-05  1.44e-04  2.02e+00  1.00e+00  1.96e+00 
 52500| 4.01e-04  3.14e-05  1.42e-04  2.02e+00  1.00e+00  1.97e+00 
 52750| 3.99e-04  3.10e-05  1.40e-04  2.02e+00  1.00e+00  1.97e+00 
 53000| 8.58e-01  1.10e+00  1.03e-03  2.21e+00  1.00e+00  1.98e+00 
 53250| 3.96e-04  3.01e-05  1.37e-04  2.02e+00  1.00e+00  1.99e+00 
 53500| 3.94e-04  2.97e-05  1.35e-04  2.02e+00  1.00e+00  1.99e+00 
 53750| 3.92e-04  2.92e-05  1.33e-04  2.02e+00  1.00e+00  2.00e+00 
 54000| 3.91e-04  2.88e-05  1.31e-04  2.02e+00  1.00e+00  2.01e+00 
 54250| 3.89e-04  2.84e-05  1.30e-04  2.02e+00  1.00e+00  2.01e+00 
 54500| 3.87e-04  2.81e-05  1.28e-04  2.02e+00  1.00e+00  2.02e+00 
 54750| 3.86e-04  2.77e-05  1.26e-04  2.02e+00  1.00e+00  2.03e+00 
 55000| 3.84e-04  2.73e-05  1.25e-04  2.02e+00  1.00e+00  2.04e+00 
 55250| 3.83e-04  2.69e-05  1.23e-04  2.02e+00  1.00e+00  2.05e+00 
 55500| 3.81e-04  2.66e-05  1.22e-04  2.02e+00  1.00e+00  2.05e+00 
 55750| 6.54e-01  8.36e-01  6.88e-04  2.18e+00  1.00e+00  2.06e+00 
 56000| 3.78e-04  2.59e-05  1.19e-04  2.02e+00  1.00e+00  2.07e+00 
 56250| 3.77e-04  2.56e-05  1.17e-04  2.03e+00  1.00e+00  2.08e+00 
 56500| 3.75e-04  2.52e-05  1.16e-04  2.03e+00  1.00e+00  2.10e+00 
 56750| 3.74e-04  2.49e-05  1.14e-04  2.03e+00  1.00e+00  2.11e+00 
 57000| 3.72e-04  2.46e-05  1.13e-04  2.03e+  2.761732 seconds (7.15 k allocations: 628.164 KiB)
objective_value(model) = 2.0398619151667488
00  1.00e+00  2.12e+00 
 57250| 3.71e-04  2.43e-05  1.12e-04  2.03e+00  1.00e+00  2.13e+00 
 57500| 3.69e-04  2.40e-05  1.10e-04  2.03e+00  1.00e+00  2.14e+00 
 57750| 3.68e-04  2.37e-05  1.09e-04  2.03e+00  1.00e+00  2.16e+00 
 58000| 3.67e-04  2.34e-05  1.08e-04  2.03e+00  1.00e+00  2.17e+00 
 58250| 3.65e-04  2.31e-05  1.06e-04  2.03e+00  1.00e+00  2.18e+00 
 58500| 5.27e-01  6.73e-01  4.65e-04  2.17e+00  1.00e+00  2.19e+00 
 58750| 3.62e-04  2.26e-05  1.04e-04  2.03e+00  1.00e+00  2.20e+00 
 59000| 3.61e-04  2.23e-05  1.03e-04  2.03e+00  1.00e+00  2.21e+00 
 59250| 3.60e-04  2.21e-05  1.02e-04  2.03e+00  1.00e+00  2.21e+00 
 59500| 3.59e-04  2.18e-05  1.01e-04  2.03e+00  1.00e+00  2.23e+00 
 59750| 3.57e-04  2.16e-05  9.95e-05  2.03e+00  1.00e+00  2.24e+00 
 60000| 3.56e-04  2.13e-05  9.85e-05  2.03e+00  1.00e+00  2.25e+00 
 60250| 3.55e-04  2.11e-05  9.74e-05  2.03e+00  1.00e+00  2.25e+00 
 60500| 3.54e-04  2.09e-05  9.64e-05  2.03e+00  1.00e+00  2.26e+00 
 60750| 3.52e-04  2.07e-05  9.54e-05  2.03e+00  1.00e+00  2.27e+00 
 61000| 3.51e-04  2.04e-05  9.44e-05  2.03e+00  1.00e+00  2.28e+00 
 61250| 4.34e-01  5.55e-01  4.48e-04  2.15e+00  1.00e+00  2.28e+00 
 61500| 3.49e-04  2.00e-05  9.24e-05  2.03e+00  1.00e+00  2.29e+00 
 61750| 3.48e-04  1.98e-05  9.15e-05  2.03e+00  1.00e+00  2.30e+00 
 62000| 3.46e-04  1.96e-05  9.06e-05  2.03e+00  1.00e+00  2.31e+00 
 62250| 3.45e-04  1.94e-05  8.97e-05  2.03e+00  1.00e+00  2.32e+00 
 62500| 3.44e-04  1.92e-05  8.88e-05  2.03e+00  1.00e+00  2.34e+00 
 62750| 3.43e-04  1.90e-05  8.79e-05  2.03e+00  1.00e+00  2.35e+00 
 63000| 3.42e-04  1.88e-05  8.71e-05  2.03e+00  1.00e+00  2.37e+00 
 63250| 3.41e-04  1.86e-05  8.63e-05  2.03e+00  1.00e+00  2.39e+00 
 63500| 3.40e-04  1.84e-05  8.54e-05  2.03e+00  1.00e+00  2.39e+00 
 63750| 3.39e-04  1.83e-05  8.46e-05  2.03e+00  1.00e+00  2.40e+00 
 64000| 3.65e-01  4.67e-01  2.79e-04  2.14e+00  1.00e+00  2.41e+00 
 64250| 3.36e-04  1.79e-05  8.31e-05  2.03e+00  1.00e+00  2.42e+00 
 64500| 3.35e-04  1.77e-05  8.23e-05  2.03e+00  1.00e+00  2.43e+00 
 64750| 3.34e-04  1.76e-05  8.16e-05  2.03e+00  1.00e+00  2.45e+00 
 65000| 3.33e-04  1.74e-05  8.08e-05  2.03e+00  1.00e+00  2.46e+00 
 65250| 3.32e-04  1.72e-05  8.01e-05  2.03e+00  1.00e+00  2.48e+00 
 65500| 3.31e-04  1.71e-05  7.94e-05  2.03e+00  1.00e+00  2.50e+00 
 65750| 3.30e-04  1.69e-05  7.87e-05  2.03e+00  1.00e+00  2.50e+00 
 66000| 3.29e-04  1.68e-05  7.80e-05  2.03e+00  1.00e+00  2.52e+00 
 66250| 3.28e-04  1.66e-05  7.74e-05  2.03e+00  1.00e+00  2.54e+00 
 66500| 3.27e-04  1.65e-05  7.67e-05  2.03e+00  1.00e+00  2.55e+00 
 66750| 3.15e-01  4.03e-01  2.26e-04  2.14e+00  1.00e+00  2.55e+00 
 67000| 3.25e-04  1.62e-05  7.54e-05  2.04e+00  1.00e+00  2.56e+00 
 67250| 3.25e-04  1.61e-05  7.48e-05  2.04e+00  1.00e+00  2.57e+00 
 67500| 3.24e-04  1.59e-05  7.42e-05  2.04e+00  1.00e+00  2.57e+00 
 67750| 3.23e-04  1.58e-05  7.36e-05  2.04e+00  1.00e+00  2.58e+00 
 68000| 3.22e-04  1.57e-05  7.30e-05  2.04e+00  1.00e+00  2.59e+00 
 68250| 3.21e-04  1.55e-05  7.24e-05  2.04e+00  1.00e+00  2.60e+00 
 68500| 3.20e-04  1.54e-05  7.19e-05  2.04e+00  1.00e+00  2.60e+00 
 68750| 3.19e-04  1.53e-05  7.13e-05  2.04e+00  1.00e+00  2.61e+00 
 69000| 3.18e-04  1.52e-05  7.07e-05  2.04e+00  1.00e+00  2.62e+00 
 69250| 3.17e-04  1.50e-05  7.02e-05  2.04e+00  1.00e+00  2.63e+00 
 69500| 2.79e-01  3.57e-01  2.39e-04  2.14e+00  1.00e+00  2.63e+00 
 69750| 3.16e-04  1.48e-05  6.91e-05  2.04e+00  1.00e+00  2.64e+00 
 70000| 3.15e-04  1.47e-05  6.86e-05  2.04e+00  1.00e+00  2.65e+00 
 70250| 3.14e-04  1.46e-05  6.81e-05  2.04e+00  1.00e+00  2.66e+00 
 70500| 3.13e-04  1.45e-05  6.76e-05  2.04e+00  1.00e+00  2.67e+00 
 70750| 3.12e-04  1.44e-05  6.71e-05  2.04e+00  1.00e+00  2.67e+00 
 71000| 3.12e-04  1.43e-05  6.66e-05  2.04e+00  1.00e+00  2.68e+00 
 71250| 3.11e-04  1.41e-05  6.61e-05  2.04e+00  1.00e+00  2.69e+00 
 71500| 3.10e-04  1.40e-05  6.57e-05  2.04e+00  1.00e+00  2.70e+00 
 71750| 3.09e-04  1.39e-05  6.52e-05  2.04e+00  1.00e+00  2.70e+00 
 72000| 3.08e-04  1.38e-05  6.47e-05  2.04e+00  1.00e+00  2.71e+00 
 72250| 2.53e-01  3.23e-01  1.45e-04  2.13e+00  1.00e+00  2.72e+00 
 72500| 3.07e-04  1.36e-05  6.39e-05  2.04e+00  1.00e+00  2.72e+00 
 72750| 3.06e-04  1.35e-05  6.34e-05  2.04e+00  1.00e+00  2.73e+00 
 73000| 3.05e-04  1.34e-05  6.30e-05  2.04e+00  1.00e+00  2.73e+00 
 73250| 3.04e-04  1.34e-05  6.26e-05  2.04e+00  1.00e+00  2.74e+00 
 73425| 3.04e-04  1.33e-05  6.23e-05  2.04e+00  1.00e+00  2.75e+00 
------------------------------------------------------------------
status:  solved
timings: total: 2.75e+00s = setup: 2.70e-03s + solve: 2.75e+00s
	 lin-sys: 2.67e-01s, cones: 2.02e+00s, accel: 3.65e-01s
------------------------------------------------------------------
objective = 2.039893
------------------------------------------------------------------

@samhopkins
Copy link
Author

One more followup, explaining the example a little bit --

In the example we have 5 symbolic variables, $w_1,w_2,w_3,\alpha,\beta$, and six numbers $X_1,X_2,X_3,Y_1,Y_2,Y_3$, and we are trying to maximize $\sum w_i$ subject to $w_i^2 = w_i$ (i.e. $w_i$'s are boolean) and $\sum w_i X_i (X_i \beta + \alpha - Y_i) = 0$.

Note that this optimization problem has a nearly-feasible solution with $w_1 = w_2 = w_3 = 1$, $\alpha = -96.6442179237748$, and $\beta = 160.8249567162244$. Which means that what SCS is saying can't be right; the best upper bound here has to be $3$ (via the constraints $w_i^2 = w_i$ you should get the upper bound of $3$).

For fun, I ran with CSDP as well; it agrees (more or less) with SCS. Here's the output:

CSDP 6.2.0
Iter:  0 Ap: 0.00e+00 Pobj:  0.0000000e+00 Ad: 0.00e+00 Dobj:  0.0000000e+00 
Iter:  1 Ap: 9.31e-01 Pobj: -1.6135092e+00 Ad: 9.01e-01 Dobj: -3.4160350e+00 
Iter:  2 Ap: 8.98e-01 Pobj: -5.7107815e+00 Ad: 6.52e-01 Dobj: -2.1654628e+01 
Iter:  3 Ap: 7.95e-01 Pobj: -6.3717702e+00 Ad: 8.84e-01 Dobj: -1.2646548e+00 
Iter:  4 Ap: 9.15e-01 Pobj: -4.7156275e+00 Ad: 9.42e-01 Dobj: -1.0205745e+00 
Iter:  5 Ap: 8.11e-01 Pobj: -2.4310395e+00 Ad: 9.50e-01 Dobj: -1.2787369e+00 
Iter:  6 Ap: 7.14e-01 Pobj: -2.2031852e+00 Ad: 7.31e-01 Dobj: -2.0111946e+00 
Iter:  7 Ap: 7.32e-01 Pobj: -2.1301561e+00 Ad: 7.99e-01 Dobj: -2.1757786e+00 
Iter:  8 Ap: 8.77e-01 Pobj: -2.0852556e+00 Ad: 9.40e-01 Dobj: -2.2458908e+00 
Iter:  9 Ap: 8.79e-01 Pobj: -2.0191882e+00 Ad: 9.03e-01 Dobj: -2.2527854e+00 
Iter: 10 Ap: 1.00e+00 Pobj: -2.0141262e+00 Ad: 8.87e-01 Dobj: -2.2543288e+00 
Iter: 11 Ap: 1.00e+00 Pobj: -2.0123325e+00 Ad: 1.00e+00 Dobj: -2.2545924e+00 
Iter: 12 Ap: 1.00e+00 Pobj: -2.0122468e+00 Ad: 9.93e-01 Dobj: -2.2546185e+00 
  0.507623 seconds (14.60 k allocations: 1.061 MiB)
objective_value(model) = 2.012251800157392
Stuck at edge of primal feasibility, giving up. 
Failure: return code is 5 
Primal objective value: -2.0122518e+00 
Dual objective value: -2.2546326e+00 
Relative primal infeasibility: 2.06e-05 
Relative dual infeasibility: 5.86e-07 
Real Relative Gap: -4.60e-02 
XZ Relative Gap: 2.47e-06 
DIMACS error measures: 2.81e-05 0.00e+00 9.34e-07 0.00e+00 -4.60e-02 2.47e-06

So, CSDP doesn't solve all the way, but it says that opt should be between 2.01 and 2.25, which is consistent with SCS but inconsistent with Mosek.

@blegat
Copy link
Member

blegat commented Jan 5, 2023

It seems Mosek doesn't converge, the solution_summary gives

* Solver : Mosek

* Status
  Result count       : 1
  Termination status : SLOW_PROGRESS
  Message from the solver:
  "Mosek.MSK_RES_TRM_STALL"

* Candidate solution (result #1)
  Primal status      : UNKNOWN_RESULT_STATUS
  Dual status        : UNKNOWN_RESULT_STATUS
  Objective value    : 2.96375e+00
  Objective bound    : 2.96375e+00
  Relative gap       : 0.00000e+00
  Dual objective value : 2.96955e+00

* Work counters
  Solve time (sec)   : 1.01804e-02
  Simplex iterations : 0
  Barrier iterations : 18
  Node count         : 0

@samhopkins
Copy link
Author

Maybe I'm misreading the output of solution summary, but it looks like Mosek has bounded the optimum value between 2.96375 and 2.96955, no? (That is pretty confusing because we're solving a minimization problem, so the dual bound should be less than the best primal feasible solution...)

@odow
Copy link
Member

odow commented Jan 5, 2023

Maybe I'm misreading the output of solution summary

The bits to read are:

Termination status : SLOW_PROGRESS
Primal status : UNKNOWN_RESULT_STATUS
Dual status : UNKNOWN_RESULT_STATUS

Mosek failed. It didn't find an optimal solution, and it isn't sure what the current solution values represent. Typically, we'd expect

Termination status : OPTIMAL
Primal status : FEASIBLE_POINT
Dual status : FEASIBLE_POINT

@samhopkins
Copy link
Author

a) thanks for the quick attention -- I really appreciate it!!
b) that's very strange to me -- it's not such a crazy SDP. Is there some rule of thumb advice for what to do when Mosek doesn't converge?
c) the issue with SCS and CSDP still seems unresolved -- it seems like they are giving optimal values which should be infeasible (their optimal values are around 2, and it shouldn't be possible to do better than 3)

@odow
Copy link
Member

odow commented Jan 5, 2023

c) the issue with SCS and CSDP still seems unresolved

In most cases, I would say trust Mosek over SCS and CSDP. If Mosek can't solve it and SCS and CSDP are reporting solutions, then it's likely that the solutions they report are incorrect, and that Mosek is "correct" in it being a difficult SDP to solve.

@lkapelevich
Copy link
Contributor

Hi @samhopkins. Not sure if this helps, but regarding the output from the second-order solvers: we can't use the objective values early on to conclude that the optimal objective value is in some interval. It's normal for the primal/dual objectives to oscillate throughout the solve.

@odow
Copy link
Member

odow commented Apr 10, 2023

Closing because this is not a bug in SumOfSquares.jl. Mosek doesn't converge for this problem.

@odow odow closed this as completed Apr 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants