Coder Social home page Coder Social logo

cbc's Introduction

coin-or

Repository for organization-wide discussions and other organization documents.

cbc's People

Contributors

bjarnimax avatar brjsp avatar edwinstraver avatar h-g-s avatar h-i-gassmann avatar jhmgoossens avatar jjhforrest avatar johnjforrest avatar jpfasano avatar jpgoncal1 avatar louhafer avatar mjsaltzman avatar mlubin avatar mtsmfm avatar patrickvossler18 avatar rlougee avatar ron-at-swgy avatar samuelsbrito avatar svigerske avatar tkralphs avatar to-st avatar tosttost avatar xmunoz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cbc's Issues

cbc returns 0.5 for integer variable

Issue created by migration from Trac.

Original creator: kim

Original creation time: 2007-03-27 09:29:34

Assignee: somebody

Version:

cbc returns a result where 147 integer variables has the value 0.5

I will attach the mps file

Semis section not working as expected.

Hi

I am using version 2.9.9 of cbc in ubuntu 17.10 docker image.
My test.lp file has following content:
Maximize
obj: x1 + 2 x2 + 3 x3 + x4
Subject To
c1: - x1 + x2 + x3 + 10 x4 <= 20
c2: x1 - 3 x2 + x3 <= 30
c3: x2 - 3.5 x4 = 0
Bounds
0 <= x1 <= 40
2 <= x4 <= 3
General
x4
Semis
x1 x2 x3

When trying with semis section i get error
"terminate called after throwing an instance of 'CoinError'
Aborted"

on mac i get:
libc++abi.dylib: terminating with uncaught exception of type CoinError
Abort trap: 6

However if I comment out Semis it works fine.
I was hoping that Semis are supported.
Am I doing something wrong?

My command is : cbc -presolve on -import test.lp solve solu out.txt

Thanks

