Skip to content
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

Merged
merged 6 commits into from Jul 12, 2020
Merged

Ilayn responses #25

merged 6 commits into from Jul 12, 2020

Conversation

mckib2
Copy link

@mckib2 mckib2 commented Jul 11, 2020

Reference issue

scipy#12043

What does this implement/fix?

  • Rename pyHiGHS subdirectory to cython
  • various @ilayn comments

Additional information

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
@mckib2
Copy link
Author

mckib2 commented Jul 12, 2020

@mdhaber I am good to go with this PR if it looks good to you

if slack is not None:
con = slack[len(b_ub):]
slack = slack[:len(b_ub)]
if res.get('slack'):
Copy link
Owner

@mdhaber mdhaber Jul 12, 2020

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.

Copy link
Author

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?

Copy link
Owner

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.

Copy link
Author

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!

Copy link

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:
Copy link
Owner

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?

Copy link
Author

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:
Copy link
Author

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?

if slack is not None:
con = slack[len(b_ub):]
slack = slack[:len(b_ub)]
if res.get('slack'):
Copy link
Author

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!

@mdhaber mdhaber merged commit 544628c into mdhaber:linprog_highs2 Jul 12, 2020
mdhaber pushed a commit that referenced this pull request Jul 30, 2020
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants