<span style=" font-size:10pt;font-family:sans-serif">Hi John,</span><br><br><span style=" font-size:10pt;font-family:sans-serif">Presolve=SOS is
working now for most problems i have.</span><br><br><span style=" font-size:10pt;font-family:sans-serif">Except this one
</span><a href="https://mega.nz/#!pvwDCC4A!GQBkhIZxkTdYaasgv_zGJwtIa1xQnWA98zisqsb2G-Q"><span style=" font-size:10pt;color:blue;font-family:sans-serif">https://mega.nz/#!pvwDCC4A!GQBkhIZxkTdYaasgv_zGJwtIa1xQnWA98zisqsb2G-Q</span></a><br><br><br><span style=" font-size:10pt;font-family:sans-serif">Seems like it
didn't find any solution at all?</span><br><span style=" font-size:10pt;font-family:sans-serif">Maybe my parameters
are too bad.</span><br><br><br><span style=" font-size:10pt;font-family:sans-serif">/opt/msp/cbc-trunk-2020-01-24/bin/cbc
23844-T1_0.mps timemode=elapsed -seconds=600 -keepNames=on -threads=8 -dualt=1e-06
-perturb=on -pertvalue=61 -constraint=on -cuts=on -clique=forceon -zero=forceon
-probing=forceonstrong -combine=on -combine2=on -ratiogap=0.001 -multiple=8
-preprocess=sos -solve</span><br><br><span style=" font-size:10pt;font-family:sans-serif">...</span><br><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0012I Integer
solution of 1.0045498e+09 found by Multiple root solvers after 0 iterations
and 0 nodes (334.98 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Thread
0 used 0 times,  waiting to start 0.54918051, 0 cpu time, 0 locks,
0 locked, 0 waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Thread
1 used 0 times,  waiting to start 0.48254895, 0 cpu time, 0 locks,
0 locked, 0 waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Thread
2 used 0 times,  waiting to start 0.41087604, 0 cpu time, 0 locks,
0 locked, 0 waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Thread
3 used 0 times,  waiting to start 0.34028697, 0 cpu time, 0 locks,
0 locked, 0 waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Thread
4 used 0 times,  waiting to start 0.27142525, 0 cpu time, 0 locks,
0 locked, 0 waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Thread
5 used 0 times,  waiting to start 0.20406055, 0 cpu time, 0 locks,
0 locked, 0 waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Thread
6 used 0 times,  waiting to start 0.13375831, 0 cpu time, 0 locks,
0 locked, 0 waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Thread
7 used 0 times,  waiting to start 0.064822912, 0 cpu time, 0 locks,
0 locked, 0 waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0030I Main
thread 0 waiting for threads,  1 locks, 1.1205673e-05 locked, 2.1457672e-06
waiting for locks</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0020I Exiting
on maximum time</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0005I Partial
search - best objective 1.0045498e+09 (best possible 376997.5), took 0
iterations and 0 nodes (335.73 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">Cbc0035I Maximum
depth 0, 0 variables fixed on reduced cost</span><br><span style=" font-size:10pt;font-family:sans-serif">Cuts at root node
changed objective from 376997 to 376997</span><br><span style=" font-size:10pt;font-family:sans-serif">Probing was tried
0 times and created 0 cuts of which 0 were active after adding rounds of
cuts (0.000 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">Gomory was tried
0 times and created 0 cuts of which 0 were active after adding rounds of
cuts (0.000 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">Knapsack was tried
0 times and created 0 cuts of which 0 were active after adding rounds of
cuts (0.000 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">Clique was tried
0 times and created 0 cuts of which 0 were active after adding rounds of
cuts (0.000 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">MixedIntegerRounding2
was tried 0 times and created 0 cuts of which 0 were active after adding
rounds of cuts (0.000 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">FlowCover was
tried 0 times and created 0 cuts of which 0 were active after adding rounds
of cuts (0.000 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">TwoMirCuts was
tried 0 times and created 0 cuts of which 0 were active after adding rounds
of cuts (0.000 seconds)</span><br><span style=" font-size:10pt;font-family:sans-serif">ZeroHalf was tried
0 times and created 0 cuts of which 0 were active after adding rounds of
cuts (0.000 seconds)</span><br><br><span style=" font-size:10pt;font-family:sans-serif">Result - Stopped
on time limit</span><br><br><span style=" font-size:10pt;font-family:sans-serif">Objective value:
               1004549786.00000000</span><br><span style=" font-size:10pt;font-family:sans-serif">Lower bound:  
                 376997.500</span><br><span style=" font-size:10pt;font-family:sans-serif">Gap:    
                     
 2663.61</span><br><span style=" font-size:10pt;font-family:sans-serif">Enumerated nodes:
              0</span><br><span style=" font-size:10pt;font-family:sans-serif">Total iterations:
              0</span><br><span style=" font-size:10pt;font-family:sans-serif">Time (CPU seconds):
            459.71</span><br><span style=" font-size:10pt;font-family:sans-serif">Time (Wallclock
seconds):       341.82</span><br><br><span style=" font-size:10pt;font-family:sans-serif">Total time (CPU
seconds):       460.09   (Wallclock seconds):  
    342.24</span><br><br><br><span style=" font-size:10pt;font-family:sans-serif">Thank you</span><br><br><br><span style=" font-size:10pt;color:#808080;font-family:Arial">Mit freundlichen
Grüßen / Kind regards</span><br><span style=" font-size:12pt;color:#ffbf18;font-family:Calibri">________________________________________</span><br><br><span style=" font-size:12pt;font-family:Arial"><b>Pieter Zieschang</b></span><br><br><span style=" font-size:7pt;font-family:Arial"><b>Modis IT Outsourcing
GmbH</b></span><br><span style=" font-size:7pt;font-family:Arial">Atriumstraße 1, 04315
Leipzig</span><br><br><span style=" font-size:7pt;font-family:Arial">Amtsgericht Düsseldorf:
HRB 78227</span><br><span style=" font-size:7pt;font-family:Arial">Geschäftsführer: Martin
Wimmer, Jörg Brinkmann</span><br><br><a href=https://ito.modis.de/><span style=" font-size:10pt;color:blue;font-family:Arial">ito.modis.de</span></a><br><br><br><br><br><br><br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">From:
       </span><span style=" font-size:9pt;font-family:sans-serif">"John
Forrest" <jjhforrest@gmail.com></span><br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">To:
       </span><span style=" font-size:9pt;font-family:sans-serif">cbc@list.coin-or.org</span><br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">Date:
       </span><span style=" font-size:9pt;font-family:sans-serif">24.01.2020
18:57</span><br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">Subject:
       </span><span style=" font-size:9pt;font-family:sans-serif">Re:
[Cbc] wrong optimal solution - preprocess SOS - preprocess aggregate works
fine</span><br><span style=" font-size:9pt;color:#5f5f5f;font-family:sans-serif">Sent
by:        </span><span style=" font-size:9pt;font-family:sans-serif">"Cbc"
<cbc-bounces@coin-or.org></span><br><hr noshade><br><br><br><tt><span style=" font-size:10pt">Pieter,<br><br>I think I have fixed the problem in trunk.<br><br>With some options, pre-processing tries to move costs from continuous <br>variables to integer variables - and when it does that the offset to the
<br>objective will change.  It does this before presolving the problem.
<br>Your model has some fixed variables at non-zero values (which would have
<br>vanished in presolving).  There was a section of the code in <br>CglPreProcess.cpp which got confused and adjusted the objective incorrectly.<br><br>When I ran the problem the solution values produced by the bad code were
<br>good, but the objective value did not match the correct value.<br><br>I have tested the changes on other models - but if anyone finds they <br>have problems, add -DSKIP_MOVE_COSTS_TO_INTEGERS to your configure AND
<br>inform me.<br><br>John Forrest<br><br><br><br>On 24/01/2020 09:18, Pieter Zieschang wrote:<br>> Hi Ted,<br>> <br>> the version is current trunk, as of January 22th.<br>> <br>> <br>> The problem is available for testing here: <br>> </span></tt><a href=https://mega.nz/#!c3Y0CA7R!jFnYcFVzcnYSWucZrCIdgb_AQzE5etB1JlySKom1QuE><tt><span style=" font-size:10pt">https://mega.nz/#!c3Y0CA7R!jFnYcFVzcnYSWucZrCIdgb_AQzE5etB1JlySKom1QuE</span></tt></a><tt><span style=" font-size:10pt"><br>> <br>> Command is in the post below.<br>> <br>> <br>> I'm not sure if i make it to opening an issue on github today.<br>> <br>> <br>> Thank you<br>> <br>> <br>> Mit freundlichen Grüßen / Kind regards<br>> ________________________________________<br>> <br>> *Pieter Zieschang*<br>> <br>> *Modis IT Outsourcing GmbH*<br>> Atriumstraße 1, 04315 Leipzig<br>> <br>> Amtsgericht Düsseldorf: HRB 78227<br>> Geschäftsführer: Martin Wimmer, Jörg Brinkmann<br>> <br>> ito.modis.de <</span></tt><a href=https://ito.modis.de/><tt><span style=" font-size:10pt">https://ito.modis.de/</span></tt></a><tt><span style=" font-size:10pt">><br>> <br>> <br>> <br>> <br>> <br>> <br>> From: "Ted Ralphs" <ted@lehigh.edu><br>> To: "Pieter Zieschang" <pieter.zieschang@modis.de><br>> Cc: "cbc" <cbc@list.coin-or.org><br>> Date: 24.01.2020 04:36<br>> Subject: Re: [Cbc] wrong optimal solution - preprocess SOS - preprocess
<br>> aggregate works fine<br>> ------------------------------------------------------------------------<br>> <br>> <br>> <br>> Hi Pieter,<br>> <br>> Forgive me if I missed something, but what Cbc version? Could you
open <br>> an issue on Github?<br>> <br>> Ted<br>> <br>> On Thu, Jan 23, 2020 at 5:23 AM Pieter Zieschang <br>> <_pieter.zieschang@modis.de_ <</span></tt><a href=mailto:pieter.zieschang@modis.de><tt><span style=" font-size:10pt">mailto:pieter.zieschang@modis.de</span></tt></a><tt><span style=" font-size:10pt">>>
wrote:<br>> Hello,<br>> <br>> there seems to be something going wrong when preprocess=sos (the <br>> default) is used, cbc selecting the wrong branch?<br>> <br>> When preprocess=aggregate the correct optimal solution is found, also
<br>> solution time is longer, probably the<br>> <br>> <br>> Correct Optimal Solution:<br>> <br>> $ cbc Problem_25581_0.mps timemode=elapsed -seconds=400 -keepNames=on
<br>> -threads=8 -dualt=1e-06 -perturb=on -pertvalue=61 -constraint=on <br>> -cuts=on -clique=forceon -zero=forceon -probing=forceonstrong <br>> -combine=on -combine2=on -ratiogap=0.001 -multiple=8 <br>> -preprocess=aggregate -solve<br>> <br>> Cbc0011I Exiting as integer gap of 3.0000005e-05 less than 1e-10 or
0.1%<br>> Cbc0001I Search completed - best objective 180.9999999999945, took
1048 <br>> iterations and 0 nodes (117.76 seconds)<br>> Cbc0035I Maximum depth 0, 289 variables fixed on reduced cost<br>> Cuts at root node changed objective from 177 to 181<br>> Probing was tried 108 times and created 793 cuts of which 0 were active
<br>> after adding rounds of cuts (1152.645 seconds)<br>> Gomory was tried 108 times and created 441 cuts of which 0 were active
<br>> after adding rounds of cuts (25.991 seconds)<br>> Knapsack was tried 108 times and created 18 cuts of which 0 were active
<br>> after adding rounds of cuts (9.414 seconds)<br>> Clique was tried 108 times and created 0 cuts of which 0 were active
<br>> after adding rounds of cuts (0.226 seconds)<br>> MixedIntegerRounding2 was tried 108 times and created 27 cuts of which
0 <br>> were active after adding rounds of cuts (15.430 seconds)<br>> FlowCover was tried 108 times and created 0 cuts of which 0 were active
<br>> after adding rounds of cuts (6.004 seconds)<br>> TwoMirCuts was tried 108 times and created 1530 cuts of which 0 were
<br>> active after adding rounds of cuts (33.287 seconds)<br>> ZeroHalf was tried 108 times and created 27 cuts of which 0 were active
<br>> after adding rounds of cuts (67.834 seconds)<br>> <br>> Result - Optimal solution found (within gap tolerance)<br>> <br>> Objective value:              
 181.00000000<br>> Lower bound:  181.000<br>> Gap:        0.00<br>> Enumerated nodes:              
0<br>> Total iterations:              
1048<br>> Time (CPU seconds):             656.08<br>> Time (Wallclock seconds):       121.02<br>> <br>> Total time (CPU seconds):       656.23   (Wallclock
seconds):       121.18<br>> <br>> <br>> <br>> <br>> <br>> Wrong Optimal Solution:<br>> <br>> $ cbc Problem_25581_0.mps timemode=elapsed -seconds=400 -keepNames=on
<br>> -threads=8 -dualt=1e-06 -perturb=on -pertvalue=61 -constraint=on <br>> -cuts=on -clique=forceon -zero=forceon -probing=forceonstrong <br>> -combine=on -combine2=on -ratiogap=0.001 -multiple=8 -solve<br>> Cbc0011I Exiting as integer gap of 49802 less than 1e-10 or 0.1%<br>> Cbc0001I Search completed - best objective 1200049979, took 0 iterations
<br>> and 0 nodes (67.05 seconds)<br>> Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost<br>> Cuts at root node changed objective from 1.2e+09 to 1.2e+09<br>> Probing was tried 0 times and created 0 cuts of which 0 were active
<br>> after adding rounds of cuts (0.000 seconds)<br>> Gomory was tried 0 times and created 0 cuts of which 0 were active
after <br>> adding rounds of cuts (0.000 seconds)<br>> Knapsack was tried 0 times and created 0 cuts of which 0 were active
<br>> after adding rounds of cuts (0.000 seconds)<br>> Clique was tried 0 times and created 0 cuts of which 0 were active
after <br>> adding rounds of cuts (0.000 seconds)<br>> MixedIntegerRounding2 was tried 0 times and created 0 cuts of which
0 <br>> were active after adding rounds of cuts (0.000 seconds)<br>> FlowCover was tried 0 times and created 0 cuts of which 0 were active
<br>> after adding rounds of cuts (0.000 seconds)<br>> TwoMirCuts was tried 0 times and created 0 cuts of which 0 were active
<br>> after adding rounds of cuts (0.000 seconds)<br>> ZeroHalf was tried 0 times and created 0 cuts of which 0 were active
<br>> after adding rounds of cuts (0.000 seconds)<br>> Cgl0014I Postprocessing changed objective from 1.20005e+09 to 49979
- <br>> possible tolerance issue - try without preprocessing<br>> <br>> Result - Optimal solution found (within gap tolerance)<br>> <br>> Objective value:              
 1200049979.00000000<br>> Lower bound:  1200000177.000<br>> Gap:        0.00<br>> Enumerated nodes:              
0<br>> Total iterations:              
0<br>> Time (CPU seconds):             241.92<br>> Time (Wallclock seconds):       72.52<br>> <br>> Total time (CPU seconds):       242.06   (Wallclock
seconds):       72.68<br>> <br>> <br>> <br>> Thanks<br>> <br>> <br>> <br>> <br>> <br>> Mit freundlichen Grüßen / Kind regards<br>> ________________________________________<br>> *<br>> Pieter Zieschang*<br>> *<br>> Modis IT Outsourcing GmbH*<br>> Atriumstraße 1, 04315 Leipzig<br>> <br>> Amtsgericht Düsseldorf: HRB 78227<br>> Geschäftsführer: Martin Wimmer, Jörg Brinkmann<br>> _<br>> __ito.modis.de_ <</span></tt><a href=https://ito.modis.de/><tt><span style=" font-size:10pt">https://ito.modis.de/</span></tt></a><tt><span style=" font-size:10pt">><br>> <br>> <br>> Diese E-Mail und alle Anhänge sind vertraulich und für den Adressaten
<br>> bestimmt und können auch privilegiert oder von der Offenlegung nach
<br>> geltendem Recht ausgenommen sein. Wenn Sie nicht der Adressat sind
oder <br>> diese E-Mail irrtümlicherweise erhalten haben, benachrichtigen Sie
den <br>> Absender unverzüglich, löschen Sie die E-Mail aus Ihrem System und
<br>> kopieren Sie keine Teile dieser E-Mail oder deren Anhänge und geben
Sie <br>> sie nicht weiter.<br>> <br>> This email and any attachments are confidential and intended for the
<br>> addressee and may also be privileged or exempt from disclosure under
<br>> applicable law. If you are not the addressee, or have received this
<br>> email in error, please notify the sender immediately, delete it from
<br>> your system and do not copy, or disclose or otherwise act upon any
part <br>> of this email or its attachments.<br>> _______________________________________________<br>> Cbc mailing list_<br>> __Cbc@list.coin-or.org_ <</span></tt><a href="mailto:Cbc@list.coin-or.org"><tt><span style=" font-size:10pt">mailto:Cbc@list.coin-or.org</span></tt></a><tt><span style=" font-size:10pt">>_<br>> __</span></tt><a href="https://list.coin-or.org/mailman/listinfo/cbc_"><tt><span style=" font-size:10pt">https://list.coin-or.org/mailman/listinfo/cbc_</span></tt></a><tt><span style=" font-size:10pt"><br>> <br>> <br>> -- <br>> Dr. Ted Ralphs<br>> Professor, Industrial and Systems Engineering<br>> Lehigh University<br>> (610) 628-1280<br>> ted 'at' lehigh 'dot' edu_<br>> __coral.ie.lehigh.edu/~ted_ <</span></tt><a href=http://coral.ie.lehigh.edu/~ted><tt><span style=" font-size:10pt">http://coral.ie.lehigh.edu/~ted</span></tt></a><tt><span style=" font-size:10pt">><br>> <br>> Diese E-Mail und alle Anhänge sind vertraulich und für den Adressaten
<br>> bestimmt und können auch privilegiert oder von der Offenlegung nach
<br>> geltendem Recht ausgenommen sein. Wenn Sie nicht der Adressat sind
oder <br>> diese E-Mail irrtümlicherweise erhalten haben, benachrichtigen Sie
den <br>> Absender unverzüglich, löschen Sie die E-Mail aus Ihrem System und
<br>> kopieren Sie keine Teile dieser E-Mail oder deren Anhänge und geben
Sie <br>> sie nicht weiter.<br>> <br>> This email and any attachments are confidential and intended for the
<br>> addressee and may also be privileged or exempt from disclosure under
<br>> applicable law. If you are not the addressee, or have received this
<br>> email in error, please notify the sender immediately, delete it from
<br>> your system and do not copy, or disclose or otherwise act upon any
part <br>> of this email or its attachments.<br>> <br>> _______________________________________________<br>> Cbc mailing list<br>> Cbc@list.coin-or.org<br>> </span></tt><a href="https://list.coin-or.org/mailman/listinfo/cbc"><tt><span style=" font-size:10pt">https://list.coin-or.org/mailman/listinfo/cbc</span></tt></a><tt><span style=" font-size:10pt"><br>> <br><br>_______________________________________________<br>Cbc mailing list<br>Cbc@list.coin-or.org<br></span></tt><a href="https://list.coin-or.org/mailman/listinfo/cbc"><tt><span style=" font-size:10pt">https://list.coin-or.org/mailman/listinfo/cbc</span></tt></a><tt><span style=" font-size:10pt"><br></span></tt><br><br><font face="sans-serif"><div style="color:#968080; font-size: 12px;font-family:Arial">
Diese E-Mail und alle Anhänge sind vertraulich und für den Adressaten bestimmt und können auch privilegiert oder von der Offenlegung nach geltendem Recht ausgenommen sein. Wenn Sie nicht der Adressat sind oder diese E-Mail irrtümlicherweise erhalten haben, benachrichtigen Sie den Absender unverzüglich, löschen Sie die E-Mail aus Ihrem System und kopieren Sie keine Teile dieser E-Mail oder deren Anhänge und geben Sie sie nicht weiter.<br> <br>
This email and any attachments are confidential and intended for the addressee and may also be privileged or exempt from disclosure under applicable law. If you are not the addressee, or have received this email in error, please notify the sender immediately, delete it from your system and do not copy, or disclose or otherwise act upon any part of this email or its attachments.
</div>
</font>