Comment lines (indicated by a '\') are not recognized in the LP file reader

Issue created by migration from Trac.

Original creator: achterberg

Original creation time: 2007-07-03 10:44:20

Assignee: somebody

Version: 1.0

Keywords: LP reader

The CBC LP file reader (CPLEX LP format) seems to be confused by comment lines. For example, reading the "enlight4.lp" instance from the contributed section of the MIPLIB2003 does not work:

Coin Cbc and Clp Solver version 1.01.00, build Jun 29 2007
CoinSolver takes input from arguments ( - switches to stdin)
Enter ? for list of commands or help
Coin:
Coin:seconds 3600
seconds was changed from 1e+100 to 3600
Coin:ratioGap 0.0
ratioGap was changed from 0 to 0
Coin:maxNodes 2100000000
maxNodes was changed from 2147483647 to 2100000000
Coin:import IP/enlight/enlight4.lp
At line 1 \This file was automatically generated by Zimpl
Unknown image \This file was automatically generated by Zimpl at line 1 of file ./IP/enlight/enlight4.lp
 There were -2 errors when importing model from ./IP/enlight/enlight4.lp
There were -2 errors on input

This was using the SVN version 1.02 of CBC from 28 June 2007.

Current master doesn't build

I compile CoinOR on Fedora 29 64 bits.
I compile the current master: 196cb35

I've got the following error while building an example:

[ 84%] Linking CXX executable ../bin/clpdriver
/usr/bin/ld: CMakeFiles/clpdriver.dir/examples/clpdriver.cpp.o: in function `main':
clpdriver.cpp:(.text.startup+0x168): undefined reference to `CbcMain1(int, char const**, CbcModel&)'
/usr/bin/ld: clpdriver.cpp:(.text.startup+0x240): undefined reference to `CbcMain1(int, char const**, CbcModel&)'
collect2: error: ld a retourné le statut de sortie 1

Presolving with no constraints

Issue created by migration from Trac.

Original creator: San

Original creation time: 2006-12-18 08:00:47

Assignee: somebody

Version:

When the ClpPresolve is trying to solve a problem with no constraints, it crashed when it tried to copy the solution across in CoinPresolveMatrix::CoinPresolveMatrix:

    memcpy(sol_,si->primalColumnSolution(),ncols_*sizeof(double));;

If I read the problem from an LP file, it can solve it normally but if I build the problem on runtime, it crashed.

Here's the stack trace that I got:

 	test.exe!memcpy(unsigned char * dst=0x023b68f8, unsigned char * src=0x00000000, unsigned long count=480)  Line 188	Asm
>	test.exeCoinPresolveMatrix::CoinPresolveMatrix(int ncols0_in=60, double maxmin=-1.0000000000000000, ClpSimplex * si=0x023ad770, int nrows_in=0, int nelems_in=0, bool doStatus=true, double nonLinearValue=0.00000000000000000, double bulkRatio=2.0000000000000000)  Line 1175 + 0x1e bytes	C++
 	test.exeClpPresolve::gutsOfPresolvedModel(ClpSimplex * originalModel=0x0012ee4c, double feasibilityTolerance=1.0000000000000000e-008, bool keepIntegers=false, int numberPasses=5, bool dropNames=true, bool doRowObjective=false)  Line 1467 + 0x47 bytes	C++
 	test.exeClpPresolve::presolvedModel(ClpSimplex & si={...}, double feasibilityTolerance=1.0000000000000000e-008, bool keepIntegers=false, int numberPasses=5, bool dropNames=true, bool doRowObjective=false)  Line 102 + 0x2c bytes	C++
 	test.exeClpSimplex::initialSolve(ClpSolve & options={...})  Line 590 + 0x2d bytes	C++
 	test.exeOsiClpSolverInterface::initialSolve()  Line 275	C++
 	test.exeCbcModel::initialSolve()  Line 1992 + 0x14 bytes	C++
 	test.exe!Solver::CbcSolver::solve()  Line 374	C++
 	test.exe!Solver::AbstractSolver::optimise()  Line 400 + 0xf bytes	C++
 	test.exeMaxBenchConstraintTest::testMaxBenchConstraintAgainstSCtPlanner()  Line 114	C++
 	test.exeCppUnit::TestCaller<MaxBenchConstraintTest>::runTest()  Line 173	C++
 	test.exeCppUnit::TestCaseMethodFunctor::operator()()  Line 32 + 0x16 bytes	C++
 	test.exeCppUnit::DefaultProtector::protect(const CppUnit::Functor & functor={...}, const CppUnit::ProtectorContext & context={...})  Line 15 + 0xf bytes	C++
 	test.exeCppUnit::ProtectorChain::ProtectFunctor::operator()()  Line 20 + 0x23 bytes	C++
 	test.exeCppUnit::ProtectorChain::protect(const CppUnit::Functor & functor={...}, const CppUnit::ProtectorContext & context={...})  Line 77 + 0xf bytes	C++
 	test.exeCppUnit::TestResult::protect(const CppUnit::Functor & functor={...}, CppUnit::Test * test=0x02386488, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & shortDescription="")  Line 178 + 0x1d bytes	C++
 	test.exeCppUnit::TestCase::run(CppUnit::TestResult * result=0x0012fe94)  Line 92 + 0x85 bytes	C++
 	test.exeCppUnit::TestComposite::doRunChildTests(CppUnit::TestResult * controller=0x0012fe94)  Line 64 + 0x30 bytes	C++
 	test.exeCppUnit::TestComposite::run(CppUnit::TestResult * result=0x0012fe94)  Line 23 + 0x13 bytes	C++
 	test.exeCppUnit::TestComposite::doRunChildTests(CppUnit::TestResult * controller=0x0012fe94)  Line 64 + 0x30 bytes	C++
 	test.exeCppUnit::TestComposite::run(CppUnit::TestResult * result=0x0012fe94)  Line 23 + 0x13 bytes	C++
 	test.exeCppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult * result=0x0012fe94)  Line 46 + 0x1e bytes	C++
 	test.exeCppUnit::TestResult::runTest(CppUnit::Test * test=0x02385748)  Line 145 + 0x13 bytes	C++
 	test.exeCppUnit::TestRunner::run(CppUnit::TestResult & controller={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & testPath="")  Line 95 + 0x13 bytes	C++
 	test.exe!main(int argc=1, char * * argv=0x02383698)  Line 46 + 0x30 bytes	C++
 	test.exe!__tmainCRTStartup()  Line 318 + 0x19 bytes	C
 	test.exe!mainCRTStartup()  Line 187	C
 	kernel32.dll!7d4e992a() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	

"cbcSolve -miplib" invalid heap error when running with MS Visual Studio V8.

Issue created by migration from Trac.

Original creator: @jpfasano

Original creation time: 2007-08-08 14:52:36

Assignee: somebody

Version:

When running the trunk version (checked out yesterday) of cbcSolve (built with debug) with parameter -miplib, it is failing with a pop-up window that says "Expression: invalid heap".

Cbc is solving the problem 10Teams at the time of the problem.

The call stack is:

cbcSolve.exeCbcTree::bestNode(double cutoff=1.0000000000000001e+050)  Line 126 + 0x86 bytes
cbcSolve.exeCbcModel::branchAndBound(int doStatistics=0)  Line 1709 + 0x29 bytes
cbcSolve.exeCbcHeuristic::smallBranchAndBound(OsiSolverInterface * solver=0x00ba8e98, int numberNodes=200, double * newSolution=0x00c09918, double & newSolutionValue=1.7976931348623157e+308, double cutoff=1.0000000000000001e+050, std::basic_string<char,std::char_traits<char>,std::allocator<char> > name="CbcHeuristicLocalAfterFPump")  Line 192
cbcSolve.exeCbcHeuristicFPump::solution(double & solutionValue=1.0000000000000001e+050, double * betterSolution=0x00c04d98)  Line 765 + 0x4b bytes
cbcSolve.exeCbcModel::branchAndBound(int doStatistics=0)  Line 1090 + 0x3b bytes
cbcSolve.exeCbcClpUnitTest(const CbcModel & saveModel={...})  Line 2032
cbcSolve.exe!main(int argc=2, const char * * argv=0x00333870)  Line 226 + 0xc bytes

Crash in small IP instance using the C interface and Cbc_setInitialSolution

I have encountered a crash in Cbc for a small IP problem with 30 integer variables and 12 constraints. This was originally discovered when running Cbc from Julia, reported in jump-dev/Cbc.jl#99. I have reduced this to a plain C program cbc_crash.c.gz doing the same calls to the Cbc C interface. When running under Valgrind it complains about both an invalid read and an invalid write, so it seems safe to assume that the crash is caused by memory corruption, which also explains the inconsistent modes of failure described in the Julia issue. Moreover the problem goes away if the call to Cbc_setInitialSolution is disabled (i.e. when running the C program with an argument) so it seems likely that some bug in that function is the root cause of the eventual memory corruption.

Cbc-infeasible Cplex&GLPK-feasible

Issue created by migration from Trac.

Original creator: bartgadeyne

Original creation time: 2014-10-09 09:46:25

Assignee: somebody

Version:

Keywords: infeasible

Hello all,

I’m having issues solving my model with Cbc. .
GLPK and Cplex find feasible solutions. Cplex finds the optimal solution within a minute, while GLPK needs several hours to find a decent solution.

Cbc results:

Continuous objective value is 122787 - 0.61 seconds
Cgl0003I 7 fixed, 0 tightened bounds, 321 strengthened rows, 0 substitutions
Cgl0000I Cut generators found to be infeasible! (or unbounded)
Pre-processing says infeasible or unbounded

When setting the parameters presolve and preprocess to off, Cbc (sometimes) finds an optimal solution with objective value 480069.
However, the solution provided by Cplex is 300274.

Do you know why cbc fails to solve this problem to optimality?

EPL License

Hello,

CBC is distributed under the EPL Licence 1.0, which is not compatible with GPL. The latest EPL 2.0 version, on the contrary is compatible with GPL if an optional secondary license is opted-in (see Wikipedia).

Would it be possible for CBC to be distributed under this latest EPL 2.0 license? Or is there actually a reason for which you intentionally want to keep the 1.0 version?

Thanks.

Incorrect solution of small IP instance using the C interface and Cbc_setInitialSolution

This problem is similar to #202 but featuring an incorrect result rather than a crash, and no signs of memory corruption.

The original bug report can be found in jump-dev/Cbc.jl#94, where an integer maximization problem with 20 variables and 20 constraints yields an optimal solution of 7 without an initial solution and an optimal solution of 6 when an initial solution is provided. I have reduced this to a plain C program cbc_failure.c.gz, which gives the incorrect result when run without an argument and the correct result when run with an argument, disabling the call to Cbc_setInitialSolution.

trunk\cbc\src\cbcgeneric.cpp abends with MSVisualStudio V8

Issue created by migration from Trac.

Original creator: @jpfasano

Original creation time: 2007-06-29 00:57:42

Assignee: somebody

Version:

trunk\cbc\src\cbcgeneric.cpp abends with MSVisualStudio V8 because CbcOsiParamUtils::setOsiSolverInterfaceDefaults uses an unintialized variable. The uninitialized variable is 'result' on line 186 of file trunk\cbc\src\cbcgenosiparamutils.cpp:

if (!result)

{ result = osi->setIntParam(OsiNameDiscipline,0) ; }

'result' is declared on line 177, but never given an initial value.

Cbc-trunk goes into infinite loop for attached problem

Issue created by migration from Trac.

Original creator: esben

Original creation time: 2007-02-16 11:00:17

Assignee: somebody

Version:

Running the attached problem in cbc makes coin go into an infinite loop. Running it at loglevel 2 shows this quite clearly.

Cbc-trunk goes into infinite loop for attached problem

Issue created by migration from Trac.

Original creator: esben

Original creation time: 2007-02-16 10:59:02

Assignee: somebody

Version:

Running the attached problem in cbc makes coin go into an infinite loop. Running it at loglevel 2 shows this quite clearly.

CbcTreeLocal is very noisy

Issue created by migration from Trac.

Original creator: esben

Original creation time: 2007-01-08 16:19:04

Assignee: somebody

Version:

CbcTreeLocal is somewhat noisy whatever the logLevel. Here is a patch that makes it quite if logLevel()==0.

Abort in feasibilityPump

Issue created by migration from Trac.

Original creator: kim

Original creation time: 2007-06-12 13:35:39

Assignee: somebody

Version:

The attached mps file causes cbc to Abort in the feasibilityPump on trunk, it works on devel.

cbc also works on trunk the feasibilityPump is off.

Access violation in initial solve

Issue created by migration from Trac.

Original creator: San

Original creation time: 2006-11-13 02:12:21

Assignee: somebody

Version:

Got the following access violation when running initialSolve().

>	test.exe!memcpy(unsigned char * dst=0x6ac0f128, unsigned char * src=0x00000000, unsigned long count=96)  Line 188	Asm
 	test.exeCoinPresolveMatrix::CoinPresolveMatrix(int ncols0_in=12, double maxmin=-1.0000000000000000, ClpSimplex * si=0x56932f00, int nrows_in=0, int nelems_in=0, bool doStatus=true, double nonLinearValue=0.00000000000000000, double bulkRatio=2.0000000000000000)  Line 1175 + 0x1e bytes	C++
 	test.exeClpPresolve::gutsOfPresolvedModel(ClpSimplex * originalModel=0x0012ee4c, double feasibilityTolerance=1.0000000000000000e-008, bool keepIntegers=false, int numberPasses=5, bool dropNames=true, bool doRowObjective=false)  Line 1467 + 0x47 bytes	C++
 	test.exeClpPresolve::presolvedModel(ClpSimplex & si={...}, double feasibilityTolerance=1.0000000000000000e-008, bool keepIntegers=false, int numberPasses=5, bool dropNames=true, bool doRowObjective=false)  Line 102 + 0x2c bytes	C++
 	test.exeClpSimplex::initialSolve(ClpSolve & options={...})  Line 590 + 0x2d bytes	C++
 	test.exeOsiClpSolverInterface::initialSolve()  Line 275	C++
 	test.exeCbcModel::initialSolve()  Line 1992 + 0x14 bytes	C++

Deleted trac ticket 11

Ticket 11 had been deleted in the original Trac instance. This empty ticket serves as placeholder to ensure a proper 1:1 mapping of ticket ids to issue ids.

doxygen warnings

Issue created by migration from Trac.

Original creator: @mgalati13

Original creation time: 2007-02-11 21:10:07

Assignee: somebody

Version:

CC: @mgalati13

Keywords: doxy

/home/magala/COIN/coin-Decomp/Cbc/src/Cbc_C_Interface.h:111: Warning: Found unknown command `\0'
/home/magala/COIN/coin-Decomp/Cbc/src/CbcCompareBase.hpp:106: Warning: End of list marker found without any preceding list items
/home/magala/COIN/coin-Decomp/Cbc/src/CbcCompareBase.hpp:106: Warning: End of list marker found without any preceding list items
/home/magala/COIN/coin-Decomp/Cbc/src/CbcBranchBase.hpp:31: Warning: explicit link request to 'infeasibility()' could not be resolved
/home/magala/COIN/coin-Decomp/Cbc/src/CbcBranchBase.hpp:31: Warning: explicit link request to 'feasibleRegion()' could not be resolved
/home/magala/COIN/coin-Decomp/Cbc/src/CbcBranchBase.hpp:31: Warning: explicit link request to 'createBranch()' could not be resolved

cbc not linking on windows with MS Visual Studio

Issue created by migration from Trac.

Original creator: @jpfasano

Original creation time: 2007-08-01 21:02:21

Assignee: somebody

Version:

The Trunk version CoinSolve.cpp (cbcSolve project) does not link on window with MS Visual Studio Version 8. The link error is

------ Build started: Project: cbcSolve, Configuration: Release Win32 ------
Linking...
MyMessageHandler.obj : error LNK2005: "public: __thiscall MyMessageHandler::MyMessageHandler(void)" (??0MyMessageHandler`@``@`QAE`@`XZ) already defined in CoinSolve.obj
MyMessageHandler.obj : error LNK2005: "public: __thiscall MyMessageHandler::MyMessageHandler(class CoinMessageHandler const &)" (??0MyMessageHandler`@``@`QAE`@`ABVCoinMessageHandler`@``@``@`Z) already defined in CoinSolve.obj
MyMessageHandler.obj : error LNK2005: "public: virtual __thiscall MyMessageHandler::~MyMessageHandler(void)" (??1MyMessageHandler`@``@`UAE`@`XZ) already defined in CoinSolve.obj
MyMessageHandler.obj : error LNK2005: "public: virtual int __thiscall MyMessageHandler::print(void)" (?print`@`MyMessageHandler`@``@`UAEHXZ) already defined in CoinSolve.obj
MyMessageHandler.obj : error LNK2005: "public: __thiscall MyMessageHandler::MyMessageHandler(class MyMessageHandler const &)" (??0MyMessageHandler`@``@`QAE`@`ABV0`@``@`Z) already defined in CoinSolve.obj
MyMessageHandler.obj : error LNK2005: "public: class MyMessageHandler & __thiscall MyMessageHandler::operator=(class MyMessageHandler const &)" (??4MyMessageHandler`@``@`QAEAAV0`@`ABV0`@``@`Z) already defined in CoinSolve.obj
MyMessageHandler.obj : error LNK2005: "public: virtual class CoinMessageHandler * __thiscall MyMessageHandler::clone(void)const " (?clone`@`MyMessageHandler`@``@`UBEPAVCoinMessageHandler`@``@`XZ) already defined in CoinSolve.obj
.\Release/cbcSolve.exe : fatal error LNK1169: one or more multiply defined symbols found
Build log was saved at "file://d:\COIN\Coin-Cbc-All\trunk\Cbc\MSVisualStudio\v8\cbcSolve\Release\BuildLog.htm"
cbcSolve - 8 error(s), 0 warning(s)

It seems that this link problem was probably introduced on 7/31 with the change https://projects.coin-or.org/Cbc/changeset/715

To recreate:

  1. svn checkout https://projects.coin-or.org/svn/Cbc/trunk coin-Cbc-trunk

  2. open the file coin-Cbc-trunk/Cbc/MSVisualStudio/v8/Cbc.sln with
    visual studio C++ express edition.

  3. From the menu bar select "Build" - "Batch Build", and then rebuild
    everything.

Bintray windows 64bit binary fails to run

On downloading the built binary Cbc-2.9-x86_64-w64-mingw32.zip from Bintray (as per your README download link), extracting and trying to run cbc.exe, I get an error that libbz2-1.dll was not found.

I have bzip2 already installed on my device, which seems to be from where libbz2 should originate.

Interestingly, an old windows build of Cbc (2.75, found here) does run out of the box.

Crash in CglProbing

Issue created by migration from Trac.

Original creator: esben

Original creation time: 2007-02-20 08:49:25

Assignee: somebody

Version:

The attached mps crash cbc both the devel and trunk branches. The attached problem fixes this, but I do worry that I will be spoiling some obscure corner case. Essentially, it CglProbing uses numberCliques_==0 to signify "inactive", but the patched line instead sets it to -9999. Then it laters attempts to allocation -9999 integers, which unsurprisingly crashes with a bad_alloc.

The patch is licensed under the GPL, CPL and LGPL :o)

