Skip to content

Commit 7f4f85f

Browse files
committed
Merge branch 'latest' into branching-scores
2 parents d884499 + 1ad42a1 commit 7f4f85f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+1502
-569
lines changed

.github/workflows/build-nuget-package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ jobs:
187187

188188
- name: Dotnet pack
189189
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
190-
run: dotnet pack -c Release /p:Version=1.10.0
190+
run: dotnet pack -c Release /p:Version=1.11.0
191191

192192
- uses: actions/upload-artifact@v4
193193
with:

.github/workflows/build-unit-tests-external.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ jobs:
118118
# - name: Unit Test Extra
119119
# working-directory: ${{runner.workspace}}/build
120120
# shell: bash
121-
# run: ./bin/Release/unit_tests.exe highs-names-extra
121+
# run: ./Release/bin/unit_tests.exe highs-names-extra
122122

123123
# - name: Test
124124
# working-directory: ${{runner.workspace}}/build

.github/workflows/test-csharp-win.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
working-directory: ${{runner.workspace}}/build
2828
run: |
2929
ls
30-
./bin/Release/csharpexample.exe
30+
./Release/bin/csharpexample.exe
3131
3232
fast_build_debug:
3333
runs-on: windows-latest
@@ -53,4 +53,4 @@ jobs:
5353
working-directory: ${{runner.workspace}}/build
5454
run: |
5555
ls
56-
./bin/Debug/csharpexample.exe
56+
./Debug/bin/csharpexample.exe

.github/workflows/test-exe.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
shell: bash
6161
# Execute tests defined by the CMake configuration.
6262
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
63-
run: ./bin/Release/highs.exe $GITHUB_WORKSPACE/check/instances/25fv47.mps
63+
run: ./Release/bin/highs.exe $GITHUB_WORKSPACE/check/instances/25fv47.mps
6464

6565

6666
test_win_debug:
@@ -89,4 +89,4 @@ jobs:
8989
shell: bash
9090
# Execute tests defined by the CMake configuration.
9191
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
92-
run: ./bin/Debug/highs.exe $GITHUB_WORKSPACE/check/instances/25fv47.mps
92+
run: ./Debug/bin/highs.exe $GITHUB_WORKSPACE/check/instances/25fv47.mps

.github/workflows/test-nuget-macos.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535

3636
- name: Dotnet pack
3737
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
38-
run: dotnet pack -c Release /p:Version=1.10.0
38+
run: dotnet pack -c Release /p:Version=1.11.0
3939

4040
- name: Add local feed
4141
run: dotnet nuget add source ${{runner.workspace}}/nugets
@@ -80,7 +80,7 @@ jobs:
8080

8181
- name: Dotnet pack
8282
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
83-
run: dotnet pack -c Release /p:Version=1.10.0
83+
run: dotnet pack -c Release /p:Version=1.11.0
8484

8585
- name: Add local feed
8686
run: dotnet nuget add source ${{runner.workspace}}/nugets

.github/workflows/test-nuget-package.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535

3636
- name: Dotnet pack
3737
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
38-
run: dotnet pack -c Release /p:Version=1.10.0
38+
run: dotnet pack -c Release /p:Version=1.11.0
3939

4040
- name: Add local feed
4141
run: dotnet nuget add source ${{runner.workspace}}/nugets
@@ -81,7 +81,7 @@ jobs:
8181

8282
- name: Dotnet pack
8383
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
84-
run: dotnet pack -c Release /p:Version=1.10.0
84+
run: dotnet pack -c Release /p:Version=1.11.0
8585

8686
- name: Add local feed
8787
run: dotnet nuget add source ${{runner.workspace}}/nugets
@@ -125,7 +125,7 @@ jobs:
125125

126126
- name: Dotnet pack
127127
working-directory: /__w/HiGHS/HiGHS/build/dotnet/Highs.Native
128-
run: dotnet pack -c Release /p:Version=1.10.0
128+
run: dotnet pack -c Release /p:Version=1.11.0
129129

