コード例 #1
0
ファイル: lists.py プロジェクト: uurriola/python-mip
    def __getitem__(self: "VVarList", key):
        if isinstance(key, str):
            return self.__model.var_by_name(key)
        if isinstance(key, slice):
            return VVarList(self.__model, key.start, key.end)
        if isinstance(key, int):
            if key < 0:
                key = self.__end - key
            if key >= self.__end:
                raise IndexError

            return Var(self.__model, key + self.__start)

        raise Exception("Unknow type")
コード例 #2
0
 def add(self,
         name: str = "",
         lb: float = 0.0,
         ub: float = INF,
         obj: float = 0.0,
         var_type: str = CONTINUOUS,
         column: Column = None) -> Var:
     solver = self.__model.solver
     if not name:
         name = 'var({})'.format(len(self))
     if var_type == BINARY:
         lb = 0.0
         ub = 1.0
     new_var = Var(self.__model, solver.num_cols())
     solver.add_var(obj, lb, ub, var_type, column, name)
     return new_var
コード例 #3
0
ファイル: lists.py プロジェクト: uurriola/python-mip
 def add(
     self,
     name: str = "",
     lb: float = 0.0,
     ub: float = INF,
     obj: float = 0.0,
     var_type: str = CONTINUOUS,
     column: Column = None,
 ) -> Var:
     if not name:
         name = "var({})".format(len(self.__vars))
     if var_type == BINARY:
         lb = 0.0
         ub = 1.0
     new_var = Var(self.__model, len(self.__vars))
     self.__model.solver.add_var(obj, lb, ub, var_type, column, name)
     self.__vars.append(new_var)
     return new_var
コード例 #4
0
ファイル: lists.py プロジェクト: uurriola/python-mip
 def update_vars(self: "VarList", n_vars: int):
     self.__vars = [Var(self.__model, i) for i in range(n_vars)]