Skip to content

Commit 424d05f

Browse files
committed
fixing formatting and linter issues
1 parent 42fbb01 commit 424d05f

File tree

1 file changed

+37
-10
lines changed

1 file changed

+37
-10
lines changed

mip/highs.py

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import os
77
import os.path
88
import sys
9-
from typing import List, Optional, Tuple, Union
9+
from typing import Dict, List, Optional, Tuple, Union
1010

1111
import cffi
1212

@@ -247,7 +247,7 @@ def add_var(
247247
lb: numbers.Real = 0,
248248
ub: numbers.Real = mip.INF,
249249
var_type: str = mip.CONTINUOUS,
250-
column: "Column" = None,
250+
column: "mip.Column" = None,
251251
name: str = "",
252252
):
253253
# TODO: handle column data
@@ -553,7 +553,16 @@ def constr_get_expr(self: "SolverHighs", constr: "mip.Constr") -> "mip.LinExpr":
553553
upper = ffi.new("double[]", 1)
554554
num_nz = ffi.new("int*")
555555
status = self._lib.Highs_getRowsByRange(
556-
self._model, row, row, lower, upper, num_nz, ffi.NULL, ffi.NULL, ffi.NULL
556+
self._model,
557+
row,
558+
row,
559+
num_row,
560+
lower,
561+
upper,
562+
num_nz,
563+
ffi.NULL,
564+
ffi.NULL,
565+
ffi.NULL,
557566
)
558567

559568
# - second, to get the coefficients in pre-allocated arrays.
@@ -564,14 +573,14 @@ def constr_get_expr(self: "SolverHighs", constr: "mip.Constr") -> "mip.LinExpr":
564573
self._model,
565574
row,
566575
row,
576+
num_row,
567577
lower,
568578
upper,
569579
num_nz,
570580
matrix_start,
571581
matrix_index,
572582
matrix_value,
573583
)
574-
assert matrix[0] == 0
575584

576585
return mip.xsum(matrix_value[i] * self.model.vars[i] for i in range(num_nz))
577586

@@ -582,13 +591,21 @@ def constr_set_expr(
582591

583592
def constr_get_rhs(self: "SolverHighs", idx: int) -> numbers.Real:
584593
# fetch both lower and upper bound
585-
row = constr.idx
586594
num_row = ffi.new("int*")
587595
lower = ffi.new("double[]", 1)
588596
upper = ffi.new("double[]", 1)
589597
num_nz = ffi.new("int*")
590598
status = self._lib.Highs_getRowsByRange(
591-
self._model, row, row, lower, upper, num_nz, ffi.NULL, ffi.NULL, ffi.NULL
599+
self._model,
600+
idx,
601+
idx,
602+
num_row,
603+
lower,
604+
upper,
605+
num_nz,
606+
ffi.NULL,
607+
ffi.NULL,
608+
ffi.NULL,
592609
)
593610

594611
# case distinction for sense
@@ -606,7 +623,16 @@ def constr_set_rhs(self: "SolverHighs", idx: int, rhs: numbers.Real):
606623
upper = ffi.new("double[]", 1)
607624
num_nz = ffi.new("int*")
608625
status = self._lib.Highs_getRowsByRange(
609-
self._model, idx, idx, lower, upper, num_nz, ffi.NULL, ffi.NULL, ffi.NULL
626+
self._model,
627+
idx,
628+
idx,
629+
num_row,
630+
lower,
631+
upper,
632+
num_nz,
633+
ffi.NULL,
634+
ffi.NULL,
635+
ffi.NULL,
610636
)
611637

612638
# update bounds as needed
@@ -735,7 +761,7 @@ def var_set_var_type(self: "SolverHighs", var: "mip.Var", value: str):
735761
)
736762
self._var_type[var.idx] = value
737763

738-
def var_get_column(self: "SolverHighs", var: "mip.Var") -> "Column":
764+
def var_get_column(self: "SolverHighs", var: "mip.Var") -> "mip.Column":
739765
# Call method twice:
740766
# - first, to get the sizes for coefficients,
741767
num_col = ffi.new("int*")
@@ -779,7 +805,7 @@ def var_get_column(self: "SolverHighs", var: "mip.Var") -> "Column":
779805
coeffs=[matrix_value[i] for i in range(num_nz[0])],
780806
)
781807

782-
def var_set_column(self: "SolverHighs", var: "mip.Var", value: "Column"):
808+
def var_set_column(self: "SolverHighs", var: "mip.Var", value: "mip.Column"):
783809
# TODO
784810
raise NotImplementedError()
785811

@@ -837,7 +863,8 @@ def get_status(self: "SolverHighs") -> mip.OptimizationStatus:
837863
self._lib.kHighsModelStatusModelEmpty: OS.OTHER,
838864
self._lib.kHighsModelStatusOptimal: OS.OPTIMAL,
839865
self._lib.kHighsModelStatusInfeasible: OS.INFEASIBLE,
840-
self._lib.kHighsModelStatusUnboundedOrInfeasible: OS.UNBOUNDED, # or INFEASIBLE?
866+
self._lib.kHighsModelStatusUnboundedOrInfeasible: OS.UNBOUNDED,
867+
# ... or should it be INFEASIBLE?
841868
self._lib.kHighsModelStatusUnbounded: OS.UNBOUNDED,
842869
self._lib.kHighsModelStatusObjectiveBound: None,
843870
self._lib.kHighsModelStatusObjectiveTarget: None,

0 commit comments

Comments
 (0)