[Cbc-tickets] Re: [COIN-OR Branch-and-Cut MIP Solver] #36: CbcSolve.exe (windows) stable release 1.2 returns wrong optimum

COIN-OR Branch-and-Cut MIP Solver coin-trac at coin-or.org
Tue Oct 30 07:56:14 EDT 2007


#36: CbcSolve.exe (windows) stable release 1.2 returns wrong optimum
-------------------------+--------------------------------------------------
  Reporter:  mserg       |       Owner:  somebody
      Type:  defect      |      Status:  new     
  Priority:  major       |   Milestone:          
 Component:  component1  |     Version:          
Resolution:              |    Keywords:          
-------------------------+--------------------------------------------------
Comment (by mserg):

 Seems you use other version... See the follow step by step instruction:

 Step 1. Download the file "http://www.coin-
 or.org/download/source/Cbc/Cbc-1.2.0.zip" and unzip it
 Step 2. Open "Cbc.sln" in Visual Studio 2005 and set in menu
 Build/Configuration Manager "Release"
 Step 3. Build the solution. I have 93 link errors like that:
   Error 77 error LNK2019: unresolved external symbol "public: void
 __thiscall OsiSolverInterface::setRowColNames(class CoinModel &)"
 (?setRowColNames at OsiSolverInterface@@QAEXAAVCoinModel@@@Z) referenced in
 function "public: virtual int __thiscall
 OsiSolverInterface::loadFromCoinModel(class CoinModel &,bool)"
 (?loadFromCoinModel at OsiSolverInterface@@UAEHAAVCoinModel@@_N at Z) libosi.lib
 Step 4. Add OsiNames.cpp to libosi project and build again. I receive 12
 error like:
   Error 1 error LNK2019: unresolved external symbol "public: __thiscall
 OsiSimpleInteger::OsiSimpleInteger(class OsiSolverInterface const *,int)"
 (??0OsiSimpleInteger@@QAE at PBVOsiSolverInterface@@H at Z) referenced in
 function "public: void __thiscall OsiSolverInterface::findIntegers(bool)"
 (?findIntegers at OsiSolverInterface@@QAEX_N at Z) libosi.lib
 Setp 5. Add OsiBranchingObject.cpp to the project libosi.lib and build
 solution again. Ok, compiled.
 Step 6. Download https://projects.coin-
 or.org/Cbc/attachment/ticket/36/mps.zip,
   unpack it to ....\Cbc-1.2.0\MSVisualStudio\v8\Cbc\cbcSolve\Release\
 Step 7. Run
   cbcSolve.exe Shipping.mps
 What is the minimum? I have 25601 ...
 See the log:
 ************************************
 Coin Cbc and Clp Solver version 1.02.00, build Oct 30 2007
 command line - cbcSolve.exe Shipping.mps
 At line 1 NAME Shipping
 At line 2 ROWS
 At line 1899 COLUMNS
 At line 5716 RHS
 At line 5819 BOUNDS
 At line 7593 ENDATA
 Problem Shipping has 1895 rows, 1773 columns and 7172 elements
 Model was imported from .\Shipping.mps in 0.016 seconds
 Optimal - objective value 18749
 Cgl0006I 16 SOS (1347 members out of 1773) with 0 overlaps - too much
 overlap or too many others
 Cgl0003I 123 fixed, 0 tightened bounds, 0 strengthened rows, 0
 substitutions
 Cgl0003I 65 fixed, 0 tightened bounds, 0 strengthened rows, 0
 substitutions
 Cgl0003I 30 fixed, 0 tightened bounds, 0 strengthened rows, 0
 substitutions
 Cgl0003I 16 fixed, 0 tightened bounds, 0 strengthened rows, 0
 substitutions
 Cgl0003I 8 fixed, 0 tightened bounds, 0 strengthened rows, 0 substitutions
 Cgl0003I 2 fixed, 0 tightened bounds, 0 strengthened rows, 0 substitutions
 Cgl0003I 9 fixed, 0 tightened bounds, 0 strengthened rows, 0 substitutions
 Cgl0004I processed model has 1418 rows, 1307 columns (1307 integer) and
 5890 elements
 processed model has 1418 rows, 1307 columns and 5890 elements
 Optimal - objective value 19264.6
 1307 integer variables
 Cbc0009I Objective coefficients multiple of 1
 cutoff increment increased from 1e-005 to 0.999

 pass   1: obj.   13.56594 --> up =     0 , down =     0 -- rand =   17 (
 17)
 pass   2: obj.   16.15786 --> up =     1 , down =     9
 pass   3: obj.    7.35244 --> up =     0 , down =     0 -- rand =   15 (
 15)
 pass   4: obj.   10.22393 --> up =     2 , down =     7
 pass   5: obj.    2.93948 --> up =     0 , down =     0 -- rand =   18 (
 19)
 pass   6: obj.    6.80558 --> up =     1 , down =     5
 pass   7: obj.    3.26336 --> up =     0 , down =     1
 pass   8: obj.    3.00020 --> up =     0 , down =     0 -- rand =   10 (
 24)
 pass   9: obj.    3.15385 --> up =     0 , down =     3
 pass  10: obj.    1.47253 --> up =     0 , down =     1
 pass  11: obj.    1.00000 --> up =     0 , down =     0 -- rand =    4 (
 19)
 pass  12: obj.    3.00000 --> up =     0 , down =     4 Perturbation
 applied
 pass  13: obj.  157.03010 --> up =     0 , down =   157
 pass  14: obj.    1.43318 --> up =     0 , down =     0 -- rand =    7 (
 16)
 pass  15: obj.    3.24769 --> up =     0 , down =     4
 pass  16: obj.    1.48485 --> up =     0 , down =     0 -- rand =    5 (
 12)
 pass  17: obj.    2.66667 --> up =     0 , down =     2
 pass  18: obj.    1.13580 --> up =     0 , down =     0 -- rand =    6 (
 13)
 pass  19: obj.    2.85714 --> up =     0 , down =     1
 pass  20: obj.    2.38462 -->  - no solution found
 Cbc0031I 123 added rows had average density of 7.02439
 Cbc0013I At root node, 123 cuts changed objective from 19264.6 to 25253.7
 in 38 passes
 Cbc0014I Cut generator 0 (Probing) - 327 row cuts (123 active), 2 column
 cuts  in 0.313 seconds - new frequency is 1
 Cbc0014I Cut generator 1 (Gomory) - 424 row cuts (0 active), 0 column cuts
 in 0.654 seconds - new frequency is 1
 Cbc0014I Cut generator 2 (Knapsack) - 193 row cuts (0 active), 0 column
 cuts  in 0.363 seconds - new frequency is 1
 Cbc0014I Cut generator 3 (Clique) - 0 row cuts (0 active), 0 column cuts
 in 0 seconds - new frequency is -100
 Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 0 row cuts (0 active),
 0 column cuts  in 0.015 seconds - new frequency is -100
 Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts (0 active), 0 column
 cuts  in 0 seconds - new frequency is -100
 Cbc0014I Cut generator 6 (TwoMirCuts) - 352 row cuts (0 active), 0 column
 cuts  in 0.314 seconds - new frequency is -100
 Cbc0010I After 0 nodes, 1 on tree, 1e+050 best solution, best possible
 25267 (8.87 seconds)
 Cbc0016I Integer solution of 25601 found by strong branching after 1959
 iterations and 3 nodes (12.47 seconds)
 Cbc0001I Search completed - best objective 25601, took 2482 iterations and
 8 nodes (20.93 seconds)
 Cbc0032I Strong branching done 412 times (18298 iterations), fathomed 4
 nodes and fixed 36 variables
 Cuts at root node changed objective from 19264.6 to 25267
 Probing was tried 46 times and created 334 cuts of which 125 were active
 after adding rounds of cuts ( 0.359 seconds)
 Gomory was tried 46 times and created 424 cuts of which 0 were active
 after adding rounds of cuts ( 0.67 seconds)
 Knapsack was tried 46 times and created 220 cuts of which 10 were active
 after adding rounds of cuts ( 0.473 seconds)
 Clique was tried 1 times and created 0 cuts of which 0 were active after
 adding rounds of cuts ( 0 seconds)
 MixedIntegerRounding2 was tried 1 times and created 0 cuts of which 0 were
 active after adding rounds of cuts ( 0.015 seconds)
 FlowCover was tried 1 times and created 0 cuts of which 0 were active
 after adding rounds of cuts ( 0 seconds)
 TwoMirCuts was tried 38 times and created 352 cuts of which 0 were active
 after adding rounds of cuts ( 0.314 seconds)
 Result - Finished objective 25601 after 8 nodes and 2482 iterations - took
 29.84 seconds
 ************************************

-- 
Ticket URL: <https://projects.coin-or.org/Cbc/ticket/36#comment:3>
COIN-OR Branch-and-Cut MIP Solver <http://projects.coin-or.org/Cbc>
An LP-based branch-and-cut MIP solver.



More information about the Cbc-tickets mailing list