130130
- name: Add local feed
131131
run: dotnet nuget add source /__w/HiGHS/HiGHS/nugets
@@ -169,7 +169,7 @@ jobs:
169169

170170
- name: Dotnet pack
171171
working-directory: /__w/HiGHS/HiGHS/build/dotnet/Highs.Native
172-
run: dotnet pack -c Release /p:Version=1.10.0
172+
run: dotnet pack -c Release /p:Version=1.11.0
173173

174174
- name: Add local feed
175175
run: dotnet nuget add source /__w/HiGHS/HiGHS/nugets
@@ -214,7 +214,7 @@ jobs:
214214

215215
- name: Dotnet pack
216216
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
217-
run: dotnet pack -c Release /p:Version=1.10.0
217+
run: dotnet pack -c Release /p:Version=1.11.0
218218

219219
- name: Add local feed
220220
run: dotnet nuget add source -n name ${{runner.workspace}}\nugets
@@ -230,5 +230,5 @@ jobs:
230230
dotnet new console
231231
rm Program.cs
232232
cp ${{runner.workspace}}\HiGHS\examples\call_highs_from_csharp.cs .
233-
dotnet add package Highs.Native -v 1.10.0 -s ${{runner.workspace}}\nugets
233+
dotnet add package Highs.Native -v 1.11.0 -s ${{runner.workspace}}\nugets
234234
dotnet run

.github/workflows/test-nuget-ubuntu.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232

3333
- name: Dotnet pack
3434
working-directory: /__w/HiGHS/HiGHS/build/dotnet/Highs.Native
35-
run: dotnet pack -c Release /p:Version=1.10.0
35+
run: dotnet pack -c Release /p:Version=1.11.0
3636

3737
- name: Add local feed
3838
run: dotnet nuget add source /__w/HiGHS/HiGHS/nugets
@@ -76,7 +76,7 @@ jobs:
7676

7777
- name: Dotnet pack
7878
working-directory: /__w/HiGHS/HiGHS/build/dotnet/Highs.Native
79-
run: dotnet pack -c Release /p:Version=1.10.0
79+
run: dotnet pack -c Release /p:Version=1.11.0
8080

8181
- name: Add local feed
8282
run: dotnet nuget add source /__w/HiGHS/HiGHS/nugets

.github/workflows/test-nuget-win.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
- name: Dotnet pack
3535
working-directory: ${{runner.workspace}}/build/dotnet/Highs.Native
36-
run: dotnet pack -c Release /p:Version=1.10.0
36+
run: dotnet pack -c Release /p:Version=1.11.0
3737

3838
- name: Add local feed
3939
run: dotnet nuget add source -n name ${{runner.workspace}}\nugets
@@ -49,5 +49,5 @@ jobs:
4949
dotnet new console
5050
rm Program.cs
5151
cp ${{runner.workspace}}\HiGHS\examples\call_highs_from_csharp.cs .
52-
dotnet add package Highs.Native -v 1.10.0 -s ${{runner.workspace}}\nugets
52+
dotnet add package Highs.Native -v 1.11.0 -s ${{runner.workspace}}\nugets
5353
dotnet run

