passagemath-highs 10.8.1rc3__cp313-cp313-win_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- passagemath_highs/__init__.py +3 -0
- passagemath_highs-10.8.1rc3.dist-info/DELVEWHEEL +2 -0
- passagemath_highs-10.8.1rc3.dist-info/METADATA +98 -0
- passagemath_highs-10.8.1rc3.dist-info/RECORD +18 -0
- passagemath_highs-10.8.1rc3.dist-info/WHEEL +5 -0
- passagemath_highs-10.8.1rc3.dist-info/top_level.txt +3 -0
- passagemath_highs.libs/libc++-ed3f98626a61fdd3abff58323519007d.dll +0 -0
- passagemath_highs.libs/libhighs-025266193de3fbea5edd48a6000281c8.dll +0 -0
- passagemath_highs.libs/zlib1-bad03dcdb8eadc9f49b21b64350515f3.dll +0 -0
- sage/all__sagemath_highs.py +11 -0
- sage/libs/all__sagemath_highs.py +1 -0
- sage/libs/highs/__init__.py +2 -0
- sage/libs/highs/highs_c_api.pxd +200 -0
- sage/numerical/all__sagemath_highs.py +1 -0
- sage/numerical/backends/all__sagemath_highs.py +1 -0
- sage/numerical/backends/highs_backend.cp313-win_arm64.pyd +0 -0
- sage/numerical/backends/highs_backend.pxd +34 -0
- sage/numerical/backends/highs_backend.pyx +2699 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Version: 1.12.0
|
|
2
|
+
Arguments: ['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-7_fpt6e_\\cp313-win_arm64\\build\\venv\\Scripts\\delvewheel', 'repair', '-vv', '--custom-patch', '-w', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-7_fpt6e_\\cp313-win_arm64\\repaired_wheel', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-7_fpt6e_\\cp313-win_arm64\\built_wheel\\passagemath_highs-10.8.1rc3-cp313-cp313-win_arm64.whl']
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: passagemath-highs
|
|
3
|
+
Version: 10.8.1rc3
|
|
4
|
+
Summary: passagemath: Linear and mixed integer linear optimization backend using HiGHS
|
|
5
|
+
Author-email: The Sage Developers <sage-support@googlegroups.com>
|
|
6
|
+
Maintainer: Matthias Köppe, passagemath contributors
|
|
7
|
+
License-Expression: GPL-2.0-or-later
|
|
8
|
+
Project-URL: release notes, https://github.com/passagemath/passagemath/releases
|
|
9
|
+
Project-URL: repo (upstream), https://github.com/sagemath/sage
|
|
10
|
+
Project-URL: repo, https://github.com/passagemath/passagemath
|
|
11
|
+
Project-URL: documentation, https://passagemath.org/docs/latest
|
|
12
|
+
Project-URL: homepage (upstream), https://www.sagemath.org
|
|
13
|
+
Project-URL: discourse, https://passagemath.discourse.group
|
|
14
|
+
Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
|
|
15
|
+
Project-URL: tracker, https://github.com/passagemath/passagemath/issues
|
|
16
|
+
Classifier: Development Status :: 6 - Mature
|
|
17
|
+
Classifier: Intended Audience :: Education
|
|
18
|
+
Classifier: Intended Audience :: Science/Research
|
|
19
|
+
Classifier: Operating System :: POSIX
|
|
20
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
21
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
22
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
23
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
28
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
29
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
30
|
+
Requires-Python: <3.15,>=3.11
|
|
31
|
+
Description-Content-Type: text/x-rst
|
|
32
|
+
Requires-Dist: passagemath-objects==10.8.1rc3
|
|
33
|
+
Requires-Dist: memory_allocator<0.2
|
|
34
|
+
Requires-Dist: cysignals!=1.12.4; sys_platform == "win32"
|
|
35
|
+
Requires-Dist: cysignals!=1.12.0,>=1.11.2
|
|
36
|
+
Provides-Extra: test
|
|
37
|
+
Requires-Dist: passagemath-repl; extra == "test"
|
|
38
|
+
Requires-Dist: passagemath-polyhedra; extra == "test"
|
|
39
|
+
|
|
40
|
+
=========================================================================================================
|
|
41
|
+
passagemath: Linear and mixed integer linear optimization backend using HiGHS
|
|
42
|
+
=========================================================================================================
|
|
43
|
+
|
|
44
|
+
`passagemath <https://github.com/passagemath/passagemath>`__ is open
|
|
45
|
+
source mathematical software in Python, released under the GNU General
|
|
46
|
+
Public Licence GPLv2+.
|
|
47
|
+
|
|
48
|
+
It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
|
|
49
|
+
developed 2005-2025 under the motto “Creating a Viable Open Source
|
|
50
|
+
Alternative to Magma, Maple, Mathematica, and MATLAB”.
|
|
51
|
+
|
|
52
|
+
The passagemath fork uses the motto "Creating a Free Passage Between the
|
|
53
|
+
Scientific Python Ecosystem and Mathematical Software Communities."
|
|
54
|
+
It was created in October 2024 with the following goals:
|
|
55
|
+
|
|
56
|
+
- providing modularized installation with pip,
|
|
57
|
+
- establishing first-class membership in the scientific Python
|
|
58
|
+
ecosystem,
|
|
59
|
+
- giving `clear attribution of upstream
|
|
60
|
+
projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
|
|
61
|
+
- providing independently usable Python interfaces to upstream
|
|
62
|
+
libraries,
|
|
63
|
+
- offering `platform portability and integration testing
|
|
64
|
+
services <https://github.com/passagemath/passagemath/issues/704>`__
|
|
65
|
+
to upstream projects,
|
|
66
|
+
- inviting collaborations with upstream projects,
|
|
67
|
+
- `building a professional, respectful, inclusive
|
|
68
|
+
community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
|
|
69
|
+
- `empowering Sage users to participate in the scientific Python ecosystem
|
|
70
|
+
<https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
|
|
71
|
+
- developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
|
|
72
|
+
serverless deployment with Javascript,
|
|
73
|
+
- developing a native Windows port.
|
|
74
|
+
|
|
75
|
+
`Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
|
|
76
|
+
available online.
|
|
77
|
+
|
|
78
|
+
passagemath attempts to support and provides binary wheels suitable for
|
|
79
|
+
all major Linux distributions and recent versions of macOS.
|
|
80
|
+
|
|
81
|
+
Binary wheels for native Windows (x86_64) are are available for a subset of
|
|
82
|
+
the passagemath distributions. Use of the full functionality of passagemath
|
|
83
|
+
on Windows currently requires the use of Windows Subsystem for Linux (WSL)
|
|
84
|
+
or virtualization.
|
|
85
|
+
|
|
86
|
+
The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.14.x.
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
About this pip-installable distribution package
|
|
90
|
+
-----------------------------------------------
|
|
91
|
+
|
|
92
|
+
This pip-installable distribution ``passagemath-highs`` provides
|
|
93
|
+
a backend for linear and mixed integer linear optimization backend using HiGHS.
|
|
94
|
+
|
|
95
|
+
It can be installed as an extra of the distribution
|
|
96
|
+
`sagemath-polyhedra <https://pypi.org/project/sagemath-polyhedra>`_::
|
|
97
|
+
|
|
98
|
+
$ pip install "passagemath-polyhedra[highs]"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
passagemath_highs/__init__.py,sha256=j-ySlGJ35ph_SvQiy8imvRf0TnNIBndbo5lT9FkFLWk,84
|
|
2
|
+
passagemath_highs-10.8.1rc3.dist-info/DELVEWHEEL,sha256=gQ_ggeSOIjkGcL8fO-d2YQTQkrKPwhh_-FA0hOBsgoo,439
|
|
3
|
+
passagemath_highs-10.8.1rc3.dist-info/METADATA,sha256=ok2n_kcgbh2eWOlGJY8J8O5iqWzVIx1q6YKRi3A74qo,4838
|
|
4
|
+
passagemath_highs-10.8.1rc3.dist-info/RECORD,,
|
|
5
|
+
passagemath_highs-10.8.1rc3.dist-info/top_level.txt,sha256=IVCULt9wDQQVPNL3iGfQ70mJWxVcG3aYfXnTPS42jRU,24
|
|
6
|
+
passagemath_highs-10.8.1rc3.dist-info/WHEEL,sha256=R400TwtmFPffaDLJrGuE8_tIAAM208hpFKniQxA3HkI,102
|
|
7
|
+
passagemath_highs.libs/libc++-ed3f98626a61fdd3abff58323519007d.dll,sha256=7T-YYmph_dOr_1gyNRkAfc69vIh7JwqRNQgz1rbTtZI,1618432
|
|
8
|
+
passagemath_highs.libs/libhighs-025266193de3fbea5edd48a6000281c8.dll,sha256=lpDh9p90ZfFgxtHzt3d1jOW8e0bZupv5hn4SPKDCT08,80320000
|
|
9
|
+
passagemath_highs.libs/zlib1-bad03dcdb8eadc9f49b21b64350515f3.dll,sha256=utA9zbjq3J9JshtkNQUV8w6Sy_5FaGOdxvsJiB-rEeU,334336
|
|
10
|
+
sage/all__sagemath_highs.py,sha256=KGtpFWihwhr4Ed5inZS-EWpRN8ULE1ydQu89epgxfXU,364
|
|
11
|
+
sage/libs/all__sagemath_highs.py,sha256=NtkqRf9NEKOrhpmxBCoGH6G2stbT-7JFA3VtfvB6NZo,44
|
|
12
|
+
sage/libs/highs/highs_c_api.pxd,sha256=pXKup7EtKBb9lSjqfNh2RNhTS17VaV_kwh55PONfM9g,7826
|
|
13
|
+
sage/libs/highs/__init__.py,sha256=IMs6A-zEFdlyRl8aK79XuGNoPRniepUo7rk8LuLfabM,105
|
|
14
|
+
sage/numerical/all__sagemath_highs.py,sha256=NtkqRf9NEKOrhpmxBCoGH6G2stbT-7JFA3VtfvB6NZo,44
|
|
15
|
+
sage/numerical/backends/all__sagemath_highs.py,sha256=NtkqRf9NEKOrhpmxBCoGH6G2stbT-7JFA3VtfvB6NZo,44
|
|
16
|
+
sage/numerical/backends/highs_backend.cp313-win_arm64.pyd,sha256=wCXyUTG1xA-cRIDg4AB9CN-OehcKV61--lSEhBlGC-o,269824
|
|
17
|
+
sage/numerical/backends/highs_backend.pxd,sha256=Nue1huPS8YGO2a0uTUtEPCUAPK0ADaFF6X-SfxglMB0,1530
|
|
18
|
+
sage/numerical/backends/highs_backend.pyx,sha256=XGtJorSktX33zQ0buTtVwfMXgtKIzkxWadqdQj55quA,94670
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-highs
|
|
2
|
+
# start delvewheel patch
|
|
3
|
+
def _delvewheel_patch_1_12_0():
|
|
4
|
+
import os
|
|
5
|
+
if os.path.isdir(libs_dir := os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, 'passagemath_highs.libs'))):
|
|
6
|
+
os.add_dll_directory(libs_dir)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
_delvewheel_patch_1_12_0()
|
|
10
|
+
del _delvewheel_patch_1_12_0
|
|
11
|
+
# end delvewheel patch
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-highs
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-highs
|
|
2
|
+
# distutils: libraries = HIGHS_LIBRARIES
|
|
3
|
+
# distutils: extra_compile_args = HIGHS_CFLAGS
|
|
4
|
+
# distutils: include_dirs = HIGHS_INCDIR
|
|
5
|
+
# distutils: library_dirs = HIGHS_LIBDIR
|
|
6
|
+
# distutils: extra_link_args = HIGHS_LIBEXTRA
|
|
7
|
+
#
|
|
8
|
+
# Cython declarations for the HiGHS C API.
|
|
9
|
+
#
|
|
10
|
+
# This wraps the public header highs/interfaces/highs_c_api.h.
|
|
11
|
+
# The HiGHS headers rely on relative includes within the "highs" include tree,
|
|
12
|
+
# so consumers must compile with -I$includedir/highs (typically provided by
|
|
13
|
+
# pkg-config via `highs.get_compile_args()` in Meson).
|
|
14
|
+
|
|
15
|
+
cdef extern from "highs/interfaces/highs_c_api.h":
|
|
16
|
+
ctypedef int HighsInt
|
|
17
|
+
|
|
18
|
+
# Status constants
|
|
19
|
+
const HighsInt kHighsStatusError
|
|
20
|
+
const HighsInt kHighsStatusOk
|
|
21
|
+
const HighsInt kHighsStatusWarning
|
|
22
|
+
|
|
23
|
+
# Variable type constants
|
|
24
|
+
const HighsInt kHighsVarTypeContinuous
|
|
25
|
+
const HighsInt kHighsVarTypeInteger
|
|
26
|
+
const HighsInt kHighsVarTypeSemiContinuous
|
|
27
|
+
const HighsInt kHighsVarTypeSemiInteger
|
|
28
|
+
|
|
29
|
+
# Objective sense constants
|
|
30
|
+
const HighsInt kHighsObjSenseMinimize
|
|
31
|
+
const HighsInt kHighsObjSenseMaximize
|
|
32
|
+
|
|
33
|
+
# Model status constants
|
|
34
|
+
const HighsInt kHighsModelStatusNotset
|
|
35
|
+
const HighsInt kHighsModelStatusLoadError
|
|
36
|
+
const HighsInt kHighsModelStatusModelError
|
|
37
|
+
const HighsInt kHighsModelStatusPresolveError
|
|
38
|
+
const HighsInt kHighsModelStatusSolveError
|
|
39
|
+
const HighsInt kHighsModelStatusPostsolveError
|
|
40
|
+
const HighsInt kHighsModelStatusModelEmpty
|
|
41
|
+
const HighsInt kHighsModelStatusOptimal
|
|
42
|
+
const HighsInt kHighsModelStatusInfeasible
|
|
43
|
+
const HighsInt kHighsModelStatusUnboundedOrInfeasible
|
|
44
|
+
const HighsInt kHighsModelStatusUnbounded
|
|
45
|
+
const HighsInt kHighsModelStatusObjectiveBound
|
|
46
|
+
const HighsInt kHighsModelStatusObjectiveTarget
|
|
47
|
+
const HighsInt kHighsModelStatusTimeLimit
|
|
48
|
+
const HighsInt kHighsModelStatusIterationLimit
|
|
49
|
+
const HighsInt kHighsModelStatusUnknown
|
|
50
|
+
const HighsInt kHighsModelStatusSolutionLimit
|
|
51
|
+
const HighsInt kHighsModelStatusInterrupt
|
|
52
|
+
|
|
53
|
+
# Basis status constants
|
|
54
|
+
const HighsInt kHighsBasisStatusLower
|
|
55
|
+
const HighsInt kHighsBasisStatusBasic
|
|
56
|
+
const HighsInt kHighsBasisStatusUpper
|
|
57
|
+
const HighsInt kHighsBasisStatusZero
|
|
58
|
+
const HighsInt kHighsBasisStatusNonbasic
|
|
59
|
+
|
|
60
|
+
# Core functions
|
|
61
|
+
void* Highs_create() nogil
|
|
62
|
+
void Highs_destroy(void* highs) nogil
|
|
63
|
+
HighsInt Highs_run(void* highs) nogil
|
|
64
|
+
|
|
65
|
+
# Model building
|
|
66
|
+
HighsInt Highs_addCol(
|
|
67
|
+
void* highs,
|
|
68
|
+
double cost,
|
|
69
|
+
double lower,
|
|
70
|
+
double upper,
|
|
71
|
+
HighsInt num_nz,
|
|
72
|
+
const HighsInt* index,
|
|
73
|
+
const double* value,
|
|
74
|
+
) nogil
|
|
75
|
+
HighsInt Highs_addRow(
|
|
76
|
+
void* highs,
|
|
77
|
+
double lower,
|
|
78
|
+
double upper,
|
|
79
|
+
HighsInt num_nz,
|
|
80
|
+
const HighsInt* index,
|
|
81
|
+
const double* value,
|
|
82
|
+
) nogil
|
|
83
|
+
HighsInt Highs_addCols(
|
|
84
|
+
void* highs,
|
|
85
|
+
HighsInt num_new_col,
|
|
86
|
+
const double* costs,
|
|
87
|
+
const double* lower,
|
|
88
|
+
const double* upper,
|
|
89
|
+
HighsInt num_new_nz,
|
|
90
|
+
const HighsInt* starts,
|
|
91
|
+
const HighsInt* indices,
|
|
92
|
+
const double* values,
|
|
93
|
+
) nogil
|
|
94
|
+
HighsInt Highs_addRows(
|
|
95
|
+
void* highs,
|
|
96
|
+
HighsInt num_new_row,
|
|
97
|
+
const double* lower,
|
|
98
|
+
const double* upper,
|
|
99
|
+
HighsInt num_new_nz,
|
|
100
|
+
const HighsInt* starts,
|
|
101
|
+
const HighsInt* indices,
|
|
102
|
+
const double* values,
|
|
103
|
+
) nogil
|
|
104
|
+
|
|
105
|
+
# Objective
|
|
106
|
+
HighsInt Highs_changeObjectiveSense(void* highs, HighsInt sense) nogil
|
|
107
|
+
HighsInt Highs_changeColCost(void* highs, HighsInt col, double cost) nogil
|
|
108
|
+
HighsInt Highs_changeObjectiveOffset(void* highs, double offset) nogil
|
|
109
|
+
|
|
110
|
+
# Bounds
|
|
111
|
+
HighsInt Highs_changeColBounds(void* highs, HighsInt col, double lower, double upper) nogil
|
|
112
|
+
HighsInt Highs_changeRowBounds(void* highs, HighsInt row, double lower, double upper) nogil
|
|
113
|
+
|
|
114
|
+
# Integrality
|
|
115
|
+
HighsInt Highs_changeColIntegrality(void* highs, HighsInt col, HighsInt integrality) nogil
|
|
116
|
+
HighsInt Highs_getColIntegrality(const void* highs, HighsInt col, HighsInt* integrality) nogil
|
|
117
|
+
|
|
118
|
+
# Solution queries
|
|
119
|
+
HighsInt Highs_getSolution(
|
|
120
|
+
void* highs,
|
|
121
|
+
double* col_value,
|
|
122
|
+
double* col_dual,
|
|
123
|
+
double* row_value,
|
|
124
|
+
double* row_dual,
|
|
125
|
+
) nogil
|
|
126
|
+
HighsInt Highs_getBasis(void* highs, HighsInt* col_status, HighsInt* row_status) nogil
|
|
127
|
+
|
|
128
|
+
# Info queries
|
|
129
|
+
HighsInt Highs_getModelStatus(const void* highs) nogil
|
|
130
|
+
HighsInt Highs_getNumCol(const void* highs) nogil
|
|
131
|
+
HighsInt Highs_getNumRow(const void* highs) nogil
|
|
132
|
+
HighsInt Highs_getNumNz(const void* highs) nogil
|
|
133
|
+
double Highs_getInfinity(const void* highs) nogil
|
|
134
|
+
double Highs_getObjectiveValue(const void* highs) nogil
|
|
135
|
+
HighsInt Highs_getDoubleInfoValue(const void* highs, const char* info, double* value) nogil
|
|
136
|
+
HighsInt Highs_getIntInfoValue(const void* highs, const char* info, HighsInt* value) nogil
|
|
137
|
+
HighsInt Highs_getObjectiveSense(const void* highs, HighsInt* sense) nogil
|
|
138
|
+
HighsInt Highs_getObjectiveOffset(const void* highs, double* offset) nogil
|
|
139
|
+
|
|
140
|
+
# Get columns/rows data
|
|
141
|
+
HighsInt Highs_getColsByRange(
|
|
142
|
+
const void* highs,
|
|
143
|
+
HighsInt from_col,
|
|
144
|
+
HighsInt to_col,
|
|
145
|
+
HighsInt* num_col,
|
|
146
|
+
double* costs,
|
|
147
|
+
double* lower,
|
|
148
|
+
double* upper,
|
|
149
|
+
HighsInt* num_nz,
|
|
150
|
+
HighsInt* matrix_start,
|
|
151
|
+
HighsInt* matrix_index,
|
|
152
|
+
double* matrix_value,
|
|
153
|
+
) nogil
|
|
154
|
+
HighsInt Highs_getRowsByRange(
|
|
155
|
+
const void* highs,
|
|
156
|
+
HighsInt from_row,
|
|
157
|
+
HighsInt to_row,
|
|
158
|
+
HighsInt* num_row,
|
|
159
|
+
double* lower,
|
|
160
|
+
double* upper,
|
|
161
|
+
HighsInt* num_nz,
|
|
162
|
+
HighsInt* matrix_start,
|
|
163
|
+
HighsInt* matrix_index,
|
|
164
|
+
double* matrix_value,
|
|
165
|
+
) nogil
|
|
166
|
+
|
|
167
|
+
# Name functions
|
|
168
|
+
HighsInt Highs_passColName(void* highs, HighsInt col, const char* name) nogil
|
|
169
|
+
HighsInt Highs_passRowName(void* highs, HighsInt row, const char* name) nogil
|
|
170
|
+
|
|
171
|
+
# Options
|
|
172
|
+
HighsInt Highs_setBoolOptionValue(void* highs, const char* option, HighsInt value) nogil
|
|
173
|
+
HighsInt Highs_setIntOptionValue(void* highs, const char* option, HighsInt value) nogil
|
|
174
|
+
HighsInt Highs_setDoubleOptionValue(void* highs, const char* option, double value) nogil
|
|
175
|
+
HighsInt Highs_setStringOptionValue(void* highs, const char* option, const char* value) nogil
|
|
176
|
+
HighsInt Highs_getBoolOptionValue(const void* highs, const char* option, HighsInt* value) nogil
|
|
177
|
+
HighsInt Highs_getIntOptionValue(const void* highs, const char* option, HighsInt* value) nogil
|
|
178
|
+
HighsInt Highs_getDoubleOptionValue(const void* highs, const char* option, double* value) nogil
|
|
179
|
+
HighsInt Highs_getStringOptionValue(const void* highs, const char* option, char* value) nogil
|
|
180
|
+
|
|
181
|
+
# Write/read model
|
|
182
|
+
HighsInt Highs_writeModel(void* highs, const char* filename) nogil
|
|
183
|
+
HighsInt Highs_readModel(void* highs, const char* filename) nogil
|
|
184
|
+
|
|
185
|
+
# Basis functions
|
|
186
|
+
HighsInt Highs_setBasic(void* highs, HighsInt* col_status, HighsInt* row_status) nogil
|
|
187
|
+
HighsInt Highs_setBasis(void* highs, const HighsInt* col_status, const HighsInt* row_status) nogil
|
|
188
|
+
|
|
189
|
+
# Delete functions
|
|
190
|
+
HighsInt Highs_deleteRowsByRange(void* highs, HighsInt from_row, HighsInt to_row) nogil
|
|
191
|
+
HighsInt Highs_deleteColsByRange(void* highs, HighsInt from_col, HighsInt to_col) nogil
|
|
192
|
+
HighsInt Highs_deleteRowsBySet(void* highs, HighsInt num_set_entries, const HighsInt* set) nogil
|
|
193
|
+
HighsInt Highs_deleteColsBySet(void* highs, HighsInt num_set_entries, const HighsInt* set) nogil
|
|
194
|
+
|
|
195
|
+
# Change coefficient
|
|
196
|
+
HighsInt Highs_changeCoeff(void* highs, HighsInt row, HighsInt col, double value) nogil
|
|
197
|
+
|
|
198
|
+
# Names (not declared nogil since they work with strings)
|
|
199
|
+
HighsInt Highs_getColName(const void* highs, HighsInt col, char* name)
|
|
200
|
+
HighsInt Highs_getRowName(const void* highs, HighsInt row, char* name)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-highs
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-highs
|
|
Binary file
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-highs
|
|
2
|
+
#*****************************************************************************
|
|
3
|
+
# Copyright (C) 2025 SageMath Developers
|
|
4
|
+
#
|
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the GNU General Public License as published by
|
|
7
|
+
# the Free Software Foundation, either version 2 of the License, or
|
|
8
|
+
# (at your option) any later version.
|
|
9
|
+
# http://www.gnu.org/licenses/
|
|
10
|
+
#*****************************************************************************
|
|
11
|
+
|
|
12
|
+
from sage.numerical.backends.generic_backend cimport GenericBackend
|
|
13
|
+
|
|
14
|
+
cdef class HiGHSBackend(GenericBackend):
|
|
15
|
+
cdef void* highs
|
|
16
|
+
cdef str prob_name
|
|
17
|
+
cdef dict col_name_var
|
|
18
|
+
cdef dict row_name_var
|
|
19
|
+
cdef dict row_data_cache
|
|
20
|
+
cdef int numcols
|
|
21
|
+
cdef int numrows
|
|
22
|
+
cdef void _get_col_bounds(self, int col, double* lb, double* ub) except *
|
|
23
|
+
cdef void _get_row_bounds(self, int row, double* lb, double* ub) except *
|
|
24
|
+
cpdef __copy__(self)
|
|
25
|
+
cpdef get_row_prim(self, int i)
|
|
26
|
+
cpdef double get_row_dual(self, int i) except? -1
|
|
27
|
+
cpdef double get_col_dual(self, int j) except? -1
|
|
28
|
+
cpdef int get_row_stat(self, int i) except? -1
|
|
29
|
+
cpdef int get_col_stat(self, int j) except? -1
|
|
30
|
+
cpdef set_row_stat(self, int i, int stat)
|
|
31
|
+
cpdef set_col_stat(self, int j, int stat)
|
|
32
|
+
cpdef int warm_up(self) noexcept
|
|
33
|
+
cpdef int add_variable_with_type(self, int vtype, lower_bound=*, upper_bound=*,
|
|
34
|
+
obj=*, name=*) except -1
|