安装Java的SCIP接口JSCIPOpt系列
https://blog.youkuaiyun.com/qq_40275637/article/details/109703216
安装python的SCIP接口PySCIPOpt亲测系列
https://blog.youkuaiyun.com/qq_40275637/article/details/109702809
数学规划求解器SCIP的使用教程
手把手教你用Python调用SCIP求解最优化模型
https://blog.youkuaiyun.com/HsinglukLiu/article/details/120442601
Python调用SCIP求解最优化模型的一般步骤
使用Python调用SCIP求解最优化模型的一般步骤一般分为:
- 创建模型对象: pyscipopt.scip.Model(modelname)
- 创建决策变量:addVar(name=‘’, vtype=‘C’, lb=0.0, ub=None, obj=0.0, priceVar=False)
- 创建目标函数:pyscipopt.scip.Model.setObjective(coeffs, sense=‘minimize’, clear='true)
- 创建约束条件:addCons()、addConsAnd()、addConsOr()、addConsXor() 等
- 求解模型:model.optimize()
- 获得解的信息并输出:model.getBestSol()、model.getObjVal()、model.getVal(z)等。
一些其他常用函数
- model.chgLhs():改变约束的左端项
- model.chgRhs():改变约束的右端项
- model.chgVarLb():改变决策变量的下界
- model.chgVarUb():改变决策变量的上界
- model.chgVarType():改变决策变量的类型
- model.writeLP(‘Lp.lp’):将模型导出
- model.delCons(Constraint cons):删除约束
- model.delVar(var):删除一个决策变量
- model.getGap(): 获得当前模型的Gap
- model.getLhs(Constraint cons):获得约束的左端项
- model.getRhs(Constraint cons):获得约束的右端项
- model.getObjective():Retrieve objective function as Expr
- model.getObjVal():Retrieve the objective value of value of best solution.
- model.getStatus(): Retrieve solution status. 可能为optimal
- model.setParams(): Sets multiple parameters at once. :param params: dict mapping parameter names to their values.
- model.getNConss(): Retrieve the number of constraints.
- model.getNVars(): Retrieve number of variables in the problems
- model.getNVars(): Retrieve number of variables in the problems
- model.getDualMultiplier(Constraint cons): Retrieve the dual solution to a linear constraint.