[Coin-discuss] Clp 1.6.0 fails to make visible progress on a large model
Erling D. Andersen
e.d.andersen at mosek.com
Tue Mar 4 08:28:21 EST 2008
Hi
I tried downloading your models and solved it with the MOSEK interior-point optimizer.
The large one solved in 755sec on a reasonable fast CPU.
Erling
At 12:54 04-03-2008, Sebastian Nowozin wrote:
>Hello everybody,
>
>for a machine learning multiclass classification model we use a large
>linear program to estimate optimal model parameters explaining given
>training data. The model variables are highly coupled in the sense that
>for most variables there exist a constraint coupling any pair of variables.
>
>As we do not have the training data yet, I generated models with random
>data for testing my code and the solver. The actual data might behave
>much better due to redundancy and simplicity, however we plan to solve
>problems roughly ten times the size of the problem below (so the final
>nnz would be approximately 100 million). I generate the model directly
>in a .cpp file, but write a MPS file for debugging purposes.
>
>However, it seems COIN Clp 1.6.0 shipped with Osi 0.97.1 is unable to
>solve the problem.
>
>I put two .mps.bz2 files of structurally identical problems here:
> http://user.cs.tu-berlin.de/~nowozin/mps/
>The "easyone.mps" is small and all solvers I tried solve it without
>problems. The "toughone.mps" is quite large (99100 rows, 7401 columns,
>~12.9 million nnz, you need 1GB free RAM to load/solve the model).
>
>The output of Clp looks like this, where the number of infeasibilities
>does not seem to decrease.
>
>Clp:import toughone.mps
>At line 1 NAME BLANK
>At line 2 ROWS
>At line 99104 COLUMNS
>At line 6541006 RHS
>At line 6541057 BOUNDS
>At line 6541059 ENDATA
>Problem BLANK has 99100 rows, 7401 columns and 12876400 elements
>Model was imported from ./toughone.mps in 7.65248 seconds
>Clp:solve
>Dual of model has 7401 rows and 99100 columns
>Coin0506I Presolve 7401 (0) rows, 99100 (0) columns and 12876400 (0)
>elements
>Clp0014I Perturbing problem by 0.001 % of 0.73339 - largest nonzero
>change 3.02687e-05 (% 0.0846218) - largest zero change 9.99969e-05
>Clp0006I 0 Obj -482.729 Primal inf 2.39382e+06 (6401)
>Clp0006I 223 Obj -482.592 Primal inf 1.54823e+07 (4660)
>Clp0006I 446 Obj -482.52 Primal inf 6.22071e+07 (4180)
>Clp0006I 669 Obj -482.488 Primal inf 3.04425e+08 (3923)
>Clp0006I 892 Obj -482.471 Primal inf 6.82636e+07 (4045)
>Clp0006I 1115 Obj -482.458 Primal inf 1.77363e+08 (4052)
>Clp0006I 1338 Obj -482.443 Primal inf 1.39113e+08 (4286)
>Clp0006I 1561 Obj -482.43 Primal inf 2.07872e+08 (4257)
>Clp0006I 1784 Obj -482.419 Primal inf 6.22298e+07 (4334)
>Clp0006I 2007 Obj -482.405 Primal inf 1.17816e+08 (4379)
>Clp0006I 2230 Obj -482.393 Primal inf 2.05141e+08 (4363)
>Clp0006I 2453 Obj -482.381 Primal inf 7.36075e+07 (4400)
>Clp0006I 2676 Obj -482.368 Primal inf 7.92307e+07 (4414)
>Clp0006I 2899 Obj -482.356 Primal inf 1.06462e+08 (4462)
>Clp0006I 3122 Obj -482.343 Primal inf 1.53225e+08 (4488)
>Clp0006I 3345 Obj -482.33 Primal inf 1.09378e+08 (4496)
>Clp0006I 3568 Obj -482.319 Primal inf 1.42576e+08 (4505)
>Clp0006I 3791 Obj -482.308 Primal inf 4.68459e+08 (4677)
>Clp0006I 4014 Obj -482.298 Primal inf 1.60121e+08 (4581)
>Clp0006I 4237 Obj -482.289 Primal inf 4.27189e+07 (4629)
>Clp0006I 4460 Obj -482.277 Primal inf 6.13483e+07 (4631)
>Clp0006I 4683 Obj -482.267 Primal inf 5.522e+07 (4790)
>Clp0006I 4906 Obj -482.254 Primal inf 4.94801e+07 (4755)
>Clp0006I 5086 Obj -482.244 Primal inf 4.86999e+08 (4802)
>Clp0006I 5269 Obj -482.236 Primal inf 1.8662e+09 (4747)
>Clp0006I 5352 Obj -482.23 Primal inf 3.93626e+07 (4805)
>Clp0006I 5575 Obj -482.217 Primal inf 6.28133e+07 (4862)
>Clp0006I 5798 Obj -482.205 Primal inf 4.68871e+07 (4840)
>Clp0006I 6021 Obj -482.192 Primal inf 3.12843e+08 (4807)
>Clp0006I 6133 Obj -482.184 Primal inf 4.45966e+07 (4830)
>Clp0006I 6356 Obj -482.172 Primal inf 5.81011e+07 (4898)
>Clp0006I 6579 Obj -482.161 Primal inf 6.83596e+07 (4901)
>Clp0006I 6693 Obj -482.156 Primal inf 3.40449e+08 (4926)
>Clp0006I 6916 Obj -482.143 Primal inf 7.19014e+07 (4930)
>Clp0006I 7135 Obj -482.129 Primal inf 1.2956e+08 (4975)
>Clp0006I 7358 Obj -482.118 Primal inf 1.05719e+08 (5062)
>Clp0006I 7581 Obj -482.106 Primal inf 7.27903e+07 (4956)
>...
>
>I tried the primal simplex, dual simplex and barrier methods with very
>similar behaviour. Due to the large values, it seems there may be a
>scaling problem. One nice thing I noted though is the low memory usage
>of Clp.
>
>GLPK 4.16 nibbled away the whole night on the problem, consistently
>decreasing the number of infeasibilities (I assume it would have solved
>the problem eventually, but I aborted after 95,000 iterations and around
>10 hours of computation time).
>
>I also tried Ilog Cplex 9.1.0, which seems to make consistent progress
>in solving the problem, but now is at ~15,000 seconds and iteration
>143,500 and still runs. I will save the optimal solution once obtained,
>if you are interested.
>
>
>I know the above problem is difficult, but it would be great if we could
>use Clp to solve it. Do you have advice on pivoting rules, scaling and
>perturbations I should try? I am willing to give up some accuracy for
>fast approximate solutions, as variations of the problem will be solved
>many times (for model selection and estimating generalization
>performance of the resulting classifier). Also, the achieved objective
>is more important than the variable values, as the objective has a
>direct geometric interpretation.
>
>Would it help if I provide a good initial basic solution? (As I do not
>know how to generate a basis for it I would just add constraints fixing
>all variables, solve, then remove the constraints and resolve. Does
>this make sense or is there a better way?)
>
>Thanks,
>Sebastian
>_______________________________________________
>Coin-discuss mailing list
>Coin-discuss at list.coin-or.org
>http://list.coin-or.org/mailman/listinfo/coin-discuss
*************************************************************************
MOSEK ApS
C/O Symbion Science Park
Fruebjergvej 3, Boks 16
DK-2100 Copenhagen O
Denmark
Phone (work): +45 3917 9907
Mobile-phone: +45 2362 9520
Fax: +45 3917 9823
Email: e.d.andersen at mosek.com
Homepage: http://erling.andersen.name
*************************************************************************
More information about the Coin-discuss
mailing list