help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-glpk] Bug or confused user?


From: Reginald Beardsley
Subject: [Help-glpk] Bug or confused user?
Date: Wed, 1 Sep 2010 08:48:57 -0700 (PDT)

I'm trying to solve a basis pursuit using glpsol.  Most of the time it works 
fine, but a few cases fail.  I've been able to reduce a failure case down to 
the short example that follows. 

Comments or advice?

Thanks,
Reg


The details:

I'm using  GLPSOL: GLPK LP/MIP Solver, v4.44 w/ GMP V 4.3.2 on a Solaris 10 x86 
system.

The example attempts to solve for the multiplicative and
additive constants seen here.  The input is exact, so I'd expect the error to 
be zero. NB the example is constructed from a manual approximation to real data 
and reproduces the issue seen w/ real data.

m000_000 = 1.8e9
mc       = -2.5e4

1.761766315436816104e-05 * 1.8e9 - 2.5e4 = 6711.79
3.931749670328427322e-05 * 1.8e9 - 2.5e4 = 45771.5
5.452595896563653798e-05 * 1.8e9 - 2.5e4 = 73146.7
6.644022638020372074e-05 * 1.8e9 - 2.5e4 = 94592.4
7.594246564290120299e-05 * 1.8e9 - 2.5e4 = 111696

My input file in CPLEX format is:

minimize
   z : + a000  + a001  + a002  + a003  + a004 
subject to
   mc  +  1.761766315436816104e-05 m000_000  + x000 - a000  =      6711.79

   mc  +  3.931749670328427322e-05 m000_000  + x001 - a001  =      45771.5

   mc  +  5.452595896563653798e-05 m000_000  + x002 - a002  =      73146.7

   mc  +  6.644022638020372074e-05 m000_000  + x003 - a003  =      94592.4

   mc  +  7.594246564290120299e-05 m000_000  + x004 - a004  =       111696

   mc  +  1.761766315436816104e-05 m000_000  - y000 + a000  =      6711.79

   mc  +  3.931749670328427322e-05 m000_000  - y001 + a001  =      45771.5

   mc  +  5.452595896563653798e-05 m000_000  - y002 + a002  =      73146.7

   mc  +  6.644022638020372074e-05 m000_000  - y003 + a003  =      94592.4

   mc  +  7.594246564290120299e-05 m000_000  - y004 + a004  =       111696


bounds

  0.0 <= m000_000 

  x000 >= 0.0
  x001 >= 0.0
  x002 >= 0.0
  x003 >= 0.0
  x004 >= 0.0

  y000 >= 0.0
  y001 >= 0.0
  y002 >= 0.0
  y003 >= 0.0
  y004 >= 0.0

  a000 >= 0.0
  a001 >= 0.0
  a002 >= 0.0
  a003 >= 0.0
  a004 >= 0.0

end

I'm running glpsol w/:

glpsol --exact --lp in -o out

Which produces:

Problem:    
Rows:       10
Columns:    17
Non-zeros:  40
Status:     OPTIMAL
Objective:  z = 36634.69154 (MINimum)

   No.   Row name   St   Activity     Lower bound   Upper bound    Marginal
------ ------------ -- ------------- ------------- ------------- -------------
     1 r.4          NS       6711.79       6711.79             =            -1 
     2 r.6          NS       45771.5       45771.5             =            -1 
     3 r.8          NS       73146.7       73146.7             =            -1 
     4 r.10         NS       94592.4       94592.4             =     -0.232702 
     5 r.12         NS        111696        111696             =         < eps
     6 r.15         NS       6711.79       6711.79             =         < eps
     7 r.17         NS       45771.5       45771.5             =         < eps
     8 r.19         NS       73146.7       73146.7             =         < eps
     9 r.21         NS       94592.4       94592.4             =      0.767298 
    10 r.23         NS        111696        111696             =             1 

   No. Column name  St   Activity     Lower bound   Upper bound    Marginal
------ ------------ -- ------------- ------------- ------------- -------------
     1 a000         B        18370.9             0               
     2 a001         B        10205.7             0               
     3 a002         B         4483.1             0               
     4 a003         B              0             0               
     5 a004         B        3575.05             0               
     6 mc           NL             0             0                      1.4654 
     7 m000_000     B    1.42372e+09             0               
     8 x000         NL             0             0                           1 
     9 x001         NL             0             0                           1 
    10 x002         NL             0             0                           1 
    11 x003         NL             0             0                    0.232702 
    12 x004         B        7150.11             0               
    13 y000         B        36741.7             0               
    14 y001         B        20411.4             0               
    15 y002         B         8966.2             0               
    16 y003         NL             0             0                    0.767298 
    17 y004         NL             0             0                           1 

Karush-Kuhn-Tucker optimality conditions:

KKT.PE: max.abs.err = 9.85e-06 on row 4
        max.rel.err = 5.20e-11 on row 4
        High quality

KKT.PB: max.abs.err = 5.39e-06 on row 2
        max.rel.err = 1.18e-10 on row 2
        High quality

KKT.DE: max.abs.err = 3.31e-15 on column 7
        max.rel.err = 3.31e-15 on column 7
        High quality

KKT.DB: max.abs.err = 0.00e+00 on row 0
        max.rel.err = 0.00e+00 on row 0
        High quality

End of output



      



reply via email to

[Prev in Thread] Current Thread [Next in Thread]