New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ilayn responses #25
Ilayn responses #25
Conversation
d1efa46a6 Rename pyHiGHS -> cython; remove uneeded coverage tests 046bf9f4e use correct num of args in dummy function f3d5fa6b2 dummy function for testing in case module is not compiled c06941986 Remove module status from tests 06fefa884 fix test import from within scipy 4085669c3 flake8-ify e6ca5175d Add simple coverage tests and fixes for bad input f5a28af16 Merge remote-tracking branch 'upstream/master' 115ab4857 Merge pull request scipy#383 from ERGO-Code/kkt-chk c973a530e Update README.md 79809a51d Update README.md 3d65abe0a build GA 74722b409 ga fix ac1d070e1 GA name bada2022e link 18aa77c71 removed travis 8b55a0725 formatting 377a5a94d fix bug 1718c94c8 as before, kxx to be added again f45ee71f6 only greenbea failing one rule of kkt check 19b528a55 old checker removed f5ea69a86 Merge branch 'master' into kkt-new 64d357722 checkers identical on small d8ed22799 presolvers on f8c435186 fixed bug afiro 9c9ff0992 unchanged perf 476d257c5 compare master ee311c9a6 clean up b5cbe2fa4 fixed checker bug 3764178ee bug fix in checkKkt() @ 0628eff1c printRow working OK, ctest passing with it in checker, see particular row 61 for e226 now c35e9a817 calling print row from postsolve fail spot bf19ff809 clean up and print row / col presolve util methods added bf35fce39 debug e226 single failure isolated dfeb091b6 both checkers in, leave them both until consistent 1bff3b4ba old checker bug fix, now failing new checker on 25fv 3d8762f86 more rLowes 7eb779ec9 kk d7218e41c both checkers: old one working 80244523e rs-only 6c5d72a80 doubleton eq off f2846b676 Merge pull request scipy#47 from ERGO-Code/master 7d93d001a Add ipm_optimality_tolerance; improve message_level and primal/dual_feasibility_tolerance docs d38efc9a9 ctest passing 058ef6c0e bug on 80bau fixed dual postsolve of singleton row triggered by very special case (4+ rules in order) 09bc02a2a triggering bug: single occurrence after a combination of at least four rules 654970cf3 next rule 80bau 08608d670 reordered col sing a bit 853bb421a Merge pull request scipy#381 from ERGO-Code/minorModsForUsers f714be3a9 Added ipm_optimality_tolerance to allow IPX to be run approximately when crossover is not used 4961bb148 Added Highs_runQuiet to C API bb9407835 Merge pull request scipy#46 from ERGO-Code/master 6a0f8f69c Add integer checks for integer options c5e736e4a Return fun=None when solution is unavailable 9a6219c80 fixed, tricky 57a4d0f32 removed last of stray ijs 694cd4353 one more bug fixed but still get the same error 074aac212 a few fixed but none fixed the St of L error message 1e9e226ec mix up with Julia branch, debugging 80bau f47c12ec1 checker tol set to 1e-7, not so relevant but needs to be consistent. first look into small ctest and 80bau3b issues, then extended ctest f1b1f0f7d merge with master a3c6c364b Merge pull request scipy#380 from ERGO-Code/presolveNumerics a82b3bd6a Merge pull request scipy#379 from ERGO-Code/kkt-check 58c9dee0d Reinstated the iPrint condition for reporting clocks and numerics 9636520d6 Removed two print statements in HMPSIO.cpp; tidied compiler warning in HighsLp::equalButForNames - which was useless; renamed reportAllNumericsRecord reportNumericsRecords; Formatted 2e77d5c7d Formatted 09fd31bcb Removed commented-out code and comments for discussion, plus implemented conclusions e5e2dc050 wip fb29edf67 Comment out openmp pragma statments afae7bbaa remove uneeded interface eb7aad4ec Fix merge conflicts f67d678ff Merge remote-tracking branch 'upstream/master' b8535efc1 Assigning eps tolerance to fixed_column_tolerance to avoid positive tolerance assert 415c44a51 Added analysis of fixed column numerics in presolve 798b84cee Merged kkt-check into this branch 1259aaa9c Merge branch 'master' into presolveNumerics c7335db52 Added model name to results summary 23662ad92 formatting 62fccfb11 Merge branch 'master' into kkt-check ed73f349d bug in new checker fixed. PR before dev of presolve 4c3f6f999 removeFixed* methods in Presolve class 0fac66922 removeFixed method and new checker bug fix. inconsistency in Fixed Cols rule dbf663603 checkKkt() method added to the Presolve class@ 2a7c0630b merge with master 5a6b5b422 Merge pull request scipy#377 from ERGO-Code/bug-presolve 50a8dbd3b Merge pull request scipy#378 from ERGO-Code/parser c7c7b729a empty mps file ef70118f6 formatting 4287eb3a8 fix d1a1069a8 formatting 6404d5aef Fixed Windows build error :-) 36d09bfed Formatted 9bfba4856 Added analysis of inconsistent bounds test in removeRowSingletons b5aea5a5f Generalised presolve numerics records as enum of indices into vector of records b7cb195bb Removed duplicate rule definitions due to merge 619468ac6 Resolved conflicts after merging master into this branch d8802a91d Formatted 5ee66483b Added analysis of two more numerical tolerances in presolve 4687bd5e4 Analysing and reporting the first four uses of tol in presolve c1d62c651 Split the if-statement in removeDoubletonEquations 82695b7ec Formatted b7526e770 Restored protection of call to timer.reportClocks(); 31093c2e3 regular ctest pass with both kkt checks enabled. 694959bd4 Looked at first few uses of tol in Presolve.cpp. Substituted specific identifiers in each case, and considered what the value should be 48af287ca compiling, segfaulting 22cc24f18 second half of checker, problems cleared 493d9196f Merge pull request scipy#375 from ERGO-Code/gams-interface-fixup beef381c6 negate row duals obtained from HiGHS 3285bdd62 do not pass invalid basis to HiGHS anymore 2dd53313c update copyright year d103672c8 use gmoCompleteSolution instead of gmoCompleteObjective c180bfe59 need to call HighsSetIO now to make it actually use callbacks, ref scipy#105 710fdff3c make the GAMS interface compile again 9dadda21a fix checks in assert 51e6b31d5 fix one of the compiler warnings d9f28507f Merge pull request scipy#374 from ERGO-Code/presolveTimerEfficiency 7a4ee97eb Added timer.recordFinish(SING_ROW); before status return 6d4ef9a96 Formatted 352d76917 Removed (redundant) start_time from HighsTimer.h bc22fffa6 Reduced frequency of timeout test 42446efed Removed high-volume clock start/finish calls from presolve 4956678be With high-call clocks commented out 02dac71b7 Added timing locks to start looking for missing 40% of presolve 27341ae9d halfway through checks, new checker d37e582b7 all of ctest passing within tolerances (0 simplex iter). Old checker identifies failures wrong d2e31361c old checker printing pass vs fail on postsolved solution before passing back to HiGHS. 773e9afc8 test files reverted f35dc7574 clean up 85b515994 ctest passes with and without check 51595fb04 ctest passing fca847451 fail. debug adlittle f6e8a1f60 clearing and basis in postsolve eb7e53883 destuctors added, one more special LP passing check f9c073325 bug in tests fixed, now unit test fails as expected in checker where clock has not been finished. New KKT checker class test/DevKkt added. c73683cef leak fixed, double free still failing eebe3471b 280 passing, valgrind next fal 56017e817 issue 280 special case 8ef4409cf valgrind OK plus tidy up b8b771115 valgrind 982a0dc4a Revert back to earlier upstream commit a600b38e4 Add note about cmake files; change single ticks to double back ticks in cython docstring; change byte-strings to python strings; remove uneeded commented-out code; clarify some comments 3dc432a10 Merge remote-tracking branch 'upstream/master' 69739a8a5 Remove unneeded files 46640196d More unneeded files dc701d7d8 Remove uneeded files dd7c8b480 Merge pull request scipy#371 from ERGO-Code/no-delete-JAJH c008b7760 Refined timing reporting 85db78f6d Added some missing timer.recordFinish(rule) calls 0c9699aa0 deleted dev print d17510e0a hw solving e07521ea8 ctest passing 3eeac3c46 Merge pull request scipy#370 from ERGO-Code/matrix-copy 260643015 small ctest passing dd6ef0551 formatting aaf1aacf2 formatting 9f4b9fe82 previous c6d26cfd6 back to list ded0248f1 Merge branch 'master' into matrix-copy 7c9639bfa ctest passing but presolve reduction counts changed adfbbb02c Merge pull request scipy#369 from ERGO-Code/openmp-version-cmake 94da4a2ac valgrind etamacro 837c5de2c presolve singleton lists changed into hash maps 04db154ce Merge branch 'master' into matrix-copy 01fa72dd1 Merge branch 'master' into matrix-copy cf38c6074 newline of 184c2ff59 reverted typo in comment 086b075aa target_link_libraries addd1f281 linking after defining lib cmake 6bb52c385 Merge pull request scipy#368 from ERGO-Code/dev-option 1c66fc894 setting OPENMP value ba25299b8 cmake openmp version required: more modern cmake 75215f320 openmp only using if available eebb4a7df update with master 53b4ace91 Merge branch 'master' into dev-option 6fed11c1f Merge pull request scipy#366 from ERGO-Code/dev-presolve 2c7e5b05e matrix-copy 3c0b5ee21 CMakeLists commented out scaffold subdir add 4b0ebee53 scaffold out b7e7a23cc adding dev-presolve to scaffold GA a53ff1b70 Merge pull request scipy#367 from ERGO-Code/CHUZC3 a9ed1c640 CHUZC sort strategy now controlled by option dual_chuzc_sort_strategy fb1ef5de2 Adding CHUZC3 option 228f8d0a3 Tidied up HDualRow and reformatted 8b22df683 Moved debug code from HDualRow to HSimplexDebug d08a669ee Moving the debug code from HDualRow 5d0eeebe0 experiments linux 5eacc5071 About to allow heap or quad 68432bdd4 Created metods for chooseFinalWorkGroupQuad() and chooseFinalLargeAlpha e9e827252 After cleaning up printing and commenting out checking 7ea716b16 Before cleaning up after identifying why groups have different sizes with quad and heap 3ad48e421 formatting 4f899821d scaffold out 87bb623a9 dev option and other working as expected 177b910de About to add array for checking group equivalence b733f091b boost po exception commented out 40f3352a5 Heap identification of breakpoint groups may be correct 92caf3e4c option dev added 962ca1891 Recognised that groups have to be filled using inner loop, but too tired to debug 0c82c9f9b Same workData and workGroup for adlittle with both methods 63f16f637 Found workGroup discrepancy 68a3e2a1c About to rename some new identifiers d6497317b Memory proboem: ask Ivet 66516d76d About to create chooseWorkGroupHeap e6928afac formatting 0fb9da3ad presolve time_limit works 46c3790f8 Fixed bug in permuteSimplexLp when LP is not scaled 538f2efcf debugDualChuzcFail now analyses and reports on dual CHUZC failure 88d8eb356 formatting 414998743 timeout returning 03e07cdeb Added timing and reporting to identify inefficiency in CHUZC3 d30f93867 Added analyse_lp = true with HiGHSDEV=on f992d54ee removed function: do in separate CL since this one has grown 034fa18af added chrono 56c75804d unit test fixed 9ad6fa14f clean up 430b45331 scaffold out 338af92c9 options tests pass 453eb30f6 mps parser timeout works: 1e2ef6728 parser stopping on timeout but simplex running anyway 2d6e70f71 ctest passing, now add timeout and iteration tests to dev-presolve 257b62632 CL growing, added timeout to parser, linking dev with call backs 8153e9489 Switched on full reporting when HiGHSDEV=on, and eliminates time reporting when no calls have been made 1365960c2 time limit added, not tested yet 6e69c6635 link the modern cmake way 118c46ef4 enabled openmp in windows tests git-subtree-dir: scipy/optimize/_highs git-subtree-split: d1efa46a6950cdbefdeb39960f22f2e1849e2468
@mdhaber I am good to go with this PR if it looks good to you |
scipy/optimize/_linprog_highs.py
Outdated
if slack is not None: | ||
con = slack[len(b_ub):] | ||
slack = slack[:len(b_ub)] | ||
if res.get('slack'): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really see a reason for changing this at all, so I would suggest changing it to if 'slack' in res
as @ilayn suggested or making only a minimal change to what is already there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'slack'
is not guaranteed to be in res
, so what @ilayn suggested will not work as written. This seems to me pretty close to what was suggested -- I just moved the np.array
constructor up from below. What changes do you not like?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand. 'slack'
is guaranteed to be in res
if 'slack' in res
evaluates to True
.
I guess don't like changing to something other than what is suggested by a reviewer when the original was OK to begin with.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, this was me misunderstanding. Sorry about that!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not a big deal of course but getting a none from get and checking if the key is in dict are equivalent in Py3. Then you can branch off similarly. But again no big deal.
'con': con, | ||
'status': statuses[res['status']][0], | ||
'success': res['status'] == MODEL_STATUS_OPTIMAL, | ||
'message': statuses[res['status']][1], | ||
'nit': res.get('simplex_nit', 0) or res.get('ipm_nit', 0), | ||
'crossover_nit': res.get('crossover_nit'), | ||
} | ||
if sol['x'] is not None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think this is cleaner?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do like it better without the if
block, personally
if slack is not None: | ||
con = slack[len(b_ub):] | ||
slack = slack[:len(b_ub)] | ||
if 'slack' in res: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mdhaber Is this what you meant?
scipy/optimize/_linprog_highs.py
Outdated
if slack is not None: | ||
con = slack[len(b_ub):] | ||
slack = slack[:len(b_ub)] | ||
if res.get('slack'): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, this was me misunderstanding. Sorry about that!
46edda35a Merge pull request #25 from mckib2/upstream-2020-04-27 ff4d855a5 Update highs APIs for upstream changes 79e9ff321 Remove old uneeded pyx files c056ca6eb Merge remote-tracking branch 'upstream/master' into upstream-2020-04-27 c348884d2 Merge pull request scipy#331 from ERGO-Code/SwitchHIGHS_CONST_INF c6b988acc Replaced all == +/- HIGHS_CONST_INF with appropriate inequality ba37f3565 Solves all 99 LPs identically 1e2225324 Removed test of EMS file reader until scipy#320 is fixed 167bcdbdb Changed HIGHS_CONST_I_INF and HIGHS_CONST_INF, and modified createFreelist 5b129e1fe Merge pull request scipy#330 from ERGO-Code/ExternalDriver c7b4d47c4 Merge branch 'master' into ExternalDriver 897c3f112 Merge pull request scipy#329 from ERGO-Code/FixWindowDebugBuild 459c09ccf Removed call to issue295(highs) from TestSpecialLps.cpp 3ec3bf54d Merge pull request scipy#328 from ERGO-Code/dev-presolve 291fde056 old build removed 54e8e5eae Formatted 06497fb15 Made all changes suggested by MF 177f208a1 Made some small modifications in response to MF's comments on scipy#322 5dfb17e69 Made some small modifications in response to MF's comments on scipy#322 ae0b869d8 Stripped all the unnecessary stuff that shouldn't be in RunHighs.cpp and forced HiGHS to run quietly 2451fdbbf scaffold targets dev-presolve and scaffold work 60f912f0c moved scaffold files back to their repo@ 66fc4436c targets dev-presolve and scaffold building and running fac1af261 ctest fixed by making the new unit_test its own project 368b0c8b6 scaffold exe and scaffold unit tests exe building d44115db7 Merge branch 'master' into PhaseOne 19f0bdfb9 scaffold exe running 704f3e14d Dual infeasiblity - primal unboundedness - detected rather better in phase 1 59566a826 extra unit tests disabled from HiGHS root CMakeLists file@ f1356bd09 First CL: unit_test target cmake build error@ 46ed24f54 scaffold first CL 64b14b723 Formatted 79b008337 Still faffing with names in HSimplexDebug to keep it readable and consistent 8f94455b6 More debugging code - new for primals and more for duals 97d4ff8d7 Tracing flips in correctDual 237d311e0 Switch destination of results for computeSimplexPrimal/DualInfeasible OK! 86628e549 About to switch destination of results for computeSimplexPrimal/DualInfeasible e3ee537f6 About to get computeSimplexPrimal/DualInfeasible to write to simplex_info and then copy 6c6010a3b Written computeSimplexLpDualInfeasible b5c857b05 About to create computeLpPrimalInfeasible and computeLpDualInfeasible 2e7f7f15d About to introduce simplex_info_.run_quiet to rationalise the use of computePrimal/DualInfeasible just for logging 94ecd2c6f Removed simplex_info.allow_primal_flips_for_dual_feasibility since it's always true, and analyse_dual_infeasibilities_with_and_without_flips 22ad057a4 Added debugging of nonbasicMove in HSimplexDebug and removed some redundant code e32006edb Now storing updated objective value corrections so that the true value is still stored, but the value corrected WRT the previous error is tested d80387dae Debugged HSimplexDebug and increased tolerance on reporting small errors bf35f5d21 Added HSimplexDebug.cpp/h 614f13754 Updated dual and primal objective values appear to be correct c6899fda9 trying to get to the bottom of errors in updated dual objective, and where to shifts occur? 987fba1ad Replaced calls to checkUpdatedObjectiveValue with calls to debugUpdatedObjectiveValue and improved the numerics of updating the objective in HDualRow::updateDual db46bc3ea About to replace calls to checkUpdatedObjectiveValue with calls to debugUpdatedObjectiveValue 3916b6fe0 Formatted 1f0f66a10 About to use checkUpdatedObjectiveValue - cheap and non-trivial - as first instances of the highs_debug option 03926b1d4 Formatted c70371fa4 Set up near-unbounded LP in TestSpecialLps.cpp d6a3eacc0 formatted 6d48e7e9d Apparently fixed updated dual objective errors 7bd52aea8 Restored choice of simplex solvers according to primal/dual feasibility e6511bbfa Added getHighsInfinity to Highs class and C API d07d57252 Introduced simplex_info.allow_cost_perturbation so that cost shifts for feasibility at the start of phase 2 are possible 844767150 Now correctly resetting updated_dual_objective_value after recalculation of dual objective in cleanup c566fe4f2 Now looking at why hsol and HiGHS are different on adlittle_max: added comments at the end of phase 1 and added mpsMax in TestSpecialLps 67b891731 Add mpswriter; clean up setup.py 2c6e85cef Add all static library dependencies to cython wrappers 84a4b0791 conflic resolution 91be196aa Investigate primal/dual_status d26336f5e Added clearModel to the C API 576fae1d5 formatted 9bec48eb9 Added clearModel to Highs class and fixed bug I introduced into free format MPS reader 1e178d456 Added reporting of Primal/Dual status and HiGHS run time to RunHiGHS.cpp 0a5b1e6b6 Added reporting of primal/dual status to reportModelStatusSolutionBasis and confirmed that previous fix clears 324 c9f7b5c75 Merge pull request scipy#325 from ERGO-Code/clang-compile-check be0ad5698 Mods to eliminate compiiler warnings 14c6f068b Merge branch 'CAPI_highs_getHighsRunTime' into RunIPXsilently c52ded0a1 IPX uses options_.output and options_.message_level to set parameters.display and parameters.debug dc87b1c06 clang test for debug compile added 5b9acbde4 Added Highs_getHighsRunTime to the C API eac465e4f Fixed the objective value after IPX solves a maximization e8eb56f60 Fixed bug when integerColumn isn't assigned, and ignored warning from cleanBounds 0e2dec092 Made the basis valid in unconstrained LP solver! b7fc50c24 Merge branch 'master' into TestSimplex e85a91c1d Created TestSpecialLps.cpp ef4a23d19 Added ../check/instances/e226.mps sice it has an objective shift and is used for the dual-objective-upper-bound unit test 0d30258c8 Formatted e565e8e17 Got bailout to work, but realise time/iteration bailout needs to be separated from objective bailout 7a038a290 Now interpreting negation of RHS entry for N-row as objective offset 555df8e62 Cleared bug in hsol for unbounded LP 43004eea9 Formatted 504e948c3 Now confirming dual objective value upper bound bailout using exact dual objective function value bce567a93 Now reporting the dual phase 2 objective with correct sign when maximizing 4cfea860f Now applying the objective value shift correctly in HSimplex 7ce67bd88 Added resetHighsOptions to C API 55105ae10 Merge branch 'NewIterationCounts' into TestSimplex c55d6268a Fixed very embarassing bug following postsolve, and ensured that postsolve works OK when LP is reduced to empty 5c3609b7b Added solution/basis consistency testing in beforeReturnFromRun 7571a1dbf Removed iteration counts from HighsSolutionParams 3c413e365 Propagated use of HMO.iteration_counts_ 8713863ee Fixed HiGHSDEV=off bug b095372e8 Added HighsInterationCounts to HighsLp.h 58fba5d45 Formatted 99458df44 Merge branch 'TestSimplex' of https://github.com/ERGO-Code/HiGHS into TestSimplex 1731d18e7 Bypassed SIMPLEX_STRATEGY_DUAL_TASKS and SIMPLEX_STRATEGY_DUAL_MULTI in testSolvers when OpenMP not available 32cd5a77f openmp macro in HApp.h 4090d84ae Valgrind runs clear on unit tests now that updated objective vlaue testing is done when appropriate 5ff9108de Formatted ce57c2e73 Switched off the timeout test to see whether this why the build-windows / windows_debug test times out e07c3a843 Added resetHighsOptions() to the Highs class and restored all tests to TestLpSolvers 02b522cae Now using the same Highs instance to solve etamacro OK after solving adlittle 0be4a79bf Now using the same Highs instance to solve etamacro OK after solving adlittle 6917413dd Merge branch 'master' into TestSimplex a8e4984d6 Merge branch 'master' into TestSimplex b66a61c62 Removed printf(load_mpsLine: fgets_rt = %s, fgets_rt); - Line 414 of HMPSIO.cpp 68416f2ae Merged removeTicks into this branch ef60a30ef Formatted, and check/instances/simple_lp.lp deleted 21c6bf5e9 Corrected bug in lp file writer, and added equalButForNames to HighsLp.h to compare HighsLp from .lp and .mps/.ems files 649c73cd9 .lp writer error spotted 40cfe67f8 Fixed problem in HMPSIO.cpp preventing Max build d1dc9c1f8 Removed warning with CMAKE_BUILD_TYPE=debug 227dceabb Added garbage model file instances ab70378ec Using std::string consistently for filename and message. Deleted HToy* 585001b12 Formatted 249e8206f Eliminated lp.numInt_ 5cb4bed8c Eliminated lp.nnz_! e6cf8530b Formatted 0efd81b5d Eliminated io/LoadProblem.* efec51e95 About to remove loadProblem from TestFilereader.cpp 12f1391f0 RunHiGHS.cpp now uses highs.readModel - LP and MIP tested 5f61b80b0 About to delete LoadProblem.cpp 0482a9597 About to remove LoadProblem.cpp 7e1beb310 Added clearSolution(), clearBasis() and clearInfo() to Highs 3c941c295 Renamed TestSimplex.cpp TestLpSolvers.cpp 40e49a739 Merge branch 'master' into TestSimplex 87d67a447 Corrected bug HiGHSDEV=on bug 6da93ebdf TestSimplex now runs all simplex strategies and IPX: time to rename it TestLpSolver! 24ab779ae Formatted 80213ff20 Vanilla solve, timeout and iteration limit tests for DUAL and IPX done b07b4af3e Now delete HMO for reduced LP and fixed bug in HightTimer be7511c64 Changed runLpSolver argument to index of HMO, not the HMO ae6bb5759 Moved guts of runLpSolver to solveLp in HighsSolve: About to change runLpSolver argument to index of HMO, not the HMO e843d557e Now using better timeout test, but exposed internal simplex iteration count as being relative not absolute fef353ee6 Merge branch 'master' into TestSimplex c2023e628 Added setBasis() to set up logical basis and Highs_setBasis and Highs_setLogicalBasis for the C API 21ab880c1 Created TestSimplex unit test cc203801b Merge branch 'master' of github.com:ERGO-Code/HiGHS 4f403adc3 merge updates ergo cfb4743be Merge pull request #1 from galabovaa/build-workflow d9d9f14a5 Update build.yml 08605edd4 added algorithm header 5476283ba build on github git-subtree-dir: scipy/optimize/_highs git-subtree-split: 46edda35a639f142caec004dfe7a5584addfea83
Reference issue
scipy#12043
What does this implement/fix?
pyHiGHS
subdirectory tocython
Additional information