CMakeLists.txt

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -205,27 +205,24 @@ if (BUILD_CXX)
205205
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
206206
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
207207
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
208-
# for multi-config build system (e.g. xcode)
209-
foreach(OUTPUTCONFIG IN LISTS CMAKE_CONFIGURATION_TYPES)
210-
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
211-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_LIBDIR})
212-
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_LIBDIR})
213-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_BINDIR})
208+
# for multi-config build system (e.g. xcode)
209+
foreach(OutputConfig IN LISTS CMAKE_CONFIGURATION_TYPES)
210+
string(TOUPPER ${OutputConfig} OUTPUTCONFIG)
211+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_LIBDIR})
212+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_LIBDIR})
213+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_BINDIR})
214214
endforeach()
215215
else()
216216
option(BUILD_SHARED_LIBS "Build shared libraries (.dll)." OFF)
217217
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
218218
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
219219
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
220220
# for multi-config builds (e.g. msvc)
221-
foreach(OUTPUTCONFIG IN LISTS CMAKE_CONFIGURATION_TYPES)
222-
string(TOLOWER ${OUTPUTCONFIG} OUTPUTCONFIG)
223-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${OUTPUTCONFIG})
224-
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${OUTPUTCONFIG})
225-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${OUTPUTCONFIG})
226-
# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_BINDIR})
227-
# set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_BINDIR})
228-
# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/${CMAKE_INSTALL_BINDIR})
221+
foreach(OutputConfig IN LISTS CMAKE_CONFIGURATION_TYPES)
222+
string(TOUPPER ${OutputConfig} OUTPUTCONFIG)
223+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_BINDIR})
224+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_BINDIR})
225+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OutputConfig}/${CMAKE_INSTALL_BINDIR})
229226
endforeach()
230227
endif()
231228

FEATURES.md

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,9 @@
11
## Build changes
22

