coin-or / Clp

COIN-OR Linear Programming Solver
Other
392 stars 82 forks source link

clp.exe may crash. #274

Open yk011309 opened 1 year ago

yk011309 commented 1 year ago

clp.exe crashes with the following mps file when primalTolerance is small.

> clp.exe test.mps -primalTolerance 1e-6 -minimize -solve -solution result.txt -> crashed. > clp.exe test.mps -primalTolerance 1e-5 -minimize -solve -solution result.txt -> didn't crash.

I tested with Clp-releases.1.17.8-w64-msvc16-md and Clp-releases.1.17.8-w64-msvc17-md.

test.mps

NAME TestConvexQP ROWS N OBJECT G R1 G R2 G R3 G R4 G R5 G R6 G R7 G R8 G R9 G R10 G R11 G R12 G R13 G R14 COLUMNS X1 OBJECT -6.33174068731535E-16 X1 R1 -1.38237231824552 X1 R2 2.57705493348984 X1 R3 0.893710887963403 X1 R4 -1.40467816181794 X1 R5 -0.74909952135441 X1 R6 -0.0750949408363687 X1 R7 -0.731082739214938 X1 R8 -1.38209298467333 X1 R9 2.57905334394858 X1 R10 1.05764436210498 X1 R11 -1.40458079066066 X1 R12 -0.746246377481727 X1 R13 -0.0780573394061342 X1 R14 -0.726226183869852 X2 OBJECT -5.69390793737391E-16 X2 R1 -0.0163560436138557 X2 R2 1.99468668353512 X2 R3 -2.08061722789719 X2 R4 -1.7452198444874 X2 R5 0.00576562468973074 X2 R6 1.72289997073075 X2 R7 0.00317872161630151 X2 R8 -0.0162427791511776 X2 R9 1.99549700105277 X2 R10 -2.01414531505974 X2 R11 -1.74518036233091 X2 R12 0.00692252038666297 X2 R13 1.72169877432745 X2 R14 0.00514796264702411 X3 OBJECT -6.14525791364784E-16 X3 R1 -0.128877715086185 X3 R2 1.37055762721054 X3 R3 -0.0716728882465328 X3 R4 -1.97720981439181 X3 R5 -0.319475756546151 X3 R6 0.00441989753315607 X3 R7 -0.315769691514621 X3 R8 -0.128659639793125 X3 R9 1.3721177832026 X3 R10 0.0563097245659944 X3 R11 -1.97713379687808 X3 R12 -0.317248311483645 X3 R13 0.00210715749555091 X3 R14 -0.311978186176328 X4 OBJECT -1.15098902631061E-15 X4 R1 -0.0432908552288926 X4 R2 1.07806573967557 X4 R3 0.327339448908376 X4 R4 -0.678501456388584 X4 R5 -1.35945672835786 X4 R6 0.106541328004554 X4 R7 -0.483422818595674 X4 R8 -0.0435646187786731 X4 R9 1.07610717831539 X4 R10 0.16667487337562 X4 R11 -0.678596885926302 X4 R12 -1.3622529794081 X4 R13 0.109444655169813 X4 R14 -0.488182532297562 X5 OBJECT -2.09684700158697E-16 X5 R1 -0.0993212094007268 X5 R2 0.0618017282483161 X5 R3 1.30352157601599 X5 R4 0.0265692044750114 X5 R5 -0.295791120941798 X5 R6 -1.93279732830741 X5 R7 -0.289370365468515 X5 R8 -0.0992885550823477 X5 R9 0.0620353440319846 X5 R10 1.32268553047975 X5 R11 0.0265805872413084 X5 R12 -0.295457586137262 X5 R13 -1.93314363507356 X5 R14 -0.288802630257806 X6 OBJECT 2.92300905702092E-16 X6 R1 -0.160617952702279 X6 R2 1.20755881297912 X6 R3 0.0441285699135943 X6 R4 -0.711979517569525 X6 R5 -0.552017697819496 X6 R6 0.0946476743325082 X6 R7 -1.40296588288707 X6 R8 -0.160254311772758 X6 R9 1.21016037580263 X6 R10 0.257539798818364 X6 R11 -0.711852758233496 X6 R12 -0.548303429313324 X6 R13 0.0907911763073798 X6 R14 -1.3966435411575 RHS RHS1 R1 -37.6429498997557 RHS1 R2 97.2260867768474 RHS1 R3 92.1174211328235 RHS1 R4 -76.1564401334131 RHS1 R5 -78.9968183755308 RHS1 R6 -78.6017251879198 RHS1 R7 -78.9197383853335 RHS1 R8 -37.6327822133182 RHS1 R9 97.2988733287527 RHS1 R10 98.0872492496583 RHS1 R11 -76.1528955227783 RHS1 R12 -78.8929569832673 RHS1 R13 -78.7095974542488 RHS1 R14 -78.7429479316258 BOUNDS FR BOUND X1 FR BOUND X2 FR BOUND X3 FR BOUND X4 FR BOUND X5 FR BOUND X6 QUADOBJ X1 X1 0.14280365295569 X2 X1 0.112326679560112 X3 X1 -0.0123426882592386 X4 X1 0.0130221420022721 X5 X1 -0.00303279324360872 X6 X1 0.0214287229889673 X2 X2 0.287384690609157 X3 X2 -0.0105760572630717 X4 X2 0.0659032217822261 X5 X2 0.0136386481909511 X6 X2 0.0684447360576953 X3 X3 0.0186310316323555 X4 X3 -0.00534137201121943 X5 X3 0.00551850579515465 X6 X3 -0.00717579847817494 X4 X4 0.074974826336554 X5 X4 0.000161393296927416 X6 X4 -0.0160052249623282 X5 X5 0.0191971633222669 X6 X5 -0.0012507650563196 X6 X6 0.0684963196238557 ENDATA