libCbc depends on ASL library if compiled with ASL.

Issue created by migration from Trac.

Original creator: @andrea5w

Original creation time: 2007-08-10 02:30:00

Assignee: somebody

Version:

In trunk, the compiled libCbc.a can only be used if amplsolver.a is also included (unless ASL is not present). This means that a user of the library needs to link with ASL, even though the library has nothing to do with AMPL.

`pkg-config` configuration not Windows-compatible

The configure scripts set the environment variable PKG_CONFIG_PATH (needed by the pkg-config tool) as a colon-delimited set of paths. E.g.,

PKG_CONFIG_PATH="$COIN_PKG_CONFIG_PATH:$COIN_PKG_CONFIG_PATH_UNINSTALLED"
export PKG_CONFIG_PATH

and

IFS=":"
for dir in $COIN_PKG_CONFIG_PATH_UNINSTALLED ; do
  [...]

However, on Windows pkg-config expects the paths to be semi-colon separated:

pkg-config retrieves information about packages from special metadata files. These files are named after the package, with the extension .pc. By default, pkg-config looks in the directory prefix/lib/pkgconfig for these files; it will also look in the colon-separated (on Windows, semicolon-separated) list of directories specified by the PKG_CONFIG_PATH environment variable.

Because of this, configure fails with the default parameters. A workaround is to set --disable-pkg-config.

