def _add_var(self, var): varname = self._symbol_map.getSymbol(var, self._labeler) vartype = self._xpress_vartype_from_var(var) if var.has_lb(): lb = value(var.lb) else: lb = -self._xpress.infinity if var.has_ub(): ub = value(var.ub) else: ub = self._xpress.infinity if var.is_fixed(): lb = value(var.value) ub = value(var.value) xpress_var = self._xpress.var(name=varname, lb=lb, ub=ub, vartype=vartype) self._solver_model.addVariable(xpress_var) ## bounds on binary variables don't seem to be set correctly ## by the method above if vartype == self._xpress.binary: if lb == ub: self._solver_model.chgbounds([xpress_var], ['B'], [lb]) else: self._solver_model.chgbounds([xpress_var, xpress_var], ['L', 'U'], [lb, ub]) self._pyomo_var_to_solver_var_map[var] = xpress_var self._solver_var_to_pyomo_var_map[xpress_var] = var self._referenced_variables[var] = 0
def _add_var(self, var): varname = self._symbol_map.getSymbol(var, self._labeler) vtype = self._gurobi_vtype_from_var(var) if var.has_lb(): lb = value(var.lb) else: lb = -self._gurobipy.GRB.INFINITY if var.has_ub(): ub = value(var.ub) else: ub = self._gurobipy.GRB.INFINITY if var.is_fixed(): lb = value(var.value) ub = value(var.value) gurobipy_var = self._solver_model.addVar(lb=lb, ub=ub, vtype=vtype, name=varname) self._pyomo_var_to_solver_var_map[var] = gurobipy_var self._solver_var_to_pyomo_var_map[gurobipy_var] = var self._referenced_variables[var] = 0 self._needs_updated = True
def _xpress_lb_ub_from_var(self, var): if var.is_fixed(): val = var.value return val, val if var.has_lb(): lb = value(var.lb) else: lb = -xpress.infinity if var.has_ub(): ub = value(var.ub) else: ub = xpress.infinity return lb, ub
def _gurobi_lb_ub_from_var(self, var): if var.is_fixed(): val = var.value return val, val if var.has_lb(): lb = value(var.lb) else: lb = -self._gurobipy.GRB.INFINITY if var.has_ub(): ub = value(var.ub) else: ub = self._gurobipy.GRB.INFINITY return lb, ub
def _add_var(self, var): varname = self._symbol_map.getSymbol(var, self._labeler) vtype = self._gurobi_vtype_from_var(var) if var.has_lb(): lb = value(var.lb) else: lb = -self._gurobipy.GRB.INFINITY if var.has_ub(): ub = value(var.ub) else: ub = self._gurobipy.GRB.INFINITY gurobipy_var = self._solver_model.addVar(lb=lb, ub=ub, vtype=vtype, name=varname) self._pyomo_var_to_solver_var_map[var] = gurobipy_var self._solver_var_to_pyomo_var_map[gurobipy_var] = var self._referenced_variables[var] = 0 if var.is_fixed(): gurobipy_var.setAttr('lb', var.value) gurobipy_var.setAttr('ub', var.value)
def _add_var(self, var): varname = self._symbol_map.getSymbol(var, self._labeler) vtype = self._mosek_vtype_from_var(var) if var.has_lb(): lb = value(var.lb) else: lb = '0' if var.has_ub(): ub = value(var.ub) else: ub = '0' bound_type = self.set_var_boundtype(var, ub, lb) self._solver_model.appendvars(1) index = self._solver_model.getnumvar() - 1 self._solver_model.putvarbound(index, bound_type, float(lb), float(ub)) self._solver_model.putvartype(index, vtype) self._solver_model.putvarname(index, varname) self._pyomo_var_to_solver_var_map[var] = index self._solver_var_to_pyomo_var_map[index] = var self._referenced_variables[var] = 0