jjhforrest commented 1 year ago

Quadratic has not been kept up to date and "initialSolve" got confused. You will not get any advantages from -solve and I would suggest that you use -primals (or -barrier).

yk011309 commented 1 year ago

Using -primalS, -dualS, -either to test.mps crashed clp.exe as did using -solve. When using -barrier clp.exe did not crash and got the optimal solution.

However, when -barrier is used for test2.mps below, "Stopped on iterations or time" is output and the optimal solution cannot be obtained. Using anything other than -barrier gives the optimal solution.

test2.mps

NAME TestConvexQP2 ROWS N OBJECT G R1 G R2 G R3 G R4 G R5 G R6 G R7 COLUMNS X1 OBJECT 2.55795384873636E-13 X1 R1 -1.25631423183625 X1 R2 1.98604848145615 X1 R3 0.99185595596329 X1 R4 -0.954603162502961 X1 R5 -0.52646433314256 X1 R6 -0.0817190489498771 X1 R7 -0.509774744102942 X2 OBJECT 1.61248792096558E-12 X2 R1 -0.0233025790374162 X2 R2 2.02878160251631 X2 R3 -2.01045269630086 X2 R4 -1.77043702879025 X2 R5 -0.00541356354344802 X2 R6 1.7219043013822 X2 R7 -0.00700117872522277 X3 OBJECT 1.45661260830821E-13 X3 R1 -0.112130956868261 X3 R2 1.29419055683126 X3 R3 0.0476644193715896 X3 R4 -1.91800188968916 X3 R5 -0.288366583516715 X3 R6 0.00162596942009061 X3 R7 -0.28353413552517 X4 OBJECT 3.83693077310454E-13 X4 R1 -0.0113112590499856 X4 R2 0.92404334623397 X4 R3 0.149804797298355 X4 R4 -0.563209429909544 X4 R5 -1.30589441980973 X4 R6 0.108505685491132 X4 R7 -0.432678037356059 X5 OBJECT -1.45661260830821E-13 X5 R1 -0.0811470859700689 X5 R2 -0.0234956312216178 X5 R3 1.31319665965662 X5 R4 0.0914822900989671 X5 R5 -0.263757723649542 X5 R6 -1.93367177507406 X5 R7 -0.257583151448648 X6 OBJECT 2.50466314355435E-13 X6 R1 -0.138826951875191 X6 R2 1.10913752160014 X6 R3 0.24633224727497 X6 R4 -0.63519567293963 X6 R5 -0.510861899191156 X6 R6 0.0901673764487839 X6 R7 -1.35976940466292 RHS RHS1 R1 -17.2597424123373 RHS1 R2 14225.9130627521 RHS1 R3 22936.8714349602 RHS1 R4 -8833.86192490507 RHS1 R5 -17192.4491752307 RHS1 R6 -36571.2210227025 RHS1 R7 -13972.2371885318 BOUNDS FR BOUND X1 FR BOUND X2 FR BOUND X3 FR BOUND X4 FR BOUND X5 FR BOUND X6 QUADOBJ X1 X1 0.108246709675597 X2 X1 0.0981788720437024 X3 X1 -0.00845140083983216 X4 X1 0.00561835927314888 X5 X1 -0.00820344962936441 X6 X1 0.0186714268943699 X2 X2 0.386635725120289 X3 X2 -0.0062400187535258 X4 X2 0.0732691582982062 X5 X2 -0.00515108026110568 X6 X2 0.0826523917402175 X3 X3 0.0228650739989253 X4 X3 -0.0031017729527417 X5 X3 0.00656871316535296 X6 X3 -0.0035688309802128 X4 X4 0.0709331318070513 X5 X4 -0.00254740864681019 X6 X4 -0.0124685458835092 X5 X5 0.0192526536066132 X6 X5 -0.00380880744331457 X6 X6 0.0718042446464811 ENDATA

jjhforrest commented 1 year ago

I managed to get first problem to error as described with some builds. Can't get it to error with master - that says - Unscaled problem has dual infeasibilities. With -scaling off all versions work.

As it looks like a scaling/accuracy problem - how are you solving the problems? If you are creating an mps file then it would be better to create it with more accuracy writing values as exact representations of doubles (like formatType==2 in writeMps

yk011309 commented 1 year ago

I am generating test cases in C#. I changed ToString() to ToString("R") as you advised.

First, I generated test_R.mps with improved accuracy of test.mps. > clp.exe test.mps -scaling X -primalS -solution test.txt The results are shown in the table below. scaling auto dynamic equi geo off rows test.mps Crash Crash OK Crash OK OK test_R.mps OK OK Crash OK Crash OK In all test cases I generated clp.exe did not crash if -scaling was rows. But it could be a coincidence so I would like to remove the root cause of the crash if possible.

I then generated test2_R.mps, which is an improved version of test2.mps, and a new test case, test3.mps. > clp.exe test.mps -scaling X -barrier -solution test.txt The results are shown in the table below. scaling auto dynamic equi geo off rows test2.mps Stopped Stopped Stopped Stopped Stopped Stopped test2_R.mps OK OK OK OK OK OK test3_R.mps OK Crash OK OK Crash OK Test2_R.mps has improved results. However, I found a test case where clp.exe crashes when -barrier is used.

test_R.mps

NAME TestConvexQPRoundTrip ROWS N OBJECT G R1 G R2 G R3 G R4 G R5 G R6 G R7 G R8 G R9 G R10 G R11 G R12 G R13 G R14 COLUMNS X1 OBJECT -6.3317406873153459E-16 X1 R1 -1.3823723182455239 X1 R2 2.5770549334898445 X1 R3 0.89371088796340281 X1 R4 -1.4046781618179374 X1 R5 -0.74909952135441049 X1 R6 -0.075094940836368709 X1 R7 -0.73108273921493794 X1 R8 -1.3820929846733299 X1 R9 2.5790533439485821 X1 R10 1.0576443621049834 X1 R11 -1.4045807906606562 X1 R12 -0.74624637748172684 X1 R13 -0.078057339406134157 X1 R14 -0.72622618386985249 X2 OBJECT -5.6939079373739127E-16 X2 R1 -0.016356043613855675 X2 R2 1.9946866835351202 X2 R3 -2.0806172278971924 X2 R4 -1.7452198444873976 X2 R5 0.0057656246897307417 X2 R6 1.7228999707307491 X2 R7 0.0031787216163015053 X2 R8 -0.016242779151177555 X2 R9 1.9954970010527744 X2 R10 -2.0141453150597384 X2 R11 -1.7451803623309112 X2 R12 0.006922520386662967 X2 R13 1.7216987743274506 X2 R14 0.0051479626470241069 X3 OBJECT -6.1452579136478391E-16 X3 R1 -0.12887771508618545 X3 R2 1.3705576272105386 X3 R3 -0.071672888246532784 X3 R4 -1.9772098143918055 X3 R5 -0.31947575654615096 X3 R6 0.0044198975331560661 X3 R7 -0.31576969151462142 X3 R8 -0.12865963979312511 X3 R9 1.3721177832025986 X3 R10 0.056309724565994416 X3 R11 -1.9771337968780769 X3 R12 -0.31724831148364541 X3 R13 0.0021071574955509147 X3 R14 -0.31197818617632811 X4 OBJECT -1.1509890263106115E-15 X4 R1 -0.043290855228892589 X4 R2 1.078065739675568 X4 R3 0.32733944890837563 X4 R4 -0.67850145638858383 X4 R5 -1.359456728357856 X4 R6 0.10654132800455392 X4 R7 -0.48342281859567426 X4 R8 -0.0435646187786731 X4 R9 1.0761071783153946 X4 R10 0.16667487337561995 X4 R11 -0.6785968859263023 X4 R12 -1.3622529794081006 X4 R13 0.10944465516981253 X4 R14 -0.48818253229756203 X5 OBJECT -2.0968470015869656E-16 X5 R1 -0.099321209400726834 X5 R2 0.061801728248316132 X5 R3 1.3035215760159888 X5 R4 0.026569204475011418 X5 R5 -0.29579112094179788 X5 R6 -1.9327973283074056 X5 R7 -0.28937036546851452 X5 R8 -0.099288555082347726 X5 R9 0.062035344031984616 X5 R10 1.3226855304797531 X5 R11 0.026580587241308393 X5 R12 -0.2954575861372622 X5 R13 -1.9331436350735625 X5 R14 -0.288802630257806 X6 OBJECT 2.92300905702092E-16 X6 R1 -0.1606179527022788 X6 R2 1.2075588129791246 X6 R3 0.044128569913594304 X6 R4 -0.71197951756952516 X6 R5 -0.55201769781949572 X6 R6 0.094647674332508216 X6 R7 -1.4029658828870666 X6 R8 -0.16025431177275784 X6 R9 1.2101603758026327 X6 R10 0.25753979881836375 X6 R11 -0.71185275823349614 X6 R12 -0.5483034293133241 X6 R13 0.09079117630737979 X6 R14 -1.3966435411574976 RHS RHS1 R1 -37.642949899755664 RHS1 R2 97.226086776847438 RHS1 R3 92.117421132823452 RHS1 R4 -76.156440133413071 RHS1 R5 -78.996818375530836 RHS1 R6 -78.601725187919826 RHS1 R7 -78.919738385333531 RHS1 R8 -37.632782213318244 RHS1 R9 97.298873328752663 RHS1 R10 98.087249249658257 RHS1 R11 -76.152895522778337 RHS1 R12 -78.892956983267325 RHS1 R13 -78.7095974542488 RHS1 R14 -78.742947931625764 BOUNDS FR BOUND X1 FR BOUND X2 FR BOUND X3 FR BOUND X4 FR BOUND X5 FR BOUND X6 QUADOBJ X1 X1 0.14280365295569 X2 X1 0.11232667956011218 X3 X1 -0.012342688259238639 X4 X1 0.013022142002272096 X5 X1 -0.0030327932436087189 X6 X1 0.021428722988967284 X2 X2 0.28738469060915678 X3 X2 -0.010576057263071748 X4 X2 0.065903221782226115 X5 X2 0.013638648190951131 X6 X2 0.068444736057695257 X3 X3 0.018631031632355539 X4 X3 -0.0053413720112194286 X5 X3 0.00551850579515465 X6 X3 -0.0071757984781749447 X4 X4 0.074974826336553987 X5 X4 0.00016139329692741594 X6 X4 -0.016005224962328236 X5 X5 0.019197163322266918 X6 X5 -0.0012507650563196 X6 X6 0.068496319623855662 ENDATA

test3_R.mps

NAME TestConvexQPRoundTripInfeasible ROWS N OBJECT G R1 G R2 G R3 G R4 G R5 G R6 G R7 G R8 G R9 G R10 G R11 G R12 G R13 G R14 G R15 G R16 G R17 G R18 G R19 G R20 G R21 G R22 G R23 G R24 G R25 G R26 G R27 G R28 G R29 G R30 G R31 G R32 G R33 G R34 G R35 G R36 G R37 G R38 G R39 G R40 G R41 G R42 G R43 G R44 G R45 G R46 G R47 G R48 G R49 G R50 G R51 G R52 G R53 G R54 G R55 G R56 G R57 G R58 G R59 G R60 G R61 G R62 G R63 G R64 G R65 G R66 G R67 G R68 G R69 G R70 G R71 G R72 G R73 G R74 G R75 G R76 G R77 G R78 G R79 G R80 G R81 G R82 G R83 G R84 COLUMNS X1 OBJECT 0.71410195383874608 X1 R1 1.7461065890401677 X1 R2 -1.7461065890401677 X1 R3 1 X1 R4 -1 X1 R5 1 X1 R6 -1 X1 R7 1 X1 R8 -1 X1 R9 1 X1 R10 -1 X1 R11 1 X1 R12 -1 X1 R13 -0.74610658904016769 X1 R14 0.74610658904016769 X1 R15 -0.74610658904016769 X1 R16 0.74610658904016769 X1 R17 -0.74610658904016769 X1 R18 0.74610658904016769 X1 R19 -0.74610658904016769 X1 R20 0.74610658904016769 X1 R21 -0.74610658904016769 X1 R22 0.74610658904016769 X1 R43 1.7461065890401677 X1 R44 -1.7461065890401677 X1 R45 1 X1 R46 -1 X1 R47 1 X1 R48 -1 X1 R49 1 X1 R50 -1 X1 R51 1 X1 R52 -1 X1 R53 1 X1 R54 -1 X1 R55 -0.74610658904016769 X1 R56 0.74610658904016769 X1 R57 -0.74610658904016769 X1 R58 0.74610658904016769 X1 R59 -0.74610658904016769 X1 R60 0.74610658904016769 X1 R61 -0.74610658904016769 X1 R62 0.74610658904016769 X1 R63 -0.74610658904016769 X1 R64 0.74610658904016769 X2 OBJECT -0.32533914707899636 X2 R1 0.98332866760501225 X2 R2 -0.98332866760501225 X2 R3 -1 X2 R4 1 X2 R13 -1.9833286676050124 X2 R14 1.9833286676050124 X2 R15 -0.98332866760501225 X2 R16 0.98332866760501225 X2 R17 -0.98332866760501225 X2 R18 0.98332866760501225 X2 R19 -0.98332866760501225 X2 R20 0.98332866760501225 X2 R21 -0.98332866760501225 X2 R22 0.98332866760501225 X2 R23 1 X2 R24 -1 X2 R25 1 X2 R26 -1 X2 R27 1 X2 R28 -1 X2 R29 1 X2 R30 -1 X2 R43 0.98332866760501225 X2 R44 -0.98332866760501225 X2 R45 -1 X2 R46 1 X2 R55 -1.9833286676050124 X2 R56 1.9833286676050124 X2 R57 -0.98332866760501225 X2 R58 0.98332866760501225 X2 R59 -0.98332866760501225 X2 R60 0.98332866760501225 X2 R61 -0.98332866760501225 X2 R62 0.98332866760501225 X2 R63 -0.98332866760501225 X2 R64 0.98332866760501225 X2 R65 1 X2 R66 -1 X2 R67 1 X2 R68 -1 X2 R69 1 X2 R70 -1 X2 R71 1 X2 R72 -1 X3 OBJECT -0.10297267340369098 X3 R1 0.080493799416719816 X3 R2 -0.080493799416719816 X3 R5 -1 X3 R6 1 X3 R13 -0.080493799416719816 X3 R14 0.080493799416719816 X3 R15 -1.0804937994167199 X3 R16 1.0804937994167199 X3 R17 -0.080493799416719816 X3 R18 0.080493799416719816 X3 R19 -0.080493799416719816 X3 R20 0.080493799416719816 X3 R21 -0.080493799416719816 X3 R22 0.080493799416719816 X3 R23 -1 X3 R24 1 X3 R31 1 X3 R32 -1 X3 R33 1 X3 R34 -1 X3 R35 1 X3 R36 -1 X3 R43 0.080493799416719816 X3 R44 -0.080493799416719816 X3 R47 -1 X3 R48 1 X3 R55 -0.080493799416719816 X3 R56 0.080493799416719816 X3 R57 -1.0804937994167199 X3 R58 1.0804937994167199 X3 R59 -0.080493799416719816 X3 R60 0.080493799416719816 X3 R61 -0.080493799416719816 X3 R62 0.080493799416719816 X3 R63 -0.080493799416719816 X3 R64 0.080493799416719816 X3 R65 -1 X3 R66 1 X3 R73 1 X3 R74 -1 X3 R75 1 X3 R76 -1 X3 R77 1 X3 R78 -1 X4 OBJECT -0.12103523796485483 X4 R1 0.52049963119723075 X4 R2 -0.52049963119723075 X4 R7 -1 X4 R8 1 X4 R13 -0.52049963119723075 X4 R14 0.52049963119723075 X4 R15 -0.52049963119723075 X4 R16 0.52049963119723075 X4 R17 -1.5204996311972308 X4 R18 1.5204996311972308 X4 R19 -0.52049963119723075 X4 R20 0.52049963119723075 X4 R21 -0.52049963119723075 X4 R22 0.52049963119723075 X4 R25 -1 X4 R26 1 X4 R31 -1 X4 R32 1 X4 R37 1 X4 R38 -1 X4 R39 1 X4 R40 -1 X4 R43 0.52049963119723075 X4 R44 -0.52049963119723075 X4 R49 -1 X4 R50 1 X4 R55 -0.52049963119723075 X4 R56 0.52049963119723075 X4 R57 -0.52049963119723075 X4 R58 0.52049963119723075 X4 R59 -1.5204996311972308 X4 R60 1.5204996311972308 X4 R61 -0.52049963119723075 X4 R62 0.52049963119723075 X4 R63 -0.52049963119723075 X4 R64 0.52049963119723075 X4 R67 -1 X4 R68 1 X4 R73 -1 X4 R74 1 X4 R79 1 X4 R80 -1 X4 R81 1 X4 R82 -1 X5 OBJECT -0.28366946676513416 X5 R1 0.073229375252495135 X5 R2 -0.073229375252495135 X5 R9 -1 X5 R10 1 X5 R13 -0.073229375252495135 X5 R14 0.073229375252495135 X5 R15 -0.073229375252495135 X5 R16 0.073229375252495135 X5 R17 -0.073229375252495135 X5 R18 0.073229375252495135 X5 R19 -1.0732293752524951 X5 R20 1.0732293752524951 X5 R21 -0.073229375252495135 X5 R22 0.073229375252495135 X5 R27 -1 X5 R28 1 X5 R33 -1 X5 R34 1 X5 R37 -1 X5 R38 1 X5 R41 1 X5 R42 -1 X5 R43 0.073229375252495135 X5 R44 -0.073229375252495135 X5 R51 -1 X5 R52 1 X5 R55 -0.073229375252495135 X5 R56 0.073229375252495135 X5 R57 -0.073229375252495135 X5 R58 0.073229375252495135 X5 R59 -0.073229375252495135 X5 R60 0.073229375252495135 X5 R61 -1.0732293752524951 X5 R62 1.0732293752524951 X5 R63 -0.073229375252495135 X5 R64 0.073229375252495135 X5 R69 -1 X5 R70 1 X5 R75 -1 X5 R76 1 X5 R79 -1 X5 R80 1 X5 R83 1 X5 R84 -1 X6 OBJECT -0.66742026208402516 X6 R1 0.53643699285113067 X6 R2 -0.53643699285113067 X6 R11 -1 X6 R12 1 X6 R13 -0.53643699285113067 X6 R14 0.53643699285113067 X6 R15 -0.53643699285113067 X6 R16 0.53643699285113067 X6 R17 -0.53643699285113067 X6 R18 0.53643699285113067 X6 R19 -0.53643699285113067 X6 R20 0.53643699285113067 X6 R21 -1.5364369928511308 X6 R22 1.5364369928511308 X6 R29 -1 X6 R30 1 X6 R35 -1 X6 R36 1 X6 R39 -1 X6 R40 1 X6 R41 -1 X6 R42 1 X6 R43 0.53643699285113067 X6 R44 -0.53643699285113067 X6 R53 -1 X6 R54 1 X6 R55 -0.53643699285113067 X6 R56 0.53643699285113067 X6 R57 -0.53643699285113067 X6 R58 0.53643699285113067 X6 R59 -0.53643699285113067 X6 R60 0.53643699285113067 X6 R61 -0.53643699285113067 X6 R62 0.53643699285113067 X6 R63 -1.5364369928511308 X6 R64 1.5364369928511308 X6 R71 -1 X6 R72 1 X6 R77 -1 X6 R78 1 X6 R81 -1 X6 R82 1 X6 R83 -1 X6 R84 1 RHS RHS1 R1 -1.9832427778049702 RHS1 R2 -1.9867572221950303 RHS1 R3 0.00070519999999962835 RHS1 R4 -3.9707051999999994 RHS1 R5 -0.0005845000000004319 RHS1 R6 -3.9694154999999984 RHS1 R7 0.0011155999999985511 RHS1 R8 -3.9711155999999974 RHS1 R9 0.00024540000000072837 RHS1 R10 -3.9702453999999996 RHS1 R11 0.0012371000000044319 RHS1 R12 -3.9712371000000033 RHS1 R13 -0.0010520221950309772 RHS1 R14 -3.9689479778049694 RHS1 R15 -0.0023417221950321476 RHS1 R16 -3.9676582778049676 RHS1 R17 -0.00064162219502961193 RHS1 R18 -3.9693583778049693 RHS1 R19 -0.001511822195029211 RHS1 R20 -3.9684881778049714 RHS1 R21 -0.00052012219503083656 RHS1 R22 -3.969479877804968 RHS1 R23 -1.9862896999999997 RHS1 R24 -1.9837103000000003 RHS1 R25 -1.9845895999999996 RHS1 R26 -1.985410400000001 RHS1 R27 -1.9854597999999992 RHS1 R28 -1.9845401999999996 RHS1 R29 -1.9844680999999991 RHS1 R30 -1.9855319000000016 RHS1 R31 -1.9832998999999998 RHS1 R32 -1.9867001000000002 RHS1 R33 -1.9841700999999992 RHS1 R34 -1.9858299000000006 RHS1 R35 -1.9831783999999981 RHS1 R36 -1.9868216000000007 RHS1 R37 -1.9858701999999997 RHS1 R38 -1.9841298000000007 RHS1 R39 -1.9848784999999998 RHS1 R40 -1.9851215000000009 RHS1 R41 -1.9840083 RHS1 R42 -1.9859917000000005 RHS1 R43 -23.773242777804967 RHS1 R44 -16.176757222195029 RHS1 R45 -25.589294799999998 RHS1 R46 -14.3607052 RHS1 R47 -29.3905845 RHS1 R48 -10.559415499999997 RHS1 R49 -33.1888844 RHS1 R50 -6.7611155999999966 RHS1 R51 -36.9897546 RHS1 R52 -2.960245399999998 RHS1 R53 -40.788762899999995 RHS1 R54 0.838762899999999 RHS1 R55 -21.791052022195029 RHS1 R56 -18.158947977804967 RHS1 R57 -25.592341722195027 RHS1 R58 -14.357658277804969 RHS1 R59 -29.39064162219503 RHS1 R60 -10.559358377804966 RHS1 R61 -33.191511822195025 RHS1 R62 -6.758488177804967 RHS1 R63 -36.990520122195029 RHS1 R64 -2.9594798778049665 RHS1 R65 -23.776289699999996 RHS1 R66 -16.1737103 RHS1 R67 -27.5745896 RHS1 R68 -12.375410399999996 RHS1 R69 -31.375459799999994 RHS1 R70 -8.5745402 RHS1 R71 -35.1744681 RHS1 R72 -4.7755318999999972 RHS1 R73 -23.773299899999998 RHS1 R74 -16.176700099999998 RHS1 R75 -27.574170099999996 RHS1 R76 -12.3758299 RHS1 R77 -31.373178399999993 RHS1 R78 -8.5768216 RHS1 R79 -23.775870199999996 RHS1 R80 -16.1741298 RHS1 R81 -27.574878499999997 RHS1 R82 -12.375121499999999 RHS1 R83 -23.7740083 RHS1 R84 -16.175991699999997 BOUNDS FR BOUND X1 FR BOUND X2 FR BOUND X3 FR BOUND X4 FR BOUND X5 FR BOUND X6 QUADOBJ X1 X1 0.12773471343638093 X2 X1 0.10196952961371175 X3 X1 -0.0093292386606955227 X4 X1 0.015355698544653802 X5 X1 0.00179148994111826 X6 X1 0.022234396172699303 X2 X2 0.27053515944157813 X3 X2 -0.0044801782928801 X4 X2 0.071346059989825059 X5 X2 0.025238285238904652 X6 X2 0.072776031202962388 X3 X3 0.025804696537700223 X4 X3 -0.0025202318116454596 X5 X3 0.0061732011452994137 X6 X3 -0.0046901140692241858 X4 X4 0.086962424907745722 X5 X4 0.0052205577718211216 X6 X4 -0.012441625024233263 X5 X5 0.028499112283986966 X6 X5 0.0035736918205115237 X6 X6 0.07904798363568713 ENDATA

jjhforrest commented 1 year ago

Looking at comments in barrier code, quadratic barrier seems a work in progress (or a mess to put it another way). As I said the initial solve part of Clp does not seem to have been updated for quadratic. Possibly the best solution is to keep it simple. There is an example testQP.cpp in Clp/examples which seems to work on all of your problems.

yk011309 commented 1 year ago

I understand that the contents of testQP.cpp need to be included in clp.exe to solve quadratic, is my understanding correct? (I'm using a translation system, so I'm worried if I understand correctly. )

It's difficult for me, so I'd like to wait for it to be implemented someday.

jjhforrest commented 1 year ago

I have found a bug and will fix it. Clp primal minimises the true objective plus a large weight times the sum of infeasibilities. The user can set this weight but if the code finds that there is no objective it sets it to 1.0. With quadratic the code first solves the problem just with the linear objective and then starts using the quadratic objective. The bug was that it thought there was no objective (in linear part) and then leaves weight at 1.0. This can lead to problems. readMps as default treats all values <1.0e-14 as zero and in the first problem all values in linear objective are smaller than that. If I change X4 OBJECT -1.15098902631061E-15 to X4 OBJECT -1.15098902631061E-14 the code worked. See if scaling your problem so largest entry in linear objective is >1.0e-14 solves problem.

jjhforrest commented 1 year ago

Just noticed that bug had already been fixed in master.

yk011309 commented 1 year ago

Thanks for the additional information. I would like to experiment with my test case. However, the deadline for my main business is approaching, so I plan to start the experiment in about three weeks.