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

Clang format update #1921

Closed
wants to merge 161 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
c1b85ec
highspy: release python GIL when calling run
michaelbynum Apr 24, 2024
73d5b1c
Introduced Highs::getIis, HighsIis.h and HighsIis.cpp
jajhall Jun 3, 2024
cb378e5
dual_ray_value reaches getIisData
jajhall Jun 3, 2024
d18472a
Now extracting and solving the LP corresponding to the dual ray
jajhall Jun 3, 2024
393ff27
Added check/TestIis.cpp
jajhall Jun 3, 2024
72e245a
Inconsistent bounds ISS unit test passes
jajhall Jun 4, 2024
d8e5bde
Added row deletion pass: create HighsIis class
jajhall Jun 5, 2024
e6801e8
Created HighsIis class
jajhall Jun 5, 2024
47cecca
Added proper testing of IIS once found
jajhall Jun 5, 2024
f1700d3
Analysis of galenet ray proves instructive
jajhall Jun 5, 2024
a326146
Many algorithmic changes (simplifications)
jajhall Jun 6, 2024
aefdb60
Many algorithmic changes (simplifications)
jajhall Jun 6, 2024
654fd2a
Where do LPs differ?
jajhall Jun 6, 2024
4ead6e1
Debugging galenet looks hard, so add woodinfe
jajhall Jun 6, 2024
b9849f8
Added report to HighsIis
jajhall Jun 7, 2024
d45a2ad
Added Highs::computeIis() and const HighsIis& Highs::getIis()
jajhall Jun 7, 2024
4e3f5a4
Corrected testIis in check/TestIis.cpp; formatted
jajhall Jun 7, 2024
2dfca52
Added the columns and rows for the elasticity filter - coresponding t…
jajhall Jun 8, 2024
4db5e14
Now formulating and solving the e-LP with helpful names for new cols …
jajhall Jun 9, 2024
6894e89
Time for some re-name of identifiers
jajhall Jun 9, 2024
dac3562
Time for some re-name of identifiers
jajhall Jun 9, 2024
55cc84e
Now refactor so that elasticity filter is performed as part of method…
jajhall Jun 9, 2024
53c23b7
Reproduced elastic filter in computeInfeasibleRows
jajhall Jun 10, 2024
e652b98
Now running elasticity filter in computeInfeasibleRows
jajhall Jun 10, 2024
daf4e79
Merged latest into this branch and resolved conflict
jajhall Jun 12, 2024
053db8e
Much refactoring of IIS calls
jajhall Jun 13, 2024
7a2f366
All unit tests pass
jajhall Jun 13, 2024
8035b46
Merge branch 'latest' into fix-1789
jajhall Jun 13, 2024
b20db8d
Merge branch 'latest' into fix-1789
jajhall Jun 14, 2024
d68df22
printf and other logging conditionally silenced by kIisDevReport
jajhall Jun 14, 2024
392bc07
Now using reciprocal filter
jajhall Jun 14, 2024
f0e03cd
Merge branch 'latest' into fix-1789
jajhall Jun 18, 2024
a463332
Now extracting primal phase 1 duals for sensitivity test
jajhall Jun 18, 2024
73c487e
First steps to compute primal phase 1 dual for sensitivity filter
jajhall Jun 19, 2024
4a09183
Compute bound differences using HighsCDouble
fwesselm Jun 30, 2024
3681efa
Use tolerances when rounding in postsolve
fwesselm Jun 30, 2024
0f52c80
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into fixN…
fwesselm Jul 1, 2024
a231075
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into roun…
fwesselm Jul 1, 2024
9a98a6f
Minor change
fwesselm Jul 1, 2024
97f27cb
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into fixN…
fwesselm Jul 1, 2024
60d2328
Merge pull request #1829 from fwesselm/fixNeos4
jajhall Jul 1, 2024
564e722
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into roun…
fwesselm Jul 1, 2024
6e2fc7d
Merge pull request #1832 from fwesselm/roundWithTolsPostsolve
jajhall Jul 9, 2024
600b069
Added int64_t mip_total_lp_iterations to HighsCallbackDataOut and mod…
jajhall Jul 9, 2024
66849ca
Reset FEATURES.md and added comment on fix-1814
jajhall Jul 9, 2024
3ccae38
Merge pull request #1839 from ERGO-Code/fix-1814
jajhall Jul 9, 2024
2d078b0
Introduced highsFprintfString to replace fprintf(file so that solutio…
jajhall Jul 9, 2024
0c6b253
Replaced fprintf(file in HighsModelUtils.cpp by stringstreams and cal…
jajhall Jul 10, 2024
502f0ac
Merge pull request #1840 from ERGO-Code/fix-1811
jajhall Jul 10, 2024
abcce09
Identified that HighsMipSolverData::checkLimits is not called for a l…
jajhall Jul 10, 2024
6096006
Added some time reporting to HighsMipSolver::run() when not submip
jajhall Jul 10, 2024
11e5385
Merge pull request #1841 from ERGO-Code/fix-1813
jajhall Jul 10, 2024
8d269a2
Added setSolution for sparse primal solution and test to check-set-mi…
jajhall Jul 11, 2024
7fd28a1
Now clearing solution when completeSolutionFromDiscreteAssignment dec…
jajhall Jul 14, 2024
39569be
Added highs_setSolution and highs_setSparseSolution to highs_bindings
jajhall Jul 14, 2024
faeb3f3
Formatted HighsSolution::hasUndefined()
jajhall Jul 14, 2024
6e9f9bd
Added Highs_setSparseSolution to C API
jajhall Jul 14, 2024
3c34353
Now using solution_.hasUndefined(); updated FEATURES.md and silenced …
jajhall Jul 14, 2024
08646bc
Merge pull request #1843 from ERGO-Code/fix-1808
jajhall Jul 14, 2024
49f320a
Added option mip_max_start_nodes to be used for mip_max_nodes when a …
jajhall Jul 15, 2024
b73d4e8
Merge pull request #1844 from ERGO-Code/fix-1808
jajhall Jul 15, 2024
e3708c7
Update relevant substitutions if a variable is transformed
fwesselm Jul 16, 2024
91da631
Take scale into account
fwesselm Jul 17, 2024
8966bc0
Update analogous to variable bounds
fwesselm Jul 17, 2024
d318f65
Add comment
fwesselm Jul 17, 2024
322e298
Update CONTRIBUTING.md
Mathemalsky Jul 22, 2024
79727d1
Added IPM reference and commented on absence of references for QP and…
jajhall Jul 22, 2024
af7c1e3
Merge pull request #1851 from Mathemalsky/master
jajhall Jul 22, 2024
f0dec53
Merge pull request #1852 from ERGO-Code/update-docs
jajhall Jul 22, 2024
a0e50ed
Update index.md
Mathemalsky Jul 23, 2024
2e3867b
Merge pull request #1854 from Mathemalsky/patch-1
jajhall Jul 23, 2024
3b5c3da
Refactor highspy for enhanced usability
mathgeekcoder Jul 23, 2024
66f4892
Update minimal.py
mathgeekcoder Jul 23, 2024
d04eae8
Merge pull request #1855 from mathgeekcoder/highspy-updates
jajhall Jul 23, 2024
76a7e76
Added options write_presolved_model_to_file and write_presolved_model…
jajhall Jul 26, 2024
ce2da38
Highs::reportModel now uses const HighsModel& model argument so it ca…
jajhall Jul 30, 2024
4da5ad8
Merge pull request #1863 from ERGO-Code/fix-1729
jajhall Jul 31, 2024
c468ded
Merge branch 'latest' of https://github.com/ERGO-Code/HiGHS into pres…
fwesselm Aug 4, 2024
00d7273
Merge pull request #1848 from fwesselm/presolveBugTransform
jajhall Aug 4, 2024
ebaf743
Merge branch 'latest' into fix-1789
jajhall Aug 5, 2024
0025d67
Add type stub file
N-Wouda Aug 6, 2024
ddd3778
Merge pull request #1867 from N-Wouda/add-type-stub-file
jajhall Aug 7, 2024
a785025
Suspended ray options and use_sensitivity_filter = false
jajhall Aug 12, 2024
fa94de1
Highs::computeInfeasibleRows renamed Highs::elasticityFilter and pass…
jajhall Aug 14, 2024
787fe62
Now using elasticityFilterReturn
jajhall Aug 14, 2024
b57e6a2
Really should clear integrality in changeLpIntegrality if all continuous
jajhall Aug 14, 2024
a4eac17
Fixed bug in HighsLp::deleteColsFromVectors
jajhall Aug 14, 2024
c790a20
Passes test2 in lp-feasibility-relaxation
jajhall Aug 15, 2024
010082c
Passes AMPL model unit tests, and objective tests for galenet and woo…
jajhall Aug 15, 2024
f3ecbb9
Silenced unit tests and adde C API test for FeasibilityRelaxation
jajhall Aug 15, 2024
47a31db
Merge pull request #1876 from ERGO-Code/fix-1872
jajhall Aug 15, 2024
4073ede
Restored full C API unit test and corrected references to format of H…
jajhall Aug 16, 2024
20b87aa
Added HighsHessian.md and HighsModel.md plus documentation of Hessian…
jajhall Aug 16, 2024
53273e7
Merge pull request #1879 from ERGO-Code/fix-1872
jajhall Aug 16, 2024
f4b50be
highspy: Expose new feasibility relaxation feature
few Aug 18, 2024
0b4f3f8
HPresolve::fixColToLower/Upper now reanmed fixColToLower/UpperOrUnbou…
jajhall Aug 19, 2024
5c7177a
Added dumm conditional for unboundedness to be handled
jajhall Aug 19, 2024
2f37aa3
Now handles all returns of true for fixColToLower/UpperOrUnbounded
jajhall Aug 19, 2024
cf82e09
Corrected formatting in highs_c_api.h
jajhall Aug 19, 2024
e253cb0
Merge pull request #1884 from few/highspy-feasibilityRelaxation
jajhall Aug 19, 2024
0c6cf08
merge master into release_gil
michaelbynum Aug 19, 2024
e9f4235
run solve in background thread so that keyboard interrupt works
michaelbynum Aug 19, 2024
61f72a3
Merge pull request #1885 from ERGO-Code/fix-1883
jajhall Aug 19, 2024
ec57e11
merge latest into release_gil
michaelbynum Aug 20, 2024
50bd180
Fix warning regarding -Wreorder
fwesselm Aug 21, 2024
93a0871
Merge pull request #1889 from fwesselm/fixWarningReorder
jajhall Aug 21, 2024
b1a7d2e
col_ecol_offset now set - as const - for greater clarity
jajhall Aug 22, 2024
3271ee8
Introduced examples/plot_highs_log.py and final logging line in MIP s…
jajhall Aug 25, 2024
a154ba8
Now plotting gap
jajhall Aug 25, 2024
fedcf78
Updated examples/plot_highs_log.py
jajhall Aug 25, 2024
4907467
Moved key and using identifiers for colours to ease changes; updated …
jajhall Aug 25, 2024
7ce96cb
Merge pull request #1894 from ERGO-Code/MIP-log-plotter
jajhall Aug 25, 2024
19ccf15
Merge pull request #1890 from ERGO-Code/fix-1872a
jajhall Aug 26, 2024
00e812d
Deleted stray prinf in HighsMipSolver.cpp
jajhall Aug 26, 2024
032eb56
Fix uninitialized arrays
fwesselm Aug 27, 2024
c096294
Use decltype and auto some more
fwesselm Aug 27, 2024
cdd1b39
Merge pull request #1897 from fwesselm/uninitArrays
jajhall Aug 28, 2024
754c204
plot_highs_log.py now avoids printing spurious incumbent lines when b…
jajhall Aug 28, 2024
f5a22b6
Merge pull request #1898 from ERGO-Code/MIP-log-plotter
jajhall Aug 28, 2024
fb89986
use std::array instead of C arrays if possible
fwesselm Aug 28, 2024
b1862c8
Chaser
fwesselm Aug 28, 2024
74682bc
Added public enum HessianFormat, public class HighsHessian, private s…
jajhall Aug 28, 2024
af09d2d
Added dim to HessianFormat and started adding Hessian to call_highs_f…
jajhall Aug 28, 2024
acafbf0
Make the LP in call_highs_from_csharp.cs feasible!
jajhall Aug 28, 2024
0eee142
Completed call_highs_from_csharp.cs by passing a Hessian and resolving
jajhall Aug 28, 2024
2788fea
Use std::array in other places
fwesselm Aug 28, 2024
8fce625
Merge pull request #1902 from ERGO-Code/fix-1900a
jajhall Aug 28, 2024
455c007
Use std::next a little bit
fwesselm Aug 29, 2024
d69e295
Make hashes an std::array
fwesselm Aug 30, 2024
584069f
Make entries an std::array
fwesselm Sep 2, 2024
542f341
Merge branch 'HighsHashTreeChanges2' of https://github.com/fwesselm/H…
fwesselm Sep 2, 2024
6e32cb5
Fix warning along the way
fwesselm Sep 2, 2024
ff778c6
Two minor changes
fwesselm Sep 3, 2024
d772edf
No need to check for null termination
fwesselm Sep 3, 2024
cc3e870
Fix typo
fwesselm Sep 3, 2024
8f99e6f
Merge pull request #1908 from fwesselm/useStdArray
jajhall Sep 4, 2024
b8a716f
Formatted
jajhall Sep 4, 2024
08e57a6
Precompute expensive computations
heshpdx Sep 6, 2024
0f4b0d0
Merge pull request #1911 from heshpdx/master
jajhall Sep 6, 2024
f1fd3a6
Revert "Precompute expensive computations"
jajhall Sep 6, 2024
2d8d8af
Merge pull request #1912 from ERGO-Code/revert-1911-master
jajhall Sep 6, 2024
f7be435
Merge pull request #1886 from michaelbynum/release_gil
jajhall Sep 7, 2024
cd80bd5
Formatted with Ubuntu clang-format version 14.0.0-1ubuntu1.1
jajhall Sep 9, 2024
0f31d20
Merge pull request #1909 from ERGO-Code/fix-1908
jajhall Sep 9, 2024
c706fe9
Fix some typos
fwesselm Sep 10, 2024
0b49a9e
Add utility for computing fractional part
fwesselm Sep 10, 2024
54b575e
Added src/solvers.md
jajhall Sep 10, 2024
b506d7a
Fixed internal links
jajhall Sep 10, 2024
60ac494
Merge pull request #1916 from ERGO-Code/fix-1915
jajhall Sep 10, 2024
cdf2cf4
Added PDLP!
jajhall Sep 10, 2024
ac848c6
Merge pull request #1917 from ERGO-Code/fix-1915
jajhall Sep 10, 2024
450c026
Tiny simplification
fwesselm Sep 11, 2024
c943e04
Merge pull request #1918 from fwesselm/minorStuffAgain
jajhall Sep 11, 2024
53a4fac
c cc cpp h hpp
galabovaa Sep 12, 2024
dcf38eb
workflow update
galabovaa Sep 12, 2024
20daf97
exclude
galabovaa Sep 12, 2024
0ce7da7
extern
galabovaa Sep 12, 2024
9bfcb10
exclude
galabovaa Sep 12, 2024
0b26c63
exclude
galabovaa Sep 12, 2024
8f83d3e
versions only
galabovaa Sep 12, 2024
18046f7
empty inits diff with 18.3
galabovaa Sep 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ jobs:

steps:
- uses: actions/checkout@v4
- uses: DoozyX/clang-format-lint-action@v0.14
- uses: DoozyX/clang-format-lint-action@v0.18
with:
source: 'app/ src/Highs.h ./src/lp_data ./src/mip ./src/model ./src/simplex ./src/presolve ./src/simplex ./src/util ./src/test'
#./src/test ./interfaces'
extensions: 'h,cpp,c'
clangFormatVersion: 14
clangFormatVersion: 18
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Contact [Julian](https://github.com/jajhall) (General issues and solvers), [Ivet

## Improve the documentation

The top level [documentation](https://ergo-code.github.io/HiGHS/) is created using [Docsy](https://www.docsy.dev/), with the files held on the [HiGHS repository](https://github.com/ERGO-Code/HiGHS/tree/docsy). If your change is small (like fixing typos, or one or two sentence corrections), the easiest way to do this is to fork the branch and create a pull request. (See *Contribute code to HiGHS* below for more on this.) If your change is larger, or touches multiple files, please raise an issue describing what you want to do.
The top level [documentation](https://ergo-code.github.io/HiGHS/) is created using [Docsy](https://www.docsy.dev/), with the files held on the [HiGHS repository](https://github.com/ERGO-Code/HiGHS/tree/master/docs). If your change is small (like fixing typos, or one or two sentence corrections), the easiest way to do this is to fork the branch and create a pull request. (See *Contribute code to HiGHS* below for more on this.) If your change is larger, or touches multiple files, please raise an issue describing what you want to do.

## Raise an issue

Expand Down
25 changes: 12 additions & 13 deletions FEATURES.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
## Build changes

The python wrapper highspy is now available for aarch64 on manylinux
This allows highs to be run through Python on AWS arm64
## Code changes

Bug fix for fortran on macOS
Added `int64_t mip_total_lp_iterations` to `HighsCallbackDataOut` and modified accessor function

## Code changes
`Highs::writeSolution` and `Highs::writeBasis` now being done via `HighsIO` logging, so can be redirected to logging callback.

Introduced `const double kHighsUndefined` as value of undefined values in a user solution. It's equal to `kHighsInf`

Added `Highs::setSolution(const HighsInt num_entries, const HighsInt* index, const double* value);` to allow a sparse primal solution to be defined. When a MIP is solved to do this, the value of (new) option `mip_max_start_nodes` is used for `mip_max_nodes` to avoid excessive cost

Added options `write_presolved_model_to_file` and `write_presolved_model_file` so that presolved model can be written via a command line option

Added `Highs::feasibilityRelaxation` to solve the problem of minimizing a (possibly weighted) sum of (allowable) infeasibilities in an LP/MIP.

The accessor function Highs_getCallbackDataOutItem in the C API means
that `pdlp_iteration_count` can be moved back to where it was inserted
into the `HighsCallbackDataOut` struct in v1.7.0, which broke the C
API. This fixes #1812
Added Python utility `examples/plot_highs_log.py` (due to @Thell) to visualise progress of the MIP solver.

Some duplicate code has been eliminated from the MIP solver, and
modifications made to eliminate compiler warnings

Declaration of the (deprecated) method `char* highsCompilationDate()`
has been corrected

Fixed bug when describing integrality status during the human-readable solution write

18 changes: 18 additions & 0 deletions app/RunHighs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,24 @@ int main(int argc, char** argv) {
return (int)read_solution_status;
}
}
if (options.write_presolved_model_to_file) {
// Run presolve and write the presolved model to a file
HighsStatus status = highs.presolve();
if (status == HighsStatus::kError) return int(status);
HighsPresolveStatus model_presolve_status = highs.getModelPresolveStatus();
const bool ok_to_write =
model_presolve_status == HighsPresolveStatus::kNotReduced ||
model_presolve_status == HighsPresolveStatus::kReduced ||
model_presolve_status == HighsPresolveStatus::kReducedToEmpty ||
model_presolve_status == HighsPresolveStatus::kTimeout;
if (!ok_to_write) {
highsLogUser(log_options, HighsLogType::kInfo,
"No presolved model to write to file\n");
return int(status);
}
status = highs.writePresolvedModel(options.write_presolved_model_file);
return int(status);
}
// Solve the model
HighsStatus run_status = highs.run();
if (run_status == HighsStatus::kError) return int(run_status);
Expand Down
Loading
Loading