[Cbc] Build problem with COIN_BIG_INDEX

ycollette.nospam at free.fr ycollette.nospam at free.fr
Fri Sep 29 07:45:06 EDT 2017


You are certainly right.
It's just because I use Clp compiled from the Cbc archive ... :)

Thanks a lot for your work !

----- Mail original -----
De: "John Forrest" <john.forrest at fastercoin.com>
À: cbc at list.coin-or.org
Envoyé: Vendredi 29 Septembre 2017 13:40:24
Objet: Re: [Cbc] Build problem with COIN_BIG_INDEX

I thought it was worthwhile to make Cbc work on problems with more than 
2 billion variables.  I do not expect any such integer problems in the 
near future, but it should be possible to have a version of Cbc which 
can solve Lp's of that size.

I have made a large number of changes to about 40 files in trunk and now 
Cbc compiles with COIN_BIG_INDEX=2.

It was tedious but straightforward.  Everything seems correct.  I have 
not tested it on problems with more than 2 billion elements and there 
could easily be bugs if an index does not fit in an int.

Please inform me if you notice anything with and without COIN_BIG_INDEX=2.

John Forrest
On 27/09/17 08:30, ycollette.nospam at free.fr wrote:
> Hello,
>
> I checked that clp compiled fine with COIN_BIG_INDEX=2.
> But there is still a problem with Cbc.
> With the current trunk of Cbc, I meet the following error message:
>
> [ 36%] Building CXX object Cgl/CMakeFiles/libCgl.dir/src/CglMixedIntegerRounding/CglMixedIntegerRounding.cpp.o
> /home/artelys/repositories/coin/Cbc/Cgl/src/CglMixedIntegerRounding/CglMixedIntegerRounding.cpp: Dans la fonction membre « virtual void CglMixedIntegerRounding::generateCuts(const OsiSolverInterface&, OsiCuts&, CglTreeInfo) »:
> /home/artelys/repositories/coin/Cbc/Cgl/src/CglMixedIntegerRounding/CglMixedIntegerRounding.cpp:71:58: error: ne peut convertir « const CoinBigIndex* {aka const long long int*} » en « const int* » dans l'initialisation
>     const int* rowStarts     = matrixByRow.getVectorStarts();
>                                                            ^
> /home/artelys/repositories/coin/Cbc/Cgl/src/CglMixedIntegerRounding/CglMixedIntegerRounding.cpp:78:58: error: ne peut convertir « const CoinBigIndex* {aka const long long int*} » en « const int* » dans l'initialisation
>     const int* colStarts     = matrixByCol.getVectorStarts();
>                                                            ^
> /home/artelys/repositories/coin/Cbc/Cgl/src/CglMixedIntegerRounding/CglMixedIntegerRounding.cpp: Dans la fonction membre « void CglMixedIntegerRounding::mixIntRoundPreprocess(const OsiSolverInterface&) »:
> /home/artelys/repositories/coin/Cbc/Cgl/src/CglMixedIntegerRounding/CglMixedIntegerRounding.cpp:320:58: error: ne peut convertir « const CoinBigIndex* {aka const long long int*} » en « const int* » dans l'initialisation
>     const int* rowStarts     = matrixByRow.getVectorStarts();
>                                                            ^
> make[2]: *** [Cgl/CMakeFiles/libCgl.dir/build.make:87: Cgl/CMakeFiles/libCgl.dir/src/CglMixedIntegerRounding/CglMixedIntegerRounding.cpp.o] Error 1
> make[1]: *** [CMakeFiles/Makefile2:1462: Cgl/CMakeFiles/libCgl.dir/all] Error 2
>
> Best regards,
>
> YC
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_cbc&d=DwIGaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=js2M0T-3OIMIVDvokcKjokJbk0F8QOCd0mT4FsVFE88&m=P1t285H7ZPOCVwp07jKaHQ0IYxtJVZ-ASHfcrEzYIzs&s=EtdiBl1OifGkePx1dAUTfcWTDcImmmJpCr_zoReLLtU&e=
>
>

_______________________________________________
Cbc mailing list
Cbc at list.coin-or.org
https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_cbc&d=DwIGaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=kY-tTJAFuHScYZHjojaaKVZZOEYVVkPpGiWUPr3h80U&m=3tb2hcNhO7_JsYB_Vq2Jda3gW-LFi8wE_T86ZL-y-YY&s=0eAY1cWf_rL_xQV3jo70faGTY1jliDJkLtv0KciTuhM&e= 



More information about the Cbc mailing list