3-
Replace command line parsing library with Cpp11 [#2211](https://github.com/ERGO-Code/HiGHS/pull/2211)
4-
5-
CMake updates [#2286](https://github.com/ERGO-Code/HiGHS/pull/2286), the root of the HiGHS source files is now `highs/`, rather than `src/`
6-
7-
Add missing include to zstr needed for gcc v15 and clang v19 [#2313](https://github.com/ERGO-Code/HiGHS/pull/2313)
8-
9-
Updates for intel llvm compiler on linux [#2257](https://github.com/ERGO-Code/HiGHS/pull/2257)
10-
113
## Code changes
124

13-
Fixed incorrect assertion in `HighsMipSolver::solutionFeasible()` (fixing [#2204](https://github.com/ERGO-Code/HiGHS/issues/2204))
14-
15-
As part of [#2251](https://github.com/ERGO-Code/HiGHS/issues/2251) cuPDLP-C will start from the incumbent solution in HiGHS. For a model that has been changed, the user must supply a starting solution via a call to `Highs::setSolution`
16-
17-
getColIntegrality now returns `HighsVarType::kContinuous` when `model_.lp_.integrality_` is empty (fixing [#2261](https://github.com/ERGO-Code/HiGHS/issues/2261))
18-
19-
Now ensuring that when solving a scaled LP with useful but unvalidated basis, it does not lose its scaling after validation, since the scaling factors will be applied to the solution (fixing [#2267](https://github.com/ERGO-Code/HiGHS/issues/2267))
20-
21-
By setting non-empty values of options `read_solution_file`, `read_basis_file`, `write_model_file` (with extension `.lp` or `.mps`), `write_solution_file`, `solution_file`, `write_basis_file`, these files will be read or written when calling `Highs::run()`. Hence options previously only available via the command line interface can be use (for example) by modelling languages that only call `Highs::run()` (fixing [#2269](https://github.com/ERGO-Code/HiGHS/issues/2269)).
22-
23-
Bug [#2273](https://github.com/ERGO-Code/HiGHS/issues/2273) fixed
24-
25-
ZI rounding and shifting MIP primal heuristics have been added (see [#2287](https://github.com/ERGO-Code/HiGHS/pull/2287)). They are off by default, but can be activated by setting the options `mip_heuristic_run_zi_round` and `mip_heuristic_run_shifting` to be true. Options `mip_heuristic_run_rins`, `mip_heuristic_run_rens` and `mip_heuristic_run_root_reduced_cost` to run the RINS, RENS and rootReducedCost heuristics have been added. These are true by default, but setting them to be false can accelerate the MIP solver on easy problems.
26-
27-
Added `Highs_changeRowsBoundsByRange` to C API, fixing [#2296](https://github.com/ERGO-Code/HiGHS/issues/2296)
28-
29-
Corrected docstrings for `Highs_getReducedRow`, motivated by [#2312](https://github.com/ERGO-Code/HiGHS/issues/2312)
30-
31-
LP file reader no longer fails when there is no objective section. Fix is [#2316](https://github.com/ERGO-Code/HiGHS/pull/2316), but this exposes code quality issue [#2318](https://github.com/ERGO-Code/HiGHS/issues/2318)
32-
33-
Added a max scale factor (+1024) when scaling up coefficients in `preprocessBaseInequality` and `postprocessCut`. Fix is [#2337](https://github.com/ERGO-Code/HiGHS/pull/2337)
34-
35-
Corrected the bounds used in when strengthening coefficients in `HPresolve::rowPresolve`, fixing [#1517](https://github.com/ERGO-Code/HiGHS/issues/1517)
36-
37-
Fixed numerical error in `highs/mip/HighsCliqueTable.cpp`, closing [#2320](https://github.com/ERGO-Code/HiGHS/issues/2320)
38-
39-
Fixed bug in `highs/mip/HighsFeasibilityJump.cpp`, closing [#2331](https://github.com/ERGO-Code/HiGHS/issues/2331)
40-
41-
Tightened CMIR cuts, leading to small performance gain, closing [#2333](https://github.com/ERGO-Code/HiGHS/issues/2333)
42-
43-
Scaling the tolerance in forcing row reduction to avoid use of rows with small coefficients and bounds, closing [#2290](https://github.com/ERGO-Code/HiGHS/issues/2290)
44-
45-
Fixed bug when calculating a coefficient in one of the cuts in `separateImpliedBounds` in `highs/mip/HighsImplications.cpp`
46-
47-
Added `CSECTION` to the exceptions for keywords that are followed by text, and thus cannot be used as names of columns, RHS, ranges, bounds etc.
5+
Forcing column reduction now checks the bound on the column dual rather than whether the dual row activity is zero fixing [#2409](https://github.com/ERGO-Code/HiGHS/issues/2409)
486

49-
Introduced the following KKT error measures to `HighsInfo`: `num_relative_primal_infeasibilities`; `max_relative_primal_infeasibility`; `num_relative_dual_infeasibilities`; `max_relative_dual_infeasibility`; `num_primal_residual_errors`; `max_primal_residual_error`; `num_dual_residual_errors`; `max_dual_residual_error`; `num_relative_primal_residual_errors`; `max_relative_primal_residual_error`; `num_relative_dual_residual_errors`; `max_relative_dual_residual_error`; `num_complementarity_violations`; `max_complementarity_violation`; `primal_dual_objective_error.` The relative values are used to assess whether a solution deemed to be optimal by the first order LP solver `cuPDLP-C` or interior point solver `IPX` (without crossover) is truly acceptable. They also enable users to determine whether a solution corresponding to `HighsModelStatus::kUnknown` is acceptable to them as optimal. Also introduced options `complementarity_tolerance` used to assess whether the (relative) primal-dual objective error is acceptable, and `kkt_tolerance` which, if set to a value other than `kDefaultKktTolerance = 1e-7` is used as the tolerance for all the KKT error measures. The HiGHS documentation has been updated to reflect the new options and `HighsInfo` data, and logging messages indicate when KKT error measures are not satisfied, despite the solver considering the LP solution to be optimal.
7+
Now handling correctly the case where an infeasible MIP has a feasible relaxation, so no ray is computed fixing [#2415](https://github.com/ERGO-Code/HiGHS/issues/2415)
508

51-
Added a max scale factor (+1024) when scaling up coefficients in `preprocessBaseInequality` and `postprocessCut`. Fix is [#2337](https://github.com/ERGO-Code/HiGHS/pull/2337).
529

0 commit comments

Comments
 (0)