Cbc icon indicating copy to clipboard operation
Cbc copied to clipboard

QP: wrong optimal value in solution file

Open sergey-mogilnikov-kpbs opened this issue 1 year ago • 1 comments

The problem is follow:

NAME          problem
ROWS
 N  obj
 G  c1
COLUMNS
    a         obj                  1
    a         c1                   1
    b         obj                  1
    b         c1                   1
RHS
    rhs       c1                  10
QUADOBJ
    a         a                    1
    a         b                    2
    b         b                    7
ENDATA

Logs and solution file are given below (solution was printed to the screen with command "solution $"):

Executing algorithm...

Executing on prod-exec-7.neos-server.org
Welcome to the CBC MILP Solver 
Version: 2.10.7 
Build Date: Apr 19 2022 

command line - /opt/coin/cbc cbc.mps - (default strategy 1)
At line 1 NAME          problem
At line 2 ROWS
At line 5 COLUMNS
At line 10 RHS
At line 12 QUADOBJ
Problem problem has 1 rows, 2 columns and 2 elements
Coin0008I problem read with 0 errors
At line 16 ENDATA
Switching to line mode
Coin:4 elements in sparse Cholesky, flop count 14
0 Primal 60200 Dual -210100 Complementarity 270300 - 0 fixed, rank 4
1 Primal 13344.911 Dual -12537.109 Complementarity 25882.021 - 0 fixed, rank 4
2 Primal 2062.0541 Dual -1716.3759 Complementarity 3778.4301 - 0 fixed, rank 4
3 Primal 356.42776 Dual -180.25674 Complementarity 536.6845 - 0 fixed, rank 4
4 Primal 95.873697 Dual 36.873803 Complementarity 58.999893 - 0 fixed, rank 4
5 Primal 65.120661 Dual 59.554227 Complementarity 5.5664336 - 0 fixed, rank 4
6 Primal 60.140509 Dual 59.995369 Complementarity 0.1451402 - 0 fixed, rank 4
7 Primal 60.000707 Dual 59.999979 Complementarity 0.00072841202 - 0 fixed, rank 4
8 Primal 60.000004 Dual 60 Complementarity 3.6420167e-06 - 0 fixed, rank 4
9 Primal 60.000001 Dual 60 Complementarity 1.2139844e-06 - 0 fixed, rank 4
10 Primal 60 Dual 60 Complementarity 4.0464046e-07 - 0 fixed, rank 4
11 Primal 60 Dual 60 Complementarity 1.3485916e-07 - 0 fixed, rank 4
12 Primal 60 Dual 60 Complementarity 4.4932049e-08 - 0 fixed, rank 4
Optimal
At end primal/dual infeasibilities 0/0, complementarity gap 0, objective 60
Optimal objective 60.00000001 - 24 iterations time 0.002
Coin:Optimal - objective value 10.00000000
      0 a                     10           1.4984352e-09
      1 b          1.4974351e-09                      10
Coin:Total time (CPU seconds):       0.00   (Wallclock seconds):       0.00

So, real optimum is 60; optimum is solution file is 10 (see row "Coin:Optimal - objective value 10.00000000"). There is no this problem in clp.

I guess that cbc loose quadratic part of optimization expression when it prints solution to the file.

sergey-mogilnikov-kpbs avatar Oct 31 '22 11:10 sergey-mogilnikov-kpbs