Configure cannot detect build/host/target on Windows

Using the MSYS2 toolchain, configure (specifically, config.guess) cannot detect the build/host/target on Windows. A workaround is to manually specify --build=x86_64-w64-mingw32.

Related to #5 in the sense that using a more recent version of Autotools will probably fix the problem.

Problem on windows platform with full paths in interfaces of Cbc, CbcSolve, Clp

Issue created by migration from Trac.

Original creator: mserg

Original creation time: 2007-09-21 11:07:39

Assignee: somebody

Version:

Example:


...
Result - Finished objective 25562 after 14 nodes and 3613 iterations - took 31.6
57 seconds
Coin:solu c:\result.txt
Unable to open file .\c:\result.txt
Coin:


I use version 1.1.1 ...

Makefile:973: recipe for target 'CbcModel.lo' failed

Making all in Cbc
make[1]: Entering directory '/home/qisun/Cbc-releases-2.9.9/build/Cbc'
Making all in src
make[2]: Entering directory '/home/qisun/Cbc-releases-2.9.9/build/Cbc/src'
make all-am
make[3]: Entering directory '/home/qisun/Cbc-releases-2.9.9/build/Cbc/src'
if /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -Iecho ../../../Cbc/src -I../src -I/usr/include/coin -I/usr/include/coin -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG -O3 -pipe -DNDEBUG -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas -Wno-long-long -DCBC_BUILD -MT CbcModel.lo -MD -MP -MF ".deps/CbcModel.Tpo" -c -o CbcModel.lo ../../../Cbc/src/CbcModel.cpp;
then mv -f ".deps/CbcModel.Tpo" ".deps/CbcModel.Plo"; else rm -f ".deps/CbcModel.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I../../../Cbc/src -I../src -I/usr/include/coin -I/usr/include/coin -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG -O3 -pipe -DNDEBUG -Wparentheses -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas -Wno-long-long -DCBC_BUILD -MT CbcModel.lo -MD -MP -MF .deps/CbcModel.Tpo -c ../../../Cbc/src/CbcModel.cpp -fPIC -DPIC -o .libs/CbcModel.o
../../../Cbc/src/CbcModel.cpp: In member function 'void CbcModel::branchAndBound(int)':
../../../Cbc/src/CbcModel.cpp:4015:47: error: 'class CglProbing' has no member named 'cliqueModel'
OsiSolverInterface * temp = generator1.cliqueModel(solver_,2);
^
../../../Cbc/src/CbcModel.cpp:4039:39: error: no matching function for call to 'CglTreeProbingInfo::analyze(OsiSolverInterface&, int, int)'
fake = info.analyze(newSolver, 1,-1);
^
In file included from /usr/include/coin/CglCutGenerator.hpp:10:0,
from ../../../Cbc/src/CbcCutGenerator.hpp:11,
from ../../../Cbc/src/CbcModel.cpp:60:
/usr/include/coin/CglTreeInfo.hpp:106:24: note: candidate: OsiSolverInterface
CglTreeProbingInfo::analyze(const OsiSolverInterface&, int)
OsiSolverInterface * analyze(const OsiSolverInterface & si, int createSolver=0);
^
/usr/include/coin/CglTreeInfo.hpp:106:24: note: candidate expects 2 arguments, 3 provided
In file included from ../../../Cbc/src/CbcModel.cpp:76:0:
/usr/include/coin/CglKnapsackCover.hpp:235:7: error: 'int CglKnapsackCover::createCliques(OsiSolverInterface&, int, int, bool)' is private
int createCliques( OsiSolverInterface & si,
^
../../../Cbc/src/CbcModel.cpp:4057:46: error: within this context
cutGen->createCliques(*fake,2,200,false);
^
In file included from /usr/include/coin/ClpModel.hpp:23:0,
from /usr/include/coin/ClpSimplex.hpp:16,
from /usr/include/coin/ClpPresolve.hpp:8,
from ../../../Cbc/src/CbcModel.cpp:28:
/usr/include/coin/CoinFinite.hpp: At global scope:
/usr/include/coin/CoinFinite.hpp:20:14: warning: 'COIN_INT_MAX_AS_DOUBLE' defined but not used [-Wunused-variable]
const double COIN_INT_MAX_AS_DOUBLE = std::numeric_limits::max();
^
Makefile:973: recipe for target 'CbcModel.lo' failed
make[3]: *** [CbcModel.lo] Error 1
make[3]: Leaving directory '/home/qisun/Cbc-releases-2.9.9/build/Cbc/src'
Makefile:737: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/qisun/Cbc-releases-2.9.9/build/Cbc/src'
Makefile:586: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/qisun/Cbc-releases-2.9.9/build/Cbc'
Makefile:323: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

pop heap asserts

Issue created by migration from Trac.

Original creator: San

Original creation time: 2006-08-30 02:16:19

Assignee: somebody

Version:

When I was debugging an optimisation on my problem without using any cut generator, heuristic etc, I get an assertion in the following method:

CbcNode * 
CbcTree::bestNode(double cutoff)
{
...
    pop_heap(nodes_.begin(), nodes_.end(), comparison_);
}

The vc++ error message was:

File: c:\program files(x86)\microsoft visual studio 8\vc\include\algorithm
Line: 1677
Expression: invalid heap

Here's a snipplet of the stack trace:

>	test.exe!std::_Debug_message(const wchar_t * message=0x00a6e1b8, const wchar_t * file=0x00a6e110, unsigned int line=1677)  Line 23	C++
 	test.exe!std::_Debug_heap<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x0448f610 {nodeInfo_=0x02318380 objectiveValue_=-2944444107.1021638 guessedObjectiveValue_=-2944444107.0968237 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0x0244ac58 {nodeInfo_=0xfeeefeee objectiveValue_=-2.6569842580370804e+303 guessedObjectiveValue_=-2.6569842580370804e+303 ...}, CbcCompare _Pred={...})  Line 1677 + 0x14 bytes	C++
 	test.exe!std::pop_heap<std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> >,CbcCompare>(std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _First=0x0233a7f0 {nodeInfo_=0x023da060 objectiveValue_=-3030148395.2399182 guessedObjectiveValue_=-3030148395.2327580 ...}, std::_Vector_iterator<CbcNode *,std::allocator<CbcNode *> > _Last=0x0244ac58 {nodeInfo_=0xfeeefeee objectiveValue_=-2.6569842580370804e+303 guessedObjectiveValue_=-2.6569842580370804e+303 ...}, CbcCompare _Pred={...})  Line 1889 + 0x77 bytes	C++
 	test.exeCbcTree::bestNode(double cutoff=1.0000000000000001e+050)  Line 109 + 0x86 bytes	C++
 	test.exeCbcModel::branchAndBound(int doStatistics=1)  Line 1166 + 0x29 bytes	C++

lpSolver in CbcStrategy::setupOther lost message handler

Issue created by migration from Trac.

Original creator: @svigerske

Original creation time: 2007-01-19 19:34:43

Assignee: somebody

Version:

Hi,

when running Cbc::branchAndBound, I noticed that I got an output line

  Clp0000I Optimal - objective value 89.0858

which was not directed through the message handler I've been giving to the OsiClpSolverInterface.

I debug the code a bit, and found that the lpSolver from CbcStrategy.cpp:354 does not seem to have the correct message handler.
I added

lpSolver->passInMessageHandler(solver->messageHandler());

and then it works fine.

I'm using Cbc release 1.1.0.

Stefan

g++ compiler warnings stable 1.1

Issue created by migration from Trac.

Original creator: @mgalati13

Original creation time: 2007-02-08 21:42:58

Assignee: somebody

Version:

CC: @mgalati13

Keywords: warnings

g++ linux compiler warnings

../../../Cbc/src/Cbc_C_Interface.cpp: In function `void Cbc_loadProblem(Cbc_Model*, int, int, const CoinBigIndex*, const int*, const double*, cons\
t double*, const double*, const double*, const double*, const double*)':
../../../Cbc/src/Cbc_C_Interface.cpp:288: warning: void format, Cbc_Model arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp:288: warning: void format, different type arg (arg 4)
../../../Cbc/src/Cbc_C_Interface.cpp:288: warning: void format, different type arg (arg 5)
../../../Cbc/src/Cbc_C_Interface.cpp:288: warning: void format, double arg (arg 6)
../../../Cbc/src/Cbc_C_Interface.cpp:290: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp:290: warning: void format, double arg (arg 4)
../../../Cbc/src/Cbc_C_Interface.cpp:290: warning: void format, double arg (arg 5)
../../../Cbc/src/Cbc_C_Interface.cpp:290: warning: void format, double arg (arg 6)
../../../Cbc/src/Cbc_C_Interface.cpp:290: warning: void format, double arg (arg 7)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_primalRowSolution(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:967: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_primalColumnSolution(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:984: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_dualRowSolution(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1001: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_dualColumnSolution(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1018: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_rowLower(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1035: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_rowUpper(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1052: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_objective(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1069: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_columnLower(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1086: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_columnUpper(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1103: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const int* Cbc_getIndices(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1141: warning: void format, different type arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const int* Cbc_getVectorLengths(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1158: warning: void format, different type arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getElements(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1175: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_infeasibilityRay(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1210: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `double* Cbc_unboundedRay(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1227: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getRowActivity(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1959: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getColSolution(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:1973: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getRowPrice(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:2000: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getReducedCost(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:2014: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getRowLower(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:2028: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getRowUpper(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:2042: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getObjCoefficients(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getObjCoefficients(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:2056: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getColLower(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:2070: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `const double* Cbc_getColUpper(Cbc_Model*)':
../../../Cbc/src/Cbc_C_Interface.cpp:2084: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp: In function `void Cbc_printModel(Cbc_Model*, const char*)':
../../../Cbc/src/Cbc_C_Interface.cpp:2126: warning: void format, Cbc_Model arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp:2126: warning: void format, different type arg (arg 4)
../../../Cbc/src/Cbc_C_Interface.cpp:2126: warning: void format, different type arg (arg 5)
../../../Cbc/src/Cbc_C_Interface.cpp:2126: warning: void format, double arg (arg 6)
../../../Cbc/src/Cbc_C_Interface.cpp:2138: warning: void format, double arg (arg 3)
../../../Cbc/src/Cbc_C_Interface.cpp:2138: warning: void format, double arg (arg 4)
../../../Cbc/src/Cbc_C_Interface.cpp:2138: warning: void format, double arg (arg 5)
../../../Cbc/src/Cbc_C_Interface.cpp:2138: warning: void format, double arg (arg 6)
../../../Cbc/src/Cbc_C_Interface.cpp:2138: warning: void format, double arg (arg 7)
../../../Cbc/src/CbcHeuristicFPump.cpp: In member function `virtual int CbcHeuristicFPump::solution(double&, double*)':
../../../Cbc/src/CbcHeuristicFPump.cpp:296: warning: ISO C++ does not support the `%lf' printf format

bugs in cbc (command interface)

Issue created by migration from Trac.

Original creator: matteo.fischetti

Original creation time: 2007-03-17 17:26:00

Assignee: somebody

Version: 1.0

Keywords: memory leak in cbc

I posted at

www.dei.unipd.it/~fisch/bugs.zip

3 cases where cbc gets stuck before entering the FP heuristic and the branching phase: just run the 3 batch files in the zip file.

Instances bug1 and bug3 are similar and get stuck here:

...
Initial range of elements is 1 to 100
Final range of elements is 0.302821 to 3.30228
Absolute values of scaled rhs range from 0.7897 to 1448, minimum gap 1e+100
Absolute values of scaled objective range from 4794.78 to 3.30228e+009
Absolute values of scaled bounds range from 0.277688 to 156.122, minimum gap 0.277688
<-- no more output

whereas instance bug2 has problems in the strengthening phase and ends with a crash (memory leak?)

Optimal - objective value 2.30089e+010
Coin0506I Presolve 940 (-914) rows, 7887 (-1419) columns and 97967 (-18829) element
s
Cgl0003I 459 fixed, 2871 tightened bounds, 2 strengthened rows, 0 substitutions
Cgl0003I 459 fixed, 0 tightened bounds, 2 strengthened rows, 0 substitutions
Cgl0003I 82 fixed, 1852 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 9 fixed, 447 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 32 fixed, 58 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 11 fixed, 44 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 1 fixed, 0 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 6 strengthened rows, 0 substitutions
Cgl0003I 345 fixed, 3484 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
<-- crash

Thanks

--Matteo Fischetti--

p.s. can I skip the (often time consuming)tightened phase

Cgl0003I 459 fixed, 2871 tightened bounds, 2 strengthened rows, 0 substitutions

by just specifing a parameter in the command-line cbc.exe?

p.s.2 is someone aware of a version of the command-interface that can be invoked as a function by a calling program, by passing the argument string "-import ..."? This could be useful as a quick shot to use cbc in its "command interface" implementation, which peforms quite well indeed. Allowing .lp input files would also help. I started working on it but I still have some memory leaks.

cbc executable -- output for loglevel 0

Issue created by migration from Trac.

Original creator: fmargot

Original creation time: 2006-06-22 14:02:30

Assignee: somebody

Version:

Keywords: loglevel 0

Setting loglevel to 0 in the executable cbc, it still prints
hundred of lines like:

35 nonbasic artificials deleted.
29 nonbasic artificials deleted.
28 nonbasic artificials deleted.
28 nonbasic artificials deleted.
31 nonbasic artificials deleted.

Francois

CbcModel.cpp:517: void CbcModel::branchAndBound(int): Assertion `lower[i]<1.0e10' failed.

Issue created by migration from Trac.

Original creator: kim

Original creation time: 2007-08-09 11:21:32

Assignee: somebody

Version:

I will attach the mps file.

pre`@`betelgeuse:~/trunk/solver$ cbc assertion-lower.mps 
At line 1 NAME          BLANK
At line 2 ROWS
At line 605 COLUMNS
At line 4035 RHS
At line 4245 BOUNDS
At line 4692 ENDATA
Problem BLANK has 601 rows, 579 columns and 6195 elements
Optimal - objective value 1.60267e+06
Cgl0003I 0 fixed, 25 tightened bounds, 94 strengthened rows, 12 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 94 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 3 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 10 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 7 strengthened rows, 0 substitutions
Cgl0004I processed model has 256 rows, 137 columns (110 integer) and 1211 elements
Optimal - objective value 1.60267e+06
110 integer variables and 25 variables could be made integer
cbc: CbcModel.cpp:517: void CbcModel::branchAndBound(int): Assertion `lower[i]<1.0e10' failed.
Aborted
pre`@`betelgeuse:~/trunk/solver$

Wrong result from cbc (stable)

Issue created by migration from Trac.

Original creator: kim

Original creation time: 2007-07-19 14:01:06

Assignee: somebody

Version:

I have a problem where cbc gives 2 different wrong results, cplex and glpsol gets the result 2.129e+06, cbc from stable/1.2 gets 3.0888e+08 and 2.71818e+08.

I have an old cbc from trunk 2007-06-20 that gives the correct result.

I will attach or link to the problem and logs.

cbc from trunk gives wrong result

Issue created by migration from Trac.

Original creator: kim

Original creation time: 2007-01-25 09:21:04

Assignee: somebody

Version:

Best objective of the problem attached should be 2010.68 (found with cbc from devel), cbc from trunk returns a solution with objective 302236.

I will attach the problem and logs of test runs made with cbc-trunk, cbc-devel and cplex.

Wrong optimum value with cbcSolve.exe

Issue created by migration from Trac.

Original creator: mserg

Original creation time: 2007-03-09 15:46:17

Assignee: somebody

Version:

I had downloaded “Cbc-1.1.0.zip” at 1-Mar-2007. Then I had compiled projects by MS Visual Studio v7.
“cbcSolve.exe” returns -35 for problem “LifeGameCp.mat” (see attached file);
“cbc.exe” returns -36… Real optimum is -36

Please fix clang warnings

There are warnings printed on FreeBSD for version 2.9.9:

CbcFullNodeInfo.cpp:168:16: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
    if ((force && 1) == 0) {
               ^  ~
CbcFullNodeInfo.cpp:168:16: note: use '&' for a bitwise operation
    if ((force && 1) == 0) {
               ^~
               &
CbcFullNodeInfo.cpp:168:16: note: remove constant to silence this warning
    if ((force && 1) == 0) {
              ~^~~~
CbcFullNodeInfo.cpp:175:16: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
    if ((force && 2) == 0) {
               ^  ~
CbcFullNodeInfo.cpp:175:16: note: use '&' for a bitwise operation
    if ((force && 2) == 0) {
               ^~
               &
CbcFullNodeInfo.cpp:175:16: note: remove constant to silence this warning
    if ((force && 2) == 0) {
              ~^~~~
CbcModel.cpp:2643:25: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
      } else if (newSeed<0) {
                 ~~~~~~~^~
bcModel.cpp:13996:5: warning: use of unary operator that may be intended as compound assignment (-=)
        lb =- COIN_DBL_MAX;
           ^~
CbcLinked.cpp:145:21: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
        if (updated || 1) {
                    ^  ~
CbcLinked.cpp:145:21: note: use '|' for a bitwise operation
        if (updated || 1) {
                    ^~
                    |
CbcLinked.cpp:546:38: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
                if (numberContinuous && 0) {
                                     ^  ~
CbcLinked.cpp:546:38: note: use '&' for a bitwise operation
                if (numberContinuous && 0) {
                                     ^~
                                     &
CbcLinked.cpp:546:38: note: remove constant to silence this warning
                if (numberContinuous && 0) {
                                    ~^~~~
In file included from OsiCbcSolverInterface.cpp:40:
./OsiCbcSolverInterface.hpp:304:55: warning: implicit conversion from 'const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::size_type' (aka 'const unsigned long') to 'unsigned int' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
    virtual std::string getObjName (unsigned maxLen = std::string::npos) const ;
                                                    ~ ^~~~~~~~~~~~~~~~~
./OsiCbcSolverInterface.hpp:313:26: warning: implicit conversion from 'const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::size_type' (aka 'const unsigned long') to 'unsigned int' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
                                   unsigned maxLen = std::string::npos) const ;
                                                   ~ ^~~~~~~~~~~~~~~~~
./OsiCbcSolverInterface.hpp:335:26: warning: implicit conversion from 'const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::size_type' (aka 'const unsigned long') to 'unsigned int' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
                                   unsigned maxLen = std::string::npos) const ;
                                                   ~ ^~~~~~~~~~~~~~~~~

Cbc ignores some fixed variables

Hallo,

I'm using cbcCInterfaceDll to access Cbc 2.99. While doing some tests I found the problem that sometimes fixed variables are lost. Using the same model with lp_solve or Gurobi works fine.

To reproduce I exported the correct model from Gurobi as mps:
CbcShowStopper.txt

Even importing the file to Cbc and exporting it again shows that e.g. C7 does not hold the fixed value 1 anymore.

Does anybody know a workaround for the problem?
Thanks in advance.

Cbc aborts on this problem

Issue created by migration from Trac.

Original creator: kim

Original creation time: 2007-03-16 11:25:59

Assignee: somebody

Version:

The attached problem fails on the trunk cbc, I have not tested it on the devel branch as that wouldn't compile today.

Coin Cbc and Clp Solver version 1.01.00, build Mar  7 2007
command line - cbc aborts-2007-03-16.mps
At line 1 NAME          BLANK
At line 2 ROWS
At line 670 COLUMNS
At line 3256 RHS
At line 3449 BOUNDS
At line 3956 ENDATA
Problem BLANK has 666 rows, 506 columns and 4568 elements
Model was imported from ./aborts-2007-03-16.mps in 0.007999 seconds
Optimal - objective value 33555.1
Cgl0006I 1 SOS (32 members out of 506) with 0 overlaps - too much overlap or too many others
Cgl0003I 1 fixed, 25 tightened bounds, 0 strengthened rows, 0 substitutions
Cgl0003I 1 fixed, 0 tightened bounds, 0 strengthened rows, 0 substitutions
Cgl0004I processed model has 208 rows, 123 columns (123 integer) and 870 elements
processed model has 208 rows, 123 columns and 870 elements
Optimal - objective value 33555.1
123 integer variables
Cbc0009I Objective coefficients multiple of 1
cutoff increment increased from 1e-05 to 0.999
 Aborted

building cbc ampl driver fails at ./configure stage

Issue created by migration from Trac.

Original creator: @lleeoo

Original creation time: 2006-07-12 21:06:48

Assignee: @andrea5w

Version:

There are actually two related issues here. One is a bug, the other is more of a questions. Both seem related to buildTools

1 Specifying location for asl dir causes problems to configure script. Output:

[leolopes`@`host Cbc]$ ./configure --with-asldir --prefix=/usr/local
checking build system type... i686-pc-linux-gnu
checking whether we want to compile in debug mode... no
checking for xlc... no
[...]
checking if user provides library for Xpress... no
checking for yes/amplsolver.a... no
configure: error: ASL directory "yes" specified, but library missing

2 Should this option be available at the root directory after the svn download? IOW, if we get cbc by svn co https://pr..../Cbc/trunk cbc then should the --with-asldir option be available in the configure script in the cbc directory or only in the one in the cbc/Cbc directory?

BTW I am marking the bug major bc I am hoping to demo this @ DIMACS.

Thanks,
Leo.

Not Optimal Answer Found

Model

NoName:
MINIMIZE
1*obj + 0.0
SUBJECT TO
_C1: 4 a + 4 b + obj >= 3
_C2: 4 c + obj >= 1
_C3: a + b + c = 1

VARIABLES
0 <= a <= 1 Integer
b Continuous
c Continuous
obj Continuous

As Is: a, b, c, obj == 1, 0, 0, 1
To Be: a, b, c, obj == 0, 0.75, 0.25, 0


Making Model By PuLP

from pulp import LpProblem, LpVariable, LpBinary, value
model = LpProblem()
a = LpVariable('a', cat=LpBinary)
b = LpVariable('b', lowBound=0)
c = LpVariable('c', lowBound=0)
obj = LpVariable('obj', lowBound=0)
model.setObjective(obj)
model.addConstraint(obj >= 3 - 4 * a - 4 * b)
model.addConstraint(obj >= 1 - 4 * c)
model.addConstraint(a + b + c == 1)

Problem with CbcSolver

Issue created by migration from Trac.

Original creator: kmartin

Original creation time: 2007-09-10 04:42:12

Assignee: somebody

Version:

I am trying to build my project which depends on Cbc and I get the following crash in CbcSolver

g++ -DHAVE_CONFIG_H -I. -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cbc/src -I../inc -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Clp/src -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Osi/src/OsiClp -I/Users/kmartin/Documents/files/code/cpp/OScpp/vpath-OSX/Cbc/../Clp/inc -I/Users/kmartin/Documents/files/code/cpp/OScpp/vpath-OSX/ThirdParty/ASL -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/ThirdParty/ASL/solvers -DCOIN_HAS_ASL -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglClique -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglDuplicateRow -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglFlowCover -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglGomory -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglKnapsackCover -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglMixedIntegerRounding -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglMixedIntegerRounding2 -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglOddHole -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglPreProcess -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglProbing -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglRedSplit -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglTwomir -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglLandP -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cgl/src/CglResidualCapacity -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/CoinUtils/src -I/Users/kmartin/Documents/files/code/cpp/OScpp/vpath-OSX/Cbc/../CoinUtils/inc -I/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Osi/src -I/Users/kmartin/Documents/files/code/cpp/OScpp/vpath-OSX/Cbc/../Osi/inc -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG -Wall -MT CbcSolver.lo -MD -MP -MF .deps/CbcSolver.Tpo -c /Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cbc/src/CbcSolver.cpp -fno-common -DPIC -o .libs/CbcSolver.o
/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cbc/src/CbcSolver.cpp: In function 'OsiClpSolverInterface* fixVubs(CbcModel&, int, int&, CoinMessageHandler*, const double*, double*)':
/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cbc/src/CbcSolver.cpp:1065: warning: unused variable 'generalPrint'
/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cbc/src/CbcSolver.cpp: In function 'int CbcMain1(int, const char**, CbcModel&, int ()(CbcModel, int))':
/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/Cbc/src/CbcSolver.cpp:8528: error: 'class ClpSimplex' has no member named 'moveInfo'
make[2]: *** [CbcSolver.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Use of CbcModel::passInEventHandler makes cbc crash

Issue created by migration from Trac.

Original creator: kim

Original creation time: 2007-01-10 12:48:21

Assignee: somebody

Version:

Using CbcModel::passInEventHandler will delete the default event handler on CbcModel, when the model is use it the crashes with a segmentation fault.

Version number in releases is 0.0.0

I am only slowly getting to grips with COIN-OR, so apologies if this issue is misguided.

In the Linux release tarballs on Bintray, there is a directory build/lib containing lots and lots of shared libraries. These have the usual setup for versioned libraries, with a fully versioned file, and then symbolic links with one and no levels of versioning pointing to the real file. However, the version numbers are all zero:

$ ls -1F build/lib/libCbc.so*
build/lib/libCbc.so@
build/lib/libCbc.so.0@
build/lib/libCbc.so.0.0.0*

This is true for the 2.9 and 2.9.9 releases.

Is this a mistake?

Does this mean that version numbers embedded in the artifacts in other places are also wrong?

EDIT: Also, in the pkg-config files, we have:

prefix=/home/travis/build/coin-or/Cbc/build

Which is probably not going to be that useful on users' machines. On the other hand, i'm not sure what i would put here; it depends on where the user installs the package.

"cbc -miplib" invalid null pointer error

Issue created by migration from Trac.

Original creator: @jpfasano

Original creation time: 2007-08-11 13:10:47

Assignee: somebody

Version:

When running debug build of

   cbc -miplib

built from trunk on Aug 10 on Windows with MS Visual Studio V8 the code fails with a popup window with message

  Debug Assertion Failed
  Program: File e:\microsoft visual studio 8\vc\include\algorithm Line 667
  Expression: invalid pointer

The messages on the console are:

  processing mps file: gesa2 (15 out of 44)
At line 17 NAME          GESA2
At line 18 ROWS
At line 1412 COLUMNS
At line 4605 RHS
At line 4738 BOUNDS
At line 5459 ENDATA
Problem GESA2 has 1392 rows, 1224 columns and 5064 elements
Coin0008I GESA2 read with 0 errors
Cgl0003I 0 fixed, 25 tightened bounds, 23 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 3 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 0 tightened bounds, 11 strengthened rows, 0 substitutions
Cgl0004I processed model has 1392 rows, 1224 columns (408 integer) and 5064 elements
Clp0000I Optimal - objective value 2.54765e+007
Cbc0038I Pass   1: obj.    1.89860 --> up =     0 , down =     0 -- rand =   10(  13)
Cbc0038I Pass   2: obj.    0.00000 --> up =     0 , down =     0 -- rand =    0(  20)  - solution found of 2.60826e+007 - not improved by mini branch and bound

Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 354 integers at bound fixed and 616 continuous
Cbc0038I Mini branch and bound improved solution from 2.76675e+007 to 2.58124e+007 (18.50 seconds)
Cbc0038I Freeing continuous variables gives a solution of 2.58124e+007
Cbc0038I Round again with cutoff of 2.58124e+007
Cbc0038I Pass   3: obj.    1.89860 --> up =     0 , down =     0 -- rand =   10(  13)
Cbc0038I Pass   4: obj.    0.00000 --> up =     0 , down =     0 -- rand =    0(  27)  - solution found of 2.58124e+007 - not improved by mini branch and bound

Cbc0038I No solution found this major pass
Cbc0038I Before mini branch and bound, 354 integers at bound fixed and 617 continuous
Cbc0038I Mini branch and bound did not improve solution (21.18 seconds)
Cbc0038I After 21.18 seconds - Feasibility pump exiting - took 14.82 seconds
Cbc0012I Integer solution of 2.58124e+007 found by feasibility pump after 0 iterations and 0 nodes (21.20 seconds)

The call stack is

cbcSolve.exe!std::_Debug_message(const wchar_t * message=0x007e2454, const wchar_t * file=0x007e2678, unsigned int line=667)  Line 24	C++
cbcSolve.exe!std::_Debug_pointer<double>(double * _First=0x00000000, const wchar_t * _File=0x007e2678, unsigned int _Line=667)  Line 1379 + 0x12 bytes	C++
cbcSolve.exe!std::_Transform<double *,double *,std::negate<double>,std::forward_iterator_tag>(double * _First=0x00000000, double * _Last=0x00000000, double * _Dest=0x00000000, std::negate<double> _Func={...}, std::forward_iterator_tag __formal={...}, std::forward_iterator_tag __formal={...})  Line 667 + 0x13 bytes	C++
cbcSolve.exe!std::_Transform<double *,double *,std::negate<double> >(double * _First=0x00000000, double * _Last=0x00000000, double * _Dest=0x00000000, std::negate<double> _Func={...}, std::random_access_iterator_tag __formal={...}, std::random_access_iterator_tag __formal={...})  Line 683 + 0x34 bytes	C++
cbcSolve.exe!std::transform<double *,double *,std::negate<double> >(double * _First=0x00000000, double * _Last=0x00000000, double * _Dest=0x00000000, std::negate<double> _Func={...})  Line 712 + 0x50 bytes	C++
cbcSolve.exeCglKnapsackCover::deriveAKnapsack(const OsiSolverInterface & si={...}, OsiCuts & cs={...}, CoinPackedVector & krow={...}, bool treatAsLRow=false, double & b=1.7976931348623157e+308, int * complement=0x01661b70, double * xstar=0x012ed018, int rowIndex=408, int numberElements=0, const int * index=0x01250698, const double * element=0x01039f58)  Line 833 + 0x34 bytes	C++
cbcSolve.exeCglKnapsackCover::generateCuts(const OsiSolverInterface & si={...}, OsiCuts & cs={...}, CglTreeInfo info={...})  Line 417 + 0x4d bytes	C++
cbcSolve.exeCbcCutGenerator::generateCuts(OsiCuts & cs={...}, bool fullScan=true, OsiSolverInterface * solver=0x0092ece8, CbcNode * node=0x00000000)  Line 216	C++
cbcSolve.exeCbcModel::solveWithCuts(OsiCuts & cuts={...}, int numberTries=99, CbcNode * node=0x00000000)  Line 4818 + 0x2f bytes	C++
cbcSolve.exeCbcModel::branchAndBound(int doStatistics=0)  Line 1166 + 0x1b bytes	C++
cbcSolve.exeCbcClpUnitTest(const CbcModel & saveModel={...})  Line 2032	C++
cbcSolve.exe!main(int argc=2, const char * * argv=0x00333870)  Line 226 + 0xc bytes	C++

The null pointer error is occurring on line 830 of CglKnapsackCover.cpp

std::transform(leMatrixRow.getElements(),
               leMatrixRow.getElements() + leMatrixRow.getNumElements(),
               leMatrixRow.getElements(),
               std::negate<double>());

leMatrixRow has private members indices_ and elements_ which are null. These members were set to null on line 819

CoinPackedVector leMatrixRow(numberElements,index,element); 

because numberElements is zero.

(changed by @jpfasano at 2007-08-11 13:54:21)

output via printf in redoSequenceEtc() in CbcSOS and CbcClique

Issue created by migration from Trac.

Original creator: @svigerske

Original creation time: 2007-01-25 17:53:59

Assignee: somebody

Version: 1.0

Hi,

there is twotimes an output that do not go over the message handler:

printf("** SOS number of members reduced from %d to %d!\n",numberMembers_,n2);

I'm using Cbc release 1.1.0.

Stefan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.